使い方

横幅が 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

参考:

.mov を GIF に変換 – Qiita

FFmpeg で動画を GIF に変換 – Qiita

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.pngimage_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 アニメをキレイに作成/容量も小さくする方法 | アイデアノート

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]

FFmpeg’s native WebP muxer always sets ALPHA_FLAG to be true in VP8X chunk #5431 | FFmpeg Trac [Official]

WebP animation to GIF animation – Unix & Linux Stack Exchange

部分的に切り出す

  • フィルターオプションを使う。
    • crop
    • scale

参考:

FFmpeg で動画から綺麗な GIF アニメーションを作成する | Askthewind’s diary

まとめ/Tips

FFmpeg で連番画像から動画生成/動画から連番画像を生成/コマ落ちを防ぐには – Qiita

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA