web-dev-qa-db-ja.com

ビデオ/オーディオをマージして両方のオーディオを保持する単一行FFMPEGコマンド

ビデオファイルを別のオーディオファイルとマージする必要があるプロジェクトがあります。予想される出力は、実際のビデオからのオーディオとマージされたオーディオファイルの両方を持つビデオファイルです。出力ビデオファイルの長さは、実際のビデオファイルのサイズと同じになります。

コピーおよび-mapパラメーターを使用してこれを達成するための単一行のFFMPEGコマンドはありますか?

私が使用するビデオ形式はflvまたはmp4のどちらかであり、オーディオファイル形式はmp3になります

18
Deepak Prakash

地図を使わなくても達成できます。

ffmpeg -i video.mp4 -i audio.mp3 output.mp4

入力の1つ(オーディオ/ビデオ)が停止したらすぐにoutput.mp4を停止する場合は、次を使用します。

-shortest

例えば: ffmpeg -i video.mp4 -i audio.mp3 -shortest output.mp4

これにより、入力のいずれかが完了すると、出力が確実に停止します。

あなたは地図でそれをやりたいと頼んだので。これがあなたのやり方です:

ffmpeg -i video.mp4 -i audio.mp3 -map 0:0 -map 1:0 -shortest output.mp4

ここで、ビデオファイルのオーディオを保持したいので、audio.mp3およびvideo.mp4。これらはステップです:

  1. Video.mp4からオーディオを抽出する

ffmpeg -i video.mp4 1.mp3

  1. Audio.mp3と1.mp3の両方をマージします

ffmpeg -i audio.mp3 -i 1.mp3 -filter_complex amerge -c:a libmp3lame -q:a 4 audiofinal.mp3

  1. Video.mp4からオーディオを削除します(この手順は必要ありませんが、適切に実行するためだけです)。

ffmpeg -i video.mp4 -an videofinal.mp4

  1. 今度はaudiofinal.mp3とvideofinal.mp4をマージします

ffmpeg -i videofinal.mp4 -i audiofinal.mp3 -shortest final.mp4

note: ffmpegの最新バージョンでは、これを使用する場合にのみ '-strict -2'を使用するように要求するだけです。

ffmpeg -i videofinal.mp4 -i audiofinal.mp3 -shortest -strict -2 final.mp4

お役に立てれば。

49
Rajath

**

1つのcmdを使用してそれを行うことはできません。

**

1.ビデオファイルからオーディオを取得します。オーディオファイル名はa.mpです。

ffmpeg.exe -i video.mp4 a.mp3

2. 2つのオーディオファイルをマージします(audio.mp3 + a.mp3 = audiofinal.mp3)

ffmpeg.exe -i audio.mp3 -i a.mp3 -filter_complex amerge -c:a libmp3lame -q:a 4 audiofinal.mp3

3.ビデオファイルとオーディオファイルをマージします(video.mp4 + audiofinal.mp3 = output.mp4)

ffmpeg.exe -i video.mp4 -i audio.mp3 -map 0:v -map 1:a -c copy -y output.mp4
11
Aliceljm

使用事例:

  • バックグラウンドに音楽を追加する
  • ビデオをレンダリングしましたが、その一部をミュートしたので、再度レンダリングしたくありません(長すぎます)。代わりに、オーディオトラックのみをレンダリングし(高速)、元のビデオとマージします。

仮定

  • あなたはあなたのスピーチであなたのビデオを持っています(または単にオーディオトラック、何でも
  • あなたのmusic_fileは大声ではありません。そうしないと、自分の声が聞こえませんD:

手順:

1)ビデオからオーディオを抽出

ffmpeg -i test.mp4 1.mp3

test.mp4-ファイル

2)audio.mp3と1.mp3の両方をマージ

ffmpeg -i audio.mp3 -i 1.mp3 -filter_complex amerge -c:a libmp3lame -q:a 4 audiofinal.mp3

audiofinal.mp3-音楽付きのオーディオ

3)オリジナルからオーディオを削除

ffmpeg -i example.mkv -c copy -an example-nosound.mkv

example-nosound.mkv-音声なしの動画

4)適切なオーディオとマージ

ffmpeg -i audiofinal.mp3 -i example-nosound.wmv -c:v copy -vcodec copy final.wmv

final.wmv-あなたにぴったりのビデオ。

3
Nikolay Gogol