透過アニメーションの作り方
初めに,プレビュー.appなどで背景を透過させた画像を作成しておく。
---
一枚のGIFを作る場合 (適切なパレットを生成)
ffmpeg -i in.png -vf palettegen palette.png &&
ffmpeg -i in.png -i palette.png -filter_complex paletteuse out.gif
ーーー
連番画像からGIFアニメを生成 (パレット生成)
ffmpeg -i %d.png -vf palettegen palette.png &&
ffmpeg -f image2 -r 1 -i %d.png -i palette.png -filter_complex paletteuse out.gif
一コマンドで
ffmpeg -f image2 -r 1 -i %d.png -filter_complex "split [a][b];[a] palettegen [p];[b][p] paletteuse" out.gif
フレームレート -r 1.7くらいが好き
プレビュー.appでGIF画像を編集できる。
---
GIFアニメの場合
1.アスペクト比の等しい画像を作成しておく
透過画像.png
(↑デスクトップにおいてあるファイルを選択してスクショして作った)
の上に対象の画像を重ね合わせるなどして作成
ファイル
0.pngは全面透過画像にして 後でプレビュー.appで取る
1.pngからGIFにしたい画像にした
2.下記コマンドを実行
ffmpeg -i %d.png -vf palettegen palette.png &&
ffmpeg -f image2 -r 1 -i %d.png -i palette.png -filter_complex paletteuse out.gif
Error marking filters as finished というエラーが出て,生成されたGIF画像は空ファイルになることがある。その場合は下の方法もしくは
0.pngの透過画像はなし(削除)で
1.pngから上のコマンドを実行する。
---
連番 → AVI動画 → GIFアニメ
2.連番画像からavi動画生成
ffmpeg -loop 1 -r 1 -i %d.png -t 10 -vcodec copy anime.avi
-framerate 1
-r 1 フレームレートは1fps
-t 10 10秒
3.動画からGIFアニメーション生成
ffmpeg -i anime.avi -c:v gif -r 7 -f gif out.gif
参考
http://fftest33.blog.fc2.com/blog-entry-69.html
---
動画からGIFアニメーションを生成
ffmpeg -i in.mp4 out.gif
-
WebPアニメーション
ffmpeg -i in.mp4 -vcodec libwebp -lossless 0 -qscale 75 -preset default -loop 0 -an -vsync 0 out.webp
APNG
APNG Assembler
http://apngasm.sourceforge.net/
brew install apngasm
で入る
apngasm renban*.png 1 10 -l2
1 10: フレームレート 10fps
ループ数2
使い方よく分からないけど、 GUIアプリもある。
-
ーーー
アニメ画像に変換する君.app というGUIアプリもある。
APNG, WebP, HTMLを作れる。