adelay
フィルタは音声のチャンネル毎に無音の挿入ができたが、このapad
フィルタはまとめて末尾に無音を挿入する。映像は何もしないので無音を挿入すると映像と音声の時間が異なるファイルになる。
音声の先頭に無音を挿入する adelay
映像の前後にフレームを挿入する tpad
基本コマンド
オプション無指定だと無限に無音を挿入するので-tを併用する。
ffmpeg -i audio -af "apad" -t 60 output
音声の末尾に10秒無音を挿入する。
ffmpeg -i audio -af "apad=pad_dur=10" output
入力した音声を含めて300秒(5分)になるように無音を挿入する。
ffmpeg -i audio -af "apad=whole_dur=300" output
ffmpeg -i audio -af 'apad=whole_dur=00\:05\:00' output
音声の末尾に48,000サンプルの無音を挿入する。
ffmpeg -i audio -af "apad=pad_len=48000" output
時間の長い1入力目のファイルに、時間の短い2入力目のファイルの末尾に無音を挿入して同じ時間に揃えて多重化する。
ffmpeg -i audio1 -i audio2 -filter_complex "[1:a]apad[1a]" -shortest -map 0:a:0 -map [1a] -c:a:0 copy -c:a:1 aac output.mkv
公式ドキュメント:FFmpeg Filters Documentation : apad
Both whole and pad length are set, this is not possible
pad_len|pad_durとwhole_len|whole_durを併用すると「Both whole and pad length are set, this is not possible」がでてエラーになる。そのほかにも以下のような時間指定でも同じエラーになる。10秒の音声ファイルに後ろ5秒の無音を挿入する。
ffmpeg -i 10s.wav -af "apad=whole_dur=00:15:00" 15s.wav
ffmpeg -i 10s.wav -af "apad=pad_dur=00:00:05:whole_dur=00:15:00" 15s.wav
ffmpeg -i 10s.wav -af "apad=pad_dur=00:00:05" 15s.wav
逆にこちらはエラーにならない。
ffmpeg -i 10s.wav -af "apad=whole_dur=15" 15s.wav
ffmpeg -i 10s.wav -af "apad=pad_dur=5:whole_dur=00:15:00" 15s.wav
ffmpeg -i 10s.wav -af "apad=pad_dur=5" 15s.wav
このエラーを直すには:をエスケープしなければならない。
ffmpeg -i 10s.wav -af "apad=whole_dur=00\\:15\\:00" 15s.wav
ffmpeg -i 10s.wav -af "apad=pad_dur=00\\:00\\:05:whole_dur=00\\:15\\:00" 15s.wav
ffmpeg -i 10s.wav -af "apad=pad_dur=00\\:00\\:05" 15s.wav
シングルクオートで挟んでいればエスケープは1つでよい。
ffmpeg -i 10s.wav -af 'apad=whole_dur=00\:15\:00' 15s.wav
ffmpeg -i 10s.wav -af 'apad=pad_dur=00\:00\:05:whole_dur=00\:15\:00' 15s.wav
ffmpeg -i 10s.wav -af 'apad=pad_dur=00\:00\:05' 15s.wav
オプション
音声時間よりも短い時間でwhole_len、whole_durを指定すると無音は挿入しない。
- packet_size[int]
パケットサイズの指定
既定値:4096
範囲:0からINT_MAXまで - pad_len[int64]
音声の末尾に挿入するパケット数
既定値:-1(無限)
範囲:1からI64_MAXまで - whole_len[int64]
無音を含めた音声全体のパケット数。pad_lenの方を優先する
既定値:-1(無限)
範囲:1からI64_MAXまで - pad_dur[duration]
音声の末尾に挿入する時間
既定値:0 - whole_dur[duration]
無音を含めた音声全体の時間。pad_durの方を優先する
既定値:0
[…] 音声の末尾に無音を挿入する (apad) | ニコラボ […]
[…] 音声の末尾に無音を挿入する (apad) | ニコラボ […]