メモ:ffmpegのオプション

ffmpegで個人的によく使うオプションのメモ。

  • -i 入力ファイル名 :入力ファイルの指定
  • -r 29.97 :フレームレートの変換
  • -vf scale=1280:-1 :リサイズ(横:縦、自動で設定したいほうを -1)
  • -af volume=-6dB :音声のレベル調整
  • -af dynaudnorm :音量の自動調整 (動的正規化)
  • -an :音声無し
  • -ss 3 :3秒目から
  • -to 10 :10秒目まで
  • -t 10 :10秒間

ffmpeg -i input.mp4 -r 29.97 -af volume=-6dB output.mp4

ノイズ除去のオプションの例

ffmpeg -i input.mp4 -af "asplit[a][b],[a]adelay=32S|32S[a],[b][a]anlms=order=128:leakage=0.0005:mu=.5:out_mode=o,dynaudnorm" output.mp4
  • asplit[a][b] :音声を a, b 2つの出力に分岐する
  • [a]adelay=32S|32S[a] :a の左右のチャンネルを各々32サンプル遅延させて a に出力する
  • [b][a]anlms :a を使って b に正規化LMSアルゴリズムを適用する
    • order=128 :フィルタ次数
    • leakage=0.0005 :漏れ係数
    • mu=.5 :適応ステップサイズ μ
    • out_mode=o :フィルタ結果を出力
  • dynaudnorm :音量の自動調整

動画の連結

連結したい動画ファイルを各行に記述したテキストファイルを作る。ここでは list.txt という名前にする。

file input1.mp4
file input2.mp4

下記のコマンドを実行する。

ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4
  • ただし連結する元動画のコーデックが同一の場合。
    異なるコーデックの動画を結合したい場合は -c copy を外す。
  • -safe 0 は list.txt でのファイルの指定に相対パスを許可するために必要。