2012-09-05 141 views
4

我正在通过使用ffmpeg生成m3u8文件。使用扩展M3U指令生成m3u8文件通过ffmpeg

命令是象下面这样:

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指令。

那么,如何添加这些指令?

感谢提前,

萨加尔·乔希

+0

你是什么意思“扩展m3u8指令”? – ciphor

+0

生成的m3u8文件不包含http实时流标记 – jrabary

回答

4

按照HTTP Live Streaming规范,除非你使用的ffmpeg的旧版本(我使用的是1.0),该文件M3U8它创建优良。

矿看起来像这样(的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被添加到文件的末尾。