[vlc-devel] Problems with synchronizing video and audio using RTP (live555)

Ross Finlayson finlayson at live555.com
Thu Jun 18 07:28:24 CEST 2009

>I have a setup with a homebrew RTP client

I think you mean *server*

>  sending audio (AMR) and video
>(MP4-ES) stream and a VLC (current trunk and live555 from yesterday)
>instance playing it using a SDP file to initialize the playing (ie $ vlc
>stream.sdp). When playing the streams separately, it works fine, but
>when playing them at the same time, the synchronization fails (constant
>"PTS is out of range" for audio). This leads to video playing fine, but
>with audio mostly missing. It does work if the playing starts from the
>start of the stream, but if too much frames are dropped, this falls out
>of sync also.
>I've also tried to synchronize the streams using RTCP. In this case
>before any RTCP have arrived, the behavior is same as without RTCP at
>all (quite expected), but when the first RTCP packet arrives, the audio
>gets messed up. Sometimes it stays at "buffering 0%" and sometimes
>complains about "buffer in the future". Also in this case playing video
>only works fine with RTCP synchronization. However, audio, which works
>fine alone without RTCP, gets messed up similarly than the full stream
>when it gets the first RTCP SR. I've noticed that for video stream
>resets  the PCR with ES_OUT_RESET_PCR, but the audio stream fails to do
>this. Also the message "tk->rtpSource->hasBeenSynchronizedUsingRTCP()"
>is missing for the audio stream.

The problem is with your server, not the client (VLC).  Your server 
is not implementing RTCP correctly (for both the audio and video 

If your server was built using the "LIVE555 Streaming Media" 
libraries, then you can try using the "live-devel at lists.live555.com" 
mailing list to help figure out what's wrong with it.  (But if you 
didn't use the LIVE555 libraries to build your server, then you're 
going to have to find help somewhere else.)

Ross Finlayson
Live Networks, Inc.

More information about the vlc-devel mailing list