2016年 10月 30日

FFmpegの使い方

FFmpegとは

FFmpegは動画と音声を変換することのできるソフト
オプションがとても多く、細かい調整が可能
公式document

GIF画像やTwitter用の動画作成に便利です

mov → gif 変換後

hoge.mov(15.1MB)

hoge.gif(2.2MB)

環境

Mac OS X ElCapitan 10.11.5

インストール

Homebrew

パッケージ管理ツールHomebrewをインストール

ターミナル
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

:

Xcodeをインストールしますか? 
install all 的なのを選択

ffmpeg

ターミナル
$ brew install ffmpeg

使い方

TL;DR 結論

スマホサイズは以下でOKです

ターミナル
# mp4を 横幅320に合わせた 10fpsのgifに変換
$ ffmpeg -i base_file.mp4 -vf scale=320:-1 -r 10 output.gif

基本的な変換

-i インプットオプション

base_file.mp4をoutput.gifに変換
$ ffmpeg -i base_file.mp4 output.gif

めっちゃ綺麗なgifになるが、元動画の倍の容量になった

フレームレート

-r オプションで指定

10fps
$ ffmpeg -i base_file.mp4 -r 10 output.gif

指定しないとそのままのフレームレートで変換する模様
gifの容量を小さくするなら、fpsを調整すれば手っ取り早い

-r 10 → -r 5 にすれば容量も半分になります

ビットレート

横幅320
$ ffmpeg -i base_file.mp4 -vf scale=320:-1 -b:v 1.0M output.gif

qiitaだと1MBを超えるものは動かなくなると書いてるが、2.2MBでも動いた

リサイズ(固定比)

-vf オプションで指定
-vf scale=320:-1 で横幅320に合わせて縦幅を調整

横幅320
$ ffmpeg -i base_file.mp4 -vf scale=320:-1 output.gif

スマホ等はこれでおkかと。

リサイズ(サイズ指定)

-s オプションで指定

320x640の場合
$ 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

サイズと長さが範囲内ならこれでいけるはず(アップまで試してないです)

対応する拡張子

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形式の動画を作成する方法
基本操作
オプションまとめ

最後に

フリーソフトのConvertioなどでも変換可能ですが、
TwitterなどのSNSにあげるものは、FFmpegなどで公式上限までクオリティを上げた高品質な物を公開していきたいですね
是非お試しを!

Yoshida e070c695df5d4bbe8e6b800136356dbfb59e78836e5658e2b5f4e4e33df4a66d
Ryo

グルメ旅とお酒が大好きなプログラマー
大阪界隈の勉強会運営もやってます。
趣味はボルダリング

follow us in feedly このエントリーをはてなブックマークに追加