我使用ffmpeg生成m3u8文件。
命令如下:
ffmpeg -i sourcefile.mp4 -vcodec libx264 -acodec libvo_aacenc -b:v 128k -flags -global_header -map 0:0 -map 0:1 -f segment -segment_time 4 -segment_list_size 0 -segment_list testlist.m3u8 -segment_format mpegts stream%05d.ts
这是成功创建m3u8文件,但它不添加扩展的m3u8指令。
那么,如何添加这些指令呢?
提前感谢,
Sagar Joshi
答案 0 :(得分:4)
根据HTTP Live Streaming规范,除非您使用旧版本的ffmpeg(我使用的是1.0),否则它创建的m3u8文件就可以了。
Mine看起来像这样(当ffmpeg仍在编码时):
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOWCACHE:1
#EXTINF:8.308300,
stream00000.ts
#EXTINF:8.341667,
stream00001.ts
通过省略#EXT-X-ENDLIST标记,客户端应该知道重新加载此m3u8文件以获取更多媒体。概述here。一旦ffmpeg退出(或者我ctrl-c退出),#EXT-X-ENDLIST就会被添加到文件的末尾。