[Libav-user] Raw H264 frames in mpegts container
Mart
mart.vandesanden at yb.nl
Fri Sep 9 17:15:44 CEST 2011
As I understand and use it, to calculate the pts you need to take the
time base of the stream into account. For example, my application uses a
native time base that is in microseconds (thus if you have a frame rate
of 15, the timestamp of each frame is increased by 1000000/15 = (about)
66667). This can be calculated to the stream's time_base with the
av_rescale_q function, in the following manner:
pkt.pts = av_rescale_q(packet->timestamp().microseconds(),
(AVRational){1,1000000}, stream_context->time_base);
The first argument is the timestamp of the frame in microseconds, the
second is the microsecond time_base and the third argument is the
streams time_base. So this functions transfers a value from one time
base to another.
I hope this helps (and that it is correct, it seems to work for me :))!
Cheers,
Mart
On 09/08/2011 03:09 AM, psychesnet wrote:
> Hello Amir,
>
> My source H264 and AAC are raw data, I try to packet it into mpegts by
> ffmpeg, but my issue is how to sync video and audio. In my research, I can
> use pts to sync video and audio, but I do not calculate the pts value on raw
> data resource. On the Internet, there are a lot of sample code about how to
> packet H264+AAC to mpegts, but the pts value is copied from original input
> file, no calculate function to do.
> So, my issue is how to calculate the pts under mpegts container.
>
> Thanks a lot.
>
> --
> View this message in context: http://libav-users.943685.n4.nabble.com/Re-Raw-H264-frames-in-mpegts-container-tp3602662p3797635.html
> Sent from the libav-users mailing list archive at Nabble.com.
> _______________________________________________
> Libav-user mailing list
> Libav-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/libav-user
--
Mart van de Sanden | yellowBird
yellowBird - See the world like never before
Brugstraat 32 / 9711 HZ Groningen / The Netherlands
M. (Mart) van de Sanden / Software Specialist
T +31 50 8222 822
F +31 50 8501 351
E mart.vandesanden at yb.nl
W http://www.yb.nl
More information about the Libav-user
mailing list