5

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ディレクティブは追加されません。

では、これらのディレクティブを追加する方法は?

よろしくお願いします

サーガルジョシ

4

1 に答える 1

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 ファイルをリロードしてメディアを追加する必要があることを認識できます。それはここで概説されています。ffmpeg が終了すると (または ctrl-c で終了すると) #EXT-X-ENDLIST がファイルの末尾に追加されます。

于 2013-01-17T18:38:13.247 に答える