4

GIF画像があります。MP4に変換しようとしています。

ffmpeg -f image2 -r {delay_time_of_gif_between_each_frame}/1 -i temp/%05d.png -vcodec libx264 video.mp4

この MP4 は、元の GIF と比較すると同じ速度で実行されていません。同じ速度で実行するにはどうすればよいですか?

-rプロパティを間違えているようです。私はそれで遊んだが、何も役に立たない。私もそれを削除しました。それでもうまくいきません。

4

2 に答える 2

2

後続のフレーム間の遅延時間がすでにわかっている場合は、その逆数を使用してフレームレートに変換する必要があります。たとえば、各フレーム間の時間が40ms(または0.04s)の場合、逆数は1を0.04で割った値、つまり25fpsになります。

フレーム間の時間を1で割ることはできません。1で割ると以前と同じ結果が得られるからです。

したがって、これらのいずれかを再試行してください。

ffmpeg -f image2 -r 1/0.04 -i temp/%05d.png -c:v libx264 out.mp4
ffmpeg -f image2 -r 25 -i temp/%05d.png -c:v libx264 out.mp4

とにかくデフォルトの入力フレームレートimage2は25ですが、これは説明のためだけのものであることに注意してください。

また、入力ファイルの-r 後に置くことで、出力ビデオのフレームレートを変更することもできます。これにより、違いが生じるはずです。

ffmpeg -f images -i temp/%05d.png -c:v libx264 -r 25 out.mp4
于 2013-01-29T15:51:37.883 に答える
2

この質問はやや古いですが:

現在のバージョンの ffmpeg では、gif 画像の情報に従ってフレーム間の遅延が自動的に決定されるため、コマンドでフレーム レートを設定する必要はありません。

于 2014-07-13T15:13:25.573 に答える