字幕结构与媒体传输
云映 HLS 字节区间清单:同一地址也可能对应不同分片
用原创长度与偏移算例核对EXT-X-BYTERANGE,区分片段身份、资源身份及未引用字节。
本文目录
HLS清单连续出现同一个文件名,不一定重复下载或重复播放同一段。清单可以用字节区间指向同一资源内的不同媒体段。本篇在外部逐条算偏移,再把云映实际播放结果单独登记,不把HTTP响应的一段字节直接当整部影片,也不要求应用显示清单解析器或分片下载表。
先确认这是媒体清单的文字副本
准备自己有权查看的小型媒体清单副本,记录取得时间、原基址和文件身份,实际网址私下保留。只有主清单时先按已有HLS层级教程找到媒体清单,不把变体地址当本课区间列表。无法取得清单,可完成下面纸面算例,不必给应用导入一个缺媒体的示例。原清单不编辑,研究表另存;直播更新后保留新的观察日期,不能把两次不同列表的片段序号直接拼成一条未变的内容顺序。
逐条绑定长度标签与下一行地址
原创样例只为计算,不附真实media.ts,不能直接承诺可播放。按照RFC 8216字节区间标签,标签属于接下来那一行资源,长度和可选偏移分别登记。这里三条URI相同而区间并不相同,版本四符合该标签所需的最低兼容版本。EXTINF写每段三秒,只是示例时间信息,不能靠字节长度验证编码时间戳已经正确,也不把此文字片段称为完整媒体包。
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:3
#EXTINF:3.0,
#EXT-X-BYTERANGE:128@0
media.ts
#EXTINF:3.0,
#EXT-X-BYTERANGE:256
media.ts
#EXTINF:3.0,
#EXT-X-BYTERANGE:128@512
media.ts
#EXT-X-ENDLIST
先算明确给出的首段偏移
首段长度一百二十八、偏移零,若用包含端点的字节编号表示,应为零至一百二十七;末字节等于起点加长度减一,不是零至一百二十八。外部建段序、完整资源身份、长度、起点、终点五栏,时间另栏保存,不把三秒写成三字节。这里偏移是从资源起点数的字节,不是从当前播放位置或已看时长起算。核对长度时用终点减起点再加一,先把这个端点约定固定,后续才能查是否多算一个字节。
省略偏移必须核前一段与同一资源
第二段只写长度二百五十六,前一媒体段已经明确是同一资源的一段,所以接首段后一字节一百二十八开始,至三百八十三结束。省略不是自动从零,也不是从当前段序号开始。若前一段指向另一资源,或清单没有前一媒体段,就不能套这个推算;按规范这种省略会使该媒体段未定义。遇到相对路径先结合原基址确定资源身份,再比较,不仅凭最后文件名一样就认定两个地址必为同一个对象。
明确偏移允许跳过未引用字节
第三段明确从五百一十二起,长一百二十八,终点六百三十九。三百八十四至五百一十一这段没有被本例三条范围引用,共一百二十八字节,先只记未引用,不能说视频缺一百二十八秒。三段所选字节总数五百一十二,而最大编号六百三十九也不证明整个资源恰好六百四十字节,尾部可能还有内容。相同URI加不同范围才构成本例片段身份;不能去掉标签后合并成一个整文件地址再声称播放含义完全没变。
把清单范围与HTTP返回分别验
有可信服务记录时,另记实际请求的资源、Range与返回的状态及内容范围,不能只凭清单文字就宣称服务器已经正确支持分段读取。服务可能返回整份表示,也可能拒绝或转到登录页面,按实际处理,不把所有失败叫格式错误。没有日志就只保留清单算例与观看现象,不能杜撰云映发出的网络头。此前HTTP范围教程描述响应证据,本篇描述清单如何选取片段,二者可对照但不会互相替代。不要改生产服务器配置追求某个状态码。
顺播与离线副本按实际范围登记
使用自己原本可播的真实资源,在云映从段边界之前正常顺播,记录跳转、停顿或内容重复的具体锚点。不要拿缺失media.ts的教学文本做兼容结论。保存清单不等于保存它引用的所有字节,下载了同名资源也需核副本完整性及路径关系。离线检查先用合法小样本,首中末与字幕分别看,未做就写未验。一次只改一项,不能同时重写区间、转码和换服务器后把恢复播放归功于某一个猜测。
退出返回后复算三段身份
退出再回真实视频,用同一内容锚点确认返回位置,清单若已更新则另留版本。最终纸面应得到零至一百二十七、一百二十八至三百八十三、五百一十二至六百三十九,并能解释一百二十八字节空隙与五百一十二字节选取总量各是什么。原清单、媒体副本与人工表分开保存,公开反馈用自制路径。完成标准是片段区间可回算、观看证据可定位,不是文件名重复就删掉条目,也不是文字计算通过就保证全片离线可播。
相关教程与资料
资料核对:2026 年 11 月 10 日,依据 云映官方 App Store 说明与 Apple 公开版本查询,当前版本 1.1.1,最低要求 iOS / iPadOS 15.0。1.1.1 的公开更新列出 Kodi、OpenList / AList 与 S3 兼容存储,并改进来源切换及跳转后的字幕显示;本文按这些公开范围与现有播放能力组织任务,具体入口以安装版本为准。自制样本、手工记录与外部文件整理不是应用新增自动功能;未声称已完成真机或私人服务器实测。