← 返回博客

如何制作 M3U 播放列表:添加自己的播放源

一个人正在使用笔记本电脑,旁边放着手机。蓝色文字区域写着“建立您自己的播放列表 / 从少量条目开始,逐个测试视频流。”。
制作 M3U 时,将有权使用的媒体 URL 和易识别的名称写入纯文本文件,保存为 UTF-8,并先测试一个条目。

制作 M3U 时,将有权使用的媒体 URL 和易识别的名称写入纯文本文件,保存为 UTF-8,并先测试一个条目。列表只是指向媒体的地址集合;它不会下载频道,也不能为您提供原本没有的内容访问权限。

本指南使用外部文本编辑器。它并不假设 APTV 包含内置播放列表文本编辑器、支持每个可选标签或可以修复损坏的源地址。保持文件较小,直到基本的保存、导入和播放循环正常运行。

收集有权使用的流

从您拥有、管理或有权在第三方播放器中使用的流开始。向内容提供方询问实际的媒体地址及其使用条件。包含视频的普通网页不一定是播放列表条目所需的直接流 URL。

对于每个条目,记录可识别的显示名称和提供的地址。将任何过期或访问注释保存在单独的私人记录中。请勿将帐户密码放入频道名称中,这些名称可能会在屏幕截图或共享电视界面的显着位置显示。

从一个可靠的来源构建第一个版本。大量抓取的集合使得很难将文件格式错误与数十个不可用的流区分开来。如果您还没有授权来源,下一步就是获取授权来源;编写播放列表无法提供缺失的媒体。

图解:最小结构; 标头; 标明文件格式; 显示名称; 识别条目; 媒体流网址; 找到媒体.
标头: 识别文件; 显示名称: 识别条目; 串流网址: 找到媒体.

编写最小播放列表

打开纯文本编辑器并创建一个新文档。以下原始示例使用保留的示例域,并且不会按书面方式播放。将其媒体地址替换为您有权使用的地址:

#EXTM3U
#EXTINF:-1,Workshop Camera
https://media.example.com/workshop/master.m3u8

第一行标识扩展的 M3U 格式。第二个给出条目信息,包括逗号后面的显示名称。最后一行是媒体地址。 Live365 的基本播放列表语法对流条目使用相同的一般安排。

在此类目录示例中,-1 值通常用于未知或不确定的持续时间。这并不意味着您的信号源始终处于活动状态、具有无限的播放权限或支持倒带。使用您正在使用的播放器和源所期望的约定。

将流 URL 保留在自己的行中。编辑器可以在视觉上将长地址包裹在窗口中,而不插入真正的换行符;这与在 URL 内按 Return 不同。如果地址似乎已被分割,请检查保存的文本。

小心使用可下载的参考播放列表文件

捆绑的参考播放列表文件指向Apple的公共Bip Bop HLS示例。 Apple 将其列为官方测试流示例。该文件仅包含媒体引用,不包含复制的视频或 APTV 频道订阅。

根据来源条款,将其用于有限的播放比较。它不属于APTV所有,并且这里不声明任何实际的APTV播放结果。该示例包括多种媒体变体;支持取决于播放器和设备。在检查本指南的媒体来源后,可用性可能会发生变化。

如果您有自己控制的流,请将其用于持续的维护测试。您将能够区分您自己的服务器更改和公共演示的更改。将测试材料与您打算与观众分享的集合分开。

将学习示例与生产集合分开。保留的示例地址解释了真实 URL 所属的位置,而可下载的参考则指向外部演示。两者都不应该意外地作为承诺的频道出现在您向其他人提供的集合中。在共享完成的播放列表之前替换或删除说明条目。

正确保存文件

在编辑器的保存选项中选择纯文本和 UTF-8。清楚地命名文件,例如 workshop-streams.m3u。确认编辑器尚未附加 .txt 或保存富文本文档。文件名应该描述您实际创建的文件。

如果您的编辑器提供不带字节顺序标记的 UTF-8 选项,那么对于互操作性来说这是一个明智的选择。不要将此建议视为每个播放器都拒绝所有替代方案的证据。对 HLS 清单的更严格要求以及 M3U 和 M3U8 之间更广泛的区别将单独解释。

导入之前关闭并重新打开保存的文件。这个简单的检查可以捕获错误的保存格式、丢失的最后几行或与您想要的文件名不同的文件名。如果您的收藏中包含基本英文字符之外的名称,请比较重音标签。

将标签与访问信息分开

使用可识别内容的显示名称,例如“研讨会摄像机”或“迎新课程”。第一次实验结束后,避免使用“测试 1”之类的名称。清晰的标签可帮助您稍后识别失败的条目,而无需将私人地址复制到支持对话中。

不要为了让它看起来更漂亮而更改源 URL。查询字段、编码字符和路径组件可能很重要。如果您需要更短的地址进行分发,请与内容提供方讨论支持的方法,而不是发明重定向或删除参数。

图解:逐步构建; 添加条目; 一次一个; 保存文件; 纯文本,UTF-8; 测试播放; 确认结果.
添加条目: 一次一个; 保存文件: 纯文本,UTF-8; 测试播放: 确认结果.

通过一个小的构建周期测试每个条目

首先导入完成的播放列表并打开其一个条目。确认列表出现并且预期的媒体启动。成功导入会检查文档作为目录的使用情况;成功播放还取决于引用的源和支持的媒体。

然后使用另一个信息行及其 URL 在第一个条目下方添加另一个条目。保存文件并通过记录的路线导入更新的副本。保留旧的工作文件,直到您知道新副本的行为符合预期。

重复这个循环:添加、保存、测试。感觉可能比粘贴一百个地址慢,但它为每个失败提供了一小部分可能的原因。如果条目二失败而条目一仍然有效,请在更改工作标头之前关注新条目。

阶段 检查什么 保留作为证据
添加 名称和 URL 位于预期行上 原授权地址
保存 纯文本、UTF-8、正确的文件名 已知的工作先前副本
测试 条目出现并且媒体开始 日期、播放器版本和结果

测试源的正确行为

音频流应该产生声音;它不需要视频图片。预定的实时信号源可能在工作时间之外不可用。点播文件可能有固定的结尾。将结果与来源的目的进行比较,而不是对每个条目都应用一种期望。

如果条目导入但无法播放,请检查源地址及其当前访问要求。如果整个文件被拒绝,请检查文件格式和最近的编辑。将这些分支分开,以便单个不可用的视频不会触发对目录的不必要的更改。

本地播放列表并不意味着离线播放。当其条目指向在线资源时,这些资源仍然需要连接。同样,将目录复制到另一部手机不会转移帐户权限或保证第二部设备支持相同的媒体。

替换条目时,请先测试新地址,然后再从私人维护记录中删除旧记录。记录更改的原因:新位置、过期令牌或更正的标签。当有人后来报告早期副本不再工作时,该上下文可以帮助您区分计划维护和意外中断。

组织和维护文件

使用对查看集合的人有意义的一致命名方案。将稳定的上下文放在第一位:“车间 - 北摄像头”比两个不相关的标签更容易与“车间 - 南摄像头”一起扫描。避免在名称中填充观众不需要的营销声明或技术细节。

您可能会看到使用 group-title 等属性的 IPTV 示例。将它们视为需要特定于播放器的支持的可选约定。本指南尚未确定 APTV 对这些属性的处理,因此工作示例使用简单的名称,而不是承诺的自动组或类别。

保留一份注明日期的私人主副本和更改地址的记录。该日期属于您的维护记录;它不必让每个面向观众的标签变得混乱。如果旧源已过期,请仅替换该条目并在分发更新之前重新测试受影响的项目。

图解:维护播放列表; 清晰的标签; 可识别的名字; 有效的链接; 检查更改; 私密登录凭据; 谨慎分享.
清晰的标签: 可识别的名字; 有效的链接: 检查更改; 私密登录凭据: 谨慎分享.

决定更新如何传达给观看者

本地文件很容易检查和保密,但分发替换文件可能需要再次导入。托管播放列表可以提供稳定的检索位置,但它也需要适当的托管和访问保护。不要仅仅为了方便更新而发布包含凭据的文件。

在您承诺自动更新之前,必须记录播放器的刷新行为。 URL 导入可能会被再次检索、缓存或以其他方式进行管理,具体取决于应用程序。询问实际的操作流程,而不是假设每个播放器都持续观看源。

共享时保护收藏

在共享之前,请检查每个媒体地址中嵌入的用户名、密码、令牌和私有主机名。播放列表可以足够小,看起来无害,同时仍然授予大量访问权限。仅通过合适的私人渠道与授权接收者共享。

如果凭证意外泄露,请向其颁发者询问更换或撤销事宜。编辑可见文件名不会从已分发的副本中删除机密。保持故障排除示例的清洁,并在不需要私人内容时使用公共测试参考。

在 APTV for Android 中打开您自己支持的播放列表,并在构建时验证每个新条目。该应用程序提供播放功能;您提供授权的流。购买功能无法修复过期地址或创建丢失的内容。

常见问题

创建自己的 M3U 播放列表需要什么?

使用纯文本编辑器、您有权使用的流地址以及支持结果输入的播放器。从一个工作条目开始,并使用预期的编码和扩展名保存文件。仅在第一次导入和播放后添加更多条目。

扩展 M3U 播放列表的基本结构是什么?

本指南中的小目录以#EXTM3U 开头。每个条目将包含其显示信息的 #EXTINF 行与下一行上的媒体地址配对。将这些对放在一起,保留完整的地址,并测试保存的文件,而不是依赖编辑器预览。

我可以使用普通的网页地址作为流 URL 吗?

网页并不自动成为可播放的媒体资源。使用内容提供方提供的用于播放的媒体地址或播放列表导出。如果地址打开登录表单或普通网页,请请求支持的流输入,而不是猜测隐藏端点。

频道组和其他可选标签适用于每个播放器吗?

不一定。可选元数据是否受支持,取决于接收它的应用和版本。先确认基本条目能正常播放,再在实际使用的播放器中逐项测试新增字段。不能仅因为文本中有某个标签,就承诺支持分组或节目指南功能。

共享我创建的播放列表文件是否安全?

先检查一下。流地址可以包含用户名、密码或访问令牌,并且查看源的权限不会自动包含共享访问的权限。使用经过清理的示例进行故障排除,并仅分发您有权共享的媒体参考。