web-dev-qa-db-ja.com

VLCまたはFFMPEGコマンドラインを使用してビデオファイルに外部オーディオトラックを追加する方法

Bashスクリプトを使用してaudio.mp3サウンドトラックを無音のvideo.mp4ファイルに追加したいのですが、「cvlc」「ffmpeg」コマンドラインの正しい構文は何ですか。

VLCと--no-audioオプションを使用してビデオを録画したので、元のビデオからコピーできるビットレートやエンコーディングなどの設定はありません。

9
Jonathan

ストリームのコピー

例: ストリームコピー 、またはre-mux、video.mp4からのビデオ(入力0)およびaudio.mp3からのオーディオ(入力1) :

ffmpeg -i video.mp4 -i audio.mp3 -map 0:v -map 1:a -codec copy -shortest out.mp4

これはエンコードを回避するため、非常に高速になり、品質に影響を与えません。

再エンコード

サイズを再エンコードする必要がある場合、または入力とは異なるフォーマットが必要な場合は、使用するエンコーダーをffmpegに指示できます。 H.264ビデオとAACオーディオに再エンコードする例:

ffmpeg -i video.mp4 -i audio.mp3 -map 0:v -map 1:a -codec:v libx264 \
-preset medium -crf 23 -codec:a aac -b:a 192k -shortest output.mp4

ノート:

-mapオプションを使用すると、必要なストリームを指定できます。たとえば、-map 0:vは、最初の入力のビデオストリームを参照します。 ffmpegに必要なストリームを指定しない場合、デフォルトの stream selection が使用されます。これは、ストリームタイプごとに1つのストリームを選択することです。多くの場合、デフォルトで問題ありませんが、期待どおりの結果が得られるように明示的にすることをお勧めします。

-shortestオプションは、最短時間の入力が終了したときに出力ファイルを終了するようにffmpegに指示します。

常に最新のffmpegビルドを使用することをお勧めします。最も簡単な方法は 最近のffmpegビルドをダウンロードする ですが、 ffmpegをコンパイルするためのガイド に従うこともできます。

こちらもご覧ください:

29
llogan