m3u8 和 ts

m3u8 和 ts

1. m3u8

Unicode版本的 m3u, 用 utf-8 编码

m3u, m3u8, 都是 苹果公司 使用的 Http Live Streaming(HLS) 协议格式的 基础,

这种协议格式 可以在 iPhone 和 Macbook 等设备播放

m3u8 是 Http Live Streaming(HLS) 协议的部分内容, 而 HLS 是一个由 苹果公司提出的 基于 Http 的 流媒体 网络传输协议

HLS 的工作原理 是 把整个流 分成 一个个小的 基于 HTTP的文件来下载, 每次只下载一些,

当媒体流 正在播放时, 客户端 可以选择 从 许多不同的 备用源中 以不同的速率 下载同样的资源, 允许 流媒体会话 适应不同的 数据速率

在开始一个流媒体会话时, 客户端会下载一个包含 元数据的 extended m3u(m3u8) playlist文件, 用于 寻找可用的 媒体流

HLS, 只请求基本的 HTTP报文, 与实时传输协议(RTP) 不同, HLS 可以穿过 任何允许 HTTP数据通过的 防火墙 或者 代理服务器, 它也很容易使用内容分发网络 CDN 来传输媒体流

m3u8文件 实质是 一个播放列表(playlist), 其可能是一个 媒体播放列表(Media Playlist), 或者是一个 主列表(Master Playlist),

但无论是 哪种播放列表, 其内部文字使用的都是 utf-8编码

当 m3u8文件 作为 媒体播放列表(Media Playlist)时, 其内部信息记录的 是一系列媒体片段资源, 顺序播放该片段资源 即可完整展示 多媒体资源,

由此可见, 整个视频的总时长 就是 各个 .ts切片资源的 时长之和

2. ts

ts, Transport Stream

3. 请求 m3u8播放列表的方法

1, 通过 m3u8的 url 进行请求, 则该文件必须以 .m3u8 或 .m3u 结尾

2, 通过 Http 进行请求, 则请求头 Content-Type 必须设置为 "application/vnd.apple.mpegurl" 或者 "audio/mpegurl"

参考链接

https://blog.csdn.net/weixin_34247032/article/details/91368946

posted on 2021-10-05 10:34  beyondx  阅读(616)  评论(0编辑  收藏  举报

导航