Bashスクリプトを使用してaudio.mp3サウンドトラックを無音のvideo.mp4ファイルに追加したいのですが、「cvlc」「ffmpeg」コマンドラインの正しい構文は何ですか。
VLCと--no-audioオプションを使用してビデオを録画したので、元のビデオからコピーできるビットレートやエンコーディングなどの設定はありません。
例: ストリームコピー 、または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をコンパイルするためのガイド に従うこともできます。