本文首发于少数派
前言
作为一个没有音乐也可以活得挺好的人(特别不理解唱歌选秀节目上痛苦流涕“音乐就是我的生命!”的人),听别人唠嗑讲故事,也就是播客——Podcast,成为我日常生活中极其重要的一种娱乐和获取资讯的方式。尤其是通勤驾车和长途旅行期间或跑步骑车,听就成为了最高效同时也是最安全的信息获取方式。曾几何时,电台深夜节目和单田芳的评书陪我度过了无数个晚自习的夜晚,在互联网年代又重新开始流行的播客,何尝又不是一种返璞归真呢?
现阶段播客产品的竞品不一而足,喜马拉雅、蜻蜓FM、Apple Podcast、小宇宙……,甚至B站听视频,都是很好的内容来源,但作为RSS原教旨主义者和AllinOne强迫症患者,无法接受要打开这么多app听广播。经过一年多的摸索,终于实现了以Antennapod为核心的多端多平台同步追更体验。
软件选择
我个人的收听习惯是,除了一些热门有rss订阅源的播客外,会收听大量youtube等视频平台适合收听的节目,因此,除了客户端外,需要自建服务端将视频节目转换为音频。另外,Antennapod的多端同步采用的是gpodder.net的云端服务,但该网站经常挂,好在该服务端是开源的,且有自建解决方案。整体的软件架构选择如下:
graph LR; subgraph 客户端 direction TB Antennapod1~~~ Antennapod2~~~ Antennapod3... end v["`**视频网站:** youtube soundcloud vimeo bilibili ...`"] -->podsync--"opml"-->gp[gpodder server] rss["`**rss订阅源**: 小宇宙 喜马拉雅 getpodcast.xyz ...`"] --> gp gp <--"数据同步"--> 客户端 podsync --下载音频-->客户端
- GitHub - mxpv/podsync: Turn YouTube or Vimeo channels, users, or playlists into podcast feeds 用于将ytb等视频客户端转化为播客feed并下载到nas或vps,原版本不支持B站,我自己fork了一个版本,还在测试中。
- GitHub - bohwaz/micro-gpodder-server: A minimalist GPodder server, using the same API, for self-hosting 用于订阅源和播放状态多端同步,gpodder.net网站已经无法注册,自建很简单,作者提供了dockerfile,可以在nas或vps自建。同时,如果有桌面端需求,也可以使用gpodder自己的桌面客户端进行同步。
- AntennaPod – The Open Podcast Player 开源的Android播客客户端,应该是现阶段功能最强大,社区最活跃的泛用型播客客户端了。
- 播客 RSS Feed 一个抓取「荔枝FM」、「喜马拉雅」、「微信公众号」不提供订阅 RSS播客的网站,也有优质播客推荐。
Antennapod
Antennapod是一个发布于2012年的Android平台泛用型播客客户端,基本上Android还没普及之前就有了。至今在GitHub上仍有5.8k星标,有专门且活跃的用户论坛AntennaPod Forum,一直保持开源免费无广。基本上你能想到的功能都有,说几个亮点:
- 自动更新、下载或在线播放订阅源
- 给不同播客设置不同播放倍速
- 给不同播客设置不同下载策略
- 给不同播客设置不同首尾跳过时间
- 给不同播客设置不同音量增益
- 导入导出OPML
- 通过gpodder同步订阅和播放状态
- 支持睡眠计时器
- 自定义UI滑动操作
- 自定义快进快退时间
- 自动清理过期下载
订阅
如果你非重度用户,只是随便听听,则可以直接在添加播客界面搜索或直接粘贴rss订阅链接。如果你是从其他平台转入,同样有完备的导入导出功能,并且可以定期备份。
我相信很多人跟我一样,订阅的播客很多,如果都下载肯定是听不完的,Antennapod很贴心的设计了收件箱功能,相当于订阅源更新后的一个缓存。用户可以根据自己的需求将更新的单集选择添加到收件箱或者直接添加到播放列表。
分播客管理
播放界面的功能比较简洁,除了常见的播放暂停下一曲外,对于播客比较常用的快进快退和倍速也放在播放界面,下滑可以显示Shownotes,顶部有收藏、睡眠、投屏、分享等。对于不同播客,则可以通过分播客设置是否保持更新、新节目操作、播放速度、跳过开头结尾、打标签,甚至是根据关键词过滤不同单集,可以说,你能想到的和你想不到的功能都有了。
同步和备份
我本人虽然没有多设备播放需求,大部分时间在不同场合都用手机连接不同蓝牙设备播放,比如在车里、在家、在外用耳机等场合。但考虑到保存订阅源和播放状态,还是使用了自建gpodder server的方式同步数据(按理说gpodder.net是可以提供公共云端服务的,但是这个服务好像因为没钱所以挂了),如果是Nextcloud用户也可以直接使用Nextcoud插件。此外,也可以本地导入导出OPML文件和进行定期备份。
podsync
我本人的使用习惯是会收听很多视频网站节目,podsync是一款开源视频转播客服务器端软件,可以在nas或vps上自建服务。主要功能就是抓取视频网站并生成rss订阅,通过youtube-dl下载对应视频后再利用ffmpeg转换为音频提供在线播放和下载。作者提供了docker部署,玩selfhosted的应该不会太费劲,具体操作请看作者Github提供的文档说明。原作者只提供了YouTube和Vimeo的下载,但实际上youtube-dl是可以下载B站视频的,我自己fork了一个版本兼容了B站下载,测试一段如果没什么问题可能会给作者提交一个pull request或直接放出给有需要的网友测试。
总结
古老的广播电台在互联网时代有着新颖的传播形式,声音作为一种低效但却隽永的信息传递方式在现代人的生活中同样可以扮演重要的角色,无论是手里的方向盘,脚下的跑鞋,抑或是繁重的家务劳动都不会阻止我们通过声音获取新知的效率。相比于视频和文字等主流方式,中文音频资源相对匮乏,专业的播客主播也面临这商业化等种种困境。但无论如何,这种从无线电波发明年代就开始陪伴我们的声音一定会一直存在下去。