[Libav-user] Questions about transcoding h264 and h265

Vassilis bpantazhs at gmail.com
Sun Dec 29 08:05:51 EET 2019


>
> 3) After I transcoded with my code
> <https://github.com/leandromoreira/ffmpeg-libav-tutorial/blob/transcoding/2_transcoding.c>
> I'm getting a 60.11 fps while the original video has fixed 60fps, why this
> usually happens?
>
> While I am not able to .help you with the two first issues I think I may
have an idea for the third. This seems like an issue I faced with my own
attempt at transcoding video and a fix was suggested by a member of this
mailing list (thanks James). You need to set the AVPacket duration field,
otherwise this issue is present. This would mean adding something in the
lines of the following line of code before your av_interleaved_write_frame
is called:

// for example, if 25 FPS, and time_base is 12800, then packet.duration =
12800 / 25 = 512
output_packet.duration =
format_context->streams[stream_index]->time_base.den /
format_context->streams[stream_index]->time_base.num /
format_context->streams[stream_index]->avg_frame_rate.num *
format_context->streams[stream_index]->avg_frame_rate.den;

 /* mux encoded frame */
    ret = av_interleaved_write_frame(format_context, output_packet);

Hope this helps!

Vas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20191229/aa0aef2a/attachment.html>


More information about the Libav-user mailing list