[Live-devel] .m4v / .mp3 Synchronization

Ross Finlayson finlayson at live555.com
Fri Jul 3 23:04:41 PDT 2009

>Yes, I used the live555 "MPEG2TransportStreamFromESSource" object to 
>create my transport stream.  Audio is fed from 
>"MPEG1or2AudioStreamFramer" and video is fed from 
>"MPEG4VideoStreamFramer".  My actual .m4v and .mp3 files came from 
>two other sources.
>You mentioned "setting the correct timestamps on each frame"  - I 
>too suspect this to be the root of problem.  But where do these 
>timestamps originate?  Do I have any control over them?  (I suspect 
>that they get generated by my two framers.

That's correct.  The timestamps (specifically, the 
"fPresentationTime" variable) should be set by each Framer object. 
These are used to set the SCR timestamps in the resulting Transport 
Stream.  So I'm not sure why this isn't working for you; you're going 
to have to track this down yourself.

In particular, look at how the "fSCR" variable is set in the 
"InputESSourceRecord::afterGettingFrame()" function, in 

Ross Finlayson
Live Networks, Inc.

More information about the live-devel mailing list