HLS、RTMP、HTTP-FLV直播协议 ゞ 浴缸里的玫瑰 2022-03-25 06:51 347阅读 0赞 ### HLS协议 ### ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNzM3MDg3_size_16_color_FFFFFF_t_70][] HLS协议 请求m3u8文件,解析之后得到若干个ts文件 但是,也有可能m3u8文件下是若干个m3u8文件,需要判断播放器和浏览器是否支持 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNzM3MDg3_size_16_color_FFFFFF_t_70 1][] m3u8文件同时又细分为 动态列表、静态列表和全量列表 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNzM3MDg3_size_16_color_FFFFFF_t_70 2][] **动态列表**:顾名思义,是不断变化的,再直播中比较常用 **静态列表**:几乎不怎么使用 **全量列表**:数据不变化的,常用于点播 **m3u8文件** // m3u8文件就是一个纯文本文件 为了好看使用js格式 // 动态列表 开始 #EXTM3U // 标明m3u8文件的版本 很重要,版本一定要是播放器能够支持的对上 #EXT-X-VERSI0N:6 // 版本的声明 第6 #EXT-X-TARGETDURATION:10 // 默认视频的时长 #EXT-X-MEDIA-SEQUENCE:26 // 序号 #EXTINF:9.901, // 时间戳 跟浏览器跟新m3u8文件是有关系的 http://media.example.com/wifi/segment26.ts // 索引片段 #EXTINF:9.901f http://media.example.com/wifi/segment27.ts #EXTINF:9.501, http://media.example.com/wifi/segment28.ts // 动态列表 结束 // 静态列表 开始 静态列表比动态列表多了一个#EXT-X-PLAYLIST-TYPE:EVEN 其他的没什么区别 #EXTM3U // 标明m3u8文件的版本 很重要,版本一定要是播放器能够支持的对上 #EXT-X-VERSI0N:6 // 版本的声明 第6 #EXT-X-TARGETDURATION:10 // 默认视频的时长 #EXT-X-MEDIA-SEQUENCE:26 // 序号 #EXT-X-PLAYLIST-TYPE:EVEN #EXTINF:9.901, // 时间戳 跟浏览器跟新m3u8文件是有关系的 http://media.example.com/wifi/segment26.ts // 索引片段 #EXTINF:9.901f http://media.example.com/wifi/segment27.ts #EXTINF:9.501, http://media.example.com/wifi/segment28.ts // 静态列表 结束 // 全量列表 开始 #EXTM3U // 标明m3u8文件的版本 很重要,版本一定要是播放器能够支持的对上 #EXT-X-VERSI0N:6 // 版本的声明 第6 #EXT-X-TARGETDURATION:10 // 默认视频的时长 #EXT-X-MEDIA-SEQUENCE:26 // 序号 #EXT-X-PLAYLIST-TYPE:VOD // 表明是点播 #EXTINF:9.901, // 时间戳 跟浏览器跟新m3u8文件是有关系的 http://media.example.com/wifi/segment26.ts // 索引片段 #EXTINF:9.901f http://media.example.com/wifi/segment27.ts #EXTINF:9.501, #EXT-X-ENDLIST // 表明结束 不需要再去跟新m3u8文件 // 全量列表 结束 **TS文件 ** ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNzM3MDg3_size_16_color_FFFFFF_t_70 3][] 解析ts文件之后会先找一个PAT包,PAT下面会有一个PMT包,PTM里面有TS包,PTM会告诉你哪些TS包是视频和音频,这些若干个TS包组成一个PES ### rtmp协议 ### ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNzM3MDg3_size_16_color_FFFFFF_t_70 4][] ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNzM3MDg3_size_16_color_FFFFFF_t_70 5][] ### http-flv协议 ### ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNzM3MDg3_size_16_color_FFFFFF_t_70 6][] ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNzM3MDg3_size_16_color_FFFFFF_t_70 7][] ## ** 总结** ## **HLS:使用起来方便,但是有一定延迟(对延迟要求不高的时候)** **RTMP: 延迟低,但是使用起来相对复杂(通常用再客户端的采集、低延迟)** **HTTP-FLV: 结合了上两个的优点,但是视频格式是flv的(低延迟)** [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNzM3MDg3_size_16_color_FFFFFF_t_70]: /images/20220325/39118cc37c144d77b371ff9df3297ff0.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNzM3MDg3_size_16_color_FFFFFF_t_70 1]: /images/20220325/239c445992394e87a398684672abac56.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNzM3MDg3_size_16_color_FFFFFF_t_70 2]: /images/20220325/931355943b094502bdd11d617f9954ec.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNzM3MDg3_size_16_color_FFFFFF_t_70 3]: /images/20220325/9056cc143ef4414daa670d97e199dea6.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNzM3MDg3_size_16_color_FFFFFF_t_70 4]: /images/20220325/1300f422f61d4762a40523918f83bb40.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNzM3MDg3_size_16_color_FFFFFF_t_70 5]: /images/20220325/a9572a5540a0454da331d27c96345b21.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNzM3MDg3_size_16_color_FFFFFF_t_70 6]: /images/20220325/dceeced2eab640cc8ff32cb04dc72c68.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNzM3MDg3_size_16_color_FFFFFF_t_70 7]: /images/20220325/0ff80601f1d147a79171aefbe19ce16a.png
还没有评论,来说两句吧...