ffmpeg系列之mp4与ts格式转换
1. M3U 协议解析
1.1、Tag说明
2、HLS 与 M3U8
3、通过ffmpeg进行转换
3.1、 mp4格式转换为ts格式
3.2、 ts格式拼接命令
1. M3U 协议解析
M3U8文件是指UTF-8编码格式的M3U文件。M3U文件是记录了一个索引纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放。
M3U8是一种常见的流媒体格式,主要以文件列表的形式存在,既支持直播又支持点播,尤其在Android、iOS等平台最为常用。
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:3
#EXTINF:1.969
https://test.com/test0.ts
#EXTINF:1.972
https://test.com/test1.ts
#EXTINF:1.109
https://test.com/test2.ts
#EXT-X-DISCONTINUITY
#EXTINF:2.969
https://test.com/test3.ts
#EXT-X-ENDLIST
1.1、Tag说明
下面我们说明一下比较常用和关键的几个字段: • EXTM3U:这个是M3U8文件必须包含的标签,并且必须在文件的第一行,所有的M3U8文件中必须包含这个标签。 • EXT-X-VERSION:M3U8文件的版本,常见的是3(目前最高版本应该是7)。 •EXT-X-TARGETDURATION:该标签指定了单个媒体文件持续时间的最大值,播放文件列表中的媒体文件在EXTINF标签中定义的持续时间必须小于或者等于该标签指定的持续时间。该标签在播放列表文件中必须出现一次。 •EXT-X-MEDIA-SEQUENCE:M3U8直播是的直播切换序列,当播放打开M3U8时,以这个标签的值作为参考,播放对应的序列号的切片。 •EXTINF:EXTINF为M3U8列表中每一个分片的duration,如上面例子输出信息中的第一片的duration为2.969秒。在EXTINF标签中,除了duration值,还可以包含可选的描述信息,主要为标注切片信息,使用逗号分隔开。 •EXT-X-DISCONTINUITY:需要特别说明的就是这个tag了,表示前一片分片和后一片分片有不连续。 •EXT-X-ENDLIST:若出现EXT-X-ENDLIST标签,则表明M3U8文件不会再产生更多的切片,可以理解为该M3U8已停
|