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 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 -------------- next part -------------- A non-text attachment was scrubbed... Name: elementStreamer.cpp Type: text/x-c++src Size: 1489 bytes Desc: not available URL: From Jerry.Johns at nuvation.com Tue Jun 10 11:24:36 2008 From: Jerry.Johns at nuvation.com (Jerry Johns) Date: Tue, 10 Jun 2008 11:24:36 -0700 Subject: [Live-devel] streaming video and audio via RTSP Message-ID: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAC5@mailguy3.skynet.nuvation.com> For both streams to be synchronized, u need to ensure that you set the presentationTime for each packet of either audio or video - that is the only way a receiver can synchronize what otherwise would seem to be asynchronously transmitted streams. This can be done by getting it from the input stream, or by manually calculating it using increments of the frame time, etc. The latter method is however prone to drift, and might not be applicable in all codec scenarios (variable time encoded frames). The drift might also cause VLC/Quicktime to lose sync after a while As for your video/audio streams playing back, VLC will play them back at the same time by default, unless you have disabled it manually (go to the Video-> and Audio-> tabs to see if your stream is active, you can disable it there too and that might have been what you did) Hope it helps, Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: From lonnie.walker at apogeelabs.com Tue Jun 10 13:52:32 2008 From: lonnie.walker at apogeelabs.com (Lonnie Walker) Date: Tue, 10 Jun 2008 16:52:32 -0400 Subject: [Live-devel] Syncing up to MPEG-2 Transport Stream Message-ID: <1213131152.3737.23.camel@carrington> I created two MPEG-2 transport streams. Stream A contains MPEG-2 audio and video and was created with testMPEG1or2ProgramToTransportStream. stream B contains MPEG-4 video and AAC audio and was created using live555. When I stream both of these .ts files using testMPEG2TransportStreamer and play the stream with VLC, stream A can be played no matter where at in the stream the RTP session is at, but stream B only can be played at the beginning of the session. I'm guessing that stream B only has 1 VOL header and if VLC doesn't receive the VOL header, the stream won't play. Does anyone know if there is a class responsible for adding MPEG-4 VOL headers to the stream or should the MPEG-4 Elementary stream already contain the VOL headers before being processed by live555? Thanks Lonnie From mike.gilorma at apogeelabs.com Tue Jun 10 14:28:16 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Tue, 10 Jun 2008 17:28:16 -0400 Subject: [Live-devel] streaming video and audio via RTSP In-Reply-To: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAC5@mailguy3.skynet.nuvation.com> References: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAC5@mailguy3.skynet.nuvation.com> Message-ID: <1213133296.3164.8.camel@Julia> According to the output from VLC it says the rtp source has been synchronized twice (once for each??). I looked through the code and see where the timestamp is getting set for each packet, the absolute time for each packet is very close, but after convertToRTPTimestamp gets called the time stamps for each stream are way off. Is this what is expected? I haven't disabled any of the streams in VLC, but do notice that the timer in the lower corner counts up to 2 seconds then starts over at 0. Not sure if that has something to do with anything, just thought I would mention it. At this point however, I am more concerned with synchronizing the streams than with VLC acting weird. Thanks for the assistance, -Mike On Tue, 2008-06-10 at 11:24 -0700, Jerry Johns wrote: > For both streams to be synchronized, u need to ensure that you set the > presentationTime for each packet of either audio or video ? that is > the only way a receiver can synchronize what otherwise would seem to > be asynchronously transmitted streams. This can be done by getting it > from the input stream, or by manually calculating it using increments > of the frame time, etc. The latter method is however prone to drift, > and might not be applicable in all codec scenarios (variable time > encoded frames). The drift might also cause VLC/Quicktime to lose sync > after a while > > > > As for your video/audio streams playing back, VLC will play them back > at the same time by default, unless you have disabled it manually (go > to the Video-> and Audio-> tabs to see if your stream is active, you > can disable it there too and that might have been what you did) > > > > Hope it helps, > > > > Jerry > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From tpollock1958 at aol.com Tue Jun 10 17:25:10 2008 From: tpollock1958 at aol.com (tpollock1958 at aol.com) Date: Tue, 10 Jun 2008 20:25:10 -0400 Subject: [Live-devel] Hinting the audio track of file created by openRTSP Message-ID: <8CA9970BDEA89BE-16A8-28FF@webmail-stg-d10.sysops.aol.com> I'm having a problem hinting the audio track of a file created by openRTSP.? First of all, I was never able to get the -H argument to work, so I'm trying to hint the file with mp4creator.? Here's the setup I'm using: VLC -> Darwin Streaming Server -> openRTSP -> file, then hint with mp4creator Here are the details (using mp4info) of the file I want to stream: mp4info version 1.6.1 src.mp4: Track??? Type? ?? Info 1??????? audio??? MPEG-4 AAC LC, 59.141 secs, 256 kbps, 44100 Hz 2??????? video??? MPEG-4 Adv Simple at L3, 59.166 secs, 512 kbps, 320x240 @ 30.000338 fps In order to generate an sdp file I first run VLC with these command line arguments: vlc src.mp4 --sout-rtp-dst="127.0.0.1" --sout-rtp-ttl="127" --sout-rtp-sdp="file://c:\\foo .sdp" I then copy foo.sdp to the Darwin media directory. Next, with Darwin running, I launch openRTSP with these command arguments: -n -w 320 -h 240 -f 30 -4 rtsp://localhost/foo.sdp (I've slightly modified openRTSP to close the mp4 file it's writing to when it detects the stream has stopped.) Finally, I run VLC with the same command line arguments, except without the "--sout-rtp-sdp=" argument: vlc src.mp4 --sout-rtp-dst="127.0.0.1" --sout-rtp-ttl="127" The file is streamed, and openRTSP creates a file (dst.mp4) with an audio and video track.? Here are the details of the file generated by openRTSP: dst.mp4: Track??? Type?? ? Info 1 ? ? ?? audio??? AAC from .mov, 58.537 secs, 256 kbps, 44100 Hz 2??????? video??? MPEG-4 Unknown Profile(255), 58.533 secs, 872 kbps, 320x240 @ 30.000171 fps I can play dst.mp4 with QuickTime. Using mp4creator, I can hint the video track, but not the audio track.? That is the issue here. If I open dst.mp4 with QuickTime Pro and export it as a MPEG-4 file, then examine it with mp4info, it looks like this: mp4info version 1.6.1 exported_dst.mp4: Track?? Type??? Info 1?????? audio?? MPEG-4 AAC LC, 58.537 secs, 128 kbps, 44100 Hz 2?????? video?? MPEG-4 Simple @ L1, 58.533 secs, 64 kbps, 160x120 @ 15.000085 fps I can hint the audio track of exported_dst.mp4. Any ideas how to get openRTSP to generate an 'MPEG-4 AAC LC' audio track? Tim -------------- next part -------------- An HTML attachment was scrubbed... URL: From amit.lobo at gmail.com Tue Jun 10 17:29:39 2008 From: amit.lobo at gmail.com (Amit Lobo) Date: Wed, 11 Jun 2008 08:29:39 +0800 Subject: [Live-devel] Problems with streaming live h264 video on TI da Vinci platform. In-Reply-To: References: <1213099172.3160.3.camel@Julia> Message-ID: Hi Ishwar, Thanks for you help. Are you using TI demo and live555 together? Because my problem lies in the integration side. About timer I dont think I am facing similar problem that you have mentioned,because I have done test with reading video from the file. Thanks & Regards Amit 2008/6/11 : > > 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 < > live-devel at ns.live555.com> > > 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 > > > _______________________________________________ > 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 xiangwust at yahoo.cn Tue Jun 10 18:28:33 2008 From: xiangwust at yahoo.cn (Xzou) Date: Wed, 11 Jun 2008 09:28:33 +0800 (CST) Subject: [Live-devel] live555 under high bitrate streaming Message-ID: <147930.79737.qm@web92104.mail.cnh.yahoo.com> Recently,I'm trying to construct a embedded rtsp/rtp client using live555 in order to receive very high bitrate media stream which could be nearly 20M bit per second.But the bad news is my client lost a lot of packets when the bitrate of media stream is higher than 4M bit per second. My cpu frequency is 200M hz and have no more than 64M ram available for application softwares. How could I fix it? --------------------------------- ???????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: From xiangwust at yahoo.cn Tue Jun 10 18:28:33 2008 From: xiangwust at yahoo.cn (Xzou) Date: Wed, 11 Jun 2008 09:28:33 +0800 (CST) Subject: [Live-devel] live555 under high bitrate streaming Message-ID: <147930.79737.qm@web92104.mail.cnh.yahoo.com> Recently,I'm trying to construct a embedded rtsp/rtp client using live555 in order to receive very high bitrate media stream which could be nearly 20M bit per second.But the bad news is my client lost a lot of packets when the bitrate of media stream is higher than 4M bit per second. My cpu frequency is 200M hz and have no more than 64M ram available for application softwares. How could I fix it? --------------------------------- ???????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: From souravpal at gmail.com Tue Jun 10 18:41:48 2008 From: souravpal at gmail.com (Sourav Pal) Date: Tue, 10 Jun 2008 21:41:48 -0400 Subject: [Live-devel] live555 under high bitrate streaming In-Reply-To: <147930.79737.qm@web92104.mail.cnh.yahoo.com> References: <147930.79737.qm@web92104.mail.cnh.yahoo.com> Message-ID: 2008/6/10 Xzou : > Recently,I'm trying to construct a embedded rtsp/rtp client using live555 > in order to receive very high bitrate media stream which could be nearly 20M > bit per second.But the bad news is my client lost a lot of packets when the > bitrate of media stream is higher than 4M bit per second. > My cpu frequency is 200M hz and have no more than 64M ram available for > application softwares. > How could I fix it? > > ------------------------------ > ???????????? > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > > Where are your packets getting dropped ? How did you measure it ? You might want to increase the size of the udp buffers. That does help sometimes. Thanks, Sourav -------------- next part -------------- An HTML attachment was scrubbed... URL: From iec23801 at gmail.com Tue Jun 10 18:51:04 2008 From: iec23801 at gmail.com (WangLi) Date: Wed, 11 Jun 2008 09:51:04 +0800 Subject: [Live-devel] live555 under high bitrate streaming In-Reply-To: <147930.79737.qm@web92104.mail.cnh.yahoo.com> References: <147930.79737.qm@web92104.mail.cnh.yahoo.com> Message-ID: <114260a20806101851v1f0c6f65j7148c7c2ce7d2947@mail.gmail.com> please look at http://www.live555.com/liveMedia/faq.html 2008/6/11 Xzou : > Recently,I'm trying to construct a embedded rtsp/rtp client using live555 > in order to receive very high bitrate media stream which could be nearly 20M > bit per second.But the bad news is my client lost a lot of packets when the > bitrate of media stream is higher than 4M bit per second. > My cpu frequency is 200M hz and have no more than 64M ram available for > application softwares. > How could I fix it? > > ------------------------------ > ???????????? > _______________________________________________ > 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 finlayson at live555.com Tue Jun 10 19:16:59 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 10 Jun 2008 19:16:59 -0700 Subject: [Live-devel] Hinting the audio track of file created by openRTSP In-Reply-To: <8CA9970BDEA89BE-16A8-28FF@webmail-stg-d10.sysops.aol.com> References: <8CA9970BDEA89BE-16A8-28FF@webmail-stg-d10.sysops.aol.com> Message-ID: >The file is streamed, and openRTSP creates a file (dst.mp4) with an >audio and video track. Here are the details of the file generated >by openRTSP: > >dst.mp4: >Track Type Info >1 audio AAC from .mov, 58.537 secs, 256 kbps, 44100 Hz >2 video MPEG-4 Unknown Profile(255), 58.533 secs, 872 >kbps, 320x240 @ 30.000171 fps > >I can play dst.mp4 with QuickTime. > >Using mp4creator, I can hint the video track, but not the audio >track. That is the issue here. Then that is apparently a problem with "mp4creator", not with our software. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From rajeshkumar.r at imimobile.com Tue Jun 10 22:39:56 2008 From: rajeshkumar.r at imimobile.com (rajesh) Date: Wed, 11 Jun 2008 11:09:56 +0530 Subject: [Live-devel] whether rtspserver supports Live Streaming(like TV channel) Message-ID: <76D4CB511A69492E81B8269B501EA2B9@imidomain.com> Hi , We are Planning to use Live555 rtsp Server . can we give Live data (TV channel) input to the Live555 rtsp Server . Thanks in Advance. 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Tue Jun 10 23:16:43 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 10 Jun 2008 23:16:43 -0700 Subject: [Live-devel] MPEG2TransportStreamIndexer In-Reply-To: <3fe35ed50806090324u37581c58j9f9c7d12246b176f@mail.gmail.com> References: <3fe35ed50806090324u37581c58j9f9c7d12246b176f@mail.gmail.com> Message-ID: >I had problem about MPEG2TransportStreamIndexer, >when I used MPEG2TransportStreamIndexer for create index file(.tsx) >that size of file is 0 Byte. For the indexing to work, the input file must: 1/ Be a MPEG Transport Stream file (obviously) 2/ Contain MPEG-1 or MPEG-2 (*not* MPEG-4 or H.264) video If you're sure that both of these are true, then please put your file on a web site, and send us the URL, so we can download and test it for ourselves. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From manzoor505 at yahoo.com Wed Jun 11 00:52:29 2008 From: manzoor505 at yahoo.com (Manzoor Ahmed) Date: Wed, 11 Jun 2008 00:52:29 -0700 (PDT) Subject: [Live-devel] Help Help Help ......... Message-ID: <650637.98155.qm@web52403.mail.re2.yahoo.com> Hey everyone, I have posted on this list but never get a response. Please if someone can help me ? I am getting following errors when i build the Live555 library on VS2005 and windows vista. 1>Generating Code... 1>Compiling manifest to resources... 1>Linking... 1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain at 16 referenced in function ___tmainCRTStartup 1>C:\Users\Manzoor\Documents\Visual Studio 2005\Projects\ManzoorLive\Debug\ManzoorLive.exe : fatal error LNK1120: 1 unresolved externals 1>Build log was saved at "file://c:\Users\Manzoor\Documents\Visual Studio 2005\Projects\ManzoorLive\ManzoorLive\Debug\BuildLog.htm" 1>ManzoorLive - 2 error(s), 217 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 xiangwust at yahoo.cn Wed Jun 11 01:11:03 2008 From: xiangwust at yahoo.cn (Xzou) Date: Wed, 11 Jun 2008 16:11:03 +0800 (CST) Subject: [Live-devel] =?gb2312?b?u9i4tKO6IFJlOiAgbGl2ZTU1NSB1bmRlciBoaWdo?= =?gb2312?b?IGJpdHJhdGUgc3RyZWFtaW5n?= In-Reply-To: Message-ID: <854996.16299.qm@web92104.mail.cnh.yahoo.com> I wrote a simple program which just receive a stream using rtp and dump it based on live555.In this program,I increased the socket buffer to 2,000,000 bytes using the function increaseReceiveBufferTo() provided by live555.Then compare the dumped file and the original file,I found it's much smaller than the original file.When playing the dumped file using a common media player like VLC or mplayer, the video picture has broken.The original file's bitrate is about 20M bit per second.That seems many data has dropped.But my network card works good,it can work in 100M bit/s. Then I perceive there is something wrong in rtp processing in live555 under high bitrate environment. Sourav Pal ??? 2008/6/10 Xzou : Recently,I'm trying to construct a embedded rtsp/rtp client using live555 in order to receive very high bitrate media stream which could be nearly 20M bit per second.But the bad news is my client lost a lot of packets when the bitrate of media stream is higher than 4M bit per second. My cpu frequency is 200M hz and have no more than 64M ram available for application softwares. How could I fix it? --------------------------------- ???????????? _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel Where are your packets getting dropped ? How did you measure it ? You might want to increase the size of the udp buffers. That does help sometimes. Thanks, Sourav _______________________________________________ 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 tpollock1958 at aol.com Wed Jun 11 04:52:19 2008 From: tpollock1958 at aol.com (tpollock1958 at aol.com) Date: Wed, 11 Jun 2008 07:52:19 -0400 Subject: [Live-devel] Hinting the audio track of file created by openRTSP In-Reply-To: References: <8CA9970BDEA89BE-16A8-28FF@webmail-stg-d10.sysops.aol.com> Message-ID: <8CA99D0BBB249C0-17D0-2AB@webmailbeta-m10.sysops.aol.com> True, the problem is with mp4creator not being able to hint the audio track created by openRTSP.? My question was how to control the type of audio track openRTSP creates. Tim -----Original Message----- From: Ross Finlayson To: LIVE555 Streaming Media - development & use Sent: Tue, 10 Jun 2008 9:16 pm Subject: Re: [Live-devel] Hinting the audio track of file created by openRTSP >The file is streamed, and openRTSP creates a file (dst.mp4) with an >audio and video track. Here are the details of the file generated >by openRTSP:? >? >dst.mp4:? >Track Type Info? >1 audio AAC from .mov, 58.537 secs, 256 kbps, 44100 Hz? >2 video MPEG-4 Unknown Profile(255), 58.533 secs, 872 >kbps, 320x240 @ 30.000171 fps? >? >I can play dst.mp4 with QuickTime.? >? >Using mp4creator, I can hint the video track, but not the audio >track. That is the issue here.? ? Then that is apparently a problem with "mp4creator", not with our software.? -- ? Ross Finlayson? Live Networks, Inc.? http://www.live555.com/? _______________________________________________? live-devel mailing list? live-devel at lists.live555.com? http://lists.live555.com/mailman/listinfo/live-devel? -------------- next part -------------- An HTML attachment was scrubbed... URL: From tonjefr at ifi.uio.no Wed Jun 11 06:05:55 2008 From: tonjefr at ifi.uio.no (Tonje Fredrikson) Date: Wed, 11 Jun 2008 15:05:55 +0200 (CEST) Subject: [Live-devel] Hinting the audio track of file created by openRTSP In-Reply-To: <8CA9970BDEA89BE-16A8-28FF@webmail-stg-d10.sysops.aol.com> References: <8CA9970BDEA89BE-16A8-28FF@webmail-stg-d10.sysops.aol.com> Message-ID: <55153.129.240.228.53.1213189555.squirrel@webmail.uio.no> > Using mp4creator, I can hint the video track, but not the audio track.? > That is the issue here. > > mp4info version 1.6.1 > exported_dst.mp4: > Track?? Type??? Info > 1?????? audio?? MPEG-4 AAC LC, 58.537 secs, 128 kbps, 44100 Hz > > 2?????? video?? MPEG-4 Simple @ L1, 58.533 secs, 64 kbps, 160x120 @ > 15.000085 fps > > I can hint the audio track of exported_dst.mp4. > > > Any ideas how to get openRTSP to generate an 'MPEG-4 AAC LC' audio track? > > Tim > Hi Tim, I am not familiar with mp4creator or the setup you are working with. However, I have previously used MP4Box for hinting files prior to streaming through Darwin with success. In my case QuickTime accepted the non-hinted file, but not the Darwin streamer. Not sure if that can be of help for your purpose, but figured it wouldn't hurt to mention :) -- Tonje From tubo.catodico at gmail.com Wed Jun 11 06:32:31 2008 From: tubo.catodico at gmail.com (Francesco Matassoni) Date: Wed, 11 Jun 2008 15:32:31 +0200 Subject: [Live-devel] How to protect the RTP payload Message-ID: I need to protect an RTP stream coming from VLC, so i think to make a program that stand in the middle between a server and a client. My program take the payload from the RTP packet, protect them and then retransmits it to another port, always by RTP. I think to use this simple architecture: SimpleRTPSource --> MyFilter --> SimpleRTPSink, obviously the MyFilter class protect the payload. I have a couple of question about this: 1) Which class i need to subclass to create the MyFilter class? The MultiFramedRTPSource or simple the FrameSource? 2) The data that come to the SimpleRTPSink are no more video or audio data but this data ecnrypted; so is it a problem for the SimpleRTPSink or it will work even with this non-compliant data? From bgmarete at gmail.com Wed Jun 11 08:33:31 2008 From: bgmarete at gmail.com (Brian Marete) Date: Wed, 11 Jun 2008 18:33:31 +0300 Subject: [Live-devel] How to protect the RTP payload In-Reply-To: References: Message-ID: <6dd519ae0806110833x709df967n9c81ce9f038e6f9b@mail.gmail.com> On Wed, Jun 11, 2008 at 4:32 PM, Francesco Matassoni wrote: > I need to protect an RTP stream coming from VLC, so i think to make a > program that stand in the middle between a server and a client. My program > take the payload from the RTP packet, protect them and then retransmits it > to another port, always by RTP. I think to use this simple architecture: > SimpleRTPSource --> MyFilter --> SimpleRTPSink, obviously the MyFilter class > protect the payload. I have a couple of question about this: > > 1) Which class i need to subclass to create the MyFilter class? The > MultiFramedRTPSource or simple the FrameSource? > 2) The data that come to the SimpleRTPSink are no more video or audio data > but this data ecnrypted; so is it a problem for the SimpleRTPSink or it will > work even with this non-compliant data? Hello, I asked a similar question a few days ago on this list and received a reply from Ross. (Search the mailing list for "RTP Translator"). Basically, if you do not need to modify the RTP headers and simply want to protect the data, you should use the BasicUDPSource and BasicUDPSink classes. -- B. Gitonga Marete Tel: +254-722-151-590 From finlayson at live555.com Wed Jun 11 08:41:04 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 11 Jun 2008 08:41:04 -0700 Subject: [Live-devel] Hinting the audio track of file created by openRTSP In-Reply-To: <8CA99D0BBB249C0-17D0-2AB@webmailbeta-m10.sysops.aol.com> References: <8CA9970BDEA89BE-16A8-28FF@webmail-stg-d10.sysops.aol.com> <8CA99D0BBB249C0-17D0-2AB@webmailbeta-m10.sysops.aol.com> Message-ID: >True, the problem is with mp4creator not being able to hint the >audio track created by openRTSP. My question was how to control the >type of audio track openRTSP creates. I'm no sure what you mean by "the type of audio track", but Remember, You Have Complete Source Code. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From tubo.catodico at gmail.com Wed Jun 11 08:48:47 2008 From: tubo.catodico at gmail.com (Francesco Matassoni) Date: Wed, 11 Jun 2008 17:48:47 +0200 Subject: [Live-devel] How to protect the RTP payload In-Reply-To: <6dd519ae0806110833x709df967n9c81ce9f038e6f9b@mail.gmail.com> References: <6dd519ae0806110833x709df967n9c81ce9f038e6f9b@mail.gmail.com> Message-ID: In data 11 giugno 2008 alle ore 17:33:31, Brian Marete ha scritto: > Hello, > > I asked a similar question a few days ago on this list and received a > reply from Ross. (Search the mailing list for "RTP Translator"). > Basically, if you do not need to modify the RTP headers and simply > want to protect the data, you should use the BasicUDPSource and > BasicUDPSink classes. > Ok, thanks. So i supposed that you have subclass the FramedSource to create the "protector" class. Am i right? -- Creato con il rivoluzionario client e-mail di Opera: http://www.opera.com/mail/ From tpollock1958 at aol.com Wed Jun 11 09:15:47 2008 From: tpollock1958 at aol.com (tpollock1958 at aol.com) Date: Wed, 11 Jun 2008 12:15:47 -0400 Subject: [Live-devel] Hinting the audio track of file created by openRTSP In-Reply-To: References: <8CA9970BDEA89BE-16A8-28FF@webmail-stg-d10.sysops.aol.com> <8CA99D0BBB249C0-17D0-2AB@webmailbeta-m10.sysops.aol.com> Message-ID: <8CA99F58AAC0502-11A4-14DB@webmail-stg-d05.sysops.aol.com> Typical, unhelpful, arrogant response I've seen from this person. Tim -----Original Message----- From: Ross Finlayson To: LIVE555 Streaming Media - development & use Sent: Wed, 11 Jun 2008 10:41 am Subject: Re: [Live-devel] Hinting the audio track of file created by openRTSP True, the problem is with mp4creator not being able to hint the audio track created by openRTSP.? My question was how to control the type of audio track openRTSP creates. I'm no sure what you mean by "the type of audio track", but Remember, You Have Complete Source Code. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel -------------- next part -------------- An HTML attachment was scrubbed... URL: From bgmarete at gmail.com Wed Jun 11 09:37:26 2008 From: bgmarete at gmail.com (Brian Marete) Date: Wed, 11 Jun 2008 19:37:26 +0300 Subject: [Live-devel] How to protect the RTP payload In-Reply-To: References: <6dd519ae0806110833x709df967n9c81ce9f038e6f9b@mail.gmail.com> Message-ID: <6dd519ae0806110937p733127c3mde7d9fa13df96a36@mail.gmail.com> On Wed, Jun 11, 2008 at 6:48 PM, Francesco Matassoni wrote: > In data 11 giugno 2008 alle ore 17:33:31, Brian Marete > ha scritto: > >> Hello, >> >> I asked a similar question a few days ago on this list and received a >> reply from Ross. (Search the mailing list for "RTP Translator"). >> Basically, if you do not need to modify the RTP headers and simply >> want to protect the data, you should use the BasicUDPSource and >> BasicUDPSink classes. >> > > Ok, thanks. So i supposed that you have subclass the FramedSource to create > the "protector" class. Am i right? I think sub-classing FramedFilter would be easier. -- B. Gitonga Marete Tel: +254-722-151-590 From bgmarete at gmail.com Wed Jun 11 09:55:03 2008 From: bgmarete at gmail.com (Brian Marete) Date: Wed, 11 Jun 2008 19:55:03 +0300 Subject: [Live-devel] Hinting the audio track of file created by openRTSP In-Reply-To: <8CA99F58AAC0502-11A4-14DB@webmail-stg-d05.sysops.aol.com> References: <8CA9970BDEA89BE-16A8-28FF@webmail-stg-d10.sysops.aol.com> <8CA99D0BBB249C0-17D0-2AB@webmailbeta-m10.sysops.aol.com> <8CA99F58AAC0502-11A4-14DB@webmail-stg-d05.sysops.aol.com> Message-ID: <6dd519ae0806110955i6eac4a1t9281bd5b3f52b1a7@mail.gmail.com> 2008/6/11 : > Typical, unhelpful, arrogant response I've seen from this person. > If you have been here a while, you will know that Ross routinely and courteously answers all manner of questions posed here, including repetitive queries already answered on the FAQ or previously on the mailing list. -- B. Gitonga Marete Tel: +254-722-151-590 From tpollock1958 at aol.com Wed Jun 11 10:38:14 2008 From: tpollock1958 at aol.com (tpollock1958 at aol.com) Date: Wed, 11 Jun 2008 13:38:14 -0400 Subject: [Live-devel] Hinting the audio track of file created by openRTSP In-Reply-To: <6dd519ae0806110955i6eac4a1t9281bd5b3f52b1a7@mail.gmail.com> References: <8CA9970BDEA89BE-16A8-28FF@webmail-stg-d10.sysops.aol.com> <8CA99D0BBB249C0-17D0-2AB@webmailbeta-m10.sysops.aol.com> <8CA99F58AAC0502-11A4-14DB@webmail-stg-d05.sysops.aol.com> <6dd519ae0806110955i6eac4a1t9281bd5b3f52b1a7@mail.gmail.com> Message-ID: <8CA9A010ECD5E99-11A4-1A88@webmail-stg-d05.sysops.aol.com> Sorry.? I meant to say his reply was helpful and courteous. Tim -----Original Message----- From: Brian Marete To: LIVE555 Streaming Media - development & use Sent: Wed, 11 Jun 2008 11:55 am Subject: Re: [Live-devel] Hinting the audio track of file created by openRTSP 2008/6/11 : > Typical, unhelpful, arrogant response I've seen from this person. > If you have been here a while, you will know that Ross routinely and courteously answers all manner of questions posed here, including repetitive queries already answered on the FAQ or previously on the mailing list. -- B. Gitonga Marete Tel: +254-722-151-590 _______________________________________________ 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 Jerry.Johns at nuvation.com Wed Jun 11 10:43:50 2008 From: Jerry.Johns at nuvation.com (Jerry Johns) Date: Wed, 11 Jun 2008 10:43:50 -0700 Subject: [Live-devel] Hinting the audio track of file created by openRTSP In-Reply-To: <6dd519ae0806110955i6eac4a1t9281bd5b3f52b1a7@mail.gmail.com> Message-ID: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAC6@mailguy3.skynet.nuvation.com> I concur - if you look at all the messages in the list, he's responded to almost all of them Some of the questions here are due to a lack of research, or not having looked at the source code before, or not phrasing the question properly That being said, I have gleaned quite a bit from reading the various questions ppl have posed :) Jerry -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Brian Marete Sent: Wednesday, June 11, 2008 12:55 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] Hinting the audio track of file created by openRTSP 2008/6/11 : > Typical, unhelpful, arrogant response I've seen from this person. > If you have been here a while, you will know that Ross routinely and courteously answers all manner of questions posed here, including repetitive queries already answered on the FAQ or previously on the mailing list. -- B. Gitonga Marete Tel: +254-722-151-590 _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel From souravpal at gmail.com Wed Jun 11 14:55:05 2008 From: souravpal at gmail.com (Sourav Pal) Date: Wed, 11 Jun 2008 17:55:05 -0400 Subject: [Live-devel] =?gb2312?b?u9i4tKO6IFJlOiBsaXZlNTU1IHVuZGVyIGhpZ2gg?= =?gb2312?b?Yml0cmF0ZSBzdHJlYW1pbmc=?= In-Reply-To: <854996.16299.qm@web92104.mail.cnh.yahoo.com> References: <854996.16299.qm@web92104.mail.cnh.yahoo.com> Message-ID: 2008/6/11 Xzou : > > I wrote a simple program which just receive a stream using rtp and dump it based on live555.In this program,I increased the socket buffer to 2,000,000 bytes using the function increaseReceiveBufferTo() provided by live555.Then compare the dumped file and the original file,I found it's much smaller than the original file.When playing the dumped file using a common media player like VLC or mplayer, the video picture has broken.The original file's bitrate is about 20M bit per second.That seems many data has dropped.But my network card works good,it can work in 100M bit/s. Then I perceive there is something wrong in rtp processing in live555 under high bitrate environment. > > Sourav Pal ??? > > 2008/6/10 Xzou : >> >> Recently,I'm trying to construct a embedded rtsp/rtp client using live555 in order to receive very high bitrate media stream which could be nearly 20M bit per second.But the bad news is my client lost a lot of packets when the bitrate of media stream is higher than 4M bit per second. >> My cpu frequency is 200M hz and have no more than 64M ram available for application softwares. >> How could I fix it? >> ________________________________ >> ???????????? >> _______________________________________________ >> live-devel mailing list >> live-devel at lists.live555.com >> http://lists.live555.com/mailman/listinfo/live-devel >> > > Where are your packets getting dropped ? How did you measure it ? > You might want to increase the size of the udp buffers. That does help sometimes. > > Thanks, > Sourav > _______________________________________________ > 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 The problem might not be at your NIC. These sort of high bit rate cane cause packet drops at both the streaming side ( most likely) as well as on the receive side. It might be that UDP buffers are dropping the packets. You might want to increase the udp buffer size\ at both the receive and transmit end. If you are in linux , use the following : sysctl net.core.rmem_max = < compute how much you need for 20mbps> sysctl net.core.wmem_max = < compute how much you need for 20mbps> Thanks, Sourav From ruud.siebierski at eventis.nl Wed Jun 11 15:39:11 2008 From: ruud.siebierski at eventis.nl (Ruud Siebierski) Date: Thu, 12 Jun 2008 00:39:11 +0200 Subject: [Live-devel] Design Message-ID: Hi, I'm just a newbie, so sorry for a stupid question. I want to add some parameters to the GET_PARAMETER call, like position. Now I found a function MediaSubsession::getNormalPlayTime which i could use (i guess), but I have no clue how to access a MediaSubsession object from the GET_PARAMETER call handler. So actually i have 2 questions; 1. Is there a design of Live555, like an UML class diagram? 2. How can i access the state/position/scale of a certain session/stream within the GET_PARAMETER handler? Thanks for reading... Ruud -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Wed Jun 11 15:54:05 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 11 Jun 2008 15:54:05 -0700 Subject: [Live-devel] Design In-Reply-To: References: Message-ID: >I want to add some parameters to the GET_PARAMETER call, like >position. Now I found a function MediaSubsession::getNormalPlayTime >which i could use (i guess), but I have no clue how to access a >MediaSubsession object from the GET_PARAMETER call handler. You would do this (from the "RTSPClientSession" object) by first accessing the "ServerMediaSession" object, and iterating through its "ServerMediaSubsession" objects. See, for example, the code starting at line 644 of "RTSPServer.cpp". >1. Is there a design of Live555, like an UML class diagram? The closest we have to this is the "Doxygen" diagrams - e.g., http://www.live555.com/liveMedia/doxygen/html/classMedium.html -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From xiangwust at yahoo.cn Wed Jun 11 22:41:31 2008 From: xiangwust at yahoo.cn (Xzou) Date: Thu, 12 Jun 2008 13:41:31 +0800 (CST) Subject: [Live-devel] =?gb2312?b?u9i4tKO6IFJlOiAgu9i4tKO6IFJlOiBsaXZlNTU1?= =?gb2312?b?IHVuZGVyIGhpZ2ggYml0cmF0ZSBzdHJlYW1pbmc=?= In-Reply-To: Message-ID: <213681.75752.qm@web92102.mail.cnh.yahoo.com> Yes,it does works when I increase net.core.rmem_max and net.core.wmem_max on both client side and server side.Now I can receive media stream at 8Mbit/s,but still drop data if at higher bitrate. I think it has something to do with my hardware like cpu(only 200Mhz),receive udp packet and processing the rtp packets in their payload may swallow a lot of cpu time.By the way,my test file type is TS,then the server transmit these TS packets on rtp packets and hence on udp packets,I think processing this kind of packet will need a more powerful cpu,isn't it? Sourav Pal ??? 2008/6/11 Xzou : > > I wrote a simple program which just receive a stream using rtp and dump it based on live555.In this program,I increased the socket buffer to 2,000,000 bytes using the function increaseReceiveBufferTo() provided by live555.Then compare the dumped file and the original file,I found it's much smaller than the original file.When playing the dumped file using a common media player like VLC or mplayer, the video picture has broken.The original file's bitrate is about 20M bit per second.That seems many data has dropped.But my network card works good,it can work in 100M bit/s. Then I perceive there is something wrong in rtp processing in live555 under high bitrate environment. > > Sourav Pal ??? > > 2008/6/10 Xzou : >> >> Recently,I'm trying to construct a embedded rtsp/rtp client using live555 in order to receive very high bitrate media stream which could be nearly 20M bit per second.But the bad news is my client lost a lot of packets when the bitrate of media stream is higher than 4M bit per second. >> My cpu frequency is 200M hz and have no more than 64M ram available for application softwares. >> How could I fix it? >> ________________________________ >> ???????????? >> _______________________________________________ >> live-devel mailing list >> live-devel at lists.live555.com >> http://lists.live555.com/mailman/listinfo/live-devel >> > > Where are your packets getting dropped ? How did you measure it ? > You might want to increase the size of the udp buffers. That does help sometimes. > > Thanks, > Sourav > _______________________________________________ > 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 The problem might not be at your NIC. These sort of high bit rate cane cause packet drops at both the streaming side ( most likely) as well as on the receive side. It might be that UDP buffers are dropping the packets. You might want to increase the udp buffer size\ at both the receive and transmit end. If you are in linux , use the following : sysctl net.core.rmem_max = < compute how much you need for 20mbps> sysctl net.core.wmem_max = < compute how much you need for 20mbps> Thanks, Sourav _______________________________________________ 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 lmanas.iisc at gmail.com Wed Jun 11 23:05:48 2008 From: lmanas.iisc at gmail.com (manas lenka) Date: Thu, 12 Jun 2008 11:35:48 +0530 Subject: [Live-devel] Getting PTS values of the Video Frames Using openRTSP Message-ID: <992962ef0806112305j4668983ajb76af334c38aa378@mail.gmail.com> Hi, I am using openRTSP client and livemediaServer to receive MPEG4 Elementary stream. I have written my own programme to play openRTSP received packets in REAL time.For that I need PTS values of each frame. But what I am finding that the PTS values of the frames are not getting changed (it is showing only on fixed value.) Can anybody tell me what is the reason. THANKs In Advance -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Wed Jun 11 23:14:16 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 11 Jun 2008 23:14:16 -0700 Subject: [Live-devel] Getting PTS values of the Video Frames Using openRTSP In-Reply-To: <992962ef0806112305j4668983ajb76af334c38aa378@mail.gmail.com> References: <992962ef0806112305j4668983ajb76af334c38aa378@mail.gmail.com> Message-ID: >I am using openRTSP client and livemediaServer to receive MPEG4 >Elementary stream. I have written my own programme to play openRTSP >received packets in REAL time.For that I need PTS values of each >frame. But what I am finding that the PTS values of the frames are >not getting changed (it is showing only on fixed value.) How are you getting the 'PTS' values? You should be using the "presentationTime" parameter that's passed to your sink's 'after getting' function. If you're using an unmodified "openRTSP", then you won't be able to get this information from the output file (unless you use the "-m" option, of course). Instead, you'll need to write a new "MediaSink" subclass that uses the "presentationTime" parameter when deciding when to display each frame. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Jun 12 00:46:16 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 12 Jun 2008 00:46:16 -0700 Subject: [Live-devel] openRTSP proxy support In-Reply-To: References: Message-ID: >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. What do you mean by this? Can you give us an example? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From c.boerstler at gmx.net Thu Jun 12 01:00:42 2008 From: c.boerstler at gmx.net (=?iso-8859-1?Q?=22Christian_B=F6rstler=22?=) Date: Thu, 12 Jun 2008 10:00:42 +0200 Subject: [Live-devel] openRTSP EXE Message-ID: <20080612080042.122040@gmx.net> Hi everybody, I have problems to compile the source code. Can anybody send me the openRTSP.exe (windows) in an email to c.boerstler at gmx.net? This is the only program I need for testing. Can u help me? thanks and many greetings Christian -- Ist Ihr Browser Vista-kompatibel? Jetzt die neuesten Browser-Versionen downloaden: http://www.gmx.net/de/go/browser -------------- next part -------------- An HTML attachment was scrubbed... URL: From tubo.catodico at gmail.com Thu Jun 12 01:53:56 2008 From: tubo.catodico at gmail.com (Francesco Matassoni) Date: Thu, 12 Jun 2008 10:53:56 +0200 Subject: [Live-devel] How to protect the RTP payload Message-ID: > I think sub-classing FramedFilter would be easier. > > --B. Gitonga Marete > Tel: +254-722-151-590 One more question, the frame coming from the BasicUDPSource by the getNextFrame() function is a complete udp payload, am i right? -- Creato con il rivoluzionario client e-mail di Opera: http://www.opera.com/mail/ From finlayson at live555.com Thu Jun 12 02:02:22 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 12 Jun 2008 02:02:22 -0700 Subject: [Live-devel] How to protect the RTP payload In-Reply-To: References: Message-ID: >One more question, the frame coming from the BasicUDPSource by the >getNextFrame() function is a complete udp payload, am i right? Yes. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From ruud.siebierski at eventis.nl Thu Jun 12 03:53:19 2008 From: ruud.siebierski at eventis.nl (Ruud Siebierski) Date: Thu, 12 Jun 2008 12:53:19 +0200 Subject: [Live-devel] Design In-Reply-To: References: Message-ID: Hi Ross, Thanks of course for the replay. I was just browsing through the doxygen 'docs'. My problem is that I don't see any relation between "ServerMediaSubsession" and "MediaSubsession". And my guess is I need a MediaSubSession object to get the position in NPT, etc. Should I use the Medium::lookUpByName function or something like that? Regards, Ruud -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: donderdag 12 juni 2008 0:54 To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] Design >I want to add some parameters to the GET_PARAMETER call, like >position. Now I found a function MediaSubsession::getNormalPlayTime >which i could use (i guess), but I have no clue how to access a >MediaSubsession object from the GET_PARAMETER call handler. You would do this (from the "RTSPClientSession" object) by first accessing the "ServerMediaSession" object, and iterating through its "ServerMediaSubsession" objects. See, for example, the code starting at line 644 of "RTSPServer.cpp". >1. Is there a design of Live555, like an UML class diagram? The closest we have to this is the "Doxygen" diagrams - e.g., http://www.live555.com/liveMedia/doxygen/html/classMedium.html -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel From finlayson at live555.com Thu Jun 12 06:48:28 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 12 Jun 2008 06:48:28 -0700 Subject: [Live-devel] Design In-Reply-To: References: Message-ID: >My problem is that I don't see any relation between >"ServerMediaSubsession" and "MediaSubsession". That's because there isn't one. "MediaS(ubs)ession" is used by RTP receivers (clients); "ServerMediaS(ubs)ession" is used by RTSP servers. If you want to implement the RTSP "GET_PARAMETER" operation by returning a NPT value, then you would do this in your RTSP server's implementation of this operation - using a "ServerMediaS(ubs)ession". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From DionG at Viewcast.com Thu Jun 12 09:39:03 2008 From: DionG at Viewcast.com (Dion Galbreath) Date: Thu, 12 Jun 2008 11:39:03 -0500 Subject: [Live-devel] running out of buffers? Message-ID: Hi, I am using live555 to send mp4 files to a helix server. If I have a video bitrate of 768 and audio of 128 everything is fine. However when I use a bitrate of 90 and 24 for audio, there seems to be issues were tons of frames get dropped? Is this because the buffers to big? Should it be smaller? Os is it the opposite. Should I increase the buffers? I would think at the smaller bitrate sizes it would be less work to stream as theres less information to stream, and less file size. Im using the LIVE555 Streaming Media library to stream to the server -------------- next part -------------- An HTML attachment was scrubbed... URL: From mike.gilorma at apogeelabs.com Thu Jun 12 09:34:03 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Thu, 12 Jun 2008 12:34:03 -0400 Subject: [Live-devel] streaming video and audio via RTSP In-Reply-To: <1213133296.3164.8.camel@Julia> References: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAC5@mailguy3.skynet.nuvation.com> <1213133296.3164.8.camel@Julia> Message-ID: <1213288443.6180.9.camel@Julia> It really looks like the timestamps are correct, I think the reason the voice is not in sync with the video is because the video starts streaming before the audio. I put some debug into the source code to show the timestamp for each packet of video and audio. This output shows me that multiple frames of video are being read out before the audio starts streaming. How can I resolve this issue? I've attached the output and my test program. Thanks, Mike On Tue, 2008-06-10 at 17:28 -0400, Mike Gilorma wrote: > According to the output from VLC it says the rtp source has been > synchronized twice (once for each??). I looked through the code and see > where the timestamp is getting set for each packet, the absolute time > for each packet is very close, but after convertToRTPTimestamp gets > called the time stamps for each stream are way off. Is this what is > expected? > > I haven't disabled any of the streams in VLC, but do notice that the > timer in the lower corner counts up to 2 seconds then starts over at 0. > Not sure if that has something to do with anything, just thought I would > mention it. At this point however, I am more concerned with > synchronizing the streams than with VLC acting weird. > > Thanks for the assistance, > > -Mike > > > On Tue, 2008-06-10 at 11:24 -0700, Jerry Johns wrote: > > For both streams to be synchronized, u need to ensure that you set the > > presentationTime for each packet of either audio or video ? that is > > the only way a receiver can synchronize what otherwise would seem to > > be asynchronously transmitted streams. This can be done by getting it > > from the input stream, or by manually calculating it using increments > > of the frame time, etc. The latter method is however prone to drift, > > and might not be applicable in all codec scenarios (variable time > > encoded frames). The drift might also cause VLC/Quicktime to lose sync > > after a while > > > > > > > > As for your video/audio streams playing back, VLC will play them back > > at the same time by default, unless you have disabled it manually (go > > to the Video-> and Audio-> tabs to see if your stream is active, you > > can disable it there too and that might have been what you did) > > > > > > > > Hope it helps, > > > > > > > > Jerry > > > > > > _______________________________________________ > > 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 -------------- A non-text attachment was scrubbed... Name: elementStreamer.cpp Type: text/x-c++src Size: 1477 bytes Desc: not available URL: -------------- next part -------------- fileName = test.m4e fileName = test.aac in 2nd part of create new MPEG4ESVideoRTPSink rtpTimestampFrequency: 90000 playing dummy file video timeStamp: 1213285996 322987 video timeStamp: 1213285996 322987 video timeStamp: 1213285996 322987 video timeStamp: 1213285996 322987 video timeStamp: 1213285996 322987 video timeStamp: 1213285996 322987 video timeStamp: 1213285996 322987 video timeStamp: 1213285996 322987 video timeStamp: 1213285996 322987 video timeStamp: 1213285996 322987 video timeStamp: 1213285996 322987 video timeStamp: 1213285996 322987 video timeStamp: 1213285996 322987 video timeStamp: 1213285996 322987 video timeStamp: 1213285996 322987 video timeStamp: 1213285996 388987 video timeStamp: 1213285996 388987 video timeStamp: 1213285996 454987 video timeStamp: 1213285996 454987 in create new stream source in source: payload: 97 frequency: 32000 configStr: 1290 numChans: 2 MPEG4GenericRTPSink rtpTimestampFrequency: 32000 MPEG4ESVideoRTPSink rtpTimestampFrequency: 90000 in create new stream source in source: payload: 97 frequency: 32000 configStr: 1290 numChans: 2 MPEG4GenericRTPSink rtpTimestampFrequency: 32000 setting fTimestampBase: 3895402619 setting fTimestampBase: 1697640784 audio timestamp: 1213285996 427267 video timeStamp: 1213285996 425460 video timeStamp: 1213285996 425460 video timeStamp: 1213285996 425460 video timeStamp: 1213285996 425460 video timeStamp: 1213285996 425460 video timeStamp: 1213285996 425460 video timeStamp: 1213285996 425460 video timeStamp: 1213285996 425460 video timeStamp: 1213285996 425460 video timeStamp: 1213285996 425460 video timeStamp: 1213285996 425460 video timeStamp: 1213285996 425460 video timeStamp: 1213285996 425460 video timeStamp: 1213285996 425460 video timeStamp: 1213285996 425460 video timeStamp: 1213285996 491460 video timeStamp: 1213285996 491460 audio timestamp: 1213285996 459267 audio timestamp: 1213285996 491267 video timeStamp: 1213285996 557460 video timeStamp: 1213285996 557460 audio timestamp: 1213285996 523267 audio timestamp: 1213285996 555267 video timeStamp: 1213285996 623460 video timeStamp: 1213285996 623460 audio timestamp: 1213285996 587267 audio timestamp: 1213285996 619267 video timeStamp: 1213285996 689460 video timeStamp: 1213285996 689460 audio timestamp: 1213285996 651267 video timeStamp: 1213285996 755460 audio timestamp: 1213285996 683267 video timeStamp: 1213285996 755460 audio timestamp: 1213285996 715267 audio timestamp: 1213285996 747267 video timeStamp: 1213285996 821460 video timeStamp: 1213285996 821460 audio timestamp: 1213285996 779267 audio timestamp: 1213285996 811267 video timeStamp: 1213285996 887460 video timeStamp: 1213285996 887460 audio timestamp: 1213285996 843267 audio timestamp: 1213285996 875267 video timeStamp: 1213285996 953460 video timeStamp: 1213285996 953460 audio timestamp: 1213285996 907267 audio timestamp: 1213285996 939267 video timeStamp: 1213285997 19460 video timeStamp: 1213285997 19460 audio timestamp: 1213285996 971267 audio timestamp: 1213285997 3267 video timeStamp: 1213285997 85460 video timeStamp: 1213285997 85460 audio timestamp: 1213285997 35267 audio timestamp: 1213285997 67267 video timeStamp: 1213285997 425460 video timeStamp: 1213285997 425460 video timeStamp: 1213285997 425460 video timeStamp: 1213285997 425460 video timeStamp: 1213285997 425460 video timeStamp: 1213285997 425460 audio timestamp: 1213285997 99267 audio timestamp: 1213285997 131267 audio timestamp: 1213285997 163267 audio timestamp: 1213285997 195267 audio timestamp: 1213285997 227267 audio timestamp: 1213285997 259267 audio timestamp: 1213285997 291267 audio timestamp: 1213285997 323267 audio timestamp: 1213285997 355267 audio timestamp: 1213285997 387267 audio timestamp: 1213285997 419267 video timeStamp: 1213285997 491459 video timeStamp: 1213285997 491459 video timeStamp: 1213285997 491459 audio timestamp: 1213285997 451267 audio timestamp: 1213285997 483267 video timeStamp: 1213285997 557460 video timeStamp: 1213285997 557460 video timeStamp: 1213285997 557460 audio timestamp: 1213285997 515267 audio timestamp: 1213285997 547267 video timeStamp: 1213285998 425460 video timeStamp: 1213285998 425460 video timeStamp: 1213285998 425460 video timeStamp: 1213285998 425460 video timeStamp: 1213285998 425460 video timeStamp: 1213285998 425460 audio timestamp: 1213285997 579267 audio timestamp: 1213285997 611267 audio timestamp: 1213285997 643267 audio timestamp: 1213285997 675267 audio timestamp: 1213285997 707267 audio timestamp: 1213285997 739267 audio timestamp: 1213285997 771267 audio timestamp: 1213285997 803267 audio timestamp: 1213285997 835267 audio timestamp: 1213285997 867267 audio timestamp: 1213285997 899267 audio timestamp: 1213285997 931267 audio timestamp: 1213285997 963267 audio timestamp: 1213285997 995267 audio timestamp: 1213285998 27267 audio timestamp: 1213285998 59267 audio timestamp: 1213285998 91267 audio timestamp: 1213285998 123267 audio timestamp: 1213285998 155267 audio timestamp: 1213285998 187267 audio timestamp: 1213285998 219267 audio timestamp: 1213285998 251267 audio timestamp: 1213285998 283267 audio timestamp: 1213285998 315267 audio timestamp: 1213285998 347267 audio timestamp: 1213285998 379267 audio timestamp: 1213285998 411267 video timeStamp: 1213285998 491460 video timeStamp: 1213285998 491460 audio timestamp: 1213285998 443267 audio timestamp: 1213285998 475267 video timeStamp: 1213285998 557459 video timeStamp: 1213285998 557459 audio timestamp: 1213285998 507267 audio timestamp: 1213285998 539267 video timeStamp: 1213285998 623460 video timeStamp: 1213285998 623460 audio timestamp: 1213285998 571267 audio timestamp: 1213285998 603267 video timeStamp: 1213285998 689460 video timeStamp: 1213285998 689460 audio timestamp: 1213285998 635267 audio timestamp: 1213285998 667267 video timeStamp: 1213285998 755459 video timeStamp: 1213285998 755459 audio timestamp: 1213285998 699267 audio timestamp: 1213285998 731267 video timeStamp: 1213285998 821460 video timeStamp: 1213285998 821460 audio timestamp: 1213285998 763267 audio timestamp: 1213285998 795267 video timeStamp: 1213285998 887460 video timeStamp: 1213285998 887460 audio timestamp: 1213285998 827267 audio timestamp: 1213285998 859267 audio timestamp: 1213285998 891267 video timeStamp: 1213285998 953459 video timeStamp: 1213285998 953459 audio timestamp: 1213285998 923267 audio timestamp: 1213285998 955267 video timeStamp: 1213285999 19460 video timeStamp: 1213285999 19460 audio timestamp: 1213285998 987267 audio timestamp: 1213285999 19267 video timeStamp: 1213285999 85460 video timeStamp: 1213285999 85460 audio timestamp: 1213285999 51267 audio timestamp: 1213285999 83267 video timeStamp: 1213285999 151459 video timeStamp: 1213285999 151459 audio timestamp: 1213285999 115267 audio timestamp: 1213285999 147267 video timeStamp: 1213285999 217460 video timeStamp: 1213285999 217460 audio timestamp: 1213285999 179267 audio timestamp: 1213285999 211267 video timeStamp: 1213285999 283460 video timeStamp: 1213285999 283460 audio timestamp: 1213285999 243267 audio timestamp: 1213285999 275267 video timeStamp: 1213285999 349459 video timeStamp: 1213285999 349459 audio timestamp: 1213285999 307267 audio timestamp: 1213285999 339267 video timeStamp: 1213285999 415460 video timeStamp: 1213285999 415460 audio timestamp: 1213285999 371267 audio timestamp: 1213285999 403267 video timeStamp: 1213285999 481460 video timeStamp: 1213285999 481460 audio timestamp: 1213285999 435267 audio timestamp: 1213285999 467267 video timeStamp: 1213285999 547459 video timeStamp: 1213285999 547459 audio timestamp: 1213285999 499267 audio timestamp: 1213285999 531267 video timeStamp: 1213285999 613460 video timeStamp: 1213285999 613460 audio timestamp: 1213285999 563267 audio timestamp: 1213285999 595267 video timeStamp: 1213285999 679460 video timeStamp: 1213285999 679460 audio timestamp: 1213285999 627267 audio timestamp: 1213285999 659267 video timeStamp: 1213285999 745459 video timeStamp: 1213285999 745459 audio timestamp: 1213285999 691267 audio timestamp: 1213285999 723267 video timeStamp: 1213285999 811460 video timeStamp: 1213285999 811460 audio timestamp: 1213285999 755267 audio timestamp: 1213285999 787267 video timeStamp: 1213285999 877460 video timeStamp: 1213285999 877460 audio timestamp: 1213285999 819267 audio timestamp: 1213285999 851267 video timeStamp: 1213285999 943459 video timeStamp: 1213285999 943459 audio timestamp: 1213285999 883267 audio timestamp: 1213285999 915267 audio timestamp: 1213285999 947267 video timeStamp: 1213286000 9460 video timeStamp: 1213286000 9460 audio timestamp: 1213285999 979267 audio timestamp: 1213286000 11267 video timeStamp: 1213286000 75460 video timeStamp: 1213286000 75460 audio timestamp: 1213286000 43267 audio timestamp: 1213286000 75267 video timeStamp: 1213286000 141459 video timeStamp: 1213286000 141459 audio timestamp: 1213286000 107267 audio timestamp: 1213286000 139267 video timeStamp: 1213286000 207460 video timeStamp: 1213286000 207460 audio timestamp: 1213286000 171267 audio timestamp: 1213286000 203267 video timeStamp: 1213286000 273460 video timeStamp: 1213286000 273460 audio timestamp: 1213286000 235267 audio timestamp: 1213286000 267267 video timeStamp: 1213286000 339459 video timeStamp: 1213286000 339459 audio timestamp: 1213286000 299267 audio timestamp: 1213286000 331267 video timeStamp: 1213286000 405460 video timeStamp: 1213286000 405460 audio timestamp: 1213286000 363267 audio timestamp: 1213286000 395267 video timeStamp: 1213286000 471460 video timeStamp: 1213286000 471460 audio timestamp: 1213286000 427267 audio timestamp: 1213286000 459267 video timeStamp: 1213286000 537460 video timeStamp: 1213286000 537460 audio timestamp: 1213286000 491267 audio timestamp: 1213286000 523267 video timeStamp: 1213286000 603459 video timeStamp: 1213286000 603459 audio timestamp: 1213286000 555267 audio timestamp: 1213286000 587267 video timeStamp: 1213286000 669459 video timeStamp: 1213286000 669459 audio timestamp: 1213286000 619267 audio timestamp: 1213286000 651267 video timeStamp: 1213286000 735459 video timeStamp: 1213286000 735459 audio timestamp: 1213286000 683267 audio timestamp: 1213286000 715267 video timeStamp: 1213286000 801460 video timeStamp: 1213286000 801460 audio timestamp: 1213286000 747267 audio timestamp: 1213286000 779267 video timeStamp: 1213286000 867460 video timeStamp: 1213286000 867460 audio timestamp: 1213286000 811267 audio timestamp: 1213286000 843267 video timeStamp: 1213286000 933460 video timeStamp: 1213286000 933460 audio timestamp: 1213286000 875267 audio timestamp: 1213286000 907267 video timeStamp: 1213286000 999459 video timeStamp: 1213286000 999459 audio timestamp: 1213286000 939267 audio timestamp: 1213286000 971267 audio timestamp: 1213286001 3267 video timeStamp: 1213286001 65459 video timeStamp: 1213286001 65459 audio timestamp: 1213286001 35267 audio timestamp: 1213286001 67267 video timeStamp: 1213286001 131459 video timeStamp: 1213286001 131459 audio timestamp: 1213286001 99267 audio timestamp: 1213286001 131267 video timeStamp: 1213286001 197460 video timeStamp: 1213286001 197460 audio timestamp: 1213286001 163267 audio timestamp: 1213286001 195267 video timeStamp: 1213286001 263460 video timeStamp: 1213286001 263460 audio timestamp: 1213286001 227267 audio timestamp: 1213286001 259267 video timeStamp: 1213286001 329460 video timeStamp: 1213286001 329460 audio timestamp: 1213286001 291267 audio timestamp: 1213286001 323267 video timeStamp: 1213286001 395459 video timeStamp: 1213286001 395459 audio timestamp: 1213286001 355267 audio timestamp: 1213286001 387267 video timeStamp: 1213286001 461459 video timeStamp: 1213286001 461459 audio timestamp: 1213286001 419267 audio timestamp: 1213286001 451267 video timeStamp: 1213286001 527459 video timeStamp: 1213286001 527459 audio timestamp: 1213286001 483267 audio timestamp: 1213286001 515267 video timeStamp: 1213286001 593460 video timeStamp: 1213286001 593460 audio timestamp: 1213286001 547267 audio timestamp: 1213286001 579267 video timeStamp: 1213286001 659460 video timeStamp: 1213286001 659460 audio timestamp: 1213286001 611267 audio timestamp: 1213286001 643267 video timeStamp: 1213286001 725460 video timeStamp: 1213286001 725460 audio timestamp: 1213286001 675267 From lmanas.iisc at gmail.com Thu Jun 12 11:08:03 2008 From: lmanas.iisc at gmail.com (manas lenka) Date: Thu, 12 Jun 2008 23:38:03 +0530 Subject: [Live-devel] Can openRTSP be used for real time playing Message-ID: <992962ef0806121108u2a9ea94bid75207bc36e554c6@mail.gmail.com> Hi, Can openRTSP be used (provided I am doing necessary coding to take the video frames from the file sink and giving them to the decoder). As I am finding in playCommon.cpp "unsigned const thresh = 1sec" (too huge) before the line subsession->rtpSource()->setPacketReorderingThresholdTime(thresh); I think if I make unsigned const thresh = 1000 millisec (say). i can play thing in real time Am I right in this sense. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ruud.siebierski at eventis.nl Thu Jun 12 11:28:51 2008 From: ruud.siebierski at eventis.nl (Ruud Siebierski) Date: Thu, 12 Jun 2008 20:28:51 +0200 Subject: [Live-devel] Design In-Reply-To: References: Message-ID: Thanks for the clarification. I was already afraid that answer would come. Have to put some effort in it myself i guess :) Thanks for the answers! -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: donderdag 12 juni 2008 15:48 To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] Design >My problem is that I don't see any relation between >"ServerMediaSubsession" and "MediaSubsession". That's because there isn't one. "MediaS(ubs)ession" is used by RTP receivers (clients); "ServerMediaS(ubs)ession" is used by RTSP servers. If you want to implement the RTSP "GET_PARAMETER" operation by returning a NPT value, then you would do this in your RTSP server's implementation of this operation - using a "ServerMediaS(ubs)ession". -- 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 Ishwar.Jasuja at jci.com Thu Jun 12 12:21:57 2008 From: Ishwar.Jasuja at jci.com (Ishwar.Jasuja at jci.com) Date: Thu, 12 Jun 2008 12:21:57 -0700 Subject: [Live-devel] Problems with streaming live h264 video on TI da Vinci platform. In-Reply-To: Message-ID: Amit, What is TI demo? Is it a TI eval board? I am running this software on our video card that uses DM642 TI processor and has TI BIOS (operating system) on it. For networking stack, we are using TI NDK. I am using code composer(CCStudio) v3.3 for development environment. Ishwar "Amit Lobo" Sent by: live-devel-bounces at ns.live555.com 06/10/2008 05:45 PM 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. Hi Ishwar, Thanks for you help. Are you using TI demo and live555 together? Because my problem lies in the integration side. About timer I dont think I am facing similar problem that you have mentioned,because I have done test with reading video from the file. Thanks & Regards Amit 2008/6/11 : 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 < live-devel at ns.live555.com> 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 _______________________________________________ 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 finlayson at live555.com Thu Jun 12 14:42:14 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 12 Jun 2008 14:42:14 -0700 Subject: [Live-devel] Can openRTSP be used for real time playing In-Reply-To: <992962ef0806121108u2a9ea94bid75207bc36e554c6@mail.gmail.com> References: <992962ef0806121108u2a9ea94bid75207bc36e554c6@mail.gmail.com> Message-ID: >Can openRTSP be used (provided I am doing necessary coding to take >the video frames from the file sink and giving them to the decoder). Yes, you can give "openRTSP" the "-v" option (meaning: write video to 'stdout'), and the pipe it into your decoder (running as a separate application). >As I am finding in playCommon.cpp "unsigned const thresh = 1sec" >(too huge) before the line >subsession->rtpSource()->setPacketReorderingThresholdTime(thresh); >I think if I make unsigned const thresh = 1000 millisec (say). i can >play thing in real time >Am I right in this sense. No, this is probably a red herring. That threshold time applies only when RTP packets get reordered in the network - a rare occurrence. In the normal case (no packet reordering), packet data is delivered as soon as it arrives. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From amit.lobo at gmail.com Thu Jun 12 18:04:21 2008 From: amit.lobo at gmail.com (Amit Lobo) Date: Fri, 13 Jun 2008 09:04:21 +0800 Subject: [Live-devel] Problems with streaming live h264 video on TI da Vinci platform. In-Reply-To: References: Message-ID: Hi ishawar, It is the dvsdk demo software got with Evaluation board. Thanks & Regards Amit 2008/6/13 : > > Amit, > > What is TI demo? Is it a TI eval board? > > I am running this software on our video card that uses DM642 TI processor > and has TI BIOS (operating system) on it. > For networking stack, we are using TI NDK. > > I am using code composer(CCStudio) v3.3 for development environment. > > Ishwar > > > > *"Amit Lobo" * > Sent by: live-devel-bounces at ns.live555.com > > 06/10/2008 05:45 PM > Please respond to > LIVE555 Streaming Media - development & use < > live-devel at ns.live555.com> > > To > "LIVE555 Streaming Media - development & use" > cc > Subject > Re: [Live-devel] Problems with streaming live h264 video on TI da > Vinci platform. > > > > > Hi Ishwar, > Thanks for you help. > Are you using TI demo and live555 together? > Because my problem lies in the integration side. > > About timer I dont think I am facing similar problem that you have > mentioned,because I have done test with reading video from the file. > > Thanks & Regards > > Amit > > > > 2008/6/11 <*Ishwar.Jasuja at jci.com* >: > > 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 <**mike.gilorma at apogeelabs.com* > *>* > Sent by: *live-devel-bounces at ns.live555.com* > > 06/10/2008 05:15 AM > Please respond to > LIVE555 Streaming Media - development & use <* > live-devel at ns.live555.com* > > > > To > LIVE555 Streaming Media - development & use <*live-devel at ns.live555.com* > > 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* > > > _______________________________________________ > 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 > > > _______________________________________________ > 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 finlayson at live555.com Thu Jun 12 19:16:09 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 12 Jun 2008 19:16:09 -0700 Subject: [Live-devel] Problems with streaming live h264 video on TI da Vinci platform. In-Reply-To: References: 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 Instead of changing the code, you should just define TIME_BASE, by adding -DTIME_BASE=int to the compile line in your "config.*" file. That way, things will continue to work whenever you upgrade the code to a new version. Whenever possible, you should try to avoid modifying the supplied code. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Thu Jun 12 19:34:07 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 12 Jun 2008 19:34:07 -0700 Subject: [Live-devel] RTCP and Live555 performance In-Reply-To: <46266.976.qm@web25908.mail.ukl.yahoo.com> References: <46266.976.qm@web25908.mail.ukl.yahoo.com> Message-ID: >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 ? When you create your "RTCPInstance" object, make sure that the "totSessionBW" is set correctly. It should be an estimate - in ***kilobits per second*** - of the corresponding RTP stream's average bitrate. This value doesn't need to be super accurate, but it is used by the code to figure out how often RTCP reports get sent. >In the Incominghandler i can see 2 loops (do - while (0) and while(1)). "do { .. } while(0);" is not a loop. (Well, strictly speaking, it *is* a loop, but one that gets executed once only.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Jun 12 19:43:15 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 12 Jun 2008 19:43:15 -0700 Subject: [Live-devel] RTP Marker bit (M bit) In-Reply-To: <2101.129.240.228.53.1212781790.squirrel@webmail.uio.no> References: <2101.129.240.228.53.1212781790.squirrel@webmail.uio.no> Message-ID: >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. Actualy, the RTP header fields for carrying MPEG Transport Streams are described in section 2.1 of RFC 2250: "M bit: Set to 1 whenever the timestamp is discontinuous (such as might happen when a sender switches from one data source to another). This allows the receiver and any intervening RTP mixers or translators that are synchronizing to the flow to ignore the difference between this timestamp and any previous timestamp in their clock phase detectors." However, we currently don't implement this - at either the sender or receiver end. (When sending MPEG-Transport/RTP, we just leave the M bit at 0; when receiving MPEG-Transport/RTP, we don't look at the M bit at all. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Jun 12 22:15:20 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 12 Jun 2008 22:15:20 -0700 Subject: [Live-devel] segfault in DelayQueue::removeEntry() In-Reply-To: <303305.35698.qm@web28006.mail.ukl.yahoo.com> References: <303305.35698.qm@web28006.mail.ukl.yahoo.com> Message-ID: >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; In principle, this shouldn't be necessary, as it should never be the case that "entry->fNext" is non-NULL, but "entry->fPrev" is NULL. So, I don't understand how your error could have occurred. I hope you're not doing something dumb like trying to access a queue from multiple threads? Puzzling... -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Thu Jun 12 22:56:25 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 12 Jun 2008 22:56:25 -0700 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: >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? Using a single "ServerMediaSession", containing two "ServerMediaSubsession" objects - one for video; the other for audio. Also, to ensure that the audio and video get synchronized at the client, you *must* give them accurate presentation times at the server end - and implement RTCP for each stream. Also (and this is important), the presentation times *must* correspond to 'wall-clock' time - i.e., the time that you would get by calling "gettimeofday()". If you do this, then the presentation times that come out the client end (after RTCP-synchronization) *will* be same as those that you gave the frames at the server end, and then the client will be able to use those to synchonize audio and video. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Jun 12 23:57:29 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 12 Jun 2008 23:57:29 -0700 Subject: [Live-devel] Syncing up to MPEG-2 Transport Stream In-Reply-To: <1213131152.3737.23.camel@carrington> References: <1213131152.3737.23.camel@carrington> Message-ID: >I'm guessing that stream B only has 1 VOL header and if VLC doesn't >receive the VOL header, the stream won't play. Does anyone know if there >is a class responsible for adding MPEG-4 VOL headers to the stream No there isn't, although - in principle - the "MPEG4VideoStreamFramer" (and/or "MPEG4VideoStreamDiscreteFramer") class could be modified to do this, just as we currently do with "MPEG1or2VideoStreamFramer" and "MPEG1or2VideoStreamDiscreteFramer" (note the "vshPeriod" parameter to those classes). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From mrnikhilagrawal at gmail.com Fri Jun 13 01:02:32 2008 From: mrnikhilagrawal at gmail.com (Nikhil Agrawal) Date: Fri, 13 Jun 2008 13:32:32 +0530 Subject: [Live-devel] Session Time Out problem Message-ID: <733cde3e0806130102h41445d82n1f4567fae06ff6e9@mail.gmail.com> Hi, I recently faced one problem in Live555 on one specific machine. It inbetween at any time (may be after 5 sec to 50 sec), it terminates ongoing session. When added logs i identified , it went into call RTSPServer::RTSPClientSession::livenessTimeoutTask in RTSPServer.cpp at some time. I think server is not receiving RTCP response packets send by VLC Player. But looking into network trafiic, it seems VLC Player is sending properly , but server is not getting them. Please if anyone faced similar problems or can suggest to proceed. Regards -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Fri Jun 13 02:46:01 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 13 Jun 2008 02:46:01 -0700 Subject: [Live-devel] whether rtspserver supports Live Streaming(like TV channel) In-Reply-To: <76D4CB511A69492E81B8269B501EA2B9@imidomain.com> References: <76D4CB511A69492E81B8269B501EA2B9@imidomain.com> Message-ID: >We are Planning to use Live555 rtsp Server . > can we give Live data (TV channel) input to the Live555 rtsp Server . Not to the "LIVE555 Media Server" as currently written. However, the code of our "testOnDemandRTSPServer" demo application could be modified to support this. Please read the FAQ for details. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From n.karthy at gmail.com Fri Jun 13 05:40:12 2008 From: n.karthy at gmail.com (karthikeyan n) Date: Fri, 13 Jun 2008 18:10:12 +0530 Subject: [Live-devel] RFC 4629 support for H.263 Message-ID: <2aed215a0806130540h747496eh236074d3ed0aef1a@mail.gmail.com> Hi, Does Live media support streaming H.263 video using RFC 4629 packetization? Does it support this RFC as a client as well? If it supports, kindly provide me pointers on how to setup a simple server and client application using RTSP. Thanks Karthik -------------- next part -------------- An HTML attachment was scrubbed... URL: From kumar.bala at DSP-Weuffen.de Fri Jun 13 08:08:09 2008 From: kumar.bala at DSP-Weuffen.de (Kumar Bala (DSP-Weuffen GmbH)) Date: Fri, 13 Jun 2008 17:08:09 +0200 Subject: [Live-devel] Help with short MPEG 4 header Message-ID: <48528D59.1020704@dsp-weuffen.de> Hi, I am trying to use live555 server on Texas instrument's DM355 platform. It runs on montavista linux. I was able to compile and run live555mediaserver. Everything works as described. The problem I am facing is that the MPEG 4 files created by on board MPEG 4 encoder on Dm355 fails to stream. On further investigation i found that this is due to the header difference. I tried modifying MPEG4VideoStreamframer.cpp to match the header information available at http://wiki.davincidsp.com/index.php?title=DM355_Codecs#MPEG4_Encoder But I havent been able to achieve it due to my in experience in RTSP and MPEG 4. Any help from the experts would be of great help. Please refer to the davinci wiki link above for the MPEG4 header live555 isn't working. If needed i can upload a sample mpeg4 file created using the onboard encoder. -- Mit freundlichen Gr??en / Best regards Kumar Bala (Software Developer and System Designer) Software/Hardware f?r DSP- und MCP-Konzeption und Optimierung ihres Systems DSP-Weuffen GmbH Schomburger Strasse 11 88279 Amtzell Tel: +49 7520 / 96673 - 146 Fax: +49 7520 / 96673 - 124 Mail: kumar.bala at dsp-weuffen.de Web: http://www.dsp-weuffen.de Gesch?ftsf?hrer: Dieter Weuffen | Amtsgericht 89014 ULM | HR-NR: HRB621135 Bitte beachten Sie, dass diese E-Mail einschlie?lich aller eventuell angeh?ngten Dokumente vertrauliche und/oder rechtlich gesch?tzte Informationen enthalten kann. Der Inhalt ist ausschlie?lich f?r den bezeichneten Adressaten bestimmt. Wenn Sie nicht der richtige Adressat oder dessen Vertreter sind, setzen Sie sich bitte mit dem Absender der E-Mail in Verbindung und l?schen Sie die E-Mail sofort. Jede Form der Verwendung, Ver?ffentlichung, Vervielf?ltigung oder Weitergabe des Inhalts fehlgeleiteter E-Mails ist unzul?ssig. From mike.gilorma at apogeelabs.com Fri Jun 13 08:07:49 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Fri, 13 Jun 2008 11:07:49 -0400 Subject: [Live-devel] streaming video and audio via RTSP In-Reply-To: References: <1213045355.3158.15.camel@Julia> Message-ID: <1213369669.3328.19.camel@Julia> I've attached my test program, each stream has rtcp, and the timestamps are being set using timeofday. The VLC says the streams are synchronized, but I am looking into doing more debug on the client side. It looks like the video is started streaming before the audio and that is where the streams get out of sync. I noticed this because I was outputting the timestamps and saw that when starting up the video streams out data for a little bit before audio starts up. thanks for the help, mike On Thu, 2008-06-12 at 22:56 -0700, Ross Finlayson wrote: > >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? > > Using a single "ServerMediaSession", containing two > "ServerMediaSubsession" objects - one for video; the other for audio. > > Also, to ensure that the audio and video get synchronized at the > client, you *must* give them accurate presentation times at the > server end - and implement RTCP for each stream. Also (and this is > important), the presentation times *must* correspond to 'wall-clock' > time - i.e., the time that you would get by calling "gettimeofday()". > > If you do this, then the presentation times that come out the client > end (after RTCP-synchronization) *will* be same as those that you > gave the frames at the server end, and then the client will be able > to use those to synchonize audio and video. -------------- next part -------------- A non-text attachment was scrubbed... Name: elementStreamer.cpp Type: text/x-c++src Size: 1477 bytes Desc: not available URL: -------------- next part -------------- fileName = test.m4e fileName = test.aac creating new mpeg4 video file server media subsession video file size = 21465361 playing dummy file scheduling checkforauxsdpline task checking for auxsdpline video timestamp: 1213369610 284506 video timestamp: 1213369610 284506 video timestamp: 1213369610 284506 video timestamp: 1213369610 284506 video timestamp: 1213369610 284506 video timestamp: 1213369610 284506 video timestamp: 1213369610 284506 video timestamp: 1213369610 284506 video timestamp: 1213369610 284506 video timestamp: 1213369610 284506 video timestamp: 1213369610 284506 video timestamp: 1213369610 284506 video timestamp: 1213369610 284506 video timestamp: 1213369610 284506 video timestamp: 1213369610 284506 video timestamp: 1213369610 350506 video timestamp: 1213369610 350506 video timestamp: 1213369610 416506 video timestamp: 1213369610 416506 setting done flag for auxdspline checking for auxsdpline creating new stream source creating new mpeg4 video file server media subsession video file size = 21465361 creating new stream source setting fTimestampBase: 1595972578 setting fTimestampBase: 2420410699 audio timestamp: 1213369610 389970 video timestamp: 1213369610 387410 video timestamp: 1213369610 387410 video timestamp: 1213369610 387410 video timestamp: 1213369610 387410 video timestamp: 1213369610 387410 video timestamp: 1213369610 387410 video timestamp: 1213369610 387410 video timestamp: 1213369610 387410 video timestamp: 1213369610 387410 video timestamp: 1213369610 387410 video timestamp: 1213369610 387410 video timestamp: 1213369610 387410 video timestamp: 1213369610 387410 video timestamp: 1213369610 387410 video timestamp: 1213369610 387410 video timestamp: 1213369610 453410 video timestamp: 1213369610 453410 audio timestamp: 1213369610 421970 audio timestamp: 1213369610 453970 video timestamp: 1213369610 519410 video timestamp: 1213369610 519410 audio timestamp: 1213369610 485970 audio timestamp: 1213369610 517970 video timestamp: 1213369610 585410 video timestamp: 1213369610 585410 audio timestamp: 1213369610 549970 audio timestamp: 1213369610 581970 video timestamp: 1213369610 651410 video timestamp: 1213369610 651410 audio timestamp: 1213369610 613970 audio timestamp: 1213369610 645970 video timestamp: 1213369610 717410 video timestamp: 1213369610 717410 audio timestamp: 1213369610 677970 audio timestamp: 1213369610 709970 video timestamp: 1213369610 783410 video timestamp: 1213369610 783410 audio timestamp: 1213369610 741970 audio timestamp: 1213369610 773970 video timestamp: 1213369610 849410 video timestamp: 1213369610 849410 audio timestamp: 1213369610 805970 audio timestamp: 1213369610 837970 video timestamp: 1213369610 915410 video timestamp: 1213369610 915410 audio timestamp: 1213369610 869970 audio timestamp: 1213369610 901970 video timestamp: 1213369610 981410 video timestamp: 1213369610 981410 audio timestamp: 1213369610 933970 audio timestamp: 1213369610 965970 video timestamp: 1213369611 47410 video timestamp: 1213369611 47410 audio timestamp: 1213369610 997970 audio timestamp: 1213369611 29970 video timestamp: 1213369611 387410 video timestamp: 1213369611 387410 video timestamp: 1213369611 387410 video timestamp: 1213369611 387410 video timestamp: 1213369611 387410 video timestamp: 1213369611 387410 audio timestamp: 1213369611 61970 audio timestamp: 1213369611 93970 audio timestamp: 1213369611 125970 audio timestamp: 1213369611 157970 audio timestamp: 1213369611 189970 audio timestamp: 1213369611 221970 audio timestamp: 1213369611 253970 audio timestamp: 1213369611 285970 audio timestamp: 1213369611 317970 audio timestamp: 1213369611 349970 audio timestamp: 1213369611 381970 video timestamp: 1213369611 453409 video timestamp: 1213369611 453409 video timestamp: 1213369611 453409 audio timestamp: 1213369611 413970 audio timestamp: 1213369611 445970 video timestamp: 1213369611 519410 video timestamp: 1213369611 519410 video timestamp: 1213369611 519410 audio timestamp: 1213369611 477970 audio timestamp: 1213369611 509970 video timestamp: 1213369612 387410 video timestamp: 1213369612 387410 video timestamp: 1213369612 387410 video timestamp: 1213369612 387410 video timestamp: 1213369612 387410 video timestamp: 1213369612 387410 audio timestamp: 1213369611 541970 audio timestamp: 1213369611 573970 audio timestamp: 1213369611 605970 audio timestamp: 1213369611 637970 audio timestamp: 1213369611 669970 audio timestamp: 1213369611 701970 audio timestamp: 1213369611 733970 audio timestamp: 1213369611 765970 audio timestamp: 1213369611 797970 audio timestamp: 1213369611 829970 audio timestamp: 1213369611 861970 audio timestamp: 1213369611 893970 audio timestamp: 1213369611 925970 audio timestamp: 1213369611 957970 audio timestamp: 1213369611 989970 audio timestamp: 1213369612 21970 audio timestamp: 1213369612 53970 audio timestamp: 1213369612 85970 audio timestamp: 1213369612 117970 audio timestamp: 1213369612 149970 audio timestamp: 1213369612 181970 audio timestamp: 1213369612 213970 audio timestamp: 1213369612 245970 audio timestamp: 1213369612 277970 audio timestamp: 1213369612 309970 audio timestamp: 1213369612 341970 audio timestamp: 1213369612 373970 video timestamp: 1213369612 453410 video timestamp: 1213369612 453410 audio timestamp: 1213369612 405970 audio timestamp: 1213369612 437970 video timestamp: 1213369612 519409 video timestamp: 1213369612 519409 audio timestamp: 1213369612 469970 audio timestamp: 1213369612 501970 video timestamp: 1213369612 585410 video timestamp: 1213369612 585410 audio timestamp: 1213369612 533970 audio timestamp: 1213369612 565970 video timestamp: 1213369612 651410 video timestamp: 1213369612 651410 audio timestamp: 1213369612 597970 audio timestamp: 1213369612 629970 video timestamp: 1213369612 717409 video timestamp: 1213369612 717409 audio timestamp: 1213369612 661970 audio timestamp: 1213369612 693970 video timestamp: 1213369612 783410 video timestamp: 1213369612 783410 audio timestamp: 1213369612 725970 audio timestamp: 1213369612 757970 video timestamp: 1213369612 849410 video timestamp: 1213369612 849410 audio timestamp: 1213369612 789970 audio timestamp: 1213369612 821970 audio timestamp: 1213369612 853970 video timestamp: 1213369612 915409 video timestamp: 1213369612 915409 audio timestamp: 1213369612 885970 audio timestamp: 1213369612 917970 video timestamp: 1213369612 981410 video timestamp: 1213369612 981410 audio timestamp: 1213369612 949970 audio timestamp: 1213369612 981970 video timestamp: 1213369613 47410 video timestamp: 1213369613 47410 audio timestamp: 1213369613 13970 audio timestamp: 1213369613 45970 video timestamp: 1213369613 113409 video timestamp: 1213369613 113409 audio timestamp: 1213369613 77970 audio timestamp: 1213369613 109970 video timestamp: 1213369613 179410 video timestamp: 1213369613 179410 audio timestamp: 1213369613 141970 audio timestamp: 1213369613 173970 video timestamp: 1213369613 245410 video timestamp: 1213369613 245410 audio timestamp: 1213369613 205970 audio timestamp: 1213369613 237970 video timestamp: 1213369613 311409 video timestamp: 1213369613 311409 audio timestamp: 1213369613 269970 audio timestamp: 1213369613 301970 video timestamp: 1213369613 377410 video timestamp: 1213369613 377410 audio timestamp: 1213369613 333970 audio timestamp: 1213369613 365970 video timestamp: 1213369613 443410 video timestamp: 1213369613 443410 audio timestamp: 1213369613 397970 audio timestamp: 1213369613 429970 video timestamp: 1213369613 509409 video timestamp: 1213369613 509409 audio timestamp: 1213369613 461970 audio timestamp: 1213369613 493970 video timestamp: 1213369613 575410 video timestamp: 1213369613 575410 audio timestamp: 1213369613 525970 audio timestamp: 1213369613 557970 video timestamp: 1213369613 641410 video timestamp: 1213369613 641410 audio timestamp: 1213369613 589970 audio timestamp: 1213369613 621970 video timestamp: 1213369613 707409 video timestamp: 1213369613 707409 audio timestamp: 1213369613 653970 audio timestamp: 1213369613 685970 video timestamp: 1213369613 773410 video timestamp: 1213369613 773410 audio timestamp: 1213369613 717970 audio timestamp: 1213369613 749970 video timestamp: 1213369613 839410 video timestamp: 1213369613 839410 audio timestamp: 1213369613 781970 audio timestamp: 1213369613 813970 video timestamp: 1213369613 905409 video timestamp: 1213369613 905409 audio timestamp: 1213369613 845970 audio timestamp: 1213369613 877970 audio timestamp: 1213369613 909970 video timestamp: 1213369613 971410 video timestamp: 1213369613 971410 audio timestamp: 1213369613 941970 audio timestamp: 1213369613 973970 video timestamp: 1213369614 37410 video timestamp: 1213369614 37410 audio timestamp: 1213369614 5970 audio timestamp: 1213369614 37970 video timestamp: 1213369614 103409 video timestamp: 1213369614 103409 audio timestamp: 1213369614 69970 audio timestamp: 1213369614 101970 video timestamp: 1213369614 169410 video timestamp: 1213369614 169410 audio timestamp: 1213369614 133970 audio timestamp: 1213369614 165970 video timestamp: 1213369614 235410 video timestamp: 1213369614 235410 audio timestamp: 1213369614 197970 audio timestamp: 1213369614 229970 video timestamp: 1213369614 301409 video timestamp: 1213369614 301409 audio timestamp: 1213369614 261970 audio timestamp: 1213369614 293970 video timestamp: 1213369614 367410 video timestamp: 1213369614 367410 audio timestamp: 1213369614 325970 audio timestamp: 1213369614 357970 video timestamp: 1213369614 433410 video timestamp: 1213369614 433410 audio timestamp: 1213369614 389970 audio timestamp: 1213369614 421970 video timestamp: 1213369614 499410 video timestamp: 1213369614 499410 audio timestamp: 1213369614 453970 audio timestamp: 1213369614 485970 video timestamp: 1213369614 565409 video timestamp: 1213369614 565409 audio timestamp: 1213369614 517970 audio timestamp: 1213369614 549970 video timestamp: 1213369614 631409 video timestamp: 1213369614 631409 audio timestamp: 1213369614 581970 audio timestamp: 1213369614 613970 video timestamp: 1213369614 697409 video timestamp: 1213369614 697409 audio timestamp: 1213369614 645970 audio timestamp: 1213369614 677970 video timestamp: 1213369614 763410 video timestamp: 1213369614 763410 audio timestamp: 1213369614 709970 audio timestamp: 1213369614 741970 video timestamp: 1213369614 829410 video timestamp: 1213369614 829410 audio timestamp: 1213369614 773970 audio timestamp: 1213369614 805970 video timestamp: 1213369614 895410 video timestamp: 1213369614 895410 audio timestamp: 1213369614 837970 audio timestamp: 1213369614 869970 video timestamp: 1213369614 961409 video timestamp: 1213369614 961409 audio timestamp: 1213369614 901970 audio timestamp: 1213369614 933970 audio timestamp: 1213369614 965970 video timestamp: 1213369615 27409 video timestamp: 1213369615 27409 audio timestamp: 1213369614 997970 audio timestamp: 1213369615 29970 video timestamp: 1213369615 93409 video timestamp: 1213369615 93409 audio timestamp: 1213369615 61970 audio timestamp: 1213369615 93970 video timestamp: 1213369615 159410 video timestamp: 1213369615 159410 audio timestamp: 1213369615 125970 audio timestamp: 1213369615 157970 video timestamp: 1213369615 225410 video timestamp: 1213369615 225410 audio timestamp: 1213369615 189970 From lmanas.iisc at gmail.com Fri Jun 13 14:10:02 2008 From: lmanas.iisc at gmail.com (manas lenka) Date: Sat, 14 Jun 2008 02:40:02 +0530 Subject: [Live-devel] Unable to include the LIVE555 .a liabrary files into my own programme. Message-ID: <992962ef0806131410u58bb35dai391748e6a7c352f5@mail.gmail.com> I am trying to use the LIVE555 library functions into my programmes. The cross-compiler is "arm_v5t_le-gcc" . But while compiling and linking the LIVE555 libraries, I am getting linking error like "undefined reference to the 'given live555 function". Has anybody faced this problems. What changes I have to make in the make file. The above mentioned things I have done so far by changing the config.linux file "cross-compile prefix=arm_v5t_le-gcc " . Interstingly the crosscompiled live555 programme is running very fine in my platform(i.e DaVinci ARM board). Any help will bw highly appreciated. -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Fri Jun 13 17:59:23 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 13 Jun 2008 17:59:23 -0700 Subject: [Live-devel] Help with short MPEG 4 header In-Reply-To: <48528D59.1020704@dsp-weuffen.de> References: <48528D59.1020704@dsp-weuffen.de> Message-ID: I think (though am not 100% sure) that MPEG-4 "short header" video is the same as H.263 video. If so, you should be able to use our existing "H263plusVideoStreamFramer" and "H263plusVideoRTPSink" classes to stream them. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Fri Jun 13 21:57:20 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 13 Jun 2008 21:57:20 -0700 Subject: [Live-devel] RFC 4629 support for H.263 In-Reply-To: <2aed215a0806130540h747496eh236074d3ed0aef1a@mail.gmail.com> References: <2aed215a0806130540h747496eh236074d3ed0aef1a@mail.gmail.com> Message-ID: >Does Live media support streaming H.263 video using RFC 4629 >packetization? Does it support this RFC as a client as well? Yes, the following classes H263plusVideoStreamFramer H263plusVideoRTPSink H263plusVideoFileServerMediaSubsession for servers, and H263plusVideoRTPSource for clients, support this RTP payload format. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Fri Jun 13 22:28:49 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 13 Jun 2008 22:28:49 -0700 Subject: [Live-devel] User Private Data Streams via RTSP? In-Reply-To: <484AFDDC.9050704@landform.com> References: <484AFDDC.9050704@landform.com> Message-ID: >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. What exactly do you mean by "private data streams"? Are you referring just to 'private data' that's contained within Transport Streams? If so, then we already support this, because - when we stream Transport Stream data (either over RTP/UDP or raw-UDP) - we don't care about its contents. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Sat Jun 14 16:45:26 2008 From: finlayson at live555.com (Ross Finlayson) Date: Sat, 14 Jun 2008 16:45:26 -0700 Subject: [Live-devel] wis-streamer: Unable to find emulated OSS device In-Reply-To: <484B3CEE.7080601@gmail.com> References: <484B3CEE.7080601@gmail.com> Message-ID: >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. Please send us a patch file that can be applied to the "wis-streamer" code, and I'll update our released version. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From tubo.catodico at gmail.com Mon Jun 16 02:40:25 2008 From: tubo.catodico at gmail.com (Francesco Matassoni) Date: Mon, 16 Jun 2008 11:40:25 +0200 Subject: [Live-devel] Subclassing FramedFilter Message-ID: Hello, i am trying to subclass the FramedFilter to do my own ProtectionFilter. I take like example the MPEG2TransportStreamFramer because it seems to me the easiest of all the filter class. The first thing i need to do is simply pass the data from my ProtectionFilter to a FileSink without any manipulation, only to know if my class working. But it seems that the sink can't retrieve the data from my filter (all it's working whit the MPEG2TransportStreamFramer so the testing platform it's fine). I think that the problem it's in the subclassing of the three function doGetNextFrame, afterGettingFrame and afterGettingFrame1 that i listed below, can anyone tell me where is the error? void ProtectionFilter::doGetNextFrame() { fFrameSize=0; fInputSource->getNextFrame(fTo, fMaxSize, afterGettingFrame, this, FramedSource::handleClosure, this); } void ProtectionFilter::afterGettingFrame(void* clientData, unsigned frameSize, unsigned /*numTruncatedBytes*/, struct timeval presentationTime, unsigned /*durationInMicroseconds*/) { ProtectionFilter* filter = (ProtectionFilter*)clientData; filter->afterGettingFrame1(frameSize, presentationTime); } void ProtectionFilter::afterGettingFrame1(unsigned frameSize, struct timeval presentationTime) { afterGetting(this); } From lmanas.iisc at gmail.com Mon Jun 16 04:50:20 2008 From: lmanas.iisc at gmail.com (manas lenka) Date: Mon, 16 Jun 2008 17:20:20 +0530 Subject: [Live-devel] Taking video frames from the FileSink ..Too slow to play. Message-ID: <992962ef0806160450s353894d0mac641dcde03ebcd8@mail.gmail.com> Hi, I am taking the FileSink output video frames (this is run by ./openRTSP -c rtsp//url ) and piping it to my decoder. But I am find ing it is very slow. Can anybody tell me from which point of the (openRTSP) programme , I ahave to pipe the frames. What command options I have to use. As Ross told it can be done by ./openRTSP -v rtsp//url. But from which object function i have to plug-in. Thnking you -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Mon Jun 16 05:10:32 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 16 Jun 2008 05:10:32 -0700 Subject: [Live-devel] Subclassing FramedFilter In-Reply-To: References: Message-ID: >void ProtectionFilter::afterGettingFrame1(unsigned frameSize, struct >timeval presentationTime) >{ > afterGetting(this); >} All subclasses of "FrameSource" - when implementing the "doGetNextFrame()" virtual function - must set "fFrameSize". You should also set "fPresentationTime". Therefore, change your "afterGettingFrame1()" function to: void ProtectionFilter::afterGettingFrame1(unsigned frameSize, struct timeval presentationTime) { fFrameSize = frameSize; fPresentationTime = presentationTime; afterGetting(this); } -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Mon Jun 16 05:16:38 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 16 Jun 2008 05:16:38 -0700 Subject: [Live-devel] Taking video frames from the FileSink ..Too slow to play. In-Reply-To: <992962ef0806160450s353894d0mac641dcde03ebcd8@mail.gmail.com> References: <992962ef0806160450s353894d0mac641dcde03ebcd8@mail.gmail.com> Message-ID: >Hi, >I am taking the FileSink output video frames (this is run by >./openRTSP -c rtsp//url ) and piping it to my decoder. But I am find >ing it is very >slow. >Can anybody tell me from which point of the (openRTSP) programme , I >ahave to pipe the frames. What command options I have to use. ??? You don't need to modify the "openRTSP" application at all. Just run: openRTSP -v rtsp://url | your_decoder_application Notice the "|" (pipe) symbol. This is just standard Unix command-line stuff... -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From tubo.catodico at gmail.com Mon Jun 16 05:57:31 2008 From: tubo.catodico at gmail.com (Francesco Matassoni) Date: Mon, 16 Jun 2008 14:57:31 +0200 Subject: [Live-devel] Subclassing FramedFilter In-Reply-To: References: Message-ID: In data 16 giugno 2008 alle ore 14:10:32, Ross Finlayson ha scritto: >> void ProtectionFilter::afterGettingFrame1(unsigned frameSize, struct >> timeval presentationTime) >> { >> afterGetting(this); >> } > > All subclasses of "FrameSource" - when implementing the > "doGetNextFrame()" virtual function - must set "fFrameSize". You should > also set "fPresentationTime". > > Therefore, change your "afterGettingFrame1()" function to: > > void ProtectionFilter::afterGettingFrame1(unsigned frameSize, struct > timeval presentationTime) > { > fFrameSize = frameSize; > fPresentationTime = presentationTime; > afterGetting(this); > } Thank you Ross now it's working. I have one more little question, where do you think it's better to put the function that protect the data. I think inside the afterGettingFrame1 function, am i right? -- Creato con il rivoluzionario client e-mail di Opera: http://www.opera.com/mail/ From lmanas.iisc at gmail.com Mon Jun 16 07:05:13 2008 From: lmanas.iisc at gmail.com (manas lenka) Date: Mon, 16 Jun 2008 19:35:13 +0530 Subject: [Live-devel] Thanks Ross . Can you tell me the possible reasons why the FileSink method is slow. Message-ID: <992962ef0806160705m6f585bu6e42ce52b4325249@mail.gmail.com> Thanks A lot. One thing I am curious to know why the FileSink method is slow. Like "/openRTSP -v" method, "/openRTSP -c" method is putting into a file instead of stdout. Is there anything different thing is happening for "/openRTSP -c" . Your answer will be greatly helpful for me. Thanks MANAS -------------- next part -------------- An HTML attachment was scrubbed... URL: From wsacul at gmail.com Mon Jun 16 11:09:33 2008 From: wsacul at gmail.com (Lucas) Date: Mon, 16 Jun 2008 11:09:33 -0700 Subject: [Live-devel] Transcode occasional jpeg out of mp4 rtsp? Message-ID: <17f672c60806161109r7b18fe29raeba27fcf11d9778@mail.gmail.com> I'm using liveMedia with vlc to capture a mp4 rtsp stream to disk. I'd like to create a jpeg of the most recent frame every second or so out of this stream (which is running about 30 fps), could this be done easily? Thanks, Luke -------------- next part -------------- An HTML attachment was scrubbed... URL: From DionG at Viewcast.com Mon Jun 16 11:41:07 2008 From: DionG at Viewcast.com (Dion Galbreath) Date: Mon, 16 Jun 2008 13:41:07 -0500 Subject: [Live-devel] streaming mpeg4 with hinting to helix server Message-ID: Does live555 support sending (streaming) the hint tracks to a helix server? Or will it just do audio and video tracks only? -------------- next part -------------- An HTML attachment was scrubbed... URL: From lonnie.walker at apogeelabs.com Mon Jun 16 11:38:25 2008 From: lonnie.walker at apogeelabs.com (Lonnie Walker) Date: Mon, 16 Jun 2008 14:38:25 -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: <1213641505.3236.20.camel@carrington> On Tue, 2008-06-03 at 08:01 -0700, Ross Finlayson wrote: > > 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. Does anyone know if MPEG-4 AAC has to be encapsulated (ADTS, LATM, etc) before it is multiplexed into a MPEG-2 TS with MPEG-4 video? If so, can you point me to what standard covers this topic? Thanks Lonnie From bd at landform.com Mon Jun 16 15:01:02 2008 From: bd at landform.com (Bill Dolson) Date: Mon, 16 Jun 2008 16:01:02 -0600 Subject: [Live-devel] User Private Data Streams via RTSP? In-Reply-To: References: <484AFDDC.9050704@landform.com> Message-ID: <4856E29E.5010106@landform.com> >> 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. > > What exactly do you mean by "private data streams"? Are you referring > just to 'private data' that's contained within Transport Streams? If > so, then we already support this, because - when we stream Transport > Stream data (either over RTP/UDP or raw-UDP) - we don't care about its > contents. Ross, The user private data streams are as described in ITU-T Rec 222.0, Annex H, bullet item 3, "second possibility", "private data within PES packets under the stream_type Table 2-34" as private_stream_1. These are carried under their own PID as a separate elementary stream in the multiplex. From your comments I gather that when Live555 transmits an MPEG2 Transport Stream you do not demux it and send the elementary streams but rather send it as am RTP/AVP MP2T media type ala RFC 2250. I assume RTSP work with this media type? While this would provide us with transparent transmission of our private data ES, we anticipate running on a very noisy channel and would like to have the advantages of having elementary streams on separate RTP sessions to make error concealment simpler. This would involve demuxing the elementary streams and adding a media type and support for "data" to get our private data stream across. I'd be curious as to your feelings about the need for this. The case for elementary stream transmission is made pretty well here: http://www.envivio.com/pdf/RTPvsTS-v4.pdf Best, Bill Dolson RIS, Inc. From Jerry.Johns at nuvation.com Mon Jun 16 19:22:41 2008 From: Jerry.Johns at nuvation.com (Jerry Johns) Date: Mon, 16 Jun 2008 19:22:41 -0700 Subject: [Live-devel] RTCP Synchronization information Message-ID: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAD2@mailguy3.skynet.nuvation.com> Hello, I'm designing a playback application in Linux that plays back H.264 encoded video and uncompressed PCM audio to a screen in real-time as a RTP Client - I'm noticing that the presentation times I receive as a client often jump erratically until synchronization kicks in - since its imperative that these timestamps be accurate as that's the only way to tie the two streams together (I'm playing back audio and video), I'm wondering if its possible to access this synchronized state variable somehow in my MediaSink subclassed class? I know the variable fCurPacketHasBeenSynchronizedUsingRTCP in MultiFramedRTPSource.cpp has this information present in it, but how do I access it from the sink classes (i.e FileSink, etc) One option I saw in QuickTimeFileSink.cpp, is to get the current MediaSession, iterate through the sub-sessions and do .rtpSource()->hasBeenSynchronizedUsingRTCP(); How do I get the current MediaSession from a MediaSink derived class? Is there a simpler way to get at this RTPSource class, fCurPacketHasBeenSynchronizedUsingRTCP variable? I know I can access it from H264VideoRTPSource, (its RTPSource derived), allowing me to get at that variable, but I cannot do anything with information since that class doesn't allow me to store the information somewhere in memory :-( Any help is appreciated, Thank you, Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: From prasad.tiptur at gmail.com Mon Jun 16 21:04:17 2008 From: prasad.tiptur at gmail.com (prasad keshav) Date: Tue, 17 Jun 2008 09:34:17 +0530 Subject: [Live-devel] Help required Message-ID: Hi all, I am new to this RTSP project , which i am assigned to do the project on the RTSP .. I have start with the simple client server code .. so please help me in doing so ......... -- With regards Prasad -------------- next part -------------- An HTML attachment was scrubbed... URL: From rajeshkumar.r at imimobile.com Mon Jun 16 22:24:05 2008 From: rajeshkumar.r at imimobile.com (rajesh) Date: Tue, 17 Jun 2008 10:54:05 +0530 Subject: [Live-devel] text overlay Message-ID: Hi Ross, I am using Live555 Media Server for playing media files on mobiles . I want to use text overlay . like some text message should scroll and files should also play . I need some guidance on this . Thanks in Advance . 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Mon Jun 16 22:27:20 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 16 Jun 2008 22:27:20 -0700 Subject: [Live-devel] RTCP Synchronization information In-Reply-To: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAD2@mailguy3.skynet.nuvation.com> References: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAD2@mailguy3.skynet.nuvation.com> Message-ID: >I know the variable fCurPacketHasBeenSynchronizedUsingRTCP in >MultiFramedRTPSource.cpp has this information present in it, but how >do I access it from the sink classes (i.e FileSink, etc) 1/ Call "MediaSink::source()" to get the sink's source object (as a (FramedSource*)). 2/ Cast this to a (RTPSource*) (which you can do iff you know that it really is a RTPSource, of course) 3/ Call "RTPSource:: hasBeenSynchronizedUsingRTCP()" -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Mon Jun 16 22:29:30 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 16 Jun 2008 22:29:30 -0700 Subject: [Live-devel] streaming mpeg4 with hinting to helix server In-Reply-To: References: Message-ID: >Does live555 support sending (streaming) the hint tracks to a helix server? No. "hint tracks" are an Apple-specific hack used only by Apple's 'Darwin Streaming Server'. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Mon Jun 16 22:30:51 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 16 Jun 2008 22:30:51 -0700 Subject: [Live-devel] Subclassing FramedFilter In-Reply-To: References: Message-ID: >Thank you Ross now it's working. I have one more little question, >where do you think it's better to put the function that protect the >data. I think inside the afterGettingFrame1 function, am i right? Yes. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Mon Jun 16 22:33:51 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 16 Jun 2008 22:33:51 -0700 Subject: [Live-devel] Transcode occasional jpeg out of mp4 rtsp? In-Reply-To: <17f672c60806161109r7b18fe29raeba27fcf11d9778@mail.gmail.com> References: <17f672c60806161109r7b18fe29raeba27fcf11d9778@mail.gmail.com> Message-ID: >I'm using liveMedia with vlc to capture a mp4 rtsp stream to disk. >I'd like to create a jpeg of the most recent frame every second or >so out of this stream (which is running about 30 fps), could this be >done easily? No, not without writing code that decodes each MPEG-4 video frame, and then re-encodes it into a JPEG image. (Note that we don't have any video decoding/encoding software of our own.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Mon Jun 16 22:36:40 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 16 Jun 2008 22:36:40 -0700 Subject: [Live-devel] text overlay In-Reply-To: References: Message-ID: >I am using Live555 Media Server for playing media files on mobiles . >I want to use text overlay . like some text message should scroll and >files should also play . > >I need some guidance on this . First, I need to ask: Which RTP payload format(s) does your RTP client software (i.e., running on the mobile phones) support, in order to play 'text overlay'? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Mon Jun 16 23:00:45 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 16 Jun 2008 23:00:45 -0700 Subject: [Live-devel] User Private Data Streams via RTSP? In-Reply-To: <4856E29E.5010106@landform.com> References: <484AFDDC.9050704@landform.com> <4856E29E.5010106@landform.com> Message-ID: >The user private data streams are as described in ITU-T Rec 222.0, >Annex H, bullet item 3, "second possibility", "private data within >PES packets under the stream_type Table 2-34" as private_stream_1. >These are carried under their own PID as a separate elementary >stream in the multiplex. > >From your comments I gather that when Live555 transmits an MPEG2 >Transport Stream you do not demux it and send the elementary streams >but rather send it as am RTP/AVP MP2T media type ala RFC 2250. I >assume RTSP work with this media type? Yes. >While this would provide us with transparent transmission of our >private data ES, we anticipate running on a very noisy channel and >would like to have the advantages of having elementary streams on >separate RTP sessions to make error concealment simpler. This would >involve demuxing the elementary streams and adding a media type and >support for "data" to get our private data stream across. You would need to figure out which RTP payload format to use... >I'd be curious as to your feelings about the need for this. The >case for elementary stream transmission is made pretty well here: >http://www.envivio.com/pdf/RTPvsTS-v4.pdf Yes, although - depending on your particular environment (& packet loss characteristics, unicast or multicast etc.) - there are other options to consider as well (in particular, Forward Error Correction (FEC) on Transport Stream data over raw-UDP). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From rajeshkumar.r at imimobile.com Tue Jun 17 02:22:57 2008 From: rajeshkumar.r at imimobile.com (rajesh) Date: Tue, 17 Jun 2008 14:52:57 +0530 Subject: [Live-devel] text overlay References: Message-ID: <327784A7772E40C3AA4299012E986CC3@imidomain.com> Re: [Live-devel] text overlayRoss , I am not aware of rtp payload in mobile . I need some logic on this or at least how should i approach . 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: Ross Finlayson To: LIVE555 Streaming Media - development & use Sent: Tuesday, June 17, 2008 11:06 AM Subject: Re: [Live-devel] text overlay I am using Live555 Media Server for playing media files on mobiles . I want to use text overlay . like some text message should scroll and files should also play . I need some guidance on this . First, I need to ask: Which RTP payload format(s) does your RTP client software (i.e., running on the mobile phones) support, in order to play 'text overlay'? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ ------------------------------------------------------------------------------ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel -------------- next part -------------- An HTML attachment was scrubbed... URL: From lmanas.iisc at gmail.com Tue Jun 17 03:35:45 2008 From: lmanas.iisc at gmail.com (manas lenka) Date: Tue, 17 Jun 2008 16:05:45 +0530 Subject: [Live-devel] Using ./livemediaserver to stream Mpeg2 and Mp2 transport stream Message-ID: <992962ef0806170335jcd24db3u245dbda6e41a1c3c@mail.gmail.com> Hi, As per LIVE555 documents, ./livemediaserver can stream both audio and video from a tranport file( Mpeg2 and Mp2 only.) . Does it send the pts values of both audio and video. Can I receive the streams and play with ./openRTSP (provided I have taken care of the PTS values (in FileSink function). If there is a way, can anybody tell me about this how to do it. Thanks In Advance -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Tue Jun 17 05:45:48 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 17 Jun 2008 05:45:48 -0700 Subject: [Live-devel] Using ./livemediaserver to stream Mpeg2 and Mp2 transport stream In-Reply-To: <992962ef0806170335jcd24db3u245dbda6e41a1c3c@mail.gmail.com> References: <992962ef0806170335jcd24db3u245dbda6e41a1c3c@mail.gmail.com> Message-ID: >As per LIVE555 documents, ./livemediaserver can stream both audio >and video from a tranport file Not really. When streaming a Transport Stream file, we send the Transport Stream data intact; we do *not* separate it out into audio and video substreams. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From bgmarete at gmail.com Tue Jun 17 05:59:51 2008 From: bgmarete at gmail.com (Brian Marete) Date: Tue, 17 Jun 2008 15:59:51 +0300 Subject: [Live-devel] Transcode occasional jpeg out of mp4 rtsp? In-Reply-To: <17f672c60806161109r7b18fe29raeba27fcf11d9778@mail.gmail.com> References: <17f672c60806161109r7b18fe29raeba27fcf11d9778@mail.gmail.com> Message-ID: <6dd519ae0806170559v6efe8c8eq28f8e223cf9bad7@mail.gmail.com> 2008/6/16 Lucas : > > I'm using liveMedia with vlc to capture a mp4 rtsp stream to disk. I'd like to create a jpeg of the most recent frame every second or so out of this stream (which is running about 30 fps), could this be done easily? > > Thanks, > Have a look at FFmpeg ( http://ffmpeg.mplayerhq.hu/ ). You will find nothing better than that for what you want to do. -- B. Gitonga Marete Tel: +254-722-151-590 From lmanas.iisc at gmail.com Tue Jun 17 06:21:55 2008 From: lmanas.iisc at gmail.com (manas lenka) Date: Tue, 17 Jun 2008 18:51:55 +0530 Subject: [Live-devel] Any Alternative to receive both Audio And Video and play Synchronously.. Message-ID: <992962ef0806170621m26c1a141oc1d529d61e606aca@mail.gmail.com> Ok, ./livemediaserver streams the transport the file like a simple file. But is there any method/solutions to stream both audio and video and play them synchronously by ../openRTSP. Thanks MANAS -------------- next part -------------- An HTML attachment was scrubbed... URL: From Jerry.Johns at nuvation.com Tue Jun 17 06:39:14 2008 From: Jerry.Johns at nuvation.com (Jerry Johns) Date: Tue, 17 Jun 2008 06:39:14 -0700 Subject: [Live-devel] RTCP Synchronization information In-Reply-To: Message-ID: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAD3@mailguy3.skynet.nuvation.com> Ahh, I realized that after I posted the message - that's perfectly applicable for when I have an RTPSource feeding into my sink object, but for my audio situation, the SimpleRTPSource gets fed into an EndianSwap16 filter before going into my sink - in that case, its not possible to do that typecasting; Hence, I've decided to add an extra input into my sink class to accept an RTPSource* object, so that I can easily just accept its properties and get on with the project Also, I was wondering if there was a searchable version of the live-devel archives? There are times when I would like to just search the messages first, before posting to the group Thanks Jerry Johns Design Engineer Nuvation Research Corp - WDC Tel: (519) 746-2304 ext. 225 -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Tue Jun 17 06:57:26 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 17 Jun 2008 06:57:26 -0700 Subject: [Live-devel] Any Alternative to receive both Audio And Video and play Synchronously.. In-Reply-To: <992962ef0806170621m26c1a141oc1d529d61e606aca@mail.gmail.com> References: <992962ef0806170621m26c1a141oc1d529d61e606aca@mail.gmail.com> Message-ID: >./livemediaserver streams the transport the file like a simple >file. But is there any method/solutions to stream both audio and >video and play them synchronously by ../openRTSP. For the second (and last) time: Our RTSP server streams Transport Stream data intact. It does not (and currently, cannot) demultiplex Transport Stream data into audio and video. When "openRTSP" is used to receive streamed Transport Stream data, it will therefore write complete Transport Stream data into the output file. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From Etienne.Bomcke at uclouvain.be Tue Jun 17 08:28:15 2008 From: Etienne.Bomcke at uclouvain.be (=?ISO-8859-1?Q?Etienne_B=F6mcke?=) Date: Tue, 17 Jun 2008 17:28:15 +0200 Subject: [Live-devel] PPS/SPS parsing in MP4/H.264 file Message-ID: <3D43189B-C05A-409E-B81E-65E7DF5A5879@uclouvain.be> Hi, I'm streaming H.264 encoded files in mp4 containers through liveMedia, and I have a question regarding the SPS/PPS info bits. For testing purposes I'm only considering sequences of 1 I-frame. I have to parse the header of the H.264 encoded frame, and for that I need to parse also the PPS and SPS of the sequence. Right now the only pieces of data I can read are the SEI (transmitted first but useless in my case) and the actual frame data. So my question is : how can I access to the SPS/PPS data, which is according to the mp4 specs located after the frame data? Any help would be greatly appreciated. Regards, Etienne -- Etienne B?mcke Laboratoire de T?l?communications et T?l?d?tections Universit? Catholique de Louvain B?timent Stevin - Place du Levant, 2 B-1348 Louvain-la-Neuve e-mail : etienne.bomcke at uclouvain.be tel : +32 10 47 85 51 From kumar.bala at DSP-Weuffen.de Tue Jun 17 09:38:35 2008 From: kumar.bala at DSP-Weuffen.de (Kumar Bala (DSP-Weuffen GmbH)) Date: Tue, 17 Jun 2008 18:38:35 +0200 Subject: [Live-devel] Understanding testOnDemandRTSP In-Reply-To: <3387C0152F2A42968FE4C43E84E82929@DSPWeuffen.local> References: <3387C0152F2A42968FE4C43E84E82929@DSPWeuffen.local> Message-ID: <4857E88B.3090005@dsp-weuffen.de> Hi, I am trying to understand and modify one of the testProgs - testOnDemandRTSP Below is how I understand the flow (pardon my lack of OOD understanding) testOnDemandRTSPServer -> ServerMediaSession -> MPEG4VideoFileServerMediaSubsession -> FileServerMediaSubsession-> ByteStreamFileSource Instead of using a file as an input source I would like to use the output of a "blocking function", which gives one output MPEG4 frame every call. This function captures a V4L2 frame from a capture device and encodes it into a MPEG4 frame. Which is the right point where I should insert this blocking function ? Did I tell you I am new to OOD :P Thanks. From wsacul at gmail.com Tue Jun 17 10:50:23 2008 From: wsacul at gmail.com (Lucas) Date: Tue, 17 Jun 2008 10:50:23 -0700 Subject: [Live-devel] Transcode occasional jpeg out of mp4 rtsp? In-Reply-To: <6dd519ae0806170559v6efe8c8eq28f8e223cf9bad7@mail.gmail.com> References: <17f672c60806161109r7b18fe29raeba27fcf11d9778@mail.gmail.com> <6dd519ae0806170559v6efe8c8eq28f8e223cf9bad7@mail.gmail.com> Message-ID: <17f672c60806171050x41e0cb9em19b484da0e0500aa@mail.gmail.com> Thanks for replying. This is off-topic but I may as well follow up for the benefit of future google searches: I eventually found this page http://wiki.videolan.org/How_to_create_thumbnails, which has most of the capability I need in the form vlc rtsp://somevideo -V image --image-out-ratio=8 (and likely it is using ffmpeg to do the work as suggested) On the first try doesn't seem to be possible to both archive video as mp4 and log the stills (like vlc rtsp://somevideo -V image* *--image-out-ratio=8 --sout '#duplicate{dst=std{access=file,mux=mp4,dst="rtsp_save_test.mp4"}}' ), though the overhead is small enough I can afford to run a different instance of vlc for each task. -Luke On Tue, Jun 17, 2008 at 5:59 AM, Brian Marete wrote: > 2008/6/16 Lucas : > > > > I'm using liveMedia with vlc to capture a mp4 rtsp stream to disk. I'd > like to create a jpeg of the most recent frame every second or so out of > this stream (which is running about 30 fps), could this be done easily? > > > > Thanks, > > > > Have a look at FFmpeg ( http://ffmpeg.mplayerhq.hu/ ). You will find > nothing better than that for what you want to do. > > -- > B. Gitonga Marete > Tel: +254-722-151-590 > _______________________________________________ > 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 lonnie.walker at apogeelabs.com Tue Jun 17 11:59:17 2008 From: lonnie.walker at apogeelabs.com (Lonnie Walker) Date: Tue, 17 Jun 2008 14:59:17 -0400 Subject: [Live-devel] How to mux a MPEG-4 video and audio stream into a MPEG-2 TS In-Reply-To: <1212523729.3222.4.camel@carrington> References: <1212498495.11393.90.camel@carrington> <1212523729.3222.4.camel@carrington> Message-ID: <1213729158.8247.31.camel@carrington> I created a test program that multiplexes a MPEG-4 video and MPEG-4 audi o file into a MPEG-4 Transport stream. I can play the resulting .ts file fine with MPlayer (video and audio), but VLC only plays about 10 seconds of the audio even though video continues to play. The program is attached. Does anyone have any ideas why the audio doesn't play completely using VLC. Thanks Lonnie On Tue, 2008-06-03 at 16:08 -0400, Lonnie Walker wrote: > 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. > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: test.cpp Type: text/x-c++src Size: 3671 bytes Desc: not available URL: From TIELXU01 at noa.nintendo.com Tue Jun 17 15:35:28 2008 From: TIELXU01 at noa.nintendo.com (Tielin Xu) Date: Tue, 17 Jun 2008 15:35:28 -0700 Subject: [Live-devel] Need your help Message-ID: <4857D9C0020000570000C9C8@mail4.nintendo.com> Hi List: I need to capture RTP packets with multiple conversations simultaneously and store them into mp3 or wav files for future reference. Can I use live library to do this? If yes, can someone send high level sample to me? Many thanks, Tielin From finlayson at live555.com Tue Jun 17 19:51:37 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 17 Jun 2008 19:51:37 -0700 Subject: [Live-devel] How to mux a MPEG-4 video and audio stream into a MPEG-2 TS In-Reply-To: <1213729158.8247.31.camel@carrington> References: <1212498495.11393.90.camel@carrington> <1212523729.3222.4.camel@carrington> <1213729158.8247.31.camel@carrington> Message-ID: >I created a test program that multiplexes a MPEG-4 video and MPEG-4 audi >o file into a MPEG-4 Transport stream. I can play the resulting .ts file >fine with MPlayer (video and audio), but VLC only plays about 10 seconds >of the audio even though video continues to play. Because the TS file plays OK on MPlayer, but not on VLC, this may be a bug in VLC, so please send a message to "vlc at videolan.org", telling them about this. (You will also need to include a link to the TS file, so they can use it to test the problem.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Jun 17 20:54:45 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 17 Jun 2008 20:54:45 -0700 Subject: [Live-devel] Need your help In-Reply-To: <4857D9C0020000570000C9C8@mail4.nintendo.com> References: <4857D9C0020000570000C9C8@mail4.nintendo.com> Message-ID: >I need to capture RTP packets with multiple conversations >simultaneously >and store them into mp3 or wav files for future reference. Can I use >live library >to do this? Yes. Are each of these streams sent by a RTSP server - i.e., do each of them have a "rtsp://" URL? If so, then the simplest way to record these streams is to run multiple copies of "openRTSP" simultaneously. If your streams don't use RTSP, then you can still receive them, but this requires more work. Please experiment with the demo applications (in "testProgs"), and read the FAQ. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Jun 17 21:10:46 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 17 Jun 2008 21:10:46 -0700 Subject: [Live-devel] RTCP Synchronization information In-Reply-To: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAD3@mailguy3.skynet.nuvation.com> References: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAD3@mailguy3.skynet.nuvation.com> Message-ID: >Ahh, I realized that after I posted the message - that's perfectly >applicable for when I have an RTPSource feeding into my sink object, >but for my audio situation, the SimpleRTPSource gets fed into an >EndianSwap16 filter before going into my sink - in that case, its >not possible to do that typecasting; OK, but you can still do this. Here are new instructions that should work for you: 1/ Call "MediaSink::source()" to get the sink's source object (as a (FramedSource*)). 2/ Cast this to a (FramedFilter*) (which you can do iff you know that it really is a FramedFilter, of course) 3/ Call "FramedFilter::inputSource()" to get the filter's source (as a FramedSource) 4/ Cast this to a (RTPSource*) (which you can do iff you know that it really is a RTPSource, of course) 5/ Call "RTPSource:: hasBeenSynchronizedUsingRTCP()" >Also, I was wondering if there was a searchable version of the >live-devel archives? There are times when I would like to just >search the messages first, before posting to the group The archives that we host aren't currently searchable, unfortunately. But perhaps someone who's subscribed to the list has made their own searchable archives?? If so, please let us know. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Tue Jun 17 21:50:41 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 17 Jun 2008 21:50:41 -0700 Subject: [Live-devel] Understanding testOnDemandRTSP In-Reply-To: <4857E88B.3090005@dsp-weuffen.de> References: <3387C0152F2A42968FE4C43E84E82929@DSPWeuffen.local> <4857E88B.3090005@dsp-weuffen.de> Message-ID: >Hi, >I am trying to understand and modify one of the testProgs - testOnDemandRTSP >Below is how I understand the flow (pardon my lack of OOD understanding) > > testOnDemandRTSPServer -> ServerMediaSession -> >MPEG4VideoFileServerMediaSubsession -> FileServerMediaSubsession-> >ByteStreamFileSource > >Instead of using a file as an input source I would like to use the >output of a "blocking function", which gives one output MPEG4 frame >every call. This function captures a V4L2 frame from a capture device >and encodes it into a MPEG4 frame. Which is the right point where I >should insert this blocking function ? You should first write your own subclass of "FramedSource" that encapsulates your capture device. (See "DeviceSource.cpp" for a model of how to do this.) Then, you should write your own subclass of "ServerMediaSubsession" - that uses your new 'capture device' class (instead of "ByteStreamFileSource") - and use this in place of "MPEG4VideoFileServerMediaSubsession". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Jun 17 22:04:07 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 17 Jun 2008 22:04:07 -0700 Subject: [Live-devel] RTCP Synchronization information Message-ID: >Also, I was wondering if there was a searchable version of the >live-devel archives? There are times when I would like to just >search the messages first, before posting to the group It turns out that Google (and probably other search engines also) index our archives, so you can search them by adding site:lists.live555.com to your Google query. E.g., Google for RTCP synchronization site:lists.live555.com -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From kumar.bala at DSP-Weuffen.de Wed Jun 18 02:33:06 2008 From: kumar.bala at DSP-Weuffen.de (Kumar Bala (DSP-Weuffen GmbH)) Date: Wed, 18 Jun 2008 11:33:06 +0200 Subject: [Live-devel] Understanding testOnDemandRTSP In-Reply-To: <5996D99884F2444298AED20690CF1777@DSPWeuffen.local> References: <3387C0152F2A42968FE4C43E84E82929@DSPWeuffen.local><4857E88B.3090005@dsp-weuffen.de> <5996D99884F2444298AED20690CF1777@DSPWeuffen.local> Message-ID: <4858D652.7060206@dsp-weuffen.de> Hi, I am using the ByteStreamFileSource as an example to implement frameread. But I noticed something fishy. I run the testOnDemandRTSPServer on one machine (montavista linux on DM355) and try to play it at the client side (Windows PC) using VLC There was an initial delay , so i added some printfs to see what is happening. I added a printf in the file ByteStreamFileSource.cpp before the line FILE* fid = OpenInputFile(env, fileName); to see if the file is opened multipletimes to even be played once and the log fopen instance 1 Read Data fFrameSize 150000 Read Data fFrameSize 135519 Read Data fFrameSize 142284 Read Data fFrameSize 141502 Read Data fFrameSize 146454 Read Data fFrameSize 145149 Read Data fFrameSize 143908 Read Data fFrameSize 146148 Read Data fFrameSize 148311 Read Data fFrameSize 144188 Read Data fFrameSize 142923 Read Data fFrameSize 146860 Read Data fFrameSize 144253 Read Data fFrameSize 145276 Read Data fFrameSize 17033 fopen instance 2 Read Data fFrameSize 150000 Read Data fFrameSize 135519 Read Data fFrameSize 142284 Read Data fFrameSize 141502 Read Data fFrameSize 146454 Read Data fFrameSize 145149 Read Data fFrameSize 143908 Read Data fFrameSize 146148 Read Data fFrameSize 148311 Read Data fFrameSize 144188 Read Data fFrameSize 142923 Read Data fFrameSize 146860 Read Data fFrameSize 144253 Read Data fFrameSize 145276 Read Data fFrameSize 17033 As you can see the file is opened TWICE !!! But then if i try to play it any further it opens the file only once. Only at the first instance it does a complete file read !?! Is it a bug at the client end ? Ross Finlayson wrote: >> Hi, >> I am trying to understand and modify one of the testProgs - >> testOnDemandRTSP >> Below is how I understand the flow (pardon my lack of OOD understanding) >> >> testOnDemandRTSPServer -> ServerMediaSession -> >> MPEG4VideoFileServerMediaSubsession -> >> FileServerMediaSubsession-> ByteStreamFileSource >> >> Instead of using a file as an input source I would like to use the >> output of a "blocking function", which gives one output MPEG4 frame >> every call. This function captures a V4L2 frame from a capture device >> and encodes it into a MPEG4 frame. Which is the right point where I >> should insert this blocking function ? > > You should first write your own subclass of "FramedSource" that > encapsulates your capture device. (See "DeviceSource.cpp" for a model > of how to do this.) > > Then, you should write your own subclass of "ServerMediaSubsession" - > that uses your new 'capture device' class (instead of > "ByteStreamFileSource") - and use this in place of > "MPEG4VideoFileServerMediaSubsession". From mike.gilorma at apogeelabs.com Wed Jun 18 06:33:06 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Wed, 18 Jun 2008 09:33:06 -0400 Subject: [Live-devel] streaming video and audio via RTSP In-Reply-To: <1213369669.3328.19.camel@Julia> References: <1213045355.3158.15.camel@Julia> <1213369669.3328.19.camel@Julia> Message-ID: <1213795986.3156.9.camel@Julia> Problem solved: There was no problem with synchronization between my test program and VLC. Although my test file played back fine locally in VLC, there must have been some problems in the file that VLC could overcome when playing locally that got exposed when trying to stream using RTSP. I was using the only mp4 file that I had at my disposal because I was having trouble creating a new test file. But I figured it out, so here's a little help for those of you who are struggling a little. (I'm running FC7). 1. create avi from dvd: mencoder dvd://1 -o test.avi -oac faac -ovc lavc -lavcopts vcodec=mpeg4 - or - mencoder dvd://1 -o test.avi -oac faac -ovc x264 2. convert avi to mp4: ffmpeg -i test.avi -vcodec mpeg4 test.mp4 - or - ffmpeg -i test.avi -vcodec h264 test.mp4 3. extract tracks from mpeg4 file: mp4creator -extract= test.mp4 On Fri, 2008-06-13 at 11:07 -0400, Mike Gilorma wrote: > I've attached my test program, each stream has rtcp, and the timestamps > are being set using timeofday. The VLC says the streams are > synchronized, but I am looking into doing more debug on the client side. > It looks like the video is started streaming before the audio and that > is where the streams get out of sync. I noticed this because I was > outputting the timestamps and saw that when starting up the video > streams out data for a little bit before audio starts up. > > thanks for the help, > mike > > > On Thu, 2008-06-12 at 22:56 -0700, Ross Finlayson wrote: > > >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? > > > > Using a single "ServerMediaSession", containing two > > "ServerMediaSubsession" objects - one for video; the other for audio. > > > > Also, to ensure that the audio and video get synchronized at the > > client, you *must* give them accurate presentation times at the > > server end - and implement RTCP for each stream. Also (and this is > > important), the presentation times *must* correspond to 'wall-clock' > > time - i.e., the time that you would get by calling "gettimeofday()". > > > > If you do this, then the presentation times that come out the client > > end (after RTCP-synchronization) *will* be same as those that you > > gave the frames at the server end, and then the client will be able > > to use those to synchonize audio and video. > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From DionG at Viewcast.com Wed Jun 18 07:05:22 2008 From: DionG at Viewcast.com (Dion Galbreath) Date: Wed, 18 Jun 2008 09:05:22 -0500 Subject: [Live-devel] streaming mpeg4 with hinting to helix server Message-ID: >>Does live555 support sending (streaming) the hint tracks to a helix server? >No. "hint tracks" are an Apple-specific hack used only by Apple's 'Darwin Streaming Server'. But helix states in there doc that they support it. And some older phones mostly ones in Europe, need the hints to be able to stream the video. Helix mobile producer 11, lets you stream to a helix server with hints, though I see no proof in the playing content that the hints actually reside in the streams. The sdp doesn't show any other tracks..... so I was wondering if hints is mostly for file based files. And not live streams. And if it is only for live, live55 won't be able to stream the hints to the helix or QuickTime, or Darwin servers??? Thanks Dion -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Wed Jun 18 07:41:17 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 18 Jun 2008 07:41:17 -0700 Subject: [Live-devel] streaming mpeg4 with hinting to helix server In-Reply-To: References: Message-ID: You're a bit confused, I think, about what "hint tracks" mean. "Hint tracks" are an optional feature of ".mov"-format and ".mp4"-format files that some RTSP servers (most notably, Apple's Darwin Streaming Server, but perhaps the 'Helix' server also) use in order to implement RTSP features such as seeking and 'trick play' (e.g., fast-forward). It's important to understand that 'hint tracks' are just an internal feature of the file. They are not part of the RTSP, RTP or RTCP protocols, and are not 'streamed' in any way. It's also important to note that *our* RTSP server implementation does not use 'hint tracks' at all. (In fact, our server does not yet stream from ".mov"-format or ".mp4"-format files at all; however, it can stream from several other types of file (e.g., MPEG Transport, Program, or Elementary Stream files) that the 'Darwin' and 'Helix' servers do not support at all.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Jun 18 07:58:07 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 18 Jun 2008 07:58:07 -0700 Subject: [Live-devel] Understanding testOnDemandRTSP In-Reply-To: <4858D652.7060206@dsp-weuffen.de> References: <3387C0152F2A42968FE4C43E84E82929@DSPWeuffen.local><4857E88B.3090005@dsp-w euffen.de> <5996D99884F2444298AED20690CF1777@DSPWeuffen.local> <4858D652.7060206@dsp-weuffen.de> Message-ID: >As you can see the file is opened TWICE !!! But then if i try to play it >any further it opens the file only once. Only at the first instance it >does a complete file read !?! Is it a bug at the client end ? No. For certain types of file - includung MPEG-4 Elementary Stream files - the server needs to first open the stream to get certain 'configuration data' (that gets included in the stream's SDP description), before it opens the file a second time to actually stream it. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From TIELXU01 at noa.nintendo.com Wed Jun 18 08:28:09 2008 From: TIELXU01 at noa.nintendo.com (Tielin Xu) Date: Wed, 18 Jun 2008 08:28:09 -0700 Subject: [Live-devel] Need your help In-Reply-To: References: <4857D9C0020000570000C9C8@mail4.nintendo.com> Message-ID: <4858C719020000570000CA0D@mail4.nintendo.com> Thanks Ross. I don't think that I have RTSP server to work with. I plan to use Cisco silient monitor to barge in the conversations for quality monitoring, try to capture the RTP packets for the conversation, and store them, do you think I need to run Live server on my computer for this purpose? I checked the testProgs, which one you think better fit my need, testMP3Stream.cpp, or testMP3Receiver.cpp? I need to capture multiple calls, from your FAQ, the Live library is not thread safe, do you think that creating different capture session in each thread can work out? Best regards, Tielin >>> Ross Finlayson 06/17/08 8:54 PM >>> >I need to capture RTP packets with multiple conversations >simultaneously >and store them into mp3 or wav files for future reference. Can I use >live library >to do this? Yes. Are each of these streams sent by a RTSP server - i.e., do each of them have a "rtsp://" URL? If so, then the simplest way to record these streams is to run multiple copies of "openRTSP" simultaneously. If your streams don't use RTSP, then you can still receive them, but this requires more work. Please experiment with the demo applications (in "testProgs"), and read the FAQ. -- 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 mike.gilorma at apogeelabs.com Wed Jun 18 09:09:35 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Wed, 18 Jun 2008 12:09:35 -0400 Subject: [Live-devel] H264VideoStreamFramer Message-ID: <1213805375.3156.17.camel@Julia> I've read the FAQ and searched the mailing list on the subject of streaming H264 and understand that I need to implement my own H264VideoStreamFramer subclass. I was just wondering if anybody had written their own that they wouldn't mind sharing. Being that I'm not that familiar with video data structures and the live555 source code hierarchy, I was hoping someone could lend a helping hand. I'm trying to transmit a h264 JVT NAL sequence via RTSP. In the mean time I'm going to attempt to create my own stream framer, but again any help would be greatly appreciated. thanks, mike From bgmarete at gmail.com Wed Jun 18 09:36:59 2008 From: bgmarete at gmail.com (Brian Marete) Date: Wed, 18 Jun 2008 19:36:59 +0300 Subject: [Live-devel] H264VideoStreamFramer In-Reply-To: <1213805375.3156.17.camel@Julia> References: <1213805375.3156.17.camel@Julia> Message-ID: <6dd519ae0806180936t38277863y77a478879088b7da@mail.gmail.com> Hello, I have written a prototype that makes use of FFmpeg's libavformat library. It works, no matter what file format contains the H.264 data. Or you want something that is "native" to live555? BGM. On Wed, Jun 18, 2008 at 7:09 PM, Mike Gilorma wrote: > I've read the FAQ and searched the mailing list on the subject of > streaming H264 and understand that I need to implement my own > H264VideoStreamFramer subclass. I was just wondering if anybody had > written their own that they wouldn't mind sharing. Being that I'm not > that familiar with video data structures and the live555 source code > hierarchy, I was hoping someone could lend a helping hand. I'm trying > to transmit a h264 JVT NAL sequence via RTSP. In the mean time I'm > going to attempt to create my own stream framer, but again any help > would be greatly appreciated. > > thanks, > mike > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > -- B. Gitonga Marete Tel: +254-722-151-590 From mike.gilorma at apogeelabs.com Wed Jun 18 10:44:29 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Wed, 18 Jun 2008 13:44:29 -0400 Subject: [Live-devel] H264VideoStreamFramer In-Reply-To: <6dd519ae0806180936t38277863y77a478879088b7da@mail.gmail.com> References: <1213805375.3156.17.camel@Julia> <6dd519ae0806180936t38277863y77a478879088b7da@mail.gmail.com> Message-ID: <1213811069.3156.20.camel@Julia> Thank you for your response, but I am looking to incorporate this code with some other test programs based off the live555 libraries, so I was hoping someone would have something in that realm. On Wed, 2008-06-18 at 19:36 +0300, Brian Marete wrote: > Hello, > > I have written a prototype that makes use of FFmpeg's libavformat > library. It works, no matter what file format contains the H.264 data. > Or you want something that is "native" to live555? > > BGM. > > On Wed, Jun 18, 2008 at 7:09 PM, Mike Gilorma > wrote: > > I've read the FAQ and searched the mailing list on the subject of > > streaming H264 and understand that I need to implement my own > > H264VideoStreamFramer subclass. I was just wondering if anybody had > > written their own that they wouldn't mind sharing. Being that I'm not > > that familiar with video data structures and the live555 source code > > hierarchy, I was hoping someone could lend a helping hand. I'm trying > > to transmit a h264 JVT NAL sequence via RTSP. In the mean time I'm > > going to attempt to create my own stream framer, but again any help > > would be greatly appreciated. > > > > thanks, > > mike > > > > > > _______________________________________________ > > live-devel mailing list > > live-devel at lists.live555.com > > http://lists.live555.com/mailman/listinfo/live-devel > > > > > From finlayson at live555.com Wed Jun 18 10:44:08 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 18 Jun 2008 10:44:08 -0700 Subject: [Live-devel] Need your help In-Reply-To: <4858C719020000570000CA0D@mail4.nintendo.com> References: <4857D9C0020000570000C9C8@mail4.nintendo.com> <4858C719020000570000CA0D@mail4.nintendo.com> Message-ID: >I checked the testProgs, which one you think better fit my need, >testMP3Stream.cpp, or testMP3Receiver.cpp? Look at the code for "testMPEG1or2VideoReceiver" (or "testMP3Receiver"), and read the FAQ to see how to adapt this for receiving unicast streams. > I need to capture multiple >calls, from your FAQ, the Live library is not thread safe, do you think >that >creating different capture session in each thread can work out? No, you must not use multiple threads. Instead, you can receive multiple streams within a single event loop (run by a single thread). (Alternatively, you could run multiple *processes* (i.e., applications), each receiving one stream. Your choice....) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From bgmarete at gmail.com Wed Jun 18 11:04:53 2008 From: bgmarete at gmail.com (Brian Marete) Date: Wed, 18 Jun 2008 21:04:53 +0300 Subject: [Live-devel] H264VideoStreamFramer In-Reply-To: <1213811069.3156.20.camel@Julia> References: <1213805375.3156.17.camel@Julia> <6dd519ae0806180936t38277863y77a478879088b7da@mail.gmail.com> <1213811069.3156.20.camel@Julia> Message-ID: <6dd519ae0806181104i3fb6268by29eef66b49386347@mail.gmail.com> On Wed, Jun 18, 2008 at 8:44 PM, Mike Gilorma wrote: > Thank you for your response, but I am looking to incorporate this code > with some other test programs based off the live555 libraries, so I was > hoping someone would have something in that realm. My code that uses libavformat is encapsulated in a custom FramedSource (which is derived from H264VideoStreamFramer) and so it can be used anywhere in live555. -- B. Gitonga Marete Tel: +254-722-151-590 From mike at w4g.org Wed Jun 18 11:06:45 2008 From: mike at w4g.org (Mike Frantzen) Date: Wed, 18 Jun 2008 14:06:45 -0400 Subject: [Live-devel] RTCP auth bug Message-ID: <71316c110806181106w38be3c65l42750e2821d91f5b@mail.gmail.com> I just upgraded an AXIS camera's firmware to 4.47 (2008-03-13). The new firmware has gotten more strict with authorization causing a VLC 0.8.6h client to fail on an rtsp stream. I see the OPTIONS request succeed and then the DESCRIBE request fail w/o the authorization modifier. Then OPTIONS and DESCRIBE get retried successfully w/ auth and the SDP is transfered. Next the SETUP request does not contain the authorization modifier and it does not get retried with auth. The previous AXIS firmware did not require auth in that packet. I assume that this is a live555 bug because the code appears to cache an authenticator. The CSeq numbers are monotonically increasing so this is all one UDP pseudo connection and the successful auth creds should be reused by every request in that pseudo connection. Turning off auth works like a charm. A sanitized VLC verbose (-vv) trace follows. I apologize in advance if gmail butchers this. Sending request: OPTIONS rtsp://192.168.11.154/mpeg4/1/media.amp RTSP/1.0 CSeq: 1 User-Agent: VLC media player (LIVE555 Streaming Media v2008.04.02) 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.168.11.154/mpeg4/1/media.amp RTSP/1.0 CSeq: 2 Accept: application/sdp User-Agent: VLC media player (LIVE555 Streaming Media v2008.04.02) Received DESCRIBE response: RTSP/1.0 401 Unauthorized CSeq: 2 WWW-Authenticate: Basic realm="AXIS_00..." [00000329] live555 demuxer debug: DESCRIBE failed with 401: [cannot handle DESCRIBE response: RTSP/1.0 401 Unauthorized] [00000329] live555 demuxer debug: connection timeout, retrying Sending request: OPTIONS rtsp://192.168.11.154/mpeg4/1/media.amp RTSP/1.0 CSeq: 3 Authorization: Basic User-Agent: VLC media player (LIVE555 Streaming Media v2008.04.02) Received OPTIONS response: RTSP/1.0 200 OK CSeq: 3 Public: DESCRIBE, GET_PARAMETER, PAUSE, PLAY, SETUP, SET_PARAMETER, TEARDOWN Sending request: DESCRIBE rtsp://192.168.11.154/mpeg4/1/media.amp RTSP/1.0 CSeq: 4 Accept: application/sdp Authorization: Basic User-Agent: VLC media player (LIVE555 Streaming Media v2008.04.02) Received DESCRIBE response: RTSP/1.0 200 OK CSeq: 4 Content-Base: rtsp://192.168.11.154:554/mpeg4/1/media.amp/ Content-Type: application/sdp Content-Length: 727 Need to read 727 extra bytes [00000329] live555 demuxer debug: RTP subsession 'video/MP4V-ES' Sending request: SETUP rtsp://192.168.11.154:554/mpeg4/1/media.amp/trackID=1RTSP/1.0 CSeq: 5 Transport: RTP/AVP;unicast;client_port=60172-60173 User-Agent: VLC media player (LIVE555 Streaming Media v2008.04.02) Received SETUP response: RTSP/1.0 401 Unauthorized CSeq: 5 WWW-Authenticate: Basic realm="AXIS_..." [00000329] live555 demuxer error: SETUP of'video/MP4V-ES' failed SETUP: cannot handle response: RTSP/1.0 401 Unauthorized [00000329] live555 demuxer error: Nothing to play for rtsp:// 192.168.11.154/mpeg4/1/media.amp [00000329] main demuxer warning: no access_demux module matching "rtsp" could be loaded -------------- next part -------------- An HTML attachment was scrubbed... URL: From ruud.siebierski at eventis.nl Wed Jun 18 11:18:18 2008 From: ruud.siebierski at eventis.nl (Ruud Siebierski) Date: Wed, 18 Jun 2008 20:18:18 +0200 Subject: [Live-devel] RTSP trickplay/scale problem Message-ID: Hi, When I try to do trickplay by setting the scale from 1.0 to 2.0 I always get the following error: "FramedSource[003FD1B8]::getNextFrame(): attempting to read more than once at the same time!" I know what it means, but I would like to know how to solve it. Sometimes (very rare) the scale-change from 1.0 to 2.0 works, but when getting back to 1.0 I get first this error: "Missing sync byte!" And after a few missed sync bytes the getNextFrame error. I got the source code from 5-6. Only made a few minor adaptions for the GET PARAMETER call, to support parameters. Can someone help me on how to find the source of this problem? I searched the internet of course, only found problems, no solutions. Regards, Ruud -------------- next part -------------- An HTML attachment was scrubbed... URL: From TIELXU01 at noa.nintendo.com Wed Jun 18 11:22:19 2008 From: TIELXU01 at noa.nintendo.com (Tielin Xu) Date: Wed, 18 Jun 2008 11:22:19 -0700 Subject: [Live-devel] Need your help In-Reply-To: References: <4857D9C0020000570000C9C8@mail4.nintendo.com> <4858C719020000570000CA0D@mail4.nintendo.com> Message-ID: <4858EFEB020000570000CA37@mail4.nintendo.com> Thanks Ross, I guess this is my last question before I dig in your code to test. I noticed that the class FileSink is used in testMP3Receiver.cpp, What format FileSink puts the RTP payload into the file, mp3, wav, or others, I did not see any setup about the format? Best regards, Tieiln >>> Ross Finlayson 06/18/08 10:44 AM >>> >I checked the testProgs, which one you think better fit my need, >testMP3Stream.cpp, or testMP3Receiver.cpp? Look at the code for "testMPEG1or2VideoReceiver" (or "testMP3Receiver"), and read the FAQ to see how to adapt this for receiving unicast streams. > I need to capture multiple >calls, from your FAQ, the Live library is not thread safe, do you think >that >creating different capture session in each thread can work out? No, you must not use multiple threads. Instead, you can receive multiple streams within a single event loop (run by a single thread). (Alternatively, you could run multiple *processes* (i.e., applications), each receiving one stream. Your choice....) -- 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 mike.gilorma at apogeelabs.com Wed Jun 18 11:37:05 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Wed, 18 Jun 2008 14:37:05 -0400 Subject: [Live-devel] H264VideoStreamFramer In-Reply-To: <6dd519ae0806181104i3fb6268by29eef66b49386347@mail.gmail.com> References: <1213805375.3156.17.camel@Julia> <6dd519ae0806180936t38277863y77a478879088b7da@mail.gmail.com> <1213811069.3156.20.camel@Julia> <6dd519ae0806181104i3fb6268by29eef66b49386347@mail.gmail.com> Message-ID: <1213814225.3156.24.camel@Julia> That sounds like it might be helpful, could you send that over to me? thanks, Mike On Wed, 2008-06-18 at 21:04 +0300, Brian Marete wrote: > On Wed, Jun 18, 2008 at 8:44 PM, Mike Gilorma > wrote: > > Thank you for your response, but I am looking to incorporate this code > > with some other test programs based off the live555 libraries, so I was > > hoping someone would have something in that realm. > > My code that uses libavformat is encapsulated in a custom FramedSource > (which is derived from H264VideoStreamFramer) and so it can be used > anywhere in live555. > From finlayson at live555.com Wed Jun 18 13:06:44 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 18 Jun 2008 13:06:44 -0700 Subject: [Live-devel] Need your help In-Reply-To: <4858EFEB020000570000CA37@mail4.nintendo.com> References: <4857D9C0020000570000C9C8@mail4.nintendo.com> <4858C719020000570000CA0D@mail4.nintendo.com> <4858EFEB020000570000CA37@mail4.nintendo.com> Message-ID: >I guess this is my last question before I dig in your code to test. It's usually better to 'dig in the code' before asking questions :-) One of the benefits of open source is that the code is right there in front of you. >I noticed that the class FileSink is used in testMP3Receiver.cpp, >What format FileSink puts the RTP payload into the file, mp3, wav, or >others, A "FileSink" writes its input data to a file, without modification. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Jun 18 13:09:18 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 18 Jun 2008 13:09:18 -0700 Subject: [Live-devel] RTSP trickplay/scale problem In-Reply-To: References: Message-ID: >When I try to do trickplay by setting the scale from 1.0 to 2.0 I >always get the following error: > >"FramedSource[003FD1B8]::getNextFrame(): attempting to read more >than once at the same time!" > >I know what it means, but I would like to know how to solve it. >Sometimes (very rare) the scale-change from 1.0 to 2.0 works, but >when getting back to 1.0 I get first this error: > >"Missing sync byte!" > >And after a few missed sync bytes the getNextFrame error. >I got the source code from 5-6. Only made a few minor adaptions for >the GET PARAMETER call, to support parameters. Sorry, but (in general) once you've made changes to the supplied code, I can't help you. If you can reproduce the problem with the original, unmodified code, then please let us know. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Jun 18 13:27:13 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 18 Jun 2008 13:27:13 -0700 Subject: [Live-devel] RTCP auth bug In-Reply-To: <71316c110806181106w38be3c65l42750e2821d91f5b@mail.gmail.com> References: <71316c110806181106w38be3c65l42750e2821d91f5b@mail.gmail.com> Message-ID: Mike, Thanks for the report. (BTW, you meant to say "RTSP auth", not "RTCP auth".) To properly debug this, I'll need the "rtsp://" URL of a stream that illustrates this problem, along with a valid username,password pair. (You can send this to me via private email if you wish.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From Jerry.Johns at nuvation.com Wed Jun 18 15:04:13 2008 From: Jerry.Johns at nuvation.com (Jerry Johns) Date: Wed, 18 Jun 2008 15:04:13 -0700 Subject: [Live-devel] Sender/Receiver clock drift Message-ID: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAD9@mailguy3.skynet.nuvation.com> Hello, For a session streamed between a sender and a receiver (both using LiveMedia), does it correct for drift between sender and receiver local (wall) clocks? I'm trying to synchronize playback of audio and video streams. An RTCPInstance has been instantiated for each of the streams. Jerry Johns Design Engineer Nuvation Research Corp - Canada Tel: (519) 746-2304 ext. 225 www.nuvation.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Wed Jun 18 15:13:02 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 18 Jun 2008 15:13:02 -0700 Subject: [Live-devel] Sender/Receiver clock drift In-Reply-To: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAD9@mailguy3.skynet.nuvation.com> References: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAD9@mailguy3.skynet.nuvation.com> Message-ID: > For a session streamed between a sender and a receiver (both >using LiveMedia), does it correct for drift between sender and >receiver local (wall) clocks? I'm trying to synchronize playback of >audio and video streams. An RTCPInstance has been instantiated for >each of the streams. The presentation times received by the receiver are exactly those that were generated by the sender, and therefore are based on the sender's clock. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From ruud.siebierski at eventis.nl Wed Jun 18 16:12:07 2008 From: ruud.siebierski at eventis.nl (Ruud Siebierski) Date: Thu, 19 Jun 2008 01:12:07 +0200 Subject: [Live-devel] RTSP trickplay/scale problem In-Reply-To: References: Message-ID: Ok, I understand. So I reproduced the problem with the original code. The only thing I had to change, to get it compiling is: change the #include into (I'm developing in Windows XP with Visual Studio 2005) Changing the scale now makes the MediaServer crash sometimes. Since I suspect it is a timing issue I also tried with a release build, then again it is a bit more stable, but still crashes after a few scale changes from 1.0->2.0->1.0 Regards, Ruud -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: woensdag 18 juni 2008 22:09 To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] RTSP trickplay/scale problem >When I try to do trickplay by setting the scale from 1.0 to 2.0 I >always get the following error: > >"FramedSource[003FD1B8]::getNextFrame(): attempting to read more >than once at the same time!" > >I know what it means, but I would like to know how to solve it. >Sometimes (very rare) the scale-change from 1.0 to 2.0 works, but >when getting back to 1.0 I get first this error: > >"Missing sync byte!" > >And after a few missed sync bytes the getNextFrame error. >I got the source code from 5-6. Only made a few minor adaptions for >the GET PARAMETER call, to support parameters. Sorry, but (in general) once you've made changes to the supplied code, I can't help you. If you can reproduce the problem with the original, unmodified code, then please let us know. -- 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 bgmarete at gmail.com Thu Jun 19 06:37:43 2008 From: bgmarete at gmail.com (Brian Marete) Date: Thu, 19 Jun 2008 16:37:43 +0300 Subject: [Live-devel] H264VideoStreamFramer In-Reply-To: <1213814225.3156.24.camel@Julia> References: <1213805375.3156.17.camel@Julia> <6dd519ae0806180936t38277863y77a478879088b7da@mail.gmail.com> <1213811069.3156.20.camel@Julia> <6dd519ae0806181104i3fb6268by29eef66b49386347@mail.gmail.com> <1213814225.3156.24.camel@Julia> Message-ID: <6dd519ae0806190637m2668cc9dw586d20bba3e4049a@mail.gmail.com> On Wed, Jun 18, 2008 at 9:37 PM, Mike Gilorma wrote: > That sounds like it might be helpful, could you send that over to me? I will, when I get to the (non-networked) machine that contains it tomorrow. -- B. Gitonga Marete Tel: +254-722-151-590 From erik.van.dort at bluewin.ch Thu Jun 19 08:19:40 2008 From: erik.van.dort at bluewin.ch (Erik van Dort) Date: Thu, 19 Jun 2008 17:19:40 +0200 Subject: [Live-devel] unexpected "StreamClose" in VLC under FreeBSD Message-ID: <010701c8d21f$e4f59ce0$2201a8c0@delld520evd> Hi, I?m not sure if the following already came in through the VLC team: I am connecting VLC to an MPEG4 input stream generated by an Axis IP camera: rtsp://user:password at 192.168.1.26:554/mpeg4/media.amp With VLC 0.8.6h under Windows XP this works fine, but running VLC 0.8.6h on my FreeBSD host results in the following messages (after max. 1 minute): live555 debug: StreamClose main debug: EOF reached This problem never appeared in VLC 0.8.6e under FreeBSD. Jean-Baptiste Kempf and R?mi Denis-Courmont (from the VLC team) think the cause of this problem is in live555. I hope the team can fix this. Thanks. Cheers, Erik -------------- next part -------------- An HTML attachment was scrubbed... URL: From psachet.ext at orange-ftgroup.com Thu Jun 19 08:56:06 2008 From: psachet.ext at orange-ftgroup.com (psachet.ext at orange-ftgroup.com) Date: Thu, 19 Jun 2008 17:56:06 +0200 Subject: [Live-devel] unexpected "StreamClose" in VLC under FreeBSD In-Reply-To: <010701c8d21f$e4f59ce0$2201a8c0@delld520evd> Message-ID: <080F4DCC965B5F4F95AB691DE867F8E60283D41B@PUEXCBC0.nanterre.francetelecom.fr> Hello, This problem seems to come from the AXIS RTSP server. Look in the archive at the date 2008-01-04 in the thread "[Live-devel] Axis camera". Cheers, Patrick De : live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] De la part de Erik van Dort Envoy? : jeudi 19 juin 2008 17:20 ? : live-devel at ns.live555.com Objet : [Live-devel] unexpected "StreamClose" in VLC under FreeBSD Hi, I'm not sure if the following already came in through the VLC team: I am connecting VLC to an MPEG4 input stream generated by an Axis IP camera: rtsp://user:password at 192.168.1.26:554/mpeg4/media.amp With VLC 0.8.6h under Windows XP this works fine, but running VLC 0.8.6h on my FreeBSD host results in the following messages (after max. 1 minute): live555 debug: StreamClose main debug: EOF reached This problem never appeared in VLC 0.8.6e under FreeBSD. Jean-Baptiste Kempf and R?mi Denis-Courmont (from the VLC team) think the cause of this problem is in live555. I hope the team can fix this. Thanks. Cheers, Erik ********************************* This message and any attachments (the "message") are confidential and intended solely for the addressees. Any unauthorised use or dissemination is prohibited. Messages are susceptible to alteration. France Telecom Group shall not be liable for the message if altered, changed or falsified. If you are not the intended addressee of this message, please cancel it immediately and inform the sender. ******************************** From erik.van.dort at bluewin.ch Thu Jun 19 09:36:26 2008 From: erik.van.dort at bluewin.ch (Erik van Dort) Date: Thu, 19 Jun 2008 18:36:26 +0200 Subject: [Live-devel] unexpected "StreamClose" in VLC under FreeBSD In-Reply-To: <080F4DCC965B5F4F95AB691DE867F8E60283D41B@PUEXCBC0.nanterre.francetelecom.fr> References: <080F4DCC965B5F4F95AB691DE867F8E60283D41B@PUEXCBC0.nanterre.francetelecom.fr> Message-ID: <485A8B0A.7070900@bluewin.ch> Hello, I've checked the archive, and also the version I am running on my FreeBSD host: liveMedia-2008.06.05,1 Everything worked fine with VLC 0.8.6e, which probably used an older version of liveMedia (don't know which one). But VLC 0.8.6h on Windows XP does not show this problem. I don't know which live555 version is used there. I can't check since I only have the binary, downloaded from the VLC site. So I'm not so sure if it's a problem in the embedded rtsp server in my Axis camera. cheers, Erik psachet.ext at orange-ftgroup.com wrote: > Hello, > > This problem seems to come from the AXIS RTSP server. > > Look in the archive at the date 2008-01-04 in the thread "[Live-devel] Axis camera". > > Cheers, Patrick > > De : live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] De la part de Erik van Dort > Envoy? : jeudi 19 juin 2008 17:20 > ? : live-devel at ns.live555.com > Objet : [Live-devel] unexpected "StreamClose" in VLC under FreeBSD > > > > Hi, > > I'm not sure if the following already came in through the VLC team: > > I am connecting VLC to an MPEG4 input stream generated by an Axis IP camera: > > rtsp://user:password at 192.168.1.26:554/mpeg4/media.amp > > With VLC 0.8.6h under Windows XP this works fine, but running VLC 0.8.6h on my FreeBSD host results in the following messages (after max. 1 minute): > > live555 debug: StreamClose > main debug: EOF reached > > This problem never appeared in VLC 0.8.6e under FreeBSD. > > Jean-Baptiste Kempf and R?mi Denis-Courmont (from the VLC team) think the cause of this problem is in live555. > > I hope the team can fix this. Thanks. > > Cheers, Erik > > > > > ********************************* > This message and any attachments (the "message") are confidential and intended solely for the addressees. > Any unauthorised use or dissemination is prohibited. > Messages are susceptible to alteration. > France Telecom Group shall not be liable for the message if altered, changed or falsified. > If you are not the intended addressee of this message, please cancel it immediately and inform the sender. > ******************************** > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > -- EvD From finlayson at live555.com Thu Jun 19 10:55:35 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 19 Jun 2008 10:55:35 -0700 Subject: [Live-devel] unexpected "StreamClose" in VLC under FreeBSD In-Reply-To: <485A8B0A.7070900@bluewin.ch> References: <080F4DCC965B5F4F95AB691DE867F8E60283D41B@PUEXCBC0.nanterre.francetelecom. fr> <485A8B0A.7070900@bluewin.ch> Message-ID: A couple of "LIVE555 Streaming Media" versions from earlier this year (2008.04.09 and 2008.05.12) had a bug that may have caused this problem. Please upgrade to the latest version (2008.06.05 or higher). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From 47manzoor at niit.edu.pk Thu Jun 19 16:21:34 2008 From: 47manzoor at niit.edu.pk (47manzoor at niit.edu.pk) Date: Fri, 20 Jun 2008 04:21:34 +0500 (PKT) Subject: [Live-devel] Transmission of H.264 coded video over RTP Message-ID: <34209.202.125.157.194.1213917694.squirrel@webmail.niit.edu.pk> I have a H.264 encoded video (e.g test.264) saved in a file. Which methods should i implement in the subclass in order to read frames (Extract NALs) from the file and send them to the H264RTPSink. any other suggestion? Thank You Manzoor ----------- --Help save paper - do you really need to print this email? This message is for the use of the intended recipient(s) only. If you have received this message in error, please notify the sender and delete it. The NUST School of Electrical Engg and Computer Science accepts no liability for loss or damage caused by software viruses and you are advised to carry out a virus check on any attachments contained in this message. NUST School of Electrical Engg and Computer Science (Formerly NIIT) is constituent institution of National University of Sciences and Technology, Pakistan. ------- From dolphinman19 at gmail.com Thu Jun 19 20:48:53 2008 From: dolphinman19 at gmail.com (dolphinman) Date: Fri, 20 Jun 2008 10:48:53 +0700 Subject: [Live-devel] livegate and livegateForIntranet Message-ID: <3fe35ed50806192048l694b4e6bj60dd935ece285398@mail.gmail.com> hi, How I config liveGateCreateTurnel if my server behind router modem? ex: livegate => router modem => livegateForIntranet [ public ip] [public ip] [local ip] thanks you very much -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Fri Jun 20 00:07:47 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 20 Jun 2008 00:07:47 -0700 Subject: [Live-devel] livegate and livegateForIntranet In-Reply-To: <3fe35ed50806192048l694b4e6bj60dd935ece285398@mail.gmail.com> References: <3fe35ed50806192048l694b4e6bj60dd935ece285398@mail.gmail.com> Message-ID: >hi, > How I config liveGateCreateTurnel if my server behind router modem? > > ex: > > livegate => router modem => livegateForIntranet > [ public ip] [public ip] [local ip] At each end of the tunnel, the remote endpoint that you specify in the "liveGate_createTunnel" command must be the *source* IP address used by packets that arrive from the remote endpoint. See http://www.live555.com/liveGate/configuration.html -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From beilyzhang at hotmail.com Fri Jun 20 00:51:52 2008 From: beilyzhang at hotmail.com (CheungBeily) Date: Fri, 20 Jun 2008 15:51:52 +0800 Subject: [Live-devel] [live-devel] Something wrong with RTSP -> GET_PARAMETER Message-ID: Hello, I wanted to extend Darwin Streaming Server to support GET_PARAMETER, and try to use live555 to connect it. I used the method getMediaSessionParameter() in RTSPClient.cpp. If the parameter 'parameterName' of the method is not NULL, Darwin responded a 'OK' and a 'Bad Request'. If the parameter 'parameterName' is NULL, everything is ok. RTSPClient.cpp, line 1504: if (haveParameterName) { char* const cmdFmt = "GET_PARAMETER %s RTSP/1.0\r\n" "CSeq: %d\r\n" "Session: %s\r\n" "%s" "%s" "Content-type: text/parameters\r\n" "Content-length: %d\r\n\r\n" "%s\r\n" "\r\n"; <- ??? Maybe there is something wrong with the last '\r\n'. If there is only one '\r\n' after %s, the response is 'OK'. I hope the team can fix this. Thanks! Beily Chueng Beijing China _________________________________________________________________ ?????????????MSN????TA????? http://im.live.cn/emoticons/?ID=18 -------------- next part -------------- An HTML attachment was scrubbed... URL: From Nalthooru.Jayakara at analog.com Fri Jun 20 02:02:08 2008 From: Nalthooru.Jayakara at analog.com (Jayakara, Nalthooru) Date: Fri, 20 Jun 2008 05:02:08 -0400 Subject: [Live-devel] RTP RFC 2250 support Message-ID: <7D453D0504B6A2429F98F4D72CBEDE4935DB782F@nwd2exm5.ad.analog.com> Dear All, I am using openRTSP. Does it support RTP RFC 2250 (MPEG-TS streaming over RTP)? Thanks in advance Jayakara N From finlayson at live555.com Fri Jun 20 02:16:39 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 20 Jun 2008 02:16:39 -0700 Subject: [Live-devel] RTP RFC 2250 support In-Reply-To: <7D453D0504B6A2429F98F4D72CBEDE4935DB782F@nwd2exm5.ad.analog.com> References: <7D453D0504B6A2429F98F4D72CBEDE4935DB782F@nwd2exm5.ad.analog.com> Message-ID: >Dear All, > I am using openRTSP. Does it support RTP RFC 2250 (MPEG-TS streaming >over RTP)? Yes. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Fri Jun 20 02:35:58 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 20 Jun 2008 02:35:58 -0700 Subject: [Live-devel] [live-devel] Something wrong with RTSP -> GET_PARAMETER In-Reply-To: References: Message-ID: I believe our RTSP client implementation of GET_PARAMETER is correct. (Perhaps your modifications to the Darwin server are in error?) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From Nalthooru.Jayakara at analog.com Fri Jun 20 03:17:28 2008 From: Nalthooru.Jayakara at analog.com (Jayakara, Nalthooru) Date: Fri, 20 Jun 2008 06:17:28 -0400 Subject: [Live-devel] RTP RFC 2250 support In-Reply-To: References: <7D453D0504B6A2429F98F4D72CBEDE4935DB782F@nwd2exm5.ad.analog.com> Message-ID: <7D453D0504B6A2429F98F4D72CBEDE4935DB7A07@nwd2exm5.ad.analog.com> Hi, Thanks a lot. Can we use RTP as separate library? Can you suggest me where can I get the API documentation for the same. Thanks in advance, Jayakara N -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: Friday, June 20, 2008 2:47 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] RTP RFC 2250 support >Dear All, > I am using openRTSP. Does it support RTP RFC 2250 (MPEG-TS streaming >over RTP)? Yes. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel From finlayson at live555.com Fri Jun 20 04:05:44 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 20 Jun 2008 04:05:44 -0700 Subject: [Live-devel] RTP RFC 2250 support In-Reply-To: <7D453D0504B6A2429F98F4D72CBEDE4935DB7A07@nwd2exm5.ad.analog.com> References: <7D453D0504B6A2429F98F4D72CBEDE4935DB782F@nwd2exm5.ad.analog.com> <7D453D0504B6A2429F98F4D72CBEDE4935DB7A07@nwd2exm5.ad.analog.com> Message-ID: > Thanks a lot. Can we use RTP as separate library? Can you suggest me >where can I get the API documentation for the same. Please read the FAQ! -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From 47manzoor at niit.edu.pk Sat Jun 21 00:42:16 2008 From: 47manzoor at niit.edu.pk (47manzoor at niit.edu.pk) Date: Sat, 21 Jun 2008 12:42:16 +0500 (PKT) Subject: [Live-devel] Parsing H.264 file Message-ID: <50838.202.125.157.194.1214034136.squirrel@webmail.niit.edu.pk> Can someone give me some hints for parsing h.264 file? Manzoor Ahmed ----------- --Help save paper - do you really need to print this email? This message is for the use of the intended recipient(s) only. If you have received this message in error, please notify the sender and delete it. The NUST School of Electrical Engg and Computer Science accepts no liability for loss or damage caused by software viruses and you are advised to carry out a virus check on any attachments contained in this message. NUST School of Electrical Engg and Computer Science (Formerly NIIT) is constituent institution of National University of Sciences and Technology, Pakistan. ------- From 47manzoor at niit.edu.pk Sun Jun 22 05:51:26 2008 From: 47manzoor at niit.edu.pk (47manzoor at niit.edu.pk) Date: Sun, 22 Jun 2008 17:51:26 +0500 (PKT) Subject: [Live-devel] H.264 Streaming using Live555 Message-ID: <32785.202.125.157.194.1214139086.squirrel@webmail.niit.edu.pk> Hey, I am facing problems in streaming h.264 data using live555. I was able to write testH264VideoStreamer.cpp but i am facing problems in writing the subclass of H264VideoStreamFramer.cpp. I want to stream from h.264 file. I don't know exactly which methods to implement? Can someone tell me in a single line the format of the subclass? Do i need parsing? Your help will be very much appreciated. Thanks in advance. ----------- --Help save paper - do you really need to print this email? This message is for the use of the intended recipient(s) only. If you have received this message in error, please notify the sender and delete it. The NUST School of Electrical Engg and Computer Science accepts no liability for loss or damage caused by software viruses and you are advised to carry out a virus check on any attachments contained in this message. NUST School of Electrical Engg and Computer Science (Formerly NIIT) is constituent institution of National University of Sciences and Technology, Pakistan. ------- From erik.van.dort at bluewin.ch Sun Jun 22 09:56:58 2008 From: erik.van.dort at bluewin.ch (Erik van Dort) Date: Sun, 22 Jun 2008 18:56:58 +0200 Subject: [Live-devel] unexpected "StreamClose" in VLC under FreeBSD In-Reply-To: References: <080F4DCC965B5F4F95AB691DE867F8E60283D41B@PUEXCBC0.nanterre.francetelecom. fr> <485A8B0A.7070900@bluewin.ch> Message-ID: <485E845A.9090003@bluewin.ch> I'm using liveMedia-2008.06.05,1 which is the latest release in the FreeBSD ports collection. I just upgraded from FreeBSD 6.3 to 7.0, but unfortunately that did not solve the problem. Ross Finlayson wrote: > A couple of "LIVE555 Streaming Media" versions from earlier this year > (2008.04.09 and 2008.05.12) had a bug that may have caused this > problem. Please upgrade to the latest version (2008.06.05 or higher). -- EvD From Jerry.Johns at nuvation.com Sun Jun 22 11:12:26 2008 From: Jerry.Johns at nuvation.com (Jerry Johns) Date: Sun, 22 Jun 2008 11:12:26 -0700 Subject: [Live-devel] H.264 Streaming using Live555 Message-ID: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAE6@mailguy3.skynet.nuvation.com> I think I've seen this question far too many times on this list already - Ross, perhaps you should post that useful link you gave me about searching the archives on the FAQ: If you want to search for anything, e.g h.264 - write this in google: h.264 site:lists.live555.com - I found it to be quite of help for me when I wanted to search for material in the archives. To get H.264 streaming working, you have to first understand the structure of you h.264 file - is it an elementary stream? Does it have discrete NAL units? The H264VideoStreamFramer is a FramedFilter class - if you implement a subclass, you'll get a pointer to a FramedSource, which would be the source of your data (like ByteStreamFileSource, or DeviceSource) - you would use it to get data through its fInputSource->getNextFrame(..) function, and then point it to an appropriate afterGettingFrame in your subclass that knows how to modify the data into a useful form. Please see examples of FramedFilter classes, there are quite a few in the liveMedia folder. You have to know how to packetize the data once you have received it from you source - this information to do this can be found in RFC 3984 (RTP Payload format for H.264 video); the ones you would most prob. be interested in are FU-A and single NAL unit packetization. Those are the simplest methods to get RTP streaming working. The final document that would be of use to you is the actual JVT specification. Its called JVT-G050 - read it and you'll see the light. Other than that, I cannot help you much more than to give you this simple advice: Google's your friend :-) Hope it helps, Jerry Johns Design Engineer Nuvation Research Corp - Canada Tel: (519) 746-2304 ext. 225 www.nuvation.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Sun Jun 22 15:25:44 2008 From: finlayson at live555.com (Ross Finlayson) Date: Sun, 22 Jun 2008 15:25:44 -0700 Subject: [Live-devel] unexpected "StreamClose" in VLC under FreeBSD In-Reply-To: <485E845A.9090003@bluewin.ch> References: <080F4DCC965B5F4F95AB691DE867F8E60283D41B@PUEXCBC0.nanterre.francetelecom. fr> <485A8B0A.7070900@bluewin.ch> <485E845A.9090003@bluewin.ch> Message-ID: >I'm using liveMedia-2008.06.05,1 >which is the latest release in the FreeBSD ports collection. >I just upgraded from FreeBSD 6.3 to 7.0, but unfortunately that did >not solve the problem. Can you reproduce this problem using "openRTSP"? If so, please post the "openRTSP" diagnostic output. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From p4olo_prete at yahoo.it Mon Jun 23 04:12:04 2008 From: p4olo_prete at yahoo.it (Paolo Prete) Date: Mon, 23 Jun 2008 11:12:04 +0000 (GMT) Subject: [Live-devel] segfault in DelayQueue::removeEntry() In-Reply-To: Message-ID: <281510.91669.qm@web28003.mail.ukl.yahoo.com> --- Ven 13/6/08, Ross Finlayson ha scritto: Da: Ross Finlayson Oggetto: Re: [Live-devel] segfault in DelayQueue::removeEntry() A: "LIVE555 Streaming Media - development & use" Data: Venerd? 13 giugno 2008, 07:15 Re: [Live-devel] segfault in DelayQueue::removeEntry()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; In principle, this shouldn't be necessary, as it should never be the case that "entry->fNext" is non-NULL, but "entry->fPrev" is NULL. So, I don't understand how your error could have occurred.? I hope you're not doing something dumb like trying to access a queue from multiple threads? Puzzling... -- yes, you're right :-( . I used a thread-unsafe operation (not so dumb, but unsafe) thnks Paolo ___________________________________ 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 johnkate1981 at yahoo.com Mon Jun 23 06:29:28 2008 From: johnkate1981 at yahoo.com (John Kate) Date: Mon, 23 Jun 2008 06:29:28 -0700 (PDT) Subject: [Live-devel] currentNALUnitEndsAccessUnit()? Message-ID: <539484.85610.qm@web59811.mail.ac4.yahoo.com> I know what "currentNALUnitEndsAccessUnit()" is for, but i don not see any call to this? Thx John -------------- next part -------------- An HTML attachment was scrubbed... URL: From kevin_fesselier at hotmail.com Mon Jun 23 09:41:20 2008 From: kevin_fesselier at hotmail.com (kevin fesselier) Date: Mon, 23 Jun 2008 18:41:20 +0200 Subject: [Live-devel] Payload matters Message-ID: <485FD230.50105@hotmail.com> Hi, Just a simple question : is it possible to receive RTP packets with a SimpleRTPSource for instance, without precising any payload? From wath I understand, giving a payload suppose that we already know the kind of the media we are receiving (mp3, mpeg2ts, ...). Is there any kind of "generic" payload ? Am I missing something anywhere ? Thanks a lot, Kevin. From finlayson at live555.com Mon Jun 23 10:15:03 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 23 Jun 2008 10:15:03 -0700 Subject: [Live-devel] currentNALUnitEndsAccessUnit()? In-Reply-To: <539484.85610.qm@web59811.mail.ac4.yahoo.com> References: <539484.85610.qm@web59811.mail.ac4.yahoo.com> Message-ID: <200806231717.m5NHHun0033205@ns.live555.com> At 06:29 AM 6/23/2008, you wrote: >I know what "currentNALUnitEndsAccessUnit()" is for, but i don not >see any call to this? Run grep currentNALUnitEndsAccessUnit liveMedia/* :-) It's called by "H264VideoRTPSink" (to figure out when to set the "M" bit on outgoing RTP packets. Ross Finlayson Live Networks, Inc. (LIVE555.COM) From finlayson at live555.com Mon Jun 23 10:25:57 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 23 Jun 2008 10:25:57 -0700 Subject: [Live-devel] Payload matters In-Reply-To: <485FD230.50105@hotmail.com> References: <485FD230.50105@hotmail.com> Message-ID: <200806231728.m5NHSmbr044595@ns.live555.com> >Just a simple question : is it possible to receive RTP packets with >a SimpleRTPSource for instance, without precising any payload? No - not with the current code. However, you could use a "BasicUDPSource", which will receive the whole UDP payload, including all RTP headers. > From wath I understand, giving a payload suppose that we already > know the kind of the media we are receiving (mp3, mpeg2ts, ...). Yes, but the payload format also specifies - whether there are any special headers (after the common RTP headers), and - whether/how a single video frame has been fragmented over multiple RTP packets >Am I missing something anywhere ? See above :-) Ross Finlayson Live Networks, Inc. (LIVE555.COM) From mike.gilorma at apogeelabs.com Mon Jun 23 11:07:06 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Mon, 23 Jun 2008 14:07:06 -0400 Subject: [Live-devel] H264VideoStreamFramer In-Reply-To: <6dd519ae0806190637m2668cc9dw586d20bba3e4049a@mail.gmail.com> References: <1213805375.3156.17.camel@Julia> <6dd519ae0806180936t38277863y77a478879088b7da@mail.gmail.com> <1213811069.3156.20.camel@Julia> <6dd519ae0806181104i3fb6268by29eef66b49386347@mail.gmail.com> <1213814225.3156.24.camel@Julia> <6dd519ae0806190637m2668cc9dw586d20bba3e4049a@mail.gmail.com> Message-ID: <1214244426.3286.35.camel@Julia> Well, I've gotten this far with my h264 stream framer: I have a class H264VideoStreamParser that subclasses MPEGVideoStreamParser and have created a H264VideoStreamFramer. I have a test program called H264Streamer that implements these new functions (see attached). I am trying to stream a JVT NAL sequence. It seems that my test program finds the first NAL header but then gets stuck. I'm sure I'm missing more than one thing here, so any help would be greatly appreciated. Also for those out there who are trying to do something similar to what I am, I will make sure to make my test program and corresponding h264VideoStreamFramer code available to all who wish!! On Thu, 2008-06-19 at 16:37 +0300, Brian Marete wrote: > On Wed, Jun 18, 2008 at 9:37 PM, Mike Gilorma > wrote: > > That sounds like it might be helpful, could you send that over to me? > > I will, when I get to the (non-networked) machine that contains it tomorrow. > From mike.gilorma at apogeelabs.com Mon Jun 23 11:21:48 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Mon, 23 Jun 2008 14:21:48 -0400 Subject: [Live-devel] H264VideoStreamFramer In-Reply-To: <1214244426.3286.35.camel@Julia> References: <1213805375.3156.17.camel@Julia> <6dd519ae0806180936t38277863y77a478879088b7da@mail.gmail.com> <1213811069.3156.20.camel@Julia> <6dd519ae0806181104i3fb6268by29eef66b49386347@mail.gmail.com> <1213814225.3156.24.camel@Julia> <6dd519ae0806190637m2668cc9dw586d20bba3e4049a@mail.gmail.com> <1214244426.3286.35.camel@Julia> Message-ID: <1214245308.3286.39.camel@Julia> forgot to attach the code! On Mon, 2008-06-23 at 14:07 -0400, Mike Gilorma wrote: > Well, I've gotten this far with my h264 stream framer: > > I have a class H264VideoStreamParser that subclasses > MPEGVideoStreamParser and have created a H264VideoStreamFramer. I have > a test program called H264Streamer that implements these new functions > (see attached). I am trying to stream a JVT NAL sequence. It seems > that my test program finds the first NAL header but then gets stuck. > > I'm sure I'm missing more than one thing here, so any help would be > greatly appreciated. > > Also for those out there who are trying to do something similar to what > I am, I will make sure to make my test program and corresponding > h264VideoStreamFramer code available to all who wish!! > > On Thu, 2008-06-19 at 16:37 +0300, Brian Marete wrote: > > On Wed, Jun 18, 2008 at 9:37 PM, Mike Gilorma > > wrote: > > > That sounds like it might be helpful, could you send that over to me? > > > > I will, when I get to the (non-networked) machine that contains it tomorrow. > > > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: H264Streamer.cpp Type: text/x-c++src Size: 4515 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: H264VideoStreamFramer.cpp Type: text/x-c++src Size: 7618 bytes Desc: not available URL: From liang0124 at yahoo.com.cn Mon Jun 23 19:41:02 2008 From: liang0124 at yahoo.com.cn (liang ch) Date: Tue, 24 Jun 2008 10:41:02 +0800 (CST) Subject: [Live-devel] How to play video stream from RTSPServer Message-ID: <177273.79834.qm@web15803.mail.cnb.yahoo.com> I build up a RTSPServer (e.g testMPEG4VideoStreamer in the testProgs),Somebody ever say that it can play the video directly in the VLC player with openning the UPL:rtsp://x.x.x.x:8554/teststream. I try to do it on the Windows xp system(the server build on the Linux system) ,but fail.Should it only play on the Linux? Or I must build a client myself with live-lib to play it? --------------------------------- ???????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Mon Jun 23 21:12:31 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 23 Jun 2008 21:12:31 -0700 Subject: [Live-devel] How to play video stream from RTSPServer In-Reply-To: <177273.79834.qm@web15803.mail.cnb.yahoo.com> References: <177273.79834.qm@web15803.mail.cnb.yahoo.com> Message-ID: >I build up a RTSPServer (e.g testMPEG4VideoStreamer in the >testProgs),Somebody ever say that it can play the video directly in >the VLC player with openning the UPL:rtsp://x.x.x.x:8554/teststream. Yes, but it should be "testStream", not "teststream". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From m1kogler at edu.uni-klu.ac.at Tue Jun 24 01:29:41 2008 From: m1kogler at edu.uni-klu.ac.at (Marian Kogler) Date: Tue, 24 Jun 2008 10:29:41 +0200 Subject: [Live-devel] Multicast Streaming again Message-ID: <1214296181.4258c4dcm1kogler@edu.uni-klu.ac.at> Hello again! I have recently posted a mail concerning multicast streaming over two different ip addresses and the same port. (e.g. ip 1: 239.255.42.42 .. port: 5008 ip 2: 239.255.42.43 .. port: 5008) When i tried to receive the right streams the two streams got merged. Source Specific Multicast was not a solution for me! You told me that I should use another OS (former OS: Ubuntu 7.10), because it is responsible for this and not the live library. Now my question: Which is the right OS? Can I use "Red Head Linux Enterprise 4" , without sending two streams to two different ports? I hope you can help me! From erik.van.dort at bluewin.ch Tue Jun 24 03:21:39 2008 From: erik.van.dort at bluewin.ch (Erik van Dort) Date: Tue, 24 Jun 2008 12:21:39 +0200 Subject: [Live-devel] unexpected "StreamClose" in VLC under FreeBSD In-Reply-To: References: <080F4DCC965B5F4F95AB691DE867F8E60283D41B@PUEXCBC0.nanterre.francetelecom. fr> <485A8B0A.7070900@bluewin.ch> <485E845A.9090003@bluewin.ch> Message-ID: <4860CAB3.1060407@bluewin.ch> Hi, Very interesting: only during the first run of openRTSP streaming was aborted spontaneously after a very few seconds. See openRTSP.log.1 attached. However, re-running openRTSP many times did not end up with a spontaneous abort of the stream, I had to stop it manually everytime. See openRTSP.log attached. I've also tried VLC a couple of times in between on the same host, but still VLC repeatedly and consistently stopped streaming while showing the message "live555 debug: StreamClose". I also disabled the Audio in my Axis IP Camera, but that did not help. cheers, Erik Ross Finlayson wrote: >> I'm using liveMedia-2008.06.05,1 >> which is the latest release in the FreeBSD ports collection. >> I just upgraded from FreeBSD 6.3 to 7.0, but unfortunately that did >> not solve the problem. > > Can you reproduce this problem using "openRTSP"? If so, please post the > "openRTSP" diagnostic output. -- EvD -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: openRTSP.log URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: openRTSP.log.1 URL: From finlayson at live555.com Tue Jun 24 04:01:10 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 24 Jun 2008 04:01:10 -0700 Subject: [Live-devel] Multicast Streaming again In-Reply-To: <1214296181.4258c4dcm1kogler@edu.uni-klu.ac.at> References: <1214296181.4258c4dcm1kogler@edu.uni-klu.ac.at> Message-ID: >I have recently posted a mail concerning multicast streaming over >two different ip addresses and >the same port. >(e.g. ip 1: 239.255.42.42 .. port: 5008 >ip 2: 239.255.42.43 .. port: 5008) >When i tried to receive the right streams the two streams got merged. >Source Specific Multicast was not a solution for me! >You told me that I should use another OS (former OS: Ubuntu 7.10), because >it is responsible for this and not the live library. >Now my question: >Which is the right OS? Can I use "Red Head Linux Enterprise 4" , >without sending two streams to two different ports? I don't know the answer to your question, but why not just use different port numbers? Why make more trouble for yourself? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Jun 24 04:13:25 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 24 Jun 2008 04:13:25 -0700 Subject: [Live-devel] unexpected "StreamClose" in VLC under FreeBSD In-Reply-To: <4860CAB3.1060407@bluewin.ch> References: <080F4DCC965B5F4F95AB691DE867F8E60283D41B@PUEXCBC0.nanterre.francetelecom. fr> <485A8B0A.7070900@bluewin.ch> <485E845A.9090003@bluewin.ch> <4860CAB3.1060407@bluewin.ch> Message-ID: >Very interesting: >only during the first run of openRTSP streaming was aborted >spontaneously after a very few seconds. See openRTSP.log.1 attached. This the key part: >Started playing session >Receiving streamed data (signal with "kill -HUP 45822" or "kill >-USR1 45822" to terminate)... >Received RTCP "BYE" on "audio/MPEG4-GENERIC" subsession (after 5 seconds) Your server (the Axis camera) is signalling - after just 5 seconds of streaming - that the stream has shut down. The client ("openRTSP" in this case, but also VLC) is then - quite properly - honoring the server's request, by shutting down the RTSP connection. So, you need to figure out why your server is signalling shutdown after just 5 seconds. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From yamini.s at europlex.in Tue Jun 24 04:39:03 2008 From: yamini.s at europlex.in (Yamini S. [EPLX - DCC]) Date: Tue, 24 Jun 2008 17:09:03 +0530 Subject: [Live-devel] How to play video stream from RTSPServer References: <177273.79834.qm@web15803.mail.cnb.yahoo.com> Message-ID: <6872DF21E3D09046BDF172721037F4FB3EFB0B@SBTEXCHANGEDB.sbtdats.com> Hi, Can I know is there any way to render rtp packets for playback Thanks & Regards, S.Yamini Programmer R&D Siemens Building Technologies Pvt. Ltd. ________________________________ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of liang ch Sent: Tuesday, June 24, 2008 8:11 AM To: live-devel at ns.live555.com Subject: [Live-devel] How to play video stream from RTSPServer I build up a RTSPServer (e.g testMPEG4VideoStreamer in the testProgs),Somebody ever say that it can play the video directly in the VLC player with openning the UPL:rtsp://x.x.x.x:8554/teststream. I try to do it on the Windows xp system(the server build on the Linux system) ,but fail.Should it only play on the Linux? Or I must build a client myself with live-lib to play it? ________________________________ ???????????? 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From m1kogler at edu.uni-klu.ac.at Tue Jun 24 05:16:04 2008 From: m1kogler at edu.uni-klu.ac.at (Marian Kogler) Date: Tue, 24 Jun 2008 14:16:04 +0200 Subject: [Live-devel] Multicast Streaming again Message-ID: <1214309764.30be6bcm1kogler@edu.uni-klu.ac.at> I would like to use two different ports, but I can't. I don't have any influence on that, because I'm not on the sender side! :-( Nevertheless, thank you for your prompt answer! -----Original Message----- From: Ross Finlayson To: LIVE555 Streaming Media - development & use Date: Tue, 24 Jun 2008 04:01:10 -0700 Subject: Re: [Live-devel] Multicast Streaming again >I have recently posted a mail concerning multicast streaming over >two different ip addresses and >the same port. >(e.g. ip 1: 239.255.42.42 .. port: 5008 >ip 2: 239.255.42.43 .. port: 5008) >When i tried to receive the right streams the two streams got merged. >Source Specific Multicast was not a solution for me! >You told me that I should use another OS (former OS: Ubuntu 7.10), because >it is responsible for this and not the live library. >Now my question: >Which is the right OS? Can I use "Red Head Linux Enterprise 4" , >without sending two streams to two different ports? I don't know the answer to your question, but why not just use different port numbers? Why make more trouble for yourself? -- 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 erik.van.dort at bluewin.ch Tue Jun 24 05:42:20 2008 From: erik.van.dort at bluewin.ch (Erik van Dort) Date: Tue, 24 Jun 2008 14:42:20 +0200 Subject: [Live-devel] unexpected "StreamClose" in VLC under FreeBSD In-Reply-To: References: <080F4DCC965B5F4F95AB691DE867F8E60283D41B@PUEXCBC0.nanterre.francetelecom. fr> <485A8B0A.7070900@bluewin.ch> <485E845A.9090003@bluewin.ch> <4860CAB3.1060407@bluewin.ch> Message-ID: <4860EBAC.7020100@bluewin.ch> Hi, I could agree to that if this would happen everytime running openRTSP, like it does happen everytime running VLC. But this shutdown by the Axis camera happened only during the first openRTSP session, and normally in VLC it took longer than 5 seconds until VLC showed the "StreamClose" message. After this first openRTSP session, I tried maybe up to 10 to 15 times to reproduce the problem in openRTSP, but the problem did not appear again. So my conclusion is that VLC shows different behavior than openRTSP during an rtsp session with my Axis camera. cheers, Erik Ross Finlayson wrote: >> Very interesting: >> only during the first run of openRTSP streaming was aborted >> spontaneously after a very few seconds. See openRTSP.log.1 attached. > > This the key part: > >> Started playing session >> Receiving streamed data (signal with "kill -HUP 45822" or "kill -USR1 >> 45822" to terminate)... >> Received RTCP "BYE" on "audio/MPEG4-GENERIC" subsession (after 5 seconds) > > Your server (the Axis camera) is signalling - after just 5 seconds of > streaming - that the stream has shut down. The client ("openRTSP" in > this case, but also VLC) is then - quite properly - honoring the > server's request, by shutting down the RTSP connection. > > So, you need to figure out why your server is signalling shutdown after > just 5 seconds. -- EvD From 47manzoor at niit.edu.pk Tue Jun 24 07:29:33 2008 From: 47manzoor at niit.edu.pk (47manzoor at niit.edu.pk) Date: Tue, 24 Jun 2008 19:29:33 +0500 (PKT) Subject: [Live-devel] H.264 Encoded Video Message-ID: <58328.202.125.157.194.1214317773.squirrel@webmail.niit.edu.pk> I need H.264 encoded video (Byte Stream Annex B) which has been encoded using a Single NAL unit per frame. Which H.264 encoder should i use to achieve this task ? Thank You ----------- --Help save paper - do you really need to print this email? This message is for the use of the intended recipient(s) only. If you have received this message in error, please notify the sender and delete it. The NUST School of Electrical Engg and Computer Science accepts no liability for loss or damage caused by software viruses and you are advised to carry out a virus check on any attachments contained in this message. NUST School of Electrical Engg and Computer Science (Formerly NIIT) is constituent institution of National University of Sciences and Technology, Pakistan. ------- From mike.gilorma at apogeelabs.com Tue Jun 24 07:21:04 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Tue, 24 Jun 2008 10:21:04 -0400 Subject: [Live-devel] Still working on a h264 framer Message-ID: <1214317264.3194.11.camel@Julia> All, I have been working on creating a h264 framer for about a week and feel like I have headed in the wrong direction, so its time for a fresh start. Would H263plusVideoFramer be a good starting point? I have been searching "h.264 site:lists.live555.com" and it seems that there are people out there that have gotten their framers working and have not gone on to share any info after that. My goal is to create a framer for discrete NAL units and to create a testH264VideoStreamer.cpp program for everyone to have access to. thanks, Mike From silvain.beriault at larus.com Tue Jun 24 07:25:30 2008 From: silvain.beriault at larus.com (Silvain Beriault) Date: Tue, 24 Jun 2008 10:25:30 -0400 Subject: [Live-devel] Valid test.mpg file for testMPEG1or2VideoStreamer.exe Message-ID: <486103DA.2090600@larus.com> Hi, I have recently been introduced to the Live555 library which I would like to use to stream video in real time via the RTP protocol. Our typical setup would consist a computer that interfaces directly with a digital camera. Then real-time image processing algorithm is applied to uncompressed frames of video (i.e. using OpenCV, etc). Processed frames are then compressed either using H263+ or MJPEG, using the ffmpeg library, and transmitted to a second computer for remote display purposes. Before writing my own client/server application I would like to validate my built of live555 (2008.06.05 under win32) by running the test programs. I tried running the testMPEG1or2VideoStreamer.exe program with no success. I suspect my test.mpg file is in the wrong format since I receive multiple errors of the type: "MPEG1or2VideoStreamParser::parseSlice(): Saw unexpected code 000001E0" Would anyone be kind enough to send me a valid test.mpg video file for the testMPEG1or2VideoStreamer.exe program. Your help is greatly appreciated! My excuse in advance if this question was already answered before. Silvain Beriault. From mike.gilorma at apogeelabs.com Tue Jun 24 07:58:02 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Tue, 24 Jun 2008 10:58:02 -0400 Subject: [Live-devel] H.264 Encoded Video In-Reply-To: <58328.202.125.157.194.1214317773.squirrel@webmail.niit.edu.pk> References: <58328.202.125.157.194.1214317773.squirrel@webmail.niit.edu.pk> Message-ID: <1214319482.3194.24.camel@Julia> here's how I created a h264 file from a dvd (on linux fc7), (create avi file) mencoder dvd://1 -o ouput.avi -oac faac -ovc x264 (convert avi to mp4) ffmpeg -i output.avi -vcodec h264 output.mp4 (extract track from mp4) mp4creator -extract=1 output.mp4 (this creates output.mp4.t1) file output.mp4.t1 output.mp4.t1: JVT NAL sequence, H.264 video, baseline @ L 51 I am currently trying to implement a H264VideoStreamFramer, perhaps we can work together on this for the good of the live555 community. On Tue, 2008-06-24 at 19:29 +0500, 47manzoor at niit.edu.pk wrote: > I need H.264 encoded video (Byte Stream Annex B) which has been encoded > using a Single NAL unit per frame. Which H.264 encoder should i use to > achieve this task ? > > Thank You > > > ----------- > --Help save paper - do you really need to print this email? > > This message is for the use of the intended recipient(s) only. If you have > received this message in error, please notify the sender and delete it. The NUST > School of Electrical Engg and Computer Science accepts no liability > for loss or damage caused by software viruses and you are advised to > carry out a virus check on any attachments contained in this message. > > NUST School of Electrical Engg and Computer Science (Formerly NIIT) > is constituent institution of National University of Sciences and > Technology, Pakistan. > ------- > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From 47manzoor at niit.edu.pk Tue Jun 24 09:08:45 2008 From: 47manzoor at niit.edu.pk (47manzoor at niit.edu.pk) Date: Tue, 24 Jun 2008 21:08:45 +0500 (PKT) Subject: [Live-devel] H.264 Encoded Video Message-ID: <55593.202.125.157.194.1214323725.squirrel@webmail.niit.edu.pk> Thanks Mike for your support. I am working on windows and don't know about Linux OS. You are doing something complex. I just want to implement a subclass of H264VideoStreamFramer.cpp which takes an encoded video and send it via RTP. If i can get h.264 encoded video (e.g test.264) and it is encoded by giving one NAL unit per frame then that will make my job easy. I will not have to program the currentNALunitEndsAccessUnit() method. it will always return true. If you can help me in this regard i will be very thankful to you. Thank You ----------- --Help save paper - do you really need to print this email? This message is for the use of the intended recipient(s) only. If you have received this message in error, please notify the sender and delete it. The NUST School of Electrical Engg and Computer Science accepts no liability for loss or damage caused by software viruses and you are advised to carry out a virus check on any attachments contained in this message. NUST School of Electrical Engg and Computer Science (Formerly NIIT) is constituent institution of National University of Sciences and Technology, Pakistan. ------- From lucabe72 at email.it Tue Jun 24 08:25:24 2008 From: lucabe72 at email.it (Luca Abeni) Date: Tue, 24 Jun 2008 17:25:24 +0200 Subject: [Live-devel] Valid test.mpg file for testMPEG1or2VideoStreamer.exe In-Reply-To: <486103DA.2090600@larus.com> References: <486103DA.2090600@larus.com> Message-ID: <486111E4.5060508@email.it> Silvain Beriault wrote: > I tried running the > testMPEG1or2VideoStreamer.exe program with no success. I suspect my > test.mpg file is in the wrong format since I receive multiple errors of > the type: > > "MPEG1or2VideoStreamParser::parseSlice(): Saw unexpected code 000001E0" Your test.mpg is probably an MPEG PS, while MPEG1or2VideoStreamParser wants an MPEG1 or MPEG2 video ES. You can obtaining it by demuxing your test.mpg file. For example, you can use the "ffmpeg" program with a command line like ffmpeg -i test.mpg -vcodec copy test.m2v and then rename test.m2v to test.mpg. I am pretty sure there also are other programs that can be used for this purpose instead of ffmpeg. Luca From smithgrm81 at yahoo.com Tue Jun 24 08:29:14 2008 From: smithgrm81 at yahoo.com (Smith Graeme) Date: Tue, 24 Jun 2008 08:29:14 -0700 (PDT) Subject: [Live-devel] Streaming H.264 Message-ID: <93668.54356.qm@web59807.mail.ac4.yahoo.com> I have some questions regarding H.264 streaming: ? 1) Is it true that if we have one NAL unit in a frame then the virtual function "currentNALUnitEndsAccessUnit()" always returns true" ? ? 2) Who will do the framing from byte stream? Is it done automatically or should we do it explicitly? ? 3) Is it a good idea to have one NAL unit in a frame? Will encoders do this? ? ? thx -------------- next part -------------- An HTML attachment was scrubbed... URL: From mike at w4g.org Tue Jun 24 08:54:45 2008 From: mike at w4g.org (Mike Frantzen) Date: Tue, 24 Jun 2008 11:54:45 -0400 Subject: [Live-devel] RTCP SR clock sync diff In-Reply-To: <71316c110806240820y1891a0a4gf136f9d847ebeb4b@mail.gmail.com> References: <71316c110806240820y1891a0a4gf136f9d847ebeb4b@mail.gmail.com> Message-ID: <71316c110806240854i5ca358eif2f614b31ebccf66@mail.gmail.com> I had a problem when using VLC to transcode from an AXIS camera into an RTP stream. In the RTCP Sender Report the AXIS camera is deriving its NTP time from the monotonic uptime instead of the wall clock. Then it converts it from unix epoch time into NTP time. The real issue is that VLC/live555 start issuing timestamps based on the local wall clock. Then several seconds later the RTCP SR includes a timestamp which significantly alters the timestamps in the name of synchronization. Then VLC starts rejecting the new timestamps since they appear to be in the past. The attached diff will only synchronize the timestamp if: the timestamp has never been set; or the sender's and receiver's clocks appear to be on the same time reference. It determines the latter if they are less than five seconds apart. .mike -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: diff.txt URL: From DionG at Viewcast.com Tue Jun 24 09:25:22 2008 From: DionG at Viewcast.com (Dion Galbreath) Date: Tue, 24 Jun 2008 11:25:22 -0500 Subject: [Live-devel] framerate anomaly Message-ID: We put a directshow wrapper around the live555 library and its been going great however there seems to be on major anomaly. If the video we are streaming is less than 16 frames per second, all audio is dropped after ~ 5 minutes of streaming. This happens on all formats Mpeg4, h264, mpeg2, mpeg1, and h263 Every format from above was tested and every format the audio dropped after five minutes of streaming. Tests included streaming to a computer, streaming to a helix, QuickTime, and Darwin server.. If I set the framerate in the file and or capture to 16 or above everything runs fine. We can stream about 3 or so days without any real issues, however once I lower that framerate to 15 or anything lower then 16, then the audio will stream with the video for only ~5 minutes. Then it no longer streams fine... video continues to be fine.. Any ideas. We hadn't touched the live 555 code in any way... we simply put a directshow filter around it so we can stream live encoded captures.. Dion -------------- next part -------------- An HTML attachment was scrubbed... URL: From erik.van.dort at bluewin.ch Tue Jun 24 10:13:18 2008 From: erik.van.dort at bluewin.ch (Erik van Dort) Date: Tue, 24 Jun 2008 19:13:18 +0200 Subject: [Live-devel] unexpected "StreamClose" in VLC under FreeBSD In-Reply-To: <4860EBAC.7020100@bluewin.ch> References: <080F4DCC965B5F4F95AB691DE867F8E60283D41B@PUEXCBC0.nanterre.francetelecom. fr> <485A8B0A.7070900@bluewin.ch> <485E845A.9090003@bluewin.ch> <4860CAB3.1060407@bluewin.ch> <4860EBAC.7020100@bluewin.ch> Message-ID: <48612B2E.6060009@bluewin.ch> Hi, Please find attached output generated by tcpdump from rtsp sessions between an Axis IP camera and a host running VLC and openRTSP (obviously not simultaneously). Does this help finding out why live555 generates the "StreamClose" message only while running VLC, and not while running openRTSP? cheers, Erik Erik van Dort wrote: > Hi, > > I could agree to that if this would happen everytime running openRTSP, > like it does happen everytime running VLC. But this shutdown by the Axis > camera happened only during the first openRTSP session, and normally in > VLC it took longer than 5 seconds until VLC showed the "StreamClose" > message. > > After this first openRTSP session, I tried maybe up to 10 to 15 times to > reproduce the problem in openRTSP, but the problem did not appear again. > So my conclusion is that VLC shows different behavior than openRTSP > during an rtsp session with my Axis camera. > > cheers, Erik > > Ross Finlayson wrote: >>> Very interesting: >>> only during the first run of openRTSP streaming was aborted >>> spontaneously after a very few seconds. See openRTSP.log.1 attached. >> >> This the key part: >> >>> Started playing session >>> Receiving streamed data (signal with "kill -HUP 45822" or "kill -USR1 >>> 45822" to terminate)... >>> Received RTCP "BYE" on "audio/MPEG4-GENERIC" subsession (after 5 >>> seconds) >> >> Your server (the Axis camera) is signalling - after just 5 seconds of >> streaming - that the stream has shut down. The client ("openRTSP" in >> this case, but also VLC) is then - quite properly - honoring the >> server's request, by shutting down the RTSP connection. >> >> So, you need to figure out why your server is signalling shutdown >> after just 5 seconds. > -- EvD -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: tcpdump_vlc_openRTSP.log URL: From mike.gilorma at apogeelabs.com Tue Jun 24 11:02:04 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Tue, 24 Jun 2008 14:02:04 -0400 Subject: [Live-devel] H.264 Encoded Video In-Reply-To: <55593.202.125.157.194.1214323725.squirrel@webmail.niit.edu.pk> References: <55593.202.125.157.194.1214323725.squirrel@webmail.niit.edu.pk> Message-ID: <1214330524.3194.43.camel@Julia> Actually we are tying to do the same thing, just different OS's. The process I was describing is how I created a h264 file in Linux. When you say you want to implement a subclass of H264VideoStreamFramer, does that mean you have an H264VideoStreamFramer? Because that is what I am trying to write. I have written a test program to read a file and look for 0x000001 which is the byte tag that starts a new NAL unit. According to the documentation that I have seen if the byte preceding the byte tag is 0x00 then that NAL unit ends the access unit. I'll try to send you a small h264 file, check to see that it doesn't get blocked by your email server. On Tue, 2008-06-24 at 21:08 +0500, 47manzoor at niit.edu.pk wrote: > Thanks Mike for your support. I am working on windows and don't know about > Linux OS. > > You are doing something complex. I just want to implement a subclass of > H264VideoStreamFramer.cpp which takes an encoded video and send it via > RTP. > > If i can get h.264 encoded video (e.g test.264) and it is encoded by > giving one NAL unit per frame then that will make my job easy. I will not > have to program the currentNALunitEndsAccessUnit() method. it will always > return true. > > If you can help me in this regard i will be very thankful to you. > > Thank You > > > > > ----------- > --Help save paper - do you really need to print this email? > > This message is for the use of the intended recipient(s) only. If you have > received this message in error, please notify the sender and delete it. The NUST > School of Electrical Engg and Computer Science accepts no liability > for loss or damage caused by software viruses and you are advised to > carry out a virus check on any attachments contained in this message. > > NUST School of Electrical Engg and Computer Science (Formerly NIIT) > is constituent institution of National University of Sciences and > Technology, Pakistan. > ------- > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From finlayson at live555.com Tue Jun 24 11:42:23 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 24 Jun 2008 11:42:23 -0700 Subject: [Live-devel] framerate anomaly In-Reply-To: References: Message-ID: >We put a directshow wrapper around the live555 >library and its been going great however there >seems to be on major anomaly. > >If the video we are streaming is less than 16 >frames per second, all audio is dropped after ~ >5 minutes of streaming. This happens on all >formats >Mpeg4, h264, mpeg2, mpeg1, and h263 > >Every format from above was tested and every >format the audio dropped after five minutes of >streaming. Tests included streaming to a >computer, streaming to a helix, QuickTime, and >Darwin server.. > >If I set the framerate in the file and or >capture to 16 or above everything runs fine. We >can stream about 3 or so days without any real >issues, however once I lower that framerate to >15 or anything lower then 16, then the audio >will stream with the video for only ~5 minutes. >Then it no longer streams fine? video continues >to be fine.. > >Any ideas. Not really. However, what do you mean exactly by "audio is dropped"? Do you mean that - after 5 minutes - your server stops transmitting audio RTP packets completely? If so, then you should check to make sure that (1) your audio source is not closing down (for some reason), and (2) the "fDurationInMicroseconds" values (set by the object that feeds into your "RTPSink" subclass) remain correct. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Jun 24 11:53:35 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 24 Jun 2008 11:53:35 -0700 Subject: [Live-devel] RTCP SR clock sync diff In-Reply-To: <71316c110806240854i5ca358eif2f614b31ebccf66@mail.gmail.com> References: <71316c110806240820y1891a0a4gf136f9d847ebeb4b@mail.gmail.com> <71316c110806240854i5ca358eif2f614b31ebccf66@mail.gmail.com> Message-ID: Sorry, but I won't be making any such change to the code. Once RTCP-generated presentation times become available, they should *always* be used. Note that the function "RTPSource:: hasBeenSynchronizedUsingRTCP()" can be used by a client to distinguish between 'guessed' initial presentation times, and accurate RTCP-generated presentation times. If VLC - as a RTSP client - is having trouble handling the transition between these two different kinds of presentation times, then please report this on a VLC mailing list. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Jun 24 11:56:24 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 24 Jun 2008 11:56:24 -0700 Subject: [Live-devel] Streaming H.264 In-Reply-To: <93668.54356.qm@web59807.mail.ac4.yahoo.com> References: <93668.54356.qm@web59807.mail.ac4.yahoo.com> Message-ID: >I have some questions regarding H.264 streaming: > >1) Is it true that if we have one NAL unit in a frame then the >virtual function "currentNALUnitEndsAccessUnit()" always returns >true" ? Yes, iff by "frame" you mean a complete video frame - i.e., an entire 'picture'. > 2) Who will do the framing from byte stream? Is it done >automatically or should we do it explicitly? Your subclass of "H264CVideoStreamFramer" would need to do this. >3) Is it a good idea to have one NAL unit in a frame? Will encoders do this? No idea, sorry... -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Jun 24 12:11:18 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 24 Jun 2008 12:11:18 -0700 Subject: [Live-devel] unexpected "StreamClose" in VLC under FreeBSD In-Reply-To: <48612B2E.6060009@bluewin.ch> References: <080F4DCC965B5F4F95AB691DE867F8E60283D41B@PUEXCBC0.nanterre.francetelecom. fr> <485A8B0A.7070900@bluewin.ch> <485E845A.9090003@bluewin.ch> <4860CAB3.1060407@bluewin.ch> <4860EBAC.7020100@bluewin.ch> <48612B2E.6060009@bluewin.ch> Message-ID: >Please find attached output generated by tcpdump from rtsp sessions >between an Axis IP camera and a host running VLC and openRTSP >(obviously not simultaneously). > >Does this help finding out why live555 generates the "StreamClose" >message only while running VLC, and not while running openRTSP? Unfortunately, no. However, I think you're still missing the point. The problem is not that the LIVE555 client code is closing the stream. The problem is that your *server* - the Axis camera - is signalling the end-of-stream, by sending the RTCP "BYE" packet. Our client code is handling this correctly. I don't know why the behavior is different depending on whether "openRTSP" or "VLC" is the client. But the fact remains: It is your server that is signalling the end-of-stream. So, you will need to contact your server manufacturer (Axis) to help resolve this problem. Perhaps only a firmware upgrade is needed? I don't know; Axis cameras are not our products. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Jun 24 12:15:33 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 24 Jun 2008 12:15:33 -0700 Subject: [Live-devel] Valid test.mpg file for testMPEG1or2VideoStreamer.exe In-Reply-To: <486103DA.2090600@larus.com> References: <486103DA.2090600@larus.com> Message-ID: > My excuse in advance if this question was already answered before. I'm sorry, but that's not good enough. Yes, your question *has* been answered before - in the FAQ , which you (and everyone else) is supposed to have read. Please, everyone - read the FAQ! -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From Jerry.Johns at nuvation.com Tue Jun 24 13:06:18 2008 From: Jerry.Johns at nuvation.com (Jerry Johns) Date: Tue, 24 Jun 2008 13:06:18 -0700 Subject: [Live-devel] H.264 Details Message-ID: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAEC@mailguy3.skynet.nuvation.com> Since there seems to be quite a few ppl writing H.264 frame subclasses, I think i'll give a gist of what I learned when i was creating one; Basically, my stream was 0x00 00 00 01 delimited single NAL unit entities - the first NAL was my SPS, then PPS and then picture slices after that. In your framer, after the delimiter, you read 1 byte, which is contains basic info about the NAL unit - once you have this byte, you parse it: NAL_nri = (readChar >> 5) & 0x3; NAL_type = readChar & 0x1F; NAL_forbidden = readChar & 0x80; Now, if your NAL unit size is less than ethernet MTU (~1400 bytes), then you can go ahead and do single-NAL unit mode in which case you drop the 4 byte delimiter, and pass this to liveMedia to send If it is > 1400 byte (most of the time they are), then you'll have to do FU-A mode; FU-A mode specially requires an indicator and a header. FU_indicator = (NAL_forbidden << 7) | (NAL_nri << 5) | (28); //28 is FU-A type FU_header = (NAL_type) | (FUA_START); //FUA_START is 1<<7 This indicator goes first, then the header, and then you append your NAL unit data - NOTE however, that the NAL unit data you append should not have the delimiter AND the 1 byte NAL info present. After this first transmission, you send successive FU-A packets with the remaining NAL unit data with the same FU_indicator, but a changed FU_header if the current packet you're sending is not the last packet, then: FU_header = (NAL_type); //dont signal the end yet, as per RFC Spec if it is the last packet then: FU_header = (NAL_type) | (FUA_END); //signal last frame of NAL unit, FUA_END = 1<<6 That's as easy as it gets to sending H.264 data to VLC and it should play it beautifully :) Jerry Johns Design Engineer Nuvation Research Corp - Canada Tel: (519) 746-2304 ext. 225 www.nuvation.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From DionG at Viewcast.com Tue Jun 24 13:46:32 2008 From: DionG at Viewcast.com (Dion Galbreath) Date: Tue, 24 Jun 2008 15:46:32 -0500 Subject: [Live-devel] framerate anomaly In-Reply-To: References: Message-ID: >>We put a directshow wrapper around the live555 library and its been >>going great however there seems to be on major anomaly. >> >>If the video we are streaming is less than 16 frames per second, all >>audio is dropped after ~ >>5 minutes of streaming. This happens on all formats Mpeg4, h264, >>mpeg2, mpeg1, and h263 >> >>Every format from above was tested and every format the audio dropped >>after five minutes of streaming. Tests included streaming to a >>computer, streaming to a helix, QuickTime, and Darwin server.. >> >>If I set the framerate in the file and or capture to 16 or above >>everything runs fine. We can stream about 3 or so days without any real >>issues, however once I lower that framerate to >>15 or anything lower then 16, then the audio will stream with the video >>for only ~5 minutes. >>Then it no longer streams fine? video continues to be fine.. >> >>Any ideas. >Not really. However, what do you mean exactly by "audio is dropped"? Do you mean that - after 5 minutes - your server >stops transmitting audio RTP packets completely? If so, then you should check to make sure that (1) your audio source >is not closing down (for some reason), and (2) the "fDurationInMicroseconds" values (set by the object that feeds into >your "RTPSink" subclass) remain correct. >-- >Ross Finlayson >Live Networks, Inc. >http://www.live555.com/ Well the thing is for whatever reason the buffers buckets get held back, causing the osprey driver filter to start throwing away buffer buckets because the driver isn't getting any back to fill to send downstream... I compiled with a much older version of the library from probably June 22, 2006ish was an archived in a external HD we have.... and the problem seems to take longer to happen. it will stream fine for ~2 hours before doing the same exact issue.. It might be because changes to some part of the code didn't really take into account a dshow environment buckets have to come back to the driver filter or else our driver starts to throw samples away.. until it can get those buckets back. I was just wondering if offhand if there was anything to change buffer size, or some variable to help get those buckets back to the driver.. what is odd is that 16 fps doesn't starve the audio driver, but 15 does.... I'd think it would be the exact opposite. The more fps the more work it has to do?? Thanks, Dion From mike at w4g.org Tue Jun 24 14:11:47 2008 From: mike at w4g.org (Mike Frantzen) Date: Tue, 24 Jun 2008 17:11:47 -0400 Subject: [Live-devel] RTCP SR clock sync diff In-Reply-To: References: <71316c110806240820y1891a0a4gf136f9d847ebeb4b@mail.gmail.com> <71316c110806240854i5ca358eif2f614b31ebccf66@mail.gmail.com> Message-ID: <71316c110806241411m5b98d20bm984c6efecb32ffb7@mail.gmail.com> The RTCP SR NTP timestamp is only valid in direct comparison with a NTP timestamp from another stream of the same reference clock. So you can use it to synchronize the presentation times of multiple streams in the same session. You're not supposed to use it to directly generate a presentation time since you have no guarantee that you and the sender share a reference clock. The fSyncTime/fPresentationTime members are both being overloaded to be both the multi-stream synchronization time and the presentation time. It works great when the sync time and pts have the same reference clock. I tried to preserve this behavior with my diff. In an ideal world multiple RTP/RTCP streams would be grouped together. You would compare their NTP timestamps and use the results to shift their RTP timestamps. Thus synchronizing them between each other. Otherwise the use() member should probably be passed both a presentation time based off the RTP timestamp and a synchronization time (which is actually the currently named fPresentationTime). The callback could then synchronize multiple RTP streams itself if it so chooses. .mike On Tue, Jun 24, 2008 at 2:53 PM, Ross Finlayson wrote: > Sorry, but I won't be making any such change to the code. Once > RTCP-generated presentation times become available, they should *always* be > used. Note that the function "RTPSource:: hasBeenSynchronizedUsingRTCP()" > can be used by a client to distinguish between 'guessed' initial > presentation times, and accurate RTCP-generated presentation times. > > If VLC - as a RTSP client - is having trouble handling the transition > between these two different kinds of presentation times, then please report > this on a VLC mailing list. > -- > > Ross Finlayson > Live Networks, Inc. > http://www.live555.com/ > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Tue Jun 24 15:39:47 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 24 Jun 2008 15:39:47 -0700 Subject: [Live-devel] RTCP SR clock sync diff In-Reply-To: <71316c110806241411m5b98d20bm984c6efecb32ffb7@mail.gmail.com> References: <71316c110806240820y1891a0a4gf136f9d847ebeb4b@mail.gmail.com> <71316c110806240854i5ca358eif2f614b31ebccf66@mail.gmail.com> <71316c110806241411m5b98d20bm984c6efecb32ffb7@mail.gmail.com> Message-ID: >The RTCP SR NTP timestamp is only valid in direct comparison with a >NTP timestamp from another stream of the same reference clock. So >you can use it to synchronize the presentation times of multiple >streams in the same session. You're not supposed to use it to >directly generate a presentation time since you have no guarantee >that you and the sender share a reference clock. This is incorrect. The information in incoming RTCP "SR" packets is used to generate presentation times from incoming RTP packets' timestamps. These presentation times - like the RTP timestamps themselves - are (necessarily) based on the sender's clock (because that was the only clock available to the entity (the sender) that created the presentation times). (Yes, it's true that receivers' clocks will typically drift somewhat relative to the sender's. There are a number of medium-specific techniques (e.g dropping/repeating audio samples and/or video frames) that receivers can use to compensate for this, over time. But the presentation times - even though based on the sender's clock - remain valid, and necessary.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From SRawling at pelco.com Tue Jun 24 16:20:18 2008 From: SRawling at pelco.com (Rawling, Stuart) Date: Tue, 24 Jun 2008 16:20:18 -0700 Subject: [Live-devel] Dynamically adding streams with reference counting Message-ID: Hi all, I am trying to implement a dynamic rtsp server. By this I mean it will add the appropriate ServerMediaSession to the server when a url is requested. For example, if the server receives: rtsp:ip:port/mystreamid, it will look up to see if the session exists, and if not dynamically add it. To do this I overrode the RTSPServer::lookupServerMediaSession method as recommended on this list. It adds the stream by creating a new ServerMediaSession, and adding the appropriate ServerMediaSubsessions. Each custom ServerMediaSubsession ( inherited from OnDemandServerMediaSubsession) implements a custom createNewStreamSource which returns a custom framed source object that provides the data. I have the initiation and streaming working great! However, I also want to know when the client has closed its connection so I can remove the dynamic ServerMediaSession. I was planning on implementing it in the following way: Create a custom ServerMediaSession object that has a couple of new functions that allow reference counting. In the ServerMediaSubsession implentation when a FramedSource object is created (ie. when createNewStreamSource is called) the count on the ServerMediaSession incremented, if it is destroyed (ie. CloseStreamSource is called) the reference is decremented. If the reference count is zero, then a event is triggered to remove the ServerMediaSession from the RTSPServer. I am aware of the following caveat with what I am planning: When the sdpLines function is called it initiates and destroys a FramedSource object in order to generate the sdp. I know I have to handle this situation. I think it would be easier to have access to the fDestinationHashTable object in the OnDemandServerMediaSubsession, as this keeps a track of the destinations and can be queried through the numEntries method. This is currently a private member variable in OnDemandServerMediaSubsession and cannot be accessed. I really want to know if you guys think that what I am planning to do makes sense, or if you know of a better way. I appreciate any help that can be offered. Cheers Stuart - ------------------------------------------------------------------------------ Confidentiality Notice: The information contained in this transmission is legally privileged and confidential, intended only for the use of the individual(s) or entities named above. This email and any files transmitted with it are the property of Pelco. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any review, disclosure, copying, distribution, retention, or any action taken or omitted to be taken in reliance on it is prohibited and may be unlawful. If you receive this communication in error, please notify us immediately by telephone call to +1-559-292-1981 or forward the e-mail to administrator at pelco.com and then permanently delete the e-mail and destroy all soft and hard copies of the message and any attachments. Thank you for your cooperation. - ------------------------------------------------------------------------------ -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Tue Jun 24 17:06:58 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 24 Jun 2008 17:06:58 -0700 Subject: [Live-devel] Dynamically adding streams with reference counting In-Reply-To: References: Message-ID: >I am trying to implement a dynamic rtsp server. By this I mean it >will add the appropriate ServerMediaSession to the server when a url >is requested. For example, if the server receives: >rtsp:ip:port/mystreamid, it will look up to see if the session >exists, and if not dynamically add it. I hoped you looked at the code (in the "mediaServer" directory) for the "LIVE555 Media Server" product, because it does basically this (for streaming from files). >I have the initiation and streaming working great! However, I also >want to know when the client has closed its connection so I can >remove the dynamic ServerMediaSession. Note that it's OK to remove a "ServerMediaSession" object even while clients are using it. If you do this, then the object will get reclaimed automatically (using reference counting) when the last client stops streaming from it. Alternatively, you can do what we do for the "LIVE555 Media Server": Keep the "ServerMediaSession" object around, and don't actually remove it unless we discover later that it's no longer relevant. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From Nalthooru.Jayakara at analog.com Tue Jun 24 23:56:17 2008 From: Nalthooru.Jayakara at analog.com (Jayakara, Nalthooru) Date: Wed, 25 Jun 2008 02:56:17 -0400 Subject: [Live-devel] MPEG-TS stream & RFC 2250 Message-ID: <7D453D0504B6A2429F98F4D72CBEDE49361C4535@nwd2exm5.ad.analog.com> Dear All, I am working on a client application that receive the MPEG-TS stream from the VLC server. I am able to receive the data from the server using testMPEG1or2VideoReceiver test application. After that I need to parse the RTP payload data according RFC 2250 (MPEG-TS over RTP). What API do I need to use to parse the payload data for RTP encapsulation? Is there any code reference for this? Thanks in advance Jayakara N From finlayson at live555.com Wed Jun 25 00:13:24 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 25 Jun 2008 00:13:24 -0700 Subject: [Live-devel] MPEG-TS stream & RFC 2250 In-Reply-To: <7D453D0504B6A2429F98F4D72CBEDE49361C4535@nwd2exm5.ad.analog.com> References: <7D453D0504B6A2429F98F4D72CBEDE49361C4535@nwd2exm5.ad.analog.com> Message-ID: > I am working on a client application that receive the MPEG-TS stream >from the VLC server. I am able to receive the data from the server using >testMPEG1or2VideoReceiver test application. Wrong. That application is for receiving MPEG-1 or 2 *Elementary Stream* video, not MPEG Transport Streams. Instead, you can just use "openRTSP". Also, if you're streaming from pre-recorded MPEG Transport Stream files, you'll probably find it easier to use our "LIVE555 Media Server" as your server, rather than VLC. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From m1kogler at edu.uni-klu.ac.at Wed Jun 25 01:13:39 2008 From: m1kogler at edu.uni-klu.ac.at (Marian Kogler) Date: Wed, 25 Jun 2008 10:13:39 +0200 Subject: [Live-devel] Multicast Streaming again Message-ID: <1214381619.4501259cm1kogler@edu.uni-klu.ac.at> I have two network interfaces (I1 and I2)which will be both used, if you use INADDR_ANY. So I decided to bind my socket connections to interface I1. I overwrote the the two variables "ReceivingInterfaceAddr" and "SendingInterfaceAddr" (e.g ReceivingInterfaceAddr = I1) in order to receive rtp packets only over one interface. So I guess that this is not my problem. (by the way: I linked my program like this ... gcc .... live-lib myprog this is only a shortcut ;-); if I compiled and linked it like this, I could use I1 and not by default INADDR_ANY). Thank you for your answer. -----Original Message----- From: Jan Borris To: Date: Tue, 24 Jun 2008 14:50:07 +0200 Subject: VS: [Live-devel] Multicast Streaming again -----Oprindelig meddelelse----- Fra: Jan Borris=20 Sendt: 24. juni 2008 14:49 Til: 'LIVE555 Streaming Media - development & use' Emne: SV: [Live-devel] Multicast Streaming again Hi there, I am not using the live library at the moment, but I have developed my = own multipurpose multicast gateway and have had the same problem earlier = on. The reason why I experienced "mixed streams" was that my UDP server used = the INADDR_ANY flag when binding to the multicast port. // servaddr.sin_addr.s_addr =3D htonl(INADDR_ANY) If I omit this it seems to work as one would expect. My code runs on an old Redhat 7.3 and on a recent SuSE platform. Hope this can be of some help. Best regards, Jan Borris -----Oprindelig meddelelse----- Fra: live-devel-bounces at ns.live555.com = [mailto:live-devel-bounces at ns.live555.com] P=E5 vegne af Marian Kogler Sendt: 24. juni 2008 14:16 Til: live-devel at ns.live555.com Emne: Re: [Live-devel] Multicast Streaming again I would like to use two different ports, but I can't. I don't have any = influence on that, because I'm not on the sender side! :-( Nevertheless, thank you for your prompt answer! -----Original Message----- From: Ross Finlayson To: LIVE555 Streaming Media - development & use = Date: Tue, 24 Jun 2008 04:01:10 -0700 Subject: Re: [Live-devel] Multicast Streaming again >I have recently posted a mail concerning multicast streaming over=20 >two different ip addresses and >the same port. > From Nalthooru.Jayakara at analog.com Wed Jun 25 02:13:12 2008 From: Nalthooru.Jayakara at analog.com (Jayakara, Nalthooru) Date: Wed, 25 Jun 2008 05:13:12 -0400 Subject: [Live-devel] MPEG-TS stream & RFC 2250 In-Reply-To: References: <7D453D0504B6A2429F98F4D72CBEDE49361C4535@nwd2exm5.ad.analog.com> Message-ID: <7D453D0504B6A2429F98F4D72CBEDE49361C4AC0@nwd2exm5.ad.analog.com> Hi Ross, Thanks a lot for your suggestion. Can you suggest me about the RTP payload header parse code for RFC 2250 in RTP source? Thanks in advance, Jayakara N -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: Wednesday, June 25, 2008 12:43 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] MPEG-TS stream & RFC 2250 > I am working on a client application that receive the MPEG-TS stream >from the VLC server. I am able to receive the data from the server >using testMPEG1or2VideoReceiver test application. Wrong. That application is for receiving MPEG-1 or 2 *Elementary Stream* video, not MPEG Transport Streams. Instead, you can just use "openRTSP". Also, if you're streaming from pre-recorded MPEG Transport Stream files, you'll probably find it easier to use our "LIVE555 Media Server" as your server, rather than VLC. -- 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 mike at w4g.org Wed Jun 25 06:53:29 2008 From: mike at w4g.org (Mike Frantzen) Date: Wed, 25 Jun 2008 09:53:29 -0400 Subject: [Live-devel] RTCP SR clock sync diff In-Reply-To: References: <71316c110806240820y1891a0a4gf136f9d847ebeb4b@mail.gmail.com> <71316c110806240854i5ca358eif2f614b31ebccf66@mail.gmail.com> <71316c110806241411m5b98d20bm984c6efecb32ffb7@mail.gmail.com> Message-ID: <71316c110806250653t25bf461cm8c9cc56c380a6745@mail.gmail.com> > This is incorrect. The information in incoming RTCP "SR" packets is used > to generate presentation times from incoming RTP packets' timestamps. These > presentation times - like the RTP timestamps themselves - are (necessarily) > based on the sender's clock (because that was the only clock available to > the entity (the sender) that created the presentation times). Please point me at the section of RFC3550 that says that the RTCP SR NTP timestamp is to be used for a presentation time. I see it stating that the sender can use any time source for the NTP timestamp. It says that it "may be used for intra- and inter-media synchronization for sources whose NTP timestamps are synchronized" and "may be used by media-independent receivers to estimate the nominal RTP clock frequency". And on page 14 when talking about the RTP/NTP timestamp pairs: "the purpose is to allow synchronized presentation of all media sampled at the same time." Reading too much into the NTP timestamp violates the fundamental principle of network protocols "be strict about what you send and permissive about what you accept." By immediately adjusting the presentation time based on the NTP timestamp the presentation times become non-monotonic and the receiver does not know much much when to display the new stream in relation to the old stream. .mike -------------- next part -------------- An HTML attachment was scrubbed... URL: From beilyzhang at hotmail.com Wed Jun 25 01:16:43 2008 From: beilyzhang at hotmail.com (CheungBeily) Date: Wed, 25 Jun 2008 16:16:43 +0800 Subject: [Live-devel] [live-devel] Something wrong with RTSP -> GET_PARAMETER Message-ID: Hello, I use Wireshark to analyze the RTSP messages between Live555 and Darwin, and find that the GetParameter message has two 'Real Time Streaming Protocol'.First one is correct, and the second one is '\r\n'. The Content-length is 11, but there are 13 bytes in the content. I don't know whether that's the reason why Darwin response twice. The first attachment is the data packet catched by Wireshark, and the second one is a snapshot. _________________________________________________________________ Windows Live Photo gallery ????????????????????????????? http://get.live.cn/product/photo.html -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: getParameter.pcap Type: application/octet-stream Size: 3723 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: GetParameter.jpg Type: image/pjpeg Size: 70326 bytes Desc: not available URL: From finlayson at live555.com Wed Jun 25 07:04:18 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 25 Jun 2008 07:04:18 -0700 Subject: [Live-devel] MPEG-TS stream & RFC 2250 In-Reply-To: <7D453D0504B6A2429F98F4D72CBEDE49361C4AC0@nwd2exm5.ad.analog.com> References: <7D453D0504B6A2429F98F4D72CBEDE49361C4535@nwd2exm5.ad.analog.com> <7D453D0504B6A2429F98F4D72CBEDE49361C4AC0@nwd2exm5.ad.analog.com> Message-ID: > Thanks a lot for your suggestion. Can you suggest me about the RTP >payload header parse code for RFC 2250 in RTP source? If you use RTSP - which you should - then you don't have to worry about this. The RTP payload format code will be in the stream's SDP descripition, which the RTSP client will retrieve automatically from the server. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Jun 25 08:04:18 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 25 Jun 2008 08:04:18 -0700 Subject: [Live-devel] [live-devel] Something wrong with RTSP -> GET_PARAMETER In-Reply-To: References: Message-ID: After looking at this again, I retract my earlier statement. There was, indeed, a bug in our RTSP client implementation of "GET_PARAMETER" (and "SET_PARAMETER"). Thanks for noticing this. A new version (2008.06.25) of the "LIVE555 Streaming Media" code - fixing ths bug - has now been installed. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Jun 25 08:53:04 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 25 Jun 2008 08:53:04 -0700 Subject: [Live-devel] RTCP SR clock sync diff In-Reply-To: <71316c110806250653t25bf461cm8c9cc56c380a6745@mail.gmail.com> References: <71316c110806240820y1891a0a4gf136f9d847ebeb4b@mail.gmail.com> <71316c110806240854i5ca358eif2f614b31ebccf66@mail.gmail.com> <71316c110806241411m5b98d20bm984c6efecb32ffb7@mail.gmail.com> <71316c110806250653t25bf461cm8c9cc56c380a6745@mail.gmail.com> Message-ID: >This is incorrect. The information in incoming RTCP "SR" packets is >used to generate presentation times from incoming RTP packets' >timestamps. These presentation times - like the RTP timestamps >themselves - are (necessarily) based on the sender's clock (because >that was the only clock available to the entity (the sender) that >created the presentation times). > > >Please point me at the section of RFC3550 that says that the RTCP SR >NTP timestamp is to be used for a presentation time. The text you quoted. Note that RTCP time synchronization is also useful for *intra* media synchronization (i.e., even for an audio stream only, or a video stream only). >By immediately adjusting the presentation time based on the NTP >timestamp the presentation times become non-monotonic and the >receiver does not know much much when to display the new stream in >relation to the old stream. Your real problem is with the small number of unsynchronized ('guessed') presentation times that the RTP client code returns before RTCP synchronization begins. As I noted in my earlier message, if these are a problem for your client application, you can use the function "RTPSource:: hasBeenSynchronizedUsingRTCP()" to distinguish between the two (and reject the initial, guessed times if necessary). (This will be my last posting on this thread.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From mike.gilorma at apogeelabs.com Wed Jun 25 14:24:39 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Wed, 25 Jun 2008 17:24:39 -0400 Subject: [Live-devel] Still working on a h264 framer In-Reply-To: <1214317264.3194.11.camel@Julia> References: <1214317264.3194.11.camel@Julia> Message-ID: <1214429079.3204.8.camel@Julia> Update: getting closer!!! I have re-written my framer based off the H263plusVideoFramer instead of trying to subclass the MPEGVideoStreamParser. Now I can see that my framer is parsing through the NAL units and that the H264RTPSink is actually sending some packets out. The problem is that the file is getting parsed too quickly and it seems as though the ethernet port can't keep up. I'm pretty sure this has something to do with the way I am parsing through the file because I kept getting stuck in the parser so I just automatically call parseNALUnit from within parseStartSequence. Now that I am sure I can actually parse through my file and see all the NAL units its time to go back and figure out why I was getting stuck. I've attached my framer, parser, and test program if anybody is interested in taking a look. (pardon the mess, haven't had time to clean it up yet) On Tue, 2008-06-24 at 10:21 -0400, Mike Gilorma wrote: > All, > > I have been working on creating a h264 framer for about a week and feel > like I have headed in the wrong direction, so its time for a fresh > start. Would H263plusVideoFramer be a good starting point? > > I have been searching "h.264 site:lists.live555.com" and it seems that > there are people out there that have gotten their framers working and > have not gone on to share any info after that. My goal is to create a > framer for discrete NAL units and to create a testH264VideoStreamer.cpp > program for everyone to have access to. > > thanks, > Mike > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: H264VideoStreamFramer.cpp Type: text/x-c++src Size: 6790 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: H264VideoStreamParser.cpp Type: text/x-c++src Size: 4546 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: H264Streamer.cpp Type: text/x-c++src Size: 4645 bytes Desc: not available URL: From mike.gilorma at apogeelabs.com Wed Jun 25 14:25:42 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Wed, 25 Jun 2008 17:25:42 -0400 Subject: [Live-devel] H.264 Details In-Reply-To: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAEC@mailguy3.skynet.nuvation.com> References: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAEC@mailguy3.skynet.nuvation.com> Message-ID: <1214429142.3204.10.camel@Julia> thanks Jerry! that's some great info that will probably come in handy once I get my framer all ironed out! On Tue, 2008-06-24 at 13:06 -0700, Jerry Johns wrote: > Since there seems to be quite a few ppl writing H.264 frame > subclasses, I think i'll give a gist of what I learned when i was > creating one; > > Basically, my stream was 0x00 00 00 01 delimited single NAL unit > entities - the first NAL was my SPS, then PPS and then picture slices > after that. > > In your framer, after the delimiter, you read 1 byte, which is > contains basic info about the NAL unit - once you have this byte, you > parse it: > > > > NAL_nri = (readChar >> 5) & 0x3; > > NAL_type = readChar & 0x1F; > > NAL_forbidden = readChar & 0x80; > > > > Now, if your NAL unit size is less than ethernet MTU (~1400 bytes), > then you can go ahead and do single-NAL unit mode in which case you > drop the 4 byte delimiter, and pass this to liveMedia to send > > > > If it is > 1400 byte (most of the time they are), then you'll have to > do FU-A mode; FU-A mode specially requires an indicator and a header. > > > > FU_indicator = (NAL_forbidden << 7) | (NAL_nri << 5) | (28); //28 is > FU-A type > > FU_header = (NAL_type) | (FUA_START); //FUA_START is 1<<7 > > > > This indicator goes first, then the header, and then you append your > NAL unit data - NOTE however, that the NAL unit data you append should > not have the delimiter AND the 1 byte NAL info present. > > > > After this first transmission, you send successive FU-A packets with > the remaining NAL unit data with the same FU_indicator, but a changed > FU_header > > if the current packet you're sending is not the last packet, then: > > > > FU_header = (NAL_type); //dont signal the end yet, as per > RFC Spec > > > > if it is the last packet then: > > > > FU_header = (NAL_type) | (FUA_END); //signal last frame of NAL unit, > FUA_END = 1<<6 > > > > That's as easy as it gets to sending H.264 data to VLC and it should > play it beautifully :) > > > > > > Jerry Johns > > Design Engineer > > Nuvation Research Corp - Canada > > Tel: (519) 746-2304 ext. 225 > > www.nuvation.com > > > > > > > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From finlayson at live555.com Wed Jun 25 20:46:09 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 25 Jun 2008 20:46:09 -0700 Subject: [Live-devel] Still working on a h264 framer In-Reply-To: <1214429079.3204.8.camel@Julia> References: <1214317264.3194.11.camel@Julia> <1214429079.3204.8.camel@Julia> Message-ID: >I have re-written my framer based off the H263plusVideoFramer instead of >trying to subclass the MPEGVideoStreamParser. Now I can see that my >framer is parsing through the NAL units and that the H264RTPSink is >actually sending some packets out. The problem is that the file is >getting parsed too quickly and it seems as though the ethernet port >can't keep up. The problem is probably just that you're not setting "fDurationInMicroseconds" before calling "FramedSource::afterGetting()". If you're streaming from a file (as opposed to streaming from a live source), then it's *essential* that you set "fDurationInMicroseconds" correctly, so that the code knows how long to delay after sending each RTP packet. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From Bernhard at Feiten.de Wed Jun 25 22:28:07 2008 From: Bernhard at Feiten.de (Bernhard Feiten) Date: Thu, 26 Jun 2008 07:28:07 +0200 Subject: [Live-devel] Media stream duplication on a streaming relay References: <1134049882.43983a5aa6b32@imp4-g19.free.fr> <6.2.3.4.1.20051208104044.032296d0@localhost> Message-ID: <00e901c8d74d$6de53290$d302a8c0@Popelfranz> Dear Ross, all, did somebody wrote the StreamDuplication class you proposed below already? Do you have a hint how the getNextFrame functions could be synchronized? Thank you very much, Bernhard ----- Original Message ----- From: "Ross Finlayson" To: "LIVE555 Streaming Media - development & use" Sent: Thursday, December 08, 2005 8:57 PM Subject: Re: [Live-devel] Media stream duplication on a streaming relay > As you noticed, you can't duplicate a stream by having each recipient read > from a single object, because "getNextFrame()" can't be called more than > once on the same object concurrently. > > The solution, instead, is to create a separate object (of some > "FramedSource" subclass) for each recipient. This new class would > implement the "doGetNextFrame()" virtual function by somehow 'registering' > with the data source object - to request a copy of the next incoming > frame. > > The data source object (which would *not* be a subclass of "FramedSource", > and so would not implement "doGetNextFrame()") would handle these requests > by delivering copies of each incoming frame to each recipient, and not ask > for a new incoming frame (from its upstream data source) until it has > finished delivering data to each downstream recipient. > > For an example of code that is similar to this, note the relationship > between the "MPEG1or2Demux" and "MPEG1or2DemuxedElementaryStream" classes. > (In this case, however, we are demultiplexing data to downstream > recipients, rather than duplicating it.) Note in particular that (i) > "MPEG1or2Demux" is subclassed from "Medium", not "FramedSource", and (ii) > "MPEG1or2Demux" implements a "getNextFrame()" function that is similar to, > but different from "FramedSource::getNextFrame()". > > (This functionality (data duplication) is something that should probably > be added to the library someday. Until then, however, you will need to > implement it yourself.) > > > Ross Finlayson > Live Networks, Inc. (LIVE555.COM) > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From etienne.bomcke at uclouvain.be Thu Jun 26 01:55:12 2008 From: etienne.bomcke at uclouvain.be (=?ISO-8859-1?Q?Etienne_B=F6mcke?=) Date: Thu, 26 Jun 2008 10:55:12 +0200 Subject: [Live-devel] Streaming H.264 In-Reply-To: References: <93668.54356.qm@web59807.mail.ac4.yahoo.com> Message-ID: On 24 Jun 2008, at 20:56, Ross Finlayson wrote: >> I have some questions regarding H.264 streaming: >> >> 1) Is it true that if we have one NAL unit in a frame then the >> virtual function "currentNALUnitEndsAccessUnit()" always returns >> true" ? > > Yes, iff by "frame" you mean a complete video frame - i.e., an > entire 'picture'. > > >> 2) Who will do the framing from byte stream? Is it done >> automatically or should we do it explicitly? > > Your subclass of "H264CVideoStreamFramer" would need to do this. > > >> 3) Is it a good idea to have one NAL unit in a frame? Will encoders >> do this? Encoders will most probably encode each frame in one NAL unit, unless you specify it otherwise and providing that the encoder support it. >> > > No idea, sorry... > -- > > Ross Finlayson > Live Networks, Inc. > http://www.live555.com/ > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel -- Etienne B?mcke Laboratoire de T?l?communications et T?l?d?tections Universit? Catholique de Louvain B?timent Stevin - Place du Levant, 2 B-1348 Louvain-la-Neuve e-mail : etienne.bomcke at uclouvain.be tel : +32 10 47 85 51 From ferreat at gmail.com Thu Jun 26 01:26:29 2008 From: ferreat at gmail.com (=?ISO-8859-1?Q?Fernando_Re=E1tegui_del_Aguila?=) Date: Thu, 26 Jun 2008 10:26:29 +0200 Subject: [Live-devel] Still working on a h264 framer In-Reply-To: <1214429079.3204.8.camel@Julia> References: <1214317264.3194.11.camel@Julia> <1214429079.3204.8.camel@Julia> Message-ID: Hello Mike, I have interest in what you are doing with the H264. Haven't you forgot to inlcude the H264VideoStream Parser.hh in your previous email? Regards, 2008/6/25 Mike Gilorma : > Update: getting closer!!! > > I have re-written my framer based off the H263plusVideoFramer instead of > trying to subclass the MPEGVideoStreamParser. Now I can see that my > framer is parsing through the NAL units and that the H264RTPSink is > actually sending some packets out. The problem is that the file is > getting parsed too quickly and it seems as though the ethernet port > can't keep up. I'm pretty sure this has something to do with the way I > am parsing through the file because I kept getting stuck in the parser > so I just automatically call parseNALUnit from within > parseStartSequence. Now that I am sure I can actually parse through my > file and see all the NAL units its time to go back and figure out why I > was getting stuck. > > I've attached my framer, parser, and test program if anybody is > interested in taking a look. (pardon the mess, haven't had time to > clean it up yet) > > > On Tue, 2008-06-24 at 10:21 -0400, Mike Gilorma wrote: > > All, > > > > I have been working on creating a h264 framer for about a week and feel > > like I have headed in the wrong direction, so its time for a fresh > > start. Would H263plusVideoFramer be a good starting point? > > > > I have been searching "h.264 site:lists.live555.com" and it seems that > > there are people out there that have gotten their framers working and > > have not gone on to share any info after that. My goal is to create a > > framer for discrete NAL units and to create a testH264VideoStreamer.cpp > > program for everyone to have access to. > > > > thanks, > > Mike > > > > > > _______________________________________________ > > 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 bgmarete at gmail.com Thu Jun 26 05:03:51 2008 From: bgmarete at gmail.com (Brian Marete) Date: Thu, 26 Jun 2008 15:03:51 +0300 Subject: [Live-devel] Using FFmpeg to write H.264 Framer Message-ID: <6dd519ae0806260503k5e2d38bdg8a5922c79661a065@mail.gmail.com> Hello, Please see attached files to see how you can use FFmpeg's libavformat library to write a framer for H264 video. The code has been tested with .mp4 files, and with a tweak or two, will work for any other container format. It assumes that the nal_length_size is 4, but one can change this so that the nal_length_size is dynamically derived from what libavformat knows it is. One nice thing about libavformat is that it will parse the video stream for you and always give you a full video frame on av_read_frame. (An access unit). Regards, -- B. Gitonga Marete Tel: +254-722-151-590 -------------- next part -------------- A non-text attachment was scrubbed... Name: LavfH264StreamFramer.cpp Type: text/x-c++src Size: 3481 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: LavfH264StreamFramer.hh Type: text/x-c++hdr Size: 762 bytes Desc: not available URL: From lonnie.walker at apogeelabs.com Thu Jun 26 08:26:43 2008 From: lonnie.walker at apogeelabs.com (Lonnie Walker) Date: Thu, 26 Jun 2008 11:26:43 -0400 Subject: [Live-devel] ARM Cross Compiler Message-ID: <1214494003.3287.20.camel@carrington> I would like to compile live555 using the arm-elf compiler. I have the compiler install on a machine running Fedora 7. I ran ./genMakeFiles armlinux to create the make files. I did a make and got the following errors. /opt/uClinux/arm-elf/bin/gld: cannot open Media.o: No such file or directory make[1]: *** [libliveMedia.a] Error 1 make[1]: Leaving directory `/projectslive/liveMedia' make: *** [liveMedia/libliveMedia.a] Error 2 Does anyone know why I'm receiving this error. Do I need to modify config-armlinux in some way? Thanks Lonnie From kan at pisem.net Thu Jun 26 10:28:32 2008 From: kan at pisem.net (akarlov) Date: Thu, 26 Jun 2008 21:28:32 +0400 Subject: [Live-devel] stream to mobile phone Message-ID: <4863D1C0.9050402@pisem.net> Can anybody tell me, is it possible to stream video to mobile phone using live555? Mobile phone usually have real player and can accept 3gp streams. Does live can stream this files? If somebody tell me about his experience in mobile streaming, I'll be very thankful From mike.gilorma at apogeelabs.com Thu Jun 26 11:10:02 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Thu, 26 Jun 2008 14:10:02 -0400 Subject: [Live-devel] Still working on a h264 framer In-Reply-To: References: <1214317264.3194.11.camel@Julia> <1214429079.3204.8.camel@Julia> Message-ID: <1214503802.8019.13.camel@Julia> Thanks Ross, setting the frameDuration to the number of frames per second seemed to make things better. I guess I'll have to make that more dynamic later on, but the good news is I'm streaming H.264!!! the bad news? My file doesn't keep playing, I modeled my test program after testMPEG4VideoStreamer where it uses PassiveServerMediaSubsession and continuously replays the file. Also my stream works in VLC and Mplayer, but not Quicktime. My main goal of writing the framer, parser, and test program is about 90% done. I think my next goal will be to write a H264VideoFileServerMediaSubsession! If anybody wants to help figure out those two problems, I've attached all my code. Many thanks to Ross, Jerry, and everybody else who helped out!! On Wed, 2008-06-25 at 20:46 -0700, Ross Finlayson wrote: > >I have re-written my framer based off the H263plusVideoFramer instead of > >trying to subclass the MPEGVideoStreamParser. Now I can see that my > >framer is parsing through the NAL units and that the H264RTPSink is > >actually sending some packets out. The problem is that the file is > >getting parsed too quickly and it seems as though the ethernet port > >can't keep up. > > The problem is probably just that you're not setting > "fDurationInMicroseconds" before calling > "FramedSource::afterGetting()". > > If you're streaming from a file (as opposed to streaming from a live > source), then it's *essential* that you set "fDurationInMicroseconds" > correctly, so that the code knows how long to delay after sending > each RTP packet. -------------- next part -------------- A non-text attachment was scrubbed... Name: H264VideoRTPSink.cpp Type: text/x-c++src Size: 13678 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: H264VideoStreamFramer.cpp Type: text/x-c++src Size: 6828 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: H264VideoStreamParser.cpp Type: text/x-c++src Size: 4546 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: H264VideoStreamParser.hh Type: text/x-c++hdr Size: 3706 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: H264VideoRTPSink.hh Type: text/x-c++hdr Size: 4110 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: H264VideoStreamFramer.hh Type: text/x-c++hdr Size: 1328 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: H264Streamer.cpp Type: text/x-c++src Size: 4534 bytes Desc: not available URL: From finlayson at live555.com Thu Jun 26 13:03:47 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 26 Jun 2008 13:03:47 -0700 Subject: [Live-devel] Still working on a h264 framer In-Reply-To: <1214503802.8019.13.camel@Julia> References: <1214317264.3194.11.camel@Julia> <1214429079.3204.8.camel@Julia> <1214503802.8019.13.camel@Julia> Message-ID: >Also my stream works in VLC and Mplayer, but not Quicktime. That might just be a (known) problem with Quicktime's decoder not handling as wide a variety of H.264 video encodings as the decoder used by VLC and MPlayer. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Jun 26 13:09:28 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 26 Jun 2008 13:09:28 -0700 Subject: [Live-devel] stream to mobile phone In-Reply-To: <4863D1C0.9050402@pisem.net> References: <4863D1C0.9050402@pisem.net> Message-ID: >Can anybody tell me, is it possible to stream video to mobile phone >using live555? Yes - many people have done this (playing streams served by our RTSP server). For this to work, the phone has to be able to to play streams using "rtsp://" URLs. (Several 'smartphones' handle such URLs OK, although some - including Apple's iPhone - do not.) Also, the phone's network provider needs to support access to the public Internet. (Some providers d; some don't.) Finally, of course, this will work only for media codecs that the phone can handle. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From jerry.johns at gmail.com Thu Jun 26 19:30:05 2008 From: jerry.johns at gmail.com (Jerry Johns) Date: Thu, 26 Jun 2008 22:30:05 -0400 Subject: [Live-devel] Still working on a h264 framer Message-ID: <550c59e90806261930i18e56143n21e5c6d03bd1d6a2@mail.gmail.com> The reason why you're stream doesn't work in Quicktime is because QuickTime expects something called SDP Parameters - its text that describes the stream, and in the case of H.264, Quicktime looks into this SDP list to find the SPS and PPS information (See RFC Spec section on sprop parameters) You will have to parse your H.264 file, find the SPS and PPS Nal units, (usually they're the first two units in the stream) and according to the RFC Spec, base64 encode and append it to your SDP Parameters You should be implementing this i think in H264VideoRTPSink.cpp Also, i didn't see any FU-A framing in your parser...are your NAL units sub MTU size? Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: From 47manzoor at niit.edu.pk Thu Jun 26 21:16:28 2008 From: 47manzoor at niit.edu.pk (47manzoor at niit.edu.pk) Date: Fri, 27 Jun 2008 09:16:28 +0500 (PKT) Subject: [Live-devel] MyTestVideoStreamer Message-ID: <60723.202.125.157.194.1214540188.squirrel@webmail.niit.edu.pk> I have made my own test video streamer and when i put it in the testProgs folder and rebuild i don't get "MyTestVideoStreamer.exe". I have followed all the steps i.e run genWindowsMakefiles and so on ....... I think i should make some changes to the config file but i don't know the exact place. Please if someone can guide me, i will be very thankful. Thank You Manzoor Ahmed ----------- --Help save paper - do you really need to print this email? This message is for the use of the intended recipient(s) only. If you have received this message in error, please notify the sender and delete it. The NUST School of Electrical Engg and Computer Science accepts no liability for loss or damage caused by software viruses and you are advised to carry out a virus check on any attachments contained in this message. NUST School of Electrical Engg and Computer Science (Formerly NIIT) is constituent institution of National University of Sciences and Technology, Pakistan. ------- From 47manzoor at niit.edu.pk Thu Jun 26 21:19:40 2008 From: 47manzoor at niit.edu.pk (47manzoor at niit.edu.pk) Date: Fri, 27 Jun 2008 09:19:40 +0500 (PKT) Subject: [Live-devel] MyTestVideoStreamer Message-ID: <60723.202.125.157.194.1214540380.squirrel@webmail.niit.edu.pk> I have made my own test video streamer and when i put it in the testProgs folder and rebuild i don't get "MyTestVideoStreamer.exe". I have followed all the steps i.e run genWindowsMakefiles and so on ....... I think i should make some changes to the config file but i don't know the exact place. Please if someone can guide me, i will be very thankful. Thank You Manzoor Ahmed ----------- --Help save paper - do you really need to print this email? This message is for the use of the intended recipient(s) only. If you have received this message in error, please notify the sender and delete it. The NUST School of Electrical Engg and Computer Science accepts no liability for loss or damage caused by software viruses and you are advised to carry out a virus check on any attachments contained in this message. NUST School of Electrical Engg and Computer Science (Formerly NIIT) is constituent institution of National University of Sciences and Technology, Pakistan. ------- From finlayson at live555.com Thu Jun 26 23:57:56 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 26 Jun 2008 23:57:56 -0700 Subject: [Live-devel] MyTestVideoStreamer In-Reply-To: <60723.202.125.157.194.1214540380.squirrel@webmail.niit.edu.pk> References: <60723.202.125.157.194.1214540380.squirrel@webmail.niit.edu.pk> Message-ID: Please DO NOT post the same message to the mailing list multiple times! >I have made my own test video streamer and when i put it in the testProgs >folder You shouldn't do this. Unless it's absolutely necessary, you should not modify the existing code. (By not modifying the existing code, you can esily upgrade the code just by downloading and unpacking a new version.) Instead, you should create a new directory - with a new Makefile - for your new application. (Note that to use this software, you need to understand how to use Makefiles.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Fri Jun 27 00:19:19 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 27 Jun 2008 00:19:19 -0700 Subject: [Live-devel] Still working on a h264 framer In-Reply-To: <550c59e90806261930i18e56143n21e5c6d03bd1d6a2@mail.gmail.com> References: <550c59e90806261930i18e56143n21e5c6d03bd1d6a2@mail.gmail.com> Message-ID: >The reason why you're stream doesn't work in Quicktime is because >QuickTime expects something called SDP Parameters - its text that >describes the stream, and in the case of H.264, >Quicktime looks into this SDP list to find the SPS and PPS >information (See RFC Spec section on sprop parameters) > >You will have to parse your H.264 file, find the SPS and PPS Nal >units, (usually they're the first two units in the stream) and >according to the RFC Spec, base64 encode and append it to your SDP >Parameters More specifically, you should: 1/ Encode each of these NAL units into a text string, using Base-64. (For this, you can use our own library function "base64Encode()".) 2/ Concatenate these strings together, using "," as a separator 3/ Pass the resulting string to "H264VideoRTPSink::createNew()", as the "sprop_parameter_sets_str" parameter -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From Fabrice.Aeschbacher at siemens.com Fri Jun 27 03:06:29 2008 From: Fabrice.Aeschbacher at siemens.com (Aeschbacher, Fabrice) Date: Fri, 27 Jun 2008 12:06:29 +0200 Subject: [Live-devel] Multicast Streaming again In-Reply-To: <1214296181.4258c4dcm1kogler@edu.uni-klu.ac.at> References: <1214296181.4258c4dcm1kogler@edu.uni-klu.ac.at> Message-ID: <1E195D092C7A7D42A1894FE51D26522730CF0D@MCHP7I6A.ww902.siemens.net> Hi, We already experienced the same problem. We found two different solutions: 1) Kernel path for the udp driver (see attachment) 2) Do NOT bind with INADDR_ANY but with the multicast address: ... // Following DOES NOT work as expected: the socket will become // datagrams from ALL multicast addresses on the same port //saddr.sin_addr.s_addr = htonl(INADDR_ANY); // bind socket to any interface // Whereas following works: socket will only see datagrams // from 'multicast_addr' saddr.sin_addr.s_addr = inet_addr(multicast_addr); status = bind(sock, (struct sockaddr *)&saddr, sizeof(struct sockaddr_in)); ... Solution 1 implies to rewrite a new patch for every new kernel, but implies no modification to live555 Solution 2 can be used with any kernel, but needs to patch live555. Best regards, Fabrice Aeschbacher > -----Original Message----- > From: live-devel-bounces at ns.live555.com > [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Marian Kogler > Sent: Dienstag, 24. Juni 2008 10:30 > To: live-devel at ns.live555.com > Subject: [Live-devel] Multicast Streaming again > > Hello again! > > I have recently posted a mail concerning multicast streaming > over two different ip addresses and the same port. > (e.g. ip 1: 239.255.42.42 .. port: 5008 > ip 2: 239.255.42.43 .. port: 5008) > When i tried to receive the right streams the two streams got merged. > Source Specific Multicast was not a solution for me! > You told me that I should use another OS (former OS: Ubuntu > 7.10), because it is responsible for this and not the live library. > Now my question: > Which is the right OS? Can I use "Red Head Linux Enterprise > 4" , without sending two streams to two different ports? > I hope you can help me! > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > -------------- next part -------------- A non-text attachment was scrubbed... Name: patch.kernel.udp.c Type: application/octet-stream Size: 1024 bytes Desc: patch.kernel.udp.c URL: From m1kogler at edu.uni-klu.ac.at Fri Jun 27 04:11:43 2008 From: m1kogler at edu.uni-klu.ac.at (Marian Kogler) Date: Fri, 27 Jun 2008 13:11:43 +0200 Subject: [Live-devel] Multicast Streaming again Message-ID: <1214565103.45e6d31cm1kogler@edu.uni-klu.ac.at> Hello, ad 2) bind the socket to a multicast address? How does that work? Do you use your own library or the live library? Where do I have to add this code fragment to the live library? (Groupsock.cpp or GroupsockHelper.cpp or ..) The only way for me to change the interface address, in order to receive an send packets, was to change the variable "SendingInterfaceAddr" and "ReceivingInterfaceAddr". Binding the socket to a multicast address lead to an expected result. I didn't receive any data over the socket. If I bound the socket to a specific network interface I could receive data packets, but had the merging problem. -----Original Message----- From: "Aeschbacher, Fabrice" To: "LIVE555 Streaming Media - development & use" Date: Fri, 27 Jun 2008 12:06:29 +0200 Subject: Re: [Live-devel] Multicast Streaming again Hi, We already experienced the same problem. We found two different solutions: 1) Kernel path for the udp driver (see attachment) 2) Do NOT bind with INADDR_ANY but with the multicast address: ... // Following DOES NOT work as expected: the socket will become // datagrams from ALL multicast addresses on the same port //saddr.sin_addr.s_addr = htonl(INADDR_ANY); // bind socket to any interface // Whereas following works: socket will only see datagrams // from 'multicast_addr' saddr.sin_addr.s_addr = inet_addr(multicast_addr); status = bind(sock, (struct sockaddr *)&saddr, sizeof(struct sockaddr_in)); ... Solution 1 implies to rewrite a new patch for every new kernel, but implies no modification to live555 Solution 2 can be used with any kernel, but needs to patch live555. Best regards, Fabrice Aeschbacher > -----Original Message----- > From: live-devel-bounces at ns.live555.com > [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Marian Kogler > Sent: Dienstag, 24. Juni 2008 10:30 > To: live-devel at ns.live555.com > Subject: [Live-devel] Multicast Streaming again > > Hello again! > > I have recently posted a mail concerning multicast streaming > over two different ip addresses and the same port. > (e.g. ip 1: 239.255.42.42 .. port: 5008 > ip 2: 239.255.42.43 .. port: 5008) > When i tried to receive the right streams the two streams got merged. > Source Specific Multicast was not a solution for me! > You told me that I should use another OS (former OS: Ubuntu > 7.10), because it is responsible for this and not the live library. > Now my question: > Which is the right OS? Can I use "Red Head Linux Enterprise > 4" , without sending two streams to two different ports? > I hope you can help me! > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > From finlayson at live555.com Fri Jun 27 04:20:52 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 27 Jun 2008 04:20:52 -0700 Subject: [Live-devel] Multicast Streaming again In-Reply-To: <1214565103.45e6d31cm1kogler@edu.uni-klu.ac.at> References: <1214565103.45e6d31cm1kogler@edu.uni-klu.ac.at> Message-ID: >ad 2) bind the socket to a multicast address? >How does that work? >Do you use your own library or the live library? >Where do I have to add this code fragment to the live library? >(Groupsock.cpp or GroupsockHelper.cpp or ..) >The only way for me to change the interface address, in order to >receive an send packets, was to change the variable >"SendingInterfaceAddr" and "ReceivingInterfaceAddr". Binding the >socket to a multicast address lead to an expected result. I didn't >receive any data over the socket. If I bound the socket to a >specific network interface I could receive data packets, but had the >merging problem. That's why the best solution is Fabrice's solution number 1: Fix the bug in your Linux kernel. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From mike.gilorma at apogeelabs.com Fri Jun 27 06:28:48 2008 From: mike.gilorma at apogeelabs.com (Mike Gilorma) Date: Fri, 27 Jun 2008 09:28:48 -0400 Subject: [Live-devel] Still working on a h264 framer In-Reply-To: <550c59e90806261930i18e56143n21e5c6d03bd1d6a2@mail.gmail.com> References: <550c59e90806261930i18e56143n21e5c6d03bd1d6a2@mail.gmail.com> Message-ID: <1214573328.3197.5.camel@Julia> Ok, I'll give that a shot. The FU-A framing was already done for me in the H264VideoRTPSink that came with live555. I did have to add some code to it to send the sps and pps packets before each IDR unit so VLC would play the stream. thanks for the help, I'll keep everybody posted on the progress! On Thu, 2008-06-26 at 22:30 -0400, Jerry Johns wrote: > The reason why you're stream doesn't work in Quicktime is because > QuickTime expects something called SDP Parameters - its text that > describes the stream, and in the case of H.264, > Quicktime looks into this SDP list to find the SPS and PPS information > (See RFC Spec section on sprop parameters) > > You will have to parse your H.264 file, find the SPS and PPS Nal > units, (usually they're the first two units in the stream) and > according to the RFC Spec, base64 encode and append it to your SDP > Parameters > You should be implementing this i think in H264VideoRTPSink.cpp > > Also, i didn't see any FU-A framing in your parser...are your NAL > units sub MTU size? > > Jerry > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From erik.van.dort at bluewin.ch Fri Jun 27 08:56:06 2008 From: erik.van.dort at bluewin.ch (Erik van Dort) Date: Fri, 27 Jun 2008 17:56:06 +0200 Subject: [Live-devel] unexpected "StreamClose" in VLC under FreeBSD In-Reply-To: References: <080F4DCC965B5F4F95AB691DE867F8E60283D41B@PUEXCBC0.nanterre.francetelecom. fr> <485A8B0A.7070900@bluewin.ch> <485E845A.9090003@bluewin.ch> <4860CAB3.1060407@bluewin.ch> <4860EBAC.7020100@bluewin.ch> <48612B2E.6060009@bluewin.ch> Message-ID: <48650D96.9090007@bluewin.ch> problem solved after upgrading vlc from vlc-0.8.6.h to vlc-0.8.6.h_1 cheers, Erik Ross Finlayson wrote: >> Please find attached output generated by tcpdump from rtsp sessions >> between an Axis IP camera and a host running VLC and openRTSP >> (obviously not simultaneously). >> >> Does this help finding out why live555 generates the "StreamClose" >> message only while running VLC, and not while running openRTSP? > > Unfortunately, no. > > However, I think you're still missing the point. The problem is not > that the LIVE555 client code is closing the stream. The problem is that > your *server* - the Axis camera - is signalling the end-of-stream, by > sending the RTCP "BYE" packet. Our client code is handling this correctly. > > I don't know why the behavior is different depending on whether > "openRTSP" or "VLC" is the client. But the fact remains: It is your > server that is signalling the end-of-stream. > > So, you will need to contact your server manufacturer (Axis) to help > resolve this problem. Perhaps only a firmware upgrade is needed? I > don't know; Axis cameras are not our products. -- EvD From Jerry.Johns at nuvation.com Fri Jun 27 12:15:54 2008 From: Jerry.Johns at nuvation.com (Jerry Johns) Date: Fri, 27 Jun 2008 12:15:54 -0700 Subject: [Live-devel] Client Blocking for Server Message-ID: <274F7B50569A1B4C9D7BCAB17A9C7BE104AAF0@mailguy3.skynet.nuvation.com> Hello, I've been thinking of ways to get this realizable, and perhaps its not but a part of me believes it could be - I have a client currently that receives an IP address on start, and tries to connect to the server and get audio/video streams from it. It is setup right now that I know the details of stream before hand (audio parameters, h.264, etc) and so it blocks till it receives data from the RTSP server (also liveMedia). However, a desired feature for a future version of this FW is to block till the server comes up, and THEN instantiate the appropriate sources according to the parameters received (i.e, SimpleRTPSource for PCM audio: currently I have to instantiate this with already known knowledge). The parameters would be in the form of the SDP, and I could parse it to find the info required. This is not a problem if the server already exists, as I have existing functions similar to those found in openRTSP.cpp that ask for SDP parameters and parse them appropriately. Perhaps the only solution is a polling of the SDP periodically till it's available? My hunch was that since we're listening on a multi-cast address, perhaps we can block on this in a generic fashion till we get some data, and then start our initialization routines Thank you, Jerry Johns Design Engineer Nuvation Research Corp - Canada Tel: (519) 746-2304 ext. 225 www.nuvation.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From SRawling at pelco.com Fri Jun 27 23:46:21 2008 From: SRawling at pelco.com (Rawling, Stuart) Date: Fri, 27 Jun 2008 23:46:21 -0700 Subject: [Live-devel] Multiple unicasts clients for one Framed Source Message-ID: I have been trying to my rtsp implementation to allow multiple output streams from one source. I have a custom FramedSource object which takes input from a external device, and am using the OnDemanServerMediaSubsession object (a slight derivation of it). I am seting the fReuseFirstSource bit to be True, but when I connect a second stream, the first stream hangs and the second string never receives video. Eventually the library starts displaying TCP traffic information ( I turned on debug to see what was going on). The behaviour I expected was that both streams would be being sent via unicast, and the new destination would just be added to the RTPSink?s groupsock. This is what I had understood by reading through the FAQ. But now after the problems I have had, and by reading through more of this list (for example: ) , I am wondering if I need to change my FrameSource implementation to not set the fReuseFirstSource bit, and instead to duplicate the frame data as it comes in, and present the frame data to each FramedSource object that requires it. I would appreciate any guidance that you may offer. Stuart - ------------------------------------------------------------------------------ Confidentiality Notice: The information contained in this transmission is legally privileged and confidential, intended only for the use of the individual(s) or entities named above. This email and any files transmitted with it are the property of Pelco. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any review, disclosure, copying, distribution, retention, or any action taken or omitted to be taken in reliance on it is prohibited and may be unlawful. If you receive this communication in error, please notify us immediately by telephone call to +1-559-292-1981 or forward the e-mail to administrator at pelco.com and then permanently delete the e-mail and destroy all soft and hard copies of the message and any attachments. Thank you for your cooperation. - ------------------------------------------------------------------------------ -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Sat Jun 28 00:57:01 2008 From: finlayson at live555.com (Ross Finlayson) Date: Sat, 28 Jun 2008 00:57:01 -0700 Subject: [Live-devel] Multiple unicasts clients for one Framed Source In-Reply-To: References: Message-ID: >I am wondering if I need to change my FrameSource implementation to >not set the fReuseFirstSource bit, and instead to duplicate the >frame data as it comes in, and present the frame data to each >FramedSource object that requires it. No, what you were trying to do originally (set the "reuseFirstSource" parameter to True when you create your "ServerMeiaSubsession" (subclass) objects) should work so you should stick with this. However, you should begin your testing with an unmodified version of the code, reading from a existing data source implementation (e.g., from a (file or stdin) "ByteStreamFileSource"). (Once you've modified the existing code, or written new code of your own, then it's less likely we'd be able to support you.) You should note also that for some media types - e.g., MPEG-4 video - the input source will get opened and read twice (once for the SDP 'config' information, and once for the stream itself), even if "reuseFirstSource" is True. Your input source needs to allow for this (dpending on the media type). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Sat Jun 28 01:05:14 2008 From: finlayson at live555.com (Ross Finlayson) Date: Sat, 28 Jun 2008 01:05:14 -0700 Subject: [Live-devel] Still working on a h264 framer In-Reply-To: <1214573328.3197.5.camel@Julia> References: <550c59e90806261930i18e56143n21e5c6d03bd1d6a2@mail.gmail.com> <1214573328.3197.5.camel@Julia> Message-ID: >Ok, I'll give that a shot. The FU-A framing was already done for me in >the H264VideoRTPSink that came with live555. I did have to add some >code to it to send the sps and pps packets before each IDR unit You should do that in your "*Framer" class, *not* by modifying the existing "H264VideoRTPSink". Note, for example, how our existing "MPEG1or2VideoStreamDiscreteFramer" class does something similar (note the use of the "vshPeriod" parameter). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From SRawling at pelco.com Sat Jun 28 21:40:42 2008 From: SRawling at pelco.com (Rawling, Stuart) Date: Sat, 28 Jun 2008 21:40:42 -0700 Subject: [Live-devel] Multiple unicasts clients for one Framed Source In-Reply-To: Message-ID: Thanks Ross, After following your advice, I went back to basics, and have discovered that if I did not set the (mpeg4) config attribute in the sdp, the effect was that my on demand server went a little funky if more than 1 client connected. The setting of the config flag was next on my to do list. But because of this find has jumped to the forefront. I am limiting the amount of code I am writing to extend the library to my needs, and only doing so through subclassing. I just missed the need for the SDP to be generated from my mpeg4 source, luckily there is the getAuxSDPLine function I can overload to accommodate this. On 6/28/08 12:57 AM, "Ross Finlayson" wrote: >> I am wondering if I need to change my FrameSource implementation to not set >> the fReuseFirstSource bit, and instead to duplicate the frame data as it >> comes in, and present the frame data to each FramedSource object that >> requires it. > > No, what you were trying to do originally (set the "reuseFirstSource" > parameter to True when you create your "ServerMeiaSubsession" (subclass) > objects) should work so you should stick with this. However, you should begin > your testing with an unmodified version of the code, reading from a existing > data source implementation (e.g., from a (file or stdin) > "ByteStreamFileSource"). (Once you've modified the existing code, or written > new code of your own, then it's less likely we'd be able to support you.) > > You should note also that for some media types - e.g., MPEG-4 video - the > input source will get opened and read twice (once for the SDP 'config' > information, and once for the stream itself), even if "reuseFirstSource" is > True. Your input source needs to allow for this (dpending on the media type). - ------------------------------------------------------------------------------ Confidentiality Notice: The information contained in this transmission is legally privileged and confidential, intended only for the use of the individual(s) or entities named above. This email and any files transmitted with it are the property of Pelco. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any review, disclosure, copying, distribution, retention, or any action taken or omitted to be taken in reliance on it is prohibited and may be unlawful. If you receive this communication in error, please notify us immediately by telephone call to +1-559-292-1981 or forward the e-mail to administrator at pelco.com and then permanently delete the e-mail and destroy all soft and hard copies of the message and any attachments. Thank you for your cooperation. - ------------------------------------------------------------------------------ -------------- next part -------------- An HTML attachment was scrubbed... URL: From amadorim at vdavda.com Mon Jun 30 00:22:19 2008 From: amadorim at vdavda.com (Marco Amadori) Date: Mon, 30 Jun 2008 09:22:19 +0200 Subject: [Live-devel] H.264 Encoded Video In-Reply-To: <1214330524.3194.43.camel@Julia> References: <55593.202.125.157.194.1214323725.squirrel@webmail.niit.edu.pk> <1214330524.3194.43.camel@Julia> Message-ID: <200806300922.19096.amadorim@vdavda.com> On Tuesday 24 June 2008, 20:02:04, Mike Gilorma wrote: > Actually we are tying to do the same thing, just different OS's. The > process I was describing is how I created a h264 file in Linux. Maybe you know also how to encode h264 in MPEG TS like the ones coming from DVB-S2 streams? I didnt found a open source way to do that yet. -- ESC:wq -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. From silvain.beriault at larus.com Mon Jun 30 11:01:01 2008 From: silvain.beriault at larus.com (Silvain Beriault) Date: Mon, 30 Jun 2008 14:01:01 -0400 Subject: [Live-devel] Blocking vs Non-Blocking doGetNextFrame()??? Message-ID: <48691F5D.1030609@larus.com> Hello, According to the DeviceSource.cpp template, the doGetNextFrame() should deliver a frame "in a non-blocking fashion i.e., so that we return immediately from this function even if no data is currently available." However, if no data is available, the afterGetting() function is not invoked within doGetNextFrame (since no new data is delivered) and this causes the doGetNextFrame() function never to be called again by the internal live555 API. Any suggestions on how this problem should be handled? Thank you! Silvain From ferreat at gmail.com Mon Jun 30 06:04:32 2008 From: ferreat at gmail.com (=?ISO-8859-1?Q?Fernando_Re=E1tegui_del_Aguila?=) Date: Mon, 30 Jun 2008 15:04:32 +0200 Subject: [Live-devel] Regarding TestMPEG4VideoStreamer Message-ID: I have one question regarding this sample code: testMPEG4VideoStreamer. Somehow when I stream normal MP4 file with this streamer in a NOT so busy local network I get in the receiver (VLC opening the rtsp session) the video streamed with interruptions in the images. When the streaming is done in a busy network and even, in this case, the the streamed session is opened in the same computer which is streaming the video, the MP4 file is received in VLC with no interruptions and good video quality. I don't understand why this code, designed for M4E (elementary MPEG4 files) works fine with normal MP4 files in certain situations and completely wrong in another situations (network occupation). Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Mon Jun 30 11:44:07 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 30 Jun 2008 11:44:07 -0700 Subject: [Live-devel] Blocking vs Non-Blocking doGetNextFrame()??? In-Reply-To: <48691F5D.1030609@larus.com> References: <48691F5D.1030609@larus.com> Message-ID: >According to the DeviceSource.cpp template, the doGetNextFrame() >should deliver a frame "in a non-blocking fashion i.e., so that we >return immediately from this function even if no data is currently >available." > >However, if no data is available, the afterGetting() function is not >invoked within doGetNextFrame (since no new data is delivered) and >this causes the doGetNextFrame() function never to be called again >by the internal live555 API. Any suggestions on how this problem >should be handled? When the new data does arrive - later - it must be handled as an 'event' - i.e., within the event loop. The event handler can then call "doGetNextFrame()" again. Unfortunately there's no one standard way of handling the arrival of new data as an 'event', because it depends on your particular environment (in particular, the nature of your input device). If your input device can be treated as an open file, then it's easy, because you can use the event loop's existing "select()" mechanism. If, however, your input device cannot be treated as an open file, then you have to do something else to handle the arrival of new data as an 'event'. Some people use the optional "watchVariable" parameter (to "TaskScheduler::doEventLoop()") for this purpose. (Others may subclass "TaskScheduler" to implement their own event loop, although that is more difficult.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Mon Jun 30 11:48:51 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 30 Jun 2008 11:48:51 -0700 Subject: [Live-devel] Regarding TestMPEG4VideoStreamer In-Reply-To: References: Message-ID: >I don't understand why this code, designed for M4E (elementary MPEG4 >files) works fine with normal MP4 files in certain situations and >completely wrong in another situations (network occupation). "testMPEG4VideoStreamer" is intended *only* for streaming MPEG-4 Video Elementary Stream files. If it ever works for any other kind of file (which, by the way, I don't believe), then that is only by accident. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From silvain.beriault at larus.com Mon Jun 30 12:03:59 2008 From: silvain.beriault at larus.com (Silvain Beriault) Date: Mon, 30 Jun 2008 15:03:59 -0400 Subject: [Live-devel] Blocking vs Non-Blocking doGetNextFrame()??? In-Reply-To: References: <48691F5D.1030609@larus.com> Message-ID: <48692E1F.1050404@larus.com> > >> According to the DeviceSource.cpp template, the doGetNextFrame() >> should deliver a frame "in a non-blocking fashion i.e., so that we >> return immediately from this function even if no data is currently >> available." >> >> However, if no data is available, the afterGetting() function is not >> invoked within doGetNextFrame (since no new data is delivered) and >> this causes the doGetNextFrame() function never to be called again by >> the internal live555 API. Any suggestions on how this problem should >> be handled? > > When the new data does arrive - later - it must be handled as an > 'event' - i.e., within the event loop. The event handler can then > call "doGetNextFrame()" again. > > Unfortunately there's no one standard way of handling the arrival of > new data as an 'event', because it depends on your particular > environment (in particular, the nature of your input device). If your > input device can be treated as an open file, then it's easy, because > you can use the event loop's existing "select()" mechanism. > > If, however, your input device cannot be treated as an open file, then > you have to do something else to handle the arrival of new data as an > 'event'. Some people use the optional "watchVariable" parameter (to > "TaskScheduler::doEventLoop()") for this purpose. (Others may subclass > "TaskScheduler" to implement their own event loop, although that is > more difficult.) Thank you for your suggestions. In my application, data is being pulled from a circular queue containing uncompressed video data which I compress and write to fTo within the doGetNextFrame() function. My application is multi-threaded (with a single thread accessing the live555 API as mentioned in the FAQ). So under those premise, do you see any potential problem with having a doGetNextFrame() function that blocks when there is no data available in the queue? From ferreat at gmail.com Mon Jun 30 12:54:36 2008 From: ferreat at gmail.com (=?ISO-8859-1?Q?Fernando_Re=E1tegui_del_Aguila?=) Date: Mon, 30 Jun 2008 21:54:36 +0200 Subject: [Live-devel] Regarding TestMPEG4VideoStreamer In-Reply-To: References: Message-ID: Where could I get these elementary files or a software which could be used to convert another format files to m4e. On Mon, Jun 30, 2008 at 8:48 PM, Ross Finlayson wrote: > I don't understand why this code, designed for M4E (elementary MPEG4 files) >> works fine with normal MP4 files in certain situations and completely wrong >> in another situations (network occupation). >> > > "testMPEG4VideoStreamer" is intended *only* for streaming MPEG-4 Video > Elementary Stream files. If it ever works for any other kind of file > (which, by the way, I don't believe), then that is only by accident. > -- > > Ross Finlayson > Live Networks, Inc. > http://www.live555.com/ > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Mon Jun 30 14:01:55 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 30 Jun 2008 14:01:55 -0700 Subject: [Live-devel] Blocking vs Non-Blocking doGetNextFrame()??? In-Reply-To: <48692E1F.1050404@larus.com> References: <48691F5D.1030609@larus.com> <48692E1F.1050404@larus.com> Message-ID: >Thank you for your suggestions. In my application, data is being >pulled from a circular queue containing uncompressed video data >which I compress and write to fTo within the doGetNextFrame() >function. My application is multi-threaded (with a single thread >accessing the live555 API as mentioned in the FAQ). So under those >premise, do you see any potential problem with having a >doGetNextFrame() function that blocks when there is no data >available in the queue? Yes. If you block, waiting for new data, then no other events will be handled (by the event loop) in the meantime. That is why "doGetNextFrame()" should not block. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Mon Jun 30 14:08:11 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 30 Jun 2008 14:08:11 -0700 Subject: [Live-devel] Regarding TestMPEG4VideoStreamer In-Reply-To: References: Message-ID: >Where could I get these elementary files or a software which could >be used to convert another format files to m4e. Read the FAQ !!! -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From erik at hovland.org Mon Jun 30 15:02:56 2008 From: erik at hovland.org (Erik Hovland) Date: Mon, 30 Jun 2008 15:02:56 -0700 Subject: [Live-devel] [patch] minor ctor/dtor leak in liveMedia/MP3ADUinterleaving.cpp Message-ID: <20080630220255.GA16502@hovland.org> The class MP3ADUdeinterleaver allocates fFrames on the heap with new in the ctor. It is not deleted in the dtor. E -- Erik Hovland mail: erik at hovland.org web: http://hovland.org/ PGP/GPG public key available on request -------------- next part -------------- A non-text attachment was scrubbed... Name: ctor-dtor-mem-leak.patch Type: text/x-diff Size: 612 bytes Desc: not available URL: From finlayson at live555.com Mon Jun 30 21:15:06 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 30 Jun 2008 21:15:06 -0700 Subject: [Live-devel] [patch] minor ctor/dtor leak in liveMedia/MP3ADUinterleaving.cpp In-Reply-To: <20080630220255.GA16502@hovland.org> References: <20080630220255.GA16502@hovland.org> Message-ID: Thanks for the report. This bug will be fixed in the next release of the software. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/