変換 – どのようにffmpegで.movを.gifに変換することができますか?

conversion ffmpeg gif

私は.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の部分を省くと文句が出ます。修正方法はありますか?

  121  Daniel Fischer  2012-06-13


ベストアンサー

コマンドラインの引数の順番は重要です。このコマンドラインは動作するはずですが、巨大なファイルを生成します

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

185  PleaseStand  2012-06-13


After converting:

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.2mbのビデオから6.8mbのGIFを取得しました!

19  Alexey Kozhevnikov  2014-11-05


FFmpeg、ImageMagick、giflossyを一行でインストールできる使いやすいコマンドラインプログラムにまとめたツールを作ってみました。https://github.com/vvo/gifify

私はビデオを回すことを喜んで誰もが => GIFを使用する代わりに、GIFのサイズを変更したり、開始/終了時間を変更する方法を理解するために3つのドキュメントのウェブサイトを閲覧する多くの時間を過ごそうとすることをお勧めします

10  vvo  2016-09-16


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

3  Shuman  2016-04-04


ffmpeg -i <input source> -filter_complex "[0:v] fps=12,scale=<width>:-1,split [a][b];[a] palettegen [p];[b][p] paletteuse" <output file>

このコマンドには 3 つのトークンがあります。<input source>your-recording.mov のようなもの、<width> は最終的な gif の幅、<output file>recording.gif のようなものです

このコマンドは意味を分解します

  • filter_complexいくつかのフィルターを一緒にチェーンしていくことになります
  • [0:v] fps=12 コンテナ内の最初のビデオストリームを毎秒12フレームで取る
  • scale=1024:-1 幅1024にリサイズし、高さはアスペクト比を保つ
  • split [a][b] 現在のストリームを取り、2つに分割する(基本的にはクローンにする)
  • ; 新しいフィルタが入ってきました
  • [a] palettegen [p] “a “ストリームを取り、”p “というカラーパレットを生成します
  • ; 新しいフィルタが入ってきました
  • [b][p] paletteuse “b “のストリームを取り、”p “のカラーパレットを適用する

カラーパレットのものは、画面の録画には必ずしも必要ではありませんが、録画したビデオのためのより良い色を持っていることは間違いなく必要とされています

また、必要に応じて-ss 00:00:00.000-t 00:00:00.000を差し込むこともできますが、同様にクリッピングする場合には、-ss 00:00:00.000-t 00:00:00.000を差し込むこともできます

3  RyanHirsch  2019-11-14


タイトルとURLをコピーしました