Apple 播客 RSS 协议
最近有一些音频资源,想通过手机在碎片时间里听一听。之前的方法是将音频导入到手机里, 再通过播放器查找本地文件后进行播放。这种方法简直是太古老和耗时了。 考虑到现在数据的备份和存储,几乎都倾向于使用云存储,而不用本地硬盘。 如果后续增加新的内容,就需要两步导入,第一步从云存储下载至电脑本地,第二步从电脑导入到手机。 最理想的方式是,通过播放器应用直接播放云存储空间的内容,并且带有文件的说明信息。
1. RSS
有的音乐 APP 支持本地导入,或从云存储空间导入(需要 VIP)。 导入后的本地文件,会作为一个播放列表进行播放。除了文件本身,并不能为其添加额外的信息,例如标题、描述等。 不同的应用支持不尽相同,后续的迁移也会存在问题。
因为一直在使用 iPhone。于是想到了苹果自带的应用 Podcasts(播客)。开始以为可能需要将资源文件 上传到苹果平台,如此一来依旧增加了上传工作。登录 Apple 播客后台,使用后发现 Apple 播客是完美支持 RSS 协议的。只不过 Apple 使用的是 Podcast RSS,在 RSS 基础上,加了专属的标签。
2. Podcast RSS
确定播客支持 RSS,播放自己的音视频资源就容易多了。首先选择一个可靠的云存储服务,通常都是 S3 兼容的对象存储。将音视频资源按规则上传到云存储空间,再生成一个 Apple 播客所支持的 RSS feed 文件。 可通过工具生成,也可手动编辑。将生成好的 Feed 文件,同样上传至云存储。 记录下 feed 文件的访问地址。这就是在播客 APP 里需要导入的节目地址。
2.1. 播客 Feed 要求
Podcast RSS 是基于 RSS 2.0 的,用于媒体类文件。一些内容托管平台支持分发播客 Feed。 如果通过自己生成,需满足下列要求。
遵守 RSS 2.0 规范,并包含以下 XML 声明
<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:content="http://purl.org/rss/1.0/modules/content/">
指定节目插图,并云存储服务支持 HTTP HEAD 请求和 byte-range 请求。S3 兼容的云存储基本都支持。
至少要有一个剧集,剧集
<enclosure>
必须唯一,并配置必填的三个属性,URL、类型 (MIME) 和长度 (bytes)。剧集必须包含 GUID,不能更改。可以设置为云存储的 URL。
资源文件 URL 只得包含 a-z, A-Z 和 0-9。
XML 文件内标签严格区分大小写。
具体配置参考 Podcast RSS feed requirements 和 A Podcaster’s Guide to RSS。
生成后的 Feed,可通过 Podcast validator 进行验证。 通过验证,即可在播客正常订阅和导入。未通过验证,根据提示信息调整 XML。
2.2. 播客分类
播客必须指定分类,根据 Apple Podcasts Categories 设置分类。
2.3. 播客插图
为了更好的用户体验,Apple 对于播客插图有着严格的要求。尺寸 3000 x 3000,大小通常在 500 KB 左右。 对于仅限于自己的订阅,用同一张图即可。如果想专门设计,最好参考 插图要求。
以下是插图资源