Hi Robert,

I noticed some differences between the way I do and the muxing.c example.
Furthermore, I copy timebase from source to destination which is wrong as you 
say.
I'm gonna give a try to the way muxing.c does.

Thanks a lot for your help!

Best,

Le 3 sept. 2015 à 18:23, Robert Krüger <[email protected]> a écrit :

> 
> 
> On Thu, Sep 3, 2015 at 5:41 PM, Talgorn François-Xavier 
> <[email protected]>wrote:
> Hi Krueger,
> 
> Thanks for your reply.
> I did check the timestamps and durations of packets.
> It appears that respectives timestamps (original/encoded) are in different 
> formats but consistent (incremental).
> I set the timebase for encoded file to the same as the original 
> (in_ctx->format_ctx is the original context).
> 
>     o_codec_ctx->time_base.num = 
> in_ctx->format_ctx->streams[in_ctx->video_stream_idx]->codec->time_base;
>     o_codec_ctx->time_base.den = 
> in_ctx->format_ctx->streams[in_ctx->video_stream_idx]->codec->time_base;
> 
> I don't know if this is OK to duplicate a timebase from H264 to be used in a 
> MP4 context.
> Since it defines the frame rate only (not the ticks/frame) it should OK I 
> guess.
> 
> no, it does not. mov/mp4 don't have a concept like frame rate.
> 
> The encoder gives you packets that have timestamps that are based on what you 
> gave the encoder as timebase. The muxer has the freedom to change that 
> timebase in avformat_write_header and if it does, the packets you get from 
> the encoder have incorrect timestamps, if you don't rescale them to the 
> timebase of the AVStream modified by the muxer. Check the example muxing.c in 
> the docs. You have to do what's done there (see line 83). If you don't, what 
> you describe (incorrect frame rate) may very well be the result. 
> _______________________________________________
> Libav-user mailing list
> [email protected]
> http://ffmpeg.org/mailman/listinfo/libav-user

_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to