视频转码m3u8是一种基于HTTPLiveStreaming的流媒体传输协议,它使用了现有的HTTP协议来进行实时传输。m3u8可以实现跨平台、跨浏览器的直播和点播。
HTTPLiveStreaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体传输协议。它使用了现有的HTTP协议来进行实时传输。HLS可以实现跨平台、跨浏览器的直播和点播。
m3u8是一种特殊的M3U文件,使用UTF-8编码,扩展名是.m3u8。M3U是一种音频/视频列表文件,也就是存储了一个或者多个音频/视频文件的信息。M3U8文件是M3U文件的UTF-8版本,扩展名也是.m3u8。
m3u8文件里面存储了一个或者多个.ts媒体文件的信息(也就是分片文件),这些.ts文件通过HTTP协议在服务端进行直播或者点播。
在进行直播或者点播之前,服务端会生成一个.m3u8文件,里面存储了当前直播或者点播内容对应的.ts分片文件的信息(URL),客户端通过读取.m3u8文件来获取当前直播或者点播内容对应的.ts分片文件。
当客户端读取.m3u8文件时,如果遇到#EXT-X-ENDLIST标志,表明当前直播或者点播已经结束;如果遇到#EXT-X-DISCONTINUITY标志,表明当前直播或者点播内容已中断(例如直播中出现了异常)。