ついでに、ImageMagickも使ってアニメーションGIFを作ってみます。
この動画を。
アニメーションGIFに変換します。
動画ファイル -> 1コマづつのPNGファイル生成 -> アニメーションGIFという流れです。以下、作業ログです。
yumライブラリをインストール
# yum -y install autoconf automake make gcc gcc-c++ pkgconfig wget libtool zlib-devel # yum -y install git # yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # yum -y install --enablerepo=epel yasmx264 をインストール
# cd /usr/local/src # git clone git://git.videolan.org/x264 # cd x264 # ./configure --enable-shared # make # make installfdk-aac をインストール
# cd /usr/local/src # git clone --depth 1 git://github.com/mstorsjo/fdk-aac.git # cd fdk-aac # autoreconf -fiv # ./configure # make # make installライブラリパスを設定
$ export LD_LIBRARY_PATH=/usr/local/lib/ $ echo /usr/local/lib >> /etc/ld.so.conf.d/custom-libs.conf $ ldconfigffmpeg のインストール
# cd /usr/local/src # git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg # cd ffmpeg # ./configure --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libx264 --enable-shared --arch=x86_64 --enable-pthreads # make # make install # ffmpeg -version ffmpeg version N-70803-g0f16dfd Copyright (c) 2000-2015 the FFmpeg developers built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-11) configuration: --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libx264 --enable-shared --arch=x86_64 --enable-pthreads libavutil 54. 20.100 / 54. 20.100 libavcodec 56. 28.100 / 56. 28.100 libavformat 56. 25.101 / 56. 25.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 12.100 / 5. 12.100 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc 53. 3.100 / 53. 3.100ffmpegの動作確認として、動画サイズを変更するようにエンコードを実行してみます。
# ffmpeg -i /tmp/sample.mp4 -s 200x150 \ -vcodec libx264 -profile:v baseline -preset:v slower \ -b:v 300k -maxrate 300k -minrate 300k -bufsize 1000k \ -ac 2 -c:a libfdk_aac -b:a 64k /tmp/encoded_sample.mp4ffmpegがエンコードしたファイルを確認してみてください。指定したとおりにエンコードされているでしょうか?
ImageMagickをインストール
# yum -y install ImageMagick ImageMagick-devel
やっと準備が出来ました。
アニメーションGIFを作ってみましょう。
動画ファイルをPNGファイルに変換
# ffmpeg -i /tmp/sample.mp4 -an -r 15 -s 160x90 /tmp/%05d.pngPNGファイルをアニメーションGIFに変換
# convert /tmp/*.png sample.gifうまく変換できたでしょうか?
FFmpeg + ImageMagickさえインストールしてしまえば、2コマンドで処理が済みました。かなりお手軽な感じがしていいですね。
FFmpegは、ビルド済みのバイナリファイルが公開されているので、こちらを使っても良いとおもいます。
FFmpeg Static Builds
https://johnvansickle.com/ffmpeg/
参考資料
CompilationGuide/Centos – FFmpeg
https://trac.ffmpeg.org/wiki/CompilationGuide/Centos
Encode/H.264 – FFmpeg
https://trac.ffmpeg.org/wiki/Encode/H.264
CentOS6.xにFFmpegをインストールする - Code Life
http://blog.code-life.net/blog/2013/04/14/how-to-install-ffmpeg-on-centos6-x86-64/
どーもくん ギターを弾きまくる 白バック素材:素材をさがす:NHKクリエイティブ・ライブラリー
http://www1.nhk.or.jp/creative/material/dd/D0002040236_00000.html
Top image from "NASA's James Webb Space Telescope Light Fantastic: Laser at Inner Harbor Beams Hubble's Heartbeat".