無音状態から音量を次第に上げる(フェードイン)と、次第に下げて(フェードアウト)無音状態にするafade
フィルタの使い方。
映像はこちら:フェードイン、フェードアウトの設定ができる fade
クロスフェードはこちら:
入力した2つの音声にクロスフェードをかける acrossfade の使い方
curveの実装について:
フェードトランジションのカーブを別フィルタに実装する
soxでのフェード:
Cut and fade at start and end of mp3 with ffmpeg or sox – Stack Overflow
基本コマンド
最初から2秒間でフェードインする。
ffmpeg -i input -af "afade=t=in:st=0:d=2" -c:v copy output
最初から1分経過した後に3秒間フェードアウトする。H:M:S形式は:をエスケープする。
ffmpeg -i input -af "afade=t=out:start_time=00\\:01\\:00:d=3" -c:v copy output
最初から480,000サンプル経過した後に48,000サンプル、フェードアウトする。
ffmpeg -i input -af "afade=t=out:ss=480000:st=48000" -c:v copy output
フェードのカーブをlogに変える。
ffmpeg -i input -af "afade=t=in:st=0:d=2:curve=log" -c:v copy output
4秒経過してから1秒間、1入力目の音声から2入力目の音声へクロスフェードする。2つの音声はamix
フィルタで1つにまとめる。
ffmpeg -i audio1 -i audio2 -filter_complex "[0:a]afade=t=out:st=4:d=1,asetpts=PTS-STARTPTS[0a];[1:a]afade=t=in:st=4:d=1,asetpts=PTS-STARTPTS[1a];[0a][1a]amix" output
公式ドキュメント:FFmpeg Filters Documentation : afade
オプション
- type, t[int]
フェードタイプの指定 - 0, in
フェードイン。既定値 - 1, out
フェードアウト - start_sample, ss[int64]
フェード効果が始まる開始サンプル数
既定値:0
範囲:0 から I64_MAX まで - nb_samples, ns[int64]
フェード効果の継続サンプル数
既定値:44100
範囲:1 から I64_MAX まで - start_time, st[duration]
フェード効果が始まる開始秒
既定値:0 - duration, d[duration]
フェード効果の継続秒
既定値:0 - curve, c[int]
フェードカーブのアルゴリズム指定。詳しくは AfadeCurves – FFmpegを参照 - 0, tri:既定値
- 1, qsin
- 2, esin
- 3, hsin
- 4, log
- 5, ipar
- 6, qua
- 7, cub
- 8, squ
- 9, cbr
- 10, par
- 11, exp
- 12, iqsin
- 13, ihsin
- 14, dese
- 15, desi
- 16, losi
- 17, sinc
- 18, isinc
- silence[double]
無音のゲイン指定
既定値:0
範囲:0 から 1 まで - unity[double]
unityのゲイン指定
既定値:1
範囲:0 から 1 まで