複雑なフィルターを使用して複数のオーディオ ファイルを連結する方法はわかりましたが、結果ファイル内のオーディオのオフセットに苦労しています。たとえば、連結した各ファイルの間に 1 秒の無音のギャップを追加したいのですが、FFmpeg で可能ですか?
答え1
ヌルオーディオストリームを生成し、トリムして挿入します。
3つのオーディオファイルがあり、それぞれ1秒と3秒の間隔を空けたい場合は、次のようにします。
ffmpeg -i 1.mp3 -i 2.mp3 -i 3.mp3 -f lavfi -i anullsrc -filter_complex \
"[3]atrim=duration=1[g1];[3]atrim=duration=3[g2];
[0][g1][1][g2][2]concat=n=5:v=0:a=1" out.mp3
入力もトリミングする必要がある場合は、
ffmpeg -i 1.mp3 -i 2.mp3 -i 3.mp3 -f lavfi -i anullsrc -filter_complex \
"[0]atrim=duration=20[t0];[1]atrim=duration=120[t1];[2]atrim=duration=45[t2];
[3]atrim=duration=1[g1];[3]atrim=duration=3[g2];
[t0][g1][t1][g2][t2]concat=n=5:v=0:a=1" out.mp3