[Live-devel] Urgent help needed!

Victor Lee victor_l2000 at hotmail.com
Sat Feb 3 23:09:00 PST 2007


Hi Morgan and Ross,

Thank you very much for taking your WEEKEND time to answer my questions! I 
appreciate your helpful information!

Ross: The configuration i gave to you in my email is only a simulation for 
my application. It looks ridiculous: now that i want to use Livemedia RTSP 
server, why still take so much trouble multicast it, receive it and then use 
RTSP server to cast it again. Well, this is the only way we can think of now 
to simulate our application, and if this simulation works, our task also 
works.

Actually, i need to support MPEG2 ES Video and TS, MPEG4 ES Video, maybe at 
the same time with one RTSP server. This is why i want to prove to my boss 
and persuade him that livemedia is the right library we should use.

In my simulation, i used VLC to multicast a source stream with RTP. When 
using VLC to streaming out, only MPEG TS can be chosen. The input file to 
VLC is testv.mpg, which is a MPEG2 ES Video file.

What i want to implement is to use RTSP server to receive the live streams 
sending form IP encoders. I read the FAQ in livemedia about changing 
testOnDemandRTSPServer taking input from a live source instead of from a 
file. I thought using testOnDemandRTSPServer and just change
ByteStreamFileSource would be a quick and easy way to my solution. But i met 
the synchronization problem here. I think the problem is that when reading 
from file, it knows when to read and how much to read, and controled by its 
own pace/clock; while reading from live source, it just process  the data it 
reived.

Ross: Could you provide more detail information on how to use 
testOnDemandRTSPServer and make it taking input from a live source (IP 
Camera, or receiving from a socket) directly instead of from a file? I am 
sure that would be very useful to my application. Thanks!

For Morgan's suggestion, i will think in detail and test if it works for my 
case.

Thanks again to you all and have a nice weekend!

Victor


>From: Ross Finlayson <finlayson at live555.com>
>Reply-To: LIVE555 Streaming Media - development & 
>use<live-devel at ns.live555.com>
>To: LIVE555 Streaming Media - development & use 
>	<live-devel at ns.live555.com>
>Subject: Re: [Live-devel] Urgent help needed!
>Date: Fri, 2 Feb 2007 22:34:13 -0800
>
> >As your application does not need timing data to work properly (VLC
> >makes sure the data leaves the source at the right time), you could
> >just remove the MPEG2TransprtStreamFramer from the chain in your
> >RTSPserver. That will make the data retransmitted as soon as it
> >arrives.
> >
> >You find this in MPEG2TransportFileServerMediaSubsession.cpp
> >
> >   // Create a framer for the Transport Stream:
> >   return MPEG2TransportStreamFramer::createNew(envir(), fileSource);
> >
> >instead, do this:
> >
> >   // Create a framer for the Transport Stream:
> >   return fileSource;
> >
> >If it is the proper way of doing it, I can't say, but it works. What
> >happes is that the fDurationInMicroseconds is not set, causing the
> >server to transmit as soon as it can.
>
>Unfortunately this will also prevent "fPresentationTime" from being
>set, which will in turn lead to incorrect RTP timestamps.  For MPEG
>Transport Streams, however, that may not be a huge problem, because
>the Transport Stream data itself contains the timing (PCR)
>information that receivers use to properly play the stream.  However,
>it will cause RTCP statistics (jitter, etc.) to not get reported
>correctly.
>
>The real puzzle here, though, is: Why is "MPEG2TransportStreamFramer"
>apparently generating incorrect average durations for Victor Lee's
>Transport Streams?  "MPEG2TransportStreamFramer" uses the PCR
>timestamps in the source Transport Stream data to generate duration
>estimates, thereby pacing the streaming of the outgoing data.  If the
>stream is getting sent too slowly (on average), then this suggests
>that the PCR timestamps are incorrect.  But if that's the case, then
>how is a media player able to play the audio/video at the correct
>pace when it plays from the file stored locally?
>
>It would be helpful if Victor Lee would put one of his Transport
>Stream files on a web site, and post the URL, so we can download the
>file and check it for ourselves.
>
>(BTW, I think that Victor Lee's configuration
>	MPEG TS file -> VLC -> RTP multicast -> RTP multicast
>receiver -> testOnDemandRTSPServer (modified)
>is ridiculous.  It would be far simpler for him to just use the
>"LIVE555 Media Server" <http://www.live555.com/mediaServer/> to
>stream his MPEG TS files.  That's all he'd need.)
>
>--
>
>Ross Finlayson
>Live Networks, Inc.
>http://www.live555.com/
>_______________________________________________
>live-devel mailing list
>live-devel at lists.live555.com
>http://lists.live555.com/mailman/listinfo/live-devel

_________________________________________________________________
Invite your Hotmail contacts to join your friends list with Windows Live 
Spaces 
http://clk.atdmt.com/MSN/go/msnnkwsp0070000001msn/direct/01/?href=http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us



More information about the live-devel mailing list