2016-06-16 5 views
1

オーディオとビデオのトラック時間が常に同じビデオファイルが必要です。ソースオーディオにオーディオトラックがない場合でも、ファイルにオーディオトラックが含まれている必要があります。ソースにオーディオトレースがない場合、サイレントオーディオトラックを追加するようにffmpegに指示するにはどうすればいいですか?また、ソースにビデオとは異なる長さのオーディオトラックがある場合、出力オーディオとビデオの両方を同じ時間にするために静かなオーディオを追加するにはffmpegが必要です。これはffmpegと1行で可能ですか?ffmpeg - ソースにオーディオがないかオーディオがソースビデオよりも短い場合、サイレントオーディオトラックを出力します。

答えて

4

ソースファイルにオーディオ**がない場合、以下のコマンドはビデオと同じ長さ*のサイレントトラックを追加します。

ffmpeg -i video -f lavfi -i anullsrc=cl=1 -shortest -c:v libx264 -c:a aac output.mov 

通常、ビデオフレームの持続時間とオーディオフレームの継続時間は同じではないため、長さはまったく同じではありません。

** mapが指定されていない場合、ffmpegは最高のチャンネル数を持つ入力の中から1つのオーディオストリームを選択します。同じ番号のストリームが2つ以上ある場合。チャネルのうち、最も低いインデックスのストリームを選択します。 anullsrcには1つのチャンネルがあるので、ソースにオーディオがない場合を除いて、それは渡されます。

+0

いいえ、ソースオーディオを渡す必要があります(存在しない場合は追加します)。 – TK3

+0

編集したコマンドを参照してください。 – Mulvya

+0

-f lavfiについて説明できますか?入力フォーマットに関係なく、.movコンテナにh264を出力する必要があります。 – TK3

関連する問題