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) with rtpmap being : 96 L16/8000 for single channel, 16 bit/sample, 8 khz sample rate audio. But mplayer somehow thinks audio data is in big endian format and attaches a BE -> LE conversion filter: after getting "describe": Initiated "audio/L16" RTP subsession on port 4770 .... ... after getting "play" command: Building audio filter chain for 8000Hz/1ch/s16be -> 0Hz/0ch/??... [libaf] Adding filter dummy [dummy] Was reinitialized: 8000Hz/1ch/s16be [dummy] Was reinitialized: 8000Hz/1ch/s16be ao_dsound: Output Devices: 0 Primary Sound Driver <-- 1 SoundMAX Digital Audio 2 Bluetooth Audio ao_dsound: DirectSound initialized ao_dsound: format s16be not supported defaulting to Signed 16-bit Little-Endian ao_dsound: Samplerate:8000Hz Channels:1 Format:s16le ao_dsound: Buffersize:16000 bytes (1000 msec) ao_dsound: primary buffer created ao_dsound: secondary (stream)buffer created AO: [dsound] 8000Hz 1ch s16le (2 bytes per sample) AO: Description: Windows DirectSound audio output AO: Author: Gabor Szecsi Building audio filter chain for 8000Hz/1ch/s16be -> 8000Hz/1ch/s16le... [dummy] Was reinitialized: 8000Hz/1ch/s16be [libaf] Adding filter format [format] Changing sample format from big-endian 16-bit signed int to little-endian 16-bit signed int [format] Accelerated endianness conversion only [dummy] Was reinitialized: 8000Hz/1ch/s16be [format] Changing sample format from big-endian 16-bit signed int to little-endian 16-bit signed int [format] Accelerated endianness conversion only Video: no video Freeing 0 unused video chunks. Starting playback... [libaf] Reallocating memory in module format, old len = 0, new len = 16000 No bind found for key ''. A: -1.0 (unknown) of 0.0 (unknown) 0.0% I hear nothing but noise. The data originally is in little endian format. When I overwrite the stream type to be s16le in mplayer's libmpdemux code, it plays but it repeats a section over and over again. If anybody could help, I would appreciate it. Thanks! Ratin -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080319/3992cf05/attachment-0001.html From pushkar at ipvideosys.com Wed Mar 19 23:04:58 2008 From: pushkar at ipvideosys.com (Pushkar Pradhan) Date: Wed, 19 Mar 2008 23:04:58 -0700 Subject: [Live-devel] What source should I use to capture a MPEGTS stream? In-Reply-To: Message-ID: <5358224A8253E24D8D8E7FA9244E54074DBEAD@ipvmail.ipvideosys.com> Yes it is indeed not RTP, I've conformed this with the server side developer. Will try with BasicUDPSource. Thanks, pushkar -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: Wednesday, March 19, 2008 9:49 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] What source should I use to capture a MPEGTS stream? >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/ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel From finlayson at live555.com Wed Mar 19 23:18:49 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 19 Mar 2008 23:18:49 -0700 Subject: [Live-devel] live 555 rtsp library for mplayer In-Reply-To: <5c70701a0803192254k7cea7e61k99309055321a438a@mail.gmail.com> References: <5c70701a0803192254k7cea7e61k99309055321a438a@mail.gmail.com> Message-ID: >When you stream audio over live-555's RTSP plugin on mplayer, what >decides the >audio data to be big endian vs little endian? 16-bit PCM audio data - when streamed using RTP using an IETF-standard RTP payload format - is *always* in Big Endian order (called "Network Byte Order" in the RFCs). That's the standard[*]. >I am developing a server and I am >specifying the format as 97 (dynamic format) with rtpmap being : 96 L16/8000 >for single channel, 16 bit/sample, 8 khz sample rate audio. But >mplayer somehow >thinks audio data is in big endian format and attaches a BE -> LE >conversion filter It is correct; your server is not. If your server's PCM data is originally in Little Endian order, then you need to insert a LE->BE filter in your server. If you are using our libraries to build your server, then this involves just inserting a "EndianSwap16" filter object in front of your "SimpleRTPSink". (If you are streaming from WAV audio files, then you could just use the "WAVAudioFileServerMediaSubsession" class, which does this for you. Note also our "LIVE555 Media Server", which can stream ".wav" audio files.) [*] The reason for this is that IETF protocol standards began in an era when most computers on the Internet were Big Endian computers like Sun workstations (which originally used the Motorola 68xxx architecture). Back then, computers that used the (Little Endian) Intel 8086 architecture were (generally speaking) too underpowered to be used as Internet nodes. If we had known back then that the x86 architecture would come to dominate the industry, then perhaps things would have been done differently.... -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From amadorim at vdavda.com Thu Mar 20 02:23:07 2008 From: amadorim at vdavda.com (Marco Amadori) Date: Thu, 20 Mar 2008 10:23:07 +0100 Subject: [Live-devel] live555MediaServer performance: 95 stream max per process + dumb test suite In-Reply-To: References: <200803171540.35822.amadorim@vdavda.com> <200803181009.50899.amadorim@vdavda.com> Message-ID: <200803201023.07204.amadorim@vdavda.com> Il Wednesday 19 March 2008 23:44:10 Glen Gray ha scritto: > Hey Marco, > Did you make any progress diagnosing this problem ? Not yet, my company seems to want to "fix" that issue buying a 9000$ licence for a commercial RTSP server, and so postponed my work on optimization :-( When I'll able to turn again on that issue I will report them on the list for sure. -- ESC:wq From Ishwar.Jasuja at jci.com Thu Mar 20 09:51:43 2008 From: Ishwar.Jasuja at jci.com (Ishwar.Jasuja at jci.com) Date: Thu, 20 Mar 2008 09:51:43 -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: Ardy, I have made changes to the latest version to make it work in Embedded WINCE environment. I run this on SH4 platform. But that shouldnt matter. I can zip the files and send those to you. But files also have changes for TI NDK. So it might be little confusing. Although all TI NDK changes are under #ifdef TI. Let me know. regards Ishwar Note: For WINCE, only 3-4 files need some minor changes. I will send you those diffs. "Ardy Salim" Sent by: live-devel-bounces at ns.live555.com 03/16/2008 09:35 PM Please respond to LIVE555 Streaming Media - development & use To cc 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 _______________________________________________ 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/20080320/75fa896d/attachment.html From finlayson at live555.com Thu Mar 20 13:46:56 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 20 Mar 2008 13:46:56 -0700 Subject: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 In-Reply-To: References: Message-ID: >Note: For WINCE, only 3-4 files need some minor changes. I will send >you those diffs. Please post those diffs to the mailing list, and I'll see if I can incorporate those changes (using "#if !defined(_WIN32_WCE)", as appropriate) in a future release of the software. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080320/61eb699a/attachment.html From Ishwar.Jasuja at jci.com Thu Mar 20 14:32:12 2008 From: Ishwar.Jasuja at jci.com (Ishwar.Jasuja at jci.com) Date: Thu, 20 Mar 2008 14:32:12 -0700 Subject: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 In-Reply-To: Message-ID: Here you go.. Thanks Ishwar F:\software\live\liveMedia\MP3StreamState.cpp static Boolean socketIsReadable(int socket) { #ifndef _WIN32_WCE const unsigned numFds = socket+1; #else const unsigned numFds = 1; #endif F:\software\live\liveMedia\ADTSAudioFileSource.cpp #ifndef _WIN32_WCE // If we get here, the frame header was OK. // Reset the fid to the beginning of the file: rewind(fid); #else fseek(fid, SEEK_SET,0); #endif F:\software\live\BasicUsageEnvironment\BasicTaskScheduler.cpp #ifndef _WIN32_WCE if (socketNum+1 > fMaxNumSockets) { fMaxNumSockets = socketNum+1; } #else fMaxNumSockets++; #endif #ifndef _WIN32_WCE if (socketNum+1 == fMaxNumSockets) { --fMaxNumSockets; } #else fMaxNumSockets--; #endif Ross Finlayson Sent by: live-devel-bounces at ns.live555.com 03/20/2008 02:13 PM Please respond to LIVE555 Streaming Media - development & use To LIVE555 Streaming Media - development & use cc Subject Re: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 Note: For WINCE, only 3-4 files need some minor changes. I will send you those diffs. Please post those diffs to the mailing list, and I'll see if I can incorporate those changes (using "#if !defined(_WIN32_WCE)", as appropriate) in a future release of the software. -- 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/20080320/5e5c3905/attachment.html From finlayson at live555.com Thu Mar 20 14:42:59 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 20 Mar 2008 14:42:59 -0700 Subject: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 In-Reply-To: References: Message-ID: Thanks for sending those diffs. However, I'm a bit sceptical about the first and third of those diffs (OTOH, the second diff - the one to "ADTSAudioFileSource.cpp" - looks OK.) Can anyone else who's building for WInce confirm that those diffs are all OK? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From Ishwar.Jasuja at jci.com Thu Mar 20 15:25:21 2008 From: Ishwar.Jasuja at jci.com (Ishwar.Jasuja at jci.com) Date: Thu, 20 Mar 2008 15:25:21 -0700 Subject: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 In-Reply-To: Message-ID: I think you are right. You dont need those two diffs. I was porting the package for both WinCE and TI NDK at the same time. So might have put it in for the later. Sorry about that Ishwar Ross Finlayson Sent by: live-devel-bounces at ns.live555.com 03/20/2008 03:02 PM Please respond to LIVE555 Streaming Media - development & use To LIVE555 Streaming Media - development & use cc Subject Re: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 Thanks for sending those diffs. However, I'm a bit sceptical about the first and third of those diffs (OTOH, the second diff - the one to "ADTSAudioFileSource.cpp" - looks OK.) Can anyone else who's building for WInce confirm that those diffs are all OK? -- 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/20080320/859d0b86/attachment-0001.html From ratin3 at gmail.com Thu Mar 20 23:40:45 2008 From: ratin3 at gmail.com (Ratin) Date: Thu, 20 Mar 2008 23:40:45 -0700 Subject: [Live-devel] live 555 rtsp library for mplayer Message-ID: <5c70701a0803202340m748bb5e9xe5d00b6d62ede8bd@mail.gmail.com> From: Ross Finlayson To: LIVE555 Streaming Media - development & use Date: Wed, 19 Mar 2008 23:18:49 -0700 Subject: Re: [Live-devel] live 555 rtsp library for mplayer >>When you stream audio over live-555's RTSP plugin on mplayer, what >>decides the >>audio data to be big endian vs little endian? >16-bit PCM audio data - when streamed using RTP using an >IETF-standard RTP payload format - is *always* in Big Endian order >(called "Network Byte Order" in the RFCs). That's the standard[*]. I am developing the server for an embedded device, I was hoping I could avoid that but alas! It sucks that mplayer code actually support a whole slew of combinations (any of the types specified in file ad_pcm.c, function static int init(sh_audio_t *sh_audio). The code checks sh_audio->format to match a data format, in order for data to be 16 bit, little endian it has to be one of these formats: 'sowt' (0x74776F73) , 0x0, 0x1, 0xfffe . If I could soecify a string for that would falll into one of these cases, I wouldve been in good shape. >>I am developing a server and I am >>specifying the format as 97 (dynamic format) with rtpmap being : 96 L16/8000 >>for single channel, 16 bit/sample, 8 khz sample rate audio. But >>mplayer somehow >>thinks audio data is in big endian format and attaches a BE -> LE >>conversion filter >It is correct; your server is not. If your server's PCM data is >originally in Little Endian order, then you need to insert a LE->BE >filter in your server. If you are using our libraries to build your >server, then this involves just inserting a "EndianSwap16" filter >object in front of your "SimpleRTPSink". (If you are streaming from >WAV audio files, then you could just use the >"WAVAudioFileServerMediaSubsession" class, which does this for you. >Note also our "LIVE555 Media Server", which can stream ".wav" audio >files.) I am not using live555 libraries because of the light weight requirement of this project, so I need to come up with an optimized version of the byte swaper. I wonder if there would be a way to read the data backwards from the A/D that we use for audio. >[*] The reason for this is that IETF protocol standards began in an >era when most computers on the Internet were Big Endian computers >like Sun workstations (which originally used the Motorola 68xxx >architecture). Back then, computers that used the (Little Endian) >Intel 8086 architecture were (generally speaking) too underpowered to >be used as Internet nodes. If we had known back then that the x86 >architecture would come to dominate the industry, then perhaps things >would have been done differently.... The standards definitely lack today's computing and multimedia needs. I was looking at the rfc for media specification - the fourcc and character based stream identification all sleems like a joke to me ..they need new revisions like many other rfc's. Ratin 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/20080320/c97056c6/attachment.html From finlayson at live555.com Fri Mar 21 06:39:56 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 21 Mar 2008 06:39:56 -0700 Subject: [Live-devel] live 555 rtsp library for mplayer In-Reply-To: <5c70701a0803202340m748bb5e9xe5d00b6d62ede8bd@mail.gmail.com> References: <5c70701a0803202340m748bb5e9xe5d00b6d62ede8bd@mail.gmail.com> Message-ID: > >It is correct; your server is not. If your server's PCM data is >>originally in Little Endian order, then you need to insert a LE->BE >>filter in your server. If you are using our libraries to build your >>server, then this involves just inserting a "EndianSwap16" filter >>object in front of your "SimpleRTPSink". (If you are streaming from >>WAV audio files, then you could just use the >>"WAVAudioFileServerMediaSubsession" class, which does this for you. >>Note also our "LIVE555 Media Server", which can stream ".wav" audio >>files.) > >I am not using live555 libraries because of the light weight requirement of >this project Note that our software has been used several times within embedded systems. It is quite lightweight itself. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From ratin3 at gmail.com Fri Mar 21 15:11:38 2008 From: ratin3 at gmail.com (Ratin) Date: Fri, 21 Mar 2008 15:11:38 -0700 Subject: [Live-devel] live 555 rtsp library for mplayer In-Reply-To: <5c70701a0803202340m748bb5e9xe5d00b6d62ede8bd@mail.gmail.com> References: <5c70701a0803202340m748bb5e9xe5d00b6d62ede8bd@mail.gmail.com> Message-ID: <5c70701a0803211511y1a8cd63dh87a33cfbd08f9f78@mail.gmail.com> Do you think if it will be possible to add an option for the audio decoder to process the data in certain order? Or even add a filter thru the command line? I wonder why -af format=s16le doesnt work for me.. Ratin On Thu, Mar 20, 2008 at 11:40 PM, Ratin wrote: > From: Ross Finlayson > To: LIVE555 Streaming Media - development & use > > Date: Wed, 19 Mar 2008 23:18:49 -0700 > Subject: Re: [Live-devel] live 555 rtsp library for mplayer > >>When you stream audio over live-555's RTSP plugin on mplayer, what > >>decides the > >>audio data to be big endian vs little endian? > > >16-bit PCM audio data - when streamed using RTP using an > >IETF-standard RTP payload format - is *always* in Big Endian order > >(called "Network Byte Order" in the RFCs). That's the standard[*]. > Do you think if it will be possible to add an option for the audio decoder > to process the data in certain order? Or even add a filter thru the command > line? I wonder why -af format=s16le doesnt work for me.. Thanks, > > > Ratin > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080321/023aa484/attachment.html From finlayson+mobile at live555.com Fri Mar 21 15:42:16 2008 From: finlayson+mobile at live555.com (Ross Finlayson) Date: Fri, 21 Mar 2008 15:42:16 -0700 Subject: [Live-devel] live 555 rtsp library for mplayer In-Reply-To: <5c70701a0803211511y1a8cd63dh87a33cfbd08f9f78@mail.gmail.com> References: <5c70701a0803202340m748bb5e9xe5d00b6d62ede8bd@mail.gmail.com> <5c70701a0803211511y1a8cd63dh87a33cfbd08f9f78@mail.gmail.com> Message-ID: The audio decoder is someone else's software; it's not part of the "LIVE555 Streaming Media" software (which is what this mailing list is for). Ross. ---------- Sent from my jesusPhone On Mar 21, 2008, at 3:11 PM, Ratin wrote: > Do you think if it will be possible to add an option for the audio > decoder to process the data in certain order? Or even add a filter > thru the command line? I wonder why -af format=s16le doesnt work > for me.. > > Ratin > > On Thu, Mar 20, 2008 at 11:40 PM, Ratin wrote: > From: Ross Finlayson > To: LIVE555 Streaming Media - development & use > > Date: Wed, 19 Mar 2008 23:18:49 -0700 > Subject: Re: [Live-devel] live 555 rtsp library for mplayer > >>When you stream audio over live-555's RTSP plugin on mplayer, what > >>decides the > >>audio data to be big endian vs little endian? > > >16-bit PCM audio data - when streamed using RTP using an > >IETF-standard RTP payload format - is *always* in Big Endian order > >(called "Network Byte Order" in the RFCs). That's the standard[*]. > > Do you think if it will be possible to add an option for the audio > decoder to process the data in certain order? Or even add a filter > thru the command line? I wonder why -af format=s16le doesnt work > for me.. > > Thanks, > > > Ratin > > > _______________________________________________ > 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/20080321/b64e8644/attachment.html From pushkar at ipvideosys.com Fri Mar 21 22:36:49 2008 From: pushkar at ipvideosys.com (Pushkar Pradhan) Date: Fri, 21 Mar 2008 22:36:49 -0700 Subject: [Live-devel] Parsing MPEG TS In-Reply-To: Message-ID: <5358224A8253E24D8D8E7FA9244E54074DBED9@ipvmail.ipvideosys.com> I'm trying to acquire a MPEG TS over UDP. But I realized that the MPEGDemux uses a MPEGProgramStreamParser that's why it won't work. To the best of my understanding I don't think there is a MPEG TS parser in livemedia, is that true? pushkar -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080321/987cd6d6/attachment.html From finlayson at live555.com Sat Mar 22 00:17:40 2008 From: finlayson at live555.com (Ross Finlayson) Date: Sat, 22 Mar 2008 00:17:40 -0700 Subject: [Live-devel] Parsing MPEG TS In-Reply-To: <5358224A8253E24D8D8E7FA9244E54074DBED9@ipvmail.ipvideosys.com> References: <5358224A8253E24D8D8E7FA9244E54074DBED9@ipvmail.ipvideosys.com> Message-ID: >I'm trying to acquire a MPEG TS over UDP. But I realized that the >MPEGDemux uses a MPEGProgramStreamParser that's why it won't work. >To the best of my understanding I don't think there is a MPEG TS >parser in livemedia, is that true? The closest thing that we have to a 'MPEG TS parser' is "MPEG2TransportStreamFramer", which is (quoting the header file): // A filter that passes through (unchanged) chunks that contain an integral number // of MPEG-2 Transport Stream packets, but returning (in "fDurationInMicroseconds") // an updated estimate of the time gap between chunks. -- 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/20080322/fc150997/attachment.html From xuwei_felix at yahoo.cn Sat Mar 22 00:30:41 2008 From: xuwei_felix at yahoo.cn (Felix) Date: Sat, 22 Mar 2008 15:30:41 +0800 (CST) Subject: [Live-devel] ask for help in streaming H264 bytestream file with livemedia555 Message-ID: <52331.85297.qm@web92009.mail.cnb.yahoo.com> Hi : I am trying to stream from a H264 bytestream file(sequcen of NALU). Till now, I've already read through the code of livemedia555 and the tutorial about how to streaming H264 written by Mojtaba Hosseini. I think I should implement my own H264VideoStreamFramer. This class is to get several bytes from ByteStream, get a NALU from thoese bytes and gives it to H264VideoFUAFragment. This NALU, or its fragment will be passed to H264VideoRTPSink, thus packed and send to the client. Am I right in understanding the keypoint? In implementing my own H264VideoStreamFramer, I come across some problems that you might help with. Some of the problems have alreday been discussed on the maillist before, but I sitll can not figure out the solution when streaming a H264 bitstream file: 1.How to calculate the presentationTime for each frame: The first frame's presentationTime is get from the wallclock by "gettimeofday()", what about the following frames? 2.How to calculate the durationTime? DurationTime is usede to calculate the nextTime to send packet, how to calculate it if I am streaming from a H264 bytestream file, rather than from a live encoder? 3.How to judge the current NALU Ends one AccessUnit in the function currentNALUnitEndsAccessUnit()? I found some clues in H264's standand document's section 7.4.1.2.4, is it the right place? Any help will be apprecaiated! Thanks. B.R. Felix.Xu Mar.22.2008 --------------------------------- ???????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080322/19bcbf7e/attachment-0001.html From ASalim at ntu.edu.sg Sun Mar 23 18:56:11 2008 From: ASalim at ntu.edu.sg (Ardy Salim) Date: Mon, 24 Mar 2008 09:56:11 +0800 Subject: [Live-devel] Building Live555 streaming media in Windows Mobile5.0 References: Message-ID: <7CC7A25F6278A24795D6948D32956A4603F8CF20@EXCHANGE22.staff.main.ntu.edu.sg> Thx a lot, Ishwar. I will try it as soon as possible. will let you know if there is any problem in running on windows mobile platform. Ardy ________________________________ From: live-devel-bounces at ns.live555.com on behalf of Ishwar.Jasuja at jci.com Sent: Fri 3/21/2008 6:25 AM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] Building Live555 streaming media in Windows Mobile5.0 I think you are right. You dont need those two diffs. I was porting the package for both WinCE and TI NDK at the same time. So might have put it in for the later. Sorry about that Ishwar Ross Finlayson Sent by: live-devel-bounces at ns.live555.com 03/20/2008 03:02 PM Please respond to LIVE555 Streaming Media - development & use To LIVE555 Streaming Media - development & use cc Subject Re: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 Thanks for sending those diffs. However, I'm a bit sceptical about the first and third of those diffs (OTOH, the second diff - the one to "ADTSAudioFileSource.cpp" - looks OK.) Can anyone else who's building for WInce confirm that those diffs are all OK? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/ms-tnef Size: 5343 bytes Desc: not available Url : http://lists.live555.com/pipermail/live-devel/attachments/20080323/cfbf05dc/attachment.bin From pushkar at ipvideosys.com Mon Mar 24 12:57:19 2008 From: pushkar at ipvideosys.com (Pushkar Pradhan) Date: Mon, 24 Mar 2008 12:57:19 -0700 Subject: [Live-devel] Parsing MPEG TS In-Reply-To: Message-ID: <5358224A8253E24D8D8E7FA9244E54074DBEE9@ipvmail.ipvideosys.com> ________________________________ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: Saturday, March 22, 2008 12:18 AM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] Parsing MPEG TS I'm trying to acquire a MPEG TS over UDP. But I realized that the MPEGDemux uses a MPEGProgramStreamParser that's why it won't work. To the best of my understanding I don't think there is a MPEG TS parser in livemedia, is that true? The closest thing that we have to a 'MPEG TS parser' is "MPEG2TransportStreamFramer", which is (quoting the header file): // A filter that passes through (unchanged) chunks that contain an integral number // of MPEG-2 Transport Stream packets, but returning (in "fDurationInMicroseconds") // an updated estimate of the time gap between chunks. Ross, I looked at the MPEG2TransportStreamFramer implentation but it doesn't meet my requirements. So probably I can try to write my own "MPEGTransportStreamParser". I think all you need to do is strip out the TS header and pass the PES packet (and its header) to the MPEGDemux. If it works I think the following filter hierarchy should work: BasicUDPSource --> MPEGDemux (uses MPEG2TransportStreamParser) --> MPEGDemuxedElementaryStream (2 for A/V) --> MPEGVideoStreamFramer (for audio: MPEGAudioStreamFramer) --> ByteStreamSink (2, which expect a complete video/audio frame so that I can feed them to a decoder). Please let me know if this sounds correct? pushkar -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080324/857aa501/attachment.html From faerber at pi4.informatik.uni-mannheim.de Tue Mar 25 03:11:23 2008 From: faerber at pi4.informatik.uni-mannheim.de (=?ISO-8859-1?Q?Andreas_F=E4rber?=) Date: Tue, 25 Mar 2008 11:11:23 +0100 Subject: [Live-devel] StreamParser and EOF In-Reply-To: References: <9773511A-DEA2-43DA-A4A4-191CA726122C@pi4.informatik.uni-mannheim.de> Message-ID: <7BB9E038-CA35-41B4-925C-7845FBA3E0FA@pi4.informatik.uni-mannheim.de> Am 19.03.2008 um 14:54 schrieb Andreas F?rber: > > 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... ;-) Actually it turned out that I had forgotten to save the parse state. After I added this, I no longer get that error. Andreas From yft at beb.com.cn Tue Mar 25 18:44:30 2008 From: yft at beb.com.cn (yft) Date: Wed, 26 Mar 2008 09:44:30 +0800 Subject: [Live-devel] Fw: question References: <200803251910335782196@beb.com.cn> Message-ID: <200803260944301097585@beb.com.cn> 2008-03-26 yft ???? yft ????? 2008-03-25 19:10:33 ???? live-devel ??? ??? help Hi,I download the live555-latest.tar.gz from the web of you company,but when I 'cd' to the "live" directory, and run genWindowsMakefiles in a command shell, it came errs: can't find "Makefile",so I want you to help me ,how can i solve the problem, thanks! 2008-03-25 yft -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080325/e8c062d2/attachment.html From finlayson at live555.com Tue Mar 25 23:22:16 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 25 Mar 2008 23:22:16 -0700 Subject: [Live-devel] Fw: question In-Reply-To: <200803260944301097585@beb.com.cn> References: <200803251910335782196@beb.com.cn> <200803260944301097585@beb.com.cn> Message-ID: >Hi,I download the live555-latest.tar.gz from the web of you >company,but when I 'cd' to the "live" directory, and >run genWindowsMakefiles in a command shell, it came errs: can't >find "Makefile",so I want you to help me ,how can i solve the >problem, thanks! I don't think those are really errors; you can just ignore them. You probably still found that the ".mak" files got created OK. However, if you wish, you can remove each of the lines del /Q Makefile from the file "genWindowsMakefiles.cmd" -- 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/20080325/f3e02bd8/attachment-0001.html From belloni at imavis.com Wed Mar 26 02:14:36 2008 From: belloni at imavis.com (Cristiano Belloni) Date: Wed, 26 Mar 2008 10:14:36 +0100 Subject: [Live-devel] Paths in RTSP requests Message-ID: <47EA13FC.9010500@imavis.com> Hi to all, I' d like to serve live RTSP streams with a complex pathname instead of a simple filename. Let me clarify: How I do now: MPEG4 streams: rtsp://host/mpeg4stream[number] H263 streams: rtsp://host/h263stream[number] What I'd like to do: MPEG4 streams: rtsp://host/video/MPEG4/stream[number] H263 streams: rtsp://host/video/H263/stream[number] Please note the filenames pathnames are "virtual", i.e. they don't exist. Every stream is associated to a live source read from a configuration file, and it has no correspondent in the file system (either in the first and in the second scenario). Problem is, I can pass a complex pathname (with slashes) to ServerMediaSession::createNew, but when I try to make the corresponding RTSP request, server says "404 not found". This doesn't happen with a simple (no slashes) filename (although the file does not exist in the filesystem). Regards, Cristiano. -- Belloni Cristiano Imavis Srl. www.imavis.com belloni at imavis.com From spigao at gmail.com Wed Mar 26 02:36:13 2008 From: spigao at gmail.com (Spigao spigao) Date: Wed, 26 Mar 2008 10:36:13 +0100 Subject: [Live-devel] Saving a RTP stream as it is received Message-ID: <71e4505a0803260236w6a9912a4wb51993cb3fdb96eb@mail.gmail.com> Hello, I am streaming videos sequences with live555 server and receiving them with the openRTSP client. Sometimes, some of the RTP packets get lost due to network disconnections, which causes jumps in the final video stream file. However, it would be nice to have a final output video with the same length as the original one and with something like black frames in the parts where the original RTP packets are not received. In the words, what a real user would see when receiving the video. Does somebody knows how to do this? Thanks, -- Sergio -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080326/59ef7599/attachment.html From finlayson at live555.com Wed Mar 26 06:05:09 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 26 Mar 2008 06:05:09 -0700 Subject: [Live-devel] Paths in RTSP requests In-Reply-To: <47EA13FC.9010500@imavis.com> References: <47EA13FC.9010500@imavis.com> Message-ID: >What I'd like to do: > >MPEG4 streams: rtsp://host/video/MPEG4/stream[number] >H263 streams: rtsp://host/video/H263/stream[number] > >Please note the filenames pathnames are "virtual", i.e. they don't >exist. Every stream is associated to a live source read from a >configuration file, and it has no correspondent in the file system Then why bother? I'm sure you could (somehow) hack the RTSP server code to do what you want to do, but why not just use a character other than "/" in the RTSP URLs - e.g., rtsp://host/video:MPEG4:stream[number] ? This would require no change to the existing code. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From belloni at imavis.com Wed Mar 26 08:55:46 2008 From: belloni at imavis.com (Cristiano Belloni) Date: Wed, 26 Mar 2008 16:55:46 +0100 Subject: [Live-devel] Paths in RTSP requests In-Reply-To: References: <47EA13FC.9010500@imavis.com> Message-ID: <47EA7202.9030202@imavis.com> Ross Finlayson wrote: >> What I'd like to do: >> >> MPEG4 streams: rtsp://host/video/MPEG4/stream[number] >> H263 streams: rtsp://host/video/H263/stream[number] >> >> Please note the filenames pathnames are "virtual", i.e. they don't >> exist. Every stream is associated to a live source read from a >> configuration file, and it has no correspondent in the file system >> > > Then why bother? I'm sure you could (somehow) hack the RTSP server > code to do what you want to do, but why not just use a character > other than "/" in the RTSP URLs - e.g., > rtsp://host/video:MPEG4:stream[number] > ? This would require no change to the existing code. > To achieve URL-uniformity with existing IP cameras, for example. Nearly all of them use URLs like that. Cristiano. -- Belloni Cristiano Imavis Srl. www.imavis.com belloni at imavis.com From ASalim at ntu.edu.sg Thu Mar 27 00:07:23 2008 From: ASalim at ntu.edu.sg (Ardy Salim) Date: Thu, 27 Mar 2008 15:07:23 +0800 Subject: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 References: Message-ID: <7CC7A25F6278A24795D6948D32956A4603F8CF25@EXCHANGE22.staff.main.ntu.edu.sg> Hi I have tried to build it in eVC 4 with Pocket PC 2003 SDK for WinCE ARMV4 platform. The project for UsageEnvironment, BasicUsageEnvironment and groupsock is ok. However, for the liveMedia, it keep showing these errors: ...\live\livemedia\bytestreamfilesource.cpp(93) : error C2664: 'turnOffBackgroundReadHandling' : cannot convert parameter 1 from 'void *' to 'int' This conversion requires a reinterpret_cast, a C-style cast or function-style cast ...\livemedia\bytestreamfilesource.cpp(111) : error C2664: 'turnOnBackgroundReadHandling' : cannot convert parameter 1 from 'void *' to 'int' This conversion requires a reinterpret_cast, a C-style cast or function-style cast ...\livemedia\bytestreamfilesource.cpp(119) : error C2664: 'turnOffBackgroundReadHandling' : cannot convert parameter 1 from 'void *' to 'int' This conversion requires a reinterpret_cast, a C-style cast or function-style cast Personally, I'm new in C++ and I don't know how to solve this problem. The main thing is the liveMedia project could be built in WinCE SH4 platform, but not in WinCE ARMV4. Is there anyone could help with this problem? Thank you Regards, Ardy ________________________________ From: live-devel-bounces at ns.live555.com on behalf of Ross Finlayson Sent: Fri 3/21/2008 5:42 AM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 Thanks for sending those diffs. However, I'm a bit sceptical about the first and third of those diffs (OTOH, the second diff - the one to "ADTSAudioFileSource.cpp" - looks OK.) Can anyone else who's building for WInce confirm that those diffs are all OK? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/ms-tnef Size: 5308 bytes Desc: not available Url : http://lists.live555.com/pipermail/live-devel/attachments/20080327/8c08158f/attachment.bin From finlayson at live555.com Thu Mar 27 00:21:52 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 27 Mar 2008 00:21:52 -0700 Subject: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 In-Reply-To: <7CC7A25F6278A24795D6948D32956A4603F8CF25@EXCHANGE22.staff.main.ntu.edu.sg > References: <7CC7A25F6278A24795D6948D32956A4603F8CF25@EXCHANGE22.staff.main.ntu.edu.sg > Message-ID: >Hi > >I have tried to build it in eVC 4 with Pocket PC 2003 SDK for WinCE >ARMV4 platform. The project for UsageEnvironment, >BasicUsageEnvironment and groupsock is ok. However, for the >liveMedia, it keep showing these errors: > >...\live\livemedia\bytestreamfilesource.cpp(93) : error C2664: >'turnOffBackgroundReadHandling' : cannot convert parameter 1 from >'void *' to 'int' > This conversion requires a reinterpret_cast, a C-style cast >or function-style cast >...\livemedia\bytestreamfilesource.cpp(111) : error C2664: >'turnOnBackgroundReadHandling' : cannot convert parameter 1 from >'void *' to 'int' > This conversion requires a reinterpret_cast, a C-style cast >or function-style cast >...\livemedia\bytestreamfilesource.cpp(119) : error C2664: >'turnOffBackgroundReadHandling' : cannot convert parameter 1 from >'void *' to 'int' > This conversion requires a reinterpret_cast, a C-style cast >or function-style cast The problem here is apparently the calls to the "fileno()" function. The signature of that function (which should return an "int") appears to be wrong in your environment. You should look into that. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From Ishwar.Jasuja at jci.com Thu Mar 27 08:48:26 2008 From: Ishwar.Jasuja at jci.com (Ishwar.Jasuja at jci.com) Date: Thu, 27 Mar 2008 08:48:26 -0700 Subject: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 In-Reply-To: <7CC7A25F6278A24795D6948D32956A4603F8CF25@EXCHANGE22.staff.main.ntu.edu.sg> Message-ID: You should have following defined in that file. #define READ_FROM_FILES_SYNCHRONOUSLY 1 That should take care of your problem. Regards, Ishwar "Ardy Salim" Sent by: live-devel-bounces at ns.live555.com 03/27/2008 12:15 AM Please respond to LIVE555 Streaming Media - development & use To "LIVE555 Streaming Media - development & use" cc Subject Re: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 Hi I have tried to build it in eVC 4 with Pocket PC 2003 SDK for WinCE ARMV4 platform. The project for UsageEnvironment, BasicUsageEnvironment and groupsock is ok. However, for the liveMedia, it keep showing these errors: ...\live\livemedia\bytestreamfilesource.cpp(93) : error C2664: 'turnOffBackgroundReadHandling' : cannot convert parameter 1 from 'void *' to 'int' This conversion requires a reinterpret_cast, a C-style cast or function-style cast ...\livemedia\bytestreamfilesource.cpp(111) : error C2664: 'turnOnBackgroundReadHandling' : cannot convert parameter 1 from 'void *' to 'int' This conversion requires a reinterpret_cast, a C-style cast or function-style cast ...\livemedia\bytestreamfilesource.cpp(119) : error C2664: 'turnOffBackgroundReadHandling' : cannot convert parameter 1 from 'void *' to 'int' This conversion requires a reinterpret_cast, a C-style cast or function-style cast Personally, I'm new in C++ and I don't know how to solve this problem. The main thing is the liveMedia project could be built in WinCE SH4 platform, but not in WinCE ARMV4. Is there anyone could help with this problem? Thank you Regards, Ardy ________________________________ From: live-devel-bounces at ns.live555.com on behalf of Ross Finlayson Sent: Fri 3/21/2008 5:42 AM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 Thanks for sending those diffs. However, I'm a bit sceptical about the first and third of those diffs (OTOH, the second diff - the one to "ADTSAudioFileSource.cpp" - looks OK.) Can anyone else who's building for WInce confirm that those diffs are all OK? -- 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 [attachment "winmail.dat" deleted by Ishwar Jasuja/NA/Johnson_Controls] _______________________________________________ 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/20080327/ae9a1668/attachment-0001.html From finlayson at live555.com Thu Mar 27 12:40:19 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 27 Mar 2008 12:40:19 -0700 Subject: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 In-Reply-To: References: Message-ID: >You should have following defined in that file. > >#define READ_FROM_FILES_SYNCHRONOUSLY 1 > >That should take care of your problem. Yes, but that's not necessarily what he wants. Does Wince allow open files to be handled as select()able sockets (as Windows XP, and all Unix systems, do)? If so, then you *don't* want file reads to be performed synchronously. If, however, Wince is brain-damaged (like many versions of Windows) and doesn't allow open files to he handled as select()able sockets, then, yes, you will want to define READ_FROM_FILES_SYNCHRONOUSLY -- 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/20080327/6569ec06/attachment.html From Ishwar.Jasuja at jci.com Thu Mar 27 13:08:54 2008 From: Ishwar.Jasuja at jci.com (Ishwar.Jasuja at jci.com) Date: Thu, 27 Mar 2008 13:08:54 -0700 Subject: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 In-Reply-To: Message-ID: WINCE does have _fileno() function that can be used to get fd from FILE pointer. But I dont know if that would work. I have only used select() call for socket communication in our system which is based on WinCE. WINCE documentation states that the select can only be used for sockets. see the description below. This structure is used by various Windows Sockets functions and service providers, such as the select function, to place sockets into a set for various purposes. For example, the readfds parameter of the select function can be used for testing a socket for readability. typedef struct fd_set { u_int fd_count; SOCKET fd_array[FD_SETSIZE]; } fd_set; Members fd_count Number of sockets in the set. fd_array Array of sockets that are in the set. Requirements OS Versions: Windows CE .NET 4.0 and later. Header: Winsock2.h. See Also sele Ross Finlayson Sent by: live-devel-bounces at ns.live555.com 03/27/2008 12:47 PM Please respond to LIVE555 Streaming Media - development & use To LIVE555 Streaming Media - development & use cc Subject Re: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 You should have following defined in that file. #define READ_FROM_FILES_SYNCHRONOUSLY 1 That should take care of your problem. Yes, but that's not necessarily what he wants. Does Wince allow open files to be handled as select()able sockets (as Windows XP, and all Unix systems, do)? If so, then you *don't* want file reads to be performed synchronously. If, however, Wince is brain-damaged (like many versions of Windows) and doesn't allow open files to he handled as select()able sockets, then, yes, you will want to define READ_FROM_FILES_SYNCHRONOUSLY -- 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/20080327/6fc87258/attachment.html From ASalim at ntu.edu.sg Thu Mar 27 20:32:32 2008 From: ASalim at ntu.edu.sg (Ardy Salim) Date: Fri, 28 Mar 2008 11:32:32 +0800 Subject: [Live-devel] Building Live555 streaming media in WindowsMobile 5.0 References: Message-ID: <7CC7A25F6278A24795D6948D32956A4603F8CF27@EXCHANGE22.staff.main.ntu.edu.sg> Hi, the problems is solved... actually I just need to add (int) in front of the fileno() function. The project is build successfully. however, now the problem lies on the application. Any application that I tried to build does not seem to work. I've tried some of the test programs and it shows many errors. when I try to build openRTSP test program, it shows this error: groupsock.lib(GroupsockHelper.obj) : fatal error LNK1112: module machine type 'ARM' conflicts with target machine type 'X86' Is there any solution for this problem? thank you very much Regards, Ardy ________________________________ From: live-devel-bounces at ns.live555.com on behalf of Ishwar.Jasuja at jci.com Sent: Fri 3/28/2008 4:08 AM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] Building Live555 streaming media in WindowsMobile 5.0 WINCE does have _fileno() function that can be used to get fd from FILE pointer. But I dont know if that would work. I have only used select() call for socket communication in our system which is based on WinCE. WINCE documentation states that the select can only be used for sockets. see the description below. This structure is used by various Windows Sockets functions and service providers, such as the select function, to place sockets into a set for various purposes. For example, the readfds parameter of the select function can be used for testing a socket for readability. typedef struct fd_set { u_int fd_count; SOCKET fd_array[FD_SETSIZE]; } fd_set; Members fd_count Number of sockets in the set. fd_array Array of sockets that are in the set. Requirements OS Versions: Windows CE .NET 4.0 and later. Header: Winsock2.h. See Also sele Ross Finlayson Sent by: live-devel-bounces at ns.live555.com 03/27/2008 12:47 PM Please respond to LIVE555 Streaming Media - development & use To LIVE555 Streaming Media - development & use cc Subject Re: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 You should have following defined in that file. #define READ_FROM_FILES_SYNCHRONOUSLY 1 That should take care of your problem. Yes, but that's not necessarily what he wants. Does Wince allow open files to be handled as select()able sockets (as Windows XP, and all Unix systems, do)? If so, then you *don't* want file reads to be performed synchronously. If, however, Wince is brain-damaged (like many versions of Windows) and doesn't allow open files to he handled as select()able sockets, then, yes, you will want to define READ_FROM_FILES_SYNCHRONOUSLY -- Ross Finlayson Live Networks, Inc. http://www.live555.com/_______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/ms-tnef Size: 7775 bytes Desc: not available Url : http://lists.live555.com/pipermail/live-devel/attachments/20080327/b94ba4e3/attachment.bin From xuwei_felix at yahoo.cn Fri Mar 28 01:15:06 2008 From: xuwei_felix at yahoo.cn (Felix) Date: Fri, 28 Mar 2008 16:15:06 +0800 (CST) Subject: [Live-devel] Why H264 annexB bytestream transported incompletely? Message-ID: <578457.45461.qm@web92011.mail.cnb.yahoo.com> Hi all: I have been trying to stream H264 annexB bytestream with livemedia, and have made little progress these days. My own xH264VideoStreamFramer(subclass of H264VideoStreamFramer) and H264VideoFileServerMediaSubsession have been done. To check my classes, I modified live555MediaServer, and use it as the server while openRTSP as client for test. But when running, the bytestream cannot be transported completely. Only the first few datas can be received. What puzzles me more is that the amount of datas received is variational. The size of H264 annexB bytestream file on the server is 70574 Bytes, sometimes the receiver can only receive the first 48KB, or sometimes 68KB. 70574B can rarely been received completely. I also compare the data received on client with the bytestream file on the serever, and found that these data are just the first part of the bytestream. I checked the "fOctetCount" member of class "RTPSink", and found that when "MultiFramedRTPSink" call its "onSourceClosure()" function, live555MediaServer already sent 70574 Bytes to the client(openRTSP). But on the client, the data received is incomplete and variational. What might caused this problem? Any help will be appreciated! Best Regards Felix --------------------------------- ???????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080328/11520239/attachment-0001.html From faerber at pi4.informatik.uni-mannheim.de Fri Mar 28 01:59:17 2008 From: faerber at pi4.informatik.uni-mannheim.de (=?ISO-8859-1?Q?Andreas_F=E4rber?=) Date: Fri, 28 Mar 2008 09:59:17 +0100 Subject: [Live-devel] Why H264 annexB bytestream transported incompletely? In-Reply-To: <578457.45461.qm@web92011.mail.cnb.yahoo.com> References: <578457.45461.qm@web92011.mail.cnb.yahoo.com> Message-ID: Hello, Am 28.03.2008 um 09:15 schrieb Felix: > I have been trying to stream H264 annexB bytestream with > livemedia, and have made little progress these days. > My own xH264VideoStreamFramer(subclass of H264VideoStreamFramer) > and H264VideoFileServerMediaSubsession have been done. > > To check my classes, I modified live555MediaServer, and use it as > the server while openRTSP as client for test. > > But when running, the bytestream cannot be transported > completely. Only the first few datas can be received. What puzzles > me more is that the amount of datas received is variational. > The size of H264 annexB bytestream file on the server is 70574 > Bytes, sometimes the receiver can only receive the first 48KB, or > sometimes 68KB. 70574B can rarely been received completely. > > I also compare the data received on client with the bytestream > file on the serever, and found that these data are just the first > part of the bytestream. I have been working on a H.264 annex G video stream framer. For me, the last access unit is not being transmitted, and I attribute this to my file parsing code, which by nature of the live library does not recognize the end of the file properly and therefore does not reach/ mark the end of the last access unit. Regards, Andreas > I checked the "fOctetCount" member of class "RTPSink", and found > that when "MultiFramedRTPSink" call its "onSourceClosure()" function, > live555MediaServer already sent 70574 Bytes to the > client(openRTSP). But on the client, the data received is incomplete > and variational. > > What might caused this problem? > > Any help will be appreciated! > > Best Regards > Felix > > ???????????? > _______________________________________________ > 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/20080328/16a87b6c/attachment.html From finlayson at live555.com Fri Mar 28 02:00:17 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 28 Mar 2008 02:00:17 -0700 Subject: [Live-devel] Why H264 annexB bytestream transported incompletely? In-Reply-To: <578457.45461.qm@web92011.mail.cnb.yahoo.com> References: <578457.45461.qm@web92011.mail.cnb.yahoo.com> Message-ID: Because you've modified the code, I probably can't help you much with your problem. However, the first thing I'd check would be network packet loss. You can check this using the "-Q" option to "openRTSP". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From bellaj1 at gmail.com Fri Mar 28 02:29:11 2008 From: bellaj1 at gmail.com (l'alchemiste) Date: Fri, 28 Mar 2008 10:29:11 +0100 Subject: [Live-devel] streaming video +windwos mobile Message-ID: hello i found a rtp filter =morgan filter is he suppotable by windows mobile else is there a rtp filter that i can use to send stream over network from pocketpc to pc think y -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080328/a98ed63f/attachment.html From ASalim at ntu.edu.sg Fri Mar 28 02:43:13 2008 From: ASalim at ntu.edu.sg (Ardy Salim) Date: Fri, 28 Mar 2008 17:43:13 +0800 Subject: [Live-devel] Building Live555 streaming media in WindowsMobile 5.0 References: <7CC7A25F6278A24795D6948D32956A4603F8CF27@EXCHANGE22.staff.main.ntu.edu.sg> Message-ID: <7CC7A25F6278A24795D6948D32956A4603F8CF2A@EXCHANGE22.staff.main.ntu.edu.sg> Ok, this problem is solved. It is just some wrong typo in the project settings. The other Errors are the LNK2019: unsolved external symbol. I've searched from other forums, they said that to solve this problem, I need to add the libraries correspond to those functions/symbols which are unmanaged. I think these are the differences between SH4 platform and ARMV4 (pocket PC) platform. I've tried to add come relevant libraries but still could not find the correct one. Is it really impossible to port the program it into Windows mobile? Regards, Ardy ________________________________ From: live-devel-bounces at ns.live555.com on behalf of Ardy Salim Sent: Fri 3/28/2008 11:32 AM To: LIVE555 Streaming Media - development & use Subject: RE: [Live-devel] Building Live555 streaming media in WindowsMobile 5.0 Hi, the problems is solved... actually I just need to add (int) in front of the fileno() function. The project is build successfully. however, now the problem lies on the application. Any application that I tried to build does not seem to work. I've tried some of the test programs and it shows many errors. when I try to build openRTSP test program, it shows this error: groupsock.lib(GroupsockHelper.obj) : fatal error LNK1112: module machine type 'ARM' conflicts with target machine type 'X86' Is there any solution for this problem? thank you very much Regards, Ardy ________________________________ From: live-devel-bounces at ns.live555.com on behalf of Ishwar.Jasuja at jci.com Sent: Fri 3/28/2008 4:08 AM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] Building Live555 streaming media in WindowsMobile 5.0 WINCE does have _fileno() function that can be used to get fd from FILE pointer. But I dont know if that would work. I have only used select() call for socket communication in our system which is based on WinCE. WINCE documentation states that the select can only be used for sockets. see the description below. This structure is used by various Windows Sockets functions and service providers, such as the select function, to place sockets into a set for various purposes. For example, the readfds parameter of the select function can be used for testing a socket for readability. typedef struct fd_set { u_int fd_count; SOCKET fd_array[FD_SETSIZE]; } fd_set; Members fd_count Number of sockets in the set. fd_array Array of sockets that are in the set. Requirements OS Versions: Windows CE .NET 4.0 and later. Header: Winsock2.h. See Also sele Ross Finlayson Sent by: live-devel-bounces at ns.live555.com 03/27/2008 12:47 PM Please respond to LIVE555 Streaming Media - development & use To LIVE555 Streaming Media - development & use cc Subject Re: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 You should have following defined in that file. #define READ_FROM_FILES_SYNCHRONOUSLY 1 That should take care of your problem. Yes, but that's not necessarily what he wants. Does Wince allow open files to be handled as select()able sockets (as Windows XP, and all Unix systems, do)? If so, then you *don't* want file reads to be performed synchronously. If, however, Wince is brain-damaged (like many versions of Windows) and doesn't allow open files to he handled as select()able sockets, then, yes, you will want to define READ_FROM_FILES_SYNCHRONOUSLY -- Ross Finlayson Live Networks, Inc. http://www.live555.com/_______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/ms-tnef Size: 9011 bytes Desc: not available Url : http://lists.live555.com/pipermail/live-devel/attachments/20080328/d799f84d/attachment.bin From Ishwar.Jasuja at jci.com Fri Mar 28 09:36:10 2008 From: Ishwar.Jasuja at jci.com (Ishwar.Jasuja at jci.com) Date: Fri, 28 Mar 2008 09:36:10 -0700 Subject: [Live-devel] Building Live555 streaming media in WindowsMobile 5.0 In-Reply-To: <7CC7A25F6278A24795D6948D32956A4603F8CF2A@EXCHANGE22.staff.main.ntu.edu.sg> Message-ID: Ardy, Can you send the list of those unresolved external symbols? Ishwar "Ardy Salim" Sent by: live-devel-bounces at ns.live555.com 03/28/2008 02:52 AM Please respond to LIVE555 Streaming Media - development & use To "LIVE555 Streaming Media - development & use" cc Subject Re: [Live-devel] Building Live555 streaming media in WindowsMobile 5.0 Ok, this problem is solved. It is just some wrong typo in the project settings. The other Errors are the LNK2019: unsolved external symbol. I've searched from other forums, they said that to solve this problem, I need to add the libraries correspond to those functions/symbols which are unmanaged. I think these are the differences between SH4 platform and ARMV4 (pocket PC) platform. I've tried to add come relevant libraries but still could not find the correct one. Is it really impossible to port the program it into Windows mobile? Regards, Ardy ________________________________ From: live-devel-bounces at ns.live555.com on behalf of Ardy Salim Sent: Fri 3/28/2008 11:32 AM To: LIVE555 Streaming Media - development & use Subject: RE: [Live-devel] Building Live555 streaming media in WindowsMobile 5.0 Hi, the problems is solved... actually I just need to add (int) in front of the fileno() function. The project is build successfully. however, now the problem lies on the application. Any application that I tried to build does not seem to work. I've tried some of the test programs and it shows many errors. when I try to build openRTSP test program, it shows this error: groupsock.lib(GroupsockHelper.obj) : fatal error LNK1112: module machine type 'ARM' conflicts with target machine type 'X86' Is there any solution for this problem? thank you very much Regards, Ardy ________________________________ From: live-devel-bounces at ns.live555.com on behalf of Ishwar.Jasuja at jci.com Sent: Fri 3/28/2008 4:08 AM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] Building Live555 streaming media in WindowsMobile 5.0 WINCE does have _fileno() function that can be used to get fd from FILE pointer. But I dont know if that would work. I have only used select() call for socket communication in our system which is based on WinCE. WINCE documentation states that the select can only be used for sockets. see the description below. This structure is used by various Windows Sockets functions and service providers, such as the select function, to place sockets into a set for various purposes. For example, the readfds parameter of the select function can be used for testing a socket for readability. typedef struct fd_set { u_int fd_count; SOCKET fd_array[FD_SETSIZE]; } fd_set; Members fd_count Number of sockets in the set. fd_array Array of sockets that are in the set. Requirements OS Versions: Windows CE .NET 4.0 and later. Header: Winsock2.h. See Also sele Ross Finlayson Sent by: live-devel-bounces at ns.live555.com 03/27/2008 12:47 PM Please respond to LIVE555 Streaming Media - development & use To LIVE555 Streaming Media - development & use cc Subject Re: [Live-devel] Building Live555 streaming media in Windows Mobile 5.0 You should have following defined in that file. #define READ_FROM_FILES_SYNCHRONOUSLY 1 That should take care of your problem. Yes, but that's not necessarily what he wants. Does Wince allow open files to be handled as select()able sockets (as Windows XP, and all Unix systems, do)? If so, then you *don't* want file reads to be performed synchronously. If, however, Wince is brain-damaged (like many versions of Windows) and doesn't allow open files to he handled as select()able sockets, then, yes, you will want to define READ_FROM_FILES_SYNCHRONOUSLY -- 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 [attachment "winmail.dat" deleted by Ishwar Jasuja/NA/Johnson_Controls] _______________________________________________ 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/20080328/f019f4a0/attachment-0001.html From Ishwar.Jasuja at jci.com Fri Mar 28 11:43:19 2008 From: Ishwar.Jasuja at jci.com (Ishwar.Jasuja at jci.com) Date: Fri, 28 Mar 2008 11:43:19 -0700 Subject: [Live-devel] Why H264 annexB bytestream transported incompletely? In-Reply-To: Message-ID: Did you try increasing Socket send & receive buffer size & see if that makes any difference? Regards, Ishwar Andreas F?rber Sent by: live-devel-bounces at ns.live555.com 03/28/2008 02:17 AM Please respond to LIVE555 Streaming Media - development & use To LIVE555 Streaming Media - development & use cc Subject Re: [Live-devel] Why H264 annexB bytestream transported incompletely? Hello, Am 28.03.2008 um 09:15 schrieb Felix: I have been trying to stream H264 annexB bytestream with livemedia, and have made little progress these days. My own xH264VideoStreamFramer(subclass of H264VideoStreamFramer) and H264VideoFileServerMediaSubsession have been done. To check my classes, I modified live555MediaServer, and use it as the server while openRTSP as client for test. But when running, the bytestream cannot be transported completely. Only the first few datas can be received. What puzzles me more is that the amount of datas received is variational. The size of H264 annexB bytestream file on the server is 70574 Bytes, sometimes the receiver can only receive the first 48KB, or sometimes 68KB. 70574B can rarely been received completely. I also compare the data received on client with the bytestream file on the serever, and found that these data are just the first part of the bytestream. I have been working on a H.264 annex G video stream framer. For me, the last access unit is not being transmitted, and I attribute this to my file parsing code, which by nature of the live library does not recognize the end of the file properly and therefore does not reach/mark the end of the last access unit. Regards, Andreas I checked the "fOctetCount" member of class "RTPSink", and found that when "MultiFramedRTPSink" call its "onSourceClosure()" function, live555MediaServer already sent 70574 Bytes to the client(openRTSP). But on the client, the data received is incomplete and variational. What might caused this problem? Any help will be appreciated! Best Regards Felix ????????????_______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080328/48e4a984/attachment.html From eric.flickner at gmail.com Fri Mar 28 13:44:01 2008 From: eric.flickner at gmail.com (Eric Flickner) Date: Fri, 28 Mar 2008 16:44:01 -0400 Subject: [Live-devel] RTP Timestamps Message-ID: <72ab2a680803281344r79662a3t21536c9f62425842@mail.gmail.com> Hi group, I have a couple of questions regarding characteristics of an RTP stream that I am working with. 1. Is it standards compliant for an RTP stream to contain all of the same timestamp information for each RTP packet? Example... Packet # Timestamp 1 0 2 0 3 0 .... ... n 0 2. All of my packets have a payload type 88. Is there a specific RFC that specifies the payload for this format? Thanks, -- Eric Flickner -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080328/f7f9ecb9/attachment.html From tonjefr at ifi.uio.no Fri Mar 28 14:14:28 2008 From: tonjefr at ifi.uio.no (Tonje Fredrikson) Date: Fri, 28 Mar 2008 22:14:28 +0100 (CET) Subject: [Live-devel] Multicast streaming over several channels Message-ID: <4836.129.240.228.53.1206738868.squirrel@webmail.uio.no> Hi, I would like to experiment with a scheduling algorithm for video multicasting. The algorithm is based on dividing a video into several segments, each multicasted through a separate channel (port). I have recently been looking into the live555 library as part this work for my master thesis. My goal right now is to: - Open a file with several file descriptors, each pointing to a separate segment of the movie. - Set up several channels, one for each segment of the movie. - Multicast each segment of the movie at different bandwidths. The current file format I have worked with is MPEG2. So far I have attempted to try streaming the same file over two channels (or, four, one for video and one for audio, opening the same file twice) by adding extra Ports and corresponding RTPSinks (which gives me a seg.fault which I have not yet investigated the cause of - crashes when calling rtpSink->startPlaying()). Does anyone have experience with anything similar? Is there any support in live555 that I have not seen that enables this type of functionality? If no, does anyone have hints or suggestions to what classes should be modified (or added) to add such functionality? I want to mention that this is my first experience working directly with media streams, hence I am new to a lot of the terminology. Do not hesitate to ask me if there is anything that is unclear. Thanks for any input that might be of help, Best regards, Tonje Fredrikson From finlayson at live555.com Fri Mar 28 14:45:35 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 28 Mar 2008 14:45:35 -0700 Subject: [Live-devel] RTP Timestamps In-Reply-To: <72ab2a680803281344r79662a3t21536c9f62425842@mail.gmail.com> References: <72ab2a680803281344r79662a3t21536c9f62425842@mail.gmail.com> Message-ID: >1. Is it standards compliant for an RTP stream to contain all of >the same timestamp information for each RTP packet? No, because the timestamp represents the presentation time of each enclosed frame. >2. All of my packets have a payload type 88. Is there a specific >RFC that specifies the payload for this format? No. Are you *sure* that your stream is RTP? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From xuwei_felix at yahoo.cn Sat Mar 29 06:13:15 2008 From: xuwei_felix at yahoo.cn (Felix) Date: Sat, 29 Mar 2008 21:13:15 +0800 (CST) Subject: [Live-devel] Why H264 annexB bytestream transported incompletely? Message-ID: <797200.96830.qm@web92007.mail.cnb.yahoo.com> Hi: Thank you for answering my question! I checked the packet loss by using the "-Q" option to "openRTSP", and the statistics are below: begin_QOS_statistics server_availability 100 stream_availability 100 subsession video/H264 num_packets_received 6153 num_packets_lost 941 elapsed_measurement_time 3.003171 kBytes_received_total 2793.262000 measurement_sampling_interval_ms 1000 kbits_per_second_min 6510.232637 kbits_per_second_ave 7440.833705 kbits_per_second_max 8846.432576 packet_loss_percentage_min 1.653747 packet_loss_percentage_ave 13.264731 packet_loss_percentage_max 18.069058 inter_packet_gap_ms_min 0.038000 inter_packet_gap_ms_ave 0.486910 inter_packet_gap_ms_max 111.935000 end_QOS_statistics 1. On the server, I checked that all datas are correctly write to the socket, but on the client, less data can be read from that socket. What causes data loss? The frame rate of my bytestream is fixed(0.02s), so I set durationTime as 20ms, and send one frame every 20ms. On the server, I just added my own H264VideoFileServerMediaSession and xH264VideoStreamFramer. On the client, I just added one sentence in MediaSession.cpp's MediaSession::lookupPayloadFormat(): case 96: {temp = "H264"; freq = 90000; nCh = 1; break;} 2. The num of bytes received on the client is not constant, it changes every time. It's so puzzling! My network is Ok, I used livemediaServer to transport a MPEG2/TS file to openRTSP, and found no packet loss. 3.Increasing Socket send & receive buffer size from 50*1024 Bytes to 1000*1024 Bytes makes no difference. 4.When I increase the duration from 20ms to 40ms, less packets lost. Why? --------------------------------- ???????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080329/11511b79/attachment.html From finlayson at live555.com Sat Mar 29 07:02:09 2008 From: finlayson at live555.com (Ross Finlayson) Date: Sat, 29 Mar 2008 07:02:09 -0700 Subject: [Live-devel] Why H264 annexB bytestream transported incompletely? In-Reply-To: <797200.96830.qm@web92007.mail.cnb.yahoo.com> References: <797200.96830.qm@web92007.mail.cnb.yahoo.com> Message-ID: >1. On the server, I checked that all datas are correctly write to the socket, > but on the client, less data can be read from that socket. What >causes data loss? i/ Insufficient network bandwidth between server and client, and/or 2/ Overloaded network router(s) betwen server and ciient, and/or 3/ Insufficient buffering in the client's OS (however, you seem to have eliminated that as a possibility) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From xuwei_felix at yahoo.cn Sat Mar 29 07:39:50 2008 From: xuwei_felix at yahoo.cn (Felix) Date: Sat, 29 Mar 2008 22:39:50 +0800 (CST) Subject: [Live-devel] Why H264 annexB bytestream transported incompletely? Message-ID: <248666.43232.qm@web92008.mail.cnb.yahoo.com> Hi Ross: Thank you very much for answering my question on the maillist! There is sufficient network bandwidth, and just one network router between server and client. For the client and server are on two PC in one LAN. And to check whether my network is Ok, I used livemediaServer to transport a MPEG2/TS file to openRTSP, and found no packet loss. B.R. Felix --------------------------------- ???????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080329/acaf02d1/attachment.html From finlayson at live555.com Sat Mar 29 07:40:38 2008 From: finlayson at live555.com (Ross Finlayson) Date: Sat, 29 Mar 2008 07:40:38 -0700 Subject: [Live-devel] Why H264 annexB bytestream transported incompletely? In-Reply-To: <797200.96830.qm@web92007.mail.cnb.yahoo.com> References: <797200.96830.qm@web92007.mail.cnb.yahoo.com> Message-ID: Something that I just noticed: > num_packets_received 6153 > kBytes_received_total 2793.262000 Therefore, the average packet size is about 454 bytes. That's OK. > kbits_per_second_ave 7440.833705 > packet_loss_percentage_ave 13.264731 Therefore, the data rate that you're sending is about 7440/(1-0.13) = 8552 kbps. At 50 frames per second, that means that each frame averages 171 kbits, or 21 kBytes. That seems too large, and is not consistent with an average packet size of 454 bytes. > inter_packet_gap_ms_ave 0.486910 That's much too low, if you really are sending packets 20 ms apart. > > The frame rate of my bytestream is fixed(0.02s), so I set >durationTime as 20ms Remember that for a 20ms duration, you need to set "fDurationInMicroseconds" to 20000 (not 20). Are you sure you're doing this correctly? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From fay2002hifi at 163.com Sat Mar 29 08:02:15 2008 From: fay2002hifi at 163.com (fay) Date: Sat, 29 Mar 2008 23:02:15 +0800 Subject: [Live-devel] how to use openRTSP client as multi-thread Message-ID: <001f01c891ad$e1774940$6601a8c0@fayx40> playCommon.cpp has so many global variables that I can't make it a multi-thread function, what can I do? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080329/7676c011/attachment.html From fay2002hifi at 163.com Sat Mar 29 08:05:27 2008 From: fay2002hifi at 163.com (fay) Date: Sat, 29 Mar 2008 23:05:27 +0800 Subject: [Live-devel] how to use openRTSP client as multi-thread Message-ID: <003e01c891ae$534ad7d0$6601a8c0@fayx40> playCommon.cpp has so many global variables that I can't make it a multi-thread function, what can I do? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080329/b97cb75f/attachment.html From finlayson at live555.com Sun Mar 30 00:16:18 2008 From: finlayson at live555.com (Ross Finlayson) Date: Sun, 30 Mar 2008 00:16:18 -0700 Subject: [Live-devel] how to use openRTSP client as multi-thread In-Reply-To: <001f01c891ad$e1774940$6601a8c0@fayx40> References: <001f01c891ad$e1774940$6601a8c0@fayx40> Message-ID: >playCommon.cpp has so many global variables that I can't make it a >multi-thread function, what can I do? First, read the FAQ! If you want to run multiple instances of "openRTSP", then do so by running the application several times (each in its own process), *not* using multiple threads within a single process. -- 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/20080330/821bfa19/attachment.html From xuwei_felix at yahoo.cn Sat Mar 29 20:55:27 2008 From: xuwei_felix at yahoo.cn (Felix) Date: Sun, 30 Mar 2008 11:55:27 +0800 (CST) Subject: [Live-devel] Why H264 annexB bytestream transported incompletely?[problem solved] In-Reply-To: Message-ID: <12767.17217.qm@web92003.mail.cnb.yahoo.com> Hi Ross: Thank u so much for help! The problem was solved already. The durationTime is set to be 20000us. But I forgot to set it when there is already NALU in xH264VideoStreamFramer's buffer. In this case, no data needs to be gotten from ByteStreamFileSouce. And the durationTime is set to 0 by default in FramedSource::getNextFrame(). When debugging, this bug was found, and thus the problem is solved. Thank u again for ur help! B.R. Felix --------------------------------- ???????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080330/e09eb112/attachment.html From fay2002hifi at 163.com Sun Mar 30 01:11:44 2008 From: fay2002hifi at 163.com (fay) Date: Sun, 30 Mar 2008 16:11:44 +0800 Subject: [Live-devel] how to use openRTSP client as multi-thread References: <001f01c891ad$e1774940$6601a8c0@fayx40> Message-ID: <000e01c8923d$b29f3de0$6601a8c0@fayx40> Re: [Live-devel] how to use openRTSP client as multi-threaThank you Ross! I'll make it "multi-process", :) ----- Original Message ----- From: Ross Finlayson To: LIVE555 Streaming Media - development & use Sent: Sunday, March 30, 2008 3:16 PM Subject: Re: [Live-devel] how to use openRTSP client as multi-thread playCommon.cpp has so many global variables that I can't make it a multi-thread function, what can I do? First, read the FAQ! If you want to run multiple instances of "openRTSP", then do so by running the application several times (each in its own process), *not* using multiple threads within a single process. -- 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/20080330/ddf1422f/attachment.html From eric.flickner at gmail.com Sun Mar 30 03:07:07 2008 From: eric.flickner at gmail.com (Eric Flickner) Date: Sun, 30 Mar 2008 06:07:07 -0400 Subject: [Live-devel] RTP Timestamps In-Reply-To: References: <72ab2a680803281344r79662a3t21536c9f62425842@mail.gmail.com> Message-ID: <47ef6662.50f0220a.1d7f.ffffdc72@mx.google.com> I am sure that the stream is an MPEG-4 ES via RTP. The manufacturer usually had a closed system, where they didn't test with other RTP clients for problems. They only checked the marker bit for the end of a frame and ensured that there were no sequence gaps/errors when reassembling frames. I am aware that this stream should be using payload type 96 with increasing timestamps. How reliable can I expect this algorithm to be for packet reassembly? Thanks, Eric Flickner -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: Friday, March 28, 2008 5:46 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] RTP Timestamps >1. Is it standards compliant for an RTP stream to contain all of >the same timestamp information for each RTP packet? No, because the timestamp represents the presentation time of each enclosed frame. >2. All of my packets have a payload type 88. Is there a specific >RFC that specifies the payload for this format? No. Are you *sure* that your stream is RTP? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel From satheesh at streamprocessors.com Sun Mar 30 16:59:09 2008 From: satheesh at streamprocessors.com (Satheesh Ram) Date: Mon, 31 Mar 2008 05:29:09 +0530 Subject: [Live-devel] mjpeg streaming over RTSP Message-ID: <47F0294D.7030205@streamprocessors.com> Hi all, #1 How to modify JPEGVideoRTPSink class to support JPEG streams with restart markers? Are there any example implementation or FAQ for the same? #2 I used JPEGVideoRTPSink to stream MJPEG streams with restart markers. I used the openRTSP.exe to receive the same into file. The received frame contains 623 bytes of JPEG header, followed by payload. If tried opening the stream using irfan view (image viewer), output was gray screen. The JPEG header in received frame contains SOI (2 bytes), JFIF(18 bytes), DQT-Y (69), DQT - CB/CR(69), SOF0 (19), DHT- Y-DC(33), DHT-Y-AC(183), DHT-CH-DC(33), DHT-CH-AC(183 bytes), followed by Start of scan FF DA (18 bytes) and my payload with re-start markers (FF DD ....) If I remove the Start of scan FF DA (18 bytes) from the received frame, any image viewer can able to decode the stream. Are the first 627 bytes header populated by JPEGVideoRTPSink class? If so, how to get rid of 18 bytes in end of the header? -- Satheesh Ram Off. +91.80.41630270x25 Mob. +91.9945211181 From faerber at pi4.informatik.uni-mannheim.de Mon Mar 31 01:21:40 2008 From: faerber at pi4.informatik.uni-mannheim.de (=?ISO-8859-1?Q?Andreas_F=E4rber?=) Date: Mon, 31 Mar 2008 10:21:40 +0200 Subject: [Live-devel] Why H264 annexB bytestream transported incompletely? In-Reply-To: <797200.96830.qm@web92007.mail.cnb.yahoo.com> References: <797200.96830.qm@web92007.mail.cnb.yahoo.com> Message-ID: <31E49A9C-CCC4-473F-904C-2445598D5275@pi4.informatik.uni-mannheim.de> Hi, Am 29.03.2008 um 14:13 schrieb Felix: > On the server, I just added my own > H264VideoFileServerMediaSession and xH264VideoStreamFramer. > On the client, I just added one sentence in MediaSession.cpp's > MediaSession::lookupPayloadFormat(): > > case 96: {temp = "H264"; freq = 90000; nCh = 1; break;} Why did you need this line? Receiving with openRTSP seemed to work okay for me without such addition. Andreas From finlayson at live555.com Mon Mar 31 01:29:44 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 31 Mar 2008 01:29:44 -0700 Subject: [Live-devel] Why H264 annexB bytestream transported incompletely? In-Reply-To: <31E49A9C-CCC4-473F-904C-2445598D5275@pi4.informatik.uni-mannheim.de> References: <797200.96830.qm@web92007.mail.cnb.yahoo.com> <31E49A9C-CCC4-473F-904C-2445598D5275@pi4.informatik.uni-mannheim.de> Message-ID: > > On the client, I just added one sentence in MediaSession.cpp's >> MediaSession::lookupPayloadFormat(): >> >> case 96: {temp = "H264"; freq = 90000; nCh = 1; break;} This is completely wrong. 96 is a dynamic RTP payload format code; it does *not* have a static definition. The SDP description retrieved from the server (using the RTSP "DESCRIBE" command) should contain sufficient information (using a "a=rtpmap:96 ..." line) to describe the RTP payload format. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From cha.gascon at gmail.com Mon Mar 31 02:41:05 2008 From: cha.gascon at gmail.com (Cha Gascon) Date: Mon, 31 Mar 2008 17:41:05 +0800 Subject: [Live-devel] Axis camera In-Reply-To: <2830135d0802210131w25fc2249uc4e12ea324858ef2@mail.gmail.com> References: <2830135d0802200612i7017bf6ch2396258324246bc4@mail.gmail.com> <47BC3B7A.9080605@totalwire.it> <2830135d0802210131w25fc2249uc4e12ea324858ef2@mail.gmail.com> Message-ID: My situation is similar with this one. Using Axis 214 network camera and openRTSP as client. Used -t option for rtsp over tcp. I can connect and play the stream but after a while, it will stop streaming. When it actually stops is random, sometimes a few frames, sometimes after getting a lot of frames. Streamed using mplayer (with -rtsp-stream-over-tcp option), and it seems to be playing fine. Any ideas? 2008/2/21 Ferruccio Fiorucci : > Hi, > > I think I'm using a different version of openRTSP( the last version I > found in the server ), and I can't use the -e option, it's not foreseen. > > Anyway I found a solution using the -t opion ( i.e. using the RTP over TCP > ). > > With this option i can save a mpeg4 file, but at this moment I have a > strange problem with this feature: > > when I try to save the file coming from the camera, the openRTSP program > sometimes creates a good file, sometimes creates an useless bad file very > small. The problem is that I don't know why this problem happens, it seems > random??. > > > > Do you have any idea to solve this problem? > > > > Thanks > > > Best Regards > > 2008/2/20 Sigismondo Boschi : > > > Ferruccio Fiorucci wrote: > > > Hello, > > > > > > I'm trying to use the openrtsp program in order to connect to an Axis > > > camera ( axis 207 ) unsuccesful!!! > > > All seems to go well, I sand to camera all the right commands ( > > > DESCRIBE, PLAY, and so on..) but when i can see in the shell > > "Receiving > > > streamed data", I cant save the data in a file. > > > The program creates the file, but it's empty ( its dimension is 30 > > Byte ). > > > The parameters I use are: > > > > > > openRTSP -d 10 -S 54 -n -F prova rtsp://192.168.3.140/mpeg4/media.amp > > > > > Hi, > > I can do it successfully, with an Axis camera. However I have slightly > > different options (maybe older/newer version... openRTSP.exe -e 10 -F > > test rtsp://192.168.0.42/mpeg4/media.amp ). Be careful with firewalls (I > > mean Windows or Linux ones), because the client is working as an UDP > > server. Try with the "-t" option - it lets the RTP communication take > > place over the estabilished TCP connection. > > > > Ciao, > > Sigismondo > > > > -- > > ------------------------------------------------------------------ > > Sigismondo Boschi, PhD TotalWire S.r.l. > > s.boschi at totalwire.it http://www.totalwire.it > > cell: +39 346 7911896 tel: +39 051 302696 > > > > _______________________________________________ > > live-devel mailing list > > live-devel at lists.live555.com > > http://lists.live555.com/mailman/listinfo/live-devel > > > > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > > -- Marie Charisse L. Gascon http://www.chasys.net -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080331/27413b34/attachment.html From s.boschi at totalwire.it Mon Mar 31 04:07:26 2008 From: s.boschi at totalwire.it (Sigismondo Boschi) Date: Mon, 31 Mar 2008 13:07:26 +0200 Subject: [Live-devel] Axis camera In-Reply-To: References: <2830135d0802200612i7017bf6ch2396258324246bc4@mail.gmail.com> <47BC3B7A.9080605@totalwire.it> <2830135d0802210131w25fc2249uc4e12ea324858ef2@mail.gmail.com> Message-ID: <47F0C5EE.9020503@totalwire.it> Cha Gascon wrote: > I can connect and play the stream but after a while, it will stop > streaming. When it actually stops is random, sometimes a few frames, > sometimes after getting a lot of frames. The axis camera sends a "BYE" after some time. I do not know whether it is a bug or a feature... but for sure it is off-standard (the axis server is not live555). Our own client, based on live555, works restarting to acquire once a bye as been received. You could try with Openrtsp in a loop. > > Streamed using mplayer (with -rtsp-stream-over-tcp option), and it seems > to be playing fine. I suppose mplayer does the same: I haven't investigated the traffic anymore. I hope this helps. Regards, Sigismondo -- ------------------------------------------------------------------ Sigismondo Boschi, PhD TotalWire S.r.l. s.boschi at totalwire.it http://www.totalwire.it cell: +39 346 7911896 tel: +39 051 302696 -------------- next part -------------- A non-text attachment was scrubbed... Name: s_boschi.vcf Type: text/x-vcard Size: 275 bytes Desc: not available Url : http://lists.live555.com/pipermail/live-devel/attachments/20080331/a0845598/attachment.vcf From finlayson at live555.com Mon Mar 31 17:46:26 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 31 Mar 2008 17:46:26 -0700 Subject: [Live-devel] Axis camera In-Reply-To: <47F0C5EE.9020503@totalwire.it> References: <2830135d0802200612i7017bf6ch2396258324246bc4@mail.gmail.com> <47BC3B7A.9080605@totalwire.it> <2830135d0802210131w25fc2249uc4e12ea324858ef2@mail.gmail.com> <47F0C5EE.9020503@totalwire.it> Message-ID: >Cha Gascon wrote: >>I can connect and play the stream but after a while, it will stop >>streaming. When it actually stops is random, sometimes a few >>frames, sometimes after getting a lot of frames. >The axis camera sends a "BYE" after some time. I do not know whether >it is a bug or a feature... but for sure it is off-standard (the >axis server is not live555). No, the RTCP "BYE" message is a standard. If the camera is sending this, then it's explicitly telling the client that it's ending the stream. So the question now becomes: Why is the Axis server choosing to end the stream? The only reason I can think of is that perhaps it is timing out because it thinks that the client is inactive. But the client ("openRTSP") sends RTCP "RR" reports, and these should be received by the server (because you're using RTP/RTCP-over-TCP), and the server should be using these as a sign of client liveness. So I think your next step should be to ask Axis why their server is ending the stream (by sending RTCP "BYE" packets). (Because the Axis camera is not our product, this is not something that we can really help you with.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From dconan0404 at yahoo.com.tw Mon Mar 31 23:23:16 2008 From: dconan0404 at yahoo.com.tw (=?big5?B?1t/Eo6Tl?=) Date: Tue, 1 Apr 2008 14:23:16 +0800 (CST) Subject: [Live-devel] A question about reading video frames from memory Message-ID: <694252.92704.qm@web73710.mail.tp2.yahoo.com> Dear all, I used a non-RTSP protocol(defined by someone) to get MPEG4 video frames from IP cameras and then save them to a memory buffer. I want to do live streaming from IP cameras to my PC. I try to modified testMPEG4VideoStreamer and find the FramedSource is file-base. It does not fit my need because video frames are in memory. I try to find other FramedSource, but no one seems to be suitable for it. So, my question is what FramedSource that can fit my need or any suggestion can give. (Read frames from memory buffer and then use testMPEG4VideoStreamer to streaming them) Thanks a lot. Best Regards, Conan ______________________________________________________________________________________________________ ?????????Yahoo!??????2.0????????????? http://tw.mg0.mail.yahoo.com/dc/landing