2017/02/16
動画を切り出してアニメーションGIFを作る方法
Android で Custom Progress Bar を作る方法 を書いてて、アニメーションGIF を作った時の備忘録。
結局、ffmpeg で全フレームを静止画に変換し、各フレームを ImageMagick で処理してから、アニメーションGIFに変換するのがベストという結論に。
ffmpeg で全フレームを静止画にする
1 | $ ffmpeg -i input.mp4 -r 15 %03d.bmp |
-r
はフレームレート
ImageMagick で変換する
切り出すなら crop
、サイズ変換なら resize
等で変換する1。
1 2 | $ mkdir out $ convert -crop 500x500+120+120 '*.bmp' out/%03d.bmp |
ImageMagick は連番処理機能を備えているので、こういう時便利。
ただし、ffmpeg が 1
からの連番なのに対し、ImageMagick は 0
からの連番になるため、ファイル名が一致しないのには注意。
今回の件では、この後 アニメーションGIFに変換しちゃうのでズレても関係ないけど。
参考
ImageMagick でアニメーションGIFにする
ImageMagick にはアニメーションGIF の作成機能もある。
1 2 | $ cd out $ convert -delay 6 *.bmp animation.gif |
なお、-delay
の単位は 1/100
秒。
よって、100 / フレームレート[fps]
で求めることが出来る。
0 件のコメント:
コメントを投稿