FFmpegとは
FFmpegは動画と音声を変換することのできるソフト
オプションがとても多く、細かい調整が可能
公式document
GIF画像やTwitter用の動画作成に便利です
mov → gif 変換後
cat.mp4
↓
cat.gif
インストール
$ brew install ffmpeg
スマホサイズに変換
# mp4を 横幅320に合わせた 10fpsのgifに変換
$ ffmpeg -i base_file.mp4 -vf scale=320:-1 -r 10 output.gif
基本的な変換
-i
インプットオプション
$ ffmpeg -i base_file.mp4 output.gif
綺麗なgifになるが、元動画の倍の容量になった
フレームレート
-r
オプションで指定
$ ffmpeg -i base_file.mp4 -r 10 output.gif
指定しないとそのままのフレームレートで変換する模様
gifの容量を小さくするなら、fpsを調整すれば手っ取り早い
-r 10 → -r 5
にすれば容量も半分になります
ビットレート
$ ffmpeg -i base_file.mp4 -vf scale=320:-1 -b:v 1.0M output.gif
リサイズ(固定比)
-vf
オプションで指定
-vf scale=320:-1
で横幅320に合わせて縦幅を調整
$ ffmpeg -i base_file.mp4 -vf scale=320:-1 output.gif
スマホ等はこれでおkかと。
リサイズ(サイズ指定)
-s
オプションで指定
$ ffmpeg -i base_file.mp4 -s 320x640 output.gif
簡略名で指定することも可能
-s qvga
-s vga
-s sqcif
-s qcif
Twitter用に動画を変換(mp4→mp4)
【公式仕様】
MP4(H264形式、AAC音声)をサポート。
サイズは最大512MB
長さは2分20秒以下
最小解像度: 32 x 32
最大解像度: 1920 x 1200(および1200 x 1900)
縦横比: 1:2.39~2.39:1の範囲(両方の値を含む)
最大フレームレート: 40fps
最大ビットレート: 25Mbps
$ ffmpeg -i base_file.mp4 -pix_fmt yuv420p -vcodec h264 -acodec aac -strict experimental output.mp4
サイズと長さが範囲内ならこれでいけるはず(アップまで試してないです)
元動画を圧縮
$ ffmpeg -i input.mp4 -c:v libx264 -c:a aac -s 1280x720 output.mp4
指定した秒数で切り取り
// 0秒地点から30秒を切り取る
$ ffmpeg -i hoge.mp4 -ss 0 -t 30 hoge2.mp4
動画から音声のみをカット
// -an はオーディオを disable にするオプション
$ ffmpeg -i hoge.mp4 -vcodec copy -an hoge2.mp4
対応する拡張子
302 669 722 3g2 3gp a64 aa3 aac abc ac3 adf adp adts adx aea afc aif aifc aiff amf amr ams ans ape apl aqt art asc asf
ass ast au avi avr avs bin bit bmp bmv brstm caf cavs cdata cdg cdxl cgi cif daud dbm dif diz dmf dnxhd dpx drc dsm dtk
dts dtshd dv dvd eac3 ext f4v fap far ffm ffmeta flac flm flv g722 g723_1 g729 gif gsm gxf h261 h263 h264 hevc ice ico
idf idx ircam isma ismv it itgz itr itz ivf jls jpeg jpg js jss latm lbc ljpg loas lvf m1v m2a m2t m2ts m2v m3u8 m4a m4v
mac mdgz mdl mdr mdz med mid mjpeg mjpg mka mkv mlp mmf mod mov mp2 mp3 mp4 mpa mpc mpeg mpg mpl2 mt2 mtm mts mvi mxf mxg
nfo nist nut ogg ogv okt oma omg opus paf pam pbm pcx pgm pgmyuv pjs png psm psp ptm pvf qcif ra rco rcv rgb rm roq rsd rso
rt s3gz s3m s3r s3z sami sbg sdr2 sf shn smi son sox spdif sph spx srt ssa stm sub swf tak tco thd ts tta txt ult umx v
vb vc1 viv vob voc vqe vqf vql vt vtt w64 wav webm wma wmv wtv wv xl xm xmgz xmr xmz y4m yop yu
参考
ffmpegの使い方
GithubやQiitaに載せるgif形式の動画を作成する方法
基本操作
オプションまとめ
動画圧縮する時ってみなさんどうしてます?
ffmpeg -an で撮影済みビデオの音を消去
最後に
フリーソフトのConvertioなどでも変換可能ですが、
TwitterなどのSNSにあげるものは、FFmpegなどで公式上限までクオリティを上げた高品質な物を公開していきたいですね