FFmpegで個人的によく使うコマンド一覧

FFmpegという便利なフリーソフトがあります。
コマンドでmp4やmov、gifなどの動画ファイルが簡単にファイル形式変換/トリミング/クロップ/解像度変更などできる優れものです。

公式サイトはこちら
https://ffmpeg.org/

完全に自分のための備忘録ですが、個人的によく使うコマンドをまとめておきます。

動画の画面サイズ(解像度)を変更したり、gif動画に変換したりすることが多い人なら参考になるかもです。

mp4やmovをgifに変換する

ffmpeg -i input.mp4 -r 20 output.gif
ffmpeg -i input.mov -r 20 output.gif

-r の後にフレームレートを指定。

動画の画面サイズ(解像度)変更

ffmpeg -i input.mp4 -vf scale=400:-1 output.mp4

-vf の後に変更後のサイズを指定。

scale=[横px][縦px]で、アスペクト比を固定して自動的に決めたい方を-1にする。
上記だと横が400pxになり、縦はアスペクト比を固定して自動調整。

mp4やmovを綺麗で容量の小さいgifに変換する

ffmpeg -i input.mp4 -filter_complex "[0:v] fps=20,scale=400:-1,split [a][b];[a] palettegen [p];[b][p] paletteuse" output.gif

gif変換で使うのは大体これ。

こちらの記事を参考にした
https://qiita.com/yusuga/items/ba7b5c2cac3f2928f040

フェードさせる

ffmpeg -i input.mp4 -vf fade=t=in:st=0:d=2,fade=t=out:st=8:d=2 output.mp4

開始時(0秒)から2秒かけてフェードインし、8秒時点から2秒かけてフェードアウトする。
全体で10秒の動画用。

再生速度を変更する

ffprobe -i input.mp4 -vf setpts=PTS/2.0 -af atempo=2.0 output.mp4

再生速度を2倍にする。
音声は高くなる。

動画情報を見る

ffprobe -i input.mp4

ffmpegでも見ることはできるけど、引数を指定してないエラー文なのでffprobeを使った方が良い。

いろいろ出てくる中に

Stream #0:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1006x566 [SAR 1:1 DAR 503:283], 223 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc (default)

という記述があるので、ここで画面サイズ(解像度)やフレームレートが確認できる。
この場合だと画面サイズが1006×566、フレームレートが30fps。

コメント