ffmpeg : images to mp4 -> exact framerate required

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

ffmpeg : images to mp4 -> exact framerate required

Lars Michaelis
Hi,

I'm creating a mp4 file from several images by following ffmpeg call.

     ffmpeg.exe -y -framerate 25 -i img_%08d.png -vcodec libx264 -pix_fmt
yuv420p -preset veryslow -crf 25 out.mp4

Each image displays a timestamp in milliseconds(for output framerate =
25 fps).

img_00000000.png => 0
img_00000001.png => 40
img_00000002.png => 80
img_00000003.png => 120
img_00000004.png => 160
img_00000000.png => 240
img_00000000.png => 320
img_00000000.png => 360

and so on.

The problem is, I need an exact framerate of 25 fps, this means every
40ms the image shall change.

But when I am playing the created video and pause inbetween, I can see a
time difference of up to 200ms between the playtime and the time
dispalyed in the video itself. Allowed is only gap of 40ms. I checked
with different players, so the problem is in the video itself.

I tried several different options, but could not solve this.

Is there any parameter available, which ensures, that each picture is
shown exactly 40 ms.

Thanks





_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: ffmpeg : images to mp4 -> exact framerate required

Carl Eugen Hoyos-2
2019-03-14 19:04 GMT+01:00, Lars Michaelis <[hidden email]>:
> Hi,
>
> I'm creating a mp4 file from several images by following ffmpeg call.
>
>      ffmpeg.exe -y -framerate 25 -i img_%08d.png -vcodec libx264 -pix_fmt
> yuv420p -preset veryslow -crf 25 out.mp4

Complete, uncut console output missing.

> Each image displays a timestamp in milliseconds(for output framerate =
> 25 fps).
>
> img_00000000.png => 0
> img_00000001.png => 40
> img_00000002.png => 80
> img_00000003.png => 120
> img_00000004.png => 160
> img_00000000.png => 240
> img_00000000.png => 320
> img_00000000.png => 360
>
> and so on.
>
> The problem is, I need an exact framerate of 25 fps, this means every
> 40ms the image shall change.

This is - as far as the output video is concerned - guaranteed by
your command line.

> But when I am playing the created video and pause inbetween, I can see a
> time difference of up to 200ms between the playtime and the time
> displayed in the video itself.

I don't understand how you pause the video and - at the same time -
can measure a time difference in a video.

Please elaborate, Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".