avi
次のようにファイルを分割しようとしています。
avconv -i file.avi -vcodec copy -acodec copy -ss 0 -t 10 out.avi
これがトリックです(ビデオの最初の10秒間チャンクを作成します)。
問題は、映像の10秒から20秒までを分割したいときです。
avconv -i file.avi -vcodec copy -acodec copy -ss 10 -t 10 out.avi
結果のビデオには、最初の2秒間だけ音が聞こえます。
私はそれを循環します。同様に、20-30.avi、30-40.avi...チャンクも正しくチャンクされておらず、最初から長さの異なるサウンドのみが含まれています。
aviビデオを正しくチャンクする方法を知っていますか?
答え1
多くのビデオコーデックは、2つまたは3つの方法でビデオフレームを符号化する。Iフレーム、Pフレーム、Bフレーム。つまり、Iフレームだけがビデオの開始点として機能するのに十分なデータを保持できます。の場合、-vcodec copy
ソフトウェアはフレームコピーのみを実行します。そのため、ブロックがIフレームで始まるときにカットが発生すると、正しく再生されません。
したがって、ビデオを再エンコードできません。一部のGUIソフトウェア(たとえば、avidemux)はこの操作を「賢明に」実行します。つまり、最初に使用可能なIフレームまでブロックの先頭のみを再エンコードしてから、残りをコピーします。