この記事でわかること
afadeフィルタでフェードイン・フェードアウトを行うコマンドt(タイプ)、st(開始時間)、d(継続時間)の意味- カーブタイプ(
tri・sin・exp等)の違い - 動画ファイルの音声トラックに適用する方法
- フェードイン+フェードアウトを1コマンドで組み合わせる方法
テスト済みバージョン: FFmpeg 6.1で確認済み(ubuntu-latest / CI検証済み) 対象 OS: Windows / macOS / Linux
基本コマンド
フェードイン(冒頭を徐々に大きく)
ffmpeg -i input.mp3 -af "afade=t=in:st=0:d=3" output.mp3
| パラメータ | 値 | 説明 |
|---|---|---|
t=in | — | フェードイン |
st=0 | 0秒 | フェード開始位置 |
d=3 | 3秒 | フェードの継続時間 |
フェードアウト(末尾を徐々に小さく)
まず音声の長さを確認します:
ffmpeg -i input.mp3 -f null /dev/null 2>&1 | grep Duration
末尾10秒からフェードアウトする例(全体が60秒の場合):
ffmpeg -i input.mp3 -af "afade=t=out:st=50:d=10" output.mp3
| パラメータ | 値 | 説明 |
|---|---|---|
t=out | — | フェードアウト |
st=50 | 50秒 | フェード開始位置 |
d=10 | 10秒 | フェードの継続時間 |
フェードイン+フェードアウトを同時に適用
-af に複数フィルタをカンマ区切りで記述します:
ffmpeg -i input.mp3 -af "afade=t=in:st=0:d=3,afade=t=out:st=50:d=10" output.mp3
カーブタイプの指定
curve オプションでフェードの形状を変えられます:
ffmpeg -i input.mp3 -af "afade=t=in:st=0:d=3:curve=sin" output.mp3
| カーブ名 | 説明 |
|---|---|
tri | 直線(リニア)。デフォルト |
sin | サイン波カーブ。自然な聴こえ |
exp | 指数関数。急激に変化 |
squ | 二乗カーブ。緩やかに始まり急に変化 |
log | 対数カーブ。最初が急で後が緩やか |
動画ファイルの音声にフェードを適用
ffmpeg -i input.mp4 -af "afade=t=in:st=0:d=2" -c:v copy output.mp4
-c:v copy で映像はそのままコピーし、音声だけを処理します。
映像のフェードイン・フェードアウトと組み合わせる
映像(fade)と音声(afade)を同時に適用:
ffmpeg -i input.mp4 -vf "fade=t=in:st=0:d=2" -af "afade=t=in:st=0:d=2" -c:a aac output.mp4
よくある注意点
フェードアウトの st は音声の実際の長さに合わせる
st + d が音声の長さを超えても問題はありませんが、フェードが途中で切れる場合は長さを確認してください。
-c:v copy との組み合わせで音声のみ再エンコード
映像に変更を加えない場合は -c:v copy で映像の品質を保持したまま音声だけを再エンコードできます。
関連リソース
よく使うオプション・フィルタ・コーデック設定をまとめた PDF チートシートです。手元に置いておくと調べる時間を短縮できます。
関連記事
動作確認: ffmpeg 6.1 / Ubuntu 24.04 (GitHub Actions runner) 一次ソース: ffmpeg.org/ffmpeg-filters.html#afade / trac.ffmpeg.org/wiki/AudioVolume