.movを.gifに変換しようとしていますが、成功していません。
これがエラーです。
ffmpeg -pix_fmt rgb24 -i yesbuddy.mov output.gif
ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers
built on Jun 12 2012 17:47:34 with clang 2.1 (tags/Apple/clang-163.7.1)
configuration: --prefix=/usr/local/Cellar/ffmpeg/0.11.1 --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-libfreetype --cc=/usr/bin/clang --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-librtmp --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libass --enable-libvo-aacenc --disable-ffplay
libavutil 51. 54.100 / 51. 54.100
libavcodec 54. 23.100 / 54. 23.100
libavformat 54. 6.100 / 54. 6.100
libavdevice 54. 0.100 / 54. 0.100
libavfilter 2. 77.100 / 2. 77.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
Option pixel_format not found.
-pix_fmt rgb24の部分を省略すると、文句を言います。修正する方法についての考え?
コマンドライン引数の順序は重要です。このコマンドラインは動作するはずですが、巨大なファイルを生成します。
ffmpeg -i yesbuddy.mov -pix_fmt rgb24 output.gif
変換するときにフレームレートとサイズを減らし、開始時間と長さを指定することをお勧めします。あなたはおそらく元の解像度とフレームレートでファイル全体を変換したくないでしょう。
ffmpeg -ss 00:00:00.000 -i yesbuddy.mov -pix_fmt rgb24 -r 10 -s 320x240 -t 00:00:10.000 output.gif
ファイルサイズはまだ大きくなります。 ImageMagick のGIFオプティマイザを使ってサイズを減らすことができます。
convert -layers Optimize output.gif output_optimized.gif
変換後:
ffmpeg -i input.mp4 input.gif
フレームを最適化してみてください。
convert input.gif -verbose -coalesce -layers OptimizeFrame input_optframe.gif
そしてgifsicle
を使って最終的な最適化を行います。
gifsicle -O2 input_optframe.gif -o optimized.gif
ほぼ同じ品質で12.2メガバイトのビデオから6.8メガバイトのGIFを得た!
FFmpeg、ImageMagick、およびgiflossyを1行にインストールできる使いやすい単一のコマンドラインプログラムにまとめたツールを作成しました。 https://github.com/vvo/gifify
GIFのサイズ変更方法や開始/終了時間の変更方法を理解するために3つのドキュメントWebサイトを閲覧するのに多くの時間を費やすのではなく、ビデオ=> GIFを使用して喜んで使用することをお勧めします。
ffmpeg -y -i input.mp4 -f image2pipe -vcodec ppm - | convert -delay 2 -loop 0 -layers Optimize - gif:- | gifsicle -d 3 -O3 -o optimized.gif
最初にffmpegを使用してmp4ファイルをパイプ経由で画像に変換し、次にimagemagickを使用してそれをgifに圧縮し、最後にgifsicleで最適化します
Gifscicleを直接使用してもうまくいかない理由はわかりません。
または、これでGIFを小さくすることができます
convert -dither none -Matte -depth 8 -deconstruct -layers optimizePlus -colors 32 in.gif out.gif