From liang0124 at yahoo.com.cn Sun Jun 1 02:00:00 2008 From: liang0124 at yahoo.com.cn (liang0124) Date: Sun, 1 Jun 2008 17:00:00 +0800 Subject: [Live-devel] Take input from a live source instead of from a file Message-ID: <200806011659530313003@yahoo.com.cn> Hello: I am just beginning to use live library.There are not much instance using live library except testprogs. I get the image datas from a camera and I have compressed it with MPEG4 format.Now,The data is stored in the buffers malloced in the programme.So I need to stream live video and trasmit it via RTP with RTSP Serve. But the most "test*Streamer" in the test programs read data from a file,How can I modify it so take input from the live source instead of from a file? What data structrues or objects should I use? Is there any example can be used for reference? 2008-06-01 liang0124 -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Sun Jun 1 02:06:14 2008 From: finlayson at live555.com (Ross Finlayson) Date: Sun, 1 Jun 2008 02:06:14 -0700 Subject: [Live-devel] Take input from a live source instead of from a file In-Reply-To: <200806011659530313003@yahoo.com.cn> References: <200806011659530313003@yahoo.com.cn> Message-ID: >But the most "test*Streamer" in the test programs read data from a >file,How can I modify it so take input from >the live source instead of from a file? Please read the FAQ! -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From liang0124 at yahoo.com.cn Sun Jun 1 02:22:49 2008 From: liang0124 at yahoo.com.cn (liang0124) Date: Sun, 1 Jun 2008 17:22:49 +0800 Subject: [Live-devel] Take input from a live source instead of from a file Message-ID: <200806011722426560651@yahoo.com.cn> Hello: I am just beginning to use live library.There are not much instance using live library except testprogs. I get the image datas from a camera and I have compressed it with MPEG4 format.Now,The data is stored in the buffers malloced in the programme.So I need to stream live video and trasmit it via RTP with RTSP Serve. But the most "test*Streamer" in the test programs read data from a file,How can I modify it so take input from the live source instead of from a file? What data structrues or objects should I use? Is there any example can be used for reference? 2008-06-01 liang0124 -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Sun Jun 1 02:26:00 2008 From: finlayson at live555.com (Ross Finlayson) Date: Sun, 1 Jun 2008 02:26:00 -0700 Subject: [Live-devel] Take input from a live source instead of from a file In-Reply-To: <200806011722426560651@yahoo.com.cn> References: <200806011722426560651@yahoo.com.cn> Message-ID: Please DO NOT send the same question to the mailing list more than once! -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From gbzbz at yahoo.com Sun Jun 1 02:47:03 2008 From: gbzbz at yahoo.com (gather bzbz) Date: Sun, 1 Jun 2008 02:47:03 -0700 (PDT) Subject: [Live-devel] live555 , pthread, shared library and C/C++ Message-ID: <966673.91359.qm@web51305.mail.re2.yahoo.com> 1. I have a program that creates pthreads p1,p2,p3,p4 (pure C codes). It works well. Meaning p1,p2,p3,p4 all do their own jobs indepently and correctly. 2. Then I want to add the 5th pthread with live555+wis-streamer. I modify the wis-streamer code so I can compiled it as a shared lib (say live555.so), then I call pthread_create to create a live555 thread. the live555 thread will call wis-streamer's init functions till it hits taskScheduler().doEventLoop(); OK, enough said. All the codes in p1, p2, p3, p4 all are executed, as well as all the codes in p5 (live555 pthread) before the doEventLoop(), correctly. Then once the doEventLoop() starts, all p1, p2 ,p3, p4 go wrong. 3. Then I disable the 5th pthread (live555) by not calling pthread_create there, everything comes back correctly again. So I guess either doEventLoop() or the marriage of C and C++ codes is doing something funny? Any hints please? From manzoor505 at yahoo.com Sun Jun 1 06:34:58 2008 From: manzoor505 at yahoo.com (Manzoor Ahmed) Date: Sun, 1 Jun 2008 06:34:58 -0700 (PDT) Subject: [Live-devel] Help in understanding LiveMedia Library Message-ID: <809723.80647.qm@web52406.mail.re2.yahoo.com> Hey everyone, I am working on a?project in which i want to stream?videos over LAN. I have understood the working by creating a working prototype of the model. In the prototype i have used some?existing directshow filters like the Morgan RTP filter and Lead H.264 codecs filters. I have embedded these filters in the Morgan RTSP server and it?has worked for me. Now i want to?implement the RTP?protocol for H.264 using the LiveMedia Library but i am a newbie to the API and seeking your help.?I?don't know how to start using the library so your help will be appreciated. Thank You ? Manzoor Ahmed -------------- next part -------------- An HTML attachment was scrubbed... URL: From lroels at hotmail.com Mon Jun 2 01:25:38 2008 From: lroels at hotmail.com (Luc Roels) Date: Mon, 2 Jun 2008 08:25:38 +0000 Subject: [Live-devel] SET PARAMETER Message-ID: Hi Ross, I am trying to send a SET PARAMETER command using the setMediaSessionParameter function ( in TCP mode ). The command hangs. The response from the server ( not livemedia ) is correct ( verified with Wireshark ) but the function getResponse1() never returns. It doesn't find the \r\n\r\n sequence. When I try to debug it, I seem to get the first part of the response in the responseBuffer buffer okay, but at the end characters are missing or seem to have been overwritten? I don't understand why this happens. How is this possible, where should I look to fix this? Can you point me in the right direction? best regards, Luc Roels _________________________________________________________________ Gratis chat, gratis blog, gratis fototool, gratis....dankzij Windows Live http://get.live.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Mon Jun 2 01:33:29 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 2 Jun 2008 01:33:29 -0700 Subject: [Live-devel] SET PARAMETER In-Reply-To: References: Message-ID: You have run into a known limitation of the current RTSP server code. If RTP-over-TCP streaming is used, then the server will not be able to handle any RTSP commands after the initial "PLAY" command. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From jrv at gti.ssr.upm.es Mon Jun 2 02:52:57 2008 From: jrv at gti.ssr.upm.es (=?ISO-8859-1?Q?Jes=FAs_Rosa_Vel=E1zquez?=) Date: Mon, 02 Jun 2008 11:52:57 +0200 Subject: [Live-devel] H.264 SVC Stream In-Reply-To: References: <483FD1AF.6020502@gti.ssr.upm.es> Message-ID: <4843C2F9.1070105@gti.ssr.upm.es> Ross Finlayson escribi?: >> I am developing a video streaming server to play H.264 SVC stream. >> This codec has a base layer (similar to the H.264 AVC one) and one or >> more enhancement layers. >> >> I've just created a server to play H.264 AVC stream (an extension of >> live555MediaServer.exe), with my own H264StreamFramer and >> H264VideoFileServerMediaSubsession classes. I've introduced NAL >> packetizer and STAP-A Aggregation to the library too. >> >> Follow to the "RTP Payload Format of SVC Video" draft, I suppose I >> have to create a new RTSP session for each layer. Then, I must send >> each layer as an independient RTP stream. I dont' know how to start >> more than one RTP stream in a single RTSP request, and how to >> indicate the receivers that they must download all the streams (I >> imagine that the last task will be related with SDP file). I don't >> really know what changes do I have to make in the library, and what >> classes should I modify. > > First, be warned that the SVC video RTP payload format draft is still > that - a draft. It won't become stable until sometime after the next > IETF meeting (July, in Dublin). > > To support SVC video at the server end, you would probably need to > create a new "ServerMediaSubsession" (subclass) object for each layer > - but these would share a single "ServerMediaSession". I.e., you > would need to define two new "ServerMediaSubsession" subclasses - one > for the base layer, and one for the enhancement layer(s). > > One issue that you'll encounter is that we currently don't support > multiplexing more than one payload format code on the same RTP port > number. Fixing this at the server end (which is where you're working) > may not be particularly difficult. (Fixing it at the client end would > be significantly harder.) > > Apart from this, I haven't yet thought much about what would need to > be done. (Unfortunately I don't have a source of SVC video (not even > a file) available, so right now I can't do any work on this myself.) > Hi Ross, Thanks for your quick answer. I don't understand very well what you want to say about the payload format code on the same RTP port number. On the server point of view, I am trying to send each layer on his own RTSP stream . If I changed RTP and RTCP port on each RTSP stream (I could configure this more or less easly), should I have problems?. It will be implemented if I create a new RTP Sink(s) for the enhancement layer(s) I am trying to send a SVC file with my AVC implemented solution. It runs perfectly. But on this way we don't have the SVC advantages.We can't manage the stream if I don't have enough throughput to receive the complete stream (and despite I won't develop the client, I must really think about it). I want to ask you another question about the library. I implemented STAP-A Aggregation with a subclass derived from H264VideoStreamFramer. I can't aggregate the first NAL units in the file (SPS -Type 7- PPS-Type 6- NAL units). However, I can aggregate the NALU type 1 without problems. I don't really know why is it, can you bring some light about you? Thakns for all. From rakesh.sehgal at tcs.com Mon Jun 2 03:17:29 2008 From: rakesh.sehgal at tcs.com (Rakesh Sehgal) Date: Mon, 2 Jun 2008 15:47:29 +0530 Subject: [Live-devel] Creating RTSP messages Message-ID: Hi All! Can somebody help me to create a simple program using which I would be able to send RTSP messages to Darwin streaming server using the live555 stack. The problem is that I am new to using Live555 and could not find any documentation which could help in doing so. I would really appreciate, if somebody could guide me through this. Thanks and Regards, Rakesh Sehgal =====-----=====-----===== Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you -------------- next part -------------- An HTML attachment was scrubbed... URL: From herneolursa at gmail.com Mon Jun 2 03:21:47 2008 From: herneolursa at gmail.com (osman osman) Date: Mon, 2 Jun 2008 13:21:47 +0300 Subject: [Live-devel] videowidth,videoheight,fps and buffer Message-ID: <20c25c850806020321l3f4dbf11jf386eb04f4d7ffb5@mail.gmail.com> I understood. I will try to decode the source. Thanks for reply. Where must I send mail for my questions? Is it live-devel-request at lists.live555.com ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From macabrera at solaiemes.com Mon Jun 2 03:26:47 2008 From: macabrera at solaiemes.com (Miguel Angel Cabrera) Date: Mon, 02 Jun 2008 12:26:47 +0200 Subject: [Live-devel] Control network reading pace Message-ID: <1212402407.6580.3.camel@darkness> Hi, i understand how is configured the handler that reads from the net (with the scheduler) but, how is controlled the reading pace? I am using RTP AMR and H263. Thanks From rajeshkumar.r at imimobile.com Mon Jun 2 03:27:49 2008 From: rajeshkumar.r at imimobile.com (rajesh) Date: Mon, 2 Jun 2008 15:57:49 +0530 Subject: [Live-devel] Creating RTSP messages References: Message-ID: U mean to Say , that u want to develop a rtspclient . just for rtspclient , no need of Live555 stack . go thru rtsp rfc 2326 . Thanks and Regards Rajesh Kumar Sr. Software Engineer R & D - Network Group ImiMobile Pvt Ltd +91 40 23555945 - 235 +91 99084 00027 www.imimobile.com ----- Original Message ----- From: Rakesh Sehgal To: live-devel at ns.live555.com Sent: Monday, June 02, 2008 3:47 PM Subject: [Live-devel] Creating RTSP messages Hi All! Can somebody help me to create a simple program using which I would be able to send RTSP messages to Darwin streaming server using the live555 stack. The problem is that I am new to using Live555 and could not find any documentation which could help in doing so. I would really appreciate, if somebody could guide me through this. Thanks and Regards, Rakesh Sehgal =====-----=====-----===== Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you ------------------------------------------------------------------------------ _______________________________________________ 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: From rakesh.sehgal at tcs.com Mon Jun 2 05:05:34 2008 From: rakesh.sehgal at tcs.com (Rakesh Sehgal) Date: Mon, 2 Jun 2008 17:35:34 +0530 Subject: [Live-devel] Creating RTSP messages In-Reply-To: Message-ID: Thanks for such a prompt reply. Yes, I do want to develop a RTSP client. I have been through the RTSP RFC, but the problem is that I don't know how to send messages to the server. I know the format (from RFC), but I have no idea about how to create those packetes using C++ or java and then send them to the server, so that it understands them. Rakesh Sehgal =====-----=====-----===== Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you -------------- next part -------------- An HTML attachment was scrubbed... URL: From rajeshkumar.r at imimobile.com Mon Jun 2 05:17:22 2008 From: rajeshkumar.r at imimobile.com (rajesh) Date: Mon, 2 Jun 2008 17:47:22 +0530 Subject: [Live-devel] Creating RTSP messages References: Message-ID: <47F99AF1EE7C43C5B3B3B21F0A63670D@imidomain.com> Hi Sehgal, U must have Ip address of the System wehere Darwin Server is running . by default the Darwin Server uses port 554 . so first develop one application that will connect with Darwing Server over TCP on (port and ip) . Once the Tcp connection is done .... Let me Know We will Discuss further ..... Thanks and Regards Rajesh Kumar Sr. Software Engineer R & D - Network Group ImiMobile Pvt Ltd +91 40 23555945 - 235 +91 99084 00027 www.imimobile.com ----- Original Message ----- From: Rakesh Sehgal To: LIVE555 Streaming Media - development & use Sent: Monday, June 02, 2008 5:35 PM Subject: Re: [Live-devel] Creating RTSP messages Thanks for such a prompt reply. Yes, I do want to develop a RTSP client. I have been through the RTSP RFC, but the problem is that I don't know how to send messages to the server. I know the format (from RFC), but I have no idea about how to create those packetes using C++ or java and then send them to the server, so that it understands them. Rakesh Sehgal =====-----=====-----===== Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you ------------------------------------------------------------------------------ _______________________________________________ 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: From mike.gilorma at apogeelabs.com Mon Jun 2 06:08:05 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Mon, 02 Jun 2008 09:08:05 -0400 Subject: [Live-devel] how to stream G711 raw bit stream In-Reply-To: References: <1212151549.3154.3.camel@Julia> Message-ID: <1212412085.3355.13.camel@Julia> I miss-typed, I meant to say that I couldn't find an example for streaming raw audio. The reason I say raw audio is that I have a eval board from TI that can encode video and audio into two separate files. The audio file shows up as data and the video file shows up as mpeg-4. I was able to stream the video using the example program 'testMPEG4VideoStreamer'. I am having trouble getting this "raw audio" file to stream, I'm guessing, because of the fact that there is no header information in the file. Should I be able to use the 'testWAVAudioStreamer' program if I hardcode all the file information into the program? On Fri, 2008-05-30 at 17:36 -0700, Ross Finlayson wrote: > >I have a g711 raw bit stream and mpeg4 video bit stream that I am trying > >to stream using rtp to have played back on vlc. I used the > >testMPEG4video program with success. I can't seem to find a good > >example for streaming raw video. The audio is encoded at 8000 S/s and > >64kbit per second. Any help would be greatly appreciated. > > I'm confused by exactly what it is you are asking about. > > G.711 is an audio codec - uLaw or aLaw. It can be streamed using a > "SimpleRTPSink" (see the "testWAVAudioStreamer" demo application code > for an example of how this is done for uLaw. aLaw is similar). > > MPEG-4 video is a compressed video format; it is not "raw video". > > If you are asking about how to stream from a device that generates > G.711 audio, and MPEG-4 video, then you might look at the > "wis-streamer" code for guidance > . That application can stream > this (and many other audio and video types). From bgranger at verivue.com Mon Jun 2 06:20:09 2008 From: bgranger at verivue.com (Brett Granger) Date: Mon, 2 Jun 2008 09:20:09 -0400 Subject: [Live-devel] Creating RTSP messages In-Reply-To: References: Message-ID: <4843F389.10100@verivue.com> Have you looked at the openRTSP sample app in the testProgs directory? It may already do what you want or at least show you how in C++... --Brett Rakesh Sehgal wrote: > > Thanks for such a prompt reply. > Yes, I do want to develop a RTSP client. I have been through the RTSP > RFC, but the problem is that I don't know how to send messages to the > server. > I know the format (from RFC), but I have no idea about how to create > those packetes using C++ or java and then send them to the server, so > that it understands them. > > Rakesh Sehgal > > =====-----=====-----===== > Notice: The information contained in this e-mail > message and/or attachments to it may contain > confidential or privileged information. If you are > not the intended recipient, any dissemination, use, > review, distribution, printing or copying of the > information contained in this e-mail message > and/or attachments to it are strictly prohibited. If > you have received this communication in error, > please notify us by reply e-mail or telephone and > immediately and permanently delete the message > and any attachments. Thank you > > > From julien.savarese at dcnsgroup.com Mon Jun 2 07:55:11 2008 From: julien.savarese at dcnsgroup.com (julien.savarese at dcnsgroup.com) Date: Mon, 2 Jun 2008 16:55:11 +0200 Subject: [Live-devel] JPEGbuffer streaming. In-Reply-To: <4843F389.10100@verivue.com> Message-ID: hello, I am tring to stream a JPEG buffer, I am studing the ELPhEL project, like indicated in the FAQ. I have a question : if I delete all the **ioctl** , and I put my JPEGbuffer instead of, and write set the fTo parameter from FRamedSource class to my JPEGbuffer adress ? like this : fto=*MYBUFFERJPEG; Is this reasonable ? I hae try, but a few error appear, and before to try to correct the error, I want to know if this a right way. Or any one else have already stream a JPEGVideo with JPEG buffer source ? Thx. _________________________ Julien Savarese Apprenti ing?nieur. Division SIS/DPM/RMS/MIE. --------------------------------------------- Pensez a l'environnement : avez-vous besoin d'imprimer ce message ? Think Environment : Do you need to print this message ? Ce courrier ?lectronique, et ?ventuellement ses pi?ces jointes, peuvent contenir des informations confidentielles et/ou personnelles et a ?t? envoy? uniquement ? l'usage de la personne ou de l'entit? cit?e ci-dessus. Si vous receviez ce courrier ?lectronique par erreur, merci de bien vouloir en avertir l'exp?diteur imm?diatement par la r?ponse en retour ? ce courrier et effacer l'original et d?truire toute copie enregistr?e dans un ordinateur, ou imprim?e ou encore sauvegard?e sur un disque . Toute revue, retransmission ou toute autre forme d'utilisation de ce courrier ?lectronique par toute autre personne que le destinataire pr?vue est strictement interdite. L'internet ne permettant pas d'assurer l'int?grit? de ce message, l'exp?diteur d?cline toute responsabilit? au cas o? il aurait ?t? intercept? ou modifi? par quiconque. This e-mail and possibly any attachment may contain confidential and/or privileged information and is intended only for the use of the individual or entity named above. If you have received it in error, please advise the sender immediately by reply e-mail and delete and destroy all copies including all copies stored in the recipient's computer, printed or saved to disk. . Any review , retransmission, or further use of this e-mail by by persons or entities other than the intended recipient is strictly prohibited. Because of the nature of the Internet the sender is not in a position to ensure the integrity of this message, therefore the sender disclaims any liability whatsoever, in the event of this message having been intercepted and/or altered. -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Mon Jun 2 07:58:44 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 2 Jun 2008 07:58:44 -0700 Subject: [Live-devel] Control network reading pace In-Reply-To: <1212402407.6580.3.camel@darkness> References: <1212402407.6580.3.camel@darkness> Message-ID: >i understand how is configured the handler that reads from the net (with >the scheduler) but, how is controlled the reading pace? I am using RTP >AMR and H263. I don't really understand your question - but the 'pace' at which data is read from the net is that at which the network packets arrive. I.e., an arriving network packet is an event which is handled by our event loop. If you are worried about losing incoming packet data, then please read the FAQ. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Mon Jun 2 08:04:04 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 2 Jun 2008 08:04:04 -0700 Subject: [Live-devel] how to stream G711 raw bit stream In-Reply-To: <1212412085.3355.13.camel@Julia> References: <1212151549.3154.3.camel@Julia> <1212412085.3355.13.camel@Julia> Message-ID: >I miss-typed, I meant to say that I couldn't find an example for >streaming raw audio. See "testWAVAudioStreamer", and notice how 'raw' PCM audio is streamed (i.e., *without* conversion to u-law). It is streamed as the RTP media type "audio/L8" (for 8-bits-per-sample PCM audio), or "audio/L16" (for the more common 16-bits-per-sample PCM audio). Note that if you are streaming 16-bits-per-sample PCM audio which is originally in 'little-endian' byte order, then you *must* byte-swap it to 'big-endian' order before it gets sent out on the net. Note in the code how we do this using the "EndianSwap16" filter. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Mon Jun 2 08:06:15 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 2 Jun 2008 08:06:15 -0700 Subject: [Live-devel] JPEGbuffer streaming. In-Reply-To: References: Message-ID: >I am tring to stream a JPEG buffer, >I am studing the ELPhEL project, like indicated in the FAQ. >I have a question : >if I delete all the **ioctl** , and I put my JPEGbuffer instead of, >and write set the fTo parameter from FRamedSource class to my >JPEGbuffer adress ? >like this : >fto=*MYBUFFERJPEG; > >Is this reasonable ? I don't think so, because I think you are misunderstanding the purpose of the "fTo" field. This is a pointer to a buffer - provided by the downstream object - into which you write your data. I.e., you write into the butter pointed to by "fTo", but you don't change the "fTo" value itself. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Mon Jun 2 08:12:28 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 2 Jun 2008 08:12:28 -0700 Subject: [Live-devel] H.264 SVC Stream In-Reply-To: <4843C2F9.1070105@gti.ssr.upm.es> References: <483FD1AF.6020502@gti.ssr.upm.es> <4843C2F9.1070105@gti.ssr.upm.es> Message-ID: >I don't understand very well what you want to say about the payload >format code on the same RTP port number. On the server point of >view, I am trying to send each layer on his own RTSP stream . Once again, each layer would have its own "ServerMediaSubsession" object, but be part of the same "ServerMediaSession", and - for each client - be part of the same RTSP session. >I want to ask you another question about the library. I implemented >STAP-A Aggregation with a subclass derived from >H264VideoStreamFramer. I can't aggregate the first NAL units in the >file (SPS -Type 7- PPS-Type 6- NAL units). However, I can aggregate >the NALU type 1 without problems. I don't really know why is it, can >you bring some light about you? Probably not. Fortunately, though: Remember, You Have Complete Source Code. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From mike.gilorma at apogeelabs.com Mon Jun 2 13:26:50 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Mon, 02 Jun 2008 16:26:50 -0400 Subject: [Live-devel] how to stream G711 raw bit stream In-Reply-To: References: <1212151549.3154.3.camel@Julia> <1212412085.3355.13.camel@Julia> Message-ID: <1212438410.3355.26.camel@Julia> I've managed to write a streamer and receiver program based on the test programs that successfully transmits my audio file from one pc to another via rtp (unicast). To do this however, I had to modify the WAVAudioFileSource.cpp file to not complain about my file not being a wav file. Is there a better way to do this? I've attached my test programs. thank for the help, mike On Mon, 2008-06-02 at 08:04 -0700, Ross Finlayson wrote: > >I miss-typed, I meant to say that I couldn't find an example for > >streaming raw audio. > > See "testWAVAudioStreamer", and notice how 'raw' PCM audio is > streamed (i.e., *without* conversion to u-law). It is streamed as > the RTP media type "audio/L8" (for 8-bits-per-sample PCM audio), or > "audio/L16" (for the more common 16-bits-per-sample PCM audio). > > Note that if you are streaming 16-bits-per-sample PCM audio which is > originally in 'little-endian' byte order, then you *must* byte-swap > it to 'big-endian' order before it gets sent out on the net. Note in > the code how we do this using the "EndianSwap16" filter. -------------- next part -------------- A non-text attachment was scrubbed... Name: myAudio.cpp Type: text/x-c++src Size: 3613 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: myAudioReciever.cpp Type: text/x-c++src Size: 2889 bytes Desc: not available URL: From ferreat at gmail.com Mon Jun 2 13:07:23 2008 From: ferreat at gmail.com (=?ISO-8859-1?Q?Fernando_Re=E1tegui_del_Aguila?=) Date: Mon, 2 Jun 2008 22:07:23 +0200 Subject: [Live-devel] H264 RTP Streaming: A Tutorial Message-ID: Hello, I tried to compile the Tutorial on H264 RTP Streaming that is posted in the List, using the source code that is given, but it seems that are some files that are missing, like x264LiveMediaRTPSink.hpp. Any comments? Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Mon Jun 2 16:22:35 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 2 Jun 2008 16:22:35 -0700 Subject: [Live-devel] H264 RTP Streaming: A Tutorial In-Reply-To: References: Message-ID: >I tried to compile the Tutorial on H264 RTP Streaming that is posted >in the List, using the source code that is given, but it seems that >are some files that are missing, like x264LiveMediaRTPSink.hpp. I'm not sure what 'tutorial' you're referring to, but the 'rtp sink' class that we use for transmitting H.264 streams is named "H264VideoRTPSink". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From hieusua4u at yahoo.com Mon Jun 2 18:57:13 2008 From: hieusua4u at yahoo.com (Ninh Hieu) Date: Mon, 2 Jun 2008 18:57:13 -0700 (PDT) Subject: [Live-devel] H264 RTP Streaming: A Tutorial In-Reply-To: Message-ID: <545378.3472.qm@web52103.mail.re2.yahoo.com> I know that tutorial, it's very useful. But the writer has a different coding convention with live555. Such as H264* -> x264*, and .hpp instead of .cpp. I think you should review the code and doc (i love his flow chart - it helped me so much), comprehend the mechanism and rewrite it. Not too much difficult, I'm newbie like you, guy :) --- On Tue, 6/3/08, Fernando Re?tegui del Aguila <ferreat at gmail.com> wrote: From: Fernando Re?tegui del Aguila <ferreat at gmail.com> Subject: [Live-devel] H264 RTP Streaming: A Tutorial To: live-devel at ns.live555.com Date: Tuesday, June 3, 2008, 3:07 AM Hello, I tried to compile the Tutorial on H264 RTP Streaming that is posted in the List, using the source code that is given, but it seems that are some files that are missing, like x264LiveMediaRTPSink.hpp. Any comments? Thanks. _______________________________________________ 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: From ralf.buhlrich at rheinmetall.com Mon Jun 2 21:00:38 2008 From: ralf.buhlrich at rheinmetall.com (Ralf Buhlrich) Date: Tue, 03 Jun 2008 06:00:38 +0200 Subject: [Live-devel] H264 RTP Streaming: A Tutorial In-Reply-To: <545378.3472.qm@web52103.mail.re2.yahoo.com> References: <545378.3472.qm@web52103.mail.re2.yahoo.com> Message-ID: <1212465638.3823.3.camel@ftlxwks003.defence-elec.de> Hi, can you post a link to this tutorial ??? Thanks in advance ... Ralf -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Dies ist ein digital signierter Nachrichtenteil URL: From liang0124 at yahoo.com.cn Mon Jun 2 21:09:53 2008 From: liang0124 at yahoo.com.cn (liang ch) Date: Tue, 3 Jun 2008 12:09:53 +0800 (CST) Subject: [Live-devel] Take input from a live source instead of from a file Message-ID: <391891.61462.qm@web15810.mail.cnb.yahoo.com> I'm sorry! I have read FAQ ,But I do not think it is simple just like the reference in the FAQ. The applications with live library are event-driven,after calling someSinkObject->startPlaying() ,it will enter into an event loop (TaskScheduler::doEventLoop()). That is just said that now the applicatons will be in the "live library" event until it return.But at the same time on transmiting a RTP packet,I need to capture a frame into the buffers from the live souce(e.g,such like a webcamera).Does it need mutithread programming? Is there any example can be used for reference in this case? --------------------------------- ???????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Mon Jun 2 21:58:51 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 2 Jun 2008 21:58:51 -0700 Subject: [Live-devel] Take input from a live source instead of from a file In-Reply-To: <391891.61462.qm@web15810.mail.cnb.yahoo.com> References: <391891.61462.qm@web15810.mail.cnb.yahoo.com> Message-ID: >But at the same time on transmiting a RTP packet,I need to capture a >frame into the buffers from the live souce(e.g,such like a >webcamera).Does it need mutithread programming? No. You can do this, within a single event loop, with a chain of three objects: FrameCapture => Encoder => RTP_Sink where: - "FrameCapture" is an instance of a new class (that you would write) that subclasses "FramedSource". You should look at the "DeviceSource" code as a model for how you might do this. - "Encoder" is an instance of a new class (that you would write) that subclasses "FramedFilter". It would compress each frame using your chosen codec. - "RTP_Sink" is an instance of the appropriate subclass of "RTPSink" (depending on the codec). You would begin the streaming by calling RTP_Sink->startPlaying(Encoder, ...); and then env->taskScheduler().doEventLoop(); to start the event loop. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From rakesh.sehgal at tcs.com Mon Jun 2 22:54:04 2008 From: rakesh.sehgal at tcs.com (Rakesh Sehgal) Date: Tue, 3 Jun 2008 11:24:04 +0530 Subject: [Live-devel] Creating RTSP messages In-Reply-To: <4843F389.10100@verivue.com> Message-ID: Hi Brett! Thanks for the reply. Actually, I have already tried using openRTSP, but it doesn't serve my purpose, as it streams the data to the machine from where the request originates, whereas I want them to be redirected to some other machine with a different IP address. Can you help me configure openRTSP for that? According to the RFC 2326 (RTSP), we can send another SETUP message by specifying the new IP address in the transport header in RTSP message and thus redirect the stream to some other machine. But apparently that didn't happen. Although I could see the response (200 OK) for SETUP with correct IP address(other machine). Thanks & regards, Rakesh Sehgal =====-----=====-----===== Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you -------------- next part -------------- An HTML attachment was scrubbed... URL: From rakesh.sehgal at tcs.com Mon Jun 2 22:56:12 2008 From: rakesh.sehgal at tcs.com (Rakesh Sehgal) Date: Tue, 3 Jun 2008 11:26:12 +0530 Subject: [Live-devel] Creating RTSP messages In-Reply-To: <47F99AF1EE7C43C5B3B3B21F0A63670D@imidomain.com> Message-ID: Hi Rajesh! Thanks for the reply. I'll try and establish a TCP session with Darwin first and then will inform you if I achieve any success in it. Thanks & regards, Rakesh Sehgal =====-----=====-----===== Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Mon Jun 2 23:02:27 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 2 Jun 2008 23:02:27 -0700 Subject: [Live-devel] Creating RTSP messages In-Reply-To: References: Message-ID: >Actually, I have already tried using openRTSP, but it doesn't serve >my purpose, as it streams the data to the machine >from where the request originates, whereas I want them to be >redirected to some other machine with a different IP address. >Can you help me configure openRTSP for that? As I have explained repeatedly: You can't do this, because THE SERVER WILL NOT LET YOU DO IT! I.e., the server will not let a client request that the stream be sent to a different machine, because that could be used to do a denial of service attack. There is nothing that you can do with "openRTSP" - or with any other RTSP client - to make this happen. The only way to support this is to rewrite your server code (so that it becomes a security risk :-) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From ferreat at gmail.com Tue Jun 3 00:24:57 2008 From: ferreat at gmail.com (=?ISO-8859-1?Q?Fernando_Re=E1tegui_del_Aguila?=) Date: Tue, 3 Jun 2008 09:24:57 +0200 Subject: [Live-devel] H264 RTP Streaming: A Tutorial In-Reply-To: <1212465638.3823.3.camel@ftlxwks003.defence-elec.de> References: <545378.3472.qm@web52103.mail.re2.yahoo.com> <1212465638.3823.3.camel@ftlxwks003.defence-elec.de> Message-ID: Thanks for the comments on this regard. The link where you can see the Tutorial is as follows: http://www.mail-archive.com/live-devel at lists.live555.com/msg00238.html. There you can download the tar.gz file containing the source code and doc file. Thanks again, Fernando. 2008/6/3 Ralf Buhlrich : > Hi, > > can you post a link to this tutorial ??? > > Thanks in advance ... > > Ralf > > _______________________________________________ > 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: From m1kogler at edu.uni-klu.ac.at Tue Jun 3 01:15:22 2008 From: m1kogler at edu.uni-klu.ac.at (Marian Kogler) Date: Tue, 03 Jun 2008 10:15:22 +0200 Subject: [Live-devel] Multicast Streaming Message-ID: <1212480922.302e47cm1kogler@edu.uni-klu.ac.at> Hi everybody! I use the live library for my master thesis project and encountered the following problem. Everytime when I receive two different streams over multicast these two streams get merged. I have two different senders which use different multicast addresses but the same port number. (e.g. sender 1: ip: 239.255.42.42 port: 5008 sender 2: ip: 239.255.42.43 port: 5008 ) I have allready searched for solutions, but I couldn't find a proper one for me. Some people say that the OS is to blame for such an incident (Ubuntu 7.10). But when I used the vlc, everything worked fine and I had no merging effect. (I used vlc 0.8.6c Janus) Usage of the live library: I used the classes testMPEG1or2VideoReceiver and testMPEG1or2VideoStreamer and started four different processes to simulate two senders and two receivers. As I mentioned it before I used two different ip addresses and the same port number. For my first test case I didn't use source specific multicast. The result was the merging effect. For the second one I used SSM and got only one stream, altough I expected two different streams. Perhaps someone of you can help me. I don't have a clue what went wrong. By the way: When I use two different port numbers everthing works fine. From finlayson at live555.com Tue Jun 3 01:39:55 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 3 Jun 2008 01:39:55 -0700 Subject: [Live-devel] Multicast Streaming In-Reply-To: <1212480922.302e47cm1kogler@edu.uni-klu.ac.at> References: <1212480922.302e47cm1kogler@edu.uni-klu.ac.at> Message-ID: >I use the live library for my master thesis project and encountered >the following problem. >Everytime when I receive two different streams over multicast these >two streams get merged. >I have two different senders which use different multicast addresses >but the same port number. That's your problem - or, more precisely, the problem with your OS. Some OS's (including some versions of Linux) have a bug whereby incoming packets addressed to different multicast addresses, but the same port number, are not distinguished. The solution is simple: Use different port numbers, as well as different multicast addresses. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From m1kogler at edu.uni-klu.ac.at Tue Jun 3 02:25:43 2008 From: m1kogler at edu.uni-klu.ac.at (Marian Kogler) Date: Tue, 03 Jun 2008 11:25:43 +0200 Subject: [Live-devel] Multicast Streaming Message-ID: <1212485143.414a20dcm1kogler@edu.uni-klu.ac.at> Thank you for your prompt answer! I only wonder why the vlc do not cause such a problem with two different multicast streams (different addresses .. same port number). I used the same OS (Ubuntu 7.10). No merging effect! Further more, I cannot use different port numbers because I hardly have an influence on that (I'm only working on the receiver application). -----Original Message----- From: Ross Finlayson To: LIVE555 Streaming Media - development & use Date: Tue, 3 Jun 2008 01:39:55 -0700 Subject: Re: [Live-devel] Multicast Streaming >I use the live library for my master thesis project and encountered >the following problem. >Everytime when I receive two different streams over multicast these >two streams get merged. >I have two different senders which use different multicast addresses >but the same port number. That's your problem - or, more precisely, the problem with your OS. Some OS's (including some versions of Linux) have a bug whereby incoming packets addressed to different multicast addresses, but the same port number, are not distinguished. The solution is simple: Use different port numbers, as well as different multicast addresses. -- 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 m1kogler at edu.uni-klu.ac.at Tue Jun 3 04:39:22 2008 From: m1kogler at edu.uni-klu.ac.at (Marian Kogler) Date: Tue, 03 Jun 2008 13:39:22 +0200 Subject: [Live-devel] Multicast Streaming Message-ID: <1212493162.44d16c7cm1kogler@edu.uni-klu.ac.at> Hi again. I tried to use Source Specific Multicast once more and now it seems to work. I'm sorry for the inconvenience! -----Original Message----- From: "Marian Kogler" To: live-devel at ns.live555.com Date: Tue, 03 Jun 2008 11:25:43 +0200 Subject: Re: [Live-devel] Multicast Streaming Thank you for your prompt answer! I only wonder why the vlc do not cause such a problem with two different multicast streams (different addresses .. same port number). I used the same OS (Ubuntu 7.10). No merging effect! Further more, I cannot use different port numbers because I hardly have an influence on that (I'm only working on the receiver application). -----Original Message----- From: Ross Finlayson To: LIVE555 Streaming Media - development & use Date: Tue, 3 Jun 2008 01:39:55 -0700 Subject: Re: [Live-devel] Multicast Streaming >I use the live library for my master thesis project and encountered >the following problem. >Everytime when I receive two different streams over multicast these >two streams get merged. >I have two different senders which use different multicast addresses >but the same port number. That's your problem - or, more precisely, the problem with your OS. Some OS's (including some versions of Linux) have a bug whereby incoming packets addressed to different multicast addresses, but the same port number, are not distinguished. The solution is simple: Use different port numbers, as well as different multicast addresses. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel From lonnie.walker at apogeelabs.com Tue Jun 3 06:08:15 2008 From: lonnie.walker at apogeelabs.com (Lonnie Walker) Date: Tue, 03 Jun 2008 09:08:15 -0400 Subject: [Live-devel] How to mux a MPEG-4 video and audio stream into a MPEG-2 TS Message-ID: <1212498495.11393.90.camel@carrington> I'm trying to multiplex a raw MPEG-4 bytestream and AAC audio bytestream into a MPEG-2 Transport stream. I have a test program in which I take the audio and video streams and mux them together into a MPEG-2 Transport stream. My program does successfully mux the video into a MPEG-2 TS. My problem is that the audio doesn't play when I play the Transport stream back using VLC. The video plays back fine, but I can't hear the audio. After analyzing the Transport stream I was able to verify that there are PIDs for both video and audio. Does anyone know what steps are involved to multiplex a AAC stream into a MPEG-2 Transport stream using live555? Program is attached. Thanks Lonnie -------------- next part -------------- A non-text attachment was scrubbed... Name: convertEStoTS.cpp Type: text/x-c++src Size: 3320 bytes Desc: not available URL: From tubo.catodico at gmail.com Tue Jun 3 06:37:43 2008 From: tubo.catodico at gmail.com (Francesco Matassoni) Date: Tue, 03 Jun 2008 15:37:43 +0200 Subject: [Live-devel] RTP streaming to VLC does not always work Message-ID: Hi, i made a program with the live555 lib that receive RTP streaming coming from VLC and then retransmit it, always RTP, to another port. It work in local, i use to unicast address the local address "127.0.0.1". I need to protect the data coming from VLC and then streaming it to another port. My problem is that the software is not always working, sometimes it work and sometimes not. I try also to use the UDP instead the RTP but i found the same problem. Seems that the problem is in the sink that send the stream, because if i use a file sink to save the stream to file and then play it it work. Tanhk you for any help you can give me!! -- Creato con il rivoluzionario client e-mail di Opera: http://www.opera.com/mail/ From finlayson at live555.com Tue Jun 3 08:01:35 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 3 Jun 2008 08:01:35 -0700 Subject: [Live-devel] How to mux a MPEG-4 video and audio stream into a MPEG-2 TS In-Reply-To: <1212498495.11393.90.camel@carrington> References: <1212498495.11393.90.camel@carrington> Message-ID: >I'm trying to multiplex a raw MPEG-4 bytestream and AAC audio bytestream >into a MPEG-2 Transport stream. I have a test program in which I take >the audio and video streams and mux them together into a MPEG-2 >Transport stream. > >My program does successfully mux the video into a MPEG-2 TS. My problem >is that the audio doesn't play when I play the Transport stream back >using VLC. The video plays back fine, but I can't hear the audio. After >analyzing the Transport stream I was able to verify that there are PIDs >for both video and audio. > >Does anyone know what steps are involved to multiplex a AAC stream into >a MPEG-2 Transport stream using live555? Are you sure that - in your code - the "mpegVersion" parameter is 4 when "MPEG2TransportStreamMultiplexor::handleNewBuffer()" gets called? The problem may be that the current Transport Stream multiplexing (i.e., construction) code - implemented by the "MPEG2TransportStreamMultiplexor" class - originally assumed that the constituent audio and video streams were both MPEG-1 or MPEG-2; there was originally no support for MPEG-4 audio or video. Since then, support was added for MPEG-4 audio and video. However, it's conceivable that there are still problems with this. You may want to take a look at "MPEG2TransportStreamMultiplexor.cpp" - in particular, the "if" statement that starts at line 108. If you find something that needs to be changed there, please let us know. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From fant0m4s at gmail.com Tue Jun 3 08:39:45 2008 From: fant0m4s at gmail.com (Manuel Carrizo) Date: Tue, 3 Jun 2008 12:39:45 -0300 Subject: [Live-devel] Streaming video to several clients Message-ID: <99fed6ae0806030839l621b694ib583022586a723fd@mail.gmail.com> Hi, I have a problem streaming video from a network camera to several clients using live555, the first client gets the video correctly, but others clients get a wrong image until the camera sends a key frame. Thanks in advance for your help. Manuel From mike.gilorma at apogeelabs.com Tue Jun 3 08:46:27 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Tue, 03 Jun 2008 11:46:27 -0400 Subject: [Live-devel] RTP Unicast of ADTS AAC file Message-ID: <1212507987.3154.15.camel@Julia> hi, I have written a simple program to stream an ADTS AAC file that I extracted from an MPEG-4 file using mp4create -extract. I based my test program off of ADTSAudioFileServerMediaSubsession and ADTSAudioFileSource. When I open the stream with VLC on my remote pc, it connects but does not decode any audio. One of the things that I am unsure of is the payloadFormatCode to use, I guessed 14 (mpa). What else am I missing here? I have attached my test program. thanks, mike -------------- next part -------------- A non-text attachment was scrubbed... Name: myAdts.cpp Type: text/x-c++src Size: 3884 bytes Desc: not available URL: From lonnie.walker at apogeelabs.com Tue Jun 3 13:08:49 2008 From: lonnie.walker at apogeelabs.com (Lonnie Walker) Date: Tue, 03 Jun 2008 16:08:49 -0400 Subject: [Live-devel] How to mux a MPEG-4 video and audio stream into a MPEG-2 TS In-Reply-To: References: <1212498495.11393.90.camel@carrington> Message-ID: <1212523729.3222.4.camel@carrington> Ross thanks for the prompt response. Yes, I verified that the mpegversion parameter is 4 once handleNewBuffer is called. I will dig into MPEG2TransportStreamMultiplexor.cpp more and try to diagnose the problem further. In the meantime, do you have any other suggestions? Thanks Lonnie On Tue, 2008-06-03 at 08:01 -0700, Ross Finlayson wrote: > >I'm trying to multiplex a raw MPEG-4 bytestream and AAC audio bytestream > >into a MPEG-2 Transport stream. I have a test program in which I take > >the audio and video streams and mux them together into a MPEG-2 > >Transport stream. > > > >My program does successfully mux the video into a MPEG-2 TS. My problem > >is that the audio doesn't play when I play the Transport stream back > >using VLC. The video plays back fine, but I can't hear the audio. After > >analyzing the Transport stream I was able to verify that there are PIDs > >for both video and audio. > > > >Does anyone know what steps are involved to multiplex a AAC stream into > >a MPEG-2 Transport stream using live555? > > Are you sure that - in your code - the "mpegVersion" parameter is 4 when "MPEG2TransportStreamMultiplexor::handleNewBuffer()" gets called? > > The problem may be that the current Transport Stream multiplexing > (i.e., construction) code - implemented by the > "MPEG2TransportStreamMultiplexor" class - originally assumed that the > constituent audio and video streams were both MPEG-1 or MPEG-2; there > was originally no support for MPEG-4 audio or video. > > Since then, support was added for MPEG-4 audio and video. However, > it's conceivable that there are still problems with this. > > You may want to take a look at "MPEG2TransportStreamMultiplexor.cpp" > - in particular, the "if" statement that starts at line 108. If you > find something that needs to be changed there, please let us know. From finlayson at live555.com Tue Jun 3 15:28:06 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 3 Jun 2008 15:28:06 -0700 Subject: [Live-devel] RTP Unicast of ADTS AAC file In-Reply-To: <1212507987.3154.15.camel@Julia> References: <1212507987.3154.15.camel@Julia> Message-ID: >I have written a simple program to stream an ADTS AAC file that I >extracted from an MPEG-4 file using mp4create -extract. I based my test >program off of ADTSAudioFileServerMediaSubsession and >ADTSAudioFileSource. When I open the stream with VLC on my remote pc, >it connects but does not decode any audio. One of the things that I am >unsure of is the payloadFormatCode to use, I guessed 14 (mpa). What >else am I missing here? You're missing the fact that the static payload type 14 is used for MPEG-1 or 2 audio *only*. AAC audio must use a dynamic payload type (with the actual RTP media type designated by a "a=rtpmap:" line in the SDP description. If you had actually used "ADTSAudioFileServerMediaSubsession" instead of just 'basing' your code on this, you probably would not have had this problem :-) And yes, if you want VLC to play your stream, you're going to have to give VLC a SDP description. The easiest way to do this is to use RTSP. Don't fight this - our code lets you easily add a built-in RTSP server to your streaming server application, so you should just do this. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Jun 3 15:30:27 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 3 Jun 2008 15:30:27 -0700 Subject: [Live-devel] Streaming video to several clients In-Reply-To: <99fed6ae0806030839l621b694ib583022586a723fd@mail.gmail.com> References: <99fed6ae0806030839l621b694ib583022586a723fd@mail.gmail.com> Message-ID: >Hi, I have a problem streaming video from a network camera to several >clients using live555, the first client gets the video correctly, but >others clients get a wrong image until the camera sends a key frame. When creating each "ServerMediaSubsession" object, make sure that the "reuseFirstSource" parameter is "True". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From aliteke at gmail.com Tue Jun 3 19:09:54 2008 From: aliteke at gmail.com (ali teke) Date: Tue, 3 Jun 2008 21:09:54 -0500 Subject: [Live-devel] openRTSP proxy support Message-ID: Hello, I was using openRTSP for connecting to Helix and Darwin Streaming Servers through RTSP requests. Now I have installed proxies for those two Streaming Servers and want to send request through the proxies but I can't figure out how to do it via openRTSP... Any suggestion or direction is appreciated... Thanks... --ali From rakesh.sehgal at tcs.com Tue Jun 3 21:26:45 2008 From: rakesh.sehgal at tcs.com (Rakesh Sehgal) Date: Wed, 4 Jun 2008 09:56:45 +0530 Subject: [Live-devel] Creating RTSP messages In-Reply-To: <47F99AF1EE7C43C5B3B3B21F0A63670D@imidomain.com> Message-ID: Hi Rajesh! I have established a TCP connection with darwin server, I can see it sending some RTSP request (which I tried to implement without any success, OPTIONS) in the network trace, but nothing is there. Can you now tell me how to implement RTSP protocol over this TCP connection. Thanks for giving me this direction, I think I was going the wrong way before. Thanks & regards, Rakesh Sehgal =====-----=====-----===== Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you -------------- next part -------------- An HTML attachment was scrubbed... URL: From jacques.eeses at wanadoo.fr Tue Jun 3 22:23:00 2008 From: jacques.eeses at wanadoo.fr (Jacques EESES) Date: Wed, 4 Jun 2008 07:23:00 +0200 Subject: [Live-devel] download openrtsp Message-ID: <1ABE84DEC1D74173B97C7CD8703C4596@IXTREME> Bonjour Ou puis je t?lecharger openrtsp.exe pour windows ? Merci Jacques -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Tue Jun 3 23:29:08 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 3 Jun 2008 23:29:08 -0700 Subject: [Live-devel] download openrtsp In-Reply-To: <1ABE84DEC1D74173B97C7CD8703C4596@IXTREME> References: <1ABE84DEC1D74173B97C7CD8703C4596@IXTREME> Message-ID: >Bonjour > >Ou puis je t?lecharger openrtsp.exe pour windows ? "openRTSP" - like all of the demonstration applications in the "testProgs" directory - must be built from source code (along with the "LIVE555 Streaming Media" code itself). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Tue Jun 3 23:31:18 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 3 Jun 2008 23:31:18 -0700 Subject: [Live-devel] openRTSP proxy support In-Reply-To: References: Message-ID: A RTSP 'proxy' should appear - to a RTSP client - to be just like a RTSP server, in which case the client (for example, "openRTSP") need not do anything different to access it. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From gbzbz3 at yahoo.com Wed Jun 4 02:48:20 2008 From: gbzbz3 at yahoo.com (Gbzbz Gbzbz) Date: Wed, 4 Jun 2008 02:48:20 -0700 (PDT) Subject: [Live-devel] live stream problems Message-ID: <951120.48698.qm@web46316.mail.sp1.yahoo.com> Hi, We try to stream MPEG4 via RTSP with live555. Our flow is like this DVD -> capture 1 frame (v4l2) ->MPEG4 encoding -> Write_mpeg4_frame to myvideo.v -> send_mpeg4_frame_to_live555 -> MPEG4 decoding -> Display on TV 1. when streaming the file myvideo.v with live555's testOnDemandRTSPServer, VLC shows smooth and great video. 2. TV displays smooth and great video. 3. live streaming from send_mpeg4_frame_to_live555 step shows jitters and errors, we got video, but the quality is crappy from vlc and mplayer. mplayer prints the following [mpeg4 @ 0x3c95184]Error at MB: 312 [mpeg4 @ 0x3c95184]concealing 1097 DC, 1097 AC, 1097 MV errors [mpeg4 @ 0x3c95184]ac-tex damaged at 5 12 [mpeg4 @ 0x3c95184]Error at MB: 557 [mpeg4 @ 0x3c95184]concealing 859 DC, 859 AC, 859 MV errors [mpeg4 @ 0x3c95184]1. marker bit missing in 3. esc [mpeg4 @ 0x3c95184]Error at MB: 364 [mpeg4 @ 0x3c95184]concealing 1043 DC, 1043 AC, 1043 MV errors [mpeg4 @ 0x3c95184]slice end not reached but screenspace end (13352 left 0ABB06, score= -319) [mpeg4 @ 0x3c95184]concealing 1350 DC, 1350 AC, 1350 MV errors [mpeg4 @ 0x3c95184]1. marker bit missing in 3. esc [mpeg4 @ 0x3c95184]Error at MB: 108 [mpeg4 @ 0x3c95184]concealing 1294 DC, 1294 AC, 1294 MV errors [mpeg4 @ 0x3c95184]ac-tex damaged at 0 4 [mpeg4 @ 0x3c95184]Error at MB: 184 [mpeg4 @ 0x3c95184]concealing 1226 DC, 1226 AC, 1226 MV errors [mpeg4 @ 0x3c95184]slice end not reached but screenspace end (10462 left 132915, score= -320) [mpeg4 @ 0x3c95184]concealing 1350 DC, 1350 AC, 1350 MV errors [mpeg4 @ 0x3c95184]cbpc damaged at 17 9 [mpeg4 @ 0x3c95184]Error at MB: 431 [mpeg4 @ 0x3c95184]concealing 979 DC, 979 AC, 979 MV errors [mpeg4 @ 0x3c95184]slice end not reached but screenspace end (3571 left 0A7BE8, score= -320) [mpeg4 @ 0x3c95184]concealing 1350 DC, 1350 AC, 1350 MV errors [mpeg4 @ 0x3c95184]dc marker bit missing [mpeg4 @ 0x3c95184]Error at MB: 255 [mpeg4 @ 0x3c95184]concealing 1153 DC, 1153 AC, 1153 MV errors [mpeg4 @ 0x3c95184]slice end not reached but screenspace end (10368 left 7F1D5E, score= -322) [mpeg4 @ 0x3c95184]concealing 1350 DC, 1350 AC, 1350 MV errors [mpeg4 @ 0x3c95184]concealing 3 DC, 3 AC, 3 MV errors [mpeg4 @ 0x3c95184]ac-tex damaged at 8 9 [mpeg4 @ 0x3c95184]Error at MB: 422 [mpeg4 @ 0x3c95184]concealing 992 DC, 992 AC, 992 MV errors [mpeg4 @ 0x3c95184]ac-tex damaged at 10 2 [mpeg4 @ 0x3c95184]Error at MB: 102 [mpeg4 @ 0x3c95184]concealing 1312 DC, 1312 AC, 1312 MV errors [mpeg4 @ 0x3c95184]concealing 28 DC, 28 AC, 28 MV errors [mpeg4 @ 0x3c95184]illegal dc vlc0 [mpeg4 @ 0x3c95184]Error at MB: 928 [mpeg4 @ 0x3c95184]concealing 497 DC, 497 AC, 497 MV errors [mpeg4 @ 0x3c95184]1. marker bit missing in 3. esc [mpeg4 @ 0x3c95184]Error at MB: 211 [mpeg4 @ 0x3c95184]concealing 1207 DC, 1207 AC, 1207 MV errors [mpeg4 @ 0x3c95184]slice end not reached but screenspace end (1118 left 110469, score= -329) [mpeg4 @ 0x3c95184]concealing 1350 DC, 1350 AC, 1350 MV errors Anyone can help me? I am not familiar with MPEG stuff at all, still learning..... Thanks! From julien.savarese at dcnsgroup.com Wed Jun 4 03:02:37 2008 From: julien.savarese at dcnsgroup.com (julien.savarese at dcnsgroup.com) Date: Wed, 4 Jun 2008 12:02:37 +0200 Subject: [Live-devel] DoGetNextFrame and getNextFrame In-Reply-To: Message-ID: I don't understand the "Framedsource::aftergetting" fonction. What is it doing ? and I never see a call of this fonction, but it write that dogetnextframe call it. HOW ? can you explaine me ? Thx. _________________________ Julien Savarese Apprenti ing?nieur. Division SIS/DPM/RMS/MIE. --------------------------------------------- Pensez a l'environnement : avez-vous besoin d'imprimer ce message Think Environment : Do you need to print message ? Ce courrier ?lectronique, et ?ventuellement ses pi?ces jointes, peuvent contenir des informations confidentielles et/ou personnelles et a ?t? envoy? uniquement ? l'usage de la personne ou de l'entit? cit?e ci-dessus. Si vous receviez ce courrier ?lectronique par erreur, merci de bien vouloir en avertir l'exp?diteur imm?diatement par la r?ponse en retour ? ce courrier et effacer l'original et d?truire toute copie enregistr?e dans un ordinateur, ou imprim?e ou encore sauvegard?e sur un disque . Toute revue, retransmission ou toute autre forme d'utilisation de ce courrier ?lectronique par toute autre personne que le destinataire pr?vue est strictement interdite. L'internet ne permettant pas d'assurer l'int?grit? de ce message, l'exp?diteur d?cline toute responsabilit? au cas o? il aurait ?t? intercept? ou modifi? par quiconque. This e-mail and possibly any attachment may contain confidential and/or privileged information and is intended only for the use of the individual or entity named above. If you have received it in error, please advise the sender immediately by reply e-mail and delete and destroy all copies including all copies stored in the recipient's computer, printed or saved to disk. . Any review , retransmission, or further use of this e-mail by by persons or entities other than the intended recipient is strictly prohibited. Because of the nature of the Internet the sender is not in a position to ensure the integrity of this message, therefore the sender disclaims any liability whatsoever, in the event of this message having been intercepted and/or altered. -------------- next part -------------- An HTML attachment was scrubbed... URL: From manzoor505 at yahoo.com Wed Jun 4 04:18:27 2008 From: manzoor505 at yahoo.com (Manzoor Ahmed) Date: Wed, 4 Jun 2008 04:18:27 -0700 (PDT) Subject: [Live-devel] Problem in building Live555 in VS 2005 Message-ID: <282598.80059.qm@web52404.mail.re2.yahoo.com> Hey Everyone, I am getting the following errors when building the Live555 using VS 2005 and Windows Vista1>MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup 1>C:\Users\Manzoor\Documents\Visual Studio 2005\Projects\MyLiveMedia\Debug\Live.exe : fatal error LNK1120: 1 unresolved externals 1>Build log was saved at "file://c:\Users\Manzoor\Documents\Visual Studio 2005\Projects\MyLiveMedia\Live\Debug\BuildLog.htm" 1>Live - 2 error(s), 393 warning(s) ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ========== Your help will be highly appreciated. Thank You ? Manzoor Ahmed -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Wed Jun 4 05:14:45 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 4 Jun 2008 05:14:45 -0700 Subject: [Live-devel] DoGetNextFrame and getNextFrame In-Reply-To: References: Message-ID: >I don't understand the "Framedsource::aftergetting" fonction. >What is it doing ? It is called - exactly once - by an object once delivery of a data frame (to implement "doGetNextFrame()") has been completed. >and I never see a call of this fonction There are *many* examples in the code. See, for example, "DeviceSource.cpp". (I'm sure there must have been some reason originally why I made this a static member function, but I can't figure out now why :-) Maybe someday I'll fix this by making it a non-static member function instead.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From aimnms at hotmail.com Wed Jun 4 05:24:02 2008 From: aimnms at hotmail.com (M&Ms M&Ms) Date: Wed, 4 Jun 2008 12:24:02 +0000 Subject: [Live-devel] rtsp and keeping alive connection with rtcp packets Message-ID: Hi I am working with an axis camera which streams mpeg4 video. When I try to receive the video with live555, It works fine for about 60 sec, and then the axis server sends a goodbye message. (the protocl is RTSP // UDP/RTP) Then I tried it with their web interface (which uses rtsp too), and I can see a RTCP packet every 10 sec called "receiver report / source description" from my computer to the axis server. If I block this packet with my firewall, the server stop sending video, so I assume this is required to keep alive the connection. Why doesn't live555 sends this type of packet to keep the connection alive ? Thank you _________________________________________________________________ Connect to the next generation of MSN Messenger? http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline -------------- next part -------------- An HTML attachment was scrubbed... URL: From tubo.catodico at gmail.com Wed Jun 4 07:14:28 2008 From: tubo.catodico at gmail.com (Francesco Matassoni) Date: Wed, 04 Jun 2008 16:14:28 +0200 Subject: [Live-devel] I need some hints to find the UDP payload Message-ID: Hi all, i have a program that simply read from a UDP stream e retransmitting them to another port. I need to parse the UDP packet and find the payload because i need to protect the data that are using the UDP protocol, i think to use a chain BasicUDPSource -> FramedSource -> BasicUDPSink whit a subclassed FramedSource that protect the data. My problem is that i can't understand where i can find the UDP packet (and so the payload) inside the chain of virtual class and subclasses of liveMedia. Hope i explained my problem, i really need some hints. Thank's you all. -- Creato con il rivoluzionario client e-mail di Opera: http://www.opera.com/mail/ From anthony.champagne at haxe.fr Wed Jun 4 07:48:18 2008 From: anthony.champagne at haxe.fr (Anthony Champagne) Date: Wed, 4 Jun 2008 16:48:18 +0200 Subject: [Live-devel] rtsp and keeping alive connection with rtcp packets In-Reply-To: References: Message-ID: <001801c8c652$0ad02450$20706cf0$@champagne@haxe.fr> Hi, I?ve experienced the same problem with RTP/UDP. My problem is that the live555 library takes IP address of the RTCP packet destination in the SDP description (RTSP proto). My camera doesn?t give this address in the c= field (if I remember well), it fills it with 0.0.0.0, so the library send RTCP packet to 0.0.0.0 and it doesn?t work. There?s a method to force RTCP packet destination otherwise. To solve the problem I?m using RTP over TCP and it doesn?t need RTCP packets anymore. Regards, Anthony Champagne De : live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] De la part de M&Ms M&Ms Envoy? : mercredi 4 juin 2008 14:24 ? : live-devel at ns.live555.com Objet : [Live-devel] rtsp and keeping alive connection with rtcp packets Hi I am working with an axis camera which streams mpeg4 video. When I try to receive the video with live555, It works fine for about 60 sec, and then the axis server sends a goodbye message. (the protocl is RTSP // UDP/RTP) Then I tried it with their web interface (which uses rtsp too), and I can see a RTCP packet every 10 sec called "receiver report / source description" from my computer to the axis server. If I block this packet with my firewall, the server stop sending video, so I assume this is required to keep alive the connection. Why doesn't live555 sends this type of packet to keep the connection alive ? Thank you _____ Connect to the next generation of MSN Messenger Get it now! -------------- next part -------------- An HTML attachment was scrubbed... URL: From aliteke at gmail.com Wed Jun 4 09:13:18 2008 From: aliteke at gmail.com (ali teke) Date: Wed, 4 Jun 2008 11:13:18 -0500 Subject: [Live-devel] openRTSP proxy support Message-ID: I wonder if there is a command line option for specifying the Proxy Server address while executing openRTSP, for example in case of Real Player, client should enter the address of Proxy Server from the Preferences menu. than it can stream the media from proxy even though user of Real Player requests the media with the address of streaming server... I've looked at the code for openRTSP and found that, at line#84 of file "openRTSP.cpp" there is a flag like; Boolean allowProxyServers = False; I wonder if it is enough to set it true and supply the proxy address as a command line option. And in the "playCommon.cpp" file, at line 104, void usage() { ... << (allowProxyServers ? " [ []]" : "") ... It looks like if we set the allowProxyServers as true, we would be able to specify a proxy address. I will try it right now:) thanks... --ali > A RTSP 'proxy' should appear - to a RTSP client - to be just like a > RTSP server, in which case the client (for example, "openRTSP") need > not do anything different to access it. > -- > > Ross Finlayson > Live Networks, Inc. > http://www.live555.com/ From finlayson at live555.com Wed Jun 4 09:24:01 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 4 Jun 2008 09:24:01 -0700 Subject: [Live-devel] rtsp and keeping alive connection with rtcp packets In-Reply-To: References: Message-ID: >Hi > >I am working with an axis camera which streams mpeg4 video. >When I try to receive the video with live555, It works fine for >about 60 sec, and then the axis server sends a goodbye message. (the >protocl is RTSP // UDP/RTP) > >Then I tried it with their web interface (which uses rtsp too), and >I can see a RTCP packet every 10 sec called "receiver report / >source description" from my computer to the axis server. If I block >this packet with my firewall, the server stop sending video, so I >assume this is required to keep alive the connection. > >Why doesn't live555 sends this type of packet to keep the connection alive ? It does. I don't know why your camera would not be receiving these packets. Please try instead using "openRTSP" as your client. Please send us the diagnostic output (printed by "openRTSP") so we can (perhaps) figure out what is going wrong. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Jun 4 09:28:37 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 4 Jun 2008 09:28:37 -0700 Subject: [Live-devel] rtsp and keeping alive connection with rtcp packets In-Reply-To: <001801c8c652$0ad02450$20706cf0$@champagne@haxe.fr> References: <001801c8c652$0ad02450$20706cf0$@champagne@haxe.fr> Message-ID: >I've experienced the same problem with RTP/UDP. >My problem is that the live555 library takes IP address of the RTCP >packet destination in the SDP description (RTSP proto). >My camera doesn't give this address in the c= field (if I remember >well), it fills it with 0.0.0.0, so the library send RTCP packet to >0.0.0.0 and it doesn't work. 0.0.0.0 in the SDP "c=" line (in the RTSP "DESCRIBE" response) is usually used only for unicast streaming. In this case, other RTSP messages ("SETUP") are used to specify the server address (to which the client should send RTCP packets). Once again (as I noted with the previous questioner) please try using "openRTSP" as the client, and send us the diagnostic output, so we can hopefully figure out what might be going wrong. >There's a method to force RTCP packet destination otherwise. >To solve the problem I'm using RTP over TCP and it doesn't need RTCP >packets anymore. Yes, but we should also figure out why RTP/UDP streaming doesn't work, and try to fix that. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Jun 4 09:35:30 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 4 Jun 2008 09:35:30 -0700 Subject: [Live-devel] openRTSP proxy support In-Reply-To: References: Message-ID: >I've looked at the code for openRTSP and found that, >at line#84 of file "openRTSP.cpp" there is a flag like; >Boolean allowProxyServers = False; No - that code is used to distinguish "openRTSP" from "playSIP", which uses the same base code ("playCommon.cpp"). SIP, unlike RTSP, has an explicit notion of 'proxy'. As I said before, a RTSP 'proxy' should appear - to a RTSP client - exactly like a RTSP server. You should be able to give the RTSP client a regular "rtsp://" URL, containing the address of the proxy. It is up to the proxy to translate that into a different "rtsp://" URL that points to the real RTSP server. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From josh at kci.net Wed Jun 4 09:52:30 2008 From: josh at kci.net (Josh Norell) Date: Wed, 04 Jun 2008 10:52:30 -0600 Subject: [Live-devel] RTSP patch Message-ID: <1212598350.29138.11.camel@subterfuge.kci.net> Here's a patch that we wrote in response to solving this problem: http://lists.live555.com/pipermail/live-devel/2008-March/008275.html It was done on the 2008.02.08 build, so it may not be valid any more, but here it is anyway in case someoen finds it useful: diff -u -r live-clean/liveMedia/RTSPCommon.cpp live/liveMedia/RTSPCommon.cpp --- live-clean/liveMedia/RTSPCommon.cpp 2008-04-02 10:48:33.000000000 -0600 +++ live/liveMedia/RTSPCommon.cpp 2008-04-02 14:15:38.000000000 -0600 @@ -23,6 +23,7 @@ #include #include +#include #define DEBUG 1 Boolean parseRTSPRequestString(char const* reqStr, @@ -91,10 +92,7 @@ while (k2 <= k) resultURLSuffix[n++] = reqStr[k2++]; resultURLSuffix[n] = '\0'; - // Also look for the URL 'pre-suffix' before this: - unsigned k3 = --k1; - while (k3 > i && reqStr[k3] != '/') --k3; - // the URL pre-suffix comes from [k3+1,k1] + unsigned k3 = i; // Copy "resultURLPreSuffix": if (k1 - k3 + 1 > resultURLPreSuffixMaxSize) return False; // there's no room @@ -102,6 +100,59 @@ while (k2 <= k1) resultURLPreSuffix[n++] = reqStr[k2++]; resultURLPreSuffix[n] = '\0'; +/* +** the dangerous bit +** if it's 'SETUP' pre is full path, file is the track (track1) +** if it's anything else, file is full path, pre empty +** we really should do something to see if we already got 'track1' or so +** heavily overdocumented for now +** ref http://www.sourcepole.ch/sources/programming/cpp/cppqref.html +*/ +// create the string with limits +char tmpURL[RTSP_PARAM_STRING_MAX] = ""; +char tmpPreURL[RTSP_PARAM_STRING_MAX] = ""; + +// copy current URLSuffix to our tmp +strncpy(tmpURL,resultURLSuffix,RTSP_PARAM_STRING_MAX); +// copy current URLPreSuffix to our tmp +strncpy(tmpPreURL,resultURLPreSuffix,RTSP_PARAM_STRING_MAX); + +// now add the suffix to it (up to the limit) _if_ it's not 'track' +// we could just 'if (strstr(resultURLSuffix,"track") > 0)' but what if +// we have a file with a legit 'track' in the filename? +if (strncmp(tmpURL,"track",5) != 0) { + // trail with "/" if the tmp still has space and doesn't end with a "/" + if (strlen(tmpPreURL) > 0 + && strlen(tmpPreURL) < resultURLSuffixMaxSize + && tmpPreURL[strlen(tmpPreURL)-1] != '/') + strcat(tmpPreURL,"/"); + + // add the suffix + strncat(tmpPreURL,resultURLSuffix,RTSP_PARAM_STRING_MAX-strlen(tmpPreURL)); +} + +// if our tmp still has the trailing "/" we strip it. +if (tmpPreURL[strlen(tmpPreURL)-1] == '/') { + strncpy(tmpURL,tmpPreURL,strlen(tmpPreURL)-1); + strcpy(tmpPreURL,tmpURL); +} +// if our tmp has a leading "/" we should strip it. +// should. + +// now, depending on the command, we do various things +if (strcmp(resultCmdName,"SETUP") == 0) { + // if this is the setup command + // copy our tmp into the pre + strncpy(resultURLPreSuffix,tmpPreURL,resultURLPreSuffixMaxSize); + // set the 'main' to "track1" + strcpy(resultURLSuffix,"track1"); +} else { + // if this is any other command (OPTIONS,DESCRIBE,PLAY,TEARDOWN,PAUSE) + strcpy(resultURLPreSuffix,""); + strncpy(resultURLSuffix,tmpPreURL,resultURLSuffixMaxSize); +} +/* back to your normal code */ + i = k + 7; // to go past " RTSP/" parseSucceeded = True; break; From aliteke at gmail.com Wed Jun 4 11:38:08 2008 From: aliteke at gmail.com (ali teke) Date: Wed, 4 Jun 2008 13:38:08 -0500 Subject: [Live-devel] openRTSP proxy support&In-Reply-To= Message-ID: I am sorry for this basic question but I want to ask, I stream mp3 from helix server with the following request; "./openRTSP rtsp://melis.cs.xxxx.edu/kalp.mp3" To stream over proxy, I've tried; "./openRTSP rtsp://proxyMelis.cs.xxxx.edu/kalp.mp3" but, it did not work, since proxy does not know the address of helix server. Do I supposed to configure the proxy to teach it the address of the helix server? Thanks... --ali Thanks... >As I said before, a RTSP 'proxy' should appear - to a RTSP client - >exactly like a RTSP server. You should be able to give the RTSP >client a regular "rtsp://" URL, containing the address of the proxy. >It is up to the proxy to translate that into a different "rtsp://" >URL that points to the real RTSP server. >-- >Ross Finlayson >Live Networks, Inc. >http://www.live555.com/ From armandopoulos at yahoo.fr Wed Jun 4 14:25:48 2008 From: armandopoulos at yahoo.fr (Armando Ko) Date: Wed, 4 Jun 2008 21:25:48 +0000 (GMT) Subject: [Live-devel] RTCP and Live555 performance Message-ID: <46266.976.qm@web25908.mail.ukl.yahoo.com> Hi, I?m using the live555 to stream one image per seconde (reading from the files) and in the incomingHandler form the RTCPInstance i?m getting more client rtcp-app infos and i?m writting them in xml files every 5 secondes. The problem is after starting my application, the process performance increase very speedly until 100% . I?don?t know why ? Any idea ? In the Incominghandler i can see 2 loops (do - while (0) and while(1)). How can i control this ? Thank in Advance. Armando __________________________________________________ Do You Yahoo!? En finir avec le spam? Yahoo! Mail vous offre la meilleure protection possible contre les messages non sollicit?s http://mail.yahoo.fr Yahoo! Mail -------------- next part -------------- An HTML attachment was scrubbed... URL: From aimnms at hotmail.com Wed Jun 4 23:35:38 2008 From: aimnms at hotmail.com (M&Ms M&Ms) Date: Thu, 5 Jun 2008 06:35:38 +0000 Subject: [Live-devel] rtsp and keeping alive connection with rtcp packets In-Reply-To: References: Message-ID: > >Why doesn't live555 sends this type of packet to keep the connection alive ? > > It does. I don't know why your camera would not be receiving these packets. Well, in my case it doesn't, because I looked at network traffic with wireshark, and my computer sends nothing after the play request during 60sec... It sends a teardown request after receiving the good bye message from the camera. Here is the output, thank you : Sending request: OPTIONS rtsp://192.43.185.21/mpeg4/media.amp RTSP/1.0 CSeq: 1 User-Agent: ./openRTSP (LIVE555 Streaming Media v2008.05.12) Received OPTIONS response: RTSP/1.0 200 OK CSeq: 1 Public: DESCRIBE, GET_PARAMETER, PAUSE, PLAY, SETUP, SET_PARAMETER, TEARDOWN Sending request: DESCRIBE rtsp://192.43.185.21/mpeg4/media.amp RTSP/1.0 CSeq: 2 Accept: application/sdp User-Agent: ./openRTSP (LIVE555 Streaming Media v2008.05.12) Received DESCRIBE response: RTSP/1.0 200 OK CSeq: 2 Content-Base: rtsp://192.43.185.21:554/mpeg4/media.amp/ Content-Type: application/sdp Content-Length: 698 Need to read 698 extra bytes Read 698 extra bytes: v=0 o=- 1212654651141785 1212654651141798 IN IP4 192.43.185.21 s=Media Presentation e=NONE c=IN IP4 0.0.0.0 b=AS:8000 t=0 0 a=control:* a=range:npt=now- a=mpeg4-iod: "data:application/mpeg4-iod;base64,AoDUAE8BAf/1AQOAbwABQFBkYXRhOmFwcGxpY2F0aW9uL21wZWc0LW9kLWF1O2Jhc2U2NCxBUjBCR3dVZkF4Y0F5U1FBWlFRTklCRUVrK0FBZWhJQUFIb1NBQVlCQkE9PQQNAQUABAAAAAAAAAAAAAYJAQAAAAAAAAAAAzoAAkA2ZGF0YTphcHBsaWNhdGlvbi9tcGVnNC1iaWZzLWF1O2Jhc2U2NCx3QkFTWVFTSVVFVUZQd0E9BBICDQAAAgAAAAAAAAAABQMAAEAGCQEAAAAAAAAAAA==" m=video 0 RTP/AVP 96 b=AS:8000 a=framerate:30.0 a=control:trackID=1 a=rtpmap:96 MP4V-ES/90000 a=fmtp:96 profile-level-id=245; config=000001B0F5000001B509000001000000012000844019285020F0A21F a=mpeg4-esid:201 Opened URL "rtsp://192.43.185.21/mpeg4/media.amp", returning a SDP description: v=0 o=- 1212654651141785 1212654651141798 IN IP4 192.43.185.21 s=Media Presentation e=NONE c=IN IP4 0.0.0.0 b=AS:8000 t=0 0 a=control:* a=range:npt=now- a=mpeg4-iod: "data:application/mpeg4-iod;base64,AoDUAE8BAf/1AQOAbwABQFBkYXRhOmFwcGxpY2F0aW9uL21wZWc0LW9kLWF1O2Jhc2U2NCxBUjBCR3dVZkF4Y0F5U1FBWlFRTklCRUVrK0FBZWhJQUFIb1NBQVlCQkE9PQQNAQUABAAAAAAAAAAAAAYJAQAAAAAAAAAAAzoAAkA2ZGF0YTphcHBsaWNhdGlvbi9tcGVnNC1iaWZzLWF1O2Jhc2U2NCx3QkFTWVFTSVVFVUZQd0E9BBICDQAAAgAAAAAAAAAABQMAAEAGCQEAAAAAAAAAAA==" m=video 0 RTP/AVP 96 b=AS:8000 a=framerate:30.0 a=control:trackID=1 a=rtpmap:96 MP4V-ES/90000 a=fmtp:96 profile-level-id=245; config=000001B0F5000001B509000001000000012000844019285020F0A21F a=mpeg4-esid:201 Created receiver for "video/MP4V-ES" subsession (client ports 42658-42659) Sending request: SETUP rtsp://192.43.185.21:554/mpeg4/media.amp/trackID=1 RTSP/1.0 CSeq: 3 Transport: RTP/AVP;unicast;client_port=42658-42659 User-Agent: ./openRTSP (LIVE555 Streaming Media v2008.05.12) Received SETUP response: RTSP/1.0 200 OK CSeq: 3 Session: 1375681847;timeout=60 Transport: RTP/AVP;unicast;client_port=42658-42659;server_port=50996-50997;ssrc=7F99326A;mode="PLAY" Setup "video/MP4V-ES" subsession (client ports 42658-42659) Created output file: "video-MP4V-ES-1" Sending request: PLAY rtsp://192.43.185.21:554/mpeg4/media.amp/ RTSP/1.0 CSeq: 4 Session: 1375681847 Range: npt=0.000-0.000 User-Agent: ./openRTSP (LIVE555 Streaming Media v2008.05.12) Received PLAY response: RTSP/1.0 200 OK CSeq: 4 Session: 1375681847 Range: npt=now- RTP-Info: url=trackID=1;seq=44200;rtptime=4102929997 Started playing session Receiving streamed data (signal with "kill -HUP 6324" or "kill -USR1 6324" to terminate)... Received RTCP "BYE" on "video/MP4V-ES" subsession (after 60 seconds) Sending request: TEARDOWN rtsp://192.43.185.21:554/mpeg4/media.amp/ RTSP/1.0 CSeq: 5 Session: 1375681847 User-Agent: ./openRTSP (LIVE555 Streaming Media v2008.05.12) _________________________________________________________________ Connect to the next generation of MSN Messenger? http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline -------------- next part -------------- An HTML attachment was scrubbed... URL: From anthony.champagne at haxe.fr Thu Jun 5 02:01:03 2008 From: anthony.champagne at haxe.fr (Anthony Champagne) Date: Thu, 5 Jun 2008 11:01:03 +0200 Subject: [Live-devel] rtsp and keeping alive connection with rtcp packets In-Reply-To: References: <001801c8c652$0ad02450$20706cf0$@champagne@haxe.fr> Message-ID: <008401c8c6ea$aeca0060$0c5e0120$@champagne@haxe.fr> >>I've experienced the same problem with RTP/UDP. >>My problem is that the live555 library takes IP address of the RTCP >>packet destination in the SDP description (RTSP proto). >>My camera doesn't give this address in the c= field (if I remember >>well), it fills it with 0.0.0.0, so the library send RTCP packet to >>0.0.0.0 and it doesn't work. >0.0.0.0 in the SDP "c=" line (in the RTSP "DESCRIBE" response) is >usually used only for unicast streaming. In this case, other RTSP >messages ("SETUP") are used to specify the server address (to which >the client should send RTCP packets). >Once again (as I noted with the previous questioner) please try using >"openRTSP" as the client, and send us the diagnostic output, so we >can hopefully figure out what might be going wrong. The openRTSP output follow (see below). >>There's a method to force RTCP packet destination otherwise. >>To solve the problem I'm using RTP over TCP and it doesn't need RTCP >>packets anymore. >Yes, but we should also figure out why RTP/UDP streaming doesn't >work, and try to fix that. I've modified a part of the RTSPClient::setupMediaSubsession() with a big HACK in order to get the "real" peer address and it works well (RTSP with RTP/UDP unicast and RTP over TCP). If it can help you a way or another. ------------------ if (streamUsingTCP) { [...] } else { // Normal case. // Set the RTP and RTCP sockets' destination address and port // from the information in the SETUP response: if (subsession.connectionEndpointAddress()==0) { sockaddr_in sain; int sainlen = sizeof(sockaddr_in); getpeername(fOutputSocketNum, (sockaddr*)&sain, &sainlen); delete[] subsession.connectionEndpointName(); subsession.connectionEndpointName() = strdup(inet_ntoa(sain.sin_addr)); } subsession.setDestinations(subsession.connectionEndpointAddress()); } ------------------ openRTSP output (on MS Windows): D:\[...]\live\testProgs>openrtsp rtsp://192.168.2.106 Sending request: OPTIONS rtsp://192.168.2.106 RTSP/1.0 CSeq: 1 User-Agent: openrtsp (LIVE555 Streaming Media v2008.05.12) Received OPTIONS response: RTSP/1.0 200 OK CSeq: 1 Public: DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE Sending request: DESCRIBE rtsp://192.168.2.106 RTSP/1.0 CSeq: 2 Accept: application/sdp User-Agent: openrtsp (LIVE555 Streaming Media v2008.05.12) Received DESCRIBE response: RTSP/1.0 200 OK CSeq: 2 Content-Base: rtsp://192.168.2.106/ Content-Type: application/sdp Content-Length: 251 Need to read 251 extra bytes Read 251 extra bytes: v=0 o=- 1 1 IN IP4 127.0.0.1 s=Test a=type:broadcast t=0 0 c=IN IP4 0.0.0.0 m=video 0 RTP/AVP 96 a=rtpmap:96 MP4V-ES/90000 a=fmtp:96 profile-level-id=245;config=000001B0F5000001B509000001000000012000C888B0E0E0 FA62D089028307 a=control:track0 Opened URL "rtsp://192.168.2.106", returning a SDP description: v=0 o=- 1 1 IN IP4 127.0.0.1 s=Test a=type:broadcast t=0 0 c=IN IP4 0.0.0.0 m=video 0 RTP/AVP 96 a=rtpmap:96 MP4V-ES/90000 a=fmtp:96 profile-level-id=245;config=000001B0F5000001B509000001000000012000C888B0E0E0 FA62D089028307 a=control:track0 Created receiver for "video/MP4V-ES" subsession (client ports 1120-1121) Sending request: SETUP rtsp://192.168.2.106/track0 RTSP/1.0 CSeq: 3 Transport: RTP/AVP;unicast;client_port=1120-1121 User-Agent: openrtsp (LIVE555 Streaming Media v2008.05.12) Received SETUP response: RTSP/1.0 200 OK CSeq: 3 Transport: RTP/AVP;unicast;client_port=1120-1121;server_port=55982-55983 Session: 302AFD375E53B7FAA371E96185B463 Setup "video/MP4V-ES" subsession (client ports 1120-1121) Created output file: "video-MP4V-ES-1" Sending request: PLAY rtsp://192.168.2.106/ RTSP/1.0 CSeq: 4 Session: 302AFD375E53B7FAA371E96185B463 Range: npt=0.000-0.000 User-Agent: openrtsp (LIVE555 Streaming Media v2008.05.12) Received PLAY response: RTSP/1.0 200 OK CSeq: 4 Session: 302AFD375E53B7FAA371E96185B463 Started playing session Receiving streamed data... [...] From aimnms at hotmail.com Thu Jun 5 02:49:56 2008 From: aimnms at hotmail.com (M&Ms M&Ms) Date: Thu, 5 Jun 2008 09:49:56 +0000 Subject: [Live-devel] rtsp and keeping alive connection with rtcp packets In-Reply-To: References: Message-ID: > It does. I don't know why your camera would not be receiving these packets. I may have found the problem. I tested april 2008 version and it worked ! so i compared april and may 2008 versions and found something in RTSPClient.cpp, line 983 2008.04.02 RTSPClient.cpp line 983 : subsession.setDestinations(fServerAddress); 2008.05.12 RTSPClient.cpp line 983 : subsession.setDestinations(subsession.connectionEndpointAddress()); And when I change this line in 2008.05.12 to be like in 2008.04.02 version, it works ! So I looked at fServerAddress value and subsession.connectionEndpointAddress() return value in 2008.05.12, and in my case the first one is valid, and the second one is "0" Don't know why this was change ? _________________________________________________________________ Connect to the next generation of MSN Messenger? http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Thu Jun 5 05:35:57 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 05 Jun 2008 05:35:57 -0700 Subject: [Live-devel] rtsp and keeping alive connection with rtcp packets In-Reply-To: References: Message-ID: <200806051238.m55CcB6x044110@ns.live555.com> At 02:49 AM 6/5/2008, you wrote: >I may have found the problem. >I tested april 2008 version and it worked ! so i compared april and >may 2008 versions and found something in RTSPClient.cpp, line 983 > >2008.04.02 RTSPClient.cpp line 983 : > subsession.setDestinations(fServerAddress); > >2008.05.12 RTSPClient.cpp line 983 : > subsession.setDestinations(subsession.connectionEndpointAddress()); > > >And when I change this line in 2008.05.12 to be like in 2008.04.02 >version, it works ! > >So I looked at fServerAddress value and >subsession.connectionEndpointAddress() return value in 2008.05.12, >and in my case the first one is valid, and the second one is "0" > >Don't know why this was change ? It was changed in the 2008.04.09 version in an attempt to fix a related problem with multicast streams, but - as you discovered - it inadvertently broke unicast streams! I have now installed a new version (2008.06.05) of the software that fixes this properly - I hope. The new version uses "connectionEndpointAddress()" if it is non-zero, and uses "fServerAddress" otherwise. Please upgrade to this new version (as it includes some other useful improvements to "RTSPClient" also). Many thanks for looking into and reporting this problem. Ross Finlayson Live Networks, Inc. (LIVE555.COM) From kevin_fesselier at hotmail.com Thu Jun 5 07:52:39 2008 From: kevin_fesselier at hotmail.com (kevin fesselier) Date: Thu, 05 Jun 2008 16:52:39 +0200 Subject: [Live-devel] Receiving with a SimpleRTPSource without desencapsulating Message-ID: <4847FDB7.6060702@hotmail.com> Hello, I'm currently trying to receive an RTP stream and to store data in a circular buffer, so that these data could be then used by my app. To achieve this, I have written my own BufferSink, which works perfectly. For example, it allow me do things like this : MP3 File -> ByteStreamFilesource -> SimpleRTPSink -> ........rtp stream........->SimpleRTPSource->BufferSink-> myRingBuffer But now, I wonder if there is a simple way to get RTP packets in this buffer. I have figured out that RTP header are removed by a MultiFramedRTPSource function. I could use for exemple a basic UDP source, to get data as it is (ie : RTP packets), but no RTP treatment would be done then (I mean, no reordering ...). Ideally, I would like to be able to choose, wether I want RTP headers or not. I would be pleased if you could give me some hint about the simplest way to achieve this. Regards, Kevin. From finlayson at live555.com Thu Jun 5 08:40:15 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 05 Jun 2008 08:40:15 -0700 Subject: [Live-devel] Receiving with a SimpleRTPSource without desencapsulating In-Reply-To: <4847FDB7.6060702@hotmail.com> References: <4847FDB7.6060702@hotmail.com> Message-ID: <200806051542.m55FgvmI043728@ns.live555.com> At 07:52 AM 6/5/2008, you wrote: >MP3 File -> ByteStreamFilesource -> SimpleRTPSink -> ........rtp >stream........->SimpleRTPSource->BufferSink-> myRingBuffer > >But now, I wonder if there is a simple way to get RTP packets in this buffer. Yes - At the receiving end, use "BasicUDPSource" instead of "SimpleRTPSource". Ross Finlayson Live Networks, Inc. (LIVE555.COM) From kevin_fesselier at hotmail.com Thu Jun 5 08:50:52 2008 From: kevin_fesselier at hotmail.com (kevin fesselier) Date: Thu, 05 Jun 2008 17:50:52 +0200 Subject: [Live-devel] Receiving with a SimpleRTPSource without desencapsulating In-Reply-To: <200806051542.m55FgvmI043728@ns.live555.com> References: <4847FDB7.6060702@hotmail.com> <200806051542.m55FgvmI043728@ns.live555.com> Message-ID: <48480B5C.3090906@hotmail.com> Ross Finlayson a ?crit : > At 07:52 AM 6/5/2008, you wrote: >> MP3 File -> ByteStreamFilesource -> SimpleRTPSink -> ........rtp >> stream........->SimpleRTPSource->BufferSink-> myRingBuffer >> >> But now, I wonder if there is a simple way to get RTP packets in this >> buffer. > > Yes - At the receiving end, use "BasicUDPSource" instead of > "SimpleRTPSource". > Yes, but I guess that in this case, no RTP reordering will be done (since I think that it is done in the MultiFramedRTPSource class - not sure about that though). From finlayson at live555.com Thu Jun 5 11:03:13 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 5 Jun 2008 11:03:13 -0700 Subject: [Live-devel] Receiving with a SimpleRTPSource without desencapsulating In-Reply-To: <48480B5C.3090906@hotmail.com> References: <4847FDB7.6060702@hotmail.com> <200806051542.m55FgvmI043728@ns.live555.com> <48480B5C.3090906@hotmail.com> Message-ID: >Ross Finlayson a ?crit : >>At 07:52 AM 6/5/2008, you wrote: >>>MP3 File -> ByteStreamFilesource -> >>>SimpleRTPSink -> ........rtp >>>stream........->SimpleRTPSource->BufferSink-> >>>myRingBuffer >>> >>>But now, I wonder if there is a simple way to >>>get RTP packets in this buffer. >> >>Yes - At the receiving end, use >>"BasicUDPSource" instead of "SimpleRTPSource". >> > >Yes, but I guess that in this case, no RTP reordering will be done That's correct, because, of course, "BasicUDPSource" has no knowledge of any headers beyond UDP. (In most networks, though, packet reordering happens infrequently anyway.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Jun 5 11:08:36 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 5 Jun 2008 11:08:36 -0700 Subject: [Live-devel] openRTSP proxy support&In-Reply-To= In-Reply-To: References: Message-ID: >I am sorry for this basic question but I want to ask, > >I stream mp3 from helix server with the following request; >"./openRTSP rtsp://melis.cs.xxxx.edu/kalp.mp3" > >To stream over proxy, I've tried; >"./openRTSP rtsp://proxyMelis.cs.xxxx.edu/kalp.mp3" but, it did not >work, since proxy does not know the address of helix server. > >Do I supposed to configure the proxy to teach it the address of the >helix server? Yes, you will need to (somehow) tell the proxy the address of the back-end RTSP server. Unfortunately there is no mechanism within the RTSP protocol to do this, so you will have to do this some other way. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From lonnie.walker at apogeelabs.com Thu Jun 5 11:10:33 2008 From: lonnie.walker at apogeelabs.com (Lonnie Walker) Date: Thu, 05 Jun 2008 14:10:33 -0400 Subject: [Live-devel] Possible to demux MPEG-2 transport stream to elementary streams Message-ID: <1212689433.7948.26.camel@carrington> I saw that there is a test program to demux a program stream into a video and audio elementary stream. Does live555 support the demultiplexing of a transport stream, assuming it only contains two (audio and video) elementary streams? Lonnie From jlfurlong at hotmail.com Thu Jun 5 11:32:34 2008 From: jlfurlong at hotmail.com (Jeff Furlong) Date: Thu, 5 Jun 2008 15:32:34 -0300 Subject: [Live-devel] MP3 to MPEG2TS Message-ID: Does Live555 currently support the ability to convert an MP3 file to an MPEG2TS file? Thanks, Jeff -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Thu Jun 5 12:14:45 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 5 Jun 2008 12:14:45 -0700 Subject: [Live-devel] MP3 to MPEG2TS In-Reply-To: References: Message-ID: >Does Live555 currently support the ability to convert an MP3 file to >an MPEG2TS file? Yes it does - using the "MPEG2TransportStreamFromESSource" class. See the "wis-streamer" code for a example of the use of this class to construct a Transport Stream from Elementary Stream data. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Jun 5 12:15:14 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 5 Jun 2008 12:15:14 -0700 Subject: [Live-devel] Possible to demux MPEG-2 transport stream to elementary streams In-Reply-To: <1212689433.7948.26.camel@carrington> References: <1212689433.7948.26.camel@carrington> Message-ID: >I saw that there is a test program to demux a program stream into a >video and audio elementary stream. Does live555 support the >demultiplexing of a transport stream, assuming it only contains two >(audio and video) elementary streams? No, we currently have no support for demultiplexing Transport Streams. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From jacques.eeses at wanadoo.fr Fri Jun 6 08:34:01 2008 From: jacques.eeses at wanadoo.fr (Jacques EESES) Date: Fri, 6 Jun 2008 17:34:01 +0200 Subject: [Live-devel] strstream.h Message-ID: <2609731FA4754493A7AD0048EA66032A@IXTREME> Good day Where is filie strstream.h (or sstream.h) ??? Best regards Jacques (France) -------------- next part -------------- An HTML attachment was scrubbed... URL: From tonjefr at ifi.uio.no Fri Jun 6 12:49:50 2008 From: tonjefr at ifi.uio.no (Tonje Fredrikson) Date: Fri, 6 Jun 2008 21:49:50 +0200 (CEST) Subject: [Live-devel] RTP Marker bit (M bit) Message-ID: <2101.129.240.228.53.1212781790.squirrel@webmail.uio.no> Hi, The testMPEG2TransportStreamer sets the use of marker bit to False. Is there a specific reasoning for not using the marker bit? RFC2250 seems to indicate it could be set on all last frames, but doesn't mention TS files specifically from what I have understood. Will it work so that the last frame has the marker bit set if changed to True? If yes, and we continue transmitting more frames (for example from another file source) is the marker bit automatically reset again when the next RTP packet header is prepared? Thanks for all help! -- Tonje Fredrikson From bd at landform.com Sat Jun 7 14:30:04 2008 From: bd at landform.com (Bill Dolson) Date: Sat, 07 Jun 2008 15:30:04 -0600 Subject: [Live-devel] User Private Data Streams via RTSP? Message-ID: <484AFDDC.9050704@landform.com> Hi Ross, What are the prospects for being able to employ Live555/RTSP to send user private data streams in addition to audio and video? I realize zero with the current implementation, I mean via additional development. We have Mpeg-2 Transport Streams which contain video, audio, and user private data (PES packets containing private data stream_type=6) under their own PID. This data contains camera geospatial positioning and pointing data and conforms to an NGA/MISB standard. I have studied the RTSP RFC (2326) as well as the SDP RFC (4566) and note with dismay that "control" and "data" are deprecated media types. How bad a hack do you estimate it would be to add support for our private data streams in your RTSP server and client? The private data PES packets typically appear at 10Hz or frame rate, sometimes slower. They are typically only a few hundred bytes in length. I would note that I have hacked both VLC and FFmpeg to support these types of elementary streams and we are able to stream them as simple UDP streams but this has its obvious limitations. A more robust and flexible solution like RTSP would be preferable. Is this anything you would consider taking on on a consulting basis? Thanks, Bill Dolson RIS, Inc. From di.mailorama at gmail.com Sat Jun 7 18:59:10 2008 From: di.mailorama at gmail.com (DZ) Date: Sat, 07 Jun 2008 21:59:10 -0400 Subject: [Live-devel] wis-streamer: Unable to find emulated OSS device Message-ID: <484B3CEE.7080601@gmail.com> I saw a couple of posts back in 2006 about the same problem: http://lists.live555.com/pipermail/live-devel/2006-October/005313.html http://lists.live555.com/pipermail/live-devel/2006-October/005244.html I dunno if wis-streamer is still maintained or not. In the original post the poster had the following in his /proc/asound/oss/devices: 0: [0- 0]: mixer 1: : sequencer 2: [0- 0]: raw midi 3: [0- 0]: digital audio 4: [0- 0]: digital audio 8: : sequencer 9: [0- 0]: raw midi 12: [0- 1]: digital audio 13: [0- 1]: raw midi 14: [0- 1]: raw midi 16: [1- 0]: mixer <------------1 19: [1- 0]: digital audio <------------2 20: [1- 0]: digital audio The code snippet that seems to misbehave is: WISInput.cpp line 195: // Find the OSS emulation minor number for this ALSA device: char const* ossFileName = "/proc/asound/oss/devices"; FILE* file = fopen(ossFileName, "r"); if (file == NULL) { err(env) << "Unable to open \"" << ossFileName << "\""; printErr(env); env << "Is the snd_pcm_oss module loaded?\n"; break; } int minor = -1; char line[128]; while (fgets(line, sizeof line, file) != NULL) { int m, n; line 207: if (sscanf(line, "%d: [%u-%*u]: digital audio\n", &m, &n) != 2) continue; line 208: if (n == i) { minor = m; break; } } The problem is that sscanf's return result will be 2 for every line except line 2 (1: : sequencer) in the above example of the "devices" file regardless of whether the line ends with "digital audio" or not. This is not a bug in sscanf, but an actual behavior. It will simply return the number of arguments that it managed to match before it failed. In the above example the guy's major number "i" was 1, so all the lines up to "16: [1-..." were rejected by comparison on line 208. For that particular line "16: [- 0]: mixer" sscanf will return 2 as soon as it fails to match ": digital audio" and comparison on line 208 will yield true and minor will be assigned 16. Whereas it should be 19. There is similar comparison being done in the original wis-go7007 driver package (apps/gorecord.c) and they have an additional check: while ((fgets(line, sizeof(line), file)) != NULL) { unsigned int n; int m; char *c; if ((c = strrchr(line, ':')) == NULL || strcmp(c, ": digital audio\n") || sscanf(line, "%d: [%u-%*u]:", &m, &n) != 2) continue; if (n == i) { minor = m; break; } } TJ -- One man's "magic" is another man's engineering. "Supernatural" is a null word. (Robert A. Heinlein) From Jerry.Johns at nuvation.com Sun Jun 8 16:17:44 2008 From: Jerry.Johns at nuvation.com (Jerry Johns) Date: Sun, 8 Jun 2008 16:17:44 -0700 Subject: [Live-devel] Getting SDP/Sprop params as a liveMedia client Message-ID: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAC1@mailguy3.skynet.nuvation.com> Hello, I have a livemedia setup currently, whereby a client is setup to tap onto a stream streamed by a livemedia server on the network - the stream is an h.264 elementary stream, and plays fine in VLC (coupled with the proper SDP parameters) I wanted to know if it is possible to get a copy of the SDP Parameters, or more specifically, the sprop-parameters as a client, and if so, how? I currently have an H264VideoRTPSource feeding into a FileSink in the client code, and need to tap into the sprop-parameters to get the base64 encoded version of the SPS and PPS in order to create a proper file. Thank you, Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: From dolphinman19 at gmail.com Mon Jun 9 03:24:48 2008 From: dolphinman19 at gmail.com (Sarun Kerdsup) Date: Mon, 9 Jun 2008 17:24:48 +0700 Subject: [Live-devel] MPEG2TransportStreamIndexer Message-ID: <3fe35ed50806090324u37581c58j9f9c7d12246b176f@mail.gmail.com> hi, I had problem about MPEG2TransportStreamIndexer, when I used MPEG2TransportStreamIndexer for create index file(.tsx) that size of file is 0 Byte. second I used it(.tsx 0 byte) to command testMPEG2TransportStreamTrickPlay that output is "Failed to open index file "hulk3.tsx" (does it exist?)". Can somebody to help me for this ploblem? Thank you everybody. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aliteke at gmail.com Mon Jun 9 11:53:59 2008 From: aliteke at gmail.com (ali teke) Date: Mon, 9 Jun 2008 13:53:59 -0500 Subject: [Live-devel] openRTSP proxy support In-Reply-To: References: Message-ID: Hi, I've examined the packets exchanged between RealPlayer and HelixProxy, (and between HelixProxy <-> HelixServer). RealPlayer sends the regular RTSP packets to HelixProxy, the only difference is that Destination Address of the RTSP packets are engraved with HelixProxy's IP. Is it possible to implement this in openRTSP? I mean, obtaining the proxy address as a command line option and sending the packets to Proxy instead of Server? Thanks... --ali >Yes, you will need to (somehow) tell the proxy the address of the >back-end RTSP server. Unfortunately there is no mechanism within the >RTSP protocol to do this, so you will have to do this some other way. >-- > >Ross Finlayson >Live Networks, Inc. >http://www.live555.com/ From mike.gilorma at apogeelabs.com Mon Jun 9 14:02:35 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Mon, 09 Jun 2008 17:02:35 -0400 Subject: [Live-devel] streaming video and audio via RTSP Message-ID: <1213045355.3158.15.camel@Julia> How do you go about streaming video and audio at the same time using RTSP? I want to stream two elemental streams that I got out of a mp4 file to VLC and have them playback just as if I was watching the original file. Using the testOnDemandRTSPServer I can open the video stream in one instance of VLC and the audio stream in another instance of VLC. How do you put the pieces together? I'm trying to write a simple program that can take video data and audio data from a file (for now...) and stream them in some fashion so that they can be payed back on a media player (like VLC) or received by another program and broken back out into separate video and audio data. Any input on this subject would be greatly appreciated. -Mike From yamini.s at europlex.in Mon Jun 9 21:22:08 2008 From: yamini.s at europlex.in (Yamini S. [EPLX - DCC]) Date: Tue, 10 Jun 2008 09:52:08 +0530 Subject: [Live-devel] streaming video and audio via RTSP References: <1213045355.3158.15.camel@Julia> Message-ID: <6872DF21E3D09046BDF172721037F4FB3CE7FF@SBTEXCHANGEDB.sbtdats.com> Can I know how u open using one instance of the VLC Thanks & Regards, S.Yamini Programmer R&D Siemens Building Technologies Pvt. Ltd. -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Mike Gilorma Sent: Tuesday, June 10, 2008 2:33 AM To: live-devel at ns.live555.com Subject: [Live-devel] streaming video and audio via RTSP How do you go about streaming video and audio at the same time using RTSP? I want to stream two elemental streams that I got out of a mp4 file to VLC and have them playback just as if I was watching the original file. Using the testOnDemandRTSPServer I can open the video stream in one instance of VLC and the audio stream in another instance of VLC. How do you put the pieces together? I'm trying to write a simple program that can take video data and audio data from a file (for now...) and stream them in some fashion so that they can be payed back on a media player (like VLC) or received by another program and broken back out into separate video and audio data. Any input on this subject would be greatly appreciated. -Mike _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel This message (including attachments) is confidential and may be privileged. If you have received it by mistake please notify the sender by return e-mail and delete this message from your system. You may not copy, disclose or use the contents in any way. SBTPL does not guarantee integrity of this communication nor is that this communication free of issues, interceptions or interference. This communication does not create or modify any contract, and unless otherwise stated, is not intended to be contractually binding. Views or opinions expressed in this e-mail message are those of the author only. From finlayson at live555.com Mon Jun 9 22:41:04 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 9 Jun 2008 22:41:04 -0700 Subject: [Live-devel] Getting SDP/Sprop params as a liveMedia client In-Reply-To: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAC1@mailguy3.skynet.nuvation.com> References: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAC1@mailguy3.skynet.nuvation.com> Message-ID: > I have a livemedia setup currently, whereby a client is >setup to tap onto a stream streamed by a livemedia server on the >network - the stream is an h.264 elementary stream, and plays fine >in VLC (coupled with the proper SDP parameters) > >I wanted to know if it is possible to get a copy of the SDP >Parameters, or more specifically, the sprop-parameters as a client, >and if so, how? Yes - call "MediaSubsession:: fmtp_spropparametersets()" If you look at our RTSP client interface code for the VLC media player (the file "live555.cpp"), you'll also see code that parses this information from text string into binary form. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From amit.lobo at gmail.com Tue Jun 10 02:46:03 2008 From: amit.lobo at gmail.com (Amit Lobo) Date: Tue, 10 Jun 2008 17:46:03 +0800 Subject: [Live-devel] Problems with streaming live h264 video on TI da Vinci platform. Message-ID: Hi All, I am able to port and run Live555 on DSP/BIOS of EVM6437.The test I did is reading stored h264 video from a file. Now when I try to use live frames from the encoder I face problem after 1 sec of video play.I can see the first 1 sec video properly,but later after 1 sec it looks like something goes wrong with the RTP.The client I am using is VLC media player. Want to know if anybody has face similar problem. Thanks in advance Amit -------------- next part -------------- An HTML attachment was scrubbed... URL: From p4olo_prete at yahoo.it Tue Jun 10 03:12:05 2008 From: p4olo_prete at yahoo.it (Paolo Prete) Date: Tue, 10 Jun 2008 10:12:05 +0000 (GMT) Subject: [Live-devel] segfault in DelayQueue::removeEntry() Message-ID: <303305.35698.qm@web28006.mail.ukl.yahoo.com> Hi, i'm "stressing" my application playing and stopping streams continously. After a lot of these actions i've got this segfault: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1224886592 (LWP 2385)] 0x080bde2d in DelayQueue::removeEntry (this=0x81b6274, entry=0xacd0fb60)     at DelayQueue.cpp:152 152       entry->fPrev->fNext = entry->fNext; should the sanity check, at the beginning of the function, be patched in the following  way? - if (entry == NULL || entry->fNext == NULL) return; + if (entry == NULL || entry->fNext == NULL || entry->fPrev == NULL) return; Paolo Prete ___________________________________ Scopri il Blog di Yahoo! Mail: trucchi, novit?, consigli... e la tua opinione! http://www.ymailblogit.com/blog/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From mike.gilorma at apogeelabs.com Tue Jun 10 04:59:32 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Tue, 10 Jun 2008 07:59:32 -0400 Subject: [Live-devel] Problems with streaming live h264 video on TI da Vinci platform. In-Reply-To: References: Message-ID: <1213099172.3160.3.camel@Julia> I have one of those board here and was thinking about trying to port live555 over to it. Are you running Virtual Logix Linux or did you actually port it over to the DSP? If you can send me your test code or project I can help debug. On Tue, 2008-06-10 at 17:46 +0800, Amit Lobo wrote: > Hi All, > > I am able to port and run Live555 on DSP/BIOS of EVM6437.The test I > did is reading stored h264 video from a file. > > Now when I try to use live frames from the encoder I face problem > after 1 sec of video play.I can see the first 1 sec video properly,but > later after 1 sec it looks like something goes wrong with the RTP.The > client I am using is VLC media player. > Want to know if anybody has face similar problem. > > Thanks in advance > > Amit > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From Ishwar.Jasuja at jci.com Tue Jun 10 10:46:48 2008 From: Ishwar.Jasuja at jci.com (Ishwar.Jasuja at jci.com) Date: Tue, 10 Jun 2008 10:46:48 -0700 Subject: [Live-devel] Problems with streaming live h264 video on TI da Vinci platform. In-Reply-To: <1213099172.3160.3.camel@Julia> Message-ID: I ran into some strange timer manipulation problem while doing porting for TI NDK and had to make following change. #ifdef TIME_BASE typedef TIME_BASE time_base_seconds; #else typedef int time_base_seconds; #endif With the original code ( typedef long time_base_seconds;), it would do 8 bytes subtraction(treating tv_usec as unsigned long long) while executing the second line (highlighted code in following piece of code) below. And that would screw up the value of the tv_sec field which is right before tv_usec field in the structure. DelayInterval operator-(const Timeval& arg1, const Timeval& arg2) { time_base_seconds secs = arg1.seconds() - arg2.seconds(); time_base_seconds usecs = arg1.useconds() - arg2.useconds(); if (usecs < 0) { usecs += MILLION; --secs; } if (secs < 0) return DELAY_ZERO; else return DelayInterval(secs, usecs); } I hope this helps. Thanks Ishwar Mike Gilorma Sent by: live-devel-bounces at ns.live555.com 06/10/2008 05:15 AM Please respond to LIVE555 Streaming Media - development & use To LIVE555 Streaming Media - development & use cc Subject Re: [Live-devel] Problems with streaming live h264 video on TI da Vinci platform. I have one of those board here and was thinking about trying to port live555 over to it. Are you running Virtual Logix Linux or did you actually port it over to the DSP? If you can send me your test code or project I can help debug. On Tue, 2008-06-10 at 17:46 +0800, Amit Lobo wrote: > Hi All, > > I am able to port and run Live555 on DSP/BIOS of EVM6437.The test I > did is reading stored h264 video from a file. > > Now when I try to use live frames from the encoder I face problem > after 1 sec of video play.I can see the first 1 sec video properly,but > later after 1 sec it looks like something goes wrong with the RTP.The > client I am using is VLC media player. > Want to know if anybody has face similar problem. > > Thanks in advance > > Amit > _______________________________________________ > 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: From mike.gilorma at apogeelabs.com Tue Jun 10 10:43:10 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Tue, 10 Jun 2008 13:43:10 -0400 Subject: [Live-devel] streaming video and audio via RTSP In-Reply-To: <1213045355.3158.15.camel@Julia> References: <1213045355.3158.15.camel@Julia> Message-ID: <1213119790.3160.16.camel@Julia> Ok, so I got it working somewhat. I can play the stream using VLC (although it stops after 41 seconds for some reason). I found that Quicktime plays back the entire stream without any problems. However, with both players, the audio is no in sync with the video. Not sure why this is, I'm sure there is something I am missing here. Looking at the wireshark capture of the network stream, I can see that the timestamps on the two streams do not match up. Does that have something to do with it? I have attached my test program. Again, any help on this subject is greatly appreciated. -Mike On Mon, 2008-06-09 at 17:02 -0400, Mike Gilorma wrote: > How do y