2012-09-05 145 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被添加到文件的末尾。