Skip to main content

Podflow

logo

建立Podcast服务器,用于下载YouTube和哔哩哔哩的音视频并导入到Podcast中。

需要新建配置文件, 或通过首次运行后自动生成

YouTube的cookies需要使用chrome插件导出Netscape格式并保存到channel_data文件夹中

图形界面请访问 /index

PS:可能存在大量未知bug,改进中并尝试加入抖音……

安装方法

需要Python 3.8以上环境,并安装ffmpeg (安装方法: https://ffmpeg.org/)。

Podflow可以使用以下命令进行安装

pip install Podflow

在iOS上可以使用Shortcuts运行Podflow, 需要用到a-Shell(或a-Shell mini)和捷径脚本

命令行参数说明

参数 选项 类型 默认值 描述
-n --times int +∞ 次数
-d --delay int 1500 延迟(单位: 秒)
-c --config string "config.json" 配置文件的路径
--shortcuts string [] 仅适用于捷径APP
--index boolean 仅适用于捷径APP
--httpfs boolean 仅启用服务器功能, 不更新频道
--upload boolean 仅上传服务器功能, 仅用于局域网备份(适用iOS)

使用示例

你可以使用以下命令行格式来运行程序:

Podflow -n 24 -d 3600

主配置

参数 类型 默认值 描述
channelid_youtube dict {...} 可以按YouTube频道配置编写, 也可以按{"youtube": "UCBR8-60-B28hp2BmDPdntcQ"}编写, 其他参数会按默认值自动补全
channelid_bilibili dict {...} 可以按哔哩哔哩频道配置编写, 也可以按{"哔哩哔哩弹幕网": "8047632"}编写, 其他参数会按默认值自动补全
preparation_per_count int 100 获取媒体信息每组数量
completion_count int 100 媒体缺失时最大补全数量
retry_count int 5 媒体下载重试次数
url string "http://127.0.0.1" HTTP共享地址
port int 8000 HTTP共享端口
port_in_url boolean true HTTP共享地址是否包含端口
httpfs boolean false HTTP共享日志
title string "Podflow" 博客的名称
filename string "Podflow" 主XML的文件名称
link string "https://github.com/gruel-zxz/podflow" 博客主页
description string "在iOS平台上借助workflow和a-shell搭建专属的播客服务器。" 博客信息
icon string "https://raw.githubusercontent.com/gruel-zxz/podflow/main/Podflow.png" 博客图标
category string "TV & Film" 博客类型
token string "" token认证, 如为null或""将不启用token
delete_incompletement boolean false 是否删除下载中断媒体(下载前处理流程)
remove_media boolean true 是否删除无用的媒体文件

YouTube频道配置

参数 类型 默认值 描述
id string "UCBR8-60-B28hp2BmDPdntcQ" 频道ID
title string "YouTube" 频道名称
update_size int 15 每次获取频道媒体数量
quality string "480" 媒体分辨率(仅在media为视频时有效)
last_size int 50 媒体保留数量
media string "m4a" 下载媒体类型
DisplayRSSaddress boolean false 是否在Print中显示子博客地址
InmainRSS boolean true 是否在主博客中
QRcode boolean false 是否显示子博客地址二维码(仅在DisplayRSSaddress为True时有效)
BackwardUpdate boolean false 是否向后更新
BackwardUpdate_size int 3 向后更新数量(仅在BackwardUpdate为True时有效)
want_retry_count int 8 媒体获取失败后多少次后重试
NoShorts boolean false 是否不下载Shorts媒体
title_change list [] 标题文本修改规则

哔哩哔哩频道配置

参数 类型 默认值 描述
id string "8047632" 频道ID
title string "哔哩哔哩弹幕网" 频道名称
update_size int 25 每次获取频道媒体数量
quality string "480" 媒体分辨率(仅在media为视频时有效)
last_size int 100 媒体保留数量
media string "m4a" 下载媒体类型
DisplayRSSaddress boolean false 是否在Print中显示子博客地址
InmainRSS boolean true 是否在主博客中
QRcode boolean false 是否显示子博客地址二维码(仅在DisplayRSSaddress为True时有效)
BackwardUpdate boolean false 是否向后更新
BackwardUpdate_size int 3 向后更新数量(仅在BackwardUpdate为True时有效)
want_retry_count int 8 媒体获取失败后多少次后重试
AllPartGet boolean false 是否提前获取分P或互动视频
title_change dict {} 标题文本修改规则

配置文件参考

{
    "preparation_per_count": 100,
    "completion_count": 100,
    "retry_count": 5,
    "url": "http://127.0.0.1",
    "port": 8000,
    "port_in_url": true,
    "httpfs": false,
    "title": "Podflow",
    "filename": "Podflow",
    "link": "https://github.com/gruel-zxz/podflow",
    "description": "在iOS平台上借助workflow和a-shell搭建专属的播客服务器。",
    "icon": "https://raw.githubusercontent.com/gruel-zxz/podflow/main/Podflow.png",
    "category": "TV & Film",
    "token": "",
    "delete_incompletement": false,
    "remove_media": true,
    "channelid_youtube": {
        "youtube": {
            "update_size": 15,
            "id": "UCBR8-60-B28hp2BmDPdntcQ",
            "title": "YouTube",
            "quality": "480",
            "last_size": 50,
            "media": "m4a",
            "DisplayRSSaddress": false,
            "InmainRSS": true,
            "QRcode": false,
            "BackwardUpdate": false,
            "BackwardUpdate_size": 3,
            "want_retry_count": 8,
            "title_change": [
                {
                    "mode": "add-left",
                    "match": "",
                    "url": "https://www.youtube.com/playlist?list=...",
                    "text": ""
                },
                {
                    "mode": "add-right",
                    "match": "",
                    "url": "",
                    "text": ""
                }
            ],
            "NoShorts": false
        }
    },
    "channelid_bilibili": {
        "哔哩哔哩弹幕网": {
            "update_size": 25,
            "id": "8047632",
            "title": "哔哩哔哩弹幕网",
            "quality": "480",
            "last_size": 100,
            "media": "m4a",
            "DisplayRSSaddress": false,
            "InmainRSS": true,
            "QRcode": false,
            "BackwardUpdate": false,
            "BackwardUpdate_size": 3,
            "want_retry_count": 8,
            "title_change": {
                "mode": "replace",
                "match": "",
                "text": ""
            },
            "AllPartGet": false
        }
    }
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

podflow-20260602.tar.gz (126.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

podflow-20260602-py3-none-any.whl (162.0 kB view details)

Uploaded Python 3

File details

Details for the file podflow-20260602.tar.gz.

File metadata

  • Download URL: podflow-20260602.tar.gz
  • Upload date:
  • Size: 126.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.18

File hashes

Hashes for podflow-20260602.tar.gz
Algorithm Hash digest
SHA256 517613bd7aa383f4906d9378ca6248d5c2248bc48fad8e3a95836e30eaacf5a6
MD5 932012a2dfda6b807f646949118ee071
BLAKE2b-256 62333b4aa1db49061c7b57af154906715102602473c73b729d40957730fa47b0

See more details on using hashes here.

File details

Details for the file podflow-20260602-py3-none-any.whl.

File metadata

  • Download URL: podflow-20260602-py3-none-any.whl
  • Upload date:
  • Size: 162.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.18

File hashes

Hashes for podflow-20260602-py3-none-any.whl
Algorithm Hash digest
SHA256 2de6552671e0ebaf66afba3f38f9a2a5e5e6ea92f82d3d0a294242edab5bf63a
MD5 9679434c54a8bc750a239eb1dc6f4e84
BLAKE2b-256 47b6d72c30be2895743aa010ce76436c6599a94172229c804ca426fc096c8b7e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

20260602 This release

2 files

20260223

2 files

20260222

2 files

20260106

2 files

20251228

2 files

20251211

2 files

20251125

2 files

20251116

2 files

20251115

2 files

20250821

2 files

20250820

2 files

20250803

2 files

20250706

2 files

20250705.1

2 files

20250705

2 files

20250703

2 files

20250701

2 files

20250630

2 files

20250629.1

2 files

20250629

2 files

20250608

2 files

20250606.1

2 files

20250606

2 files

20250604

2 files

20250601

2 files

20250526

2 files

20250522

2 files

20250430

2 files

20250429

2 files

20250427

2 files

20250417.2

2 files

20250417.1

2 files

20250417

2 files

20250415.2

2 files

20250415.1

2 files

20250415

2 files

20250413.3

2 files

20250413.2

2 files

20250413.1

2 files

20250413

2 files

20250406

2 files

20250405

2 files

20250404.9

2 files

20250404.8

2 files

20250404.7

2 files

20250404.6

2 files

20250404.5

2 files

20250404.4

2 files

20250404.3

2 files

20250404.2

2 files

20250404.1

2 files

20250404

2 files

20250403

2 files

20250402.3

2 files

20250402.2

2 files

20250402.1

2 files

20250402

2 files

20250401.2

2 files

20250401.1

2 files

20250401

2 files

20250331.3

2 files

20250331.2

2 files

20250331.1

2 files

20250331

2 files

20250330.7

2 files

20250330.6

2 files

20250330.5

2 files

20250330.4

2 files

20250330.3

2 files

20250330.2

2 files

20250330.1

2 files

20250330

2 files

20250328

2 files

20250327

2 files

20250326.2

2 files

20250326.1

2 files

20250326

2 files

20250325

2 files

20250323.2

2 files

20250323.1

2 files

20250323

2 files

20250318

2 files

20250317

2 files

20250315

2 files

20250308

2 files

20250307

2 files

20250306.1

2 files

20250306

2 files

20250303.2

2 files

20250303.1

2 files

20250303

2 files

20250301.7

2 files

20250301.6

2 files

20250301.5

2 files

20250301.4

2 files

20250301.3

2 files

20250301.2

2 files

20250301.1

2 files

20250301

2 files

20250221

2 files

20250212

2 files

20250205

2 files

20250130.3

2 files

20250130.2

2 files

20250130.1

2 files

20250130

2 files

20250129

2 files

20250127

2 files

20250126.post3

2 files

20250126.post2

2 files

20250126

2 files

20250125

2 files

20250124

2 files

20250123.post1

2 files

2025.1.26

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page