[Libav-user] How to handle video muxing to file when real frame rate varies from the specified frame rate

Alexandr Kasyan a.kasyan at ntechlab.com
Thu Sep 2 15:43:07 EEST 2021

Hi, Nuno!

Well, one of the possible approaches is -- set the proper pts for
AVPacket-s you're muxing.
The basic formula is:
uint64_t pts = av_rescale_q(timestamp_ms, AVRational{1, 1000}, time_base);

It's usually time or PTS that's specified for packets (and frame's time is
usually derived from that), so most of the players take that into account
when feeding frames for display.
You can check if your muxing is played at the wrong speed in the first
place, then adjust PTS in code if needed.

Regards, Alex
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20210902/87a23b53/attachment.htm>

More information about the Libav-user mailing list