200

次のようなコマンドを使用しました:

ffmpeg -i video.avi -i audio.mp3 -vcodec codec -acodec codec output_video.avi -newaudio

新しいオーディオ トラックをビデオに追加するための最新バージョン (ミックスではありません)。

しかし、ffmpeg を最新バージョン ( ffmpeg バージョン git-2012-06-16-809d71d ) に更新したところ、このバージョンではパラメーター-newaudioが機能しなくなりました。

を使用してビデオに新しいオーディオを追加する方法 (ミックスではない) を教えてくださいffmpeg

4

7 に答える 7

447

オーディオを置き換える

オーディオ ストリームの置換の図

ffmpeg -i video.mp4 -i audio.wav -map 0:v -map 1:a -c:v copy -shortest output.mp4
  • この-mapオプションを使用すると、ストリーム/トラックを手動で選択できます。詳細については、 FFmpeg Wiki: マップを参照してください。
  • この例では、ビデオ-c:v copyストリーミング コピー(MUX) するために使用します。ビデオの再エンコードは行われません。品質は維持され、プロセスは高速です。
    • 入力オーディオ形式が出力形式と互換性がある場合は、ビデオとオーディオの両方をストリーム コピーするように変更-c:v copyします。-c copy
    • ビデオとオーディオを再エンコードする場合は、-c:v copy/を削除し-c copyます。
  • この-shortestオプションは、出力を最短の入力と同じ期間にします。

音声を追加

オーディオストリーム追加の図

ffmpeg -i video.mkv -i audio.mp3 -map 0 -map 1:a -c:v copy -shortest output.mkv
  • この-mapオプションを使用すると、ストリーム/トラックを手動で選択できます。詳細については、 FFmpeg Wiki: マップを参照してください。
  • この例では、ビデオ-c:v copyストリーミング コピー(MUX) するために使用します。ビデオの再エンコードは行われません。品質は維持され、プロセスは高速です。
    • 入力オーディオ形式が出力形式と互換性がある場合は、ビデオとオーディオの両方をストリーム コピーするように変更-c:v copyします。-c copy
    • ビデオとオーディオを再エンコードする場合は、-c:v copy/を削除し-c copyます。
  • この-shortestオプションは、出力を最短の入力と同じ期間にします。

2 つのオーディオ入力を 1 つにミキシング/結合する

オーディオ ダウンミックスの図

のビデオを使用しvideo.mkvます。amerge フィルタvideo.mkvaudio.m4a使用して オーディオをミックスします。

ffmpeg -i video.mkv -i audio.m4a -filter_complex "[0:a][1:a]amerge=inputs=2[a]" -map 0:v -map "[a]" -c:v copy -ac 2 -shortest output.mkv

詳細については、 FFmpeg Wiki: オーディオ チャネルを参照してください。

サイレント オーディオの生成

anullsrc フィルターを使用して、サイレント オーディオ ストリームを作成できます。フィルターを使用すると、目的のチャンネル レイアウト (モノラル、ステレオ、5.1 など) とサンプル レートを選択できます。

ffmpeg -i video.mp4 -f lavfi -i anullsrc=channel_layout=stereo:sample_rate=44100 \
-c:v copy -shortest output.mp4

こちらもご覧ください

于 2012-08-02T18:20:56.113 に答える
27

mp3音楽からwavへ

ffmpeg -i music.mp3 music.wav

ビデオに合わせて切り捨てる

ffmpeg -i music.wav -ss 0 -t 37 musicshort.wav

音楽とビデオをミックスする

ffmpeg -i musicshort.wav -i movie.avi final_video.avi
于 2012-09-24T02:08:00.450 に答える
3

私にとっては何もうまくいきませんでした(入力した.mp4ビデオにオーディオがなかったためだと思います)ので、これがうまくいくことがわかりました:

ffmpeg -i input_video.mp4 -i balipraiavid.wav -map 0:v:0 -map 1:a:0 output.mp4

于 2019-05-17T10:18:41.523 に答える