[Live-devel] delay in playback/transfer?
Ross Finlayson
finlayson at live.com
Fri Apr 15 16:16:54 PDT 2005
>>Does your "DeviceSource" implementation deliver complete, discrete MPEG-4
>>video frames (rather than an arbitrarily framed byte stream)?
>>If so, then you should use a "MPEG4VideoStreamDiscreteFramer" rather than
>>a "MPEG4VideoStreamFramer". ("MPEG4VideoStreamFramer" includes some
>>buffering/parsing overhead that might be contributing to the delay that
>>you see.)
>
>Yes, we are using discrete framer.
>Any other ideas?
Because your "DeviceSource" implementation delivers frames 'live' (rather
than from a pre-recorded file, for example), then you can try setting
"fDurationInMicroseconds" to zero (or else not set it at all, which will
have the same effect). That probably won't make a difference, though.
As long as you are arranging for "FramedSource::afterGetting()" to be
called immediately after you've grabbed a frame from your encoding device,
then the LIVE.COM code shouldn't introduce introduce any significant
delay. (At this point, the video frame data will be passed almost
immediately through "MPEG4VideoStreamDiscreteFramer" and
"MultiFramedRTPSink", and get sent out in a RTP packet.)
If you're still seeing a significant delay (and you're sure that it's not
occurring at the client end), then perhaps the delay is occurring in your
hardware encoder?
>We are currently trying to find some way to transform "main" frames to
>"simple" frames. Is there som way to do this with the liveMedia suit?
No. The "liveMedia" code doesn't include any codec-specific functionality
like this.
> I guess not, any hints on how we could do this? Our hardware encoder api
> does not have any setOutputFramesFormat(simple); functions :)
If you wanted to do this in software, then I suggest doing so in (a
modified version of) "MPEG4VideoStreamDiscreteFramer", because that's a
point in the code where it's already does some rudimentary parsing of
MPEG-4 video headers, etc.
Ross Finlayson
LIVE.COM
<http://www.live.com/>
More information about the live-devel
mailing list