2013-11-27 8 views
9

bashスクリプトを使用してsound.mp3サウンドトラックを無声video.mp4ファイルに追加したいのですが、 "cvlc "" ffmpeg "コマンドライン?VLCまたはFFMPEGコマンドラインを使用してビデオファイルに外部オーディオトラックを追加する方法

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

答えて

27

ストリームがstream copy、または再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は、ビデオストリーム(Sを指し、 )を入力します。あなたが望むストリームをffmpegに指定しないと、ストリームタイプごとに1つのストリームを選択するデフォルトのstream selectionが使用されます。デフォルトはよくありますが、期待どおりの結果を得るためには明示的にすることをお勧めします。

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

最新のffmpegビルドを使用することが常に推奨されます。最も簡単な方法はdownload a recent ffmpeg buildですが、guide to compile ffmpegに従うこともできます。

も参照してください:

+0

を答えてくれてありがとう、私はあなたの提案の両方を試したし、それが次のエラーメッセージが返されます。 _Unrecognizedオプション「コーデックを' オプション' codec'_に対して値 'copy'を設定できませんでした。 私は 'vcodec'オプションで試してみました。返信する: __ストリームがストリーム0で非単調に増加するdtsからmuxerへのアプリケーションが無効です:50> = 50_ – Jonathan

+0

@Jonathan実際のffmpegコマンドと完全なffmpegコンソール出力を表示する必要があります。 – LordNeckbeard

+0

ffmpegの代わりにavconvを使用するのに役立つ簡単なメモ:avconvは実際には最初の正確なコマンドライン "Stream Copy"をそのままの状態で "ffmpeg"を 'avconv'私のために完全にうまくいった。 HTH! –

関連する問題