Coming back to this issue, I have tested 2 scenarios a. I am simply setting pts to the timestamp received from encoder and dts to 0 but the resulting file is showing very large frame rate value.
b. Setting pts to the timestamp received from encoder but this time setting dts with an increment of 1001 starting from -1001 (2002/-1001, 0/0, 1001/1001, 5005/2002, 3003/3003). The framerate is correct this time but the quicktime player displays a white frame at the start of the movie. I investigated this issue further by using libav demuxer sample and the pts/dts have been changed from what I set and start_time is also not 0. VLC plays fine but I also want Quicktime player to play the file normally as well. The movies created by the software which ships with he encoder shows correct frame rate and start time of 0, also the pts/dts investigated with the demuxing sample are in the same sequence as described in the second scenario. I really need to understand why my pts/dts are changed by the muxer to different values, may be it is trying to guess correct values based on the inputs I provided. Which inputs matter in this kind of scenarios and how they relate to each other? Thanks in advance Nisar On Sat, Aug 17, 2013 at 11:05 AM, Nisar Ahmed <[email protected]> wrote: > Thanks for your answer, when I set timestamp of decoder, the frame rate > jumps up to a very large value > > pts/dts = (2002/0, 0/0, 1001/0, 5005/0, 3003/0...) > > am I setting the time_base to correct values 1001/30000 and pkt.duration = > 1001? the timescale of the timestamp is also 30000 > > > On Sat, Aug 17, 2013 at 2:10 AM, Anshul maheshwari < > [email protected]> wrote: > >> - >> >> On Aug 16, 2013 7:30 PM, "Nisar Ahmed" <[email protected]> wrote: >> > >> > I am muxing h264/aac stream to mp4 coming from an encoder and having >> issues syncing audio and video streams. >> > >> > I suspect that the problem is with PTS and DTS but I am not sure what >> values should i set to properly sync both streams. >> > >> > I have set the time_base of video stream's AVCodecContext to 1001/30000 >> and each AVPacket gets a duration of 1001 >> > >> > I am recieving time stamps from the encoder with each NAL packet which >> is set as PTS of the AVPacket. the sequence of PTS/DTS I set is (2002/0, >> 0/1001, 1001/2002, 5005/3003, 3003/4004...) >> > >> > Audio stream AVCodecContext sample rate is 48000 and PTS/DTS are simply >> multiples of 1024 starting from 0 and AVPacket duration is 1024. >> > >> > The output movie 's frame rate is 20fps when it should be 29.97fps as >> it is ntsc. >> > >> > Please tell me how to debug this problem and what are the guidelines of >> creating pts/dts for both video and audio in my case >> > >> > _______________________________________________ >> > Libav-user mailing list >> > [email protected] >> > http://ffmpeg.org/mailman/listinfo/libav-user >> > >> Hi naseer >> >> If you are getting timestamp with encoder, i would suggest "dont try to >> manuplate that" you may set that same timestamp as presentation timestamp >> (pts) if your video is realtime then try not to generate B type video frame >> hence no need to set dts. >> Whatever clock is set by encoder try generating the pts of audio >> according to that. >> >> @enjoy >> Anshul >> >> _______________________________________________ >> 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
