[Live-devel] SimpleRTPSource and SimpleRTPSink constructor parameter meaning

Ross Finlayson finlayson at live555.com
Wed Dec 21 04:55:05 PST 2011


> We are developping an application using an Mpeg 2 TS (H264/AAC) streaming. And we are wondering about the meaning of the boolean parameters of the SimpleRTPSink constructor, and the SimpleRTPsource constructor. We are having some problems synchronizing audio and video, and demuxing the output stream (the demuxer just block out after a random time).
> 
> SimpleRTPSource::createNew(*env, &(*rtpGroupSock), 33,  90000, "video/MP2T", 0, false);
> 
> SimpleRTPSink::createNew(*env, &(*rtpGroupSock), 33,  90000, "video", "mp2t", 1, true, false/*no 'M' bit*/);
> 
> We are wondering if changing those parameter could improve our situation, or if those default shouldn't be changed.

No, for receiving/sending MPEG Transport Stream data over RTP, those parameters are correct, and should not be changed.

However, because your data is Transport Stream data (in which audio and video are multiplexed together into a single stream), your audio/video synchronization problem has absolutely nothing to do with our streaming code.  You can verify this by taking your input Transport Stream (i.e. directly from your encoder), saving it to a file, and playing this file using a media player such as VLC.

Any audio/video synchronization problems within a Transport Stream are caused by the *encoding* of the Transport Stream, not by the way in which it is streamed.


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20111221/8923a360/attachment.html>


More information about the live-devel mailing list