389
273

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

FFmpegで動画をGIFに変換

Last updated at Posted at 2017-09-20

FFmpegとは

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

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

mov → gif 変換後

cat.mp4

cat.gif
cat.gif

インストール

ターミナル
$ brew install ffmpeg

スマホサイズに変換

ターミナル
# 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

リサイズ(固定比)

-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

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

元動画を圧縮

$ 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などで公式上限までクオリティを上げた高品質な物を公開していきたいですね

389
273
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
389
273

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?