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ビデオを正しくチャンクする方法を知っていますか?
多くのビデオコーデックは、2つまたは3つの異なる方法でビデオフレームをエンコードします: Iフレーム、Pフレーム、およびBフレーム 。つまり、Iフレームだけが、ビデオの開始点となるのに十分なデータを保持します。 -vcodec copy
、ソフトウェアはこれのみを行います—フレームをコピーします。したがって、チャンクがIフレームで開始するような時間にカットが発生した場合、正常に再生されます。そうでなければ、そうではありません。
したがって、ビデオを再エンコードする方法はありません。一部のGUIソフトウェア(avidemuxなど)はこれを「スマートに」実行します。チャンクの最初の部分から最初の使用可能なIフレームまでを再エンコードしてから、残りをコピーします。