ffmpeg HEVC と HLS 固有のフラグメント持続時間

ffmpeg HEVC と HLS 固有のフラグメント持続時間

私は ffmpeg/x265 の 10 ビット ビルドを使用して次のコマンドを実行します。このコマンドでは、入力 x265/10 ビット ビデオをデコードし、それを別のコマンド ライン ツールにパイプし、出力を再度新しい ffmpeg インスタンスにパイプします。ここで、3 秒のフラグメント期間で再エンコードおよびフラグメント化します。同じ行が x264/8 ビット エンコードでも期待どおりに機能したことに注意してください。

ffmpeg-hi10-heaac -y -an -i "./HEVC.mp4" -s 3840x2160 -f rawvideo - | myCLI | ffmpeg-hi10-heaac -y -f rawvideo -pix_fmt yuv420p10le -s 3840x2160 -r 23.976 -i - -c:v libx265 -b:v 5000K -g 24 -keyint_min 24 -sc_threshold 0 -map 0:v -f stream_segment -segment_time 3 -segment_list manifest.m3u8 -segment_list_type m3u8 output.%05d.ts

問題はそれです:

  • マニフェストによるとフラグメントの持続時間は約10秒です
  • そして、出力される各 .ts の長さは約 10 秒であることは事実です。

これは既知の問題なのか、回避策があるのか​​、それとも私が使用したオプションまたはそれらのオプションの組み合わせから発生しているのかを知りたいです。

ありがとう。

答え1

GOPサイズも設定する必要があります。 -g [fps * セグメント時間]

関連情報