Audio-Video synchronisation in MPEG TS

adi4info adi4info at gmail.com
Mon Jan 6 20:49:41 PST 2014


Hello Everyone,
I'm new to gstreamer and trying to generate a MPEG-TS file from a YUV video
(converted to h264 format) and AAC audio using mppegtsmux. The pipeline uses
fdsrc to read fifos which are filled by receiver application. I'm working on
Texas Instruments-DM6467-ARM based linux board with gstreamer version
0.10.25. Its the only latest cross-compiled gstreamer version available for
that board.

The receiver application fills YUV data in chunks of 115200 bytes and AAC
data in chunks of 188 bytes. The rate at which data is generated is not
fixed as it depends on the H264 and AAC encoders.

*The problem is I'm are not able to get Audio-Video synch in the resulting
TS. *
I've tried to change the "blocksize" property of fdsrc in increasing order
(starting with say 16000) and observed that  video leads for some values and
after a point the audio leads but I'm are not finding a value for this
"blocksize" for which I get AV synch.

I want to know the following:
1. Is there a correct way to achieve audio-video synch using gstreamer
pipeline for TS generation, since I'm new to Gstreamer ?
2. How does changing the "blocksize" property of fdsrc  plays role in the TS
generation when we use the below pipeline ?

The symbolic gstreamer pipeline is:
fdsrc(set to audio fifo descriptor) do-timestamp=true,blocksize=18800 !
aacparse ! mux. \
fdsrc(set to video fifo descriptor) do-timestamp=true,blocksize=115200 !
h264encoder(TIVidenc1 from Texas Instruments) ! mux. \
mpegtsmux name=mux ! tcpsink host=<Server IP>,port=<9100>




--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Audio-Video-synchronisation-in-MPEG-TS-tp4664510.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list