使い方
横幅が 320
ピクセルの GIF アニメーションに変換する。
$ ffmpeg -i movie.mp4 -vf scale=320:-1 -r 10 output.gif
長い方の辺が 200
ピクセルのGIF アニメーションに変換する。
$ ffmpeg -i movie.mp4 \ -vf scale=200:200:force_original_aspect_ratio=decrease \ -r 10 output.gif
参考:
FFmpeg でとにかく綺麗な GIF を作りたい – Qiita
ImageMagick と FFmpeg を利用して GIF アニメと MP4 動画を生成してみましょう | 丸ノ内テックブログ
コマンド一発で動画を GIF 画像に変換できる FFmpeg の使い方メモ | virtualiment
FFmpeg で動画から綺麗な GIF 画像/アニメーションを作成する | Askthewind’s diary
How do I convert a video to GIF using ffmpeg, with reasonable quality? – Super User
Using ffmpeg, how can I convert an MP4, crop and resize to GIF? – Super User
フレームの範囲を指定する
60
フレームから 120
フレームを GIF アニメーションに変換する。
$ ffmpeg -i movie.mp4 \ -vf trim=start_frame=59:end_frame=119,setpts=PTS-STARTPTS,scale=320:-1 \ -r 10 output.gif
60
フレーム以降を GIF アニメーションに変換する。
$ ffmpeg -i movie.mp4 \ -vf trim=start_frame=59,setpts=PTS-STARTPTS,scale=320:-1 \ -r 10 output.gif
参考:
Slice a video with ffmpeg based on frame position – Stack Overflow
How to trim video by multiple frame numbers then concatenate using FFMPEG – Stack Overflow
連番画像から作成する
image_001.png
、image_002.png
、… のような PNG 形式の連番画像から GIF アニメーションを作成する。
$ ffmpeg -framerate 10 image_%03d.png output.gif
参考:
FFmpeg をつかって連番画像から GIF アニメを生成する | みかづきブログ
FFmpeg で複数の画像から GIF を作る方法 | そうだ!研究しよう
FFmpeg で動画を静止画の連番ファイルにするバッチファイルが意図した動作をしない/「%」のエスケープが必要だった | middledot
パレットを使用する
全フレーム共通の256色パレットを使用する GIF を作成する。
$ ffmpeg -i movie.mp4 -vf "fps=10,scale=320:-1,split[a][b];[a]palettegen[c];[b][c]paletteuse" output.gif
フロイド・スタインバーグ式のディザリングを用いる。(通常よりファイルサイズを圧縮できる。)
$ ffmpeg -i movie.mp4 -vf "fps=10,scale=320:-1,split[a][b];[a]palettegen[c];[b][c]paletteuse=dither=floyd_steinberg" output.gif
ディザリングなしで作成する。(全体的にフラットな動画に向いている。)
$ ffmpeg -i movie.mp4 -vf "fps=10,scale=320:-1,split[a][b];[a]palettegen[c];[b][c]paletteuse=dither=none" output.gif
参考:
FFmpeg でとにかく綺麗な GIF を作りたい – Qiita
palettegen / paletteuse – FFmpeg で256色を最適化する | ニコラボ
FFmpeg で GIF アニメをキレイに作成/容量も小さくする方法 | アイデアノート
paletteuse を使い GIF を生成するとマウスカーソルが透明になってしまう – スタック・オーバーフロー
palettegen – Filters | FFmpeg Documentation [Official]
paletteuse – Filters | FFmpeg Documentation [Official]
アニメーション WebP
参考:
FFmpeg でアニメーション WebPを作る | ニコラボ
FFmpeg で動画をアニメーション GIF / WebP へ変換する手順 | COFUS 技術ブログ
Convert MP4 file to animated WebP (witmin) – GitHub Gist
libwebp – Codecs | FFmpeg Documentation [Official]
Support decoding animated WebP images #4907 | FFmpeg Trac [Official]
Transparency broken when encoding animated WebP #7941 | FFmpeg Trac [Official]
WebP animation to GIF animation – Unix & Linux Stack Exchange
部分的に切り出す
- フィルターオプションを使う。
crop
scale
参考:
FFmpeg で動画から綺麗な GIF アニメーションを作成する | Askthewind’s diary