1

次のコマンドを使用しています

ffmpeg -i Apple.ts -map 0:0 -map 0:1 -c copy -f segment -segment_time 10 -segment_list test.m3u8 -segment_format ts 'fileSequence%d.ts'

ファイルはセグメント化されますが、値は正確ではありません。生成された .m3u8 を参照してください。ターゲット期間は 12 ですが、指定したのは 10 です。

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOWCACHE:1
#EXTINF:11.478100,
fileSequence0.ts
#EXTINF:10.410400,
fileSequence1.ts
#EXTINF:11.745067,
fileSequence2.ts
#EXTINF:7.841167,
fileSequence3.ts
#EXTINF:8.024678,
fileSequence4.ts
#EXT-X-TARGETDURATION:12
#EXT-X-ENDLIST

また、浮動小数点の期間が必要ない場合は、どうすればよいですか?

4

1 に答える 1

1

厳密な期間を取得するには、入力ファイルが厳密な I ピクチャ レートでエンコードされていることを確認する必要があります。元の mp4.with ffmpeg をエンコードする際に、キーフレーム間隔を 10 秒に、sc_threshold を 0 に設定していることを確認してください。次に、セグメンテーション コマンドを実行します。これにより、正確に 10 秒のセグメントが得られます。それ以外の場合、ffmpeg は、私が見つけた画像の終了時に 10 秒のマーク (または指定した期間) をカットしようとします。

于 2013-03-12T02:44:35.967 に答える