Mp4またはmv4ビデオファイルをアニメーションGIFに、またはその逆に変換するには、どのコマンドを使用しますか。つまり、アニメーションgifをmp4またはmv4に変換します。
これが私のために働いたものです:
ffmpeg -i animated.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.mp4
movflags–このオプションは、MP4ファイルの構造を最適化して、ブラウザーができるだけ速くロードできるようにします。
pix_fmt– MP4ビデオはピクセルをさまざまな形式で保存します。このオプションは、すべてのブラウザーで最大の互換性を持つ特定の形式を指定するために含まれています。
vf– H.264を使用するMP4ビデオは、2で割り切れるサイズである必要があります。このオプションは、そうであることを保証します。
出典: http://rigor.com/blog/2015/12/optimizing-animated-gifs-with-html5-video
私の場合、ffmpeg
を直接使用してトリックを実行し、最良の結果を提供しました。
$ ffmpeg -f gif -i infile.gif outfile.mp4
"n loops"で出力を作成する場合は、このソリューションを一度に見てください
それでは、normal.gifをloop.mp4に変換してみましょう
for 2 loops映画の例:
ffmpeg -stream_loop 2 -i normal.gif loop.gif -y;ffmpeg -i loop.gif -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" loop.mp4 -y
for 5 loops映画の例:
ffmpeg -stream_loop 5 -i normal.gif loop.gif -y;ffmpeg -i loop.gif -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" loop.mp4 -y
注意してください:-yがあります[上書きのオプション]
MacOsのバージョンは次のとおりです。
$ ffmpeg -i input.avi -pix_fmt yuv420p output.mp4
GIFアニメーションをビデオに変換する別の方法:
ffmpeg -i your_gif.gif -c:v libvpx -crf 12 -b:v 500K output.mp4
-crf値は4〜63です。値が小さいほど品質が高くなります。 -b:vは、許可される最大ビットレートです。値が高いほど品質が高くなります。