Raja
Raja

Reputation: 368

How can I convert these Blender video settings to ffmpeg please?

Whenever I use the ffmpeg commands, the video is larger and the seeking/keyframe inteval is not the same as the video rendered from Blender. How can I convert the following Blender settings to ffmpeg please?

Blender Settings:

Here's my current command however the seeking and file size is different: ffmpeg -framerate 30 -i %04d.jpg -g 1 -vcodec libx264 video.mp4

Upvotes: 0

Views: 878

Answers (1)

Felixkruemel
Felixkruemel

Reputation: 524

ffmpeg -r 30 -i %04d.jpg -vcodec libx264 -crf 25 -x264-params keyint=30:scenecut=0 -preset veryslow video.mp4

Explanation:

-r 30 befor input pictures will say ffmpeg to use 30 pictures per second

-vcodec libx264 will let ffmpeg encode in plain old H.264

-crf 25 will let the encoder decide on the bitrate for a medium quality (lower it for better quality / higher file size, increase it for worse quality / lower file size. Need to find your right setting there through testing)

-x264-params keyint=30:scenecut=0 will tell the x264 encoder to set a keyframe every 30s frames (here 1s) and to disable scene detection. Be aware that this increases the file size a lot, you should not use a keyframe every second, except for livestreaming. Modern video encoders like AV1 will at most times set a keyframe every 10-20s based on scene detection.

-preset veryslow will use the best libx264 preset available to make the file as small as possible with H.264 (however needs more time to encode). If you want a faster encode but a larger file set it to slow.

Some general opinions from me:

If you don't need compatibility to very old devices rather encode with libx265 or 2-pass libvpx-vp9. This will save you a lot of space without quality loss. libx265 slow is even faster then libx264 veryslow for me.

Upvotes: 1

Related Questions