From RQJM87 at motorola.com Tue May 1 20:49:07 2007 From: RQJM87 at motorola.com (N Anche Naveen-RQJM87) Date: Wed, 2 May 2007 11:49:07 +0800 Subject: [Live-devel] live-devel Digest, Vol 42, Issue 22 In-Reply-To: Message-ID: <772484426025194BAC0E4697D0B386D90B846B@zmy16exm71.ds.mot.com> Thank you very much. That solved the problem. -Naveen -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of live-devel-request at ns.live555.com Sent: Tuesday, May 01, 2007 12:11 AM To: live-devel at ns.live555.com Subject: live-devel Digest, Vol 42, Issue 22 Send live-devel mailing list submissions to live-devel at lists.live555.com To subscribe or unsubscribe via the World Wide Web, visit http://lists.live555.com/mailman/listinfo/live-devel or, via email, send a message with subject or body 'help' to live-devel-request at lists.live555.com You can reach the person managing the list at live-devel-owner at lists.live555.com When replying, please edit your Subject line so it is more specific than "Re: Contents of live-devel digest..." Today's Topics: 1. Re: Cannot play an RTSP stream (Ross Finlayson) 2. Re: Live555 MPEG2 Transport Stream packet loss (ilya77 at gmail.com) 3. About the openRTSP source code (hong liu) 4. Re: About the openRTSP source code (Ross Finlayson) 5. linking RTCP RR and RTSP sessions (Thomas Vander Stichele) 6. Re: Live555 MPEG2 Transport Stream packet loss (xcsmith at rockwellcollins.com) ---------------------------------------------------------------------- Message: 1 Date: Fri, 27 Apr 2007 12:42:21 -0700 From: Ross Finlayson Subject: Re: [Live-devel] Cannot play an RTSP stream To: LIVE555 Streaming Media - development & use Message-ID: Content-Type: text/plain; charset="us-ascii" >I downloaded live55MediaServer from live555.com and ran it on my linux >system. I downloaded live source code and built it according to steps >given in >http://www.live555.com/l >iveMedia/#config-unix > >I downloaded Mplayer and built it. > >When i try to play an rtsp file, i get an error: Here is the complete log: > >[root at pclin518 bin]# ./mplayer rtsp://10.232.67.150:8554/dvb_sub.mpeg >MPlayer 1.0rc1-4.1.0 (C) 2000-2006 MPlayer Team >CPU: Intel(R) Xeon(R) CPU 5150 @ 2.66GHz (Family: 6, >Model: 15, Step >ping: 6) >CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1 Compiled >for x86 CPU with extensions: MMX MMX2 SSE SSE2 > >Playing rtsp://10.232.67.150:8554/dvb_sub.mpeg. >Resolving 10.232.67.150 for AF_INET6... >Couldn't resolve name for AF_INET6: 10.232.67.150 Connecting to server >10.232.67.150[10.232.67.150]: 8554... >connect error: Connection refused >Resolving 10.232.67.150 for AF_INET6... >Couldn't resolve name for AF_INET6: 10.232.67.150 Connecting to server >10.232.67.150[10.232.67.150]: 8554... >connect error: Connection refused >File not found: '10.232.67.150:8554/dvb_sub.mpeg' >Failed to open rtsp://10.232.67.150:8554/dvb_sub.mpeg. > > >Exiting... (End of file) > >Am I doing something wrong? First, for "live555MediaServer" to be able to stream your file, its name cannot end with ".mpeg". If your file is a MPEG Program Stream file, then it's name must end with ".mpg" (not ".mpeg"). However, if (as seems likely from the name "dvb_sub") it is actually a MPEG *Transport* Stream file, then you must rename it to "dvb_sub.ts", before you will be able to stream it. Second, the "connection refused" error means that either - 10.232.67.150 is not the real IP address of the server (that is running "live555MediaServer"). (Perhaps you have a NAT box in the middle??), or - You are not actually running "live555MediaServer" on your server machine. Also, I recommend using VLC as your media player client rather than MPlayer. -- 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/20070427/690d0 606/attachment-0001.html ------------------------------ Message: 2 Date: Sun, 29 Apr 2007 14:53:44 +0300 From: "ilya77 at gmail.com" Subject: Re: [Live-devel] Live555 MPEG2 Transport Stream packet loss To: "LIVE555 Streaming Media - development & use" Message-ID: Content-Type: text/plain; charset="iso-8859-1" Hi all, We've eliminated the NAT/ATM from the equation, and tried streaming the MPEG-2 TS over UDP (connecting the viewing PC directly to an ADSL line), and it did improve the sittuation dramatically, however, we sill have around 0.3- 0.7% packet loss over the WAN which results in video smearing here and there, and audio glitches (which are worse than video smearing because they are easily identified by ear and are more disturbing). We are wondering if either TS or RTP provide some means of forward error correction, since this rate of lost packets is normal over the public Internet, and from what we can tell the player (VLC) can not deal with those errors (and conceal them from the viewer). We are trying to find some information regarding embedding FEC information into the transport stream (as far as we understand it provides at least a container for error correction data), yet with no success. Any ideas? Many thanks, Ilya On 4/26/07, Morgan T?rvolt wrote: > > > Also, your email says you are using ATM (Asynchronous Transfer > Mode?). I > > check this on wikipedia, and notice that the data must be divided > > into > very > > small cells for delivery. It seems like ATM is a protocol for > > time-sensitive data, like VoIP. RTP also is designed to meet > > special timing needs of the data. Could there be a problem combining > > these two time-sensitive protocols? "If a circuit is exceeding its > > traffic > contract, > > the network can either drop the cells or mark the Cell Loss Priority > (CLP) > > bit (to identify a cell as discardable further down the line)." The > > RTP delivery can be somewhat bursty, so maybe you need to check your > > ATM contract and make sure you have the correct one (VBR maybe?) one? > > ATM is just a transport layer, as Ethernet, SDH and others. ATM is > usually used in for example ADSL connections. That the packet size is > 155 (or something like that) is not obvious, or even visible, to the > end hardware. It sees only an ordinary Ethernet link. > ATM is not very suited to do anything really. It is like a duck, it > can swim, fly and make sound, but does neither extremely well. For > extremely time sensitive data one uses SDH, which even keeps the > original input clock through the links. For time insensitive data one > uses Ethernet. ATM is very good at prioritizing traffic though, and it > could sound like the Ethernet packets are given a low priority, > possibly due to the fact that it is UDP. I have experienced this > before, and the configuration of a Ethernet card in one of the nodes > was to blame. It did not keep it's config due to hardware failure. In > your case this should be configurable in the ATM nodes, or management > software. > > As a "most likely" option, I would have to opt for bandwidth problem. > I have spent too many hours saying that it is not so on ATM networks > before. Check that your VCs and VPs are set up correctly, and try > transmitting TCP and UDP data from other sources than live. VLC stream > output would be a good place to start I believe. > > I agree with Ross here. You say it works well without the ATM, but not > with it. The reason for the problems is then too obvious. As there are > literally thousands of users of this software, I do believe that the > way it handles the Ethernet part works according to standard (unless > your OS or some configurations therein is to blame). One should not > make custom fixes to allow for broken hardware or configuration. In > this case "your network" seems like a good term, as most of the other > networks seems to work just fine. > > -Morgan- > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070429/e0998 e46/attachment-0001.html ------------------------------ Message: 3 Date: Sun, 29 Apr 2007 17:46:05 -0700 (PDT) From: hong liu Subject: [Live-devel] About the openRTSP source code To: live-devel at ns.live555.com Message-ID: <521302.36565.qm at web51109.mail.re2.yahoo.com> Content-Type: text/plain; charset="iso-8859-1" >>I start looking at the source code of openRTSP, and try to modify the >>code to add SPS an PPS NAL units of H264 into saved file. >To do this, you would modify (or extend) the "H264VideoFileSink" class. May I ask the reason why the openRTSP program doesn't save received SPS and PPS NAL units of H.264 into a local video file? Thank you so much! Hong Hong Liu ------------------------------ --------------------------------- Ahhh...imagining that irresistible "new car" smell? Check outnew cars at Yahoo! Autos. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070429/ec397 bf3/attachment-0001.html ------------------------------ Message: 4 Date: Sun, 29 Apr 2007 20:02:15 -0700 From: Ross Finlayson Subject: Re: [Live-devel] About the openRTSP source code To: LIVE555 Streaming Media - development & use Message-ID: Content-Type: text/plain; charset="us-ascii" > >>I start looking at the source code of openRTSP, and try to modify >>>the code to add SPS an PPS NAL units of H264 into saved file. > >>To do this, you would modify (or extend) the "H264VideoFileSink" class. > >May I ask the reason why the openRTSP program doesn't save received SPS >and PPS NAL units of H.264 into a local video file? Because the code wasn't written to do this. Note that these NAL units aren't part of the RTP stream, but are instead sent as an encoded string in the stream's SDP description. However, there exists a function ("MediaSubsession:: fmtp_spropparametersets()()") to access this string, and another function ("parseSPropParameterSets()") to decode this string into binary data - which you could, if you wished, write to a file. Sometime in the future, I might update the "H264VideoFileSink" class to do this itself.... -- 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/20070429/079f0 e2d/attachment-0001.html ------------------------------ Message: 5 Date: Mon, 30 Apr 2007 18:09:05 +0200 From: Thomas Vander Stichele Subject: [Live-devel] linking RTCP RR and RTSP sessions To: live-devel at ns.live555.com Message-ID: <1177949345.28381.80.camel at level.fluendo.lan> Content-Type: text/plain I was wondering exactly what the correct way is to relate RTCP RR reports to RTSP sessions on a server. I would like to know because, if I understand the RFC's correctly, an RTSP server MAY use any "wellness" information from clients (for example, RTCP RR packets) to keep the RTSP session alive. AFAICT, most mobile phones do not do keepalive on the RTSP layer, so an RTSP server has the need to tie RTCP RR packets to the RTSP sessions. (If I am wrong at this point, please do correct me, this stuff eats my brain when I think about it) The RTCP RR reports only provide the server with: - the client's (apparent) IP address (possibly changed through NAT) - the outgoing client UDP port from which these RTCP reports get sent (which I assume could have been changed through NAT) - the incoming server UDP port on which the server receives RTCP reports - the client's SSRC Of these, only the client's IP address was communicated to the RTSP server; the server knows which incoming UDP/RTCP port it asked the client to send to. I see the following options for the server to be able to map RTSP sessions to RTCP RR reports: - The server allocates a unique rtp and rtcp reception port for each RTSP session; this allows the server to id RTCP RR reports based on the incoming RTCP port. - The server uses the same rtp/rtcp reception port for each new RTSP session from a not-yet-known IP; if the same IP does a new session request, the server bumps rtp/rtcp reception ports. - The server uses the same rtp/rtcp reception port for everyone; it pretends that there is one session per IP. The first solution has the huge disadvantage that the server is limited to about 30k clients, given the number of ports it can receive on. Not to mention that select() would go out the window for checking activity :) The second solution is a little less greedy with ports, but harder to code. The third one seems wrong to me. I was wondering what the behaviour is of the live555 libraries. Anyone know ? Thanks Thomas ------------------------------ Message: 6 Date: Mon, 30 Apr 2007 13:41:13 -0500 From: xcsmith at rockwellcollins.com Subject: Re: [Live-devel] Live555 MPEG2 Transport Stream packet loss To: "LIVE555 Streaming Media - development & use" Message-ID: Content-Type: text/plain; charset=US-ASCII Hi all, We've eliminated the NAT/ATM from the equation, and tried streaming the MPEG-2 TS over UDP (connecting the viewing PC directly to an ADSL line), and it did improve the sittuation dramatically, however, we sill have around 0.3 - 0.7% packet loss over the WAN which results in video smearing here and there, and audio glitches (which are worse than video smearing because they are easily identified by ear and are more disturbing). We are wondering if either TS or RTP provide some means of forward error correction, since this rate of lost packets is normal over the public Internet, and from what we can tell the player (VLC) can not deal with those errors (and conceal them from the viewer). We are trying to find some information regarding embedding FEC information into the transport stream (as far as we understand it provides at least a container for error correction data), yet with no success. Any ideas? Many thanks, Ilya Re: Are you watching the video in real time or just recording it? you could use openRTSP to record the video stream and see if it helps at all to do this. in openRTSP you can adjust the amount of time to wait for a late packet. I'm not sure how much difference it would make. Have you tried going back to TCP streaming? If a packet is too late, it will be discarded, but if you are only doing a recording and not trying to watch the video real time, then you can wait a little longer for late packets. I don't think the TS format provides any sort of other error correction, aside from having very small packets to stop packet loss from having a dramatic effect on the system. I do not believe there is any way to recalculate the missing data from nearby data, if that's what you are asking. ------------------------------ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel End of live-devel Digest, Vol 42, Issue 22 ****************************************** From liu_ying111 at yahoo.com.cn Wed May 2 08:28:45 2007 From: liu_ying111 at yahoo.com.cn (=?gb2312?q?=D3=B0=20=C1=F5?=) Date: Wed, 2 May 2007 23:28:45 +0800 (CST) Subject: [Live-devel] h264 transmission In-Reply-To: Message-ID: <718670.69337.qm@web15202.mail.cnb.yahoo.com> I want to use livelib to complete h264 rtp/rtcp transmission .the design is to use pc as a server and arm board as a client . But H264SideoStreamFramer seems have not finished .What should i add to H264SideoStreamFramer ? thanks liuying --------------------------------- ??????3.5G???20M??? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070502/6a92892f/attachment.html From finlayson at live555.com Wed May 2 10:06:53 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 2 May 2007 10:06:53 -0700 Subject: [Live-devel] h264 transmission In-Reply-To: <718670.69337.qm@web15202.mail.cnb.yahoo.com> References: <718670.69337.qm@web15202.mail.cnb.yahoo.com> Message-ID: >I want to use livelib to complete h264 rtp/rtcp transmission .the >design is to use pc as a server and arm board as a client . But >H264SideoStreamFramer seems have not finished . It's an abstract base class. You will need to implement your own subclass of this (in particular, to implement :doGetNextFrame()" and "currentNALUnitEndsAccessUnit()". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From jayfurmanek at gmail.com Wed May 2 12:13:33 2007 From: jayfurmanek at gmail.com (Jay Furmanek) Date: Wed, 2 May 2007 14:13:33 -0500 Subject: [Live-devel] bytestreamFileSource, doGetNextFrame, and events Message-ID: <258d83300705021213l21eebc16n6f97b5a4a5ec5292@mail.gmail.com> Hi, I'm trying to build a H264VideoStreamFramer subclass to read from a raw .h264 file with the annexB delimeters. The Framer will remove the delimeters. I've learned from other posts that I need to implement a doGetNextFrame function. I wanted to read the file asynchronously and have the doGetNextFrame function just do a turnOnBackgroundReadHandling() on the file socket so when the next frame is ready to be processed, the event loop will kick me into a handler(deliverFrame) each time. The problem is, I dont have access to the file descriptor to tell the event loop about it. I've got the H264FileServerMediaSubsession class built and he sends in a byteStreamFileSource object to the H264VideoStreamFramerRaw class, and the byteStreamFileSource object has the file descriptor, but it's protected and there are no ways to get at it by using any of the byteStreamFileSource methods. I want to be able to read in the file a byte at a time so I can detect and discard the NAL delimiter. I'd appreciate any help, thanks! -jay -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070502/b817bd9a/attachment.html From finlayson at live555.com Wed May 2 13:08:53 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 2 May 2007 13:08:53 -0700 Subject: [Live-devel] bytestreamFileSource, doGetNextFrame, and events In-Reply-To: <258d83300705021213l21eebc16n6f97b5a4a5ec5292@mail.gmail.com> References: <258d83300705021213l21eebc16n6f97b5a4a5ec5292@mail.gmail.com> Message-ID: >I've learned from other posts that I need to implement a >doGetNextFrame function. >I wanted to read the file asynchronously and have the doGetNextFrame >function just do a turnOnBackgroundReadHandling() on the file socket >so when the next frame is ready to be processed, the event loop will >kick me into a handler(deliverFrame) each time. The problem is, I >dont have access to the file descriptor to tell the event loop about >it. I don't understand. Can you access your file by name? If so, then just use "ByteStreamFileSource" as is, and feed this into your "H264VideoStreamFramer" subclass. You don't need to worry about file descriptors; the "ByteStreamFileSource" code takes care of this for you. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From jayfurmanek at gmail.com Wed May 2 13:26:45 2007 From: jayfurmanek at gmail.com (Jay Furmanek) Date: Wed, 2 May 2007 15:26:45 -0500 Subject: [Live-devel] bytestreamFileSource, doGetNextFrame, and events In-Reply-To: References: <258d83300705021213l21eebc16n6f97b5a4a5ec5292@mail.gmail.com> Message-ID: <258d83300705021326u1813524dn89f7e029909b6013@mail.gmail.com> Doesn't turnOnBackgroundReadHandling() require a file descriptor/scoket as it's first argument? I built a little Parser (called from my framer) that uses the bytestreamFileSource object - that seems to be ok - I'm using it like you said. In my Framer, I just have my required funcs (isNALUnitEnd...(), doGetNextFrame) and a handler (deliverFrame()) that calls into the parser, then schedules a delayed task for FramedSource::afterGetting(). my doGetNextFrame() func calls turnOnBackgroundReadHandling(), but I have no socket/fd to give it. thanks for the quick response btw -j. On 5/2/07, Ross Finlayson wrote: > > >I've learned from other posts that I need to implement a > >doGetNextFrame function. > >I wanted to read the file asynchronously and have the doGetNextFrame > >function just do a turnOnBackgroundReadHandling() on the file socket > >so when the next frame is ready to be processed, the event loop will > >kick me into a handler(deliverFrame) each time. The problem is, I > >dont have access to the file descriptor to tell the event loop about > >it. > > I don't understand. Can you access your file by name? If so, then > just use "ByteStreamFileSource" as is, and feed this into your > "H264VideoStreamFramer" subclass. > > You don't need to worry about file descriptors; the > "ByteStreamFileSource" code takes care of this for you. > -- > > 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 > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070502/0e32b61d/attachment.html From finlayson at live555.com Wed May 2 14:01:04 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 2 May 2007 14:01:04 -0700 Subject: [Live-devel] bytestreamFileSource, doGetNextFrame, and events In-Reply-To: <258d83300705021326u1813524dn89f7e029909b6013@mail.gmail.com> References: <258d83300705021213l21eebc16n6f97b5a4a5ec5292@mail.gmail.com> <258d83300705021326u1813524dn89f7e029909b6013@mail.gmail.com> Message-ID: >Doesn't turnOnBackgroundReadHandling() require a file >descriptor/scoket as it's first argument? Yes, but you should never need to call that function. "ByteStreamFileSource" does that automatically.. > my doGetNextFrame() func calls turnOnBackgroundReadHandling() No, don't do this. Your "H264VideoStreamFramer" subclass is a filter. It doesn't know anything about files. You *initialiize* your subclass with your "ByteStreamFileSource" object (as the "inputSource" argument). Then, in the implementation of your "doGetNextFrame()" function, call fInputSource->getNextFrame( ... ); to read from your source object (which just happens, in your case, to be a "ByteStreamFileSource"). Note that there are several examples of this in the code. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From jayfurmanek at gmail.com Wed May 2 14:32:40 2007 From: jayfurmanek at gmail.com (Jay Furmanek) Date: Wed, 2 May 2007 16:32:40 -0500 Subject: [Live-devel] bytestreamFileSource, doGetNextFrame, and events In-Reply-To: References: <258d83300705021213l21eebc16n6f97b5a4a5ec5292@mail.gmail.com> <258d83300705021326u1813524dn89f7e029909b6013@mail.gmail.com> Message-ID: <258d83300705021432t3e7599a8v6d71e69efb5f176@mail.gmail.com> Oh. Seems I was misguided! Thanks Ross. >From looking at examples in the code, if I were to use fInputSource->getNextFrame(), it looks like I would do my processing in afterGettingFrame() then, correct? I wouldnt know how many bytes to tell the getNextFrame() call to get, though, since I have just a delimited elemtary stream coming from the file. Im thinking that telling getNextFrame to get 1 byte at a time wouldnt be very efficient, but I need to check one byte at a time for the 3-byte delimiter. Am I still a little lost about my thinking? -j. On 5/2/07, Ross Finlayson wrote: > > >Doesn't turnOnBackgroundReadHandling() require a file > >descriptor/scoket as it's first argument? > > Yes, but you should never need to call that function. > "ByteStreamFileSource" does that automatically.. > > > my doGetNextFrame() func calls turnOnBackgroundReadHandling() > > No, don't do this. Your "H264VideoStreamFramer" subclass is a > filter. It doesn't know anything about files. You *initialiize* > your subclass with your "ByteStreamFileSource" object (as the > "inputSource" argument). > > Then, in the implementation of your "doGetNextFrame()" function, call > fInputSource->getNextFrame( ... ); > to read from your source object (which just happens, in your case, to > be a "ByteStreamFileSource"). > > Note that there are several examples of this in the code. > -- > > 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 > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070502/829a03bd/attachment.html From finlayson at live555.com Wed May 2 15:28:03 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 2 May 2007 15:28:03 -0700 Subject: [Live-devel] bytestreamFileSource, doGetNextFrame, and events In-Reply-To: <258d83300705021432t3e7599a8v6d71e69efb5f176@mail.gmail.com> References: <258d83300705021213l21eebc16n6f97b5a4a5ec5292@mail.gmail.com> <258d83300705021326u1813524dn89f7e029909b6013@mail.gmail.com> <258d83300705021432t3e7599a8v6d71e69efb5f176@mail.gmail.com> Message-ID: >From looking at examples in the code, if I were to use >fInputSource->getNextFrame(), it looks like I would do my processing >in afterGettingFrame() then, correct? Yes. > >I wouldnt know how many bytes to tell the getNextFrame() call to >get, though, since I have just a delimited elemtary stream coming >from the file. You should request as many bytes as you have space available in your buffer (that you'll be using to do the parsing). > >Im thinking that telling getNextFrame to get 1 byte at a time >wouldnt be very efficient, but I need to check one byte at a time >for the 3-byte delimiter. You should read large chunks of data, into a buffer. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From jayfurmanek at gmail.com Wed May 2 16:28:53 2007 From: jayfurmanek at gmail.com (Jay Furmanek) Date: Wed, 2 May 2007 18:28:53 -0500 Subject: [Live-devel] bytestreamFileSource, doGetNextFrame, and events In-Reply-To: References: <258d83300705021213l21eebc16n6f97b5a4a5ec5292@mail.gmail.com> <258d83300705021326u1813524dn89f7e029909b6013@mail.gmail.com> <258d83300705021432t3e7599a8v6d71e69efb5f176@mail.gmail.com> Message-ID: <258d83300705021628qc0f5c3pe858050a5ac98345@mail.gmail.com> I can do that, but how do I handle remaining bytes if I read past the delimiter. I'll parse up to the delimiter, kick all those bytes into fTo and call afterGetting(). Do I need to handle the remaining bytes myself? or is there a mechanism for it? Thanks for all your help. -j. On 5/2/07, Ross Finlayson wrote: > > >From looking at examples in the code, if I were to use > >fInputSource->getNextFrame(), it looks like I would do my processing > >in afterGettingFrame() then, correct? > > Yes. > > > > >I wouldnt know how many bytes to tell the getNextFrame() call to > >get, though, since I have just a delimited elemtary stream coming > >from the file. > > You should request as many bytes as you have space available in your > buffer (that you'll be using to do the parsing). > > > > >Im thinking that telling getNextFrame to get 1 byte at a time > >wouldnt be very efficient, but I need to check one byte at a time > >for the 3-byte delimiter. > > You should read large chunks of data, into a buffer. > -- > > 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 > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070502/76584c74/attachment-0001.html From mathew.hounsell at avegasystems.com Wed May 2 21:37:22 2007 From: mathew.hounsell at avegasystems.com (Mathew Hounsell) Date: Thu, 03 May 2007 14:37:22 +1000 Subject: [Live-devel] Coverity detected a memory leak in RTSPClient::setupMediaSubsession Message-ID: <46396702.2040700@avegasystems.com> "sessionStr", "setupStr", "authenticatorStr" are not deleted when the function returns ar 1018 because of break at 902 900 if (rtpNumber == 0) { 901 envir().setResultMsg("Client port number unknown\n"); 902 break; 903 } 1017 delete[] cmd; 1018 return False; 1019 } // End of Function While looking at the fix for this I thought it simpler to functionally decompose the setup string creation, and go with the old style single return point. This does not address the std::bad_alloc exception case. My patch is attached; svn diff format. -------------- next part -------------- A non-text attachment was scrubbed... Name: liveMedia-RTSPClient-memory-leak.diff Type: text/x-patch Size: 8315 bytes Desc: not available Url : http://lists.live555.com/pipermail/live-devel/attachments/20070502/c58c2a7a/attachment.bin From finlayson at live555.com Wed May 2 22:04:59 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 2 May 2007 22:04:59 -0700 Subject: [Live-devel] Coverity detected a memory leak in RTSPClient::setupMediaSubsession In-Reply-To: <46396702.2040700@avegasystems.com> References: <46396702.2040700@avegasystems.com> Message-ID: >"sessionStr", "setupStr", "authenticatorStr" are not deleted when >the function returns ar 1018 because of break at 902 > >900 if (rtpNumber == 0) { >901 envir().setResultMsg("Client port number unknown\n"); >902 break; >903 } > >1017 delete[] cmd; >1018 return False; >1019 } // End of Function Those line numbers do not match the current version of the code. Please download and use the latest version of the code instead. >While looking at the fix for this I thought it simpler to >functionally decompose the setup string creation, and go with the >old style single return point. No, if you want to send a patch, then please send one that (i) uses the latest version of the code, and (ii) addresses the memory leak issue only. Should I also decide to 'refactor' the setup string creation code, then I'll do that separately. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From yanming at edslab.com Thu May 3 02:30:02 2007 From: yanming at edslab.com (wuyanming) Date: Thu, 3 May 2007 17:30:02 +0800 Subject: [Live-devel] Best way to stream MPEG2 Program Stream Message-ID: <002101c78d65$a15bcdb0$540aa8c0@YMdesktop> Hi, all, We need to stream MPEG2 Program Stream from a live source (encoder) to a client over a LAN for client's recording. The requirement is that client receives the original MPEG2 Program Stream from the encoder, nothing more, nothing less. We can tolerate packet delay, but can *not* tolerate packet loss. What's the best way to do this using Live555 library code? Thanks & Regards, Yanming -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070503/87918337/attachment.html From vinodjoshi at tataelxsi.co.in Thu May 3 05:51:22 2007 From: vinodjoshi at tataelxsi.co.in (Vinod Madhav Joshi) Date: Thu, 3 May 2007 18:21:22 +0530 Subject: [Live-devel] MPEG2 ps media information Message-ID: <002701c78d81$c1b4fcf0$022a320a@telxsi.com> Hi all, I am using Live555 streaming server MPEG2 PS to Set top box. This may not be the proper place for my question. I am dumping the contents which are sent to client on the server side. I observed that response for describe is sent as m= video with PT=32 and for audio PT=14. But when the actual data is sent in RTP header Payload Type for video i am getting correctly. But for audio i am not getting as PT=14 which has to be 14. i am getting dynamic payload types for some packets. i want to know whether periodic SDP packets are used to dynamically specify media information. Anybody knows about this? Or what should i refer to get the basics of this. Thanking You. From finlayson at live555.com Thu May 3 06:18:00 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 3 May 2007 06:18:00 -0700 Subject: [Live-devel] Best way to stream MPEG2 Program Stream In-Reply-To: <002101c78d65$a15bcdb0$540aa8c0@YMdesktop> References: <002101c78d65$a15bcdb0$540aa8c0@YMdesktop> Message-ID: >We need to stream MPEG2 Program Stream from a live source (encoder) >to a client over a LAN for client's recording. The requirement is >that client receives the original MPEG2 Program Stream from the >encoder, nothing more, nothing less. We can tolerate packet delay, >but can *not* tolerate packet loss. What's the best way to do this >using Live555 library code? There really isn't a good way to do this - especially not in a way that's standardized. (Using RTP, Program Stream data is usually sent as two separate RTP streams - one for video, the other for audio.) Because you can tolerate packet delay, but not packet loss, you should just transfer your Program Stream data using TCP rather than RTP. I.e. just use "scp" or "ftp" - i.e., not using our software. -- 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/20070503/41a55749/attachment.html From finlayson at live555.com Thu May 3 06:23:47 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 3 May 2007 06:23:47 -0700 Subject: [Live-devel] MPEG2 ps media information In-Reply-To: <002701c78d81$c1b4fcf0$022a320a@telxsi.com> References: <002701c78d81$c1b4fcf0$022a320a@telxsi.com> Message-ID: > I am using Live555 streaming server MPEG2 PS to Set top box. > > This may not be the proper place for my question. > > I am dumping the contents which are sent to client on the server >side. > > I observed that response for describe is sent as m= video with PT=32 >and for audio PT=14. > > But when the actual data is sent in RTP header Payload Type for video >i am getting correctly. > > But for audio i am not getting as PT=14 which has to be 14. > > i am getting dynamic payload types for some packets. That should not be happening, if you are streaming from a Program Stream file (and have not modified our source code). When streaming from a Program Stream file, you should be seeing RTP Payload Type codes 32 and 14 only. Please run "openRTSP -V" on your stream, and send us the console output, so we can take a look at it. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu May 3 06:29:55 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 3 May 2007 06:29:55 -0700 Subject: [Live-devel] MPEG2 ps media information In-Reply-To: <002701c78d81$c1b4fcf0$022a320a@telxsi.com> References: <002701c78d81$c1b4fcf0$022a320a@telxsi.com> Message-ID: > But for audio i am not getting as PT=14 which has to be 14. > > i am getting dynamic payload types for some packets. Are you sure you're not confusing RTCP packets with RTP packets? (RTCP packets are sent to separate port numbers from (video or audio) RTP packets.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From mathew.hounsell at avegasystems.com Thu May 3 18:50:27 2007 From: mathew.hounsell at avegasystems.com (Mathew Hounsell) Date: Fri, 04 May 2007 11:50:27 +1000 Subject: [Live-devel] Coverity detected a memory leak in RTSPClient::setupMediaSubsession In-Reply-To: <46396702.2040700@avegasystems.com> References: <46396702.2040700@avegasystems.com> Message-ID: <463A9163.7000107@avegasystems.com> I thought before I patch this I must get the latest code; and I know I went to the website. Guess I must have got distracted. Here is a diff for just that fix. Mathew Hounsell wrote: > "sessionStr", "setupStr", "authenticatorStr" are not deleted when the > function returns ar 1018 because of break at 902 > > 900 if (rtpNumber == 0) { > 901 envir().setResultMsg("Client port number unknown\n"); > 902 break; > 903 } > > 1017 delete[] cmd; > 1018 return False; > 1019 } // End of Function > > While looking at the fix for this I thought it simpler to functionally > decompose the setup string creation, and go with the old style single > return point. This does not address the std::bad_alloc exception case. > > My patch is attached; svn diff format. > -------------- next part -------------- A non-text attachment was scrubbed... Name: liveMedia-RTSPClient-memory-leak.diff Type: text/x-patch Size: 448 bytes Desc: not available Url : http://lists.live555.com/pipermail/live-devel/attachments/20070503/806ff6d5/attachment-0001.bin From vinodjoshi at tataelxsi.co.in Fri May 4 06:44:17 2007 From: vinodjoshi at tataelxsi.co.in (Vinod Madhav Joshi) Date: Fri, 4 May 2007 19:14:17 +0530 Subject: [Live-devel] MPEG2 ps media information In-Reply-To: Message-ID: <004701c78e52$5037b8c0$022a320a@telxsi.com> Thanks for your response. Here i am attaching the output of "openRTSP -V". Also I dumped the data at "sendto()" in GroupSockHelper.cpp I am getting the 2nd byte as 20 or A0 most of the time which is MPEG2 video-32 (after masking MSB in 2nd byte) Also some other value for 2nd byte C8(PT=72 after masking MSB of this byte) as payload type which may be the RTCP packet. But i am not able to find any packet with PT=14 (where 2nd byte of packet will be 0E/8E) for MPEG 2 Audio. -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com]On Behalf Of Ross Finlayson Sent: Thursday, May 03, 2007 6:54 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] MPEG2 ps media information > I am using Live555 streaming server MPEG2 PS to Set top box. > > This may not be the proper place for my question. > > I am dumping the contents which are sent to client on the server >side. > > I observed that response for describe is sent as m= video with PT=32 >and for audio PT=14. > > But when the actual data is sent in RTP header Payload Type for video >i am getting correctly. > > But for audio i am not getting as PT=14 which has to be 14. > > i am getting dynamic payload types for some packets. That should not be happening, if you are streaming from a Program Stream file (and have not modified our source code). When streaming from a Program Stream file, you should be seeing RTP Payload Type codes 32 and 14 only. Please run "openRTSP -V" on your stream, and send us the console output, so we can take a look at it. -- 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 -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: openRTSP output.txt Url: http://lists.live555.com/pipermail/live-devel/attachments/20070504/939ae792/attachment.txt From violonvc2002 at yahoo.com Mon May 7 03:23:29 2007 From: violonvc2002 at yahoo.com (Hoang Nguyen Vi Cam Violon) Date: Mon, 7 May 2007 03:23:29 -0700 (PDT) Subject: [Live-devel] please help me ! Message-ID: <851486.99128.qm@web50402.mail.re2.yahoo.com> Hi, I'm setting up an RTSP lab for reseaching. I choose live555 streaming server for server and VLC(with live555 library) for client. OS : Fedora core 5. SERVER : (192.168.27.73) (Fedora core 5) - live555MediaServer.bin at /home/hnvcam - media file : cow.mpg at /home/hnvcam CLIENT1 : (192.168.27.73) (Fedora core 5) - vlc rtsp://0.0.0.0:8554/cow.mpg CLIENT2 : (192.168.27.235) (Windows XP SP2) - vlc rtsp://192.168.27.73:8554/cow.mpg When I build the lab as above, The client always show the error "Unable to determine our source address. This computer has an invalid IP address : 0x0" And the server also show it. The client doesn't play. So what's wrong of my configuration. Please help me to solve it. Thank you. Cam Hoang. Sincerely, Cam Hoang --------------------------------- Ahhh...imagining that irresistible "new car" smell? Check outnew cars at Yahoo! Autos. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070507/652ce360/attachment.html From wei.li at crc.ca Mon May 7 06:46:17 2007 From: wei.li at crc.ca (Wei Li) Date: Mon, 7 May 2007 09:46:17 -0400 Subject: [Live-devel] How to modify/debug code on Windows Message-ID: <007b01c790ae$167ba660$0202fea9@epox3> Hi Experts, Following the instructions, I succeeded in building the code on Windows. I tried 'openRTSP', it works pretty well. My questions is: how to debug the code when I made some changes? Since the 'Work space' is only with the .mak file. I'm using Microsoft Visul C++ 6.0. Thanks for any help, Wei -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070507/1afc8654/attachment.html From finlayson at live555.com Mon May 7 06:55:20 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 7 May 2007 09:55:20 -0400 Subject: [Live-devel] please help me ! In-Reply-To: <851486.99128.qm@web50402.mail.re2.yahoo.com> References: <851486.99128.qm@web50402.mail.re2.yahoo.com> Message-ID: >When I build the lab as above, The client always show the error >"Unable to determine our source address. This computer has an >invalid IP address : 0x0" That error usualy means that IP multicast is not configured properly on your OS. Also, note that the IP addresses in a "rtsp://" URLs is the IP address of the *server*, not the client. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From opera at kth.se Mon May 7 09:52:13 2007 From: opera at kth.se (=?ISO-8859-1?Q?Gustaf_R=E4ntil=E4?=) Date: Mon, 07 May 2007 18:52:13 +0200 Subject: [Live-devel] please help me ! In-Reply-To: <851486.99128.qm@web50402.mail.re2.yahoo.com> References: <851486.99128.qm@web50402.mail.re2.yahoo.com> Message-ID: <463F593D.30701@kth.se> Hoang Nguyen Vi Cam Violon wrote: > Hi, > I'm setting up an RTSP lab for reseaching. > I choose live555 streaming server for server and VLC(with live555 > library) for client. OS : Fedora core 5. > > SERVER : (192.168.27.73) (Fedora core 5) > - live555MediaServer.bin at /home/hnvcam > - media file : cow.mpg at /home/hnvcam > > CLIENT1 : (192.168.27.73) (Fedora core 5) > - vlc rtsp://0.0.0.0:8554/cow.mpg > > CLIENT2 : (192.168.27.235) (Windows XP SP2) > - vlc rtsp://192.168.27.73:8554/cow.mpg > > When I build the lab as above, The client always show the error > "Unable to determine our source address. This computer has an invalid > IP address : 0x0" > And the server also show it. The client doesn't play. > > So what's wrong of my configuration. Please help me to solve it. Thank > you. > > Cam Hoang. > > > Sincerely, > Cam Hoang > > ------------------------------------------------------------------------ > Ahhh...imagining that irresistible "new car" smell? > Check out new cars at Yahoo! Autos. > > > ------------------------------------------------------------------------ > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > Hello, Make sure your /etc/hostname, /etc/hosts etc are correct. One problem can be that you don't have your server hostname in the hosts file, while having two (or more) configured interfaces. Specifically, check that you have a line: [your primary ip (or rather the one you will stream From)] [your hostname] in /etc/hosts, and not just 127.0.0.1. Also check the order of the hostnames in the same file on the line starting with 127.0.0.1, and make sure any "localhost" comes last. However, liveMedia should really have the option to specify which interface to stream from, of course, and not do some funky checks which doesn't work in all cases (as of now). Specifically if you don't want to stream on all interfaces (for security reasons or whatever), but that's another matter. I used to have a patch for this but I doubt it'd be interesting. My last patch (for increased authorization possibilities) obviously wasn't. Listening on 0.0.0.0 (which liveMedia does in your case - INADDR_ANY) doesn't work properly (and shouldn't be expected to) if these things aren't set up right. Gustaf From dweber at robotics.net Mon May 7 13:54:18 2007 From: dweber at robotics.net (Dan Weber) Date: Mon, 7 May 2007 16:54:18 -0400 Subject: [Live-devel] Multiple Payload Types on RTP (DTMF Support) Message-ID: <20070507205417.GA32374@Barney.robotics.net> Hi there, Is there anyway to have the rtp stack accept multiple payload types for DTMF (rfc2833) and Audio? Thanks, Dan From donghoon.vanuytsel at esaturnus.com Mon May 7 14:32:11 2007 From: donghoon.vanuytsel at esaturnus.com (Dong Hoon Van Uytsel) Date: Mon, 7 May 2007 23:32:11 +0200 Subject: [Live-devel] raw video over rtp In-Reply-To: <20070507205417.GA32374@Barney.robotics.net> References: <20070507205417.GA32374@Barney.robotics.net> Message-ID: Hello all, I'm interested in sending raw video over RTP using the liveMedia lib, following RFC4176. Has anyone done this before? Any recommendations? At first sight it looks reasonable to subclass the SimpleRTPSink and SimpleRTPSource classes for this purpose. Thanks, Dong Hoon Van Uytsel From finlayson at live555.com Mon May 7 16:54:31 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 7 May 2007 19:54:31 -0400 Subject: [Live-devel] Multiple Payload Types on RTP (DTMF Support) In-Reply-To: <20070507205417.GA32374@Barney.robotics.net> References: <20070507205417.GA32374@Barney.robotics.net> Message-ID: >Is there anyway to have the rtp stack accept multiple payload types >for DTMF (rfc2833) and Audio? No, not right now. This is on my 'to do list', however. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Mon May 7 16:57:10 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 7 May 2007 19:57:10 -0400 Subject: [Live-devel] raw video over rtp In-Reply-To: References: <20070507205417.GA32374@Barney.robotics.net> Message-ID: >Hello all, > >I'm interested in sending raw video over RTP using the liveMedia lib, >following RFC4176. Has anyone done this before? Any recommendations? >At first sight it looks reasonable to subclass the SimpleRTPSink and >SimpleRTPSource classes for this purpose. Actually, you would probably subclass "MultiFramedRTPSink/Source" (but in a way similar to the way that "BasicRTPSink/Source" is defined). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From vinodjoshi at tataelxsi.co.in Mon May 7 20:51:48 2007 From: vinodjoshi at tataelxsi.co.in (Vinod Madhav Joshi) Date: Tue, 8 May 2007 09:21:48 +0530 Subject: [Live-devel] MPEG2 ps media information Message-ID: <002001c79124$350c57c0$022a320a@telxsi.com> Thanks for your response. Here i am attaching the output of "openRTSP -V". Also I dumped the data at "sendto()" in GroupSockHelper.cpp I am getting the 2nd byte as 20 or A0 most of the time which is MPEG2 video-32 (after masking MSB in 2nd byte) Also some other value for 2nd byte C8(PT=72 after masking MSB of this byte) as payload type which may be the RTCP packet. But i am not able to find any packet with PT=14 (where 2nd byte of RTP packet will be (0E/8E) for MPEG 2 Audio. -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com]On Behalf Of Ross Finlayson Sent: Thursday, May 03, 2007 6:54 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] MPEG2 ps media information > I am using Live555 streaming server MPEG2 PS to Set top box. > > This may not be the proper place for my question. > > I am dumping the contents which are sent to client on the server >side. > > I observed that response for describe is sent as m= video with PT=32 >and for audio PT=14. > > But when the actual data is sent in RTP header Payload Type for video >i am getting correctly. > > But for audio i am not getting as PT=14 which has to be 14. > > i am getting dynamic payload types for some packets. That should not be happening, if you are streaming from a Program Stream file (and have not modified our source code). When streaming from a Program Stream file, you should be seeing RTP Payload Type codes 32 and 14 only. Please run "openRTSP -V" on your stream, and send us the console output, so we can take a look at it. -- 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 -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: openRTSP output.txt Url: http://lists.live555.com/pipermail/live-devel/attachments/20070507/c3a4a3eb/attachment.txt -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: ATT00078.txt Url: http://lists.live555.com/pipermail/live-devel/attachments/20070507/c3a4a3eb/attachment-0001.txt From violonvc2002 at yahoo.com Mon May 7 21:01:51 2007 From: violonvc2002 at yahoo.com (Hoang Nguyen Vi Cam Violon) Date: Mon, 7 May 2007 21:01:51 -0700 (PDT) Subject: [Live-devel] please help me ! In-Reply-To: Message-ID: <122019.88631.qm@web50407.mail.re2.yahoo.com> Ross Finlayson wrote: >When I build the lab as above, The client always show the error >"Unable to determine our source address. This computer has an >invalid IP address : 0x0" That error usualy means that IP multicast is not configured properly on your OS. Also, note that the IP addresses in a "rtsp://" URLs is the IP address of the *server*, not the client. -- 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 I'm just a beginner. I really don't understand that why we need an IP multicast here. As I understand : - I have a RTSP (live555) server at (192.168.27.73) and it listen on all interfaces (0.0.0.0:8554). - I have a RTSP client (VLC) at (192.168.27.235) and request for the media on server : rtsp://192.168.27.73:8554/cow.mpg As above : the server and client must see each other. And in the log, client has contacted with sever, and sent the SETUP & PLAY commands. But the stream hasn't been transported. Client sent TEARDOWN after 10s because it didn't receive any data. Both of them show error : "Unable to determine our source address. This computer has an invalid IP address : 0x0". Please help me to find out my error. Thank you very much, Cam Hoang. Sincerely, Cam Hoang --------------------------------- Ahhh...imagining that irresistible "new car" smell? Check outnew cars at Yahoo! Autos. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070507/d70770b6/attachment.html From finlayson at live555.com Mon May 7 21:33:51 2007 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 8 May 2007 00:33:51 -0400 Subject: [Live-devel] MPEG2 ps media information In-Reply-To: <002001c79124$350c57c0$022a320a@telxsi.com> References: <002001c79124$350c57c0$022a320a@telxsi.com> Message-ID: Are you able to play your stream using VLC as a client? (If so, then there is nothing wrong with your stream.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From vinodjoshi at tataelxsi.co.in Mon May 7 22:31:24 2007 From: vinodjoshi at tataelxsi.co.in (Vinod Madhav Joshi) Date: Tue, 8 May 2007 11:01:24 +0530 Subject: [Live-devel] MPEG2 ps media information In-Reply-To: Message-ID: <000401c79132$1f11efd0$022a320a@telxsi.com> Yes i am able to play the file using vlc. but is there any way to track the problem. In "DESCRIBE" response the payload type is seen as 14 for MPA but while actual "sendto" call data is sent with payload type "dynamic" for audio only and not the video. -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com]On Behalf Of Ross Finlayson Sent: Tuesday, May 08, 2007 10:04 AM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] MPEG2 ps media information Are you able to play your stream using VLC as a client? (If so, then there is nothing wrong with your stream.) -- 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 From finlayson at live555.com Mon May 7 22:32:23 2007 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 8 May 2007 01:32:23 -0400 Subject: [Live-devel] MPEG2 ps media information In-Reply-To: <000401c79132$1f11efd0$022a320a@telxsi.com> References: <000401c79132$1f11efd0$022a320a@telxsi.com> Message-ID: >Yes i am able to play the file using vlc. > but is there any way to track the problem. There is no problem! If you are able to play your stream using VLC, then the stream is correct. (But apparently you are not examining it correctly.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From opera at kth.se Tue May 8 01:37:46 2007 From: opera at kth.se (=?ISO-8859-1?Q?Gustaf_R=E4ntil=E4?=) Date: Tue, 08 May 2007 10:37:46 +0200 Subject: [Live-devel] please help me ! In-Reply-To: <122019.88631.qm@web50407.mail.re2.yahoo.com> References: <122019.88631.qm@web50407.mail.re2.yahoo.com> Message-ID: <464036DA.70102@kth.se> Hoang Nguyen Vi Cam Violon wrote: > */Ross Finlayson /* wrote: > > >When I build the lab as above, The client always show the error > >"Unable to determine our source address. This computer has an > >invalid IP address : 0x0" > > That error usualy means that IP multicast is not configured properly > on your OS. > > Also, note that the IP addresses in a "rtsp://" URLs is the IP > address of the *server*, not the client. > -- > > 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 > > > I'm just a beginner. I really don't understand that why we need an IP > multicast here. > As I understand : > - I have a RTSP (live555) server at (192.168.27.73) and it listen > on all interfaces (0.0.0.0:8554). > - I have a RTSP client (VLC) at (192.168.27.235) and request for > the media on server : rtsp://192.168.27.73:8554/cow.mpg > As above : the server and client must see each other. And in the log, > client has contacted with sever, and sent the SETUP & PLAY commands. > But the stream hasn't been transported. Client sent TEARDOWN after 10s > because it didn't receive any data. > Both of them show error : "Unable to determine our source address. > This computer has an invalid IP address : 0x0". > > Please help me to find out my error. > > Thank you very much, > Cam Hoang. > > > Sincerely, > Cam Hoang > > ------------------------------------------------------------------------ > Ahhh...imagining that irresistible "new car" smell? > Check out new cars at Yahoo! Autos. > > > ------------------------------------------------------------------------ > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > Well, It's hard to know if it's your fault, or liveMedia's (both are very reasonable), but a temporary solution would be to force liveMedia only to listen on your IP and not 0.0.0.0. To fix this, edit the file groupsock/GroupsockHelper.cpp. Around line 34 you have definitions for what IP to listen on. INADDR_ANY is the default (0.0.0.0). Change INADDR_ANY to 1226549440 which is your server's IP number. Gustaf From dweber at robotics.net Tue May 8 03:45:24 2007 From: dweber at robotics.net (Dan Weber) Date: Tue, 8 May 2007 06:45:24 -0400 Subject: [Live-devel] Multiple Payload Types on RTP (DTMF Support) In-Reply-To: References: <20070507205417.GA32374@Barney.robotics.net> Message-ID: <20070508104524.GA8484@Barney.robotics.net> I'm considering implementing it myself. Is there any recommended strategy I should take? I will make the patches available afterward. Dan On Mon, May 07, 2007 at 07:54:31PM -0400, Ross Finlayson wrote: > >Is there anyway to have the rtp stack accept multiple payload types > >for DTMF (rfc2833) and Audio? > > No, not right now. This is on my 'to do list', however. > -- > > 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 From vinodjoshi at tataelxsi.co.in Tue May 8 05:07:05 2007 From: vinodjoshi at tataelxsi.co.in (Vinod Madhav Joshi) Date: Tue, 8 May 2007 17:37:05 +0530 Subject: [Live-devel] MPEG2 ps media information In-Reply-To: Message-ID: <000401c79169$65d4d8b0$022a320a@telxsi.com> Hi, I know there had been lot of discussion on this issue. But still please anyone could get insight on this. I am attaching the the "GroupsockHelper.cpp" where i dumped the RTP data to RTPDATA.txt please someone compile source with this file. For every MPEG2 file i am getting the same kind of output without Audio payload (14) Please you check with MPEG2 TS it will dump payload type 33 which is correct. But for only MPEG Audio i am getting this problem. Please check the output with mp3 file also. Thanking you. -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com]On Behalf Of Ross Finlayson Sent: Tuesday, May 08, 2007 11:02 AM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] MPEG2 ps media information >Yes i am able to play the file using vlc. > but is there any way to track the problem. There is no problem! If you are able to play your stream using VLC, then the stream is correct. (But apparently you are not examining it correctly.) -- 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 -------------- next part -------------- A non-text attachment was scrubbed... Name: GroupsockHelper.cpp Type: application/octet-stream Size: 26352 bytes Desc: not available Url : http://lists.live555.com/pipermail/live-devel/attachments/20070508/085ee53b/attachment-0001.obj From dweber at robotics.net Tue May 8 05:57:31 2007 From: dweber at robotics.net (Dan Weber) Date: Tue, 8 May 2007 08:57:31 -0400 Subject: [Live-devel] Multiple Payload Types on RTP (DTMF Support) In-Reply-To: <20070508104524.GA8484@Barney.robotics.net> References: <20070507205417.GA32374@Barney.robotics.net> <20070508104524.GA8484@Barney.robotics.net> Message-ID: <20070508125731.GA9579@Barney.robotics.net> Here is my current course of plan for implementation. Add an additional getNextFrame function to the RTP hierarchy... it will have an additional parameter for the payload type. The current getNextFrame will be modified to point to the new function with the payload type being the default as set on construction. An additional function will allow you to associate payload types with Media input sources will be added. For RTPSinks, buildAndPack functions will have an additional parameter for payload type. I've had some questions if I should reuse the same jitter/reordering buffer implementation or associate a new one for each payload type. For rfc2833 dtmf, it should reuse the same timestamp calculations, so it has made me wonder if I should reuse the jitter buffer. Since rfc2833 uses its own distinct timestamps and incremented sequence numbers different from the audio stream, I think there should be a jitter buffer for each payload type. Dan On Tue, May 08, 2007 at 06:45:24AM -0400, Dan Weber wrote: > > I'm considering implementing it myself. Is there any recommended strategy I should take? > I will make the patches available afterward. > > Dan > > On Mon, May 07, 2007 at 07:54:31PM -0400, Ross Finlayson wrote: > > >Is there anyway to have the rtp stack accept multiple payload types > > >for DTMF (rfc2833) and Audio? > > > > No, not right now. This is on my 'to do list', however. > > -- > > > > 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 > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From yongliu at cs.uit.no Tue May 8 06:04:05 2007 From: yongliu at cs.uit.no (yongliu) Date: Tue, 8 May 2007 15:04:05 +0200 Subject: [Live-devel] preblem about udp replay Message-ID: <009f01c79171$5bad1430$b112f281@yongliu> I try udp replay in the test directory. I write a client with ffmpeg and send stream packets to udpserver. It does not work. I wonder what's the frame format Where can I get some information about it.. But ts streams outputed by VLC makes udp server work. Has someone managed to do live replay. Best Regards Yong -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070508/87a37c85/attachment.html From finlayson at live555.com Tue May 8 09:48:09 2007 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 8 May 2007 12:48:09 -0400 Subject: [Live-devel] Multiple Payload Types on RTP (DTMF Support) In-Reply-To: <20070508104524.GA8484@Barney.robotics.net> References: <20070507205417.GA32374@Barney.robotics.net> <20070508104524.GA8484@Barney.robotics.net> Message-ID: FYI, the way we will be implementing this (In the released "LIVE555 Streaming Media" code) will be to update the "RTPInterface" and "MultiFramedRTPSource" classes to handle the reception of more than one RTP payload type on the same network interface (and demultiplexing to the appropriate "RTPSource" object, based on the RTP payload type code). Also, we'll update the "MediaSession" code to recognize and handle more than one payload format code in a SDP "m=" line. Then, specifically for DTMF, we'll define and implement new "DTMFRTPSource" and "DTMFRTPSink" classes. (I.e., DTMF will use the existing source->sink mechanism, without change.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue May 8 09:49:57 2007 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 8 May 2007 12:49:57 -0400 Subject: [Live-devel] preblem about udp replay In-Reply-To: <009f01c79171$5bad1430$b112f281@yongliu> References: <009f01c79171$5bad1430$b112f281@yongliu> Message-ID: >I try udp replay in the test directory. Do you mean the "testRelay" (not 'replay') demo application? Remember, You Have Complete Source Code. -- 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/20070508/728edfd6/attachment.html From pcg at agathongroup.com Tue May 8 10:39:00 2007 From: pcg at agathongroup.com (peter green) Date: Tue, 8 May 2007 11:39:00 -0600 Subject: [Live-devel] openrtsp, ffmpeg, and poor H.261 video In-Reply-To: <20070403231934.GA29131@agathongroup.com> References: <20070403231934.GA29131@agathongroup.com> Message-ID: <20070508173900.GW32257@agathongroup.com> Hello again, I'm including the text from my original post to this list in hopes that there might be an answer for what I'm seeing. In addition, I'd like to play the raw H.261 stream that openRTSP outputs to see if the problem lies in the stuff openRTSP is reading/writing or if the problem is with ffmpeg. But I can't find a player that will deal with a raw H.261 stream. Any ideas on any of this? Thanks for the help! /pg -- Peter Green : Agathon Group : pcg at agathongroup.com * peter green [070403 17:21]: > I'm pulling from a Darwin Streaming Server that is broadcasting an SDP from > a Polycom VSX7000e video teleconferencing thing. I've been able to use > openrtsp to dump the H261 packets along with ulaw packets to individual > files. I've been able to reassemble them with ffmpeg. However, the video > is terribly pixelated whenever there is movement on camera. The stream I'm > pulling looks fine in QuickTime, but the same Quicktime shows really poor > quality video when I reassemble it into a .mov. > > My command lines: > > $ openRTSP -u user pass -e 30 rtsp://10.9.0.1/videostream.sdp > $ ffmpeg -y -r 15 -ar 8000 -acodec pcm_mulaw -f mulaw -i audio-PCMU-2 -f h261 -i video-H261-1 output.mov > > On the original stream, QuickTime shows: > > Format: H.261, 352x288, Millions+ > u-Law 2:1, Mono, 8.000 kHz > FPS: 0 > Playing FPS: 15 > > I'm going to check with the ffmpeg list because I have no idea where the > problem is occurring. All I know is that the stream shows fine in Quicktime > and is garbage once it passes through openRTSP and ffmpeg. > > I'm at my wit's end; does anyone know where I should look? > > Thanks! > > /pg > -- > Peter Green : Agathon Group : pcg at agathongroup.com > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From dweber at robotics.net Tue May 8 11:55:08 2007 From: dweber at robotics.net (Dan Weber) Date: Tue, 8 May 2007 14:55:08 -0400 Subject: [Live-devel] Multiple Payload Types on RTP (DTMF Support) In-Reply-To: References: <20070507205417.GA32374@Barney.robotics.net> <20070508104524.GA8484@Barney.robotics.net> Message-ID: <20070508185507.GB8484@Barney.robotics.net> What's the ETA on this? Dan On Tue, May 08, 2007 at 12:48:09PM -0400, Ross Finlayson wrote: > FYI, the way we will be implementing this (In the released "LIVE555 > Streaming Media" code) will be to update the "RTPInterface" and > "MultiFramedRTPSource" classes to handle the reception of more than > one RTP payload type on the same network interface (and > demultiplexing to the appropriate "RTPSource" object, based on the > RTP payload type code). Also, we'll update the "MediaSession" code > to recognize and handle more than one payload format code in a SDP > "m=" line. > > Then, specifically for DTMF, we'll define and implement new > "DTMFRTPSource" and "DTMFRTPSink" classes. > > (I.e., DTMF will use the existing source->sink mechanism, without change.) > -- > > 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 From donghoon.vanuytsel at esaturnus.com Tue May 8 12:05:11 2007 From: donghoon.vanuytsel at esaturnus.com (Dong Hoon Van Uytsel) Date: Tue, 8 May 2007 21:05:11 +0200 Subject: [Live-devel] raw video over rtp In-Reply-To: References: <20070507205417.GA32374@Barney.robotics.net> Message-ID: Op 8-mei-07, om 01:57 heeft Ross Finlayson het volgende geschreven: >> Hello all, >> >> I'm interested in sending raw video over RTP using the liveMedia lib, >> following RFC4176. Has anyone done this before? Any recommendations? >> At first sight it looks reasonable to subclass the SimpleRTPSink and >> SimpleRTPSource classes for this purpose. > > Actually, you would probably subclass "MultiFramedRTPSink/Source" > (but in a way similar to the way that "BasicRTPSink/Source" is > defined). Thanks, I'll pursue that direction then. (You probably meant SimpleRTPSink.) Dong Hoon Van Uytsel From silencertr at gmail.com Tue May 8 12:30:08 2007 From: silencertr at gmail.com (Cihat Goktug Gurler) Date: Tue, 8 May 2007 22:30:08 +0300 Subject: [Live-devel] MultiFramedRTPSource Message-ID: Hi, I'm developing a client application in MS Visual Studio 2005. I compile the source in release mode. When I run it from my desktop and a laptop everything is fine. But when I run it in another laptop which is a little less powerful (slower CPU) I receive the following error. MultiFramedRTPSource::doGetNextFrame1(): The total received frame size exceeds the client's buffer size (0). 10 bytes of trailing data will be dropped! ... MultiFramedRTPSource::doGetNextFrame1(): The total received frame size exceeds the client's buffer size (0). 1434 bytes of trailing data will be dropped I searched through the code and the error is about the fSavedMaxSize field of MultiFramedRTPSource class. Is there a way to explicitly set this number? There is also another field related to this which is fMaxSize. Does anyone has an opinion? Thanks in advance, Goktug Gurler From donghoon.vanuytsel at esaturnus.com Tue May 8 14:33:16 2007 From: donghoon.vanuytsel at esaturnus.com (Dong Hoon Van Uytsel) Date: Tue, 8 May 2007 23:33:16 +0200 Subject: [Live-devel] MultiFramedRTPSource In-Reply-To: References: Message-ID: <4FC40FD7-6C6D-4694-9485-1E5173B058C7@esaturnus.com> Someone correct me if i'm wrong. It seems to me that you have to dimension the input buffer of the sink (at least the size of the largest frame) that calls MultiFramedRTPSource::getNextFrame(). Op 8-mei-07, om 21:30 heeft Cihat Goktug Gurler het volgende geschreven: > Hi, > > I'm developing a client application in MS Visual Studio 2005. I > compile the source in release mode. When I run it from my desktop and > a laptop everything is fine. But when I run it in another laptop which > is a little less powerful (slower CPU) I receive the following error. > > > MultiFramedRTPSource::doGetNextFrame1(): The total received frame size > exceeds the client's buffer size (0). 10 bytes of trailing data will > be dropped! > ... > MultiFramedRTPSource::doGetNextFrame1(): The total received frame size > exceeds the client's buffer size (0). 1434 bytes of trailing data > will be dropped > > I searched through the code and the error is about the fSavedMaxSize > field of MultiFramedRTPSource class. Is there a way to explicitly set > this number? > > There is also another field related to this which is fMaxSize. > > Does anyone has an opinion? > > Thanks in advance, > > Goktug Gurler > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From silencertr at gmail.com Tue May 8 14:59:09 2007 From: silencertr at gmail.com (Cihat Goktug Gurler) Date: Wed, 9 May 2007 00:59:09 +0300 Subject: [Live-devel] MultiFramedRTPSource In-Reply-To: <4FC40FD7-6C6D-4694-9485-1E5173B058C7@esaturnus.com> References: <4FC40FD7-6C6D-4694-9485-1E5173B058C7@esaturnus.com> Message-ID: Hi, I believe so but I'm not sure how I can do that. Goktug On 5/9/07, Dong Hoon Van Uytsel wrote: > Someone correct me if i'm wrong. It seems to me that you have to > dimension the input buffer of the sink (at least the size of the > largest frame) that calls MultiFramedRTPSource::getNextFrame(). > > > Op 8-mei-07, om 21:30 heeft Cihat Goktug Gurler het volgende geschreven: > > > Hi, > > > > I'm developing a client application in MS Visual Studio 2005. I > > compile the source in release mode. When I run it from my desktop and > > a laptop everything is fine. But when I run it in another laptop which > > is a little less powerful (slower CPU) I receive the following error. > > > > > > MultiFramedRTPSource::doGetNextFrame1(): The total received frame size > > exceeds the client's buffer size (0). 10 bytes of trailing data will > > be dropped! > > ... > > MultiFramedRTPSource::doGetNextFrame1(): The total received frame size > > exceeds the client's buffer size (0). 1434 bytes of trailing data > > will be dropped > > > > I searched through the code and the error is about the fSavedMaxSize > > field of MultiFramedRTPSource class. Is there a way to explicitly set > > this number? > > > > There is also another field related to this which is fMaxSize. > > > > Does anyone has an opinion? > > > > Thanks in advance, > > > > Goktug Gurler > > _______________________________________________ > > live-devel mailing list > > live-devel at lists.live555.com > > http://lists.live555.com/mailman/listinfo/live-devel > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > From xcsmith at rockwellcollins.com Tue May 8 16:30:10 2007 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Tue, 8 May 2007 18:30:10 -0500 Subject: [Live-devel] RTSP Server Response Codes Message-ID: Ross, (You know this, but I'm writing it down as a basis for my question..) The LIVE555 RTSP Server returns the following response codes: 200 OK 400 Bad Request 405 Method Not Allowed 404 Stream Not Found 461 Unsupported Transport Each time any of the 400 "class" error codes is returned, fSessionIsActive is set to False and the session is deleted. Q: What is the point of having all kinds of fancy response codes available if all errors are unrecoverable and the session is terminated as a result? If I am watching my movie, and decide in the middle that I want to send SET_PARAMETER to the server, and the server says "405" back to me, why should that kill my movie? I can see why 404 and 461 could terminate the session, because the server would always be in the INIT state when returning these error codes. But 400 and 405 could be returned in any state. Thank you for your thoughts on this. xochitl From finlayson at live555.com Tue May 8 20:23:15 2007 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 8 May 2007 23:23:15 -0400 Subject: [Live-devel] Multiple Payload Types on RTP (DTMF Support) In-Reply-To: <20070508185507.GB8484@Barney.robotics.net> References: <20070507205417.GA32374@Barney.robotics.net> <20070508104524.GA8484@Barney.robotics.net> <20070508185507.GB8484@Barney.robotics.net> Message-ID: >What's the ETA on this? I don't know - but perhaps a couple of months. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue May 8 20:28:35 2007 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 8 May 2007 23:28:35 -0400 Subject: [Live-devel] RTSP Server Response Codes In-Reply-To: References: Message-ID: >I can see why 404 and 461 could terminate the >session, because the server would always be in the INIT state when >returning these error codes. But 400 and 405 could be returned in any >state. OK, this will be fixed in the next release of the software. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From violonvc2002 at yahoo.com Wed May 9 00:07:12 2007 From: violonvc2002 at yahoo.com (Hoang Nguyen Vi Cam Violon) Date: Wed, 9 May 2007 00:07:12 -0700 (PDT) Subject: [Live-devel] please help me ! In-Reply-To: <464036DA.70102@kth.se> Message-ID: <541067.95972.qm@web50412.mail.re2.yahoo.com> Well, It's hard to know if it's your fault, or liveMedia's (both are very reasonable), but a temporary solution would be to force liveMedia only to listen on your IP and not 0.0.0.0. To fix this, edit the file groupsock/GroupsockHelper.cpp. Around line 34 you have definitions for what IP to listen on. INADDR_ANY is the default (0.0.0.0). Change INADDR_ANY to 1226549440 which is your server's IP number. Gustaf _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel Hi, I has edited groupsock/GroupsockHelper.cpp as you said. The server now listens on 192.178.27.73 (not 0.0.0.0). But when client requests the movie, nothing to play. Both show error : "Unable to determine our source address. This computer has an invalid IP address : 0x0". Please help me. Cam Hoang. Sincerely, Cam Hoang --------------------------------- 8:00? 8:25? 8:40? Find a flick in no time with theYahoo! Search movie showtime shortcut. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070509/e85234bf/attachment.html From donghoon.vanuytsel at esaturnus.com Wed May 9 07:20:33 2007 From: donghoon.vanuytsel at esaturnus.com (Dong Hoon Van Uytsel) Date: Wed, 09 May 2007 16:20:33 +0200 Subject: [Live-devel] raw video over rtp In-Reply-To: References: <20070507205417.GA32374@Barney.robotics.net> Message-ID: <1178720433.3366.54.camel@localhost> On Mon, 2007-05-07 at 19:57 -0400, Ross Finlayson wrote: > >Hello all, > > > >I'm interested in sending raw video over RTP using the liveMedia lib, > >following RFC4176. Has anyone done this before? Any recommendations? > >At first sight it looks reasonable to subclass the SimpleRTPSink and > >SimpleRTPSource classes for this purpose. > > Actually, you would probably subclass "MultiFramedRTPSink/Source" > (but in a way similar to the way that "BasicRTPSink/Source" is > defined). I am experiencing quite a high percentage of UDP packet loss (about 10%). Are there any tweaks in the liveMedia lib that I may have overlooked? Thanks! Dong Hoon Van Uytsel From ilya77 at gmail.com Wed May 9 10:15:51 2007 From: ilya77 at gmail.com (ilya77 at gmail.com) Date: Wed, 9 May 2007 20:15:51 +0300 Subject: [Live-devel] raw video over rtp In-Reply-To: <1178720433.3366.54.camel@localhost> References: <20070507205417.GA32374@Barney.robotics.net> <1178720433.3366.54.camel@localhost> Message-ID: Actually we are having the same problem with MPEG-2 TS video. I would love to hear if you manage to solve it. By the way - Elecard's evaluation server overcomes this problem somehow... On 5/9/07, Dong Hoon Van Uytsel wrote: > > On Mon, 2007-05-07 at 19:57 -0400, Ross Finlayson wrote: > > >Hello all, > > > > > >I'm interested in sending raw video over RTP using the liveMedia lib, > > >following RFC4176. Has anyone done this before? Any recommendations? > > >At first sight it looks reasonable to subclass the SimpleRTPSink and > > >SimpleRTPSource classes for this purpose. > > > > Actually, you would probably subclass "MultiFramedRTPSink/Source" > > (but in a way similar to the way that "BasicRTPSink/Source" is > > defined). > > I am experiencing quite a high percentage of UDP packet loss (about > 10%). Are there any tweaks in the liveMedia lib that I may have > overlooked? > > Thanks! > Dong Hoon Van Uytsel > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070509/23bc8693/attachment.html From finlayson at live555.com Wed May 9 10:56:06 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 9 May 2007 13:56:06 -0400 Subject: [Live-devel] raw video over rtp In-Reply-To: <1178720433.3366.54.camel@localhost> References: <20070507205417.GA32374@Barney.robotics.net> <1178720433.3366.54.camel@localhost> Message-ID: >On Mon, 2007-05-07 at 19:57 -0400, Ross Finlayson wrote: >> >Hello all, >> > >> >I'm interested in sending raw video over RTP using the liveMedia lib, >> >following RFC4176. Has anyone done this before? Any recommendations? >> >At first sight it looks reasonable to subclass the SimpleRTPSink and >> >SimpleRTPSource classes for this purpose. >> >> Actually, you would probably subclass "MultiFramedRTPSink/Source" >> (but in a way similar to the way that "BasicRTPSink/Source" is >> defined). > >I am experiencing quite a high percentage of UDP packet loss (about >10%). Are there any tweaks in the liveMedia lib that I may have >overlooked? At the sending end, make sure you're sending out your packets correctly spaced apart. In particular, make sure that you're setting "fDurationInMicroseconds" correctly in whatever data source you're feeding into your "MultiFramedRTPSink" subclass. At the receiving end, you can try calling "increaseReceiveBufferTo()" to increase the OS's internal UDP reception buffer beyond it's usual value (50 kBytes). (See the VLC code ("live555.cpp") for an example of this.) If you're still seeing packet loss despite this, then it's probably occurring on the network. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From donghoon.vanuytsel at esaturnus.com Thu May 10 00:57:39 2007 From: donghoon.vanuytsel at esaturnus.com (Dong Hoon Van Uytsel) Date: Thu, 10 May 2007 09:57:39 +0200 Subject: [Live-devel] raw video over rtp In-Reply-To: References: <20070507205417.GA32374@Barney.robotics.net> <1178720433.3366.54.camel@localhost> Message-ID: <1178783859.3366.70.camel@localhost> Hello Ross, On Wed, 2007-05-09 at 13:56 -0400, Ross Finlayson wrote: > >On Mon, 2007-05-07 at 19:57 -0400, Ross Finlayson wrote: [...] > >I am experiencing quite a high percentage of UDP packet loss (about > >10%). Are there any tweaks in the liveMedia lib that I may have > >overlooked? > > At the sending end, make sure you're sending out your packets > correctly spaced apart. In particular, make sure that you're setting > "fDurationInMicroseconds" correctly in whatever data source you're > feeding into your "MultiFramedRTPSink" subclass. > > At the receiving end, you can try calling "increaseReceiveBufferTo()" > to increase the OS's internal UDP reception buffer beyond it's usual > value (50 kBytes). (See the VLC code ("live555.cpp") for an example > of this.) This was apparently the reason. Setting it to 512kB apparently solved it. Thanks for your hint! From rmpg2001 at gmail.com Thu May 10 03:00:22 2007 From: rmpg2001 at gmail.com (Ramon Martin de Pozuelo) Date: Thu, 10 May 2007 12:00:22 +0200 Subject: [Live-devel] Error 10054 Message-ID: <389189e20705100300n56c34ffdj960554ab38095a36@mail.gmail.com> Hi all, My application was sending H.264 video on broadcast when I received this error: bytesRead=-1 / err=10054 and then it stops. Someone could tell me what's this error meaning and how could I solve it? Thanks in advance, Ramon -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070510/05f4a3f4/attachment.html From jayfurmanek at gmail.com Thu May 10 16:13:41 2007 From: jayfurmanek at gmail.com (Jay Furmanek) Date: Thu, 10 May 2007 18:13:41 -0500 Subject: [Live-devel] bytestreamFileSource, doGetNextFrame, and events In-Reply-To: References: <258d83300705021213l21eebc16n6f97b5a4a5ec5292@mail.gmail.com> <258d83300705021326u1813524dn89f7e029909b6013@mail.gmail.com> <258d83300705021432t3e7599a8v6d71e69efb5f176@mail.gmail.com> Message-ID: <258d83300705101613m43c5975cw9d03ab2859e1176f@mail.gmail.com> Hi all, I'm seeing a couple odd problems when streaming files. I wanted to see if maybe anyone has seem something similar before. I'm streaming h.264 video from a file that just has 3-byte delimiters btw NAL units (AnnexB). I wrote a Framer and custom H264ByteStreamFileSource objects to get the data in one NALu at a time. The custom FileSource object reads until it hits a delimiter, and the framer keeps track of access units end points. oddity 1: sometime I get a bye packet that will cut off the stream midway. I can most of the time get the whole file written back out using openRTSP, but often it will stop early - not sure why. (it's a little more reliable if it use openRTSP with the TCP option) oddity 2: I tried playing the stream with VLC and while it decoded and displayed the first few frame, I got a bunch of 'late picture skipped' errors after that it was stuck displaying the first frame. Has anyone seen behaviour like this before? Could it be related to how I'm setting the timestamps? Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070510/f375749e/attachment-0001.html From finlayson at live555.com Thu May 10 20:18:12 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 10 May 2007 23:18:12 -0400 Subject: [Live-devel] bytestreamFileSource, doGetNextFrame, and events In-Reply-To: <258d83300705101613m43c5975cw9d03ab2859e1176f@mail.gmail.com> References: <258d83300705021213l21eebc16n6f97b5a4a5ec5292@mail.gmail.com> <258d83300705021326u1813524dn89f7e029909b6013@mail.gmail.com> <258d83300705021432t3e7599a8v6d71e69efb5f176@mail.gmail.com> <258d83300705101613m43c5975cw9d03ab2859e1176f@mail.gmail.com> Message-ID: >oddity 1: sometime I get a bye packet that will cut off the stream >midway. I can most of the time get the whole file written back out >using openRTSP, but often it will stop early - not sure why. (it's a >little more reliable if it use openRTSP with the TCP option) "openRTSP" should send back a RTCP "BYE" packet only after it thinks it has reached the end of the stream - and this can happen only if you specify the 'end time' of the stream, either explicitly (using the "-e " option to openRTSP), or implicitly (by an end time appearing in the SDP "t=" line). So if you're not specifying an end time for your stream, I don't see how your server can be getting a RTCP "BYE" packet. > >oddity 2: I tried playing the stream with VLC and while it decoded >and displayed the first few frame, I got a bunch of 'late picture >skipped' errors after that it was stuck displaying the first frame. Are you setting "fPresentationTime" and "fDurationInMicroseconds" correctly in your 'framer' class? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From rajeshkumar.r at imimobile.com Fri May 11 01:58:50 2007 From: rajeshkumar.r at imimobile.com (rajesh) Date: Fri, 11 May 2007 14:28:50 +0530 Subject: [Live-devel] Transfering the Multimedia Content from one Port to different Port Message-ID: <0fba01c793aa$98289bb0$6902000a@imidomain.com> ----------------------------------------------------------------------OPENRTSP-------LOG--------------------------------------------------------------------- Created receiver for "video/MP4V-ES" subsession (client ports 6000-6001) Created receiver for "audio/AMR" subsession (client ports 6002-6003) Setup "video/MP4V-ES" subsession (client ports 6000-6001) Setup "audio/AMR" subsession (client ports 6002-6003) Created output file: "video-MP4V-ES-1" Created output file: "audio-AMR-2" Started playing session Receiving streamed data (for up to 61.400002 seconds)... ----------------------------------------------------------------------------------LOG END--------------------------------------------------------- using openRTSP client ,I am able to recv the multimedia streaming on 6000 and 60002 port. I want to transfer the same data to different port say 3000-3002. 3000 and 3002 port are being used by Application that will transfer the same content to the mobile. plz suggest me how to implement. Thanks and Regards Rajesh Kumar Software Enginner Cont-9908400027 NOTE: mobile not in use in office time. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070511/2da922d4/attachment.html From julian.lamberty at mytum.de Fri May 11 05:45:28 2007 From: julian.lamberty at mytum.de (Julian Lamberty) Date: Fri, 11 May 2007 14:45:28 +0200 Subject: [Live-devel] IP_ADD_MEMBERSHIP error Message-ID: <46446568.9020703@mytum.de> Hi! I'm trying to open a stream from vobStreamer with VLC, which uses live555's libs. But everytime I get the following error: Sending request: OPTIONS rtsp://192.168.2.46/vobStream RTSP/1.0 CSeq: 1 User-Agent: VLC media player (LIVE555 Streaming Media v2007.02.20) Received OPTIONS response: RTSP/1.0 200 OK CSeq: 1 Date: Fri, May 11 2007 14:12:10 GMT Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE Sending request: DESCRIBE rtsp://192.168.2.46/vobStream RTSP/1.0 CSeq: 2 Accept: application/sdp User-Agent: VLC media player (LIVE555 Streaming Media v2007.02.20) Received DESCRIBE response: RTSP/1.0 200 OK CSeq: 2 Date: Fri, May 11 2007 14:12:10 GMT Content-Base: rtsp://192.168.2.46/vobStream/ Content-Type: application/sdp Content-Length: 453 Need to read 453 extra bytes Read 453 extra bytes: v=0 o=- 1178890144653306 1 IN IP4 192.168.2.46 s=Session streamed by "vobStreamer" i=/mnt/VIDEO_TS/VTS_01_1.VOB t=0 0 a=tool:LIVE555 Streaming Media v2007.02.20 a=type:broadcast a=control:* a=source-filter: incl IN IP4 * 192.168.2.46 a=rtcp-unicast: reflection a=range:npt=0- a=x-qt-text-nam:Session streamed by "vobStreamer" a=x-qt-text-inf:/mnt/VIDEO_TS/VTS_01_1.VOB m=video 8888 RTP/AVP 32 c=IN IP4 232.34.164.65/255 a=control:track1 14:28:06 Groupsock(5: 232.34.164.65, 8888, SSM source: 192.168.2.46): failed to join group: setsockopt(IP_ADD_MEMBERSHIP) error: No such device 14:28:06 Groupsock(6: 232.34.164.65, 8889, SSM source: 192.168.2.46): failed to join group: setsockopt(IP_ADD_MEMBERSHIP) error: No such device And VLC doesn't display anything. Same thing if I try to access it with ffmpeg. What's wrong? Julian -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 5198 bytes Desc: S/MIME Cryptographic Signature Url : http://lists.live555.com/pipermail/live-devel/attachments/20070511/1aae6673/attachment.bin From finlayson at live555.com Fri May 11 06:25:59 2007 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 11 May 2007 09:25:59 -0400 Subject: [Live-devel] IP_ADD_MEMBERSHIP error In-Reply-To: <46446568.9020703@mytum.de> References: <46446568.9020703@mytum.de> Message-ID: >14:28:06 Groupsock(5: 232.34.164.65, 8888, SSM source: >192.168.2.46): failed to join group: setsockopt(IP_ADD_MEMBERSHIP) >error: No such device >14:28:06 Groupsock(6: 232.34.164.65, 8889, SSM source: >192.168.2.46): failed to join group: setsockopt(IP_ADD_MEMBERSHIP) >error: No such device > >And VLC doesn't display anything. Same thing if I try to access it >with ffmpeg. What's wrong? You don't have multicast configured properly on your client computer. (Make sure you have a route for 224.0.0/4 ) Also, of course, you will need to have multicast connectivity between your server and client. (If you're on a LAN then that should not be an issue.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Fri May 11 06:54:36 2007 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 11 May 2007 09:54:36 -0400 Subject: [Live-devel] Transfering the Multimedia Content from one Port to different Port In-Reply-To: <0fba01c793aa$98289bb0$6902000a@imidomain.com> References: <0fba01c793aa$98289bb0$6902000a@imidomain.com> Message-ID: >using openRTSP client ,I am able to recv the multimedia streaming on >6000 and 60002 port. >I want to transfer the same data to different port say 3000-3002. >3000 and 3002 port are being used by Application that will transfer >the same content to the mobile. You can do this using openRTSP's "-p " option. (See the documentation.) -- 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/20070511/8ef109e0/attachment.html From jayfurmanek at gmail.com Fri May 11 09:55:32 2007 From: jayfurmanek at gmail.com (Jay Furmanek) Date: Fri, 11 May 2007 11:55:32 -0500 Subject: [Live-devel] bytestreamFileSource, doGetNextFrame, and events In-Reply-To: References: <258d83300705021213l21eebc16n6f97b5a4a5ec5292@mail.gmail.com> <258d83300705021326u1813524dn89f7e029909b6013@mail.gmail.com> <258d83300705021432t3e7599a8v6d71e69efb5f176@mail.gmail.com> <258d83300705101613m43c5975cw9d03ab2859e1176f@mail.gmail.com> Message-ID: <258d83300705110955o57d6399cod3270af1bae622a5@mail.gmail.com> > > >> > >>oddity 2: I tried playing the stream with VLC and while it decoded > >>and displayed the first few frame, I got a bunch of 'late picture > >>skipped' errors after that it was stuck displaying the first frame. > > > >Are you setting "fPresentationTime" and "fDurationInMicroseconds" > >correctly in your 'framer' class? > ->- I'm thinking that's my culprit -setting the timing wrong. For the presentationTime, I just stamp the current NAL unit when I read it in with the current time from gettimeofday(), basically as the transmission time. I'm not sure I know how the DurationInMicroseconds should be set. _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070511/b3496d98/attachment.html From jayfurmanek at gmail.com Fri May 11 10:55:24 2007 From: jayfurmanek at gmail.com (Jay Furmanek) Date: Fri, 11 May 2007 12:55:24 -0500 Subject: [Live-devel] bytestreamFileSource, doGetNextFrame, and events In-Reply-To: <258d83300705110955o57d6399cod3270af1bae622a5@mail.gmail.com> References: <258d83300705021213l21eebc16n6f97b5a4a5ec5292@mail.gmail.com> <258d83300705021326u1813524dn89f7e029909b6013@mail.gmail.com> <258d83300705021432t3e7599a8v6d71e69efb5f176@mail.gmail.com> <258d83300705101613m43c5975cw9d03ab2859e1176f@mail.gmail.com> <258d83300705110955o57d6399cod3270af1bae622a5@mail.gmail.com> Message-ID: <258d83300705111055x6a5986bcvfb6bbf60c4e02eb8@mail.gmail.com> You were right, Ross. I set the DurationInMS according to the framerate and it works now. Thanks for your help! On 5/11/07, Jay Furmanek wrote: > > >> > > >>oddity 2: I tried playing the stream with VLC and while it decoded > > >>and displayed the first few frame, I got a bunch of 'late picture > > >>skipped' errors after that it was stuck displaying the first frame. > > > > > >Are you setting "fPresentationTime" and "fDurationInMicroseconds" > > >correctly in your 'framer' class? > > ->- > > > I'm thinking that's my culprit -setting the timing wrong. For the > presentationTime, I just stamp the current NAL unit when I read it in with > the current time from gettimeofday(), basically as the transmission time. > > I'm not sure I know how the DurationInMicroseconds should be set. > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070511/e083adc2/attachment-0001.html From julian.lamberty at mytum.de Fri May 11 12:16:18 2007 From: julian.lamberty at mytum.de (Julian Lamberty) Date: Fri, 11 May 2007 21:16:18 +0200 Subject: [Live-devel] IP_ADD_MEMBERSHIP error In-Reply-To: References: <46446568.9020703@mytum.de> Message-ID: <4644C102.5080007@mytum.de> Ross Finlayson schrieb: >
>14:28:06 > Groupsock(5: 232.34.164.65, 8888, SSM source: >> 192.168.2.46): failed to join group: setsockopt(IP_ADD_MEMBERSHIP) >> error: No such device >> 14:28:06 Groupsock(6: 232.34.164.65, 8889, SSM source: 192.168.2.46): >> failed to join group: setsockopt(IP_ADD_MEMBERSHIP) error: No such >> device >> >> And VLC doesn't display anything. Same thing if I try to access it >> with ffmpeg. What's wrong? > > You don't have multicast configured properly on your client computer. > (Make sure you have a route for 224.0.0/4 ) > > Also, of course, you will need to have multicast connectivity between > your server and client. (If you're on a LAN then that should not be > an issue.) OK, that seems to work for VLC, but not for FFMPEG, I stillt get the same error there... (I'm on a LAN) -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 5198 bytes Desc: S/MIME Cryptographic Signature Url : http://lists.live555.com/pipermail/live-devel/attachments/20070511/d8285146/attachment.bin From odjosc at free.fr Fri May 11 14:35:34 2007 From: odjosc at free.fr (Olivier DJIAN) Date: Fri, 11 May 2007 23:35:34 +0200 Subject: [Live-devel] RTSP source for VDR In-Reply-To: References: <1170082800.45be0bf0406e0@imp.free.fr> <1170168882.45bf5c3265b63@imp.free.fr> Message-ID: <200705112335.34115.odjosc@free.fr> Hi, Finally, I succeeded writing the MediaSink object and all seems to work fine. However, on an Athlon 1800+ computer, VDR consumes 100% CPU when plugin with liveMedia is used (RTSP source) and 3% if not (using a DVB PCI card source). I wonder how the "forever loop" works (e.g. env->taskScheduler().doEventLoop()) Does someone have suggestions to help me diagnose where in my liveMedia using there is some excessive cpu-consuming code (I don't make any video decoding nor encoding with liveMedia as VDR uses TS stream directly) ? Thanks for your help. Olivier. Le mardi 30 janvier 2007, Ross Finlayson a ?crit?: > > > I.e., you must write an appropriate "MediaSink" object to handle the > >> > >> incoming TS data. (However, if you plan to just store this in a > >> file, then you can use most of the "openRTSP" code as is. Or, you > >> can just run "openRTSP" with the "-v" option, to get the incoming TS > >> data written to 'stdout'.) > >> -- > > > >Unfortunately, it's not that easy because I'm only writing a plugin for > > VDR. > > Therefore, you're going to have to figure out how to write such a > 'plugin' that works with the "LIVE555 Streaming Media" event loop. > Because I don't know anything about how such a plugin works - in > particular, whether it has its own event loop (in which case you'd > need to somehow merge it with ours), or whether it has its own > thread, doing reads synchronously - I'm probably not going to be able > to help you any more with this. I suggest consulting an appropriate > mailing list for your VDR software. From dweber at robotics.net Fri May 11 15:44:40 2007 From: dweber at robotics.net (Dan Weber) Date: Fri, 11 May 2007 18:44:40 -0400 Subject: [Live-devel] Fails to reschedule getNextFrame(...,pt) Message-ID: <20070511224440.GA8891@Barney.robotics.net> Hi guys, Attached is a patch that adds multiple payload type support at the RTP Source level. I'm experiencing an issue after I get say DTMF pt 101 and it properly calls my dtmfsource's class afterGettingFunc, and then that rtpsource, seems to either A) stop listening for network input (although no bounces shown in ethereal) or B) fails to reschedule. My DTMFSource class also attached, properly calls FramedSource::afterGetting, this as well. There are two seperate SimpleRTPSinks on the same groupsock (one for audio and one for dtmf). So I'm confused, Does anybody know of an obvious answer to what could be the cause of the problem? Thanks, Dan -------------- next part -------------- Index: live/liveMedia/include/MultiFramedRTPSource.hh =================================================================== --- live.orig/liveMedia/include/MultiFramedRTPSource.hh 2007-05-08 16:10:07.000000000 -0400 +++ live/liveMedia/include/MultiFramedRTPSource.hh 2007-05-08 18:43:01.000000000 -0400 @@ -26,10 +26,64 @@ #include "RTPSource.hh" #endif +#include +#include "FramedSource.hh" + +struct MultiFramedRTPSourceInfo { + typedef void (afterGettingFunc)(void* clientData, unsigned frameSize, + unsigned numTruncatedBytes, + struct timeval presentationTime, + unsigned durationInMicroseconds); + + unsigned char rtpPayloadType; + unsigned char* fTo; + unsigned fMaxSize; + afterGettingFunc* fAfterGettingFunc; + void* fAfterGettingFuncClientData; + + MultiFramedRTPSourceInfo() {} + + MultiFramedRTPSourceInfo(unsigned char pt, + unsigned char* to, + unsigned maxSize, + afterGettingFunc* afterGettingFunc, + void* afterGettingFuncClientData) : + rtpPayloadType(pt), + fTo(to), + fMaxSize(maxSize), + fAfterGettingFunc(afterGettingFunc), + fAfterGettingFuncClientData(afterGettingFuncClientData) {} +}; + + class BufferedPacket; // forward class BufferedPacketFactory; // forward class MultiFramedRTPSource: public RTPSource { +public: + void getNextFrame(unsigned char* to, unsigned maxSize, + afterGettingFunc* afterGettingFunc, + void* afterGettingClientData, + onCloseFunc* onCloseFunc, + void* onCloseClientData) { + FramedSource::getNextFrame(to,maxSize,afterGettingFunc,afterGettingClientData, + onCloseFunc, onCloseClientData); + } + void getNextFrame(unsigned char* to, unsigned maxSize, + afterGettingFunc* afterGettingFunc, + void* afterGettingClientData, + onCloseFunc* onCloseFunc, + void* onCloseClientData, unsigned char rtpPayloadType) { + + mPayloadHash[rtpPayloadType] = MultiFramedRTPSourceInfo(rtpPayloadType, + to, + maxSize, + afterGettingFunc, + afterGettingClientData); + // Can't handle onClose for now + } + + protected: MultiFramedRTPSource(UsageEnvironment& env, Groupsock* RTPgs, unsigned char rtpPayloadFormat, @@ -50,6 +104,9 @@ protected: Boolean fCurrentPacketBeginsFrame; Boolean fCurrentPacketCompletesFrame; + std::map mPayloadHash; + unsigned char fAfterGettingPt; + protected: // redefined virtual functions: @@ -64,6 +121,19 @@ void reset(); void doGetNextFrame1(); + static void alternatePtAfterGetting(FramedSource* framedSource) { + MultiFramedRTPSource* fs = dynamic_cast(framedSource); + if (!fs) + throw; + MultiFramedRTPSourceInfo& info = fs->mPayloadHash[fs->fAfterGettingPt]; + if (info.fAfterGettingFunc) + (*info.fAfterGettingFunc)(info.fAfterGettingFuncClientData,fs->fFrameSize, + fs->fNumTruncatedBytes,fs->fPresentationTime, + fs->fDurationInMicroseconds); + fs->mPayloadHash.erase(fs->fAfterGettingPt); + fs->fAfterGettingPt = 0; + } + static void networkReadHandler(MultiFramedRTPSource* source, int /*mask*/); friend void networkReadHandler(MultiFramedRTPSource*, int); @@ -94,7 +164,7 @@ void assignMiscParams(unsigned short rtpSeqNo, unsigned rtpTimestamp, struct timeval presentationTime, Boolean hasBeenSyncedUsingRTCP, - Boolean rtpMarkerBit, struct timeval timeReceived); + Boolean rtpMarkerBit, struct timeval timeReceived, unsigned char rtpPayloadType); void skip(unsigned numBytes); // used to skip over an initial header void removePadding(unsigned numBytes); // used to remove trailing bytes void appendData(unsigned char* newData, unsigned numBytes); @@ -112,6 +182,7 @@ unsigned char* data() const { return &fBuf[fHead]; } unsigned dataSize() const { return fTail-fHead; } Boolean rtpMarkerBit() const { return fRTPMarkerBit; } + unsigned char rtpPayloadType() const { return fRTPPayloadType; } protected: virtual void reset(); @@ -138,6 +209,7 @@ Boolean fHasBeenSyncedUsingRTCP; Boolean fRTPMarkerBit; struct timeval fTimeReceived; + unsigned char fRTPPayloadType; }; // A 'factory' class for creating "BufferedPacket" objects. Index: live/liveMedia/MultiFramedRTPSource.cpp =================================================================== --- live.orig/liveMedia/MultiFramedRTPSource.cpp 2007-05-08 16:41:44.000000000 -0400 +++ live/liveMedia/MultiFramedRTPSource.cpp 2007-05-10 18:41:40.000000000 -0400 @@ -169,10 +169,20 @@ // The packet is usable. Deliver all or part of it to our caller: unsigned frameSize; - nextPacket->use(fTo, fMaxSize, frameSize, fNumTruncatedBytes, + if (nextPacket->rtpPayloadType() == rtpPayloadFormat()) { + nextPacket->use(fTo, fMaxSize, frameSize, fNumTruncatedBytes, fCurPacketRTPSeqNum, fCurPacketRTPTimestamp, fPresentationTime, fCurPacketHasBeenSynchronizedUsingRTCP, fCurPacketMarkerBit); + } else { + // This implies we have an alternate handler for this payload type + MultiFramedRTPSourceInfo& info = mPayloadHash[nextPacket->rtpPayloadType()]; + fAfterGettingPt = nextPacket->rtpPayloadType(); + nextPacket->use(info.fTo,info.fMaxSize,frameSize,fNumTruncatedBytes, + fCurPacketRTPSeqNum, fCurPacketRTPTimestamp, + fPresentationTime, fCurPacketHasBeenSynchronizedUsingRTCP, + fCurPacketMarkerBit); + } fFrameSize += frameSize; if (!nextPacket->hasUsableData()) { @@ -192,16 +202,33 @@ // Common case optimization: There are no more queued incoming packets, so this code will not get // executed again without having first returned to the event loop. Call our 'after getting' function // directly, because there's no risk of a long chain of recursion (and thus stack overflow): - afterGetting(this); + + if (nextPacket->rtpPayloadType() == rtpPayloadFormat()) { + afterGetting(this); + } else { + MultiFramedRTPSourceInfo& info = mPayloadHash[nextPacket->rtpPayloadType()]; + (*info.fAfterGettingFunc)(info.fAfterGettingFuncClientData,fFrameSize, + fNumTruncatedBytes,fPresentationTime, + fDurationInMicroseconds); + mPayloadHash.erase(nextPacket->rtpPayloadType()); + } } else { // Special case: Call our 'after getting' function via the event loop. + nextTask() = envir().taskScheduler().scheduleDelayedTask(0, - (TaskFunc*)FramedSource::afterGetting, this); + nextPacket->rtpPayloadType() == rtpPayloadFormat() ? + (TaskFunc*)FramedSource::afterGetting : (TaskFunc*)alternatePtAfterGetting, this); + } } else { // This packet contained fragmented data, and does not complete // the data that the client wants. Keep getting data: - fTo += frameSize; fMaxSize -= frameSize; + if (nextPacket->rtpPayloadType() == rtpPayloadFormat()) { + fTo += frameSize; fMaxSize -= frameSize; + } else { + MultiFramedRTPSourceInfo& info = mPayloadHash[nextPacket->rtpPayloadType()]; + info.fTo += frameSize; info.fMaxSize -= frameSize; + } fNeedDelivery = True; } } @@ -265,7 +292,8 @@ // Check the Payload Type. if ((unsigned char)((rtpHdr&0x007F0000)>>16) != source->rtpPayloadFormat()) { - break; + if (source->mPayloadHash.find((unsigned char)((rtpHdr&0x007F0000)>>16)) == source->mPayloadHash.end()) + break; } // The rest of the packet is the usable data. Record and save it: @@ -287,7 +315,7 @@ gettimeofday(&timeNow, NULL); bPacket->assignMiscParams(rtpSeqNo, rtpTimestamp, presentationTime, hasBeenSyncedUsingRTCP, rtpMarkerBit, - timeNow); + timeNow, (unsigned char)((rtpHdr&0x007F0000)>>16)); if (!source->fReorderingBuffer->storePacket(bPacket)) break; readSuccess = True; @@ -360,13 +388,14 @@ ::assignMiscParams(unsigned short rtpSeqNo, unsigned rtpTimestamp, struct timeval presentationTime, Boolean hasBeenSyncedUsingRTCP, Boolean rtpMarkerBit, - struct timeval timeReceived) { + struct timeval timeReceived, unsigned char rtpPayloadType) { fRTPSeqNo = rtpSeqNo; fRTPTimestamp = rtpTimestamp; fPresentationTime = presentationTime; fHasBeenSyncedUsingRTCP = hasBeenSyncedUsingRTCP; fRTPMarkerBit = rtpMarkerBit; fTimeReceived = timeReceived; + fRTPPayloadType = rtpPayloadType; } void BufferedPacket::skip(unsigned numBytes) { -------------- next part -------------- #include "DTMFSource.h" #include namespace msoup { DTMFSource::DTMFSource(UsageEnvironment& ue, MultiFramedRTPSource* fs, uint8_t payloadType) : FramedFilter(ue, fs), mBuffer(1000), mPayloadType(payloadType) { } void DTMFSource::doGetNextFrame() { if (!fInputSource) { return; } MultiFramedRTPSource* fs = static_cast(fInputSource); fs->getNextFrame(&mBuffer[0], 1000, afterGettingFrame, this, FramedFilter::handleClosure, this, mPayloadType); } void DTMFSource::afterGettingFrame(unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds) { std::copy(mBuffer.begin(),mBuffer.begin()+frameSize,fTo); fPresentationTime = presentationTime; fDurationInMicroseconds = durationInMicroseconds; fNumTruncatedBytes = numTruncatedBytes; fFrameSize = frameSize; FramedSource::afterGetting(this); } DTMFSource::~DTMFSource() { } } -------------- next part -------------- #ifndef DTMFSOURCE_H_ #define DTMFSOURCE_H_ #include "liveMedia.hh" #include namespace msoup { class DTMFSource : public FramedFilter { std::vector mBuffer; const uint8_t mPayloadType; public: DTMFSource(UsageEnvironment& ue, MultiFramedRTPSource* fs, uint8_t payloadType = 101); virtual void doGetNextFrame(); virtual ~DTMFSource(); private: static void afterGettingFrame(void* clientData, unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds) { static_cast(clientData)->afterGettingFrame(frameSize,numTruncatedBytes,presentationTime,durationInMicroseconds); } void afterGettingFrame(unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds); }; } #endif /*DTMFSOURCE_H_*/ From finlayson at live555.com Fri May 11 22:18:53 2007 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 11 May 2007 22:18:53 -0700 Subject: [Live-devel] IP_ADD_MEMBERSHIP error In-Reply-To: <4644C102.5080007@mytum.de> References: <46446568.9020703@mytum.de> <4644C102.5080007@mytum.de> Message-ID: >OK, that seems to work for VLC, but not for FFMPEG This mailing list has nothing to do with FFMPEG. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From yinglcs at gmail.com Sat May 12 13:50:13 2007 From: yinglcs at gmail.com (ying lcs) Date: Sat, 12 May 2007 15:50:13 -0500 Subject: [Live-devel] Using live555 as the RTSP streaming library Message-ID: <568e62a40705121350h5a4acbeaub2197c52095c09eb@mail.gmail.com> Hi, Can you please tell me if live555 sends out RSTP Sender Report when it streams a file? Thank you. From finlayson at live555.com Sat May 12 22:46:25 2007 From: finlayson at live555.com (Ross Finlayson) Date: Sat, 12 May 2007 22:46:25 -0700 Subject: [Live-devel] Using live555 as the RTSP streaming library In-Reply-To: <568e62a40705121350h5a4acbeaub2197c52095c09eb@mail.gmail.com> References: <568e62a40705121350h5a4acbeaub2197c52095c09eb@mail.gmail.com> Message-ID: >Can you please tell me if live555 sends out RSTP Sender Report when it >streams a file? I think you mean "RTCP Sender Report" (not "RTSP Sender Report"). Yes, our RTSP server implementation (more precisely, the "OnDemandServerMediaSubsession" and "PassiveServerMediaSubsession" classes) creates "RTCPInstance" objects for each stream, and these send out RTCP Sender Report ("SR") packets. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From rajeshkumar.r at imimobile.com Mon May 14 01:52:58 2007 From: rajeshkumar.r at imimobile.com (rajesh) Date: Mon, 14 May 2007 14:22:58 +0530 Subject: [Live-devel] Transfering the Multimedia Content from one Port to different Port References: <0fba01c793aa$98289bb0$6902000a@imidomain.com> Message-ID: <15b501c79605$4592f410$6902000a@imidomain.com> Re: [Live-devel] Transfering the Multimedia Content from oHi Ross, Thanks for the Reply. if I want to transfer multimedia content on port number on different system(IP). instead of local system I want to transfer multimedia content on different system. Thanks and Regards Rajesh Kumar Software Enginner Cont-9908400027 NOTE: mobile not in use in office time. ----- Original Message ----- From: Ross Finlayson To: LIVE555 Streaming Media - development & use Sent: Friday, May 11, 2007 7:24 PM Subject: Re: [Live-devel] Transfering the Multimedia Content from one Port to different Port using openRTSP client ,I am able to recv the multimedia streaming on 6000 and 60002 port. I want to transfer the same data to different port say 3000-3002. 3000 and 3002 port are being used by Application that will transfer the same content to the mobile. You can do this using openRTSP's "-p " option. (See the documentation.) -- 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070514/5fda74f6/attachment.html From philip.marivoet at gmail.com Mon May 14 05:16:45 2007 From: philip.marivoet at gmail.com (Philip Marivoet) Date: Mon, 14 May 2007 14:16:45 +0200 Subject: [Live-devel] Index file for H.264/AAC over mpeg2ts Message-ID: <2c14d2900705140516t1c9773e3y315327f4e26391f4@mail.gmail.com> Hi, >>I've seen some recent posts regarding H.264 - specifically one >>regarding the creation of index files. I have placed an HD H.264 >>sample clip from a live encoder and was wondering if someone (Ross >>?) could take a look to see what would be required to be able to >>support indexing? >> >>You can access the file here: >>http://www.geeknet.ca/~temp/tenten16-2.ts > >Thanks. (I'm downloading this now.) We are using the live555Mediaserver to stream MPEG2/TS files containing H.264 video and AAC audio. This is working very well (thank you), but we would like to use the trick mode functionality. Did you already make some progress on the index file generation for H.264 TS files? Regards, Philip From finlayson at live555.com Mon May 14 07:50:54 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 14 May 2007 07:50:54 -0700 Subject: [Live-devel] Index file for H.264/AAC over mpeg2ts In-Reply-To: <2c14d2900705140516t1c9773e3y315327f4e26391f4@mail.gmail.com> References: <2c14d2900705140516t1c9773e3y315327f4e26391f4@mail.gmail.com> Message-ID: >We are using the live555Mediaserver to stream MPEG2/TS files >containing H.264 video and AAC audio. This is working very well (thank >you), but we would like to use the trick mode functionality. > >Did you already make some progress on the index file generation for >H.264 TS files? When this is available, I'll announce it to the mailing list. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From yinglcs at gmail.com Mon May 14 09:28:51 2007 From: yinglcs at gmail.com (ying lcs) Date: Mon, 14 May 2007 11:28:51 -0500 Subject: [Live-devel] Using live555 as the RTSP streaming library In-Reply-To: References: <568e62a40705121350h5a4acbeaub2197c52095c09eb@mail.gmail.com> Message-ID: <568e62a40705140928v4b8a7813r96b99546863f6480@mail.gmail.com> I am using vlc to tanscode a file in boardcast mode, like this: vlc -I dummy mask.wmv --sout #transcode{vcodec=mp4v,vb=400,acodec=mpga,ab=128}:rtp{dst=10.20.20.68,port-video=3444,port-audio=3448,sdp=file:///usr/local/movies/mytest4.sdp} I think vlc depends os live555 as it rtp transport. And I have setup a network trace to capture rtp packet sent out: 10.. .... = Version : RFC 1889 Version (2) ..0. .... = Padding: False ...0 .... = Extension: False .... 0000 = contributing source identifiers count: 0 0... .... = Marker: False Payload type: Unknown (96) Sequence number: 18499 Timestamp: 719731146 Synchronization Source identifier: 1472073403 Payload: 043D8DF8180F84208524064B .... My question is why the payload type is 96? If that is the case, how can the client decode this RTP packet? Thank you. On 5/13/07, Ross Finlayson wrote: > >Can you please tell me if live555 sends out RSTP Sender Report when it > >streams a file? > > I think you mean "RTCP Sender Report" (not "RTSP Sender Report"). > > Yes, our RTSP server implementation (more precisely, the > "OnDemandServerMediaSubsession" and "PassiveServerMediaSubsession" > classes) creates "RTCPInstance" objects for each stream, and these > send out RTCP Sender Report ("SR") packets. > -- > > 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 > From finlayson at live555.com Mon May 14 10:30:27 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 14 May 2007 10:30:27 -0700 Subject: [Live-devel] Using live555 as the RTSP streaming library In-Reply-To: <568e62a40705140928v4b8a7813r96b99546863f6480@mail.gmail.com> References: <568e62a40705121350h5a4acbeaub2197c52095c09eb@mail.gmail.com> <568e62a40705140928v4b8a7813r96b99546863f6480@mail.gmail.com> Message-ID: >I think vlc depends os live555 as it rtp transport. Only when it is *receiving* RTP packets. If you are using VLC to *send* RTP packets, then it currently does not use the "LIVE555 Streaming Media" software. It wasn't clear (to me) from your description whether you are using VLC to receive RTP packets, or to send them. In any case, questions about VLC should really be sent to a VLC mailing list... >My question is why the payload type is 96? If that is the case, how >can the client decode this RTP packet? From a "a=rtpmap:" line in the SDP description. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From andreas at videosave.net Mon May 14 13:18:11 2007 From: andreas at videosave.net (Andreas Schobel) Date: Mon, 14 May 2007 16:18:11 -0400 Subject: [Live-devel] Looking for a contractor to do some customization work on OpenRTSP Message-ID: Howdy, Our goal is to store audio & video to disk from a VivoTek IP7135 and then be able to play back that video in the latest version of Quicktime. http://www.vivotek.com/products_ip7135.htm We already used OpenRTSP to store the A/V from the rtsp stream from that camera to one big file and played it back in an older version of QuickTime. What we need is have OpenRTSP save the A/V in two minute mp4 files and be playable in the latest version of QuickTime. Cheers, Andreas http://videosave.com From serkanboz80 at yahoo.com Tue May 15 00:17:15 2007 From: serkanboz80 at yahoo.com (serkan bozkurt) Date: Tue, 15 May 2007 00:17:15 -0700 (PDT) Subject: [Live-devel] H.264 streaming Message-ID: <857974.6332.qm@web54205.mail.re2.yahoo.com> Hi To All, I am currently trying to play a DVB-H stream that has the h.264video codec. Unfortunately my player do not support stream playing it only supports playing from files. The DVB-H stream has the RTP headers and I think that if I extract RTP header and adding the remaining parts I can obtain a h.264 file format so that my player can play it. Any idea about this? Best Regards... ____________________________________________________________________________________ Need Mail bonding? Go to the Yahoo! Mail Q&A for great tips from Yahoo! Answers users. http://answers.yahoo.com/dir/?link=list&sid=396546091 From finlayson at live555.com Tue May 15 00:37:45 2007 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 15 May 2007 00:37:45 -0700 Subject: [Live-devel] H.264 streaming In-Reply-To: <857974.6332.qm@web54205.mail.re2.yahoo.com> References: <857974.6332.qm@web54205.mail.re2.yahoo.com> Message-ID: >Hi To All, > >I am currently trying to play a DVB-H stream that has >the h.264video codec. > >Unfortunately my player do not support stream playing >it only supports playing from files. > >The DVB-H stream has the RTP headers and I think that >if I extract RTP header and adding the remaining parts >I can obtain a h.264 file format so that my player can >play it. > >Any idea about this? Is your stream accessible via RTSP? If so, try using "openRTSP" to save the incoming stream as a file. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From serkanboz80 at yahoo.com Tue May 15 01:20:35 2007 From: serkanboz80 at yahoo.com (serkan bozkurt) Date: Tue, 15 May 2007 01:20:35 -0700 (PDT) Subject: [Live-devel] H.264 streaming In-Reply-To: Message-ID: <72433.85240.qm@web54206.mail.re2.yahoo.com> Since DVB-H is a live streaming there is no RTCP and RTSP implementation just RTP is implemented. So what should I do to make a h.264 file from a RTP stream? Best regards... --- Ross Finlayson wrote: > >Hi To All, > > > >I am currently trying to play a DVB-H stream that > has > >the h.264video codec. > > > >Unfortunately my player do not support stream > playing > >it only supports playing from files. > > > >The DVB-H stream has the RTP headers and I think > that > >if I extract RTP header and adding the remaining > parts > >I can obtain a h.264 file format so that my player > can > >play it. > > > >Any idea about this? > > Is your stream accessible via RTSP? If so, try > using "openRTSP" to > save the incoming stream as a file. > -- > > 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 > ____________________________________________________________________________________Be a better Heartthrob. Get better relationship answers from someone who knows. Yahoo! Answers - Check it out. http://answers.yahoo.com/dir/?link=list&sid=396545433 From lucabe72 at email.it Tue May 15 01:54:23 2007 From: lucabe72 at email.it (Luca Abeni) Date: Tue, 15 May 2007 10:54:23 +0200 Subject: [Live-devel] H.264 streaming In-Reply-To: <72433.85240.qm@web54206.mail.re2.yahoo.com> References: <72433.85240.qm@web54206.mail.re2.yahoo.com> Message-ID: <4649753F.1030200@email.it> Hi, serkan bozkurt wrote: > Since DVB-H is a live streaming there is no RTCP and > RTSP implementation just RTP is implemented. I think this is not fully correct... DVB-H is unidirectional, so there is no RTSP server, but RTCP packets are obviously sent. I succesfully played various DVB-H streams with vlc, for example. You just need the SDP describing the stream (if you don't have it, you will have to parse the ESG for obtaining an SDP, but that's not easy). I do not remember the details, but I am pretty sure I've been able to play a DVB-H stream with mplayer too (you just need to compile mplayer with live555 libraries). > So what should I do to make a h.264 file from a RTP > stream? You can use vlc, for example... Or you can use the live555 libraries to write a program that downloads a stream given the SDP describing it (I did something similar some time ago... I remember it was quite easy, but I do not remember the details; if you search the mailing list archives, you'll find a mail from Ross explaining how to write such program). Luca From finlayson at live555.com Tue May 15 01:53:50 2007 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 15 May 2007 01:53:50 -0700 Subject: [Live-devel] H.264 streaming In-Reply-To: <4649753F.1030200@email.it> References: <72433.85240.qm@web54206.mail.re2.yahoo.com> <4649753F.1030200@email.it> Message-ID: > > So what should I do to make a h.264 file from a RTP >> stream? >You can use vlc, for example... Or you can use the live555 libraries to >write a program that downloads a stream given the SDP describing it (I >did something similar some time ago... I remember it was quite easy, but >I do not remember the details; if you search the mailing list archives, >you'll find a mail from Ross explaining how to write such program). See -- 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/20070515/30d0d766/attachment-0001.html From rajeshkumar.r at imimobile.com Tue May 15 02:23:34 2007 From: rajeshkumar.r at imimobile.com (rajesh) Date: Tue, 15 May 2007 14:53:34 +0530 Subject: [Live-devel] changing IP Address Message-ID: <012701c796d2$b5fa5950$6902000a@imidomain.com> HI All I can assign any port number to desiredPortNum in Live 555.But Can I assign to some different IP Address. Thanks In Advance Rajesh Kumar Software Enginner Cont-9908400027 NOTE: mobile not in use in office time. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070515/c4437f4c/attachment.html From rmpg2001 at gmail.com Tue May 15 03:30:40 2007 From: rmpg2001 at gmail.com (Ramon Martin de Pozuelo) Date: Tue, 15 May 2007 12:30:40 +0200 Subject: [Live-devel] errno 9 Message-ID: <389189e20705150330y513cf539w54085c3167ca26b2@mail.gmail.com> Hi, my program runs ok for a few seconds and then exits suddenly after print: bytesRead=-1 / err=9. I notice that it happens just after server sends a RTCP packet. What could be the problem? I searched and I finded that errno 9is Bad File Descriptor error, but I don't understand why I have this error. Could someone help me? Thanks in advance, Ramon -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070515/229d320f/attachment.html From serkanboz80 at yahoo.com Tue May 15 04:20:51 2007 From: serkanboz80 at yahoo.com (serkan bozkurt) Date: Tue, 15 May 2007 04:20:51 -0700 (PDT) Subject: [Live-devel] H.264 streaming In-Reply-To: <4649753F.1030200@email.it> Message-ID: <860814.62289.qm@web54206.mail.re2.yahoo.com> Thanks for your replay, My platform is winCe 5.0. can I use the recommended programs live555 libraries,mplayer for wince 5.0? Best Regards... --- Luca Abeni wrote: > Hi, > > serkan bozkurt wrote: > > Since DVB-H is a live streaming there is no RTCP > and > > RTSP implementation just RTP is implemented. > I think this is not fully correct... DVB-H is > unidirectional, so there > is no RTSP server, but RTCP packets are obviously > sent. > > I succesfully played various DVB-H streams with vlc, > for example. You > just need the SDP describing the stream (if you > don't have it, you will > have to parse the ESG for obtaining an SDP, but > that's not easy). > > I do not remember the details, but I am pretty sure > I've been able to > play a DVB-H stream with mplayer too (you just need > to compile mplayer > with live555 libraries). > > > So what should I do to make a h.264 file from a > RTP > > stream? > You can use vlc, for example... Or you can use the > live555 libraries to > write a program that downloads a stream given the > SDP describing it (I > did something similar some time ago... I remember it > was quite easy, but > I do not remember the details; if you search the > mailing list archives, > you'll find a mail from Ross explaining how to write > such program). > > > Luca > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > ____________________________________________________________________________________Take the Internet to Go: Yahoo!Go puts the Internet in your pocket: mail, news, photos & more. http://mobile.yahoo.com/go?refer=1GNXIC From rmpg2001 at gmail.com Wed May 16 03:43:33 2007 From: rmpg2001 at gmail.com (Ramon Martin de Pozuelo) Date: Wed, 16 May 2007 12:43:33 +0200 Subject: [Live-devel] Streaming unicast Message-ID: <389189e20705160343x6ee599f3s30f672876c25d479@mail.gmail.com> I have an application that streams h.264 video broadcast and on demand. But I need to send that video to a specific address, but not on demand. To send broadcast I use a similar way to testMPEG4VideoStreamer, changing random multicast address to a broadcast network address. It works perfect, but when I change this broadcast address to an unicast address, it breaks down. It works for a few seconds, until RTCP SR packet is send, network returns an ICMP message (Port Unreacheable) because the client is not already avaible. Then, it gives me an error (bytesRead=-1 / err=9) and application stop sending RTP packets. Is there some way to keep alive session, though client is not alive? Thanks in advance, Ramon -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070516/6f364b1d/attachment.html From dweber at robotics.net Wed May 16 12:51:59 2007 From: dweber at robotics.net (Dan Weber) Date: Wed, 16 May 2007 15:51:59 -0400 Subject: [Live-devel] Multiple RTP Sinks on a Single Groupsock Message-ID: <20070516195159.GA3277@Barney.robotics.net> I've noticed that when sending out with multiple rtp sinks on a groupsock it begins to stop sending rtp, or rather, the net effect is that getNextFrame isn't called anymore, on it's pipeline. The effect happens as soon as you make the first write to the other RTPSink. Ross or anyone have any insight? Dan From fherna04 at harris.com Wed May 16 13:33:23 2007 From: fherna04 at harris.com (Hernandez, Fernando) Date: Wed, 16 May 2007 16:33:23 -0400 Subject: [Live-devel] Streaming Speed Limited for HD files? Message-ID: <59AA254D5CB6C849899FEC4F0EDAC043022E907A@mlbe2k5.cs.myharris.net> Hi all, I have a Live 555 media server up and running, and am using openRTSP to stream a video file from it. The video file in question is a 2 MB/sec high definition transport stream mpg file, but the data only comes in at a maximum data rate of about .95 MB/sec. Has anyone ever encountered a problem like this before? Curiously, I have tried different video files (1.5 MB/sec and 2.35 MB/sec) and they also max out at .95 MB/sec. I have also tried using VLC media player to stream the data but it still comes in at the slower rate. I have also opened multiple streams at the same time, and each one of them individually maxes out at .95 MB/sec. It would appear that the streams are being limited in software somehow, as the drive, network, and CPU power is enough to support at least 15 - 20 MB/sec of throughput. Help! Note: by MB I mean megabyte, not megabit. The 2 MB/sec file corresponds to 16 megabit/sec -Fernando -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070516/0379ddca/attachment.html From finlayson at live555.com Wed May 16 13:37:05 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 16 May 2007 13:37:05 -0700 Subject: [Live-devel] Multiple RTP Sinks on a Single Groupsock In-Reply-To: <20070516195159.GA3277@Barney.robotics.net> References: <20070516195159.GA3277@Barney.robotics.net> Message-ID: >I've noticed that when sending out with multiple rtp sinks >on a groupsock it begins to stop sending rtp, or rather, >the net effect is that getNextFrame isn't called anymore, >on it's pipeline. The effect happens as soon as you make the >first write to the other RTPSink. > >Ross or anyone have any insight? No, not really, unless you can demonstrate a (reproduceable) problem with the unmodified supplied code. Multiple RTP sinks on a single "groupsock" object were supported in order to implement on-demand RTSP/RTP streams from multiple clients, using a single input source (i.e., if the "reuseFirstSource" parameter is True). For that purpose, at least, it seems to work fine. In general, once you've developed your own code using these libraries, you're pretty much on your own. But Remember, You Have Complete Source Code. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From donghoon.vanuytsel at esaturnus.com Wed May 16 13:43:13 2007 From: donghoon.vanuytsel at esaturnus.com (Dong Hoon Van Uytsel) Date: Wed, 16 May 2007 22:43:13 +0200 Subject: [Live-devel] Streaming Speed Limited for HD files? In-Reply-To: <59AA254D5CB6C849899FEC4F0EDAC043022E907A@mlbe2k5.cs.myharris.net> References: <59AA254D5CB6C849899FEC4F0EDAC043022E907A@mlbe2k5.cs.myharris.net> Message-ID: <09754BE2-16D0-46A1-8BFD-976BE2E13A2A@esaturnus.com> perhaps there is another 10Mb/s client listening on the same switch? Op 16-mei-07, om 22:33 heeft Hernandez, Fernando het volgende geschreven: > Hi all, > > I have a Live 555 media server up and running, and am using > openRTSP to stream a video file from it. The video file in > question is a 2 MB/sec high definition transport stream mpg file, > but the data only comes in at a maximum data rate of about .95 MB/ > sec. Has anyone ever encountered a problem like this before? > > > Curiously, I have tried different video files (1.5 MB/sec and 2.35 > MB/sec) and they also max out at .95 MB/sec. I have also tried > using VLC media player to stream the data but it still comes in at > the slower rate. I have also opened multiple streams at the same > time, and each one of them individually maxes out at .95 MB/sec. > It would appear that the streams are being limited in software > somehow, as the drive, network, and CPU power is enough to support > at least 15 - 20 MB/sec of throughput. Help! > > Note: by MB I mean megabyte, not megabit. The 2 MB/sec file > corresponds to 16 megabit/sec > > -Fernando > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070516/2b401668/attachment.html From finlayson at live555.com Wed May 16 14:09:08 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 16 May 2007 14:09:08 -0700 Subject: [Live-devel] Streaming Speed Limited for HD files? In-Reply-To: <59AA254D5CB6C849899FEC4F0EDAC043022E907A@mlbe2k5.cs.myharris.net> References: <59AA254D5CB6C849899FEC4F0EDAC043022E907A@mlbe2k5.cs.myharris.net> Message-ID: >I have a Live 555 media server up and running, and am using openRTSP >to stream a video file from it. The video file in question is a 2 >MB/sec high definition transport stream mpg file, but the data only >comes in at a maximum data rate of about .95 MB/sec. Are you seeing any significant packet loss? I.e., after you've recorded your stream using "openRTSP", and then play the recorded stream, does it show any (significant) data loss? If not, then please post the URL of one of your video files, so we can download it and test it for ourselves. If, however, you *are* seeing significant packet loss, then the problem might be that you have a network or switch somewhere that's limited to 10 Mbps. -- 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/20070516/1370948e/attachment-0001.html From fherna04 at harris.com Wed May 16 15:10:52 2007 From: fherna04 at harris.com (Hernandez, Fernando) Date: Wed, 16 May 2007 18:10:52 -0400 Subject: [Live-devel] Streaming Speed Limited for HD files? In-Reply-To: References: <59AA254D5CB6C849899FEC4F0EDAC043022E907A@mlbe2k5.cs.myharris.net> Message-ID: <59AA254D5CB6C849899FEC4F0EDAC043022E907C@mlbe2k5.cs.myharris.net> Thanks for the quick reply! The setup right now is actually a direct line, GigE connection between the server and the client, with no other switches, hubs, or other clients connected to the server. I have the server and client machines a few feet from each other. If I open multiple concurrent streams, each of them goes at .95MB/sec, but individually they never reach the actual rate (anywhere from 1.5 to 2.3 MB/sec). I have tried hooking the server up to two other clients, and the same problem occurs. After openRTSP completes, the file generated is an exact replica of the video file on the server, it just came in at .95MB/sec instead of 2.3MB/sec. I can play back the file locally on the client using VLC and it plays fine with no artifacts or visible data loss. Unfortunately, I can't provide a url to the server as the testing environment is behind my company's firewall and is over direct-link as opposed to over the company network. What I can provide is the video files I'm using, as I grabbed a few sample HD files from the web. >From this site I'm using the HD football clip at the top, and the soap opera clip at the bottom. http://www.dododge.net/roku/ts-samples.html >From this site I'm using the "new mobile and calendar" and "park run" files (any resolution). http://w6rz.net/ Thanks again, let me know if this new information helps. -Fernando ________________________________ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: Wednesday, May 16, 2007 5:09 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] Streaming Speed Limited for HD files? I have a Live 555 media server up and running, and am using openRTSP to stream a video file from it. The video file in question is a 2 MB/sec high definition transport stream mpg file, but the data only comes in at a maximum data rate of about .95 MB/sec. Are you seeing any significant packet loss? I.e., after you've recorded your stream using "openRTSP", and then play the recorded stream, does it show any (significant) data loss? If not, then please post the URL of one of your video files, so we can download it and test it for ourselves. If, however, you *are* seeing significant packet loss, then the problem might be that you have a network or switch somewhere that's limited to 10 Mbps. -- 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/20070516/eceae7d4/attachment.html From dweber at robotics.net Wed May 16 15:43:11 2007 From: dweber at robotics.net (Dan Weber) Date: Wed, 16 May 2007 18:43:11 -0400 Subject: [Live-devel] Multiple RTP Sinks on a Single Groupsock In-Reply-To: References: <20070516195159.GA3277@Barney.robotics.net> Message-ID: <20070516224311.GA5273@Barney.robotics.net> Hi Ross, You're right. The issue is in the Reordering Buffer... I'll need to patch it for multiple payload type support too. Dan On Wed, May 16, 2007 at 01:37:05PM -0700, Ross Finlayson wrote: > >I've noticed that when sending out with multiple rtp sinks > >on a groupsock it begins to stop sending rtp, or rather, > >the net effect is that getNextFrame isn't called anymore, > >on it's pipeline. The effect happens as soon as you make the > >first write to the other RTPSink. > > > >Ross or anyone have any insight? > > No, not really, unless you can demonstrate a (reproduceable) problem > with the unmodified supplied code. > > Multiple RTP sinks on a single "groupsock" object were supported in > order to implement on-demand RTSP/RTP streams from multiple clients, > using a single input source (i.e., if the "reuseFirstSource" > parameter is True). For that purpose, at least, it seems to work > fine. > > In general, once you've developed your own code using these > libraries, you're pretty much on your own. But Remember, You Have > Complete Source Code. > -- > > 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 From finlayson at live555.com Wed May 16 15:54:22 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 16 May 2007 15:54:22 -0700 Subject: [Live-devel] Streaming Speed Limited for HD files? In-Reply-To: <59AA254D5CB6C849899FEC4F0EDAC043022E907C@mlbe2k5.cs.myharris.net> References: <59AA254D5CB6C849899FEC4F0EDAC043022E907A@mlbe2k5.cs.myharris.net> <59AA254D5CB6C849899FEC4F0EDAC043022E907C@mlbe2k5.cs.myharris.net> Message-ID: >From this site I'm using the HD football clip at the top, and the >soap opera clip at the bottom. >http://www.dododge.net/roku/ts-samples.html I wasn't able to reproduce your problem using *any* of the 4 files on that site. Are you sure you're getting the same problem with these files (using the original, unmodified "live555MediaServer" application)? If so, then I have no idea why it might not be working for you. -- 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/20070516/860001ac/attachment.html From zhouh31415 at 163.com Thu May 17 01:10:47 2007 From: zhouh31415 at 163.com (=?GBK?B?1ty66w==?=) Date: Thu, 17 May 2007 16:10:47 +0800 (CST) Subject: [Live-devel] about socket send&receive buffer length Message-ID: <32934457.367061179389447461.JavaMail.coremail@bj163app15.163.com> hello, To MPEG-4 media stream ---about 2Mbps more or less --- I'm always not sure how large socket send & receive buffer would be set(by setsockopt()). I found my linux send and receive buffer length is 32k, is it suitable? Can I improve my stream transferring if I made the buffer larger? thanks ! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070517/32e22067/attachment.html From zhj.zhao at gmail.com Thu May 17 03:05:42 2007 From: zhj.zhao at gmail.com (zhao zhijie) Date: Thu, 17 May 2007 12:05:42 +0200 Subject: [Live-devel] how can I debug the livemedia library Message-ID: Hello all, I want to use live library to set up a streaming server and client. I used the Mplayer to play back the stream. I don't know how live library and Mplayer work. So I want to debug the Mplayer and live library in order to understand how they work. But as a fresher, I don't know how to do that. Could anyone give me any advice? Thanks a lot. Jebey -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070517/2d76461e/attachment.html From ilya77 at gmail.com Thu May 17 03:16:19 2007 From: ilya77 at gmail.com (ilya77 at gmail.com) Date: Thu, 17 May 2007 13:16:19 +0300 Subject: [Live-devel] Live555 MPEG2 Transport Stream packet loss In-Reply-To: References: Message-ID: We've uploaded some ethereal output files from various points in our network demonstrating the problem. We would appreciate if anyone could take a look and maybe tell us something which we might be missing... The files can be downloaded from this link: http://www.yousendit.com/download/UW16TGs2eFh5UkUwTVE9PQ Many thanks, Ilya On 4/30/07, ilya77 at gmail.com wrote: > > > > On 4/30/07, Ross Finlayson wrote: > > > > >We are wondering if either TS or RTP provide some means of forward > > error > > >correction > > > > No, not at present. However, there is ongoing work in the IETF (the > > "FECFRAME" working group) towards standardizing FEC on media streams. > > (This FEC would occur just above the UDP level, so could be applied > > to raw-UDP Transport Streams, as well as RTP streams (of any payload > > type).) > > > > >Re: Are you watching the video in real time or just recording it? you > > >could use openRTSP to record the video stream and see if it helps at > > all to > > >do this. in openRTSP you can adjust the amount of time to wait for a > > late > > >packet. > > > > Not really. If incoming packets are not being reordered on the > > network, then the RTP reception code (regardless of the application) > > will wait indefinitely for RTP packets to arrive; there is no concept > > of a 'late' packet. > > > > If packets *are* being reordered on the network (a rare occurrence), > > then the code will wait up to a certain time (default: 100ms) for a > > 'late' packet to arrive. You can change this time, but note, once > > again, that it is relevant only if packets are arriving out of order > > - which rarely happens. > > -- > > > We are currently using VLC to view the media stream, and our goal is to > set up a server which is capable of streaming to any RTSP / MPEG-2 TS > capable player, so in essence - we are using live555 media *server* > capabilities, but not client capabilities (unless VLC uses portions of the > live555 project). > > We are trying to stream a pre-recorded transport stream file, and from > what we see on the sniffer dump, packet reordering does *not* occur on the > network. > > Regarding error correction - as far as I can tell, the transport stream > does provide a container for error correction information, but it is > somewhat opaque and transport-dependant, which led me to hoping that RTP > might provide some method of forward error correction... > > Am I correct that apart from trying to resolve network infrastructure > problems (which might be impossible since there are too many instances > involved in the process) we have no means to achieve reliable media > delivery? > > Many thanks, > Ilya > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070517/d86e428d/attachment-0001.html From VHJ374 at motorola.com Thu May 17 03:31:41 2007 From: VHJ374 at motorola.com (Wang He-VHJ374) Date: Thu, 17 May 2007 18:31:41 +0800 Subject: [Live-devel] RTSP Compatibility Issue Message-ID: Hi All I have a very specific issue about HelixClient,VLC,RTSP. 1) I can create connection from Darwin Server and Helix Client, the protocol date captured: ... SETUP rtsp://10.193.50.53:554/H264_AAC_60kbps.3gp/trackID=65335 RTSP/1.0 CSeq: 3 Transport: RTP/AVP;UNICAST;client_port=6970-6971;mode=play User-Agent: RealMedia Player (HelixDNAClient)/10.0.0.2587 (linux-2.2-libc6-gcc34-arm11) RTSP/1.0 200 OK Server: DSS/5.5.4 (Build/489.13; Platform/Linux; Release/Darwin; ) Cseq: 3 Last-Modified: Thu, 19 Apr 2007 13:50:08 GMT Cache-Control: must-revalidate Session: 1729760317244788463 Date: Fri, 20 Apr 2007 05:40:40 GMT Expires: Fri, 20 Apr 2007 05:40:40 GMT Transport: RTP/AVP;UNICAST;mode=play;source=10.193.50.53;client_port=6970-6971;serv er_port=6970-6971;ssrc=101B5FC8 SETUP rtsp://10.193.50.53:554/H264_AAC_60kbps.3gp/trackID=65435 RTSP/1.0 CSeq: 4 Transport: RTP/AVP;UNICAST;client_port=6972-6973;mode=play User-Agent: RealMedia Player (HelixDNAClient)/10.0.0.2587 (linux-2.2-libc6-gcc34-arm11) Session: 1729760317244788463 ... [Wang He] When Video SETUP/resp finish, Audio SETUP followed. 2) I cannot create connection from VLC Server and Helix Client, the protocol date capatured: ... SETUP rtsp://192.168.16.1:1234/test.sdp/trackID=0 RTSP/1.0 CSeq: 3 Transport: RTP/AVP;unicast;client_port=6970-6971;mode=play User-Agent: RealMedia Player (HelixDNAClient)/10.0.0.2587 (linux-2.2-libc6-gcc34-arm11) RTSP/1.0 200 OK Transport: RTP/AVP/UDP;client_port=6970-6971 Server: VLC Server Content-Length: 0 Cseq: 3 Cache-Control: no-cache Session: 18467 [Wang He] When Video SETUP finished, Helix Player TEARDOWN the session. The reason maybe: some protocol field&value of SETUP response is need by Helix, but VLC didn't provide. TEARDOWN rtsp://192.168.16.1:1234/ RTSP/1.0 CSeq: 4 User-Agent: RealMedia Player (HelixDNAClient)/10.0.0.2587 (linux-2.2-libc6-gcc34-arm11) Session: 18467 RTSP/1.0 404 Not found Content-Length: 321 Content-Type: text/html 3) Do you guys have any idea about this issue? Is my analysis correct? or anything else? do you have any idea to fix this issue? Thanks! Wang He Software Engineer Motorols Software Group vhj374 at motorola.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070517/c102c557/attachment.html From mmuhammed at hotmail.com Thu May 17 04:27:33 2007 From: mmuhammed at hotmail.com (Muhammad M. Muhammad) Date: Thu, 17 May 2007 11:27:33 +0000 Subject: [Live-devel] About RTSP Client-Server with LIVE555 Message-ID: Hallo everyone; I am writing my master thesis, and for that I have to implement a media player that can support RTSP streaming. The streaming type is VOD, and any file tapes can be used... I am using VLC .Net Interface for the core player. and the Live555MediaServer as a server.. What I got until now.. is that I am able to stream from the server all the supported media types.. However, there is a problem that when I begin streaming for the first two seconds the player plays, then it resets its timer to zero, then continue normally, but what is strange is that when resetting it doesn't begin playing from the beginning, BTW this only occurs in streaming.. Another problem, is that when I pause, the media is paused, but when try to continue playing, the player continues not from where I paused but from the place it reached by streaming... ie. if I paused at time=5, then paused for 20secs, when I continue playing, the timer or slide bar will jump to 25 and play.... On the other hand, when I navigate through the playing media it jumps wiz min. noise.. Bear in mind, that I am using a local host for streaming... Thanks for all, especially for those who will reply... ;) ------------------------------------------------Sincerely Yours;MUHAMMAD, MuhammadSchwere-Reiterstr. 35 / Block 40 / Zi. 116 80797; Muenchen / DeutschlandHandy: 0049-176-62014406Alt. Email: mhd.muhammad at gmail.com------------------------------------------------ _________________________________________________________________ News, entertainment and everything you care about at Live.com. Get it now! http://www.live.com/getstarted.aspx -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070517/4fb22a5e/attachment.html From finlayson at live555.com Thu May 17 06:02:36 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 17 May 2007 06:02:36 -0700 Subject: [Live-devel] About RTSP Client-Server with LIVE555 In-Reply-To: References: Message-ID: >What I got until now.. is that I am able to stream from the server >all the supported media types.. >However, there is a problem that when I begin streaming for the >first two seconds the player plays, then it resets >its timer to zero, then continue normally, but what is strange is >that when resetting it doesn't begin playing from the >beginning, BTW this only occurs in streaming.. >Another problem, is that when I pause, the media is paused, but when >try to continue playing, the player continues not from where >I paused but from the place it reached by streaming... ie. if I >paused at time=5, then paused for 20secs, when I continue playing, >the timer or slide bar will jump to 25 and play.... What type(s) of file are you having problems with? And what application are you using as your media player client? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu May 17 06:06:43 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 17 May 2007 06:06:43 -0700 Subject: [Live-devel] RTSP Compatibility Issue In-Reply-To: References: Message-ID: Your message was not relevant/appropriate for this mailing list. This mailing list is for the discussion of the "LIVE555 Streaming Media" software, which is not used in "HelixClient", the Darwin Streaming Server, or VLC (when used as a server, rather than as a client). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From mmuhammed at hotmail.com Thu May 17 09:29:46 2007 From: mmuhammed at hotmail.com (Muhammad M. Muhammad) Date: Thu, 17 May 2007 16:29:46 +0000 Subject: [Live-devel] About RTSP Client-Server with LIVE555 Message-ID: Hallo...I am having trouble with mp3 and mpg files... thats all what I have tried...I have build my own client player using VLC . Net Interface....That is VLC... also I have tried the LIVE555 with the VLC downloaded from VideoLAN and also the same problems...However, I have another question...about the testOnDemandRTSPServer.exe application, how to make it work... Please tell me step by step.. I have already compiled it...and I have put an mpg file with it in the same folder and run it.. but when I tried to stream nothing happened.... ------------------------------------------------Sincerely Yours;MUHAMMAD, MuhammadSchwere-Reiterstr. 35 / Block 40 / Zi. 116 80797; Muenchen / DeutschlandHandy: 0049-176-62014406Alt. Email: mhd.muhammad at gmail.com------------------------------------------------ _________________________________________________________________ Discover the new Windows Vista http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070517/f83a0046/attachment.html From finlayson at live555.com Thu May 17 11:05:58 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 17 May 2007 11:05:58 -0700 Subject: [Live-devel] About RTSP Client-Server with LIVE555 In-Reply-To: References: Message-ID: >Hallo... >I am having trouble with mp3 and mpg files... thats all what I have tried... >I have build my own client player using VLC . You should test using the pre-built VLC binary version (available from the VLC web site) before you try building your own version. >However, I have another question... >about the testOnDemandRTSPServer.exe application, how to make it work... >Please tell me step by step.. I have already compiled it... >and I have put an mpg file with it in the same folder and run it.. >but when I tried to stream nothing happened.... "testOnDemandRTSPServer" is a demo application that - unlike "live555MediaServer" - streams only a few, specifically-named files. In particular, it can stream only files named "test.mp3" or "test.mpg". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From l1436636 at yahoo.com Thu May 17 11:29:37 2007 From: l1436636 at yahoo.com (hong liu) Date: Thu, 17 May 2007 11:29:37 -0700 (PDT) Subject: [Live-devel] h264 transmission Message-ID: <954678.21688.qm@web51112.mail.re2.yahoo.com> Thanks Ross! Do you have free source codes for implementing doGetNextFrame() and currentNALUnitEndsAccessUnit() of H264VideoStreamFramer to share with . Hong Liu ____________________________________________________________________________________ Moody friends. Drama queens. Your life? Nope! - their life, your story. Play Sims Stories at Yahoo! Games. http://sims.yahoo.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070517/09fcc4f2/attachment.html From serkanboz80 at yahoo.com Thu May 17 12:33:57 2007 From: serkanboz80 at yahoo.com (serkan bozkurt) Date: Thu, 17 May 2007 12:33:57 -0700 (PDT) Subject: [Live-devel] H.264 streaming In-Reply-To: <4649753F.1030200@email.it> Message-ID: <165428.57131.qm@web54203.mail.re2.yahoo.com> Hi to All, Does anybody build the live555 libraries for the Wince 5.0 environment? Is it possible? Best regards... ____________________________________________________________________________________Luggage? GPS? Comic books? Check out fitting gifts for grads at Yahoo! Search http://search.yahoo.com/search?fr=oni_on_mail&p=graduation+gifts&cs=bz From mmuhammed at hotmail.com Thu May 17 14:56:38 2007 From: mmuhammed at hotmail.com (Muhammad M. Muhammad) Date: Thu, 17 May 2007 21:56:38 +0000 Subject: [Live-devel] About RTSP Client-Server with LIVE555 Message-ID: >I am having trouble with mp3 and mpg files... thats all what I have tried... >I have build my own client player using VLC . >>You should test using the pre-built VLC binary version (available >>from the VLC web site) before you try building your own version. I have already done this and I am getting the same result as my self-made client .... >However, I have another question... >about the testOnDemandRTSPServer.exe application, how to make it work... >Please tell me step by step.. I have already compiled it... >and I have put an mpg file with it in the same folder and run it.. >but when I tried to stream nothing happened.... >>"testOnDemandRTSPServer" is a demo application that - unlike >>"live555MediaServer" - streams only a few, specifically-named files. >>In particular, it can stream only files named "test.mp3" or >>"test.mpg". ok thanks for the advice... But where to place these files.. ie should I place with in the same folder as "testOnDemandRTSPServer" and is it possible that any mpg file called test.mpg or any mp3 file called test.mp3 can be streamed.. --------- please more explanation... ------------------------------------------------Sincerely Yours;MUHAMMAD, MuhammadSchwere-Reiterstr. 35 / Block 40 / Zi. 116 80797; Muenchen / DeutschlandHandy: 0049-176-62014406Alt. Email: mhd.muhammad at gmail.com------------------------------------------------ _________________________________________________________________ Connect to the next generation of MSN Messenger? http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070517/395c01d9/attachment.html From finlayson at live555.com Thu May 17 16:32:32 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 17 May 2007 16:32:32 -0700 Subject: [Live-devel] About RTSP Client-Server with LIVE555 In-Reply-To: References: Message-ID: > >>"testOnDemandRTSPServer" is a demo application that - unlike >>>"live555MediaServer" - streams only a few, specifically-named files. >>>In particular, it can stream only files named "test.mp3" or >>>"test.mpg". >ok thanks for the advice... But where to place these files.. >ie should I place with in the same folder as "testOnDemandRTSPServer" Yes. >and is it possible that any mpg file called test.mpg or any mp3 file called >test.mp3 can be streamed.. Yes, provided that "test.mpg" is a MPEG Program Stream file, and "test.mp3" is a MP3 file. -- 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/20070517/fb146ebd/attachment.html From shaswata at alumnux.com Thu May 17 23:08:36 2007 From: shaswata at alumnux.com (Shaswata Jash) Date: Fri, 18 May 2007 11:38:36 +0530 Subject: [Live-devel] H.264 streaming In-Reply-To: <165428.57131.qm@web54203.mail.re2.yahoo.com> References: <4649753F.1030200@email.it> <165428.57131.qm@web54203.mail.re2.yahoo.com> Message-ID: <016301c79912$f926f750$2e0aa8c0@alumnusshas> I would not say it is impossible - but obviously you may need some hack to compile the live - specifically in the area of network communication related classes where socket() , select() are used. Feel free to clarify further... Cheers!!! -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of serkan bozkurt Sent: Friday, May 18, 2007 1:04 AM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] H.264 streaming Hi to All, Does anybody build the live555 libraries for the Wince 5.0 environment? Is it possible? Best regards... ____________________________________________________________________________ ________Luggage? GPS? Comic books? Check out fitting gifts for grads at Yahoo! Search http://search.yahoo.com/search?fr=oni_on_mail&p=graduation+gifts&cs=bz _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel From mmuhammed at hotmail.com Fri May 18 02:17:55 2007 From: mmuhammed at hotmail.com (Muhammad M. Muhammad) Date: Fri, 18 May 2007 09:17:55 +0000 Subject: [Live-devel] Pause and Play problem Message-ID: Hallo Mr. Ross;First I would like to tell you that I was able to run "testOnDemandRTSPServer" successfully.. and also to test some file ".mp3" & ".mpg".... But................I thought that the application "testOnDemandRTSPServer" will solve the problems I have before with "live555MediaServer". Problems such as:* However, there is a problem that when I begin streaming for the first two seconds the player plays, then it resets its timer to zero, then continue normally, but what is strange is that when resetting it doesn't begin playing from the beginning, BTW this only occurs in streaming..* Another problem, is that when I pause, the media is paused, but when try to continue playing, the player continues not from where I paused but from the place it reached by streaming... ie. if I paused at time=5, then paused for 20secs, when I continue playing, the timer or slide bar will jump to 25 and play....I other words I am still having the problem with both of these servers.... not only on my player but also the real VLC downloaded from VideoLan project...Can you please tell me what is the problem...Thanks in advance...------------------------------------------------Sincerely Yours;MUHAMMAD, MuhammadSchwere-Reiterstr. 35 / Block 40 / Zi. 116 80797; Muenchen / DeutschlandHandy: 0049-176-62014406Alt. Email: mhd.muhammad at gmail.com------------------------------------------------ _________________________________________________________________ Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy! http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070518/3271a67f/attachment.html From mmuhammed at hotmail.com Fri May 18 02:23:29 2007 From: mmuhammed at hotmail.com (Muhammad M. Muhammad) Date: Fri, 18 May 2007 09:23:29 +0000 Subject: [Live-devel] Play & Pause problem Message-ID: Hallo Mr. Ross;First I would like to tell you that I was able to run "testOnDemandRTSPServer" successfully.. and also to test some file ".mp3" & ".mpg".... But................I thought that the application "testOnDemandRTSPServer" will solve the problems I have before with "live555MediaServer". Problems such as:* However, there is a problem that when I begin streaming for the first two seconds the player plays, then it resets its timer to zero, then continue normally, but what is strange is that when resetting it doesn't begin playing from the beginning, BTW this only occurs in streaming..* Another problem, is that when I pause, the media is paused, but when try to continue playing, the player continues not from where I paused but from the place it reached by streaming... ie. if I paused at time=5, then paused for 20secs, when I continue playing, the timer or slide bar will jump to 25 and play....I other words I am still having the problem with both of these servers.... not only on my player but also the real VLC downloaded from VideoLan project...Can you please tell me what is the problem...Thanks in advance... ------------------------------------------------Sincerely Yours;MUHAMMAD, MuhammadSchwere-Reiterstr. 35 / Block 40 / Zi. 116 80797; Muenchen / DeutschlandHandy: 0049-176-62014406Alt. Email: mhd.muhammad at gmail.com------------------------------------------------ _________________________________________________________________ Discover the new Windows Vista http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070518/b4c49019/attachment.html From jlfurlong at hotmail.com Fri May 18 04:13:03 2007 From: jlfurlong at hotmail.com (Jeff Furlong) Date: Fri, 18 May 2007 08:13:03 -0300 Subject: [Live-devel] H.264 streaming Message-ID: Yes, it's possible. You will have to create your own projects in either Platform Builder or Embedded Visual C++. Other than that you have to make sure you set the following in the "ByteStreamFileSource.cpp" file: #define READ_FROM_FILES_SYNCHRONOUSLY 1 By default this is not set for WinCE. Jeff > From: shaswata at alumnux.com> To: live-devel at ns.live555.com> Date: Fri, 18 May 2007 11:38:36 +0530> Subject: Re: [Live-devel] H.264 streaming> > I would not say it is impossible - but obviously you may need some hack to> compile the live - specifically in the area of network communication related> classes where socket() , select() are used.> > Feel free to clarify further...> > Cheers!!!> > -----Original Message-----> From: live-devel-bounces at ns.live555.com> [mailto:live-devel-bounces at ns.live555.com] On Behalf Of serkan bozkurt> Sent: Friday, May 18, 2007 1:04 AM> To: LIVE555 Streaming Media - development & use> Subject: Re: [Live-devel] H.264 streaming> > Hi to All,> > Does anybody build the live555 libraries for the> > Wince 5.0 environment?> > Is it possible?> > Best regards...> > > > > ____________________________________________________________________________> ________Luggage? GPS? Comic books? > Check out fitting gifts for grads at Yahoo! Search> http://search.yahoo.com/search?fr=oni_on_mail&p=graduation+gifts&cs=bz> _______________________________________________> live-devel mailing list> live-devel at lists.live555.com> http://lists.live555.com/mailman/listinfo/live-devel> > > _______________________________________________> live-devel mailing list> live-devel at lists.live555.com> http://lists.live555.com/mailman/listinfo/live-devel -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070518/90c97d05/attachment-0001.html From mmuhammed at hotmail.com Fri May 18 06:54:53 2007 From: mmuhammed at hotmail.com (Muhammad M. Muhammad) Date: Fri, 18 May 2007 13:54:53 +0000 Subject: [Live-devel] Pause problem Message-ID: Hallo Mr. Ross;First I would like to tell you that I was able to run "testOnDemandRTSPServer" successfully.. and also to test some file ".mp3" & ".mpg".... But................I thought that the application "testOnDemandRTSPServer" will solve the problems I have before with "live555MediaServer". Problems such as:* However, there is a problem that when I begin streaming for the first two seconds the player plays, then it resets its timer to zero, then continue normally, but what is strange is that when resetting it doesn't begin playing from the beginning, BTW this only occurs in streaming..* Another problem, is that when I pause, the media is paused, but when try to continue playing, the player continues not from where I paused but from the place it reached by streaming... ie. if I paused at time=5, then paused for 20secs, when I continue playing, the timer or slide bar will jump to 25 and play....I other words I am still having the problem with both of these servers.... not only on my player but also the real VLC downloaded from VideoLan project...Can you please tell me what is the problem...Thanks in advance... ------------------------------------------------Sincerely Yours;MUHAMMAD, MuhammadSchwere-Reiterstr. 35 / Block 40 / Zi. 116 80797; Muenchen / DeutschlandHandy: 0049-176-62014406Alt. Email: mhd.muhammad at gmail.com------------------------------------------------ _________________________________________________________________ Connect to the next generation of MSN Messenger? http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070518/574fb61a/attachment.html From finlayson at live555.com Fri May 18 12:04:13 2007 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 18 May 2007 12:04:13 -0700 Subject: [Live-devel] Pause problem In-Reply-To: References: Message-ID: >Can you please tell me what is the problem... The problem is that you have abused this mailing list by posting the identical question multiple times. Because of this, you have now been permanently removed from the list. I cannot tolerate this sort of abuse of the list, especially from people with unprofessional email addresses (e.g., "@hotmail.com", "@gmail.com", "@yahoo.com"). (I'm pleased that casual hobbyists are finding this software useful, but I can't let them disrupt the many professionals who make use of this mailing list.) -- 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/20070518/110244b8/attachment.html From jclee at micro-web.co.kr Mon May 21 00:27:47 2007 From: jclee at micro-web.co.kr (=?ks_c_5601-1987?B?wMzB2MO2?=) Date: Mon, 21 May 2007 16:27:47 +0900 Subject: [Live-devel] wave streams??? Message-ID: Hi all, I'd like to stream mpeg4 & adpcm datas. (Mpeg4 & adpcm datas take input from a MPEG4 encoder) so I had tested to send stream mpeg4 with testMPEG4VideoStreamer for multicast and testOnDemandRTSPServer for unicast, (playing is ok : QuickTime, mplayer) (some bugs generated : vlc "head damaged"...) --> this problem is player bug? or testMPEG4VideoStreamer bug? and now try to send stream adpcm datas. so, i converted adpcm to pcm format. (i understood liveMedia support only pcm format. right?) but liveMedia use only pcm files. how can i send streaming pcm format datas(datas take input from encoder)? From finlayson at live555.com Mon May 21 02:26:34 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 21 May 2007 02:26:34 -0700 Subject: [Live-devel] wave streams??? In-Reply-To: References: Message-ID: >how can i send streaming pcm format datas(datas take input from encoder)? If your PCM audio input device is accessible as a file, then use a "ByteStreamFileSource" object to encapsulate it. (Otherwise, you will need to write your own code for the source object; see the FAQ.) For the RTP sink object, use a "SimpleRTPSink". See the code for "WAVAudioFileServerMediaSubsession::createNewRTPSink()", which shows how to do this. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From zhj.zhao at gmail.com Mon May 21 05:57:40 2007 From: zhj.zhao at gmail.com (jerry zhao) Date: Mon, 21 May 2007 14:57:40 +0200 Subject: [Live-devel] How to debug livemedia library with mplayer Message-ID: Hello, I compiled livemedia library and used mplayer to playback live streaming. Now I can playback the live streaming. But I don't know how it works. So I want to debug livemedia library and mplyer. My operate system is SUSE Linux. Firstly I set up a server using the testOnDemandRTSPServer. When I use gdb to debug mplayer, I always got "Segmentation fault". So Could anyone tell me how to debug livemedia library and mplayer with live streaming? Any idea would be appreciated. Thanks. Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070521/95acf811/attachment.html From weiyutao36 at 163.com Mon May 21 18:06:03 2007 From: weiyutao36 at 163.com (weiyutao36) Date: Tue, 22 May 2007 09:06:03 +0800 (CST) Subject: [Live-devel] How to debug livemedia library with mplayer In-Reply-To: References: Message-ID: <3352608.2663741179795963391.JavaMail.root@bj163app13.163.com> Hi Jerry,To debug the liveMdeia library, you may have to recompile the MPlayer and liveMedia library. 1/ Before compiling liveMedia, in the first line of file "config.linux"--COMPILE_OPTS = $ (INCLUDES) -I -O2 -DSOCKLEN_T...,add the "-g" option as follows: COMPILE_OPTS = $ (INCLUDES) -I -O2 -g -DSOCKLEN_T...2/ When you configure MPlayer, add "--enable-debug=3" in the configure options as follows: ./configure --enable-gui --enable-live --enable-debug=3 ... After these 2 steps, you can debug the MPlayer in kdbg or insight weekly and you can debug into liveMedia library.Hope this can help you. Yutao Wei ?2007-05-21?"jerry zhao" ??? Hello, I compiled livemedia library and used mplayer to playback live streaming. Now I can playback the live streaming. But I don't know how it works. So I want to debug livemedia library and mplyer. My operate system is SUSE Linux. Firstly I set up a server using the testOnDemandRTSPServer. When I use gdb to debug mplayer, I always got "Segmentation fault". So Could anyone tell me how to debug livemedia library and mplayer with live streaming? Any idea would be appreciated. Thanks. Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070521/0ed9817a/attachment.html From fherna04 at harris.com Tue May 22 06:11:33 2007 From: fherna04 at harris.com (Hernandez, Fernando) Date: Tue, 22 May 2007 09:11:33 -0400 Subject: [Live-devel] Streaming Speed Limited for HD files? In-Reply-To: References: <59AA254D5CB6C849899FEC4F0EDAC043022E907A@mlbe2k5.cs.myharris.net><59AA254D5CB6C849899FEC4F0EDAC043022E907C@mlbe2k5.cs.myharris.net> Message-ID: <59AA254D5CB6C849899FEC4F0EDAC043022E9088@mlbe2k5.cs.myharris.net> Curiously, I've recently discovered that VLC does indeed work properly (I had incorrectly reported that it didn't work properly in my first message). I can stream video when I connect the server directly to a windows PC running VLC and there are no problems. It seems the culprit is openRTSP. I have run openRTSP using the -Q option and have obtained the following results: On a 54 second, 20.5 megabit/sec (2.56 megabyte/sec) file: begin_QOS_statistics server_availability 100 stream_availability 100 subsession video/MP2T num_packets_received 49321 num_packets_lost 49688 elapsed_measurement_time 54.000413 kBytes_received_total 64906.436000 measurement_sampling_interval_ms 1000 kbits_per_second_min 9142.692492 kbits_per_second_ave 9615.694754 kbits_per_second_max 14046.087149 packet_loss_percentage_min 9.858204 packet_loss_percentage_ave 50.185337 packet_loss_percentage_max 54.291732 inter_packet_gap_ms_min 0.656000 inter_packet_gap_ms_ave 1.094857 inter_packet_gap_ms_max 6.700000 end_QOS_statistics On a 102 second, 18.59 megabit/sec (2.32 megabyte/sec) file: begin_QOS_statistics server_availability 100 stream_availability 100 subsession video/MP2T num_packets_received 93407 num_packets_lost 94021 elapsed_measurement_time 102.000721 kBytes_received_total 122923.612000 measurement_sampling_interval_ms 1000 kbits_per_second_min 8721.029974 kbits_per_second_ave 9640.999459 kbits_per_second_max 14157.979671 packet_loss_percentage_min 8.813559 packet_loss_percentage_ave 50.163796 packet_loss_percentage_max 59.776767 inter_packet_gap_ms_min 0.637000 inter_packet_gap_ms_ave 1.091995 inter_packet_gap_ms_max 75.330000 end_QOS_statistics For the test I am running I need to use openRTSP to prove that a certain bit rate is being achieved. Do you have any suggestions as to what may be wrong? -Fernando ________________________________ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: Wednesday, May 16, 2007 6:54 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] Streaming Speed Limited for HD files? From this site I'm using the HD football clip at the top, and the soap opera clip at the bottom. http://www.dododge.net/roku/ts-samples.html I wasn't able to reproduce your problem using *any* of the 4 files on that site. Are you sure you're getting the same problem with these files (using the original, unmodified "live555MediaServer" application)? If so, then I have no idea why it might not be working for you. -- 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/20070522/a4e9c1e5/attachment-0001.html From zhj.zhao at gmail.com Tue May 22 07:36:09 2007 From: zhj.zhao at gmail.com (jerry zhao) Date: Tue, 22 May 2007 16:36:09 +0200 Subject: [Live-devel] How to debug livemedia library with mplayer Message-ID: >Hi Jerry,To debug the liveMdeia library, you may have to recompile the MPlayer and liveMedia library. 1/ Before compiling liveMedia, in the first line of file "config.linux"--COMPILE_OPTS = $ >(INCLUDES) -I -O2 -DSOCKLEN_T...,add the "-g" option as follows: COMPILE_OPTS = $ (INCLUDES) -I -O2 -g -DSOCKLEN_T...2/ When you configure MPlayer, add "--enable-debug=3" in the configure >options as follows: ./configure --enable-gui --enable-live --enable-debug=3 ... After these 2 steps, you can debug the MPlayer in kdbg or insight weekly and you can debug into liveMedia library.Hope this >can help you. Hi,Yutao Wei thanks for your reply. The information you gave helped me. I have another question. Where does the mplayer depacketize? Or where can I chang the data of received packet before it is playing back? I want to debug the livemedia library and mplayer in order to know where I can change the received packet data before the client plays the stream back, e.g. adding some data or a special header to the received data. Thanks. Best regards Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070522/e3517b27/attachment.html From finlayson at live555.com Tue May 22 11:09:58 2007 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 22 May 2007 11:09:58 -0700 Subject: [Live-devel] Streaming Speed Limited for HD files? In-Reply-To: <59AA254D5CB6C849899FEC4F0EDAC043022E9088@mlbe2k5.cs.myharris.net> References: <59AA254D5CB6C849899FEC4F0EDAC043022E907A@mlbe2k5.cs.myharris.net><59AA254D5CB6C849899FEC4F0EDAC043022E907C@mlb e2k5.cs.myharris.net> <59AA254D5CB6C849899FEC4F0EDAC043022E9088@mlbe2k5.cs.myharris.net> Message-ID: The noteworthy part of the QOS stats (from "openRTSP -Q") is the packet loss information - you are experiencing 50% packet loss on average. Because you don't see packet loss when you play the stream using VLC, then the problem is that your OS's internal receive buffers are not large enough. ***It's important for everyone to understand that packet loss is *never* the fault of the LIVE555 library code - it is always either (i) true network packet loss, or (ii) overflow in the OS's internal receive buffers.*** The VLC code (see "live555.cpp") sets the OS's internal receive buffer to 2,000,000 bytes for the video stream, and 100,000 bytes for the audio stream. The easiest way for you to get the same buffering for "openRTSP" is to change the parameter of the call to "increaseReceiveBufferTo()" (in "liveMedia/MultiFramedRTPSink.cpp", line 73) from 50*1024 to 2000000 and then recompile. Of course, if you are developing your own player client application, then you should call "increaseReceiveBufferTo()" there - as VLC does - rather than modifying the "LIVE555 Streaming Media" library code. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From tl11305 at salleurl.edu Tue May 22 21:31:46 2007 From: tl11305 at salleurl.edu (tl11305 at salleurl.edu) Date: Tue May 22 21:31:46 2007 Subject: [Live-devel] H.264 FU-A Message-ID: <200705221931.l4MJVk7h016345@intranet.salleURL.edu> An embedded and charset-unspecified text was scrubbed... Name: not available Url: http://lists.live555.com/pipermail/live-devel/attachments/20070522/0876f47e/attachment.ksh From yelite993 at 163.com Tue May 22 19:26:52 2007 From: yelite993 at 163.com (=?GBK?B?0ac=?=) Date: Wed, 23 May 2007 10:26:52 +0800 (CST) Subject: [Live-devel] Help: How to generate aac content with LATM header from aac content with ADTS header Message-ID: <14366865.3085591179887212042.JavaMail.coremail@bj163app32.163.com> hello all, Anybody who knows how to generate aac audio with LATM header from aac data with ADTS header? I can get some information which audioSpecificConfig() included in LATM header needs from ADTS header, such as audioDecoderType, samplingFreqencyIndex, samplingFrequency, channelConfiguration. But how can I fill the GASpecificConfig()/CelpSpecificConfig() included inaudioSpecificConfig()..., I can't get the corresponding data form ADTS header? Thanks in advance, Yelite -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070522/e2f0b617/attachment.html From yelite993 at 163.com Tue May 22 19:28:20 2007 From: yelite993 at 163.com (=?GBK?B?0ac=?=) Date: Wed, 23 May 2007 10:28:20 +0800 (CST) Subject: [Live-devel] Help: How to generate aac content with LATM header from aac content with ADTS header Message-ID: <12471950.3086931179887300400.JavaMail.coremail@bj163app32.163.com> hello all,Anybody who knows how to generate aac audio with LATM header from aac data with ADTS header? I can get some information which audioSpecificConfig() included in LATM header needs from ADTS header, such as audioDecoderType, samplingFreqencyIndex, samplingFrequency, channelConfiguration. But how can I fill the GASpecificConfig()/CelpSpecificConfig() included in audioSpecificConfig()..., I can't get the corresponding data form ADTS header?Thanks in advance, Yelite -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070522/765c3828/attachment.html From kumar.bhrigu at tcs.com Wed May 23 00:31:32 2007 From: kumar.bhrigu at tcs.com (Kumar Bhrigu) Date: Wed, 23 May 2007 13:01:32 +0530 Subject: [Live-devel] VOICE QUALITY ANALYSIS Message-ID: hi ross , first many thanks to you ppl for streaming source code . we developed our own application using ur AMR framework .i works pretty fine , i jus want to know we can evaluate the voice quality over the terminal . Is there any Software ,tools or method to do voice quality analysis of streamikng media. thanks in advance Kumar Bhrigu =====-----=====-----===== Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070523/d7bf092e/attachment.html From tl11305 at salleurl.edu Wed May 23 12:48:15 2007 From: tl11305 at salleurl.edu (tl11305 at salleurl.edu) Date: Wed May 23 12:48:15 2007 Subject: [Live-devel] h.264 Fragmentation Message-ID: <200705231048.l4NAmFiG011124@intranet.salleURL.edu> An embedded and charset-unspecified text was scrubbed... Name: not available Url: http://lists.live555.com/pipermail/live-devel/attachments/20070523/1d90820c/attachment.ksh From serkanboz80 at yahoo.com Wed May 23 06:30:33 2007 From: serkanboz80 at yahoo.com (serkan bozkurt) Date: Wed, 23 May 2007 06:30:33 -0700 (PDT) Subject: [Live-devel] H.264 streaming In-Reply-To: Message-ID: <20070523133034.11168.qmail@web54202.mail.re2.yahoo.com> Hi Ross, I have searched the all mailing list but could not find the mail that you have mentioned below. Could you please help about this? By specifiying the related mail or saying what to do in order to make an exe from live555 libraries that downloads a stream(h.264) given the SDP describing it Best Regards... --- Ross Finlayson wrote: > > > So what should I do to make a h.264 file from a > RTP > >> stream? > >You can use vlc, for example... Or you can use the > live555 libraries to > >write a program that downloads a stream given the > SDP describing it (I > >did something similar some time ago... I remember > it was quite easy, but > >I do not remember the details; if you search the > mailing list archives, > >you'll find a mail from Ross explaining how to > write such program). > > See > > -- > > 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 > ____________________________________________________________________________________Get the free Yahoo! toolbar and rest assured with the added security of spyware protection. http://new.toolbar.yahoo.com/toolbar/features/norton/index.php From finlayson at live555.com Wed May 23 10:18:47 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 23 May 2007 10:18:47 -0700 Subject: [Live-devel] New "LIVE555 Streaming Media" release - works around QuickTime Player bug Message-ID: If you are using our RTSP server implementation, and anticipate having QuickTime Player as your client, then you should upgrade to the latest version (2007.05.22) of the "LIVE555 Streaming Media" software (or, the latest version of the "live555MediaServer" binaries, if you are using those). It turns out that recent versions of QuickTime Player have a bug that causes it (in some circumstances) to not send RTCP "RR" packets. Because our RTSP server (like many others') uses incoming RTCP "RR" packets as a stream 'keep-alive', this bug was causing streams to time out. The latest version of the LIVE555 code contains a work-around that bypasses the QuickTime Player problem. (Thanks to Dave Singer et al at Apple for tracking down this problem.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From serkanboz80 at yahoo.com Thu May 24 02:28:01 2007 From: serkanboz80 at yahoo.com (serkan bozkurt) Date: Thu, 24 May 2007 02:28:01 -0700 (PDT) Subject: [Live-devel] recording DVB-H h.264 codec to a mp4 file in Wince 5.0 Message-ID: <82144.97748.qm@web54201.mail.re2.yahoo.com> Hi to All, I have build the live555 libraries for the WinCE 5.0 environment. I need to record the DVB-h video stream from its SDP file. Since I do not have any rtsp server I can not use openRTSP application but I think I have to some modifications on it(instead of getting SDP from url just read it and omitting RTCP mechanism). Can anyone help me about how to this or giving some hints about how to write such an application. Best regards... ____________________________________________________________________________________ Bored stiff? Loosen up... Download and play hundreds of games for free on Yahoo! Games. http://games.yahoo.com/games/front From dwen at telefonica.de Thu May 24 08:09:13 2007 From: dwen at telefonica.de (David Wendel) Date: Thu, 24 May 2007 17:09:13 +0200 Subject: [Live-devel] QoS with openRTSP and Jitter output Message-ID: <4655AA99.6000804@telefonica.de> Hello List, in my "IPTV QoS Monitoring" project i've tried to use openRTSP to get QoS information for a particular stream. The output of jitter as a QoS parameter is also interesting for me, so I'v extended the openRTSP code to output this information. My question is, if I did it the right way, because the jitter value I get, seems to be strange to me. So here is the way I did it, I'v modified the 'live/testProgs/playCommon.cpp' by adding two lines after the line number 1128 and 1142, see below: 1126 #ifdef SUPPORT_REAL_RTSP 1127 if (session->isRealNetworksRDT) { 1128 RealRDTSource* rdt = (RealRDTSource*)src; 1129 *env << "jit_ms\t" << rdt->jitter()/1000.0 << "\n"; 1130 *env << "ipg_ms_min\t" << rdt->minInterPacketGapUS()/1000.0 << "\n"; 1131 struct timeval totalGaps = rdt->totalInterPacketGaps(); 1132 double totalGapsMS = totalGaps.tv_sec*1000.0 + totalGaps.tv_usec/1000.0; 1133 unsigned totNumPacketsReceived = rdt->totNumPacketsReceived(); 1134 *env << "ipg_ms_avg\t" 1135 << (totNumPacketsReceived == 0 ? 0.0 : totalGapsMS/totNumPacketsReceived) << "\n"; 1136 *env << "ipg_ms_max\t" << rdt->maxInterPacketGapUS()/1000.0 << "\n"; 1137 } else { 1138 #endif 1139 RTPReceptionStatsDB::Iterator statsIter(src->receptionStatsDB()); 1140 // Assume that there's only one SSRC source (usually the case): 1141 RTPReceptionStats* stats = statsIter.next(True); 1142 if (stats != NULL) { 1143 *env << "jit_ms\t" << stats->jitter()/1000.0 << "\n"; 1144 *env << "ipg_ms_min\t" << stats->minInterPacketGapUS()/1000.0 << "\n"; 1145 struct timeval totalGaps = stats->totalInterPacketGaps(); 1146 double totalGapsMS = totalGaps.tv_sec*1000.0 + totalGaps.tv_usec/1000.0; 1147 unsigned totNumPacketsReceived = stats->totNumPacketsReceived(); 1148 *env << "ipg_ms_avg\t" 1149 << (totNumPacketsReceived == 0 ? 0.0 : totalGapsMS/totNumPacketsReceived) << "\n"; 1150 *env << "ipg_ms_max\t" << stats->maxInterPacketGapUS()/1000.0 << "\n"; 1151 } 1152 #ifdef SUPPORT_REAL_RTSP 1153 } 1154 #endif Here is an output example I get vor video and audio separatly: [24.05.2007 14:36:25]: Created receiver for "video/X-ASF-PF" subsession (client ports 1046-1047) [24.05.2007 14:36:25]: Setup "video/X-ASF-PF" subsession (client ports 1046-1047) [24.05.2007 14:36:25]: Outputting data from the "video/X-ASF-PF" subsession to 'stdout' [24.05.2007 14:36:25]: Started playing session [24.05.2007 14:36:25]: Receiving streamed data (for up to 25.000000 seconds)... [24.05.2007 14:36:25]: Data packets have begun arriving [1180017360988] [24.05.2007 14:36:25]: begin_QOS_statistics [24.05.2007 14:36:25]: server_availability 100 [24.05.2007 14:36:25]: stream_availability 100 [24.05.2007 14:36:25]: subsession video/X-ASF-PF [24.05.2007 14:36:25]: num_packets_received 564 [24.05.2007 14:36:25]: num_packets_lost 0 [24.05.2007 14:36:25]: sdur_sec 25.007102 [24.05.2007 14:36:25]: trans_kB_tot 4110.460000 [24.05.2007 14:36:25]: measurement_sampling_interval_ms 100 [24.05.2007 14:36:25]: kbps_min 0.000000 [24.05.2007 14:36:25]: kbps_avg 1314.973642 [24.05.2007 14:36:25]: kbps_max 4294.319547 [24.05.2007 14:36:25]: loss_percent_min 0.000000 [24.05.2007 14:36:25]: loss_percent_avg 0.000000 [24.05.2007 14:36:25]: loss_percent_max 0.000000 [24.05.2007 14:36:25]: jit_ms 0.064000 [24.05.2007 14:36:25]: ipg_ms_min 0.053000 [24.05.2007 14:36:25]: ipg_ms_avg 43.969628 [24.05.2007 14:36:25]: ipg_ms_max 735.418000 [24.05.2007 14:36:25]: end_QOS_statistics [24.05.2007 14:36:25]: Created receiver for "audio/X-ASF-PF" subsession (client ports 1048-1049) [24.05.2007 14:36:25]: Ignoring "application/X-WMS-RTX" subsession, because we've asked to receive a single audio session only [24.05.2007 14:36:25]: Ignoring "video/X-ASF-PF" subsession, because we've asked to receive a single audio session only [24.05.2007 14:36:25]: Setup "audio/X-ASF-PF" subsession (client ports 1048-1049) [24.05.2007 14:36:25]: Outputting data from the "audio/X-ASF-PF" subsession to 'stdout' [24.05.2007 14:36:25]: Started playing session [24.05.2007 14:36:25]: Receiving streamed data (for up to 25.000000 seconds)... [24.05.2007 14:36:25]: Data packets have begun arriving [1180017361008] [24.05.2007 14:36:25]: begin_QOS_statistics [24.05.2007 14:36:25]: server_availability 100 [24.05.2007 14:36:25]: stream_availability 100 [24.05.2007 14:36:25]: subsession audio/X-ASF-PF [24.05.2007 14:36:25]: num_packets_received 136 [24.05.2007 14:36:25]: num_packets_lost 0 [24.05.2007 14:36:25]: sdur_sec 25.034147 [24.05.2007 14:36:25]: trans_kB_tot 409.088000 [24.05.2007 14:36:25]: measurement_sampling_interval_ms 100 [24.05.2007 14:36:25]: kbps_min 0.000000 [24.05.2007 14:36:25]: kbps_avg 130.729599 [24.05.2007 14:36:25]: kbps_max 1443.854439 [24.05.2007 14:36:25]: loss_percent_min 0.000000 [24.05.2007 14:36:25]: loss_percent_avg 0.000000 [24.05.2007 14:36:25]: loss_percent_max 0.000000 [24.05.2007 14:36:25]: jit_ms 0.252000 [24.05.2007 14:36:25]: ipg_ms_min 0.155000 [24.05.2007 14:36:25]: ipg_ms_avg 177.394507 [24.05.2007 14:36:25]: ipg_ms_max 1123.697000 [24.05.2007 14:36:25]: end_QOS_statistics Thanx for your help in advance, David Wendel. From finlayson at live555.com Thu May 24 11:03:22 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 24 May 2007 11:03:22 -0700 Subject: [Live-devel] QoS with openRTSP and Jitter output In-Reply-To: <4655AA99.6000804@telefonica.de> References: <4655AA99.6000804@telefonica.de> Message-ID: >in my "IPTV QoS Monitoring" project i've tried to use openRTSP to get >QoS information for a particular stream. The output of jitter as a QoS >parameter is also interesting for me, so I'v extended the openRTSP code >to output this information. My question is, if I did it the right way, >because the jitter value I get, seems to be strange to me. The value returned by "RTPReceptionStats::jitter()" is the jitter value defined in the RTP/RTCP specification (RFC 3550, section 6.4.1). It is expressed in timestamp units, *not* ms, so you should divide it by the RTP timestamp frequency, not 1000. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From mike at revelationit.net Thu May 24 13:35:32 2007 From: mike at revelationit.net (Mike Yan) Date: Thu, 24 May 2007 13:35:32 -0700 Subject: [Live-devel] Compile error on latest release In-Reply-To: Message-ID: <000e01c79e43$147c33f0$1700000a@revelati19f8b1> Hi Ross, I downloaded the latest version source code "live.2007.05.23.tar.gz". During the compilation, I got an error said "error C2440: 'initializing' : cannot convert from 'const char *' to 'char *' in "DynamicRTSPServer.cpp" on line 90". Once I changed line 90 from "char* extension = strrchr(fileName, '.');" to "char const* extension = strrchr(fileName, '.');", I got the compilation passed. Please modify the line 90 in "DynamicRTSPServer.cpp". BTW, my developing environment is Visual Studio 2005. Best regards, Mike Yan From finlayson at live555.com Thu May 24 13:53:58 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 24 May 2007 13:53:58 -0700 Subject: [Live-devel] Compile error on latest release In-Reply-To: <000e01c79e43$147c33f0$1700000a@revelati19f8b1> References: <000e01c79e43$147c33f0$1700000a@revelati19f8b1> Message-ID: >Please modify the line 90 in "DynamicRTSPServer.cpp". OK, done. Thanks for the note. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From rajeshkumar.r at imimobile.com Thu May 24 21:34:26 2007 From: rajeshkumar.r at imimobile.com (rajesh) Date: Fri, 25 May 2007 10:04:26 +0530 Subject: [Live-devel] can we use Live555 media Lib as server to stream Live Media Dat. Message-ID: <114201c79e85$fa0d8ee0$6902000a@imidomain.com> Hi Ross can we use Live555 media Library as Server to stream Live stream.Currently we are using Helix Mobile Producer to stream star Tv content.Can we do the same from our Live555 media Lib. is There any constrains using it. Thanks in Advance. Rajesh Kumar Software Enginner Cont-9908400027 NOTE: mobile not in use in office time. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070524/9de32105/attachment.html From finlayson at live555.com Thu May 24 22:19:12 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 24 May 2007 22:19:12 -0700 Subject: [Live-devel] can we use Live555 media Lib as server to stream Live Media Dat. In-Reply-To: <114201c79e85$fa0d8ee0$6902000a@imidomain.com> References: <114201c79e85$fa0d8ee0$6902000a@imidomain.com> Message-ID: >can we use Live555 media Library as Server to stream Live >stream.Currently we are using Helix Mobile Producer to stream star >Tv content.Can we do the same from our Live555 media Lib. Yes, however the "live555MediaServer" product doesn't yet support live inputs. Instead, you can modify the "testOnDemandRTSPServer" demo application (source code) to stream from your live input source. For details, see -- 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/20070524/5837e8c4/attachment.html From rajeshkumar.r at imimobile.com Thu May 24 23:13:01 2007 From: rajeshkumar.r at imimobile.com (rajesh) Date: Fri, 25 May 2007 11:43:01 +0530 Subject: [Live-devel] can we use Live555 media Lib as server to stream Live Media Dat. References: <114201c79e85$fa0d8ee0$6902000a@imidomain.com> Message-ID: <127d01c79e93$bff40550$6902000a@imidomain.com> Re: [Live-devel] can we use Live555 media Lib as server toThanks Ross for Reply. //############According to the Document############################## Then, as before, if your input device is accessible by a file name (including "stdin" for standard input), then simply replace the appropriate "test.*" file name with the file name of your input device. //################################### As I am getting the Data on four port from source.Audio video Rtp and Rtcp. How can I use stdin to read the Data. There is one more method in that way we have to write our own class. plz suggest me how to do it. Rajesh Kumar Software Enginner Cont-9908400027 NOTE: mobile not in use in office time. ----- Original Message ----- From: Ross Finlayson To: LIVE555 Streaming Media - development & use Sent: Friday, May 25, 2007 10:49 AM Subject: Re: [Live-devel] can we use Live555 media Lib as server to stream Live Media Dat. can we use Live555 media Library as Server to stream Live stream.Currently we are using Helix Mobile Producer to stream star Tv content.Can we do the same from our Live555 media Lib. Yes, however the "live555MediaServer" product doesn't yet support live inputs. Instead, you can modify the "testOnDemandRTSPServer" demo application (source code) to stream from your live input source. For details, see -- 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070524/0f2b58f9/attachment.html From finlayson at live555.com Thu May 24 23:19:46 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 24 May 2007 23:19:46 -0700 Subject: [Live-devel] can we use Live555 media Lib as server to stream Live Media Dat. In-Reply-To: <127d01c79e93$bff40550$6902000a@imidomain.com> References: <114201c79e85$fa0d8ee0$6902000a@imidomain.com> <127d01c79e93$bff40550$6902000a@imidomain.com> Message-ID: >As I am getting the Data on four port from source.Audio video Rtp and Rtcp. I don't understand. If your input data is *already* RTP/RTCP, then why do you need to re-stream it? It's already being 'streamed'. I had previously assumed that your input data was in raw (encoded) form - e.g. a MPEG Transport Stream. If not, then you're on your own. Sorry. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From zhj.zhao at gmail.com Fri May 25 00:23:43 2007 From: zhj.zhao at gmail.com (jerry zhao) Date: Fri, 25 May 2007 09:23:43 +0200 Subject: [Live-devel] How can I change the received packet at the client by using openRTSP? Message-ID: Hi, everyone I used the testOnDemandRTSPServer to stream video und openRTSP to receive the streamed data. My question is: where I should change the received packet data before the client stores the received packet on the disk, e.g. adding some data or a special header to the received packets. Any idea would be appreciated. Thanks. Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070525/05ed2817/attachment.html From kurutepe at nue.tu-berlin.de Fri May 25 00:40:26 2007 From: kurutepe at nue.tu-berlin.de (Engin Kurutepe) Date: Fri, 25 May 2007 09:40:26 +0200 Subject: [Live-devel] STAP and MTAP packets support for H.264 Message-ID: <465692EA.1050909@nue.tu-berlin.de> Dear Ross, Please correct me if I'm mistaken but as fas as I can tell live555 does not fully implement RFC 3984 as it is now. Are there any plans to implement STAP and MTAP packets for interleaved streaming? Although these packets are not very important for conventional video streaming, they are quite necessary for scalable and multi-view flavors of H.264. Best, Engin Kurutepe. From finlayson at live555.com Fri May 25 00:43:26 2007 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 25 May 2007 00:43:26 -0700 Subject: [Live-devel] How can I change the received packet at the client by using openRTSP? In-Reply-To: References: Message-ID: >Hi, everyone >I used the testOnDemandRTSPServer to stream video und openRTSP to >receive the streamed data. My question is: where I should change the >received packet data before the client stores the received packet on >the disk, e.g. adding some data or a special header to the received >packets. You would need to insert a new filter object (i.e., a subclass of "FramedFilter" - that you would write), and insert it in the data chain, in front of the "FileSink" object. (You would do this in "testProgs/playCommon.cpp".) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Fri May 25 01:01:16 2007 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 25 May 2007 01:01:16 -0700 Subject: [Live-devel] STAP and MTAP packets support for H.264 In-Reply-To: <465692EA.1050909@nue.tu-berlin.de> References: <465692EA.1050909@nue.tu-berlin.de> Message-ID: >Please correct me if I'm mistaken but as fas as I can tell live555 does >not fully implement RFC 3984 as it is now. Are there any plans to >implement STAP and MTAP packets for interleaved streaming? Our implementation supports the *reception* of STAP and MTAP packets (in "H264VideoRTPSource"), but does not currently support the *sending* of such packets. (There are no near-term plans to support this - sorry.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From igt1972 at gmail.com Fri May 25 03:35:00 2007 From: igt1972 at gmail.com (Igor Trevisan) Date: Fri, 25 May 2007 12:35:00 +0200 Subject: [Live-devel] ARM cross-compile error list Message-ID: <5a74a1ca0705250335s273f34a6g299013c7e33250b0@mail.gmail.com> Hi, I'm trying to cross compile for my arm9 target the "Live555 Streaming Media" packet and I got a long list of errors starting with the following: make[1]: Entering directory `/home/igotre/bin/live555-arm-20070524/testProgs' arm-926ejs-linux-gcc -otestMP3Streamer -L. testMP3Streamer.o../liveMedia/libliveMedia.a ../groupsock/libgroup sock.a ../UsageEnvironment/libUsageEnvironment.a ../BasicUsageEnvironment/libBasicUsageEnvironment.a testMP3Streamer.o: In function `main': testMP3Streamer.cpp:(.text+0x228): undefined reference to `operator new(unsigned int)' testMP3Streamer.cpp:(.text+0x274): undefined reference to `operator new(unsigned int)' testMP3Streamer.cpp:(.text+0x36c): undefined reference to `operator delete(void*)' testMP3Streamer.cpp:(.text+0x380): undefined reference to `__gxx_personality_sj0' ../liveMedia/libliveMedia.a: In function `MediaLookupTable::~MediaLookupTable()': Locale.cpp:(.text+0x12c): undefined reference to `operator delete(void*)' ../liveMedia/libliveMedia.a: In function `_Tables::~_Tables()': Locale.cpp:(.text+0x19c): undefined reference to `operator delete(void*)' ../liveMedia/libliveMedia.a: In function `_Tables::getOurTables(UsageEnvironment&)': Locale.cpp:(.text+0x298): undefined reference to `operator new(unsigned int)' ../liveMedia/libliveMedia.a: In function `MediaLookupTable::ourMedia(UsageEnvironment&)': Locale.cpp:(.text+0x3dc): undefined reference to `operator new(unsigned int)' Locale.cpp:(.text+0x414): undefined reference to `operator delete(void*)' Locale.cpp:(.text+0x428): undefined reference to `__gxx_personality_sj0' [...] I'm working on the 2007.05.24 release with this version of arm-linux-gcc: ]$ arm-926ejs-linux-gcc -v Using built-in specs. Target: arm-926ejs-linux Configured with: /usr/src/redhat/BUILD/crosstool/source/gcc-4.1.1/configure --target=arm-926ejs-linux --host=i686-host_pc-linux-gnu --prefix=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux --with-cpu=arm926ej-s --enable-cxx-flags=-mcpu=arm926ej-s --without-fp --disable-libunwind-exceptions --with-headers=/opt/freescale/usr/local/gcc- 4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/include --with-local-prefix=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long Thread model: posix gcc version 4.1.1 Doeas anybody encountered and (I hope :) solved a similar problem? I got the same error on the 2007.05.23 release and with a arm-linux-gcc version 3.3.6 too. Any help is welcome! Thanks in advance, I. -- "Much less doesn't mean zero" -- E.Benetti -- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070525/9bd345cd/attachment.html From l1436636 at yahoo.com Fri May 25 05:21:52 2007 From: l1436636 at yahoo.com (hong liu) Date: Fri, 25 May 2007 05:21:52 -0700 (PDT) Subject: [Live-devel] QoS with openRTSP and Jitter output Message-ID: <841820.26021.qm@web51109.mail.re2.yahoo.com> >>in my "IPTV QoS Monitoring" project i've tried to use openRTSP to get >>QoS information for a particular stream. The output of jitter as a QoS >>parameter is also interesting for me, so I'v extended the openRTSP code >>to output this information. My question is, if I did it the right way, >>because the jitter value I get, seems to be strange to me. >The value returned by "RTPReceptionStats::jitter()" is the jitter >value defined in the RTP/RTCP specification (RFC 3550, section >6.4.1). It is expressed in timestamp units, *not* ms, so you should >divide it by the RTP timestamp frequency, not 1000.I am just wondering how to get the RTP timestamp frequency from video streams. Is it contained in the SDP file or somewhere else? Hong Liu ------------------------------ ____________________________________________________________________________________Choose the right car based on your needs. Check out Yahoo! Autos new Car Finder tool. http://autos.yahoo.com/carfinder/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070525/ab8fafec/attachment.html From leon.woestenberg at gmail.com Fri May 25 05:49:35 2007 From: leon.woestenberg at gmail.com (Leon Woestenberg) Date: Fri, 25 May 2007 14:49:35 +0200 Subject: [Live-devel] ARM cross-compile error list In-Reply-To: <5a74a1ca0705250335s273f34a6g299013c7e33250b0@mail.gmail.com> References: <5a74a1ca0705250335s273f34a6g299013c7e33250b0@mail.gmail.com> Message-ID: Hello On 5/25/07, Igor Trevisan wrote: > Hi, I'm trying to cross compile for my arm9 target > the "Live555 Streaming Media" packet and I got a long list > of errors starting with the following: > > make[1]: Entering directory > `/home/igotre/bin/live555-arm-20070524/testProgs' > arm-926ejs-linux-gcc -otestMP3Streamer -L. testMP3Streamer.o > ../liveMedia/libliveMedia.a ../groupsock/libgroup > sock.a ../UsageEnvironment/libUsageEnvironment.a > ../BasicUsageEnvironment/libBasicUsageEnvironment.a > testMP3Streamer.o: In function `main': > testMP3Streamer.cpp:(.text+0x228): undefined reference to `operator > new(unsigned int)' Did you try your GNU C++ compiler? (probably arm-926ejs-linux-c++ in your case). Regards, -- Leon From finlayson at live555.com Fri May 25 06:09:56 2007 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 25 May 2007 06:09:56 -0700 Subject: [Live-devel] QoS with openRTSP and Jitter output In-Reply-To: <841820.26021.qm@web51109.mail.re2.yahoo.com> References: <841820.26021.qm@web51109.mail.re2.yahoo.com> Message-ID: > >>in my "IPTV QoS Monitoring" project i've tried to use openRTSP to get >>>QoS information for a particular stream. The output of jitter as a QoS >>>parameter is also interesting for me, so I'v extended the openRTSP code >>>to output this information. My question is, if I did it the right way, >>>because the jitter value I get, seems to be strange to me. > >>The value returned by "RTPReceptionStats::jitter()" is the jitter >>value defined in the RTP/RTCP specification (RFC 3550, section >>6.4.1). It is expressed in timestamp units, *not* ms, so you should >>divide it by the RTP timestamp frequency, not 1000. >I am just wondering how to get the RTP timestamp frequency from video streams "RTPSource:: timestampFrequency()" -- 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/20070525/0daa92a9/attachment.html From igt1972 at gmail.com Fri May 25 06:15:41 2007 From: igt1972 at gmail.com (Igor Trevisan) Date: Fri, 25 May 2007 15:15:41 +0200 Subject: [Live-devel] ARM cross-compile error list In-Reply-To: References: <5a74a1ca0705250335s273f34a6g299013c7e33250b0@mail.gmail.com> Message-ID: <5a74a1ca0705250615v523c353ep5b9a86214a938fa1@mail.gmail.com> > Did you try your GNU C++ compiler? (probably arm-926ejs-linux-c++ in your > case). Thanks for the hint Leon! I modified the line in config.armlinux that define the "cross-linker" so that arm-926ejs-linux-c++ is used and now I have all compiled for my arm target! Thanks a lot. I. -- "Much less doesn't mean zero" -- E.Benetti -- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070525/30b45e95/attachment-0001.html From l1436636 at yahoo.com Fri May 25 07:52:16 2007 From: l1436636 at yahoo.com (hong liu) Date: Fri, 25 May 2007 07:52:16 -0700 (PDT) Subject: [Live-devel] about parsing SDP description file Message-ID: <153322.59563.qm@web51102.mail.re2.yahoo.com> Dear Ross, I used openRTSP to get a H264 file in mp4 format from Darwin Streaming Server. I encoded into the H264 with image size 352x288 by x264 and encapsulated into the mp4 file using MP4Box. I tried the command of "openRTP -v -4 rtsp://192.168.0.1/a01.mp4" and however the received mp4 file is in wrong image size, which is default size in the program. So I looked to the SDP file, as shown in the below: v=0 o=- 2209842806 1145641443000 IN IP4 142.92.36.55 s=\a01_hinted.mp4 u=http://epox3.dgbt.crc.ca e=admin at epox3.dgbt.crc.ca c=IN IP4 0.0.0.0 b=AS:113 t=0 0 a=maxprate:26.000000 a=range:npt=0- 12.00000 a=control:* m=video 0 RTP/AVP 96 b=AS:113 b=TIAS:107 a=maxprate:26 a=rtpmap:96 H264/90000 a=control:trackID=3 a=cliprect:0,0,288,352 a=framesize:96 352-288 a=fmtp:96 packetization-mode=1;profile-level-id=4D0028;sprop-parameter-sets=Z00AKJZkCwS0IAAAfQAADqYQgA==,aO48gA== a=range:npt=0- 12.00000 I found there was no the line of "a=x-dimensions:," to update the default width and height by the real dimension. I just found the lines of "a=cliprect:0,0,288,352" and "a=framesize:96 352-288". First, I didn't find any explanation about the sematics for these two attributes on Internet. Could you explain it in detail? So I am not so sure if I am doing right in write one more member function in the MediaSubsession class to parse either one of them to update the default image dimension by real one. Thank you for your help! Hong Liu ------------------------------ --------------------------------- Be a better Globetrotter. Get better travel answers from someone who knows. Yahoo! Answers - Check it out. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070525/7b1d886e/attachment.html From igt1972 at gmail.com Fri May 25 08:52:33 2007 From: igt1972 at gmail.com (Igor Trevisan) Date: Fri, 25 May 2007 17:52:33 +0200 Subject: [Live-devel] Problem with openRTSP and testMPEG4VideoStreamer Message-ID: <5a74a1ca0705250852k61df90adu9786b5c244de3ec0@mail.gmail.com> Hi, I'm doing some tests with the test programs between two PCs in my LAN. I'm not able to make the RTSP server transfer a file to openRTSP. What I did is: start testMPEG4VideoStreamer on the first PC, and I get: /home/live555-arm-20070524/testProgs/testMPEG4VideoStreamer Play this stream using the URL "rtsp://10.1.247.112:8554/testStream" Beginning streaming... Beginning to read from file... Then on the other PC I start openRTSP and it ends immediately in the following way: _________________________________________________________________________________ ./openRTSP -o -V rtsp://10.1.247.112:8554/testStream Sending request: OPTIONS rtsp://10.1.247.112:8554/testStream RTSP/1.0 CSeq: 1 User-Agent: ./openRTSP (LIVE555 Streaming Media v2007.05.22) Received OPTIONS response: RTSP/1.0 200 OK CSeq: 1 Date: Thu, Jan 01 1970 02:23:39 GMT Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE RTSP "OPTIONS" request returned: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE __________________________________________________________________________________ What am I doing wrong? I think that I didn't understand too clearly how things should work... :) Any help is very appreciated! Thanks in advance, Igor. -- "Much less doesn't mean zero" -- E.Benetti -- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070525/543ad56c/attachment.html From severin.schoepke at gmail.com Fri May 25 09:35:51 2007 From: severin.schoepke at gmail.com (Severin Schoepke) Date: Fri, 25 May 2007 18:35:51 +0200 Subject: [Live-devel] Synchronizing audio and video streams Message-ID: <46571067.6040101@gmail.com> Hello list, I'm working on an application that streams live generated content (audio and video) using the Darwin Streamnig Server. I decided to use ffmpeg for the encoding part and live555 for the streaming part. The basic architecture is as follows: In a first thread I generate the content, and in a second one I stream the content to the DSS. Data is passed between the threads using two buffers. I implemented two FramedSource subclasses for the streaming part, one for audio and one for video data. Both work as follows: They read raw data from their input buffer and encode it using ffmpeg (using MPEG4 and MP2 codecs) and write to their output buffers (fTo). My sources are then connected to an MPEG4VideoStreamFramer and an MPEG1or2AudioStreamFramer respectively. These are connected to a DarwinInjector (based on the code of testMPEG4VideoToDarwin). The problem I have now is that the streams are not synchronized when viewing them (using QuickTime or VLC). Based on debug printf's I found out that the audio source's doGetNextFrame() is called much more that the video source's. Therefore, the audio stream is played ahead and the video stream is lagging behind. I set correct presentation times for both streams, so I thought that live555 does 'the rest' synchronizing the streams, but it seems not to work. Therefore I'd like to ask you if I should implement a synchronization of the streams by myself, or if I'm doing something wrong... I hope someone can help me and I'd like to thank you for any answers in advance! cheers, Severin From abefriesen at itiva.com Fri May 25 11:20:21 2007 From: abefriesen at itiva.com (Abe Friesen) Date: Fri, 25 May 2007 11:20:21 -0700 Subject: [Live-devel] bytestreamFileSource, doGetNextFrame, and events (h264) In-Reply-To: <46571067.6040101@gmail.com> References: <46571067.6040101@gmail.com> Message-ID: <00af01c79ef9$5b7afaa0$4807a8c0@XENOCIDE> Hi Jay Furmanek, I am about to implement the exact same functionality as you (playing an H264 Annex B encoded bytestream through live555) and was wondering if you'd be willing to share your code :) to save me a couple of days work? Thanks, Abe Friesen From finlayson at live555.com Fri May 25 11:55:05 2007 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 25 May 2007 11:55:05 -0700 Subject: [Live-devel] about parsing SDP description file In-Reply-To: <153322.59563.qm@web51102.mail.re2.yahoo.com> References: <153322.59563.qm@web51102.mail.re2.yahoo.com> Message-ID: >I used openRTSP to get a H264 file in mp4 format from Darwin >Streaming Server. I encoded into the H264 with image size 352x288 by >x264 and encapsulated into the mp4 file using MP4Box. I tried the >command of "openRTP -v -4 rtsp://192.168.0.1/a01.mp4" and however >the received mp4 file is in wrong image size, which is default size >in the program. When recording a .mov or .mp4 format file, you should use the "-w", "-h" and "-f" options to "openRTSP" to specify the width, height and frame rate, respectively. >I found there was no the line of "a=x-dimensions:," >to update the default width and height by the real dimension. I just >found the lines of "a=cliprect:0,0,288,352" and "a=framesize:96 >352-288". > >First, I didn't find any explanation about the sematics for these >two attributes on Internet. That's because they have not been standardized (as far as I can tell). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Fri May 25 11:56:42 2007 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 25 May 2007 11:56:42 -0700 Subject: [Live-devel] Problem with openRTSP and testMPEG4VideoStreamer In-Reply-To: <5a74a1ca0705250852k61df90adu9786b5c244de3ec0@mail.gmail.com> References: <5a74a1ca0705250852k61df90adu9786b5c244de3ec0@mail.gmail.com> Message-ID: >./openRTSP -o -V rtsp://10.1.247.112:8554/testStream >Sending request: OPTIONS rtsp://10.1.247.112:8554/testStream RTSP/1.0 >CSeq: 1 >User-Agent: ./openRTSP (LIVE555 Streaming Media v2007.05.22) > > >Received OPTIONS response: RTSP/1.0 200 OK >CSeq: 1 >Date: Thu, Jan 01 1970 02:23:39 GMT >Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE > > >RTSP "OPTIONS" request returned: OPTIONS, DESCRIBE, SETUP, TEARDOWN, >PLAY, PAUSE >__________________________________________________________________________________ > >What am I doing wrong? You didn't properly read the "openRTSP" documentation (in particular, the meaning of the "-o" option) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Fri May 25 12:47:34 2007 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 25 May 2007 12:47:34 -0700 Subject: [Live-devel] Synchronizing audio and video streams In-Reply-To: <46571067.6040101@gmail.com> References: <46571067.6040101@gmail.com> Message-ID: >I'm working on an application that streams live generated content (audio >and video) using the Darwin Streamnig Server. I decided to use ffmpeg >for the encoding part and live555 for the streaming part. We're no longer providing support for the "DarwinInjector" code. Instead, we recommend that you use our own RTSP server implementation, rather than a separate "Darwin Streaming Server". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From l1436636 at yahoo.com Fri May 25 13:14:26 2007 From: l1436636 at yahoo.com (hong liu) Date: Fri, 25 May 2007 13:14:26 -0700 (PDT) Subject: [Live-devel] about parsing SDP description file Message-ID: <217309.92023.qm@web51112.mail.re2.yahoo.com> >I found there was no the line of "a=x-dimensions:," >to update the default width and height by the real dimension. I just >found the lines of "a=cliprect:0,0,288,352" and "a=framesize:96 >352-288". > >First, I didn't find any explanation about the sematics for these >two attributes on Internet. > That's because they have not been standardized (as far as I can tell). If is there other way to force RTSP streaming server to add the frame rate and video frame size attributes into SDP description text? MP4Box didn't put frame rate into its generated SDP description text. Thank you Ross! Hong Liu ------------------------------ --------------------------------- Got a little couch potato? Check out fun summer activities for kids. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070525/2a155d94/attachment.html From l1436636 at yahoo.com Fri May 25 13:22:10 2007 From: l1436636 at yahoo.com (hong liu) Date: Fri, 25 May 2007 13:22:10 -0700 (PDT) Subject: [Live-devel] about openRTSP Message-ID: <799651.41608.qm@web51109.mail.re2.yahoo.com> I used debugger to trace the openRTSP, and I found it never called "nv->taskScheduler().doEventLoop();" in the main function of openRTSP. I am wondering why you put the code here and when it will be called by the program. Thank you! Hong Liu ------------------------------ --------------------------------- Don't pick lemons. See all the new 2007 cars at Yahoo! Autos. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070525/0cd7b7cb/attachment.html From finlayson at live555.com Fri May 25 13:24:37 2007 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 25 May 2007 13:24:37 -0700 Subject: [Live-devel] about parsing SDP description file In-Reply-To: <217309.92023.qm@web51112.mail.re2.yahoo.com> References: <217309.92023.qm@web51112.mail.re2.yahoo.com> Message-ID: >If is there other way to force RTSP streaming server to add the >frame rate and video frame size attributes into SDP description text? I don't know; you're going to have to ask the authors of that server. -- 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/20070525/d3b3301f/attachment-0001.html From xcsmith at rockwellcollins.com Fri May 25 13:59:43 2007 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Fri, 25 May 2007 15:59:43 -0500 Subject: [Live-devel] Transport header VLC client Message-ID: In any case, to use your example, it's bad design for the RTSP *clients* to be deciding which multicast address each server should be using, not merely because it relies upon the server having this ability enabled. It makes far more sense for each *server* to choose (or be assigned) its multicast address, in advance (when it starts up), in order to avoid conflicting with the multicast address(es) used by other server(s) on the same network. In general, it's the servers that will know this, not the clients (which might be on a completely separate network, and administered separately). Re: Ok, so then what if I use SSM? Does that help any of these problems? Also, what if you want to have more than one client play the same stream (which I imagine that you do, given that you are using multicast)? How does the first client know that it should choose a destination multicast address itself, and how do the second (and subsequent) clients know that they should, instead, use the multicast address that the first client has already given to the server? Re: Lol! I don't know, I could not get out of this requirement. :( So, I implement like this: If the user really, really wants to use the multicast address he/she likes best, and the server isn't able to deliver the data to that address, then the session fails. A user that doesn't care about the address gets the default which I specified for the server, thanks to your recommendation. I thought that in RTSP if you specify the Transport Parameters in SETUP, the RTSP server is only supposed to *try* to give you the Transport you want if the server is able to. But the SETUP response is what really tells you what the server is going to give you. I know in the LIVE that the MediaSession is configured/initiated using the SDP, but I suppose I could try to read the Transport response and go back and change the MediaSession if any of the changes can be done after the subsessions are initiated. Thanks for your thoughts! Xochitl -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070525/e75a401f/attachment.html From julian.lamberty at mytum.de Sun May 27 13:12:47 2007 From: julian.lamberty at mytum.de (Julian Lamberty) Date: Sun, 27 May 2007 22:12:47 +0200 Subject: [Live-devel] Read multiple frames? Message-ID: <4659E63F.7020401@mytum.de> Hi! I've subclassed FramedFilter to transcode a MPEG2 Stream (from vobStreamer) to MPEG4. My "live-chain" is: MPEG1or2VideoRTPSource -> Transcoder -> FileSink I use the following code: void Transcoder::doGetNextFrame() { fInputSource->getNextFrame(fOrg, 4096, afterGettingFrame, this, handleClosure, this); } void Transcoder::afterGettingFrame(void* ClientData, unsigned numBytesRead, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationIn Microseconds) { Transcoder* transcoder = (Transcoder*)clientData; transcoder->afterGettingFrame1(numBytesRead, numTruncatedBytes, presentationTime, durationIn Microseconds); } void Transcoder::afterGettingFrame1(unsigned numBytesRead, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationIn Microseconds) { size = numBytesRead; while(size > 0) { ...ffmpeg stuff (reads from fOrg, shall decode a frame and on success sets got_frame = 1)... } size -= dec_bytes; fOrg += dec_bytes; } All the above functions get porperly called when I start the program, but the problem is that the ffmpeg decoder does not get enough data when the MPEG1or2VideoRTPSource::getNextFrame() is just called one time. size == 0 in this case but the frame can't be completely decoded. numBytesRead is between 700 and 1500 Bytes every time (seems too small imho). How do I obtain more data from the Source until I can decode one frame? Shouldn't MPEG1or2VideoRTPSource deliver exactly ONE VIDEO FRAME? What am I doing wrong? Julian -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 5198 bytes Desc: S/MIME Cryptographic Signature Url : http://lists.live555.com/pipermail/live-devel/attachments/20070527/cd44e92a/attachment.bin From finlayson at live555.com Sun May 27 15:17:45 2007 From: finlayson at live555.com (Ross Finlayson) Date: Sun, 27 May 2007 15:17:45 -0700 Subject: [Live-devel] Read multiple frames? In-Reply-To: <4659E63F.7020401@mytum.de> References: <4659E63F.7020401@mytum.de> Message-ID: >All the above functions get porperly called when I start the >program, but the problem is that the ffmpeg decoder does not get >enough data when the MPEG1or2VideoRTPSource::getNextFrame() is just >called one time. size == 0 in this case but the frame can't be >completely decoded. numBytesRead is between 700 and 1500 Bytes every >time (seems too small imho). How do I obtain more data from the >Source until I can decode one frame? Shouldn't >MPEG1or2VideoRTPSource deliver exactly ONE VIDEO FRAME? Yes, it does. However, don't forget that some video frames are P-frames or B-frames - i.e., much smaller than an I-frame. Also, I suspect that 4096 bytes is nowhere near enough space to store all incoming MPEG-1 or 2 frames - especially I-frames. I suggest increasing this to 50 kB or 100 kB, to be on the safe side. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Sun May 27 15:48:20 2007 From: finlayson at live555.com (Ross Finlayson) Date: Sun, 27 May 2007 15:48:20 -0700 Subject: [Live-devel] Read multiple frames? Message-ID: >Shouldn't MPEG1or2VideoRTPSource deliver exactly ONE VIDEO FRAME? I stand corrected. Reviewing the code once again, I'm reminded that "MPEG1or2VideoRTPSource" does not deliver complete video 'frames', but instead delivers complete MPEG video headers, and complete 'slices'. (The reason for this is to allow clever decoders that (due to packet loss) happen to receive some, but not all slices within a video frame to display something reasonable.) Therefore, if you are feeding input from a "MPEG1or2VideoRTPSource" into a decoder, and your decoder is not smart enough to decode one slice at a time, then you must aggregate the input data into complete video frames before feeding them to your decoder. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From julian.lamberty at mytum.de Mon May 28 01:44:26 2007 From: julian.lamberty at mytum.de (Julian Lamberty) Date: Mon, 28 May 2007 10:44:26 +0200 Subject: [Live-devel] Read multiple frames? Message-ID: <465A966A.60100@mytum.de> >Therefore, if you are feeding input from a "MPEG1or2VideoRTPSource" >into a decoder, and your decoder is not smart enough to decode one >slice at a time, then you must aggregate the input data into complete >video frames before feeding them to your decoder. Can this be done with live555 stuff? Julian -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 5198 bytes Desc: S/MIME Cryptographic Signature Url : http://lists.live555.com/pipermail/live-devel/attachments/20070528/ab8b7dea/attachment-0001.bin From finlayson at live555.com Mon May 28 01:53:10 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 28 May 2007 01:53:10 -0700 Subject: [Live-devel] Read multiple frames? In-Reply-To: <465A966A.60100@mytum.de> References: <465A966A.60100@mytum.de> Message-ID: >>Therefore, if you are feeding input from a "MPEG1or2VideoRTPSource" >>into a decoder, and your decoder is not smart enough to decode one >>slice at a time, then you must aggregate the input data into >>complete video frames before feeding them to your decoder. > >Can this be done with live555 stuff? No. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From igt1972 at gmail.com Mon May 28 02:03:52 2007 From: igt1972 at gmail.com (Igor Trevisan) Date: Mon, 28 May 2007 11:03:52 +0200 Subject: [Live-devel] Problem with openRTSP and testMPEG4VideoStreamer In-Reply-To: References: <5a74a1ca0705250852k61df90adu9786b5c244de3ec0@mail.gmail.com> Message-ID: <5a74a1ca0705280203s5f74bd02x6f53de8b24389de8@mail.gmail.com> > You didn't properly read the "openRTSP" documentation (in particular, > the meaning of the "-o" option) Thanks Ross! I apologize for my questions: it was a typical case in which a "RTFM" as answer would have been appropriate! ;) I. -- "Much less doesn't mean zero" -- E.Benetti -- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070528/931e5d5f/attachment.html From homocean at ibr.cs.tu-bs.de Mon May 28 14:43:26 2007 From: homocean at ibr.cs.tu-bs.de (homocean at ibr.cs.tu-bs.de) Date: Mon, 28 May 2007 23:43:26 +0200 (CEST) Subject: [Live-devel] SeqNo Message-ID: <1878.134.169.173.74.1180388606.squirrel@mail.ibr.cs.tu-bs.de> Hello *, I have a question regarding the interface between the live library and mplayer. As expected, in the case of bigger frames, they are split in more RTP packages. These packages, are put together in live and assembled in a bigger package, that contains the whole frame. How could I have access from mplayer (ReadBufferQueue class, of the demux_rtp.cpp) to the number of rtp packages each frame has been composed from? I can tell if there is loss at mplayer level by inspecting the last sequence number from bufferQueue->rtpSource->curPacketRTPSeqNum() before and after calling the getBuffer(...) in the demux_rtp_fill_buffer function of demux_rtp.cpp file. But I can not know if there are multiple frames lost or just one. If I could know how many RTPpackets each frame is composed on at live level it would be enough to find out how many frames were lost. Any information would be helpful. Regards, Silviu Homoceanu. From abefriesen at itiva.com Mon May 28 16:52:10 2007 From: abefriesen at itiva.com (Abe Friesen) Date: Mon, 28 May 2007 16:52:10 -0700 Subject: [Live-devel] H264 Framerate In-Reply-To: <1878.134.169.173.74.1180388606.squirrel@mail.ibr.cs.tu-bs.de> References: <1878.134.169.173.74.1180388606.squirrel@mail.ibr.cs.tu-bs.de> Message-ID: <008301c7a183$35bc0250$4807a8c0@XENOCIDE> Is it possible to determine the frame rate of an H264 encoded asset (encoded as an Annex B bitstream (NAL units preceded by 0x00 0x00 0x00 0x01)) from the data stream so that I can accurately set fDurationInMicroseconds in the framer? Also, from the H264 spec it looks like the only way to determine whether the current NAL unit ends an access unit is by examining the following NAL unit to determine if it starts an access unit - or am I missing something? Thanks, Abe Friesen From finlayson at live555.com Mon May 28 17:33:16 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 28 May 2007 17:33:16 -0700 Subject: [Live-devel] SeqNo In-Reply-To: <1878.134.169.173.74.1180388606.squirrel@mail.ibr.cs.tu-bs.de> References: <1878.134.169.173.74.1180388606.squirrel@mail.ibr.cs.tu-bs.de> Message-ID: >But I can not know if there are multiple frames >lost or just one. If I could know how many RTPpackets each frame is >composed on at live level it would be enough to find out how many frames >were lost. As you noted, the "RTPSource" abstraction delivers complete 'frames'. (However, the term 'frames' is somewhat of a misnomer, because they do not always correspond to entire video frames - e.g., for MPEG-1 or 2, it delivers complete 'slices'; for H.264, it delivers complete NAL units). The number of RTP packets that made up each frame is (deliberately) not exposed outside the "RTPSource" interface. Data receivers (e.g., audio or video decoders) should not care about this information. However, if you just want to find out packet loss rates, then you can do so by looking at the "RTPReceptionStats" data. (Alternatively, the data sender (i.e., server) can look at RTCP Reception Report ("RR") coming back from the receiver; this data is recorded in a "RTPTransmissionStats" object.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From jclee at micro-web.co.kr Mon May 28 20:03:36 2007 From: jclee at micro-web.co.kr (=?ks_c_5601-1987?B?wMzB2MO2?=) Date: Tue, 29 May 2007 12:03:36 +0900 Subject: [Live-devel] How to Stream different media format(mpeg4 & pcm) at the same time? Message-ID: Hi~ ^^ Thanks for your answer~ ^^ testonDemandRTSPServer can stream multiple media files at the same time,then how can I use/modify the testOnDemandRTSPServer or livemedia server to stream Mpeg4 video & pcm (wave) audio at the same time to single client(just one connection), i.e how can I multiplex & stream separate mpeg4 video data & PCM (wave) audio data.?.. is it possible? Actually our system have seperate stream for mpeg4 video & PCM audio which I wanna stream using livemedia to play at the same time by single media player. Using livemedia source Im able to stream mpeg4 video & pcm wave audio seperately . but how can i stream them together to play at the same time by same player. From finlayson at live555.com Mon May 28 23:06:59 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 28 May 2007 23:06:59 -0700 Subject: [Live-devel] How to Stream different media format(mpeg4 & pcm) at the same time? In-Reply-To: References: Message-ID: >testonDemandRTSPServer can stream multiple media files at the same >time,then how can I use/modify the testOnDemandRTSPServer or >livemedia server to stream Mpeg4 video & pcm (wave) audio at the >same time to single client(just one connection), i.e how can I >multiplex & stream separate mpeg4 video data & PCM (wave) audio >data.?.. is it possible? Yes. You would create a "ServerMediaSession" object, and add two separate "ServerMediaSubsession" objects to it - one for the MPEG-4 video stream, one for the PCM audio stream. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From zhj.zhao at gmail.com Tue May 29 01:55:40 2007 From: zhj.zhao at gmail.com (jerry zhao) Date: Tue, 29 May 2007 10:55:40 +0200 Subject: [Live-devel] How can I change the received packet at the client by using openRTSP? Message-ID: >>I used the testOnDemandRTSPServer to stream video und openRTSP to >>receive the streamed data. My question is: where I should change the >>received packet data before the client stores the received packet on >>the disk, e.g. adding some data or a special header to the received >>packets. >You would need to insert a new filter object (i.e., a subclass of >"FramedFilter" - that you would write), and insert it in the data >chain, in front of the "FileSink" object. (You would do this in >"testProgs/playCommon.cpp".) Hi, Ross, thanks for your reply. If one frame consists of several packets and I need to add some additional data to this frame until all the packets of this frame are received, can I still implement this by writing a subclass of FramedFilter? Is there any reference code for this kind of implementation? Thanks again. Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070529/b38de147/attachment.html From ravinder.singh at ti.com Tue May 29 02:20:25 2007 From: ravinder.singh at ti.com (singh, Ravinder) Date: Tue, 29 May 2007 14:50:25 +0530 Subject: [Live-devel] stream not played till end In-Reply-To: <7EAD1AEEA7621C45899FE99123E124A0DA1AF3@dbde01.ent.ti.com> Message-ID: <7EAD1AEEA7621C45899FE99123E124A0DA1AFF@dbde01.ent.ti.com> Hi All I am trying to use your openRTSP application to stream data from our Bit Band VOD server, what I have Observed is openRTSP never streams complete video data, if the file is around 50MB only 16MB is streamed, Would like to know why this is happening. I am writing to file, and using following command . /openRTSP -V -Q "rtsp://172.24.141.104:554/Video/nature_mp_544x480_2000.ts" Server is correctly reporting npt time (Total Duration of Call) as a=range: npt=0.0-356.774, while only 60 sec streams Is streamed. regards Ravinder -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070529/625b2f1e/attachment.html From finlayson at live555.com Tue May 29 03:34:52 2007 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 29 May 2007 03:34:52 -0700 Subject: [Live-devel] stream not played till end In-Reply-To: <7EAD1AEEA7621C45899FE99123E124A0DA1AFF@dbde01.ent.ti.com> References: <7EAD1AEEA7621C45899FE99123E124A0DA1AFF@dbde01.ent.ti.com> Message-ID: >I am trying to use your openRTSP application to stream data from our >Bit Band VOD server, what I have >Observed is openRTSP never streams complete video data, if the file >is around 50MB only 16MB is streamed, >Would like to know why this is happening. >I am writing to file, and using following command >. /openRTSP -V -Q "rtsp://172.24.141.104:554/Video/nature_mp_544x480_2000.ts" Sorry, but your host "172.24.141.104" is not reachable from our network, therefore I can't test this for myself. -- 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/20070529/c9ea0c10/attachment-0001.html From mrnikhilagrawal at gmail.com Tue May 29 07:07:23 2007 From: mrnikhilagrawal at gmail.com (Nikhil Agrawal) Date: Tue, 29 May 2007 19:37:23 +0530 Subject: [Live-devel] Regarding MPEG streaming In-Reply-To: <733cde3e0705282225m3f2f535fxf21532d0a4445442@mail.gmail.com> References: <733cde3e0705282225m3f2f535fxf21532d0a4445442@mail.gmail.com> Message-ID: <733cde3e0705290707n612f3e66if59836a4d7938745@mail.gmail.com> Hi, I was working on Wav streaming and after analysis I found that SendNext of MultiFramedRTPSink is registered to scheduler to call. Doing this sink always asks for more frames to source. Now when i started analysing MPEG Audio/Video streaming (.mpg), it seems it is different from what Wav is doing. Can anyone please tell me how Live555 is managing .mpg streaming and how task scheduler is functioning in this case. One more query, when we call envir().taskScheduler().scheduleDelayedTask , do scheduler performs this task only one time or it repeadly continue calling registered function. Thanks andRegards, Nikhil Agrawal -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070529/f0712e77/attachment.html From finlayson at live555.com Tue May 29 14:39:53 2007 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 29 May 2007 14:39:53 -0700 Subject: [Live-devel] Regarding MPEG streaming In-Reply-To: <733cde3e0705290707n612f3e66if59836a4d7938745@mail.gmail.com> References: <733cde3e0705282225m3f2f535fxf21532d0a4445442@mail.gmail.com> <733cde3e0705290707n612f3e66if59836a4d7938745@mail.gmail.com> Message-ID: >Now when i started analysing MPEG Audio/Video streaming (.mpg), it >seems it is different from what Wav is doing. Can anyone please tell >me how Live555 is managing .mpg streaming and how task scheduler is >functioning in this case. Remember, You Have Complete Source Code. > >One more query, when we call >envir().taskScheduler().scheduleDelayedTask , do scheduler performs >this task only one time or it repeadly continue calling registered >function. One time only. If you want to repeat the task, then call "scheduleDelayTask()" again at the end. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From zcchm at 126.com Wed May 30 00:44:24 2007 From: zcchm at 126.com (zcchm) Date: Wed, 30 May 2007 15:44:24 +0800 (CST) Subject: [Live-devel] How to convert standard mpeg-4 ino PS(program stream)? Message-ID: <6942908.35621180511064546.JavaMail.root@bj126app68.126.com> Hi, ereryone! I want to convert a standard mpeg-4 file(or stream) into PS(program stream), but I can't find sample code or documents from Internet, who can help me out? Thanks a lot. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070530/337c252d/attachment.html From sapanaj at aftek.com Wed May 30 01:36:54 2007 From: sapanaj at aftek.com (Sapana Jogwadikar) Date: 30 May 2007 14:06:54 +0530 Subject: [Live-devel] RTP checksum error Message-ID: <1180514214.4696.5.camel@sapanaj> Hi, I keep getting RTP checksum errors while transmitting MPEG2-TS stream packets using the wis-streamer application provided by live-555. Is there any way by which I can either minimise or eliminate these checksum errors? I'm using the unicast streaming server for streaming data. Thanks, in advance. Regards, Sapana Jogwadikar From finlayson at live555.com Wed May 30 01:47:26 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 30 May 2007 01:47:26 -0700 Subject: [Live-devel] RTP checksum error In-Reply-To: <1180514214.4696.5.camel@sapanaj> References: <1180514214.4696.5.camel@sapanaj> Message-ID: >Hi, > > I keep getting RTP checksum errors while transmitting MPEG2-TS stream What do you mean by "RTP checksum errors"? RTP does not have checksums. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From homocean at ibr.cs.tu-bs.de Wed May 30 02:17:28 2007 From: homocean at ibr.cs.tu-bs.de (homocean at ibr.cs.tu-bs.de) Date: Wed, 30 May 2007 11:17:28 +0200 (CEST) Subject: [Live-devel] SeqNo In-Reply-To: References: <1878.134.169.173.74.1180388606.squirrel@mail.ibr.cs.tu-bs.de> Message-ID: <3059.134.169.35.237.1180516648.squirrel@mail.ibr.cs.tu-bs.de> >>But I can not know if there are multiple frames >>lost or just one. If I could know how many RTPpackets each frame is >>composed on at live level it would be enough to find out how many frames >>were lost. > > As you noted, the "RTPSource" abstraction delivers complete 'frames'. > (However, the term 'frames' is somewhat of a misnomer, because they > do not always correspond to entire video frames - e.g., for MPEG-1 or > 2, it delivers complete 'slices'; for H.264, it delivers complete NAL > units). The number of RTP packets that made up each frame is > (deliberately) not exposed outside the "RTPSource" interface. Data > receivers (e.g., audio or video decoders) should not care about this > information. Is there any posibility to access this information (the sequence numbers that make up each frame) from mplayer without modifying any live source code(Iterator from RTPReceptionStats from private to public or similar modifications will not be allowed)? Because I want the player to be compatible with any version of live. I need this information at mplayer level to replace the lost frames with no change frames. But first I need to identify the lost packages. > > However, if you just want to find out packet loss rates, then you can > do so by looking at the "RTPReceptionStats" data. (Alternatively, > the data sender (i.e., server) can look at RTCP Reception Report > ("RR") coming back from the receiver; this data is recorded in a > "RTPTransmissionStats" object.) > -- > > 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 > Regards, Silviu Homoceanu From sapanaj at aftek.com Wed May 30 02:31:16 2007 From: sapanaj at aftek.com (Sapana Jogwadikar) Date: 30 May 2007 15:01:16 +0530 Subject: [Live-devel] RTP checksum error In-Reply-To: References: <1180514214.4696.5.camel@sapanaj> Message-ID: <1180517476.4696.23.camel@sapanaj> Hi Ross, Yes, you are right. RTP does not have checksums. I rechecked the ethereal log. The UDP packet carrying the RTP packet had checksum errors. Sorry for the trouble. On Wed, 2007-05-30 at 14:17, Ross Finlayson wrote: > >Hi, > > > > I keep getting RTP checksum errors while transmitting MPEG2-TS stream > > What do you mean by "RTP checksum errors"? RTP does not have checksums. From finlayson at live555.com Wed May 30 02:58:56 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 30 May 2007 02:58:56 -0700 Subject: [Live-devel] SeqNo In-Reply-To: <3059.134.169.35.237.1180516648.squirrel@mail.ibr.cs.tu-bs.de> References: <1878.134.169.173.74.1180388606.squirrel@mail.ibr.cs.tu-bs.de> <3059.134.169.35.237.1180516648.squirrel@mail.ibr.cs.tu-bs.de> Message-ID: >Is there any posibility to access this information (the sequence numbers >that make up each frame) from mplayer without modifying any live source No. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From julian.lamberty at mytum.de Wed May 30 05:40:55 2007 From: julian.lamberty at mytum.de (Julian Lamberty) Date: Wed, 30 May 2007 14:40:55 +0200 Subject: [Live-devel] StreamParser::afterGettingBytes() warning Message-ID: <465D70D7.7050002@mytum.de> Hi! When I try to stream out MPEG4 content using MPEG4VideoStreamFramer and MPEG4ESVideoRTPSink I frequently get errors that say: StreamParser::afterGettingBytes() warning: read X bytes; expected no more than Y (where X is fFrameSize). What am I doing wrong? -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 5198 bytes Desc: S/MIME Cryptographic Signature Url : http://lists.live555.com/pipermail/live-devel/attachments/20070530/f4a84cf5/attachment-0001.bin From finlayson at live555.com Wed May 30 06:03:36 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 30 May 2007 06:03:36 -0700 Subject: [Live-devel] StreamParser::afterGettingBytes() warning In-Reply-To: <465D70D7.7050002@mytum.de> References: <465D70D7.7050002@mytum.de> Message-ID: >When I try to stream out MPEG4 content using MPEG4VideoStreamFramer >and MPEG4ESVideoRTPSink I frequently get errors that say: > >StreamParser::afterGettingBytes() warning: read X bytes; expected no >more than Y > >(where X is fFrameSize). > >What am I doing wrong? The object that your "MPEG4VideoStreamFramer" is reading from is not programmed properly. Its "doGetNextFrame()" implementation is setting "fFrameSize" to a value greater than "fMaxSize". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From julian.lamberty at mytum.de Wed May 30 06:16:21 2007 From: julian.lamberty at mytum.de (Julian Lamberty) Date: Wed, 30 May 2007 15:16:21 +0200 Subject: [Live-devel] StreamParser::afterGettingBytes() warning References: 465D70D7.7050002@mytum.de Message-ID: <465D7925.3010803@mytum.de> Humm, actually it should not: if(enc_bytes > fMaxSize) { fFrameSize = fMaxSize; fNumTruncatedBytes = enc_bytes - fMaxSize; } else { fFrameSize = enc_bytes; fNumTruncatedBytes = 0; } -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 5198 bytes Desc: S/MIME Cryptographic Signature Url : http://lists.live555.com/pipermail/live-devel/attachments/20070530/c5e06523/attachment.bin From julian.lamberty at mytum.de Wed May 30 07:17:44 2007 From: julian.lamberty at mytum.de (Julian Lamberty) Date: Wed, 30 May 2007 16:17:44 +0200 Subject: [Live-devel] StreamParser::afterGettingBytes() warning Message-ID: <465D8788.30904@mytum.de> OK, I found the solution to *this* problem ;) I'm now using MPEG4VideoStreamDiscreteFramer and get no more errors reported. Thank you anyway! -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 5198 bytes Desc: S/MIME Cryptographic Signature Url : http://lists.live555.com/pipermail/live-devel/attachments/20070530/ae62634c/attachment.bin From cool.druker at gmail.com Wed May 30 08:46:02 2007 From: cool.druker at gmail.com (Cool Druker) Date: Wed, 30 May 2007 21:16:02 +0530 Subject: [Live-devel] Hi... Message-ID: <339f0070705300846k1e47daa8pff63a15a1eed0096@mail.gmail.com> Hi, I am a newbie to this stream. I am starting my streaming work from today. Thanking you all in anticipation. Regards - Cool -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070530/dda34109/attachment.html From abefriesen at itiva.com Wed May 30 08:46:59 2007 From: abefriesen at itiva.com (Abe Friesen) Date: Wed, 30 May 2007 08:46:59 -0700 Subject: [Live-devel] fDurationInMicroseconds In-Reply-To: <465D8788.30904@mytum.de> References: <465D8788.30904@mytum.de> Message-ID: <005d01c7a2d1$c2843fa0$4807a8c0@XENOCIDE> I've written my own H264 Framer and ByteStreamFileSource to read Annex B encoded H264 data from a file. However, I am having difficulties setting a proper value for fDurationInMicroseconds. I have been unable to determine the framerate from the video data but I know that it was encoded at 30 fps with an I-frame (nalu type = 5) every 10th frame. Furthermore, each frame is made up of 8 slices (8 separate NALUs). Thus, it would seem that the calculation for fDurationInMicroseconds would be as follows: framerate = 30 fps => 1/30 secs/frame = 0.0333333 secs/frame = 33333 us/frame => divide by 8 for the number of slices per frame = 33333 / 8 = ~4166 us/slice However, when I set this value, the video plays back too fast. And, obviously, setting the value to 33333 makes it play back too slow. The optimal value seems to be around 10000-13000. Thanks, Abe From xcsmith at rockwellcollins.com Wed May 30 09:12:59 2007 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Wed, 30 May 2007 11:12:59 -0500 Subject: [Live-devel] Multicast Interface Addr Message-ID: I have an issue where if I set the Sending- and ReceivingInterfaceAddr to eth1, I cannot receive multicast data. I set them as the first 2 lines of my main() function like this: SendingInterfaceAddr = our_inet_addr("10.145.223.24"); ReceivingInterfaceAddr = our_inet_addr("10.145.223.24"); I have multicast enabled on exactly 1 NIC (eth1 - 10.145.223.24) on my host computer. When I set the sending and receiving address to eth1, multicast loopback fails. When I do not set the address, multicast loopback succeeds. The failure is in function blockUntilReadable(). The read apparently times out if ReceivingInterfaceAddr is set. I don't understand why this is happening. I need to be able to set the Sending and ReceivingInterfaceAddr because my target computer will have multiple NICs with multicast enabled. Do you have any suggestions on what I can check or try? Thanks! xochitl -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070530/8c8e2e8a/attachment.html From bidibulle at operamail.com Wed May 30 11:19:32 2007 From: bidibulle at operamail.com (David Betrand) Date: Wed, 30 May 2007 19:19:32 +0100 Subject: [Live-devel] Multicast Interface Addr Message-ID: <20070530181932.2983124787@ws5-3.us4.outblaze.com> Hello xochitl, I had a similar issue some time ago. Try to get your loopback address before setting your listening interfaces, this fixed my problem : // first netAddressBits ourAddress = ourSourceAddressForMulticast(*env); // then SendingInterfaceAddr = ... ReceivingInterfaceAddr = .... Best regards, David > ----- Original Message ----- > From: xcsmith at rockwellcollins.com > To: live-devel at ns.live555.com > Subject: [Live-devel] Multicast Interface Addr > Date: Wed, 30 May 2007 11:12:59 -0500 > > > I have an issue where if I set the Sending- and ReceivingInterfaceAddr to > eth1, I cannot receive multicast data. I set them as the first 2 lines of > my main() function like this: > SendingInterfaceAddr = our_inet_addr("10.145.223.24"); > ReceivingInterfaceAddr = our_inet_addr("10.145.223.24"); > I have multicast enabled on exactly 1 NIC (eth1 - 10.145.223.24) on my > host computer. When I set the sending and receiving address to eth1, > multicast loopback fails. When I do not set the address, multicast > loopback succeeds. The failure is in function blockUntilReadable(). The > read apparently times out if ReceivingInterfaceAddr is set. I don't > understand why this is happening. I need to be able to set the Sending > and ReceivingInterfaceAddr because my target computer will have multiple > NICs with multicast enabled. Do you have any suggestions on what I can > check or try? > > Thanks! > xochitl > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > -- _______________________________________________ Surf the Web in a faster, safer and easier way: Download Opera 9 at http://www.opera.com Powered by Outblaze From dweber at robotics.net Wed May 30 11:22:29 2007 From: dweber at robotics.net (Dan Weber) Date: Wed, 30 May 2007 14:22:29 -0400 Subject: [Live-devel] fDurationInMicroseconds In-Reply-To: <005d01c7a2d1$c2843fa0$4807a8c0@XENOCIDE> References: <465D8788.30904@mytum.de> <005d01c7a2d1$c2843fa0$4807a8c0@XENOCIDE> Message-ID: <20070530182229.GA17946@Barney.robotics.net> 33333 should be the appropriate value as long as you're timing each frame once. If each slice is part of a single frame, they must all carry the same presentation timestamp, and the duration of every frame up until the slice that completes, the frame should be 0. Dan On Wed, May 30, 2007 at 08:46:59AM -0700, Abe Friesen wrote: > I've written my own H264 Framer and ByteStreamFileSource to read Annex B > encoded H264 data from a file. However, I am having difficulties setting a > proper value for fDurationInMicroseconds. I have been unable to determine > the framerate from the video data but I know that it was encoded at 30 fps > with an I-frame (nalu type = 5) every 10th frame. Furthermore, each frame is > made up of 8 slices (8 separate NALUs). Thus, it would seem that the > calculation for fDurationInMicroseconds would be as follows: > > framerate = 30 fps => 1/30 secs/frame = 0.0333333 secs/frame = 33333 > us/frame => divide by 8 for the number of slices per frame = 33333 / 8 = > ~4166 us/slice > > However, when I set this value, the video plays back too fast. And, > obviously, setting the value to 33333 makes it play back too slow. The > optimal value seems to be around 10000-13000. > > Thanks, > Abe > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From abefriesen at itiva.com Wed May 30 12:25:37 2007 From: abefriesen at itiva.com (Abe Friesen) Date: Wed, 30 May 2007 12:25:37 -0700 Subject: [Live-devel] fDurationInMicroseconds In-Reply-To: <20070530182229.GA17946@Barney.robotics.net> References: <465D8788.30904@mytum.de> <005d01c7a2d1$c2843fa0$4807a8c0@XENOCIDE> <20070530182229.GA17946@Barney.robotics.net> Message-ID: <007101c7a2f0$4dedcf70$4807a8c0@XENOCIDE> Ah, that makes a lot more sense, thanks for the reply. I had tried that but had stupidly set fDurationInMicroseconds to 33333 on the first slice of the frame instead of the last slice which produced terribly choppy video (obviously). Strangely, the video seems to play at the correct speed if I now use 66666.66 as the duration (and 33333 is obviously twice as fast). Odds are that I'm just doing something else that's dumb. Currently, to determine whether the current slice is the end of a frame, I have a terrible hard-coded check (will only work for the video I'm testing with) that checks if the address of the first macroblock in the slice is 1050 (which is the last mb address in the slices in my video). Is there a way to determine this without pulling in the next NALU to check if the frame number changes? Is there a way to determine whether this slice ends an access unit without pulling in the next NALU? >From the specs, it looks like I will need to compare data between two NALUs to determine the above. Are there any examples in live555 for pulling in two frames (NALUs in this case) at the start and then swapping buffers every subsequent time? Will this fit in easily with the live555 design or will it be really ugly? Thanks, Abe -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Dan Weber Sent: Wednesday, May 30, 2007 11:22 AM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] fDurationInMicroseconds 33333 should be the appropriate value as long as you're timing each frame once. If each slice is part of a single frame, they must all carry the same presentation timestamp, and the duration of every frame up until the slice that completes, the frame should be 0. Dan On Wed, May 30, 2007 at 08:46:59AM -0700, Abe Friesen wrote: > I've written my own H264 Framer and ByteStreamFileSource to read Annex B > encoded H264 data from a file. However, I am having difficulties setting a > proper value for fDurationInMicroseconds. I have been unable to determine > the framerate from the video data but I know that it was encoded at 30 fps > with an I-frame (nalu type = 5) every 10th frame. Furthermore, each frame is > made up of 8 slices (8 separate NALUs). Thus, it would seem that the > calculation for fDurationInMicroseconds would be as follows: > > framerate = 30 fps => 1/30 secs/frame = 0.0333333 secs/frame = 33333 > us/frame => divide by 8 for the number of slices per frame = 33333 / 8 = > ~4166 us/slice > > However, when I set this value, the video plays back too fast. And, > obviously, setting the value to 33333 makes it play back too slow. The > optimal value seems to be around 10000-13000. > > Thanks, > Abe > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel From xcsmith at rockwellcollins.com Wed May 30 14:33:41 2007 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Wed, 30 May 2007 16:33:41 -0500 Subject: [Live-devel] Multicast Interface Addr Message-ID: Try to get your loopback address before setting your listening interfaces, this fixed my problem David, Thanks for your response, but I don't think this fixes the problem. Why bother setting the Sending- and ReceivingInterfaceAddr at all if you are going to get the address using multicast loopback first? When I try this in my system with multicast enabled on eth1 and eth0, the multicast loopback selects eth0 as the interface and eth1 is not able to receive multicast data. The work around I was using previously was to remove the multicast route from eth0, but in my target, all NICs will have multicast enabled. I have 2 NIC currently: eth0 = 192.168.38.24 eth1 = 10.145.223.24 netAddressBits bits = ourSourceAddressForMulticast(*env); // Bits =192.168.38.24 = eth0 ReceivingInterfaceAddr = our_inet_addr("10.145.223.24"); SendingInterfaceAddr = our_inet_addr("10.145.223.24"); // Multicast recording fails Thanks! Xochitl -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070530/cdc50b21/attachment.html From ravinder.singh at ti.com Thu May 31 06:30:43 2007 From: ravinder.singh at ti.com (singh, Ravinder) Date: Thu, 31 May 2007 19:00:43 +0530 Subject: [Live-devel] live-devel Digest, Vol 43, Issue 21 In-Reply-To: Message-ID: <7EAD1AEEA7621C45899FE99123E124A0E02CDF@dbde01.ent.ti.com> Hi Ross Our company policy doesn't allow external excess to our network sorry for it :-), but would like to know what can be the problem behind this incomplete file streaming, as bit band player is streaming File till end while our openRTSP is not streaming till end. With our openRTSP test application, Server is exiting after streaming Half of the stream. Regards Ravinder -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of live-devel-request at ns.live555.com Sent: Tuesday, May 29, 2007 4:05 PM To: live-devel at ns.live555.com Subject: live-devel Digest, Vol 43, Issue 21 Send live-devel mailing list submissions to live-devel at lists.live555.com To subscribe or unsubscribe via the World Wide Web, visit http://lists.live555.com/mailman/listinfo/live-devel or, via email, send a message with subject or body 'help' to live-devel-request at lists.live555.com You can reach the person managing the list at live-devel-owner at lists.live555.com When replying, please edit your Subject line so it is more specific than "Re: Contents of live-devel digest..." Today's Topics: 1. Re: Read multiple frames? (Ross Finlayson) 2. Re: Problem with openRTSP and testMPEG4VideoStreamer (Igor Trevisan) 3. SeqNo (homocean at ibr.cs.tu-bs.de) 4. H264 Framerate (Abe Friesen) 5. Re: SeqNo (Ross Finlayson) 6. How to Stream different media format(mpeg4 & pcm) at the same time? (???) 7. Re: How to Stream different media format(mpeg4 & pcm) at the same time? (Ross Finlayson) 8. Re: How can I change the received packet at the client by using openRTSP? (jerry zhao) 9. stream not played till end (singh, Ravinder) 10. Re: stream not played till end (Ross Finlayson) ---------------------------------------------------------------------- Message: 1 Date: Mon, 28 May 2007 01:53:10 -0700 From: Ross Finlayson Subject: Re: [Live-devel] Read multiple frames? To: LIVE555 Streaming Media - development & use Message-ID: Content-Type: text/plain; charset="us-ascii" ; format="flowed" >>Therefore, if you are feeding input from a "MPEG1or2VideoRTPSource" >>into a decoder, and your decoder is not smart enough to decode one >>slice at a time, then you must aggregate the input data into >>complete video frames before feeding them to your decoder. > >Can this be done with live555 stuff? No. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ ------------------------------ Message: 2 Date: Mon, 28 May 2007 11:03:52 +0200 From: "Igor Trevisan" Subject: Re: [Live-devel] Problem with openRTSP and testMPEG4VideoStreamer To: "LIVE555 Streaming Media - development & use" Message-ID: <5a74a1ca0705280203s5f74bd02x6f53de8b24389de8 at mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1" > You didn't properly read the "openRTSP" documentation (in particular, > the meaning of the "-o" option) Thanks Ross! I apologize for my questions: it was a typical case in which a "RTFM" as answer would have been appropriate! ;) I. -- "Much less doesn't mean zero" -- E.Benetti -- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070528/931e5 d5f/attachment-0001.html ------------------------------ Message: 3 Date: Mon, 28 May 2007 23:43:26 +0200 (CEST) From: homocean at ibr.cs.tu-bs.de Subject: [Live-devel] SeqNo To: live-devel at ns.live555.com Message-ID: <1878.134.169.173.74.1180388606.squirrel at mail.ibr.cs.tu-bs.de> Content-Type: text/plain;charset=iso-8859-1 Hello *, I have a question regarding the interface between the live library and mplayer. As expected, in the case of bigger frames, they are split in more RTP packages. These packages, are put together in live and assembled in a bigger package, that contains the whole frame. How could I have access from mplayer (ReadBufferQueue class, of the demux_rtp.cpp) to the number of rtp packages each frame has been composed from? I can tell if there is loss at mplayer level by inspecting the last sequence number from bufferQueue->rtpSource->curPacketRTPSeqNum() before and after calling the getBuffer(...) in the demux_rtp_fill_buffer function of demux_rtp.cpp file. But I can not know if there are multiple frames lost or just one. If I could know how many RTPpackets each frame is composed on at live level it would be enough to find out how many frames were lost. Any information would be helpful. Regards, Silviu Homoceanu. ------------------------------ Message: 4 Date: Mon, 28 May 2007 16:52:10 -0700 From: "Abe Friesen" Subject: [Live-devel] H264 Framerate To: "'LIVE555 Streaming Media - development & use'" Message-ID: <008301c7a183$35bc0250$4807a8c0 at XENOCIDE> Content-Type: text/plain; charset="us-ascii" Is it possible to determine the frame rate of an H264 encoded asset (encoded as an Annex B bitstream (NAL units preceded by 0x00 0x00 0x00 0x01)) from the data stream so that I can accurately set fDurationInMicroseconds in the framer? Also, from the H264 spec it looks like the only way to determine whether the current NAL unit ends an access unit is by examining the following NAL unit to determine if it starts an access unit - or am I missing something? Thanks, Abe Friesen ------------------------------ Message: 5 Date: Mon, 28 May 2007 17:33:16 -0700 From: Ross Finlayson Subject: Re: [Live-devel] SeqNo To: LIVE555 Streaming Media - development & use Message-ID: Content-Type: text/plain; charset="us-ascii" ; format="flowed" >But I can not know if there are multiple frames >lost or just one. If I could know how many RTPpackets each frame is >composed on at live level it would be enough to find out how many frames >were lost. As you noted, the "RTPSource" abstraction delivers complete 'frames'. (However, the term 'frames' is somewhat of a misnomer, because they do not always correspond to entire video frames - e.g., for MPEG-1 or 2, it delivers complete 'slices'; for H.264, it delivers complete NAL units). The number of RTP packets that made up each frame is (deliberately) not exposed outside the "RTPSource" interface. Data receivers (e.g., audio or video decoders) should not care about this information. However, if you just want to find out packet loss rates, then you can do so by looking at the "RTPReceptionStats" data. (Alternatively, the data sender (i.e., server) can look at RTCP Reception Report ("RR") coming back from the receiver; this data is recorded in a "RTPTransmissionStats" object.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ ------------------------------ Message: 6 Date: Tue, 29 May 2007 12:03:36 +0900 From: ??? Subject: [Live-devel] How to Stream different media format(mpeg4 & pcm) at the same time? To: "live Media" Message-ID: Content-Type: text/plain; charset="ks_c_5601-1987" Hi~ ^^ Thanks for your answer~ ^^ testonDemandRTSPServer can stream multiple media files at the same time,then how can I use/modify the testOnDemandRTSPServer or livemedia server to stream Mpeg4 video & pcm (wave) audio at the same time to single client(just one connection), i.e how can I multiplex & stream separate mpeg4 video data & PCM (wave) audio data.?.. is it possible? Actually our system have seperate stream for mpeg4 video & PCM audio which I wanna stream using livemedia to play at the same time by single media player. Using livemedia source Im able to stream mpeg4 video & pcm wave audio seperately . but how can i stream them together to play at the same time by same player. ------------------------------ Message: 7 Date: Mon, 28 May 2007 23:06:59 -0700 From: Ross Finlayson Subject: Re: [Live-devel] How to Stream different media format(mpeg4 & pcm) at the same time? To: LIVE555 Streaming Media - development & use Message-ID: Content-Type: text/plain; charset="us-ascii" ; format="flowed" >testonDemandRTSPServer can stream multiple media files at the same >time,then how can I use/modify the testOnDemandRTSPServer or >livemedia server to stream Mpeg4 video & pcm (wave) audio at the >same time to single client(just one connection), i.e how can I >multiplex & stream separate mpeg4 video data & PCM (wave) audio >data.?.. is it possible? Yes. You would create a "ServerMediaSession" object, and add two separate "ServerMediaSubsession" objects to it - one for the MPEG-4 video stream, one for the PCM audio stream. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ ------------------------------ Message: 8 Date: Tue, 29 May 2007 10:55:40 +0200 From: "jerry zhao" Subject: Re: [Live-devel] How can I change the received packet at the client by using openRTSP? To: live-devel at ns.live555.com Message-ID: Content-Type: text/plain; charset="iso-8859-1" >>I used the testOnDemandRTSPServer to stream video und openRTSP to >>receive the streamed data. My question is: where I should change the >>received packet data before the client stores the received packet on >>the disk, e.g. adding some data or a special header to the received >>packets. >You would need to insert a new filter object (i.e., a subclass of >"FramedFilter" - that you would write), and insert it in the data >chain, in front of the "FileSink" object. (You would do this in >"testProgs/playCommon.cpp".) Hi, Ross, thanks for your reply. If one frame consists of several packets and I need to add some additional data to this frame until all the packets of this frame are received, can I still implement this by writing a subclass of FramedFilter? Is there any reference code for this kind of implementation? Thanks again. Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070529/b38de 147/attachment-0001.html ------------------------------ Message: 9 Date: Tue, 29 May 2007 14:50:25 +0530 From: "singh, Ravinder" Subject: [Live-devel] stream not played till end To: Message-ID: <7EAD1AEEA7621C45899FE99123E124A0DA1AFF at dbde01.ent.ti.com> Content-Type: text/plain; charset="us-ascii" Hi All I am trying to use your openRTSP application to stream data from our Bit Band VOD server, what I have Observed is openRTSP never streams complete video data, if the file is around 50MB only 16MB is streamed, Would like to know why this is happening. I am writing to file, and using following command . /openRTSP -V -Q "rtsp://172.24.141.104:554/Video/nature_mp_544x480_2000.ts" Server is correctly reporting npt time (Total Duration of Call) as a=range: npt=0.0-356.774, while only 60 sec streams Is streamed. regards Ravinder -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070529/625b2 f1e/attachment-0001.html ------------------------------ Message: 10 Date: Tue, 29 May 2007 03:34:52 -0700 From: Ross Finlayson Subject: Re: [Live-devel] stream not played till end To: LIVE555 Streaming Media - development & use Message-ID: Content-Type: text/plain; charset="us-ascii" >I am trying to use your openRTSP application to stream data from our >Bit Band VOD server, what I have >Observed is openRTSP never streams complete video data, if the file >is around 50MB only 16MB is streamed, >Would like to know why this is happening. >I am writing to file, and using following command >. /openRTSP -V -Q "rtsp://172.24.141.104:554/Video/nature_mp_544x480_2000.ts" Sorry, but your host "172.24.141.104" is not reachable from our network, therefore I can't test this for myself. -- 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/20070529/c9ea0 c10/attachment.html ------------------------------ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel End of live-devel Digest, Vol 43, Issue 21 ****************************************** From finlayson at live555.com Thu May 31 06:35:56 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 31 May 2007 06:35:56 -0700 Subject: [Live-devel] stream not played till end In-Reply-To: <7EAD1AEEA7621C45899FE99123E124A0E02CDF@dbde01.ent.ti.com> References: <7EAD1AEEA7621C45899FE99123E124A0E02CDF@dbde01.ent.ti.com> Message-ID: >Hi Ross >Our company policy doesn't allow external excess to our network sorry >for it :-), but would like to know what can be the problem behind this >incomplete file streaming, as bit band player is streaming File till end >while our openRTSP is not streaming till end. >With our openRTSP test application, Server is exiting after streaming >Half of the stream. Please post the diagnostic (i.e. stderr) output from running "openRTSP -V" on your stream. (Also, in the future, please trim the original message when replying to a digest.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From xcsmith at rockwellcollins.com Thu May 31 08:19:29 2007 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Thu, 31 May 2007 10:19:29 -0500 Subject: [Live-devel] Multicast Interface Addr (solution) Message-ID: Thanks for your response, but I don't think this fixes the problem. Why bother setting the Sending- and ReceivingInterfaceAddr at all if you are going to get the address using multicast loopback first? When I try this in my system with multicast enabled on eth1 and eth0, the multicast loopback selects eth0 as the interface and eth1 is not able to receive multicast data. The work around I was using previously was to remove the multicast route from eth0, but in my target, all NICs will have multicast enabled. Ross, David: Please solve this problem in the following way: GroupsockHelper.cpp line 105 (hopefully) - Function: setupDatagramSocket() - MAKE_SOCKADDR_IN(name, ReceivingInterfaceAddr, port.num()); + MAKE_SOCKADDR_IN(name, 0, port.num()); The call to bind() allows all datagrams sent to the port number to be received when the address = INADDR_ANY, as described here: http://docs.hp.com/en/B9106-90013/IP.7P.html Binding to the ReceivingInterfaceAddr will allow unicast data to be received on that port, but not multicast. Thanks! Xochitl -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070531/93738923/attachment-0001.html From xcsmith at rockwellcollins.com Thu May 31 08:23:43 2007 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Thu, 31 May 2007 10:23:43 -0500 Subject: [Live-devel] Multicast Interface Addr (solution) Message-ID: Forgive my extra post, but maybe it would be easier to understand if you change the line to this: MAKE_SOCKADDR_IN(name, INADDR_ANY, port.num()); Xochitl -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070531/82870908/attachment.html From finlayson at live555.com Thu May 31 11:24:44 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 31 May 2007 11:24:44 -0700 Subject: [Live-devel] Multicast Interface Addr (solution) In-Reply-To: References: Message-ID: Sorry, but I can't make this change. The existing code is the whole reason why we allow "ReceivingInterfaceAddr" to be something other than INADDR_ANY. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From xcsmith at rockwellcollins.com Thu May 31 11:49:39 2007 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Thu, 31 May 2007 13:49:39 -0500 Subject: [Live-devel] Multicast Interface Addr Message-ID: Sorry, but I can't make this change. The existing code is the whole reason why we allow "ReceivingInterfaceAddr" to be something other than INADDR_ANY. Re: Do you have a different suggestion of what to try? Why would you not allow ReceivingInterfaceAddr to be something besides INADDR_ANY? I don't understand this reason, can you explain it some more please? Xochitl -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070531/abc6b7b9/attachment.html From finlayson at live555.com Thu May 31 12:21:53 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 31 May 2007 12:21:53 -0700 Subject: [Live-devel] Multicast Interface Addr In-Reply-To: References: Message-ID: >Why would you not allow ReceivingInterfaceAddr to be something >besides INADDR_ANY? We *do* allow "ReceivingInterfaceAddr" to be something besides INADDR_ANY. That's the whole point of the existing code. -- 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/20070531/7af19630/attachment.html From xcsmith at rockwellcollins.com Thu May 31 13:02:00 2007 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Thu, 31 May 2007 15:02:00 -0500 Subject: [Live-devel] Multicast Interface Addr Message-ID: We *do* allow "ReceivingInterfaceAddr" to be something besides INADDR_ANY. That's the whole point of the existing code. Re: But my change does not disable the ability to change the interface from the default. The address parameter on the "bind" call specifies what destination addresses the socket will accept in the arriving packets. If you use INADDR_ANY, you can accept data which specifies any address as the destination address. If you specifiy ReceivingInterfaceAddr as, for example, 192.168.38.24, then your socket can ONLY receive data which was sent with 192.168.38.24 as the destination. Data sent to that socket with a multicast address won't be received. To my understanding, the bind() call is not setting the local interface on which we receive data, but instead creates a "filter" on the incoming data that the socket will accept . From the HP site http://docs.hp.com/en/B9106-90013/IP.7P.html: " The application must also bind to the destination port number in order to receive datagrams that are sent to that port number. If the application binds to the address INADDR_ANY, it may receive all datagrams that are sent to the port number. If the application binds to a multicast group address, it may receive only datagrams sent to that group and port number. It is not necessary to join a multicast group in order to send datagrams to it. " The only thing my change does is allow the socket to receive all data sent to it. The socket uses the ReceivingInterfaceAddr correctly when it sets the socket option IP_ADD_MEMBERSHIP. Try this change out, and you will see that you are able to receive both unicast and multicast on eth1 even when eth0 and eth1 have a multicast route. The code works the same as before, except now you can receive multicast on any interface you select. Xochitl -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070531/5f711435/attachment.html From finlayson at live555.com Thu May 31 13:17:57 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 31 May 2007 13:17:57 -0700 Subject: [Live-devel] Multicast Interface Addr In-Reply-To: References: Message-ID: >Re: But my change does not disable the ability to change the >interface from the default. The address parameter on the "bind" >call specifies what destination addresses the socket will accept in >the arriving packets. If you use INADDR_ANY, you can accept data >which specifies any address as the destination address. If you >specifiy ReceivingInterfaceAddr as, for example, 192.168.38.24, then >your socket can ONLY receive data which was sent with 192.168.38.24 >as the destination. Data sent to that socket with a multicast >address won't be received. I don't whether or not this is universal behavior, or just something that's peculiar to your OS. In any case, the current code ("bind()"ing to "ReceivingInterfaceAddr") is necessary for unicast streams to work properly (if "ReceivingInterfaceAddr" was set to something other than INADDR_ANY). The best way to control the interface on which you receive multicast packets is to ensure that the OS has a proper route for multicast packets on that interface. -- 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/20070531/31c2ed63/attachment.html From xcsmith at rockwellcollins.com Thu May 31 14:50:21 2007 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Thu, 31 May 2007 16:50:21 -0500 Subject: [Live-devel] Multicast Interface Addr Message-ID: In any case, the current code ("bind()"ing to "ReceivingInterfaceAddr") is necessary for unicast streams to work properly (if "ReceivingInterfaceAddr" was set to something other than INADDR_ANY). Re: So when you make this change, you are not able to receive unicast data? My Fedora Core 5 system does not have a problem receiving unicast data if the change is made. Yes, the call to "bind" is required for the socket to be able to receive data sent to the desired port number. Are you saying that if the socket is not also bound to the ReceivingInterfaceAddr that my socket would receive data sent to 192.168.38.24 port 1592 and all data sent to 10.145.223.24 port 1592, therefore hopelessly screwing up my unicast reception? If that is the case, then can the problem be solved by binding the socket to the IP address to which desired datagrams are specifically sent, that address being either ReceivingInterfaceAddr in the case of Unicast or the multicast destination address in the case of Multicast? I do have a functional multicast route on all 5 of my target network cards and both of my host network cards. I need to receive multicast on eth 4 on the target and eth 1 on the host. Thanks for discussing this with me :) Xochitl -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070531/53b0d565/attachment.html From finlayson at live555.com Thu May 31 16:58:55 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 31 May 2007 16:58:55 -0700 Subject: [Live-devel] Multicast Interface Addr In-Reply-To: References: Message-ID: Some people definitely needed the current code for unicast streaming (to/from a specific IP address); that's why the code is there. If I were to make your suggested change, I'm sure I'd get complaints from other people. However, I think the following change will satisfy everyone. In "GroupsockHelper.cpp", try changing lines 101-105 from: #if defined(__WIN32__) || defined(_WIN32) #else if (port.num() != 0 || ReceivingInterfaceAddr != INADDR_ANY) { #endif MAKE_SOCKADDR_IN(name, ReceivingInterfaceAddr, port.num()); to netAddressBits addr = INADDR_ANY;; #if defined(__WIN32__) || defined(_WIN32) #else if (port.num() != 0 || ReceivingInterfaceAddr != INADDR_ANY) { #endif if (port.num() == 0) addr = ReceivingInterfaceAddr; MAKE_SOCKADDR_IN(name, addr, port.num()); -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From ravinder.singh at ti.com Thu May 31 22:12:43 2007 From: ravinder.singh at ti.com (singh, Ravinder) Date: Fri, 1 Jun 2007 10:42:43 +0530 Subject: [Live-devel] live-devel Digest, Vol 43, Issue 24 In-Reply-To: Message-ID: <7EAD1AEEA7621C45899FE99123E124A0E02D53@dbde01.ent.ti.com> Hi Ross Following is the log ./openRTSP -V -Q "rtsp://172.24.141.104:554/Video/edit.mpg" Sending request: OPTIONS rtsp://172.24.141.104:554/Video/edit.mpg RTSP/1.0 CSeq: 1 User-Agent: ./openRTSP (LIVE555 Streaming Media v2007.05.22) Received OPTIONS response: RTSP/1.0 200 OK CSeq: 1 Public: DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, OPTIONS Server: VideoServer Accept-Scale: -24,-16,-8,-4,-2,1,2,4,8,16,24 Sending request: DESCRIBE rtsp://172.24.141.104:554/Video/edit.mpg RTSP/1.0 CSeq: 2 Accept: application/sdp User-Agent: ./openRTSP (LIVE555 Streaming Media v2007.05.22) Received DESCRIBE response: RTSP/1.0 200 OK CSeq: 2 Content-Type: application/sdp Content-Length: 214 Need to read 214 extra bytes Read 214 extra bytes: v=0 o=- 3389626461 0 IN IP4 0.0.0.0 s=Video RTSP Server t=3389626461 0 m=video 0 RTP/AVP 33 a=rtpmap:33 H264/90000 a=control:rtsp://172.24.141.104:554/Video/edit.mpg a=range:npt=0.0-144.159 a=bitrate:1897 Opened URL "rtsp://172.24.141.104:554/Video/edit.mpg", returning a SDP description: v=0 o=- 3389626461 0 IN IP4 0.0.0.0 s=Video RTSP Server t=3389626461 0 m=video 0 RTP/AVP 33 a=rtpmap:33 H264/90000 a=control:rtsp://172.24.141.104:554/Video/edit.mpg a=range:npt=0.0-144.159 a=bitrate:1897 In loop Created receiver for "video/H264" subsession (client ports 32910-32911) Sending request: SETUP rtsp://172.24.141.104:554/Video/edit.mpg RTSP/1.0 CSeq: 3 Transport: RTP/AVP;unicast;client_port=32910-32911 User-Agent: ./openRTSP (LIVE555 Streaming Media v2007.05.22) Received SETUP response: RTSP/1.0 200 OK CSeq: 3 Session: 17360772;timeout=60 Transport: RTP/AVP;unicast;source=172.24.141.104;client_port=32910-32911;mode="PLAY " Content-Type: application/sdp Content-Length: 214 Setup "video/H264" subsession (client ports 32910-32911) Created output file: "video-H264-1" Sending request: PLAY rtsp://172.24.141.104:554/Video/edit.mpg RTSP/1.0 CSeq: 4 Session: 17360772 Range: npt=0.000- User-Agent: ./openRTSP (LIVE555 Streaming Media v2007.05.22) Received PLAY response: v=0 o=- 3389626461 0 IN IP4 0.0.0.0 s=Video RTSP Server t=3389626461 0 m=video 0 RTP/AVP 33 a=rtpmap:33 H264/90000 a=control:rtsp://172.24.141.104:554/Video/edit.mpg a=range:npt=0.0-144.159 a=bitrate:1897 RTSP/1.0 200 OK CSeq: 4 Session: 17360772 Range: npt=0.000-144.159 Scale: 1 Speed: 1.0 RTP-Info: url=172.24.141.104:554/Video/edit.mpg;seq=13502;rtptime=0;ssrc=21880493 Started playing session Receiving streamed data (for up to 144.158997 seconds)... begin_QOS_statistics server_availability 100 stream_availability 100 subsession video/H264 num_packets_received 10786 num_packets_lost 0 elapsed_measurement_time 144.000497 kBytes_received_total 14194.376000 measurement_sampling_interval_ms 1000 kbits_per_second_min 0.000000 kbits_per_second_ave 788.573723 kbits_per_second_max 1906.376304 packet_loss_percentage_min 0.000000 packet_loss_percentage_ave 0.000000 packet_loss_percentage_max 0.000000 inter_packet_gap_ms_min 1.558000 inter_packet_gap_ms_ave 5.565494 inter_packet_gap_ms_max 9.436000 end_QOS_statistics Sending request: TEARDOWN rtsp://172.24.141.104:554/Video/edit.mpg RTSP/1.0 CSeq: 5 Session: 17360772 User-Agent: ./openRTSP (LIVE555 Streaming Media v2007.05.22) Received TEARDOWN response: RTSP/1.0 454 Session Not Found CSeq: 5 Session: 17360772 Regards Ravinder