通过ffmpeg生成带有扩展M3U指令的m3u8文件

时间:2012-09-05 12:47:11

标签: ffmpeg

我使用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

1 个答案:

答案 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就会被添加到文件的末尾。