周一了,来玩玩我新做的这个 Youtube 频道转 Podcast 频道的小工具吧 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Asimov01
V2EX    分享创造

周一了,来玩玩我新做的这个 Youtube 频道转 Podcast 频道的小工具吧

  •  
  •   Asimov01
    aizhimou 75 天前 2457 次点击
    这是一个创建于 75 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Youtube 上有很多内容其实听比看更方便,比如一些纯音乐节目,脱口秀节目,新闻评论节目,谈话节目等。但是 Youtube 不开会员就不能后台播放,也不能下载离线播放,上下班通勤的时候想听听,无论是坐地铁还是开车,就很不方便。即便是我开了会员,我还是觉得这类节目如果能在播客客户端里听更方便,因为有些地方,比如我现在住的地方,流量很贵,在外面都不太敢打开 YouTube 。

    我搜了搜确实有不少朋友有这类的需求,实现这类需求的开源项目也有一些,比较出名的有 https://github.com/mxpv/podsync ,在线服务有 https://listenbox.app ,我都用了,都不算满意。PodSync 一是没有图形界面,无论是添加还是配置频道,都要写配置文件,用起来比较麻烦;二是没有密码保护,如果部署在公网环境,所有的操作都是裸露的,虽然可以用 nginx 之类的工具套一层 basic auth ,同样比较麻烦。listenbox 也用过,UI 不好看,操作比较迟钝,也不太稳定,最近被 YouTube block 停止服务了。

    所以我自己做了一个,我自己已经用了个把月了,操作方便快捷,不用写配置文件,UI 简洁漂亮,服务稳定可靠,Docker 一键部署,运行起来之后基本就没怎么操作过心。

    主要特征大概如下
    - 智能频道订阅: 通过 YouTube 频道 URL 快速添加频道
    - 自动同步更新: 定时检查并同步频道最新内容,支持增量更新
    - RSS 播客订阅: 生成标准 RSS 订阅链接,支持任何播客客户端
    - 内容过滤: 支持关键词(包含/排除)和节目时长过滤
    - 节目管理: 查看、删除、重试下载失败的节目
    - 免广告收听: 自动去除节目片头和中间的贴片广告
    - 多语言支持: 完整支持中文和英文界面
    - 自适应 UI: 随时随地在任何设备上获得优秀体验






    项目地址: https://github.com/aizhimou/pigeon-pod ,喜欢的朋友不妨试试吧,如果觉得对你有帮助,也不妨给我点个小小的 Star

    如果觉得自托管麻烦,不想操心繁琐的维护和网络问题,也欢迎看看我即将推出的在线服务 https://pigeonpod.asimov.top

    祝大家一周愉快,工作摸鱼都顺心
    36 条回复    2025-10-08 03:55:48 +08:00
    outcastveron
        1
    outcastveron  
       75 天前
    挺好的,请问 op 自建需要 youtube api 么?
    mortal
        2
    mortal  
       74 天前
    正好有这个需求,试试看
    Asimov01
        3
    Asimov01  
    OP
       74 天前
    @outcastveron 您好,需要的。但是这个 api 是免费的,直接去 google cloud platform 开通就可以了,如果需要的话请留言,我单独写一个过去 api 的教程,或者您搜一下就有。
    outcastveron
        4
    outcastveron  
       74 天前
    @Asimov01 感谢回复,readme 里面好像没有写出在哪里配置 api ,如果可以的话麻烦更新上,谢谢
    gap
        5
    gap  
       74 天前   1
    很不错,已,回头试试
    nothing2
        6
    nothing2  
       74 天前 via Android
    谢谢创造分享。可惜自建不会、托管太贵,继续用 tg 的 bot 吧
    Caitlyn
        7
    Caitlyn  
       74 天前
    @nothing2 想问下哪个 bot 啊,我也有这个需求
    Asimov01
        8
    Asimov01  
    OP
       74 天前
    @outcastveron 您好,已经更新了 README ,补充上了获取 YouTube API 的方法: https://github.com/aizhimou/pigeon-pod/tree/main?tab=readme-ov-file#documentation

    如果您问的是获取到 Youtube API 之后如何在系统里配置,那就简单了,系统启动后登录进去,直接在个人设置里配置即可 [img][/img]
    Asimov01
        9
    Asimov01  
    OP
       74 天前
    @nothing2 @Caitlyn 我们的托管服务还没上线,正在征集种子用户和定价意见。

    诚邀二位在官网的 "开始试用" 中留个邮箱(或者直接在 V2 上发给我),上线后种子用户会有惊喜折扣
    nothing2
        10
    nothing2  
       74 天前 via Android
    pkwenda
        11
    pkwenda  
       74 天前
    Asimov01
        12
    Asimov01  
    OP
       74 天前
    @pkwenda 感谢推荐,不过如果可以的话,希望能帮忙修改一下价格,人民币定价和美元定价是不一样的,美元定价是 4.9 美元/月 和 6.9 美元/月,但是人民币定价是 9.9 人民币/月 和 15.9 人名币/月,不是直接按汇率换算的,相当于人名币折扣了。
    upmost
        13
    upmost  
       74 天前
    太赞了
    outcastveron
        14
    outcastveron  
       74 天前
    @Asimov01 感谢,已 star:)
    sanshao124
        15
    sanshao124  
       74 天前
    op 后期是否可以考虑把哔哩哔哩也纳入进来
    katfao
        16
    katfao  
       74 天前 via Android
    好东西。op 厉害
    Asimov01
        17
    Asimov01  
    OP
       74 天前
    @sanshao124 需要的朋友多的话会考虑的
    pkwenda
        18
    pkwenda  
       74 天前
    @Asimov01 #12 ok
    upmost
        19
    upmost  
       74 天前
    大佬,PIGEON_BASE_URL 需要 https ? 443 端口已被其他使用,怎么搞呢?
    Asimov01
        20
    Asimov01  
    OP
       74 天前
    @upmost PIGEON_BASE_URL 不强制使用 https 。这个 URL 是生成 RSS 订阅链接以及播客客户端通过 RSS 播放音频的时候使用的地址。比如如果只是在内网部署和使用,用 http://192.168.1.108 是可以的的,如果是公网部署,有自己的域名,但是 443 端口被占用,那用 http://my.pigeonpod.com:2234 也是完全没问题的
    upmost
        21
    upmost  
       73 天前
    @Asimov01 添加了订阅,看界面 3 个最新视频应该是已下载(出现了删除按钮),但是订阅却打不开,该怎么排查呢?
    Asimov01
        22
    Asimov01  
    OP
       73 天前
    @upmost 点击频道页面的“订阅”按钮之后提示订阅链接已复制之后,新开一个标签页在地址栏粘贴这个刚刚复制的链接地址,看看是什么内容呢?正常的话应该是一个 XML 文本,里面显示这个频道的简介和下载好的三个节目
    upmost
        23
    upmost  
       73 天前
    @Asimov01 就是这么操作的,提示“该网页无法正常运作”,连接地址:http://自己域名:2234/api/rss/liangshow.xml?apikey=面板内生成。
    Asimov01
        24
    Asimov01  
    OP
       73 天前
    @upmost 奇怪了,方便在 GitHub 上提个 issue 顺便附上服务日志吗?
    eGlhb2Jhb2Jhbw
        25
    eGlhb2Jhb2Jhbw  
       73 天前
    我用的 podcast2 ,老被风控,好处是支持 bilibili 等其他网站。楼主做的 UI 也好看,希望楼主多支持些网站。
    szguan
        26
    szguan  
       66 天前
    已 star ,部署一个试试
    szguan
        27
    szguan  
       66 天前
    部署成功了,OP 太赞了,请问订阅了一个频道后,为啥只有三个节目?
    另外,能否添加播放列表呢?

    感谢。
    Asimov01
        28
    Asimov01  
    OP
       66 天前
    @szguan 感谢喜欢。分别回答你的问题:
    1. 只有三个节目的问题:订阅的时候可以通过配置设置初始下载节目数量,可能你看漏掉了 [image]( ) 可以删掉这个频道重新添加
    2. 能否添加播放列表:是指订阅 YouTube 上的播放列表,而不是订阅某个 Youtuber 吗?
    szguan
        29
    szguan  
       66 天前
    @Asimov01 #28 感谢回复。

    1. 确实添加频道后没设定初始设置,想着后面需要时再设置。没想到这个“初始下载单集数”仅限初次设置,后面就没有了。其实我觉得从使用习惯上来说,订阅配置应该一致。后期也可以修改下载单集数,修改后按设置的数量显示在界面即可。

    2. 是的。youtuber 可能有多个播放列表,我只关心其中一个播放列表,那么现在的订阅 youtuber 就不能满足要求了。感觉这个应该是刚需,看能不能实现。rsshub 项目就是分了多个路由,既可以订阅 youtuber ,也可以订阅播放列表。

    以上。谢谢你的创造性劳动和分享。
    szguan
        30
    szguan  
       66 天前
    还有一个问题,可改可不改。

    当删除某个订阅后,容器内 /data/audio/youtuber 目录没有相应删除。
    Asimov01
        31
    Asimov01  
    OP
       66 天前   1
    @szguan 感谢反馈,这三个建议都很好,我都记下来了,下个版本就实现。 如果后续的使用中还有任何问题和建议,欢迎随时 T 我
    szguan
        32
    szguan  
       64 天前
    有个使用场景不得不提,喜欢的 youtuber 的节目,订阅后,希望能列出完整的播放列表,然后手动选择下载。(或者按时间筛选批量下载?)
    当前的逻辑考虑用户方便,自动按最初设定下载集数下载,这个可以保留不冲突。但自动下载和把下载哪一集的选择权交给用户都是一种方案。
    Asimov01
        33
    Asimov01  
    OP
       64 天前
    @szguan 感谢提议,这个确实是没有想到过的场景,我考虑考虑哈
    Asimov01
        34
    Asimov01  
    OP
       53 天前
    @szguan 抱歉,忘了通知你了,给 V 友汇报下最新情况:1. 历史节目下载数量,现在在订阅后也可以修改了,修改后会自动基于当前最早的节目继续往前下载。
    2. 已支持订阅 YouTube 播放列表
    3. 删除订阅后,YouTuber/Playlist 对应的目录也会删除
    szguan
        35
    szguan  
       52 天前   1
    @Asimov01 #34 每个更新都跟着部署了。越来越棒了。加油!

    现在把喜欢的 youtuber 都下载到家里的服务器上,用 pocket casts 订阅,特别方便。
    Asimov01
        36
    Asimov01  
    OP
       52 天前
    @szguan 谢谢夸奖 感谢支持
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2686 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 02:33 PVG 10:33 LAX 18:33 JFK 21:33
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86