From vincent.l at jasmin-infotech.com Sat Mar 1 01:13:15 2008 From: vincent.l at jasmin-infotech.com (Vincent L) Date: Sat, 1 Mar 2008 14:43:15 +0530 Subject: [Live-devel] Problem in RTSP streaming on linux Message-ID: Dear All, I am not able to streaming through RTSP on linux (Susi). I am trying to streaming from Darwin streaming server running under linux. my windows client PC able to streaming with Mplayer. I can use the command mplayer rtsp://172.16.6.143/Grub.mp4 But In linux PC, I have installed latest Mplayer RC2 and live555 library. still I am facing the problem Kindly help me. Best Regards, L. Vincent Jasmin Infotech Private Limited Plot No.119, (Opp to N.I.O.T.), Velachery Tambaram Road, Pallikaranai, Chennai 600 100, India Ph: +91 44 3061 9600 ext 2053 Fax: +91 44 3061 9605 ******************************Disclaimer***************************** Information in this email is proprietary and Confidential to Jasmin Infotech. Any use, copying or dissemination of the information in any manner is strictly prohibited. If you are not the intended recipient, please destroy the message and please inform us. ********************************************************************* From finlayson at live555.com Sat Mar 1 01:27:55 2008 From: finlayson at live555.com (Ross Finlayson) Date: Sat, 1 Mar 2008 01:27:55 -0800 Subject: [Live-devel] Problem in RTSP streaming on linux In-Reply-To: References: Message-ID: >Dear All, > > I am not able to streaming through RTSP on linux (Susi). > >I am trying to streaming from Darwin streaming server running under linux. > >my windows client PC able to streaming with Mplayer. >I can use the command > >mplayer rtsp://172.16.6.143/Grub.mp4 > >But In linux PC, I have installed latest Mplayer RC2 and >live555 library. still I am facing the problem You haven't really given us enough information about your problem. However, I suggest trying the following, in order: 1/ Try using VLC as your client 2/ Try using openRTSP as your client -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From manju.tn at sasken.com Sat Mar 1 02:34:24 2008 From: manju.tn at sasken.com (Manju TN) Date: Sat, 1 Mar 2008 16:04:24 +0530 Subject: [Live-devel] streaming rtp packets containing analysis information through livemedia Message-ID: Hi, My need is to stream the rtp packets that possess analysis information.This should happen only during some events on the source side. For that this is my approach: - create a new rtppayloadtype - create a new rtpsink to this payload type - create new subsession I am not aware as to minimal functionalities the sink should have. Also which class(from livemedia) should I need to subclass ? Is there anything else I need to do? Do I need to have a separate source class for this ? Can somebody help me ? Thanks in advance, TNM SASKEN BUSINESS DISCLAIMER ------------------------- This message may contain confidential, proprietary or legally privileged information. In case you are not the original intended Recipient of the message, you must not, directly or indirectly, use, Disclose, distribute, print, or copy any part of this message and you are requested to delete it and inform the sender. Any views expressed in this message are those of the individual sender unless otherwise stated. Nothing contained in this message shall be construed as an offer or acceptance of any offer by Sasken Communication Technologies Limited ("Sasken") unless sent with that express intent and with due authority of Sasken. Sasken has taken enough precautions to prevent the spread of viruses. However the company accepts no liability for any damage caused by any virus transmitted by this email -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080301/01623a28/attachment-0001.html From finlayson at live555.com Sat Mar 1 04:46:35 2008 From: finlayson at live555.com (Ross Finlayson) Date: Sat, 1 Mar 2008 04:46:35 -0800 Subject: [Live-devel] streaming rtp packets containing analysis information through livemedia In-Reply-To: References: Message-ID: >My need is to stream the rtp packets that possess analysis information. Which RTP payload format is this? I.e., which RFC (or Internet Draft) will you be implementing? -- 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/20080301/db830d0c/attachment.html From clifford at cs.bris.ac.uk Sat Mar 1 11:42:50 2008 From: clifford at cs.bris.ac.uk (Raphael Clifford) Date: Sat, 1 Mar 2008 19:42:50 +0000 Subject: [Live-devel] audio/x-Purevoice problem In-Reply-To: References: Message-ID: On 12/02/2008, Raphael Clifford wrote: > On 12/02/2008, Ross Finlayson wrote: > > See > -- > > Thanks. It's a real shame that a university would use such a format > which seems to make it unplayable under linux by any means. > I noticed this. I don't know if it is detailed enough but thought I should mention it. http://community.roxen.com/developers/idocs/rfc/rfc2658.html Best wishes, Raphael From rekhtman at verizon.net Sat Mar 1 17:59:23 2008 From: rekhtman at verizon.net (Boris Rekhtman) Date: Sat, 01 Mar 2008 20:59:23 -0500 Subject: [Live-devel] RTP to Transport Stream Message-ID: <53F59C213EF94C599069BB69EB4C5A5A@BORISSONY> Hello, I am looking for a way to modify openRTSP example to a. Request MPEG2 Program Stream file from live555 Media Server (already in openRTSP) b. Receive 2 RTP streams for audio and video (already in openRTSP) c. Multiplex 2 streams and create an MPEG2 Transport Stream file instead of 2 separate files. Could you suggest combination of filters to achieve this? Thank you for help, Boris -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080301/c358a316/attachment.html From finlayson at live555.com Sat Mar 1 23:54:43 2008 From: finlayson at live555.com (Ross Finlayson) Date: Sat, 1 Mar 2008 23:54:43 -0800 Subject: [Live-devel] audio/x-Purevoice problem In-Reply-To: References: Message-ID: >On 12/02/2008, Raphael Clifford wrote: >> On 12/02/2008, Ross Finlayson wrote: >> > See >>> > -- >> >> Thanks. It's a real shame that a university would use such a format >> which seems to make it unplayable under linux by any means. >> > >I noticed this. I don't know if it is detailed enough but thought I >should mention it. >http://community.roxen.com/developers/idocs/rfc/rfc2658.html That is the RTP payload format for the "audio/QCELP" media type (see section 4.1.20 of RFC 3555). It turns out that we support this (using the "QCELPAudioRTPSource" and QCELPAudioRTPSink" classes). However, we do *not* support the "audio/x-Purevoice" media type, because there is no known document that defines this. It is possible (in fact, likely) that this is the same RTP payload format as "audio/QCELP", but I can't say for sure. If you are confident that these are, in fact, the same RTP payloaf format, then you could change line 672 of "liveMedia/MediaSession.cpp" from if (strcmp(fCodecName, "QCELP") == 0) { // QCELP audio to if (strcmp(fCodecName, "QCELP") == 0 || strcmp(fCodecName, "x-Purevoice") == 0) { // QCELP audio From finlayson at live555.com Sun Mar 2 17:50:42 2008 From: finlayson at live555.com (Ross Finlayson) Date: Sun, 2 Mar 2008 17:50:42 -0800 Subject: [Live-devel] RTP to Transport Stream In-Reply-To: <53F59C213EF94C599069BB69EB4C5A5A@BORISSONY> References: <53F59C213EF94C599069BB69EB4C5A5A@BORISSONY> Message-ID: >I am looking for a way to modify openRTSP example to >a. Request MPEG2 Program Stream file from live555 Media Server >(already in openRTSP) >b. Receive 2 RTP streams for audio and video (already in openRTSP) >c. Multiplex 2 streams and create an MPEG2 Transport Stream file >instead of 2 separate files. > >Could you suggest combination of filters to achieve this? You can do this using the "MPEG2TransportStreamFromESSource" class. Create an object of this class, then 'feed' the audio and video sources ("RTPSource"s) into it, using the "addNewAudioSource()" and "addNewVideoSource()" member functions. Then create a "FileSink" object, and 'play' it using your "MPEG2TransportStreamFromESSource" object. -- 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/20080302/a94d5a9e/attachment.html From manju.tn at sasken.com Sun Mar 2 20:49:31 2008 From: manju.tn at sasken.com (Manju TN) Date: Mon, 3 Mar 2008 10:19:31 +0530 Subject: [Live-devel] streaming rtp packets containing analysis information through livemedia References: Message-ID: Thanks for your reply. I am planning to define new rtp payload. The analytics information is niether audio nor video but could be some binary data or text string ... this is still undecided. Since the data wont be a standard audio or video, I am planning to define new rtppayload (in the range between 96-127,say 99). For this should I need to implement a particular RFC ? I already have the implementation code for payloadformat type 98 and hoping to implement on the same lines.But I dont know what all should I typically implement....especially to wrap the packet into a standard rtp header which must eventually be streamed to my client. Or is there a different approach to achieve this, like use any of the existing field in the rtp header (in my existing implementation)to identify these special packets and handle them accordingly in my client ? I tried changing the mime type text string(while streaming these special packets which occurs once in a while) in the existing implementation but the streaming stopped. Thanks, TN ________________________________ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: Saturday, March 01, 2008 6:17 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] streaming rtp packets containing analysis information through livemedia My need is to stream the rtp packets that possess analysis information. Which RTP payload format is this? I.e., which RFC (or Internet Draft) will you be implementing? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ SASKEN BUSINESS DISCLAIMER ------------------------- This message may contain confidential, proprietary or legally privileged information. In case you are not the original intended Recipient of the message, you must not, directly or indirectly, use, Disclose, distribute, print, or copy any part of this message and you are requested to delete it and inform the sender. Any views expressed in this message are those of the individual sender unless otherwise stated. Nothing contained in this message shall be construed as an offer or acceptance of any offer by Sasken Communication Technologies Limited ("Sasken") unless sent with that express intent and with due authority of Sasken. Sasken has taken enough precautions to prevent the spread of viruses. However the company accepts no liability for any damage caused by any virus transmitted by this email -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080302/bcbd706c/attachment.html From finlayson at live555.com Sun Mar 2 20:57:39 2008 From: finlayson at live555.com (Ross Finlayson) Date: Sun, 2 Mar 2008 20:57:39 -0800 Subject: [Live-devel] streaming rtp packets containing analysis information through livemedia In-Reply-To: References: Message-ID: To implement a new RTP payload format, you need to define and implement a subclass of "MultiFramedRTPSink" (for sending), and "MultiFramedRTPSource" (for receiving). There are several examples of this in the code that you can review. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From allen at avaya.com Sun Mar 2 21:49:59 2008 From: allen at avaya.com (Allen, Toby Edward Gedis (Toby)) Date: Mon, 3 Mar 2008 13:49:59 +0800 Subject: [Live-devel] streaming rtp packets containing analysis information through livemedia In-Reply-To: References: Message-ID: Wouldn't it be better to enhance RTCP instead of RTP? RTCP is designed to report all sorts of stats on RTP traffic. We are currently investigating enhancements where I work for the improvement of VoIP. Toby From manju.tn at sasken.com Sun Mar 2 22:29:35 2008 From: manju.tn at sasken.com (Manju TN) Date: Mon, 3 Mar 2008 11:59:35 +0530 Subject: [Live-devel] streaming rtp packets containing analysisinformation through livemedia References: Message-ID: You mean to say that during custom events (that takes place in my streaming server side),send an RTCP packet with fTypeOfEvent set to a partcular value(by defining one more event) and check for the same on the receiver(client) ? -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Allen, Toby Edward Gedis (Toby) Sent: Monday, March 03, 2008 11:20 AM To: live-devel at ns.live555.com Subject: Re: [Live-devel] streaming rtp packets containing analysisinformation through livemedia Wouldn't it be better to enhance RTCP instead of RTP? RTCP is designed to report all sorts of stats on RTP traffic. We are currently investigating enhancements where I work for the improvement of VoIP. Toby _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel SASKEN BUSINESS DISCLAIMER ------------------------- This message may contain confidential, proprietary or legally privileged information. In case you are not the original intended Recipient of the message, you must not, directly or indirectly, use, Disclose, distribute, print, or copy any part of this message and you are requested to delete it and inform the sender. Any views expressed in this message are those of the individual sender unless otherwise stated. Nothing contained in this message shall be construed as an offer or acceptance of any offer by Sasken Communication Technologies Limited ("Sasken") unless sent with that express intent and with due authority of Sasken. Sasken has taken enough precautions to prevent the spread of viruses. However the company accepts no liability for any damage caused by any virus transmitted by this email From finlayson at live555.com Mon Mar 3 00:15:57 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 3 Mar 2008 00:15:57 -0800 Subject: [Live-devel] streaming rtp packets containing analysis information through livemedia In-Reply-To: References: Message-ID: >Wouldn't it be better to enhance RTCP instead of RTP? RTCP is designed >to report all sorts of stats on RTP traffic. RTCP is appropriate if (and only if) the statistics relate directly to the performance of the RTP stream. >We are currently >investigating enhancements where I work for the improvement of VoIP. Please look at the RTCP enhancements (in particular, RTCP "XR" (Extended Reports)) that have already been defined by the IETF. (I can't give support to any RTP or RTCP modifications that aren't going through the standards process.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From etienne.bomcke at uclouvain.be Mon Mar 3 02:45:14 2008 From: etienne.bomcke at uclouvain.be (=?ISO-8859-1?Q?Etienne_B=F6mcke?=) Date: Mon, 3 Mar 2008 11:45:14 +0100 Subject: [Live-devel] Attach sink to multiple sources In-Reply-To: References: <9D46CF5F-CDD4-4969-97A9-5075FB677E9A@uclouvain.be> Message-ID: Thanks for the advice. I'll take a look at this and I'll get back to you if I achieve interesting results. Etienne On 01 Mar 2008, at 02:36, Ross Finlayson wrote: >> I was >> wondering if it was theoretically possible to design a custom Sink >> class, which instances could be attached to various sources. > > The best way to do this would not be to define a new type of sink, > but instead define a new type of source - i.e., a subclass of > "FramedSource" - that would, as usual, feed into a single sink, but > would read from multiple sources, as desired. > > More specifically, your new "FramedSource" subclass would perhaps > take the (multiple) input sources as parameters to its constructor > (and its "createNew()" function), and would implement the > "doGetNextFrame()" virtual function by reading from the appropriate > input source. > -- > > 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 -- Etienne B?mcke UCL - Laboratoire TELE etienne.bomcke at uclouvain.be From belloni at imavis.com Mon Mar 3 04:15:31 2008 From: belloni at imavis.com (Cristiano Belloni) Date: Mon, 03 Mar 2008 13:15:31 +0100 Subject: [Live-devel] How to implement non-blocking fashion in custom doGetNextFrame() In-Reply-To: References: <47C8451D.8040109@imavis.com> Message-ID: <47CBEBE3.1080100@imavis.com> Ross Finlayson wrote: > If your > capture device is a socket, then you can easily do this using > "TaskScheduler::turnOnBackgroundReadHandling()". If, however, your > capture device is not a socket, then you can instead signal the > arrival of new data by writing a new event loop (e.g., by subclassing > "TaskScheduler"), or perhaps more simply by using the existing > "watchVariable" feature (see the FAQ). > My capture device is not a socket, and I'd like to write a new event loop. I see that my doGetNextFrame is called anytime a DelayQueue::HandleAlarm calls AlarmHandler::HandleTimeout (which in turn calls handleTimeout, and so on). Please note I can only see *if* a frame is ready. When / where in the code should I check that, in order to get my doGetNextFrame called? Regards, Cristiano -- Belloni Cristiano Imavis Srl. www.imavis.com belloni at imavis.com From Scott.Cubbage at 2d3.com Mon Mar 3 08:51:35 2008 From: Scott.Cubbage at 2d3.com (Scott Cubbage) Date: Mon, 3 Mar 2008 08:51:35 -0800 Subject: [Live-devel] MPEG2 Transport Stream Receiver Message-ID: <0AB6AF17F1CA89488C54A1608880EB170117572A@vmsexch1.omg.local> Hi, It wasn't immediately obvious to me: Is there a receiver counterpart to the testMPEG2TransportStreamer.exe test program that I can play with? I can catch the stream with VLC, but I'd like to do a couple of quick tests with code that I can quickly modify. Great project by the way - cool, useful stuff! Thanks, Scott Cubbage ________________________________________________________________________ This e-mail, and any attachment, is confidential. If you have received it in error, do not use or disclose the information in any way, notify me immediately, and please delete it from your system. ________________________________________________________________________ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080303/8f359b47/attachment.html From xcsmith at rockwellcollins.com Mon Mar 3 11:23:22 2008 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Mon, 3 Mar 2008 13:23:22 -0600 Subject: [Live-devel] MPEG2 Transport Stream Receiver In-Reply-To: <0AB6AF17F1CA89488C54A1608880EB170117572A@vmsexch1.omg.local> Message-ID: > It wasn?t immediately obvious to me: Is there a receiver > counterpart to the testMPEG2TransportStreamer.exe test program that > I can play with? use openRTSP program. ~xo -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080303/9a68474a/attachment.html From xcsmith at rockwellcollins.com Mon Mar 3 11:55:55 2008 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Mon, 3 Mar 2008 13:55:55 -0600 Subject: [Live-devel] How to implement non-blocking fashion in custom doGetNextFrame() In-Reply-To: <47C8451D.8040109@imavis.com> Message-ID: > The problem is, deliverFrame returns the very first frame OK, then > doGetNextFrame is called again before a new frame is captured, and I > return immediately. Then, I don't know why, liveMedia never calls > doGetNextFrame again. It just stays stuck and apparently does nothing. > > Why? What I'm doing wrong? > > If I remove that block of code, conversely, doGetNextFrame never blocks > and always return "old" frames until the next frame is acquired, filling > rapidly the CPU resources. > > Thanks. > > Regards, > > Cristiano. > 1. Are you inheriting from FramedSource, from DeviceSource, or modifying DeviceSource? 2. Is "isAwaitingData()" function an abbreviation for "isCurrentlyAwaitingData()", or are these separate functions? 3. When you copy your data to fTo in deliverFrame(), are you using "memcpy()" or similar function to write the data? 4. Does your "deliverFrame()" call "afterGetting()"? You have to call "afterGetting()" so that the downstream filter / sink can begin handling your data. (Ross said this on the last thread post) 5. Does your "afterGetting() function set fIsCurrentlyAwaitingData? If you don't set fIsCurrentlyAwaitingData to False, then as you see in FramedSource::getNextFrame(), the source->sink chain will quit. FramedSource.cpp line 64. Ross provided a general solution email earlier. If you have more questions, I'd be interested in looking at what you've written. I enjoy working with the filter code. The source you've posted isn't enough for me to help more specifically. Can you post all / more of your file or just send it to me? ~xo -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080303/26199abc/attachment-0001.html From xcsmith at rockwellcollins.com Mon Mar 3 15:13:31 2008 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Mon, 3 Mar 2008 17:13:31 -0600 Subject: [Live-devel] A network problem In-Reply-To: Message-ID: > In general, you cannot expect RTSP/RTP to work over a NAT. However, > because your server is really on the Internet, then you might be > able to get RTP-over-TCP streaming to work, even though your client > is not really on the Internet. Is the IP address the only problem with NAT? Couldn't routers with correct port forwarding (on either end of the RTSP connection) take care of this? Also, I notice a lot of posts about UDP transfer problems. Is the primary reason that firewalls are often blocking UDP? RFC 2326 1.4 Claims that passing the Transport Initialization Information in the RTSP messages allows routers to open the firewall as necessary. Do any commercially available routers/firewalls actually allow this for RTP? Based on posts so far, it sounds like if you have a firewall, you're SOL without RTP-Over-TCP. RFC 2326, Section 1.4 Protocol Properties " Proxy and firewall friendly: The protocol should be readily handled by both application and transport-layer (SOCKS [14]) firewalls. A firewall may need to understand the SETUP method to open a "hole" for the UDP media stream." -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080303/500863a8/attachment.html From bellaj1 at gmail.com Mon Mar 3 03:34:52 2008 From: bellaj1 at gmail.com (safileader) Date: Mon, 3 Mar 2008 12:34:52 +0100 Subject: [Live-devel] help Message-ID: hello i want to do a programme in c++ for capture video from camra pda and send it live to a pc. i use directshow librery i did my graph and i preview the video but the probleme how can i sen it in live to a pc can you help me think you -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080303/1dfe3465/attachment.html From rekhtman at verizon.net Mon Mar 3 15:45:51 2008 From: rekhtman at verizon.net (Boris Rekhtman) Date: Mon, 03 Mar 2008 18:45:51 -0500 Subject: [Live-devel] RTP to Transport Stream In-Reply-To: Message-ID: <463B4385C0A9462A8D7171D9E3B09B9F@BORISSONY> I tried this and the result file stutters a lot in VLC. I also tried to stream this TS using BasicUDPSink and it also stutters in VLC and if played on Amino set-top box. What can be a reason for this? Boris Rekhtman _____ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: Sunday, March 02, 2008 8:51 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] RTP to Transport Stream I am looking for a way to modify openRTSP example to a. Request MPEG2 Program Stream file from live555 Media Server (already in openRTSP) b. Receive 2 RTP streams for audio and video (already in openRTSP) c. Multiplex 2 streams and create an MPEG2 Transport Stream file instead of 2 separate files. Could you suggest combination of filters to achieve this? You can do this using the "MPEG2TransportStreamFromESSource" class. Create an object of this class, then 'feed' the audio and video sources ("RTPSource"s) into it, using the "addNewAudioSource()" and "addNewVideoSource()" member functions. Then create a "FileSink" object, and 'play' it using your "MPEG2TransportStreamFromESSource" object. -- 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/20080303/3024b8c7/attachment.html From belloni at imavis.com Tue Mar 4 02:54:07 2008 From: belloni at imavis.com (Cristiano Belloni) Date: Tue, 04 Mar 2008 11:54:07 +0100 Subject: [Live-devel] How to implement non-blocking fashion in custom doGetNextFrame() In-Reply-To: References: Message-ID: <47CD2A4F.5070906@imavis.com> xcsmith at rockwellcollins.com wrote: > 1. Are you inheriting from FramedSource, from DeviceSource, or > modifying DeviceSource? Inheriting from FramedSource. > 2. Is "isAwaitingData()" function an abbreviation for > "isCurrentlyAwaitingData()", or are these separate functions? It's a separate function. Returns true if I have a new frame ready. > 3. When you copy your data to fTo in deliverFrame(), are you using > "memcpy()" or similar function to write the data? > 4. Does your "deliverFrame()" call "afterGetting()"? You have to call > "afterGetting()" so that the downstream filter / sink can begin > handling your data. (Ross said this on the last thread post) memcpy. And yes, it calls afterGetting() > 5. Does your "afterGetting() function set fIsCurrentlyAwaitingData? If > you don't set fIsCurrentlyAwaitingData to False, then as you see in > FramedSource::getNextFrame(), the source->sink chain will quit. > FramedSource.cpp line 64. Err.. I don't define any afterGetting > > > Ross provided a general solution email earlier. If you have more > questions, I'd be interested in looking at what you've written. I > enjoy working with the filter code. The source you've posted isn't > enough for me to help more specifically. Can you post all / more of > your file or just send it to me? > ~xo Currently I'm experimenting modifying taskScheduler, and I'm rewriting the code. A soon as I have some readable code, I'll gladly send it to you. Many thanks, Regards, Cristiano -- Belloni Cristiano Imavis Srl. www.imavis.com belloni at imavis.com From belloni at imavis.com Tue Mar 4 03:09:42 2008 From: belloni at imavis.com (Cristiano Belloni) Date: Tue, 04 Mar 2008 12:09:42 +0100 Subject: [Live-devel] How to implement non-blocking fashion in custom doGetNextFrame() In-Reply-To: <47CD2A4F.5070906@imavis.com> References: <47CD2A4F.5070906@imavis.com> Message-ID: <47CD2DF6.6020500@imavis.com> Cristiano Belloni wrote: > xcsmith at rockwellcollins.com wrote: > >> 1. Are you inheriting from FramedSource, from DeviceSource, or >> modifying DeviceSource? >> > Inheriting from FramedSource. > >> 2. Is "isAwaitingData()" function an abbreviation for >> "isCurrentlyAwaitingData()", or are these separate functions? >> > It's a separate function. Returns true if I have a new frame ready. > >> 3. When you copy your data to fTo in deliverFrame(), are you using >> "memcpy()" or similar function to write the data? >> 4. Does your "deliverFrame()" call "afterGetting()"? You have to call >> "afterGetting()" so that the downstream filter / sink can begin >> handling your data. (Ross said this on the last thread post) >> > memcpy. And yes, it calls afterGetting() > >> 5. Does your "afterGetting() function set fIsCurrentlyAwaitingData? If >> you don't set fIsCurrentlyAwaitingData to False, then as you see in >> FramedSource::getNextFrame(), the source->sink chain will quit. >> FramedSource.cpp line 64. >> > Err.. I don't define any afterGetting > >> Ross provided a general solution email earlier. If you have more >> questions, I'd be interested in looking at what you've written. I >> enjoy working with the filter code. The source you've posted isn't >> enough for me to help more specifically. Can you post all / more of >> your file or just send it to me? >> ~xo >> > Currently I'm experimenting modifying taskScheduler, and I'm rewriting > the code. A soon as I have some readable code, I'll gladly send it to you. > > Many thanks, > Regards, > > Cristiano > Just retrieved last version of the source from the repository. I'll mail it to you. Many thanks again, Cristiano. -- Belloni Cristiano Imavis Srl. www.imavis.com belloni at imavis.com From igor at mir2.org Tue Mar 4 07:13:51 2008 From: igor at mir2.org (Igor Bukanov) Date: Tue, 4 Mar 2008 16:13:51 +0100 Subject: [Live-devel] How to detect that RTPSource has not received data for a while Message-ID: <7dee4710803040713m587eaao8b90e305499018f9@mail.gmail.com> Hi, we use live555 as a client receiving videos from RTSP servers. The servers are MPG4 encoding boxes that are rather unstable and can crash abruptly terminating the network connection. As a workaround I plan to close RTSPSource if it has not received any data within the given timeframe. The question is how to do that from the client code? I was hoping that RTSPSource or RTCPInstance allowed to define a liveness hook for that, but I have not find a support for that. I guess I missed something. Thanks in advance, Igor. From leon.woestenberg at gmail.com Tue Mar 4 09:20:58 2008 From: leon.woestenberg at gmail.com (Leon Woestenberg) Date: Tue, 4 Mar 2008 18:20:58 +0100 Subject: [Live-devel] H.264 Streaming Help In-Reply-To: <1203665143.24696.14.camel@ftlxwks003.defence-elec.de> References: <1203665143.24696.14.camel@ftlxwks003.defence-elec.de> Message-ID: Ralf, 2008/2/22 Ralf Buhlrich : > Hi Aravind, > > I just enhanced the MPEG2TransportStreamFromESSource and the > MPEG2TransportStreamMultiplexor to embedded H.264 in a MPEG2TS > to stream stream it via RTP. > Are you able to share this modification with us / live555? Regards, -- Leon From finlayson at live555.com Tue Mar 4 09:48:14 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 4 Mar 2008 09:48:14 -0800 Subject: [Live-devel] RTP to Transport Stream In-Reply-To: <463B4385C0A9462A8D7171D9E3B09B9F@BORISSONY> References: <463B4385C0A9462A8D7171D9E3B09B9F@BORISSONY> Message-ID: >I tried this and the result file stutters a lot in VLC. >I also tried to stream this TS using BasicUDPSink and it also >stutters in VLC and if played on Amino set-top box. >What can be a reason for this? Packet loss, perhaps? (You can check for packet loss using the "-Q" option to "openRTSP".) -- 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/20080304/fe398757/attachment-0001.html From rekhtman at verizon.net Tue Mar 4 10:24:11 2008 From: rekhtman at verizon.net (Boris Rekhtman) Date: Tue, 04 Mar 2008 13:24:11 -0500 Subject: [Live-devel] RTP to Transport Stream In-Reply-To: Message-ID: No, the network is clean. It appears that there is a problem in timestamp conversion from RTP packets to PES packets. I had to modify MPEG2TransportStreamFromESSource.cpp, exclude PTS from the PES header by assigning fInputBuffer[7] = 0x00; // instead of 0x80 fInputBuffer[8] = 0; // instead of 5 and adjusting #define SIMPLE_PES_HEADER_SIZE 9 // instead of 14 in order to make it work. Boris Rekhtman _____ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: Tuesday, March 04, 2008 12:48 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] RTP to Transport Stream I tried this and the result file stutters a lot in VLC. I also tried to stream this TS using BasicUDPSink and it also stutters in VLC and if played on Amino set-top box. What can be a reason for this? Packet loss, perhaps? (You can check for packet loss using the "-Q" option to "openRTSP".) -- 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/20080304/6ed528d8/attachment.html From luen_2 at hotmail.com Tue Mar 4 18:02:38 2008 From: luen_2 at hotmail.com (fung ka luen) Date: Wed, 5 Mar 2008 02:02:38 +0000 Subject: [Live-devel] A network problem In-Reply-To: References: Message-ID: In my case, almost all NAT will not allow the RTP packet pass-through. I do believe that the NAT(router) actually don?t know where the packet should send to. Before the server(S) sent the RTP packet to the client(C) , S-C only have a TCP connection for RTSP. The NAT (router) can?t read the RTSP (application layer). Therefore, it will not do everything else to help the RTP. In this case, all the RTSP runs OK but nothing on RTP can be received. Solutions: 1) If you have access to the NAT device, the port ?forwarding? can help. A pair of RTP/RTCP port in your client had to be fixed first and set the port-forwarding in the NAT. 2) If only one client is needed to receive the RTP packet, the client can put in DMZ. ( all port forwarded to the PC(Client) in the DMZ) 3) According to the RFC 3550, it has mentioned an item called ?translator?. it can help to connect the S-C in the firewall or NAT protected environment. I think it have to read the RTSP information and create a tunnel for those blocked incoming RTP/RTCP (S->C). Actually, I am not 100% sure what the translator is. I know what it should do but not know how it works and how to construct or any open-source is available in the world. I am working on right now. By using this Translator, I do believe that a technique called ?Hole Punching? would help. If ?Hole Punching? used as a keyword, Tons of documents can be found in the web. Hope it information may help. KL Fung > ----------------------------------------------------------------------> > Message: 1> Date: Mon, 3 Mar 2008 17:13:31 -0600> From: xcsmith at rockwellcollins.com> Subject: Re: [Live-devel] A network problem> To: LIVE555 Streaming Media - development & use> > Message-ID:> > > Content-Type: text/plain; charset="us-ascii"> > > In general, you cannot expect RTSP/RTP to work over a NAT. However,> > because your server is really on the Internet, then you might be > > able to get RTP-over-TCP streaming to work, even though your client > > is not really on the Internet.> > Is the IP address the only problem with NAT? Couldn't routers with > correct port forwarding (on either end of the RTSP connection) take care > of this?> Also, I notice a lot of posts about UDP transfer problems. Is the primary > reason that firewalls are often blocking UDP? RFC 2326 1.4 Claims that > passing the Transport Initialization Information in the RTSP messages > allows routers to open the firewall as necessary. Do any commercially > available routers/firewalls actually allow this for RTP? Based on posts > so far, it sounds like if you have a firewall, you're SOL without > RTP-Over-TCP.> > RFC 2326, Section 1.4 Protocol Properties> " Proxy and firewall friendly:> The protocol should be readily handled by both application and> transport-layer (SOCKS [14]) firewalls. A firewall may need to> understand the SETUP method to open a "hole" for the UDP media> stream."> -------------- next part --------------> An HTML attachment was scrubbed...> URL: http://lists.live555.com/pipermail/live-devel/attachments/20080303/500863a8/attachment-0001.html > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080304/c30da001/attachment.html From bellaj1 at gmail.com Tue Mar 4 02:29:20 2008 From: bellaj1 at gmail.com (safileader) Date: Tue, 4 Mar 2008 11:29:20 +0100 Subject: [Live-devel] help Message-ID: hello can i use morgan rtp filter on the pda think you -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080304/8faa529b/attachment.html From finlayson at live555.com Tue Mar 4 23:10:27 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 4 Mar 2008 23:10:27 -0800 Subject: [Live-devel] RTP to Transport Stream In-Reply-To: References: Message-ID: >No, the network is clean. It appears that there is a problem in >timestamp conversion from RTP packets to PES packets. >I had to modify MPEG2TransportStreamFromESSource.cpp, exclude PTS >from the PES header by assigning > fInputBuffer[7] = 0x00; // instead of 0x80 > fInputBuffer[8] = 0; // instead of 5 >and adjusting > #define SIMPLE_PES_HEADER_SIZE 9 // instead of 14 >in order to make it work. That's strange. This has not been a problem for our own use of "MPEG2TransportStreamFromESSource" (in our "wis-streamer" application). Note also that these presentation timestamps still end up getting used as the PCR values in the resulting Transport Stream (they just don't, with your modification, get put in the PES header), so there appears to be nothing wrong with those presentation times per se. -- 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/20080304/01a8ea9b/attachment.html From gbzbz at yahoo.com Thu Mar 6 03:34:24 2008 From: gbzbz at yahoo.com (gather bzbz) Date: Thu, 6 Mar 2008 03:34:24 -0800 (PST) Subject: [Live-devel] live555 RTSP server for H.264 Message-ID: <353290.84687.qm@web51310.mail.re2.yahoo.com> Hi, Is the H.264 related code in liveMedia complete and ready to be used? Do we still need to write up something for StreamFramer, etc? I have not followed the development for this for a while. Sorry for this if it has been discussed or concluded somehow.... Best to all. ____________________________________________________________________________________ Looking for last minute shopping deals? Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping From amadorim at vdavda.com Thu Mar 6 05:39:33 2008 From: amadorim at vdavda.com (Marco Amadori) Date: Thu, 6 Mar 2008 14:39:33 +0100 Subject: [Live-devel] live555 RTSP server for H.264 In-Reply-To: <353290.84687.qm@web51310.mail.re2.yahoo.com> References: <353290.84687.qm@web51310.mail.re2.yahoo.com> Message-ID: <200803061439.33450.amadorim@vdavda.com> Il Thursday 06 March 2008 12:34:24 gather bzbz ha scritto: > Is the H.264 related code in liveMedia complete and > ready to be used? Do we still need to write up > something for StreamFramer, etc? I use latest "live555MediaServer" succesfully to stream H.264 in MPEG Transport Streams (as in ATSC A/72 standard [0]), though with no index (MPEG2TransportStreamIndexer does not work on my tests TS) so no trickplay except pause for now. [0] http://www.atsc.org/standards/cs_documents/CS-TSG-660r2.pdf -- ESC:wq From finlayson at live555.com Thu Mar 6 05:58:58 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 6 Mar 2008 05:58:58 -0800 Subject: [Live-devel] live555 RTSP server for H.264 In-Reply-To: <353290.84687.qm@web51310.mail.re2.yahoo.com> References: <353290.84687.qm@web51310.mail.re2.yahoo.com> Message-ID: >Is the H.264 related code in liveMedia complete and >ready to be used? Yes; see -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From goktuggurler at gmail.com Sat Mar 8 13:40:43 2008 From: goktuggurler at gmail.com (Cihat Goktug Gurler) Date: Sat, 8 Mar 2008 13:40:43 -0800 Subject: [Live-devel] Stream State & FEC Message-ID: Hi, I'm trying to implement FEC for a MultiFramedRTP stream. For this purpose I added another subsession with the same source file. That additional subsession will be fed to a FEC Encoder at MultiFramedRTPSink object. RFC standard requires that RTP headers are included in FEC therefore I can not implement FEC as a filter.In order to generate same RTP datagram in the additional subsession (Fec Subsession) I need to set the timestamps and sequence numbers of the FecSubsession to the corresponding values in the original subsession. That is where I fail. I can not access to the RTPSink object of the original subsession from the FEC subsession. The FEC subsession has access to the original one through a pointer named as fMasterSubsession. But even that does not seem to be adequate to access to RTPSink of it. The subsession seems to be unaware of its streamstate (which has access to RTPSink) I can modify the original source codes and change private variables into public but I want to implement it with minimum modification on the original source code. Thanks in advance, Goktug Gurler -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080308/dbd57797/attachment.html From RGlobisch at csir.co.za Mon Mar 10 10:54:05 2008 From: RGlobisch at csir.co.za (Ralf Globisch) Date: Mon, 10 Mar 2008 19:54:05 +0200 Subject: [Live-devel] Custom live DeviceSource and custom scheduler problem Message-ID: <47D591DC.5DA9.004D.0@csir.co.za> Hi, I've written some classes to integrate the DirectShow framework to the live555 library but I'm having some weird issues. I hope someone can tell me if my approach is flawed. The strange thing is I first implemented an live audio streaming server as a test project that captures live audio using DirectShow and then transmits it using the live555 library in a separate thread using a PassiveServerMediaSubsession. Following advice on the mailing list I've written 1) A custom scheduler that calls scheduleDelayedTask to add events to the event loop when a watch variable is set for that specific source. 2) A class based on DeviceSource in which the deliverFrame method fills the buffer fTo, sets fFrameSize, fPresentationTime and fDurationInMicroseconds and calls FramedSource::afterGetting(this); The deliverFrame is triggered via a DirectShow event and the scheduler then calls this method every time new data becomes available. 3) Code based on testWAVAudioStreamer which creates the source, sink, rtp and rtcp groupsocks, RTSP server, PassiveServerMediaSubsession, etc I then tested the streamed audio with VLC and everything played back fine. I then added similar code for video (with different rtp, rtcp ports, etc)and added another subsession to the same PassiveServerMediaSubsession. Now I find that my queues in my DeviceSource classes aren't processed properly. Hardly any packets get sent. Whilst stepping through the code I found that "if (!isCurrentlyAwaitingData()) return;" in my DeviceSource class is always exiting the deliverFrame method before adding the next frame to the buffer and sending it. With only one media stream this doesn't seem to be a problem. I've done a search for every place fIsCurrentlyAwaitingData is changed and put breakpoints at those lines but these breakpoints are never executed. What I want to do is the following: I have an audio and a video source. Every time a frame arrives from the external sources I need to notify the respective live555 RTP Sources of the new data. (trigger event in scheduler) This results in the deliverFrame method being called in which the buffers are filled, sizes and times are set. This calls FramedSource::afterGetting(this); which should result in the RTP packet being sent. So here's my questions: 1) What is the difference between having one media subsession and multiple ones. ( Both video and audio stream fine when only one session exists in the subsession) Or does the problem lie elsewhere? 2) From what I understand a PassiveServerMediaSubsession is to be used when multicasting media so it should be no problem adding more than one media subsession to the PassiveServerMediaSubsession? 3) Is there anything else I'm missing. I will gladly post code if that helps to clarify the matter but I'm avoiding polluting the mailing list for now ;) Our group will also gladly release the integration source code once it's complete if anyone's interested. Best regards, Ralf -- This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html. This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks Transtec Computers for their support. From finlayson at live555.com Mon Mar 10 14:29:32 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 10 Mar 2008 17:29:32 -0400 Subject: [Live-devel] Custom live DeviceSource and custom scheduler problem In-Reply-To: <47D591DC.5DA9.004D.0@csir.co.za> References: <47D591DC.5DA9.004D.0@csir.co.za> Message-ID: >1) What is the difference between having one media subsession and >multiple ones. Really, nothing, except that - with multiple streams - you have more events to potentially handle within your event loop. > ( Both video and audio stream fine when only one session exists in >the subsession) Make sure that you're not doing anything - when handling one stream - that might be starving out events from other streams. In particular, you should not be doing any 'busy waiting' (sittling in a loop, polling). Remember that in an event-driven system, like this, all I/O should be asynchronous, handled only in response to events occurring within the event loop. >2) From what I understand a PassiveServerMediaSubsession is to be >used when multicasting media so it should be no problem adding more >than one media subsession to the PassiveServerMediaSubsession? Correct. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From satheesh at streamprocessors.com Tue Mar 11 23:39:25 2008 From: satheesh at streamprocessors.com (Satheesh Ram) Date: Wed, 12 Mar 2008 12:09:25 +0530 Subject: [Live-devel] MJPEG streaming over RTP using livemedia Message-ID: <47D77A9D.4060106@streamprocessors.com> Hi all, Question#1 I was referring to previous discussions in the live media archives for MJPEG Streaming through RTP using live. see here and here .Got the streamer up and running in real time (getting width and height from JPEG header; Qfactor from MJPEG encoder). I am using VLC as RTP client for receiving and playing back the streams. User-Agent: VLC media player (LIVE555 Streaming Media v2007.02.20). The issue is: *VLC player crashes *often with error messages like these *[00000304] main decoder error: decoder is leaking pictures, resetting the heap main error: decoder is leaking pictures, resetting the heap live555 debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP() *Has anyone faced similar problems with MJPEG streaming over RTP? How to solve this problem? Few notes on my implementation - I have a created a class SPIJPEGVideoSource inheriting from abstract class JPEGVideoSource - defined type, qfactor, width and height. (getting width and height from JPEG header; Qfactor from MJPEG encoder) - Defined another class JPEGMediaSubsession : public OnDemandServerMediaSubsession with following function definitions FramedSource* JPEGMediaSubsession::createNewStreamSource(unsigned clientSessionId, unsigned& estBitrate){ FramedSource* framedSource = SPIJPEGVideoSource::createNew(envir(), clientSessionId, p_context); return framedSource;} RTPSink* JPEGMediaSubsession::createNewRTPSink(Groupsock* rtpGroupsock, unsigned char rtpPayloadTypeIfDynamic, FramedSource* inputSource){ return JPEGVideoRTPSink::createNew(envir(), rtpGroupsock);} - In main jpeg streamer thread, I am creating objects of the following class in sequence: BasicTaskScheduler, BasicUsageEnvironment, RTSPServer, ServerMediaSession, JPEGMediaSubsession and adding JPEGMediaSubsession as subsession in server media session.and finally, lm->env->taskScheduler().doEventLoop(); Question#2 What is the difference in functionality of OnDemandServerMediaSubsession and PassiveServerMediaSubsession? I am using the doxygen documentation of livemedia to understand the classes, its members and their relationships. Can you point me to any other documentation on basic functionality of different classes in livemedia? ** -- Satheesh Ram Off. +91.80.41630270x25 Mob. +91.9945211181 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080311/3d7eddef/attachment.html From finlayson at live555.com Wed Mar 12 04:22:32 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 12 Mar 2008 07:22:32 -0400 Subject: [Live-devel] MJPEG streaming over RTP using livemedia In-Reply-To: <47D77A9D.4060106@streamprocessors.com> References: <47D77A9D.4060106@streamprocessors.com> Message-ID: > I was referring to previous discussions in the live media >archives for MJPEG Streaming through RTP using live. see >here >and >here.Got >the streamer up and running in real time (getting width and height >from JPEG header; Qfactor from MJPEG encoder). I am using VLC as RTP >client for receiving and playing back the streams. User-Agent: VLC >media player (LIVE555 Streaming Media v2007.02.20). The issue is: >VLC player crashes often with error messages like these >[00000304] main decoder error: decoder is leaking pictures, resetting the heap >main error: decoder is leaking pictures, resetting the heap We cannot help you with VLC errors; those would need to be reported to a VLC mailing list. However, IMHO, the best way to debug JPEG/RTP streaming is to use our "openRTSP" client with the "-m" option, which tells "openRTSP" to output each incoming video frame into a separate file. You can then try renaming each such file to have a ".jpg" filename suffix, and try opening it with a regular image viewer. >live555 debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP() That is not an error. (It's a good thing :-) >What is the difference in functionality of >OnDemandServerMediaSubsession and PassiveServerMediaSubsession? "PassiveServerMediaSubsession" is used for streaming multicast streams (which are the same for each recipient). "OnDemandServerMediaSubsession" is used for streaming unicast streams (on demand, one unicast stream for each requesting client). -- 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/20080312/cc925c00/attachment.html From manju.tn at sasken.com Wed Mar 12 04:50:22 2008 From: manju.tn at sasken.com (Manju TN) Date: Wed, 12 Mar 2008 17:20:22 +0530 Subject: [Live-devel] streaming event related info References: <47D77A9D.4060106@streamprocessors.com> Message-ID: Hi, I have an rtsp server that streams audio and video (h264/aac). The client that receives and sends the data to decoders. At times I want to stream some event related info ( text data). Please let me know the approach. Do I need to create new sink(on server) and source(client) ? I am not an expert in rtsp and finding it difficult to implement. Thanks in advance, TN SASKEN BUSINESS DISCLAIMER ------------------------- This message may contain confidential, proprietary or legally privileged information. In case you are not the original intended Recipient of the message, you must not, directly or indirectly, use, Disclose, distribute, print, or copy any part of this message and you are requested to delete it and inform the sender. Any views expressed in this message are those of the individual sender unless otherwise stated. Nothing contained in this message shall be construed as an offer or acceptance of any offer by Sasken Communication Technologies Limited ("Sasken") unless sent with that express intent and with due authority of Sasken. Sasken has taken enough precautions to prevent the spread of viruses. However the company accepts no liability for any damage caused by any virus transmitted by this email -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080312/38e4b73d/attachment-0001.html From rajeshkumar.r at imimobile.com Wed Mar 12 05:06:51 2008 From: rajeshkumar.r at imimobile.com (rajesh) Date: Wed, 12 Mar 2008 17:36:51 +0530 Subject: [Live-devel] streaming event related info References: <47D77A9D.4060106@streamprocessors.com> Message-ID: <0d6601c88439$8e359e20$6902000a@imidomain.com> Re: [Live-devel] MJPEG streaming over RTP using livemediaHi Manju, Rtsp client can send text Information to Rtsp Server thru Set_Parameter Method. Thanks and Regards Rajesh Kumar Sr. Software Engineer +91 40 23555945 - 235 +91 99084 00027 www.imimobile.com ----- Original Message ----- From: Manju TN To: LIVE555 Streaming Media - development & use Sent: Wednesday, March 12, 2008 5:20 PM Subject: [Live-devel] streaming event related info Hi, I have an rtsp server that streams audio and video (h264/aac). The client that receives and sends the data to decoders. At times I want to stream some event related info ( text data). Please let me know the approach. Do I need to create new sink(on server) and source(client) ? I am not an expert in rtsp and finding it difficult to implement. Thanks in advance, TN SASKEN BUSINESS DISCLAIMER ------------------------- This message may contain confidential, proprietary or legally privileged information. In case you are not the original intended Recipient of the message, you must not, directly or indirectly, use, Disclose, distribute, print, or copy any part of this message and you are requested to delete it and inform the sender. Any views expressed in this message are those of the individual sender unless otherwise stated. Nothing contained in this message shall be construed as an offer or acceptance of any offer by Sasken Communication Technologies Limited ("Sasken") unless sent with that express intent and with due authority of Sasken. Sasken has taken enough precautions to prevent the spread of viruses. However the company accepts no liability for any damage caused by any virus transmitted by this email ------------------------------------------------------------------------------ _______________________________________________ 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/20080312/8a9829a0/attachment.html From manju.tn at sasken.com Wed Mar 12 05:34:56 2008 From: manju.tn at sasken.com (Manju TN) Date: Wed, 12 Mar 2008 18:04:56 +0530 Subject: [Live-devel] streaming event related info References: <47D77A9D.4060106@streamprocessors.com> <0d6601c88439$8e359e20$6902000a@imidomain.com> Message-ID: Hi, Basically my need is : Based on an event occurance at the server side, server has to stream a separate packet containing text info.This happens occassionally. And on the client I need to handle this packet. On the server the sink implements multiframedsink and on the client the source implements multiframedsource. But these are specific to audio and video. Since my need is to stream a packet containing neither audio nor video but only text message, I am in confusion as to how to do this keeping audio and video streaming intact. This text packet streaming might happen very ocassionally and I just need to stream only one packet at that event and then continue with the ongoing audio and video streaming. Thanks, TN ________________________________ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of rajesh Sent: Wednesday, March 12, 2008 5:37 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] streaming event related info Hi Manju, Rtsp client can send text Information to Rtsp Server thru Set_Parameter Method. Thanks and Regards Rajesh Kumar Sr. Software Engineer +91 40 23555945 - 235 +91 99084 00027 www.imimobile.com ----- Original Message ----- From: Manju TN To: LIVE555 Streaming Media - development & use Sent: Wednesday, March 12, 2008 5:20 PM Subject: [Live-devel] streaming event related info Hi, I have an rtsp server that streams audio and video (h264/aac). The client that receives and sends the data to decoders. At times I want to stream some event related info ( text data). Please let me know the approach. Do I need to create new sink(on server) and source(client) ? I am not an expert in rtsp and finding it difficult to implement. Thanks in advance, TN SASKEN BUSINESS DISCLAIMER ------------------------- This message may contain confidential, proprietary or legally privileged information. In case you are not the original intended Recipient of the message, you must not, directly or indirectly, use, Disclose, distribute, print, or copy any part of this message and you are requested to delete it and inform the sender. Any views expressed in this message are those of the individual sender unless otherwise stated. Nothing contained in this message shall be construed as an offer or acceptance of any offer by Sasken Communication Technologies Limited ("Sasken") unless sent with that express intent and with due authority of Sasken. Sasken has taken enough precautions to prevent the spread of viruses. However the company accepts no liability for any damage caused by any virus transmitted by this email ________________________________ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel SASKEN BUSINESS DISCLAIMER ------------------------- This message may contain confidential, proprietary or legally privileged information. In case you are not the original intended Recipient of the message, you must not, directly or indirectly, use, Disclose, distribute, print, or copy any part of this message and you are requested to delete it and inform the sender. Any views expressed in this message are those of the individual sender unless otherwise stated. Nothing contained in this message shall be construed as an offer or acceptance of any offer by Sasken Communication Technologies Limited ("Sasken") unless sent with that express intent and with due authority of Sasken. Sasken has taken enough precautions to prevent the spread of viruses. However the company accepts no liability for any damage caused by any virus transmitted by this email -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080312/97cc4984/attachment.html From manju.tn at sasken.com Wed Mar 12 05:39:33 2008 From: manju.tn at sasken.com (Manju TN) Date: Wed, 12 Mar 2008 18:09:33 +0530 Subject: [Live-devel] streaming event related info References: <47D77A9D.4060106@streamprocessors.com> <0d6601c88439$8e359e20$6902000a@imidomain.com> Message-ID: Sorry.Small correction. Its not multiframedsink and multiframedsource. The server sink (for h264) implements multiframedrtpsink and the source(on the client) implements multiframedrtpsource(for aac). ________________________________ From: Manju TN Sent: Wednesday, March 12, 2008 6:05 PM To: 'LIVE555 Streaming Media - development & use' Subject: RE: [Live-devel] streaming event related info Hi, Basically my need is : Based on an event occurance at the server side, server has to stream a separate packet containing text info.This happens occassionally. And on the client I need to handle this packet. On the server the sink implements multiframedsink and on the client the source implements multiframedsource. But these are specific to audio and video. Since my need is to stream a packet containing neither audio nor video but only text message, I am in confusion as to how to do this keeping audio and video streaming intact. This text packet streaming might happen very ocassionally and I just need to stream only one packet at that event and then continue with the ongoing audio and video streaming. Thanks, TN ________________________________ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of rajesh Sent: Wednesday, March 12, 2008 5:37 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] streaming event related info Hi Manju, Rtsp client can send text Information to Rtsp Server thru Set_Parameter Method. Thanks and Regards Rajesh Kumar Sr. Software Engineer +91 40 23555945 - 235 +91 99084 00027 www.imimobile.com ----- Original Message ----- From: Manju TN To: LIVE555 Streaming Media - development & use Sent: Wednesday, March 12, 2008 5:20 PM Subject: [Live-devel] streaming event related info Hi, I have an rtsp server that streams audio and video (h264/aac). The client that receives and sends the data to decoders. At times I want to stream some event related info ( text data). Please let me know the approach. Do I need to create new sink(on server) and source(client) ? I am not an expert in rtsp and finding it difficult to implement. Thanks in advance, TN SASKEN BUSINESS DISCLAIMER ------------------------- This message may contain confidential, proprietary or legally privileged information. In case you are not the original intended Recipient of the message, you must not, directly or indirectly, use, Disclose, distribute, print, or copy any part of this message and you are requested to delete it and inform the sender. Any views expressed in this message are those of the individual sender unless otherwise stated. Nothing contained in this message shall be construed as an offer or acceptance of any offer by Sasken Communication Technologies Limited ("Sasken") unless sent with that express intent and with due authority of Sasken. Sasken has taken enough precautions to prevent the spread of viruses. However the company accepts no liability for any damage caused by any virus transmitted by this email ________________________________ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel SASKEN BUSINESS DISCLAIMER ------------------------- This message may contain confidential, proprietary or legally privileged information. In case you are not the original intended Recipient of the message, you must not, directly or indirectly, use, Disclose, distribute, print, or copy any part of this message and you are requested to delete it and inform the sender. Any views expressed in this message are those of the individual sender unless otherwise stated. Nothing contained in this message shall be construed as an offer or acceptance of any offer by Sasken Communication Technologies Limited ("Sasken") unless sent with that express intent and with due authority of Sasken. Sasken has taken enough precautions to prevent the spread of viruses. However the company accepts no liability for any damage caused by any virus transmitted by this email -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080312/962aa074/attachment-0001.html From finlayson at live555.com Thu Mar 13 14:40:32 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 13 Mar 2008 17:40:32 -0400 Subject: [Live-devel] A new FAQ: "openRTSP" produces empty data files Message-ID: Because this question has been asked several times recently, I have added a new entry to our FAQ (Frequently Asked Questions) page : "When I try to receive a stream using the "openRTSP" command-line client, the RTSP protocol exchange appears to work OK, but the resulting data file(s) are empty. What's wrong?" -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From felix_xuwei at yahoo.cn Fri Mar 14 08:18:37 2008 From: felix_xuwei at yahoo.cn (=?gb2312?q?=D0=EC=CE=A1=20=20?=) Date: Fri, 14 Mar 2008 23:18:37 +0800 (CST) Subject: [Live-devel] How to judge a H264 NALU ends an access unit(without access unit delimiter)? In-Reply-To: Message-ID: <378421.66369.qm@web92102.mail.cnh.yahoo.com> Hi all: I am trying to stream an h264 file(a bytestream file of NALU) with livemedia. In Mojtaba Hosseini's tutorial for H264 RTP streaming, I get to know that the key point is to implement the function: H264VideoStreamFramer::currentNALUnitEndsAccessUnit(). Could anybody give me some guides in judging whether a NALU ends one AccessUnit when streaming from a h264 file(a bytestream of NALU)? Thanks! B.R. Felix --------------------------------- ??????????????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080314/48f5d694/attachment.html From ralf.buhlrich at rheinmetall.com Fri Mar 14 08:43:09 2008 From: ralf.buhlrich at rheinmetall.com (Ralf Buhlrich) Date: Fri, 14 Mar 2008 16:43:09 +0100 Subject: [Live-devel] How to judge a H264 NALU ends an access unit(without access unit delimiter)? In-Reply-To: <378421.66369.qm@web92102.mail.cnh.yahoo.com> References: <378421.66369.qm@web92102.mail.cnh.yahoo.com> Message-ID: <1205509389.22423.3.camel@ftlxwks003.defence-elec.de> Hi, each NALU starts with 0x00 0x00 0x01 The forth byte of a NALU can take one of the following values: 0x4d 0x9a 0x9e Best regards Ralf Am Freitag, den 14.03.2008, 23:18 +0800 schrieb ?? : > Hi all: > > I am trying to stream an h264 file(a bytestream file of NALU) with > livemedia. > In Mojtaba Hosseini's tutorial for H264 RTP streaming, I get to know > that the key point is to implement the function: > H264VideoStreamFramer::currentNALUnitEndsAccessUnit(). > > Could anybody give me some guides in judging whether a NALU ends one > AccessUnit when streaming from a h264 file(a bytestream of NALU)? > > Thanks! > > B.R. > Felix > > ______________________________________________________________________ > ??????????????????? > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel -- Gesch?ftsf?hrung/Management Board Rheinmetall Defence Electronics GmbH: Dipl.-Wirtsch.-Ing. Georg Morawitz Dipl.-Ing. Luitjen Ennenga Dipl.-Ing.Ulrich Sasse Sitz der Gesellschaft/Registered Office: Bremen Register/Commercial Register: Amtsgericht Bremen, HRB 9659 Diese E-Mail enth?lt vertrauliche und/oder rechtlich gesch?tzte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrt?mlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. The statements contained in this message are not legally binding unless confirmed in writing. This message may contain confidential information. If you are not the intended recipient, or if this message and its annexes contains information which is apparently not meant for you, please notify us immediately and - to the extent you are not the intended recipient - please delete this message and all its attachments from your system and destroy any copy made therefrom. Any unauthorized review, delivery, distribution, transmission, storage, printing or otherwise making use of the message and its attachments are strictly prohibited. In case your systems have been infected by virus or otherwise negatively affected by this message, we will not be liable for any damage resulting therefrom unless in case of gross negligence or wilful misconduct. Gesch?ftsf?hrung/Management Board Rheinmetall Technical Publications GmbH: Dipl.-Ing. J?rg Daniel Sitz der Gesellschaft/Registered Office: Bremen Register/Commercial Register: Amtsgericht Bremen, HRB 24359 HB From etienne.bomcke at uclouvain.be Fri Mar 14 10:15:25 2008 From: etienne.bomcke at uclouvain.be (=?ISO-8859-1?Q?Etienne_B=F6mcke?=) Date: Fri, 14 Mar 2008 18:15:25 +0100 Subject: [Live-devel] How to judge a H264 NALU ends an access unit(without access unit delimiter)? In-Reply-To: <1205509389.22423.3.camel@ftlxwks003.defence-elec.de> References: <378421.66369.qm@web92102.mail.cnh.yahoo.com> <1205509389.22423.3.camel@ftlxwks003.defence-elec.de> Message-ID: <5EF9B00F-2BEA-4B1E-B231-3ED7D6E3FEA6@uclouvain.be> Are you sure about this? Using latest version of x264 I got NALU's starting with 0x000001, but the fourth byte hasn't any of the three values you mentioned. According to the standard, the fourth byte is composed of one reserved bit which value is set to 0 followed by two bits for the nal_ref_idc parameter (describing whether the NAL contains a SPS, PPS, reference frame or other type of frame), and the five remaining ones are for the nal_unit_type parameter. Imagine you take the first NAL of the first i-frame of a given sequence, the fourth byte should be composed by the following bits : - 0 (reserved zero_bit) - 11 (nal_ref_idc set to 3 for IDR frames) - 00101 (nal_unit_type takes value of 5 for IDR slice data) which gives 0x65, the value I get in an x264 encoded file. How do you explain these three values you gave? To answer Felix's question, I don't see any easy way to judge when a NAL unit ends an AccessUnit. However you can easily check if a NAL begins a next AccessUnit : - if the fourth byte indicates a SPS or PPS or - in case the fourth byte indicates a frame (I, P or B), if the two bits immediately following it are 01 (meaning the first_mb_in_slice has a value of 0) then you got a new Access Unit. I'm not familiar with the liveMedia library, so I haven't got a clue if you can use this information in your particular context. It should be possible to parse the whole NAL byte stream to "count" the macroblocks in the NAL and check when the NAL contains the last MB of the frame, but I suspect this would be quite resource-consuming... Cheers, Etienne On 14 Mar 2008, at 16:43, Ralf Buhlrich wrote: > Hi, > > each NALU starts with 0x00 0x00 0x01 > The forth byte of a NALU can take one of the following values: > > 0x4d > 0x9a > 0x9e > > Best regards > > Ralf > > Am Freitag, den 14.03.2008, 23:18 +0800 schrieb ?? : >> Hi all: >> >> I am trying to stream an h264 file(a bytestream file of NALU) with >> livemedia. >> In Mojtaba Hosseini's tutorial for H264 RTP streaming, I get to know >> that the key point is to implement the function: >> H264VideoStreamFramer::currentNALUnitEndsAccessUnit(). >> >> Could anybody give me some guides in judging whether a NALU ends one >> AccessUnit when streaming from a h264 file(a bytestream of NALU)? >> >> Thanks! >> >> B.R. >> Felix >> >> ______________________________________________________________________ >> ??????????????????? >> _______________________________________________ >> live-devel mailing list >> live-devel at lists.live555.com >> http://lists.live555.com/mailman/listinfo/live-devel > > > > > -- > > Gesch?ftsf?hrung/Management Board Rheinmetall Defence Electronics > GmbH: > Dipl.-Wirtsch.-Ing. Georg Morawitz > Dipl.-Ing. Luitjen Ennenga > Dipl.-Ing.Ulrich Sasse > Sitz der Gesellschaft/Registered Office: Bremen > Register/Commercial Register: Amtsgericht Bremen, HRB 9659 > > > Diese E-Mail enth?lt vertrauliche und/oder rechtlich gesch?tzte > Informationen. Wenn Sie nicht der richtige Adressat sind oder diese > E-Mail irrt?mlich erhalten haben, informieren Sie bitte sofort den > Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren > sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. > > The statements contained in this message are not legally binding > unless confirmed in writing. > This message may contain confidential information. If you are not > the intended recipient, or if this message and its annexes contains > information which is apparently not meant for you, please notify us > immediately and - to the extent you are not the intended recipient - > please delete this message and all its attachments from your system > and destroy any copy made therefrom. > Any unauthorized review, delivery, distribution, transmission, > storage, printing or otherwise making use of the message and its > attachments are strictly prohibited. > In case your systems have been infected by virus or otherwise > negatively affected by this message, we will not be liable for any > damage resulting therefrom unless in case of gross negligence or > wilful misconduct. > > > > Gesch?ftsf?hrung/Management Board Rheinmetall Technical > Publications GmbH: > Dipl.-Ing. J?rg Daniel > Sitz der Gesellschaft/Registered Office: Bremen > Register/Commercial Register: Amtsgericht Bremen, HRB 24359 HB > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel -- Etienne B?mcke UCL - Laboratoire TELE etienne.bomcke at uclouvain.be From felix_xuwei at yahoo.cn Fri Mar 14 18:48:53 2008 From: felix_xuwei at yahoo.cn (=?gb2312?q?=D0=EC=CE=A1=20=20?=) Date: Sat, 15 Mar 2008 09:48:53 +0800 (CST) Subject: [Live-devel] How to judge a H264 NALU ends an access unit(without access unit delimiter)? Message-ID: <3291.94553.qm@web92102.mail.cnh.yahoo.com> Hi: Thank you for answering my question on the mailist. I am not familiar with H264 standard, could you please tell me whether the NALU in front of another NALU which is the beginning of an AccessUnit is the end of the AccessUnit ahead? or whether AccessUnits are consecutive in a h264 byte stream file? Thanks! Best Regards Felix --------------------------------- ??????????????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080314/3cb8a98d/attachment.html From ASalim at ntu.edu.sg Sun Mar 16 21:28:32 2008 From: ASalim at ntu.edu.sg (Ardy Salim) Date: Mon, 17 Mar 2008 12:28:32 +0800 Subject: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 Message-ID: <7CC7A25F6278A24795D6948D32956A4603F8CF19@EXCHANGE22.staff.main.ntu.edu.sg> Dear All I'm trying to build live555 streaming media on eVC 4 so that I could use it in Windows Mobile. I have read in the mail archives that somebody has already builded the codes succesfully, see http://lists.live555.com/pipermail/live-devel/2004-September/001265.html. But, the link to sites/codes is down since it was more than 3 years ago. Are there any more guides on building the codes in eVC? Thank you very much -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080316/29219597/attachment.html From pushkar at ipvideosys.com Sun Mar 16 22:00:23 2008 From: pushkar at ipvideosys.com (Pushkar Pradhan) Date: Sun, 16 Mar 2008 22:00:23 -0700 Subject: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 In-Reply-To: <7CC7A25F6278A24795D6948D32956A4603F8CF19@EXCHANGE22.staff.main.ntu.edu.sg> Message-ID: <5358224A8253E24D8D8E7FA9244E54074DBE66@ipvmail.ipvideosys.com> Hello Ardy, We've built livemedia on VC 6 and also successfully imported the project in Visual Studio 2008. Do you want the project file (.dsp, .vcproj). Then if you have Visual Studio you can load it and copy the settings in eVC? My guess both may not be that different. pushkar ________________________________ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ardy Salim Sent: Sunday, March 16, 2008 9:29 PM To: live-devel at ns.live555.com Subject: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 Dear All I'm trying to build live555 streaming media on eVC 4 so that I could use it in Windows Mobile. I have read in the mail archives that somebody has already builded the codes succesfully, see http://lists.live555.com/pipermail/live-devel/2004-September/001265.html . But, the link to sites/codes is down since it was more than 3 years ago. Are there any more guides on building the codes in eVC? Thank you very much -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080316/93ba648b/attachment-0001.html From ASalim at ntu.edu.sg Mon Mar 17 00:18:36 2008 From: ASalim at ntu.edu.sg (Ardy Salim) Date: Mon, 17 Mar 2008 15:18:36 +0800 Subject: [Live-devel] Building Live555 streaming media in Windows Mobile5.0 References: <5358224A8253E24D8D8E7FA9244E54074DBE66@ipvmail.ipvideosys.com> Message-ID: <7CC7A25F6278A24795D6948D32956A4603F8CF1A@EXCHANGE22.staff.main.ntu.edu.sg> Hi Pushkar, I've built the Livemedia on VC 6 also, however I couldn't open the project file (.dsw, .dsp, .vcp) in eVC since it was created for Win32 desktop platform. I know that there are some changes needed in .mak files before it is ported to VC to create the project files. But, I don't really understand about the settings since I'm quite new in C++ programming. Is there any guides on the settings part? Thank you Ardy ________________________________ From: live-devel-bounces at ns.live555.com on behalf of Pushkar Pradhan Sent: Mon 3/17/2008 1:00 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] Building Live555 streaming media in Windows Mobile5.0 Hello Ardy, We've built livemedia on VC 6 and also successfully imported the project in Visual Studio 2008. Do you want the project file (.dsp, .vcproj). Then if you have Visual Studio you can load it and copy the settings in eVC? My guess both may not be that different. pushkar ________________________________ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ardy Salim Sent: Sunday, March 16, 2008 9:29 PM To: live-devel at ns.live555.com Subject: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 Dear All I'm trying to build live555 streaming media on eVC 4 so that I could use it in Windows Mobile. I have read in the mail archives that somebody has already builded the codes succesfully, see http://lists.live555.com/pipermail/live-devel/2004-September/001265.html. But, the link to sites/codes is down since it was more than 3 years ago. Are there any more guides on building the codes in eVC? Thank you very much -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/ms-tnef Size: 5623 bytes Desc: not available Url : http://lists.live555.com/pipermail/live-devel/attachments/20080317/cc830443/attachment.bin From bellaj1 at gmail.com Mon Mar 17 02:50:02 2008 From: bellaj1 at gmail.com (safileader) Date: Mon, 17 Mar 2008 09:50:02 +0000 Subject: [Live-devel] Building Live555 streaming media in Windows Mobile5.0 In-Reply-To: <7CC7A25F6278A24795D6948D32956A4603F8CF1A@EXCHANGE22.staff.main.ntu.edu.sg> References: <5358224A8253E24D8D8E7FA9244E54074DBE66@ipvmail.ipvideosys.com> <7CC7A25F6278A24795D6948D32956A4603F8CF1A@EXCHANGE22.staff.main.ntu.edu.sg> Message-ID: hello i m loking for the same thing sir arday -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080317/269c29d8/attachment.html From lodewijk Mon Mar 17 03:02:09 2008 From: lodewijk (lodewijk) Date: Mon, 17 Mar 2008 11:02:09 +0100 Subject: [Live-devel] AAC + Darwin Injector Message-ID: hello, I'm trying to stream realtime/live audio to a Darwin Streaming server. As far as I can see now the encoding using FFMpeg+faac works and delivers me discrete frames. I subclassed the FramedSource class following the advice from the Live555 FAQ, feeding directly to a MPEG4GenericRTPSink. I generally followed the video example (except for the framer) from the testMPEG4VideoToDarwin example, which works great (also with a subclassed Framer). The resulting stream seems to have the right description in Quicktime player, also it seems like audio data being sent and received, however I don't hear anything. Anyone got a clue? Anyone got the MPEG4GenericRTPSink with FFMpeg +faac working? thanks, Lodewijk Loos From bellaj1 at gmail.com Mon Mar 17 03:30:59 2008 From: bellaj1 at gmail.com (safileader) Date: Mon, 17 Mar 2008 10:30:59 +0000 Subject: [Live-devel] AAC + Darwin Injector In-Reply-To: References: Message-ID: hello i m trying to do streaming from pda to pc is there a filter that can send data over network -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080317/c542aa8c/attachment.html From amadorim at vdavda.com Mon Mar 17 07:40:35 2008 From: amadorim at vdavda.com (Marco Amadori) Date: Mon, 17 Mar 2008 15:40:35 +0100 Subject: [Live-devel] live555MediaServer performance: 95 stream max per process Message-ID: <200803171540.35822.amadorim@vdavda.com> Hi all, I tried live555MediaServer from 1.19.2008 tarball on a debian sid (both i386 and amd64) on 2 different IBM servers. With both hardware and with kernels 2.6.22 and 2.6.24 I found that I cannot cross the 95 contemporary MPEG2 streams limit (4.5 Mbps) without having visual artifacts. * On machine "A" I thought it was a hardware issue since "iostat" were reporting a 100% IO utilization. I the tried machine B founding the same issues and limits but with lower than 70% IO on a bigger machine. Then I tried to launch live555MediaServer also from root and the machine handled another 95 streams for a total of 190. So it seems to be a strange threading or concurrency problem, anyone tried to spot how many streams can serve a live555MediaServer system? Does anyone knows how to push these limits (or fix those bugs) further? A: dualcore Xeon 3Ghz RAID5 on 3 SAS 10k + 2Gb Mem B: dual dualcore Xeon 2.2 Ghz RAID5 on 6 SAS 15k + 5Gb Mem * Test is just ascript launching some openRTSP client to /dev/null of different video clips and watching the result on another one on a different machine. -- ESC:wq From belloni at imavis.com Mon Mar 17 09:47:02 2008 From: belloni at imavis.com (Cristiano Belloni) Date: Mon, 17 Mar 2008 17:47:02 +0100 Subject: [Live-devel] Estimated Bitrate Message-ID: <47DEA086.4060802@imavis.com> I was wondering, what's the unit of ServerMediaSubsession's variable estBitrate? Is it bits per second or kilobits per second (or possibly kilobytes)? I set the bitrate on my encoder in bits per second, and I was wondering if i should simply set estBitrate to that value, or if I have to divide it by 1000. I know it only affects the frequency of RTCP packets, but it's just to be sure. Regards, Cristiano. -- Belloni Cristiano Imavis Srl. www.imavis.com belloni at imavis.com From spigao at gmail.com Mon Mar 17 10:09:46 2008 From: spigao at gmail.com (Spigao spigao) Date: Mon, 17 Mar 2008 18:09:46 +0100 Subject: [Live-devel] Avoid RTP source checking? Message-ID: <71e4505a0803171009t17a7df92ibf6895229c7b7fcf@mail.gmail.com> Hello, I'm using live555 server and openRTSP client in an especial emulation environment, lets say I am development sort of gateway system... An example of the configuration could be: --------------- live555 (10.0.0.11) - ServerGW (10.0.0.1) - ClientGW (10.0.0.4) - openRTSP ( 10.0.0.4) and I execute "openRTSP rtsp://10.0.0.1/track.mp3" Basically, the point is that openRTSP doesn't write in the output files, and I guess it is because it receives RTP packets from a different address than the server's IP. All the transmission goes fine, they exchange RTSP messages and the application receives the RTP messages (i've done an strace to check it); but it just doesn't write them in the file. I've been digging into the source code, but not successfully. Can someone tell me if this could be fixable in the code and where should I touch? Best Regards, Sergio -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080317/1c164c73/attachment.html From kan at pisem.net Mon Mar 17 12:30:35 2008 From: kan at pisem.net (Karlov Andrey) Date: Mon, 17 Mar 2008 22:30:35 +0300 Subject: [Live-devel] multiplex mpeg2 audio and mpeg2 video streams into one mpeg2 SPTS Message-ID: <47DEC6DB.9010206@pisem.net> Hello! Could you help me with following problem: I have mpeg2 audio stream and mpeg2 video live streams from two different programs, and I can pipe these streams to my program (based on liveMedia) as a ByteStreamFileSource. Is it possible to multiplex streams into one mpeg2 SPTS? I have seen the MPEG1or2Demux and MPEG2TransportStreamFromPESSource objects. How can I use it? Will not I have problem with synchronization? I'm very thankfull to your help! Sorry for awful English =) Karlov Andrey. From finlayson at live555.com Mon Mar 17 14:24:49 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 17 Mar 2008 14:24:49 -0700 Subject: [Live-devel] Avoid RTP source checking? In-Reply-To: <71e4505a0803171009t17a7df92ibf6895229c7b7fcf@mail.gmail.com> References: <71e4505a0803171009t17a7df92ibf6895229c7b7fcf@mail.gmail.com> Message-ID: >I'm using live555 server and openRTSP client in an especial >emulation environment, lets say I am development sort of gateway >system... > >An example of the configuration could be: >--------------- >live555 (10.0.0.11) - ServerGW >(10.0.0.1) - ClientGW (10.0.0.4) - >openRTSP (10.0.0.4) > >and I execute "openRTSP rtsp://10.0.0.1/track.mp3" > >Basically, the point is that openRTSP doesn't write in the output files In general, you can't expect RTSP/RTP to work across application-level gateways like this. However, see , whic might help 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/20080317/5493aa7c/attachment-0001.html From finlayson at live555.com Mon Mar 17 14:37:22 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 17 Mar 2008 14:37:22 -0700 Subject: [Live-devel] Estimated Bitrate In-Reply-To: <47DEA086.4060802@imavis.com> References: <47DEA086.4060802@imavis.com> Message-ID: >I was wondering, what's the unit of ServerMediaSubsession's variable >estBitrate? This is actually a variable only for the subclass: "OnDemandServerMediaSubsession". In the header file for that class, you can see that it's in kilobits per second. >I know it only affects the frequency of RTCP packets Yes. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From spigao at gmail.com Mon Mar 17 15:09:08 2008 From: spigao at gmail.com (Spigao spigao) Date: Mon, 17 Mar 2008 23:09:08 +0100 Subject: [Live-devel] Avoid RTP source checking? In-Reply-To: References: <71e4505a0803171009t17a7df92ibf6895229c7b7fcf@mail.gmail.com> Message-ID: <71e4505a0803171509i2ce0c5b8p63b6a7ba868fcf20@mail.gmail.com> Hi Ross, Thanks for your answer, I might have not explained myself well. What I am using are not normal gateways, but a software I am researching in to perform an specific role, so it should work fine. Also, I'm sure that openRTSP is receiving the UDP packets, because I have tcpdumped the network interface and also I have done an strace of openRTSP and it receives the stream packets with the recvfrom function, but it doesn't write them to the file, as it does when I strace it in a more "normal" behaviour. That's why I think it is not recognising the source of the packets and dropping them. Best regards, Sergio 2008/3/17 Ross Finlayson : > I'm using live555 server and openRTSP client in an especial emulation > environment, lets say I am development sort of gateway system... > > An example of the configuration could be: > --------------- > live555 (10.0.0.11) - ServerGW (10.0.0.1) - ClientGW (10.0.0.4) - openRTSP > (10.0.0.4) > > and I execute "openRTSP rtsp://10.0.0.1/track.mp3" > > Basically, the point is that openRTSP doesn't write in the output files > > > In general, you can't expect RTSP/RTP to work across application-level > gateways like this. However, see < > http://www.live555.com/liveMedia/faq.html#openRTSP-empty-files>, whic > might help 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/20080317/4e954f9f/attachment.html From finlayson at live555.com Mon Mar 17 15:11:52 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 17 Mar 2008 15:11:52 -0700 Subject: [Live-devel] live555MediaServer performance: 95 stream max per process In-Reply-To: <200803171540.35822.amadorim@vdavda.com> References: <200803171540.35822.amadorim@vdavda.com> Message-ID: >So it seems to be a strange threading or concurrency problem Unlikely, because the LIVE555 code is single-threaded. You're clearly running into a resource limit; the question now is: Which resource? Because your 95-stream limit seems to be happening per process (rather than machine-wide), the first thing I would look at is increasing the maximum number of open files (sockets) per process. Linux has a way to increase this (I'm not sure of the details, though). Of course, down the road you need to also consider running into limits of network bandwidth and/or file system bandwidth. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Mon Mar 17 15:19:01 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 17 Mar 2008 15:19:01 -0700 Subject: [Live-devel] multiplex mpeg2 audio and mpeg2 video streams into one mpeg2 SPTS In-Reply-To: <47DEC6DB.9010206@pisem.net> References: <47DEC6DB.9010206@pisem.net> Message-ID: >I have mpeg2 audio stream and mpeg2 video live streams from two >different programs, and I can pipe these streams to my program (based >on liveMedia) as a ByteStreamFileSource. > >Is it possible to multiplex streams into one mpeg2 SPTS? Yes (although I'm not sure how "SPTS" differs from "TS" (Transport Stream)). See http://lists.live555.com/pipermail/live-devel/2008-January/008002.html -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Mon Mar 17 15:24:38 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 17 Mar 2008 15:24:38 -0700 Subject: [Live-devel] Avoid RTP source checking? In-Reply-To: <71e4505a0803171509i2ce0c5b8p63b6a7ba868fcf20@mail.gmail.com> References: <71e4505a0803171009t17a7df92ibf6895229c7b7fcf@mail.gmail.com> <71e4505a0803171509i2ce0c5b8p63b6a7ba868fcf20@mail.gmail.com> Message-ID: >Thanks for your answer, I might have not explained myself well. What >I am using are not normal gateways, but a software I am researching >in to perform an specific role, so it should work fine. Also, I'm >sure that openRTSP is receiving the UDP packets, because I have >tcpdumped the network interface and also I have done an strace of >openRTSP and it receives the stream packets with the recvfrom >function, but it doesn't write them to the file If "openRTSP" really is receiving the files, then it will write the data to the output files (unless you modified the code, in which case I can't help you). But perhaps the RTP data packets are present on your network, but are not being received by "openRTSP". In that case, it might be that the packets' port numbers are wrong (in which case then perhaps the "-p " option might help). (Sorry, but that's the only hep I can give you right now...) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From amadorim at vdavda.com Tue Mar 18 02:09:50 2008 From: amadorim at vdavda.com (Marco Amadori) Date: Tue, 18 Mar 2008 10:09:50 +0100 Subject: [Live-devel] live555MediaServer performance: 95 stream max per process + dumb test suite In-Reply-To: References: <200803171540.35822.amadorim@vdavda.com> Message-ID: <200803181009.50899.amadorim@vdavda.com> Il Monday 17 March 2008 23:11:52 Ross Finlayson ha scritto: > >So it seems to be a strange threading or concurrency problem > > Unlikely, because the LIVE555 code is single-threaded. Do you think it could be easely extended to be multithreaded? > You're clearly running into a resource limit; the question now is: > Which resource? Nice question. I intially thought that my performance issue was a FAQ :-( > Because your 95-stream limit seems to be happening > per process (rather than machine-wide), the first thing I would look > at is increasing the maximum number of open files (sockets) per > process. No, 95-96 it is not a limit like "I cannot accept other clients" but just a visual quality limit, I could reach like 300 streams before hitting disk IO 100%. Anyway, "ulimit -a" reports 1024 open files max as default on debian. > Linux has a way to increase this (I'm not sure of the > details, though). Yes, ulimit can increase that, but I reported no differences increasing max open files. > Of course, down the road you need to also consider running into > limits of network bandwidth and/or file system bandwidth. Bandwith seems to me to not be not really an issue, because on that machine I have 3 bonded gibabit interfaces used for like 6% each (at 95 streams). I will investigate filesystem bandwitdth but I have reported same limits between ext3, ext3 with largefile4 and xfs (ranging from 3 sas 10k to 6 sas 15k). So I'm little clueless, anyone did similar tests* before? * My test system is like that, you need to generate a list of movies streamables by live555MediaServer like the one below and invoke "test_rtsp.sh $filelist $url $baseport", you could then add streams until a client starts to lose frames/packets: $ filelist=/srv/movies/list $ url=rtsp://10.0.0.10:8554 $ baseport=1500 $ cat $filelist b00560.mpg.ts b00635.mpg.ts b00711.mpg.ts b00729.mpg.ts b00752.mpg.ts b00753.mpg.ts b00759.mpg.ts b00760.mpg.ts b00762.mpg.ts b00798.mpg.ts $ cat test_rtsp.sh #!/bin/sh MOVIES=$1 URL=$2 BASEPORT=$3 i=0 for movie in `cat $MOVIES` ; do sleep 3 PORT=$(( $BASEPORT + $i )) #echo $i: openRTSP -r -p $PORT $URL/$movie echo $i: openRTSP -p $PORT $URL/$movie openRTSP -p $PORT $URL/$movie > /dev/null 2>&1 & i=$(( i+2 )) done -- ESC:wq From finlayson at live555.com Tue Mar 18 02:31:49 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 18 Mar 2008 02:31:49 -0700 Subject: [Live-devel] live555MediaServer performance: 95 stream max per process + dumb test suite In-Reply-To: <200803181009.50899.amadorim@vdavda.com> References: <200803171540.35822.amadorim@vdavda.com> <200803181009.50899.amadorim@vdavda.com> Message-ID: > > >So it seems to be a strange threading or concurrency problem >> >> Unlikely, because the LIVE555 code is single-threaded. > >Do you think it could be easely extended to be multithreaded? No, because the system was explicitly designed to be single threaded, using an event loop - rather than threads - for concurrency. (Please read the FAQ entry regarding threads.) >No, 95-96 it is not a limit like "I cannot accept other clients" but just a >visual quality limit, I could reach like 300 streams before hitting disk IO >100%. Anyway, "ulimit -a" reports 1024 open files max as default on debian. I suggest also using the "-Q" option to "openRTSP", to print out QOS statistics, including packet loss (which might be the cause of your video artifacts). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From spigao at gmail.com Tue Mar 18 06:04:09 2008 From: spigao at gmail.com (Spigao spigao) Date: Tue, 18 Mar 2008 14:04:09 +0100 Subject: [Live-devel] Avoid RTP source checking? In-Reply-To: References: <71e4505a0803171009t17a7df92ibf6895229c7b7fcf@mail.gmail.com> <71e4505a0803171509i2ce0c5b8p63b6a7ba868fcf20@mail.gmail.com> Message-ID: <71e4505a0803180604m75970457h4eb6b8d80c9edcbd@mail.gmail.com> well, thanks for the help, finally the problem was that my gateway was accidentally changing the format of the packets, and I guess openRTSP couldn't write them properly. best regards, Sergio On Mon, Mar 17, 2008 at 11:24 PM, Ross Finlayso wrote: > >Thanks for your answer, I might have not explained myself well. What > >I am using are not normal gateways, but a software I am researching > >in to perform an specific role, so it should work fine. Also, I'm > >sure that openRTSP is receiving the UDP packets, because I have > >tcpdumped the network interface and also I have done an strace of > >openRTSP and it receives the stream packets with the recvfrom > >function, but it doesn't write them to the file > > If "openRTSP" really is receiving the files, then it will write the > data to the output files (unless you modified the code, in which case > I can't help you). But perhaps the RTP data packets are present on > your network, but are not being received by "openRTSP". In that > case, it might be that the packets' port numbers are wrong (in which > case then perhaps the "-p " option might help). > > (Sorry, but that's the only hep I can give you right now...) > > -- > > 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/20080318/59b0b25e/attachment.html From josh at kci.net Tue Mar 18 07:29:49 2008 From: josh at kci.net (Josh Norell) Date: Tue, 18 Mar 2008 08:29:49 -0600 Subject: [Live-devel] playing files not in the current directory Message-ID: <1205850589.12163.14.camel@subterfuge.kci.net> Hello, I'm using live555MediaServer to do some RTSP streaming, but it's not apparent to me how, or if you can, play files that arn't in the current directory. eg. live555MediaServer is running in /dirA, but I want to play /dirA/dirB/dirC/video.ts. the MediaServer says "RTSP/1.0 404 Stream Not Found". I strace'd the process, and if I asked for the file above, MediaServer would look for the file "dirA". I found this listing: http://lists.live555.com/pipermail/live-devel/2007-June/007018.html but that didn't provide a definate answer. Can this be done, and if so what do I need to do? Thanks, Josh From slaine at slaine.org Tue Mar 18 07:34:08 2008 From: slaine at slaine.org (Glen Gray) Date: Tue, 18 Mar 2008 14:34:08 +0000 Subject: [Live-devel] playing files not in the current directory In-Reply-To: <1205850589.12163.14.camel@subterfuge.kci.net> References: <1205850589.12163.14.camel@subterfuge.kci.net> Message-ID: My understanding is that it only streams files from the current directory. -- Glen Gray slaine at slaine.org On 18 Mar 2008, at 14:29, Josh Norell wrote: > Hello, > > I'm using live555MediaServer to do some RTSP streaming, but it's not > apparent to me how, or if you can, play files that arn't in the > current > directory. eg. live555MediaServer is running in /dirA, but I want to > play /dirA/dirB/dirC/video.ts. > > the MediaServer says "RTSP/1.0 404 Stream Not Found". I strace'd the > process, and if I asked for the file above, MediaServer would look for > the file "dirA". > > I found this listing: > http://lists.live555.com/pipermail/live-devel/2007-June/007018.html > but that didn't provide a definate answer. > > Can this be done, and if so what do I need to do? > > Thanks, > Josh > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From amadorim at vdavda.com Tue Mar 18 08:17:33 2008 From: amadorim at vdavda.com (Marco Amadori) Date: Tue, 18 Mar 2008 16:17:33 +0100 Subject: [Live-devel] playing files not in the current directory In-Reply-To: <1205850589.12163.14.camel@subterfuge.kci.net> References: <1205850589.12163.14.camel@subterfuge.kci.net> Message-ID: <200803181617.33296.amadorim@vdavda.com> Il Tuesday 18 March 2008 15:29:49 Josh Norell ha scritto: > Hello, > > I'm using live555MediaServer to do some RTSP streaming, but it's not > apparent to me how, or if you can, play files that arn't in the current > directory. eg. live555MediaServer is running in /dirA, but I want to > play /dirA/dirB/dirC/video.ts. > Can this be done, and if so what do I need to do? simlinks cd /dirA find /dirA/dirB/dirC/*.ts | xargs -i ln -s {} . -- ESC:wq From josh at kci.net Tue Mar 18 08:40:02 2008 From: josh at kci.net (Josh Norell) Date: Tue, 18 Mar 2008 09:40:02 -0600 Subject: [Live-devel] playing files not in the current directory In-Reply-To: <200803181617.33296.amadorim@vdavda.com> References: <1205850589.12163.14.camel@subterfuge.kci.net> <200803181617.33296.amadorim@vdavda.com> Message-ID: <1205854802.12163.26.camel@subterfuge.kci.net> On Tue, 2008-03-18 at 16:17 +0100, Marco Amadori wrote: > Il Tuesday 18 March 2008 15:29:49 Josh Norell ha scritto: > > Hello, > > > > I'm using live555MediaServer to do some RTSP streaming, but it's not > > apparent to me how, or if you can, play files that arn't in the current > > directory. eg. live555MediaServer is running in /dirA, but I want to > > play /dirA/dirB/dirC/video.ts. > > > > Can this be done, and if so what do I need to do? > > simlinks > > cd /dirA > find /dirA/dirB/dirC/*.ts | xargs -i ln -s {} . > The client must request "/dirA/dirB/dirC/video.ts" so this won't work. From aahmoud at paraxip.com Tue Mar 18 14:32:04 2008 From: aahmoud at paraxip.com (Alkassoum Ahmoud) Date: Tue, 18 Mar 2008 17:32:04 -0400 Subject: [Live-devel] Asynchronous RTSP client in live media library In-Reply-To: References: <200803171540.35822.amadorim@vdavda.com> <200803181009.50899.amadorim@vdavda.com> Message-ID: <000001c8893f$82c89eb0$8859dc10$@com> Hi, I'm wondering if there is any asynchronous rtsp client available with the live555 media library. Thanks, Alkassoum No virus found in this outgoing message. Checked by AVG. Version: 7.5.519 / Virus Database: 269.21.7/1333 - Release Date: 18/03/2008 8:10 AM From finlayson at live555.com Tue Mar 18 14:42:51 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 18 Mar 2008 14:42:51 -0700 Subject: [Live-devel] Asynchronous RTSP client in live media library In-Reply-To: <000001c8893f$82c89eb0$8859dc10$@com> References: <200803171540.35822.amadorim@vdavda.com> <200803181009.50899.amadorim@vdavda.com> <000001c8893f$82c89eb0$8859dc10$@com> Message-ID: >Hi, > >I'm wondering if there is any asynchronous rtsp client available with the >live555 media library. No, not yet, but it's high on the 'to do' list, because it's the way that the RTSP client implementation should really be done. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Mar 18 15:16:44 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 18 Mar 2008 15:16:44 -0700 Subject: [Live-devel] playing files not in the current directory In-Reply-To: <1205854802.12163.26.camel@subterfuge.kci.net> References: <1205850589.12163.14.camel@subterfuge.kci.net> <200803181617.33296.amadorim@vdavda.com> <1205854802.12163.26.camel@subterfuge.kci.net> Message-ID: > > > I'm using live555MediaServer to do some RTSP streaming, but it's not >> > apparent to me how, or if you can, play files that arn't in the current >> > directory. eg. live555MediaServer is running in /dirA, but I want to >> > play /dirA/dirB/dirC/video.ts. >> >> >> > Can this be done, and if so what do I need to do? >> >> simlinks >> >> cd /dirA >> find /dirA/dirB/dirC/*.ts | xargs -i ln -s {} . >> > >The client must request "/dirA/dirB/dirC/video.ts" so this won't work. No, symbolic links (in the same directory as the "live555MediaServer" application) will work. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From josh at kci.net Tue Mar 18 15:40:58 2008 From: josh at kci.net (Josh Norell) Date: Tue, 18 Mar 2008 16:40:58 -0600 Subject: [Live-devel] playing files not in the current directory In-Reply-To: References: <1205850589.12163.14.camel@subterfuge.kci.net> <200803181617.33296.amadorim@vdavda.com> <1205854802.12163.26.camel@subterfuge.kci.net> Message-ID: <1205880058.28938.22.camel@subterfuge.kci.net> On Tue, 2008-03-18 at 15:16 -0700, Ross Finlayson wrote: > > > > I'm using live555MediaServer to do some RTSP streaming, but it's not > >> > apparent to me how, or if you can, play files that arn't in the current > >> > directory. eg. live555MediaServer is running in /dirA, but I want to > >> > play /dirA/dirB/dirC/video.ts. > >> > >> > >> > Can this be done, and if so what do I need to do? > >> > >> simlinks > >> > >> cd /dirA > >> find /dirA/dirB/dirC/*.ts | xargs -i ln -s {} . > >> > > > >The client must request "/dirA/dirB/dirC/video.ts" so this won't work. > > No, symbolic links (in the same directory as the "live555MediaServer" > application) will work. Sorry if I wasn't clear... Symbolic links would work if I could get the client to request "rtsp://server/video.ts", but it is requesting "rtsp://server/dirA/dirB/dirC/video.ts" and I don't have any way to change what it requests. Josh From finlayson at live555.com Tue Mar 18 19:07:20 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 18 Mar 2008 19:07:20 -0700 Subject: [Live-devel] playing files not in the current directory In-Reply-To: <1205880058.28938.22.camel@subterfuge.kci.net> References: <1205850589.12163.14.camel@subterfuge.kci.net> <200803181617.33296.amadorim@vdavda.com> <1205854802.12163.26.camel@subterfuge.kci.net> <1205880058.28938.22.camel@subterfuge.kci.net> Message-ID: >Sorry if I wasn't clear... > >Symbolic links would work if I could get the client to request >"rtsp://server/video.ts", but it is requesting >"rtsp://server/dirA/dirB/dirC/video.ts" and I don't have any way to >change what it requests. Why not? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From faerber at pi4.informatik.uni-mannheim.de Wed Mar 19 04:31:25 2008 From: faerber at pi4.informatik.uni-mannheim.de (=?ISO-8859-1?Q?Andreas_F=E4rber?=) Date: Wed, 19 Mar 2008 12:31:25 +0100 Subject: [Live-devel] StreamParser and EOF Message-ID: <9773511A-DEA2-43DA-A4A4-191CA726122C@pi4.informatik.uni-mannheim.de> Hello, I am working on a StreamParser subclass and am wondering how the end- of-file is supposed to be handled. If reading data until a delimiter such as 0x000001 appears, the test4Bytes() may bail out via ensureValidBytes(4) when reaching the end of file, exiting the RTSP server. In the MPEG 4 parser I did not notice any code using constructs such as checking totNumValidBytes() - curOffset(). Any hints would be appreciated. Thanks, Andreas From finlayson at live555.com Wed Mar 19 06:22:53 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 19 Mar 2008 06:22:53 -0700 Subject: [Live-devel] StreamParser and EOF In-Reply-To: <9773511A-DEA2-43DA-A4A4-191CA726122C@pi4.informatik.uni-mannheim.de> References: <9773511A-DEA2-43DA-A4A4-191CA726122C@pi4.informatik.uni-mannheim.de> Message-ID: >I am working on a StreamParser subclass and am wondering how the end- >of-file is supposed to be handled. This is specified by the parameters "onInputCloseFunc" and "onInputCloseClientData" that are passed to the "StreamParser" constructor (in the code for the subclass's constructor). Usually (as you can see in the provided example subclasses "AC3AudioStreamParser", "H263plusVideoStreamParser", "MPEG1or2AudioStreamParser", and "MPEGVideoStreamParser"), "FramedSource::handleClosure" is passed as "onInputCloseFunc", and the source object that's using the parser is passed as "onInputCloseClientData". This means that end-of-file will be handled exactly the same as if the source object ran out of data, without using a parser. (The exception to this "MPEGProgramStreamParser" which is used by "MPEG1or2Demux". In this case, there is more than one downstream object involved, so end-of-file is handled in a special way.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From faerber at pi4.informatik.uni-mannheim.de Wed Mar 19 06:54:39 2008 From: faerber at pi4.informatik.uni-mannheim.de (=?ISO-8859-1?Q?Andreas_F=E4rber?=) Date: Wed, 19 Mar 2008 14:54:39 +0100 Subject: [Live-devel] StreamParser and EOF In-Reply-To: References: <9773511A-DEA2-43DA-A4A4-191CA726122C@pi4.informatik.uni-mannheim.de> Message-ID: Am 19.03.2008 um 14:22 schrieb Ross Finlayson: >> I am working on a StreamParser subclass and am wondering how the end- >> of-file is supposed to be handled. > > This is specified by the parameters "onInputCloseFunc" and > "onInputCloseClientData" that are passed to the "StreamParser" > constructor (in the code for the subclass's constructor). Usually > (as you can see in the provided example subclasses > "AC3AudioStreamParser", "H263plusVideoStreamParser", > "MPEG1or2AudioStreamParser", and "MPEGVideoStreamParser"), > "FramedSource::handleClosure" is passed as "onInputCloseFunc", and > the source object that's using the parser is passed as > "onInputCloseClientData". This means that end-of-file will be > handled exactly the same as if the source object ran out of data, > without using a parser. Thanks for the explanation. My problem is elsewhere, I am getting said issue with test4Bytes' ensureValidBytes(4), three bytes before the end of file is reached. I am therefore observing an exit(1) call, which happens before handleClosure. I'll have to debug some more... ;-) Andreas From josh at kci.net Wed Mar 19 08:53:27 2008 From: josh at kci.net (Josh Norell) Date: Wed, 19 Mar 2008 09:53:27 -0600 Subject: [Live-devel] playing files not in the current directory In-Reply-To: References: <1205850589.12163.14.camel@subterfuge.kci.net> <200803181617.33296.amadorim@vdavda.com> <1205854802.12163.26.camel@subterfuge.kci.net> <1205880058.28938.22.camel@subterfuge.kci.net> Message-ID: <1205942007.28938.25.camel@subterfuge.kci.net> On Tue, 2008-03-18 at 19:07 -0700, Ross Finlayson wrote: > >Sorry if I wasn't clear... > > > >Symbolic links would work if I could get the client to request > >"rtsp://server/video.ts", but it is requesting > >"rtsp://server/dirA/dirB/dirC/video.ts" and I don't have any way to > >change what it requests. > > Why not? It's kasenna middleware running on an amino STB, and I don't know of any way to change it. From mean.while.mw at gmail.com Wed Mar 19 09:18:05 2008 From: mean.while.mw at gmail.com (mean while) Date: Thu, 20 Mar 2008 00:18:05 +0800 Subject: [Live-devel] How to get the qFactor? Message-ID: hello, I'm using livemedia to stream mjpeg, and I don't know how to get the qFactor value. Could you please tell me how to calculate the qFactor? Can I found it from the jpeg content? And another question, the rtp type field should be 1 if the jpeg is yuv422 format, and 0 if yuv420, is this right? Thank you and best reguards. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080319/dfa0cd2e/attachment-0001.html From satheesh at streamprocessors.com Wed Mar 19 09:32:52 2008 From: satheesh at streamprocessors.com (Satheesh Ram) Date: Wed, 19 Mar 2008 22:02:52 +0530 Subject: [Live-devel] How to get the qFactor? In-Reply-To: References: Message-ID: <47E14034.6080102@streamprocessors.com> Hi, Qfactor will not be available in JFIF header, it is input to JPEG encoder. If you are aware of JPEG encoder block in your system, find a way to transfer the qfactor value to MJPEG RTP streamer out block. And type 0 - YUV422 & 1 = YUV420 (refer RFC2345) mean while wrote: > hello, > I'm using livemedia to stream mjpeg, and I don't know how to get > the qFactor value. Could you please tell me how to calculate the > qFactor? Can I found it from the jpeg content? And another question, > the rtp type field should be 1 if the jpeg is yuv422 format, and 0 if > yuv420, is this right? > Thank you and best reguards. > ------------------------------------------------------------------------ > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > -- Satheesh Ram Off. +91.80.41630270x25 Mob. +91.9945211181 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080319/7539c480/attachment.html From npahlajani at aht-northamerica.com Wed Mar 19 09:52:03 2008 From: npahlajani at aht-northamerica.com (Neel Pahlajani) Date: Wed, 19 Mar 2008 17:52:03 +0100 Subject: [Live-devel] please remove Message-ID: <200803191653.m2JGrqFh044595@ns.live555.com> Please remove me, thanks Neel Pahlajani Partner Relations Advanced Home Technologies of North America 347 Fifth Avenue Suite 500 New York, NY 10016 212.400.3030 (office) 631.806.7003 (mobile) 212.447.9300 (fax) npahlajani at aht-northamerica.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080319/9d6fc121/attachment.html From leon.woestenberg at gmail.com Wed Mar 19 13:25:19 2008 From: leon.woestenberg at gmail.com (Leon Woestenberg) Date: Wed, 19 Mar 2008 21:25:19 +0100 Subject: [Live-devel] multiplex mpeg2 audio and mpeg2 video streams into one mpeg2 SPTS In-Reply-To: References: <47DEC6DB.9010206@pisem.net> Message-ID: Hello, On Mon, Mar 17, 2008 at 11:19 PM, Ross Finlayson wrote: > Yes (although I'm not sure how "SPTS" differs from "TS" (Transport > Stream)). See SPTS is a single program transport stream. It is a subset of a (MP)TS. I suspect a SPTS often lacks the high level tables to select networks and/or programs, but AFAIK the SPTS/MPTS is no standardized terminology. Regards, -- Leon From finlayson at live555.com Wed Mar 19 15:25:53 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 19 Mar 2008 15:25:53 -0700 Subject: [Live-devel] please remove In-Reply-To: <200803191653.m2JGrqFh044595@ns.live555.com> References: <200803191653.m2JGrqFh044595@ns.live555.com> Message-ID: To remove yourself from the mailing list, use the web page whose address appears at the bottom of every mailing list message (including this one). Requests to leave a mailing list should *never* be sent to the mailing list itself. From slaine at slaine.org Wed Mar 19 15:44:10 2008 From: slaine at slaine.org (Glen Gray) Date: Wed, 19 Mar 2008 22:44:10 +0000 Subject: [Live-devel] live555MediaServer performance: 95 stream max per process + dumb test suite In-Reply-To: <200803181009.50899.amadorim@vdavda.com> References: <200803171540.35822.amadorim@vdavda.com> <200803181009.50899.amadorim@vdavda.com> Message-ID: Hey Marco, Did you make any progress diagnosing this problem ? -- Glen Gray slaine at slaine.org On 18 Mar 2008, at 09:09, Marco Amadori wrote: > Il Monday 17 March 2008 23:11:52 Ross Finlayson ha scritto: >>> So it seems to be a strange threading or concurrency problem >> >> Unlikely, because the LIVE555 code is single-threaded. > > Do you think it could be easely extended to be multithreaded? > >> You're clearly running into a resource limit; the question now is: >> Which resource? > > Nice question. I intially thought that my performance issue was a > FAQ :-( > >> Because your 95-stream limit seems to be happening >> per process (rather than machine-wide), the first thing I would look >> at is increasing the maximum number of open files (sockets) per >> process. > > No, 95-96 it is not a limit like "I cannot accept other clients" but > just a > visual quality limit, I could reach like 300 streams before hitting > disk IO > 100%. Anyway, "ulimit -a" reports 1024 open files max as default on > debian. > >> Linux has a way to increase this (I'm not sure of the >> details, though). > > Yes, ulimit can increase that, but I reported no differences > increasing max > open files. > >> Of course, down the road you need to also consider running into >> limits of network bandwidth and/or file system bandwidth. > > Bandwith seems to me to not be not really an issue, because on that > machine I > have 3 bonded gibabit interfaces used for like 6% each (at 95 > streams). > > I will investigate filesystem bandwitdth but I have reported same > limits > between ext3, ext3 with largefile4 and xfs (ranging from 3 sas 10k > to 6 sas > 15k). > > So I'm little clueless, anyone did similar tests* before? > > * My test system is like that, you need to generate a list of movies > streamables by live555MediaServer like the one below and invoke > "test_rtsp.sh > $filelist $url $baseport", you could then add streams until a client > starts > to lose frames/packets: > > $ filelist=/srv/movies/list > $ url=rtsp://10.0.0.10:8554 > $ baseport=1500 > > $ cat $filelist > b00560.mpg.ts > b00635.mpg.ts > b00711.mpg.ts > b00729.mpg.ts > b00752.mpg.ts > b00753.mpg.ts > b00759.mpg.ts > b00760.mpg.ts > b00762.mpg.ts > b00798.mpg.ts > > $ cat test_rtsp.sh > #!/bin/sh > > MOVIES=$1 > URL=$2 > BASEPORT=$3 > > i=0 > > for movie in `cat $MOVIES` ; do > sleep 3 > PORT=$(( $BASEPORT + $i )) > #echo $i: openRTSP -r -p $PORT $URL/$movie > echo $i: openRTSP -p $PORT $URL/$movie > openRTSP -p $PORT $URL/$movie > /dev/null 2>&1 & > i=$(( i+2 )) > done > > -- > ESC:wq > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From pushkar at ipvideosys.com Wed Mar 19 18:55:44 2008 From: pushkar at ipvideosys.com (Pushkar Pradhan) Date: Wed, 19 Mar 2008 18:55:44 -0700 Subject: [Live-devel] What source should I use to capture a MPEGTS stream? In-Reply-To: Message-ID: <5358224A8253E24D8D8E7FA9244E54074DBEAB@ipvmail.ipvideosys.com> I'm trying to play a MPEGTS stream (sending both audio video on same port), by creating a SimpleRTPSource. I figured out that SimpleRTPSource was the right choice by looking at the Boolean MediaSubsession::initiate(int useSpecialRTPoffset) function. However, MultiFramedRTPSource::networkReadHandler which parses the RTP header breaks out of the loop because the RTP header is not version 2: // Check the RTP version number (it should be 2): if ((rtpHdr&0xC0000000) != 0x80000000) break; Can you please advise me what is the correct source to use for MPEGTS? Thanks, Pushkar From finlayson at live555.com Wed Mar 19 21:49:02 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 19 Mar 2008 21:49:02 -0700 Subject: [Live-devel] What source should I use to capture a MPEGTS stream? In-Reply-To: <5358224A8253E24D8D8E7FA9244E54074DBEAB@ipvmail.ipvideosys.com> References: <5358224A8253E24D8D8E7FA9244E54074DBEAB@ipvmail.ipvideosys.com> Message-ID: >I'm trying to play a MPEGTS stream (sending both audio video on same >port), by creating a SimpleRTPSource. >I figured out that SimpleRTPSource was the right choice by looking at >the Boolean MediaSubsession::initiate(int useSpecialRTPoffset) function. > >However, MultiFramedRTPSource::networkReadHandler which parses the RTP >header breaks out of the loop because the RTP header is not version 2: Then perhaps your stream is not using RTP? I.e., perhaps it is a MPEG Transport Stream being sent over raw UDP, rather than RTP/UDP? If that's the case, then you just use a "BasicUDPSource", not a "*RTPSource". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From ratin3 at gmail.com Wed Mar 19 22:54:50 2008 From: ratin3 at gmail.com (Ratin) Date: Wed, 19 Mar 2008 22:54:50 -0700 Subject: [Live-devel] live 555 rtsp library for mplayer Message-ID: <5c70701a0803192254k7cea7e61k99309055321a438a@mail.gmail.com> When you stream audio over live-555's RTSP plugin on mplayer, what decides the audio data to be big endian vs little endian? I am developing a server and I am specifying the format as 97 (dynamic format