web-dev-qa-db-ja.com

avconvを使用して複数のwebmファイルをマージする

ビデオフォルダ内など、1つの場所に複数の.webmファイルがあります。 Ubuntu 13.10 32ビットシステムを使用しています。すべてのwebmファイルを1つのoutput.webmファイルにマージします。

私はffmpegについて読みましたが、concat functionでffmpegを試してみました:

Unknown input format: 'concat';また、ffmpegは非推奨であり、代わりにavconvを使用します。

複数のwebmファイルを1つにマージするためにavconvを使用する方法を提案してください。

5
Mandar Pandit

ダウンロード

最初のステップは download ffmpeg です。これはスタンドアロンのバイナリなので、インストールする必要はありません。直接実行するだけです。

(期限切れの)Ubuntuバージョンは、いくつかの連結関数を含む多くの機能が欠けているavconvを提供します。

連結する

再エンコードせずにそれらを結合しようとする場合は、 concat demuxer を使用します。すべての動画には同じパラメータが必要です。

ビデオの幅、高さ、フレームレートなどが異なる場合は、 連結フィルター を使用します。フィルターを再エンコードする必要があります。

注:1年半前に私がリクエストした情報をあなたの質問へのコメントで提供したことはないので、あなたがどれを提案することはできません特に使用する必要があります。また、この情報なしで入力に固有の例を提供することはできません。したがって、次の例は一般的なものであり、追加オプションなしでは機能しない可能性があります。

連結デマルチプレクサ

入力をリストしたテキストファイルを作成します。

file 'input0.webm'
file 'input1.webm'
file 'input2.webm'

ffmpegを実行します:

ffmpeg -f concat -i input.txt -c copy output.webm

連結フィルター

この例では、input1.webmの幅幅x高さは他のものより大きくなっています。このコマンド例は、input1.webmをスケーリングして、他のビデオと一致するようにします。

ffmpeg -i input0.webm -i input1.webm -i input2.webm -filter_complex \
"[1:v]scale=640:-1[v1]; \
 [0:v][0:a][v1][1:a][2:v][2:a]concat=n=3:v=1:a=1[v][a]" \
-map "[v]" -map "[a]" output.webm

こちらもご覧ください

6
llogan