From finlayson at live555.com Sun Jul 1 02:43:16 2007 From: finlayson at live555.com (Ross Finlayson) Date: Sun, 1 Jul 2007 02:43:16 -0700 Subject: [Live-devel] RSTP Server Mods - opening files & transcoding In-Reply-To: <003501c7bb58$7d134700$0300a8c0@AlexLaptop> References: <003501c7bb58$7d134700$0300a8c0@AlexLaptop> Message-ID: >a) How can i stream file names with spaces in them? (e.g. >rtsp:///i am a file.ts instead of rtsp:///file.ts) This was a bug in our "RTSPServer" (and "RTSPClient") implementation. I have just installed a new version (2007.07.01) of the "LIVE555 Streaming Media" software (and "live555MediaServer" binaries) that fixes this problem. >b) Is it possible stream file outside the working directory or >create virtual paths? Right now, the only way to do this is by creating symbolic links inside the "mediaServer" directory. >c) Ideally i'd like to be able to drag and drop files into a >directory and transcode them on the fly to any format i set, in the >same way it can be done with VLC manually. I know this has been >covered before but could someone give me an overview how VLC's >engine or something like FFMpeg could be integrated with the live >RTSP server to achieve this so streams are served and transcoded >on-demand? Sorry, I can't help you with this one. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070701/092a74dc/attachment.html From julian.lamberty at mytum.de Mon Jul 2 00:36:51 2007 From: julian.lamberty at mytum.de (Julian Lamberty) Date: Mon, 02 Jul 2007 09:36:51 +0200 Subject: [Live-devel] presentationTime and B-Frames In-Reply-To: References: <468515BE.6090105@mytum.de> Message-ID: <4688AB13.6030209@mytum.de> > Note that In your original MPEG-2 stream, with B-frames, the frames > will be in decoding order, which is different from the display order, > and thus different from the order of frames in the resulting MPEG-4 > stream (because that doesn't have B frames). In particular, the > presentation times in the original MPEG-2 stream, with B-frames, will > *not* be monotonically increasing. You will need to reorder the > presentation times accordingly when you convert the stream to MPEG-4 > (without B-frames). > My source is the vobStreamer application. Examining the packets it looks like if they are sent rather in display order (IBBPBBPBBPBBI...). Is that true for the vobStreamer? How is the timeval structure mapped onto the 32bit presentation time in the RTP packet, what interval do I have to add to fPresentationTime to make RTP timestamp increase by 3600 (i.e. one frame duration @25Hz)? Thanks Julian From zhj.zhao at gmail.com Mon Jul 2 01:08:01 2007 From: zhj.zhao at gmail.com (jerry zhao) Date: Mon, 2 Jul 2007 10:08:01 +0200 Subject: [Live-devel] RTCP packet interval Message-ID: Hello, I have a question about RTCP packet interval. Now the RTCP packet (e.g. RR) interval is about 5 seconds. Can I change the RR packet interval to one RTT with Live library? Thanks. Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070702/5c52ad1a/attachment.html From finlayson at live555.com Mon Jul 2 01:38:04 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 2 Jul 2007 01:38:04 -0700 Subject: [Live-devel] presentationTime and B-Frames In-Reply-To: <4688AB13.6030209@mytum.de> References: <468515BE.6090105@mytum.de> <4688AB13.6030209@mytum.de> Message-ID: >How is the timeval structure mapped onto the 32bit presentation time in >the RTP packet, what interval do I have to add to fPresentationTime to >make RTP timestamp increase by 3600 (i.e. one frame duration @25Hz)? Receiving code should not need to care about RTP timestamps. (Only the LIVE555 RTP reception code needs to care about RTP timestamps.) Instead, just use the presentation time that's given to each piece of incoming data (from the "RTPSource" subclass). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Mon Jul 2 01:38:22 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 2 Jul 2007 01:38:22 -0700 Subject: [Live-devel] RTCP packet interval In-Reply-To: References: Message-ID: >Hello, >I have a question about RTCP packet interval. Now the RTCP packet >(e.g. RR) interval is about 5 seconds. Can I change the RR packet >interval to one RTT with Live library? Our RTCP code implements the standard RTCP retransmission rules - defined in RFC 3550. I don't recommend changing this. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From julian.lamberty at mytum.de Mon Jul 2 01:55:15 2007 From: julian.lamberty at mytum.de (Julian Lamberty) Date: Mon, 02 Jul 2007 10:55:15 +0200 Subject: [Live-devel] presentationTime and B-Frames In-Reply-To: References: <468515BE.6090105@mytum.de> <4688AB13.6030209@mytum.de> Message-ID: <4688BD73.4030701@mytum.de> Ross Finlayson schrieb: >> How is the timeval structure mapped onto the 32bit presentation time in >> the RTP packet, what interval do I have to add to fPresentationTime to >> make RTP timestamp increase by 3600 (i.e. one frame duration @25Hz)? >> > > Receiving code should not need to care about RTP timestamps. (Only > the LIVE555 RTP reception code needs to care about RTP timestamps.) > Instead, just use the presentation time that's given to each piece of > incoming data (from the "RTPSource" subclass). > > Ok, but there's still the problem how to sync an original audio stream to the transcoded corresponding video stream because the original timestamps are not preserved. Can this be worked around somehow? I know the standard requires a "random" offset to be added to the RTP timestamps. How can I keep synchronisation at the final receiver? From armandopoulos at yahoo.fr Mon Jul 2 03:40:09 2007 From: armandopoulos at yahoo.fr (Armando Ko) Date: Mon, 2 Jul 2007 12:40:09 +0200 (CEST) Subject: [Live-devel] implement the RTCP APP Packet Message-ID: <125402.60045.qm@web25912.mail.ukl.yahoo.com> hi, How can i expand the Live555 to implement the rtcp app packet. Please i need some details for a new user of the live555. Can the app packet replace the bye packet ? thank you Armand --------------------------------- Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070702/292829a7/attachment.html From finlayson at live555.com Mon Jul 2 04:41:43 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 2 Jul 2007 04:41:43 -0700 Subject: [Live-devel] implement the RTCP APP Packet In-Reply-To: <125402.60045.qm@web25912.mail.ukl.yahoo.com> References: <125402.60045.qm@web25912.mail.ukl.yahoo.com> Message-ID: >How can i expand the Live555 to implement the rtcp app packet. You would need to modify the "RTCPInstance" implementation, defined in "liveMedia/RTCP.cpp". >Can the app packet replace the bye packet ? No. The "BYE" packet is defined in the RTP/RTCP standard, and should continue to be implemented. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Mon Jul 2 04:46:06 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 2 Jul 2007 04:46:06 -0700 Subject: [Live-devel] presentationTime and B-Frames In-Reply-To: <4688AB13.6030209@mytum.de> References: <468515BE.6090105@mytum.de> <4688AB13.6030209@mytum.de> Message-ID: > > Note that In your original MPEG-2 stream, with B-frames, the frames >> will be in decoding order, which is different from the display order, >> and thus different from the order of frames in the resulting MPEG-4 >> stream (because that doesn't have B frames). In particular, the >> presentation times in the original MPEG-2 stream, with B-frames, will >> *not* be monotonically increasing. You will need to reorder the >> presentation times accordingly when you convert the stream to MPEG-4 >> (without B-frames). >> > >My source is the vobStreamer application. Examining the packets it looks >like if they are sent rather in display order (IBBPBBPBBPBBI...). I believe you're mistaken on this point. E.g., the first B-frames that you receive after each I-frame are actually intended to be displayed *before* the i-frame. That's why the B-frames will have a lower presentation time than the I-frame. You need to take this into account when assigning presentation times to the transcoded MPEG-4 frames (without B-frames). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From neo_star2007 at yahoo.es Mon Jul 2 06:06:03 2007 From: neo_star2007 at yahoo.es (Joan Manuel Zabala) Date: Mon, 2 Jul 2007 15:06:03 +0200 (CEST) Subject: [Live-devel] Help with the testMPEG1or2VideoStreamer In-Reply-To: Message-ID: <439640.77479.qm@web28103.mail.ukl.yahoo.com> ok, Russell. thank you very much by the clarifying one now. I have a problem with my programs client and server, because the side server supposedly is transmitting the packages of video to the network by a port RTP (8888) and the client is not receiving anything. in addition I am working of local way in a single machine... but also I have proven with two machines in network point to point, and does not work either. Another thing, when I connect my 2 machines to the local area network of the institute, the programs say me that the machines do not have valid direction IP which are assigned to the machines by a DHCP server . Do you could help me in that, please? Joan Zabala - Venezuela Russell Brennan escribi?: If I understand your question correctly, you are simply asking if packets are sent when startPlaying() is called. I believe the answer is no, doEventLoop() calls a function called SingleStep() in a while loop. Each time SingleStep() is executed, a packet is sent. That's as deep as I understand it. Russell On 6/26/07, Joan Manuel Zabala wrote: hello! I wanted that somebody could help me. saying to me, if the testing program to testMPEG1or2VideoStreamer when arriving at the point where startPlaying() is called to the function initiates the transmission of the video through the network. or on the contrary I must make a function so that it initiates the shipment of packages to the network and how I could do it. on the other hand, if I have a receiving program of video by RTP when unloading the data from the network and startPlaying() is called to the function, after that begins the reproduction of the video or I must use a decoder to part? I ask this, because I am making a project for reception of live video using RTP/RTCP/RTSP, and must soon give the results of this development, more or less for half-full of Julio, and I am on the brink of madness, please if somebody could help me would thank for it. because it is my project of graduation and it is very important for my. of before hand, thanks. Joan Zabala - Venezuela --------------------------------- LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. http://es.voice.yahoo.com _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel -- Russell Brennan RJBrennn at gmail.com (708) 699-7314 _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel --------------------------------- ?Descubre una nueva forma de obtener respuestas a tus preguntas! Entra en Yahoo! Respuestas. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070702/6837ed03/attachment.html From tl11305 at salle.url.edu Mon Jul 2 09:32:16 2007 From: tl11305 at salle.url.edu (Ramon Martin de Pozuelo Genis) Date: Mon, 2 Jul 2007 18:32:16 +0200 (CEST) Subject: [Live-devel] Close On Demand Session from Server Message-ID: <1217.172.16.11.128.1183393936.squirrel@webmail.salle.url.edu> Hi all, Could I close an on demand session from server side? How will it be the best way to do that? I tried "rtspServer->removeServerMediaSession(sms)" and then, this subsession is not accessible for future RTSP requests, but a client that is playing this session continues playing the video. I would like to stop sending videos too. Thanks in advance, Ramon From fherna04 at harris.com Mon Jul 2 13:36:17 2007 From: fherna04 at harris.com (Hernandez, Fernando) Date: Mon, 2 Jul 2007 16:36:17 -0400 Subject: [Live-devel] Increasing UDP packet sizes for streaming MPEG video? Message-ID: <4C1EB210CB4D784D89E9B4858CF5DE8B22A2E0@mlbe2k5.cs.myharris.net> Hello, I have a question about MPEG video streaming and UDP packet sizes. I'm working on a server application which does up to two streams of 10 Mbit/sec HD MPEG video, and have been running into performance problems. The problems occur because the system is already under a moderate load from a few other things it has to do, and starting a play session of 10 Mbit video will max out at around 6 - 7 Mbit/sec. The throughput of the line isn't the problem, as this is run over a GigE interface. When run by themselves, the video playback threads reach the full 10 Mb/sec rate. Grabbing an Ethernet trace of the data as it comes in shows the data in UDP packets coming across the line with data payloads of 1328 bytes. I am interested in increasing this to a few dozen kb at least, in order to improve performance, but where should I look to find the code that deals with this? The way it is structured right now, the server has to push out around two thousand UDP messages per second to maintain the desired rate, and reducing the number of messages should help throughput. Is this feasible with a little work on my end? Thanks for any direction that you can provide. -------------------------- Fernando Hernandez Software Engineer Harris Corporation GCSD 321-729-3413 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070702/b8df9a7b/attachment.html From finlayson at live555.com Mon Jul 2 16:11:07 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 2 Jul 2007 16:11:07 -0700 Subject: [Live-devel] Close On Demand Session from Server In-Reply-To: <1217.172.16.11.128.1183393936.squirrel@webmail.salle.url.edu> References: <1217.172.16.11.128.1183393936.squirrel@webmail.salle.url.edu> Message-ID: >Could I close an on demand session from server side? There is currently no way in the code to do this so that all current streams for the session stop immediately. However, if your intention is to stop streaming to dead clients, then remember the "reclamationTestSeconds" parameter to "RTSPServer::createNew()" - see "liveMedia/include/RTSPServer.hh". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Mon Jul 2 16:35:49 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 2 Jul 2007 16:35:49 -0700 Subject: [Live-devel] Increasing UDP packet sizes for streaming MPEG video? In-Reply-To: <4C1EB210CB4D784D89E9B4858CF5DE8B22A2E0@mlbe2k5.cs.myharris.net> References: <4C1EB210CB4D784D89E9B4858CF5DE8B22A2E0@mlbe2k5.cs.myharris.net> Message-ID: >Grabbing an Ethernet trace of the data as it comes in shows the data >in UDP packets coming across the line with data payloads of 1328 >bytes. I am interested in increasing this to a few dozen kb at >least, in order to improve performance, but where should I look to >find the code that deals with this? First, I'm assuming that your network MTU is large enough to accommodate larger UDP packets. (If instead, your network MTU is something like the usual 1500 bytes, then you should not try to send larger UDP packets, otherwise you'll end up with IP-level fragmentation, and bad performance if packets get lost.) If your network MTU is really large enough to accommodate larger packets, then you can do so by making the following two changes: 1/ In "MultiFramedRTPSink.cpp", change the call to "setPacketSizes()" on line 46. (Alternatively, call "setPacketSizes()" with your new parameters after each "RTPSink" object is created.) 2/ In "MPEG2TransportFileServerMediaSubsession.cpp", change the definition of "TRANSPORT_PACKETS_PER_NETWORK_PACKET", so that 12 + 188*TRANSPORT_PACKETS_PER_NETWORK_PACKET < your maximum UDP packet size (12 bytes is the size of the RTP header) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070702/d77f2203/attachment-0001.html From weiyutao36 at 163.com Mon Jul 2 17:52:47 2007 From: weiyutao36 at 163.com (weiyutao36) Date: Tue, 3 Jul 2007 08:52:47 +0800 (CST) Subject: [Live-devel] about using live555 library as a streaming server Message-ID: <1819047502.1982541183423967675.JavaMail.coremail@bj163app120.163.com> Hi everyone, I want to use live555 streaming Media library as a streaming server and I have serveral questions: (1) Can the live555 library be used in a practical application, for example, a VoD system, as a streaming server and, can the streaming server run stably for normal use? (2) I know that currently the server can stream mpeg-4 elementary stream and want to know further: a) do the company have the plan to make the library support streaming a mpeg-4 file including audio and video; b) is it possible for myself to modify the code to make it have this functionality? If it is possible, what should I do? Thank you very much. ---------------------- Yutao Wei -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070702/247f8696/attachment.html From krishnakishore.nakarikanti at gmail.com Tue Jul 3 00:43:03 2007 From: krishnakishore.nakarikanti at gmail.com (krishnakishore) Date: Tue, 3 Jul 2007 13:13:03 +0530 Subject: [Live-devel] Problem in RTSP Response Message-ID: Hello All, This is kishore from INDIA. we are developing an MPEG2 Streaming server on windows. Actually my problem is, After sending the RTSP SETUP Response to client ( VLC Player ) i am not getting any further RTSP Request from client. And also the existing connection has been forcibly closed by the client. I am describing the total Session Details below. please see, and kindly tell me what exactly the problem is. And one more problem is the connection between my Server and Client has been forcibly closed by the Client.I am running my client and server on the same machine. some one please help me.Thanks in advance. Request: OPTIONS rtsp://10.10.10.8:1234/39.mpg RTSP/1.0 CSeq: 7 User-Agent: VLC media player (LIVE555 Streaming Media v2007.02.20) Response: RTSP/1.0 200 OK CSeq: 7 Server: Mpeg2StreamingServer Public: DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE Content-Length: 0 Request: DESCRIBE rtsp://10.10.10.8:1234/39.mpg RTSP/1.0 CSeq: 8 Accept: application/sdp User-Agent: VLC media player (LIVE555 Streaming Media v2007.02.20) Response: RTSP/1.0 200 OK Server: Mpeg2StreamingServer CSeq: 8 Cache-Control: no-cache Content-Length: 250 Content-Type: application/sdp v=0 o=Mpeg2StreamingServer -902530567 -902530567 IN IP4 10.10.10.8 s=RTSP Session u=http:/// e=admin@ c=IN IP4 0.0.0.0 i=RTSP test t=0 0 a=tool:vlc 0.8.6a a=range:npt=0- 41.00000 m=video 0 RTP/AVP 32 a=rtpmap:32 MPV/90000 a=control:rtsp://10.10.10.8:1234/39.mpg/trackID=1 Request: SETUP rtsp:/ RTSP/1.0 CSeq: 9 Transport: RTP/AVP;unicast;client_port=1834-1835 User-Agent: VLC media player (LIVE555 Streaming Media v2007.02.20) Response: RTSP/1.0 200 OK Server: Mpeg2StreamingServer CSeq: 9 Cache-Control: no-cache Session: 43069932053063 Transport: RTP/AVP;unicast;destination=10.10.10.8;source=10.10.10.8 ;client_port=1834-1835;server_port=2344-2345;ssrc=5AD314 Content-Length: 0 And i am getting the following Messages in VLC player VLC Messages: main debug: creating new input thread main debug: waiting for thread completion main debug: thread 3936 (input) created at priority 1 (input/input.c:265) main debug: `rtsp://10.10.10.8:1234/39.mpg' gives access `rtsp' demux `' path `10.10.10.8:1234/39.mpg' main debug: creating demux: access='rtsp' demux='' path=' 10.10.10.8:1234/39.mpg' main debug: looking for access_demux module: 1 candidate live555 debug: RTP subsession 'video/MPV' live555 error: SETUP of'video/MPV' failed no response code in line: "/10.10.10.8:1234/39.mpg/trackID=1" live555 error: Nothing to play for rtsp://10.10.10.8:1234/39.mpg main warning: no access_demux module matching "rtsp" could be loaded main debug: creating access 'rtsp' path='10.10.10.8:1234/39.mpg' main debug: looking for access2 module: 5 candidates main debug: net: connecting to 10.10.10.8 port 1234 main debug: connection in progress What should i have to do now? Please kindly help me.Thank You All. -- Regards , Krishna Kishore. N , Ph: +91 9848668168 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070703/39a40df3/attachment.html From lartc at manchotnetworks.net Tue Jul 3 01:04:23 2007 From: lartc at manchotnetworks.net (lartc) Date: Tue, 03 Jul 2007 10:04:23 +0200 Subject: [Live-devel] forcing subtitles / merging subtitles into video stream Message-ID: <1183449863.3998.13.camel@sumatra.radius.fr> hi all, i have a dvd in spanish and need to force the english subtitles into the video stream for rendering clients that cannot pick out the subtitle ES in a TS ... is this possible ?? thanks :-) charles From tl11305 at salle.url.edu Tue Jul 3 01:54:50 2007 From: tl11305 at salle.url.edu (Ramon Martin de Pozuelo Genis) Date: Tue, 3 Jul 2007 10:54:50 +0200 (CEST) Subject: [Live-devel] Close On Demand Session from Server Message-ID: <1145.172.16.11.128.1183452890.squirrel@webmail.salle.url.edu> >However, if your intention is to stop streaming to dead clients, then >remember the "reclamationTestSeconds" parameter to >"RTSPServer::createNew()" - see "liveMedia/include/RTSPServer.hh". Thankyou very much Ross, but it is not exactly what I need. I am offering some services from my Web Service, and a manager will have to control all services offered. He can remove and add some broadcast and on-demand services on video server when he want. Do you know some way to implement a stop function for an on-demand session? Maybe send some kind of BYE message to client to stop playing? If I do "rtspServer->removeServerMediaSession(sms)" client that is playing continues it, but the worst thing is that if client does a stop and then play again it breaks down RTSPServer and my application. Is there any sense in it? Thanks in advence, Ramon From finlayson at live555.com Tue Jul 3 03:25:14 2007 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 3 Jul 2007 03:25:14 -0700 Subject: [Live-devel] forcing subtitles / merging subtitles into video stream In-Reply-To: <1183449863.3998.13.camel@sumatra.radius.fr> References: <1183449863.3998.13.camel@sumatra.radius.fr> Message-ID: >i have a dvd in spanish and need to force the english subtitles into the video >stream for rendering clients that cannot pick out the subtitle ES in a TS ... > >is this possible ?? No, not with the "LIVE555 Streaming Media" software (which is what this mailing list is for). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Jul 3 03:53:31 2007 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 3 Jul 2007 03:53:31 -0700 Subject: [Live-devel] Problem in RTSP Response In-Reply-To: References: Message-ID: > This is kishore from INDIA. we are >developing an MPEG2 Streaming server on windows. Did you consider using our RTSP server implementation? (If you had, you probably would have avoided your problem.) >Response: > >RTSP/1.0 200 OK >Server: Mpeg2StreamingServer >CSeq: 8 >Cache-Control: no-cache >Content-Length: 250 >Content-Type: application/sdp > >v=0 >o=Mpeg2StreamingServer -902530567 -902530567 IN IP4 > 10.10.10.8 >s=RTSP Session >u=http:/// >e=admin@ >c=IN IP4 0.0.0.0 >i=RTSP test >t=0 0 >a=tool:vlc 0.8.6a >a=range:npt=0- 41.00000 >m=video 0 RTP/AVP 32 >a=rtpmap:32 MPV/90000 >a=control:rtsp://10.10.10.8:1234/39.mpg/trackID=1 I think the "a=control:" line is the problem. It should be a=control:trackID=1 In any case, I suggest using our "openRTSP" command-line RTSP client to debug your server. (You will probably find this easier to use than VLC.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070703/a20ad0d4/attachment.html From rmcouat at smartt.com Tue Jul 3 19:55:05 2007 From: rmcouat at smartt.com (Ron McOuat) Date: Tue, 03 Jul 2007 19:55:05 -0700 Subject: [Live-devel] No ability to have directories under live555 Media Server Message-ID: <468B0C09.4050901@smartt.com> The docs say the file must be in the mediaServer process directory. Turning on debug mode and recompiling the package reveals the reason a subdirectory for media is not functional. A URL of the form rtsp:///content/testx.m4e will result in 404 errors. The devil is the URL if it starts out as rtsp:///testx.m4e (no content subdirectory) is modified later to include the track number to be something of the form rtsp:///testx.m4e/track1;seq=29023;rtptime=646689728 so initially testx.m4e is parsed out as urlSuffix during DESCRIBE and later becomes urlPreSuffix for SETUP and PLAY. If the URL has a subdirectory then the subdirectory becomes the preSuffix in the first stage and is lost for the file existence tests during session creation resulting in a 404 error and nothing futher is attempted. Tying to add subdirectories would mean a context sensitive parse of the URL would be needed along with preservation of the full file path in the session relative to the mediaServer directory. Also for Windows and possibly other systems the filesystem access would have to have path separator substitution. Probably I have missed aspects of this I do not yet understand. My question - is there any interest in changing this so subdirectories are allowed for the mediaServer? I could look at doing this but don't really have a desire to support my own fork of the live555 code because my belief is there are significant changes and testing required which assuming I perform this in an acceptable way could be given back to the project. I tested a workaround which would be to take the hierarchical name and flatten it by removing the / separator and adding a symlink to the mediaServer directory that points to the hierarchical name and then use a URL referring to the media using the flattened name. This may be an adequate solution in my case. Thanks for your consideration, Ron McOuat From finlayson at live555.com Tue Jul 3 22:10:26 2007 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 3 Jul 2007 22:10:26 -0700 Subject: [Live-devel] No ability to have directories under live555 Media Server In-Reply-To: <468B0C09.4050901@smartt.com> References: <468B0C09.4050901@smartt.com> Message-ID: >My question - is there any interest in changing this so subdirectories >are allowed for the mediaServer? This is a possible feature to add sometime in the future, but it's low-priority, because it would add nothing more than cosmetic functionality. (There are other far more important features that are higher-priority.) If you really want to keep your media files in a separate directory, then you can use symbolic links. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From donghoon.vanuytsel at esaturnus.com Wed Jul 4 05:15:29 2007 From: donghoon.vanuytsel at esaturnus.com (Dong Hoon Van Uytsel) Date: Wed, 04 Jul 2007 14:15:29 +0200 Subject: [Live-devel] one stream received on multiple multicast addresses Message-ID: <1183551329.5967.15.camel@localhost> Dear list members, I'm seeing the following strange behaviour using liveMedia: one stream to a certain multicast group is being received on other multicast addresses too, if the receiving host is member of the streamer's group too. Not sure whether this is due to configuration error of my linux hosts (Debian etch) or switch (D-Link DGS-1216T) - or is this even expected behavior? For instance, testMPEG1or2VideoReceiver.cpp:56 reads = "239.6.42.42"; and testMPEG1or2VideoStreamer.cpp:68 reads = "239.7.42.42"; SSM is not used. In this situation, testMPEG1or2VideoReceiver sees the stream sent by testMPEG1or2VideoStreamer as long as another process on the same host is listening on 239.6.42.42 . Best regards Dong Hoon From julian.lamberty at mytum.de Wed Jul 4 07:57:06 2007 From: julian.lamberty at mytum.de (Julian Lamberty) Date: Wed, 04 Jul 2007 16:57:06 +0200 Subject: [Live-devel] RTCP and synchronization Message-ID: <468BB542.1020905@mytum.de> Hi! As RTCP SR packets carry NTP ans RTP timestamps I would like to know how they are used to sync to streams. I found out that the RTP timestamp in the RTCP SR corresponds to the timevalue which the NTP timestamp indicates. But why can't I find the RTP timestamp in the packets of my videostream? For example I have (taken from wireshark): RTCP Sender Report: Arrival Time: Jul 2, 2007 14:34:00.669515000 MSW and LSW as NTP timestamp: Jul 2, 2007 12:27:10.3529 UTC RTP timestamp: 2965177770 But my video stream has timestamps beginning at higher values. RTP packet: Arrival Time: Jul 2, 2007 14:34:00.651933000 Timestamp: 3583401060 How do these times correspond to each other? What leads me to this problem is the question, how I can keep a video stream synchronised to an audio stream when I manipulate the video stream on its way to the final recipient (i.e. transcoding it)? When I send out the manipulated videoframes, they get a new RTP timestamp offset and the receiver will not be able to sync them to the unmanipulated audio stream...? From finlayson at live555.com Wed Jul 4 08:59:35 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 4 Jul 2007 08:59:35 -0700 Subject: [Live-devel] one stream received on multiple multicast addresses In-Reply-To: <1183551329.5967.15.camel@localhost> References: <1183551329.5967.15.camel@localhost> Message-ID: >For instance, testMPEG1or2VideoReceiver.cpp:56 reads > > = "239.6.42.42"; > >and testMPEG1or2VideoStreamer.cpp:68 reads > > = "239.7.42.42"; > >SSM is not used. > >In this situation, testMPEG1or2VideoReceiver sees the stream sent by >testMPEG1or2VideoStreamer as long as another process on the same host is >listening on 239.6.42.42 . This is a problem with some operating systems - if two or more receivers have joined different multicast groups, but using the same port number, then - on some operating systems - all received packets will be delivered to all receivers. To overcome this, use different port numbers as well as different multicast groups. (Remember, though, that for RTP, the port number should always be even.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Jul 4 09:09:38 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 4 Jul 2007 09:09:38 -0700 Subject: [Live-devel] RTCP and synchronization In-Reply-To: <468BB542.1020905@mytum.de> References: <468BB542.1020905@mytum.de> Message-ID: >As RTCP SR packets carry NTP ans RTP timestamps I would like to know how >they are used to sync to streams. As described in RFC 3550. > I found out that the RTP timestamp in >the RTCP SR corresponds to the timevalue which the NTP timestamp indicates. > >But why can't I find the RTP timestamp in the packets of my videostream? Because they're not useful to you. I'll say this yet again (and hopefully for the last time): Our RTP/RTCP implementation automatically computes synchronized presentation times using RTP timestamps and RTCP reports. Code that receives a RTP stream (using our library) should never have to look at RTP timestamps. Instead, just use the presentation time. If you are also using RTCP (which you should be), then the presentaton time *will* be properly synchronized. >What leads me to this problem is the question, how I can keep a video >stream synchronised to an audio stream when I manipulate the video >stream on its way to the final recipient (i.e. transcoding it)? Just make sure that frames of the transcoded stream get correct presentation times (and that you create a new "RTCPInstance" object for the new outgoing stream). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From donghoon.vanuytsel at esaturnus.com Wed Jul 4 11:55:24 2007 From: donghoon.vanuytsel at esaturnus.com (Dong Hoon Van Uytsel) Date: Wed, 4 Jul 2007 20:55:24 +0200 Subject: [Live-devel] one stream received on multiple multicast addresses In-Reply-To: References: <1183551329.5967.15.camel@localhost> Message-ID: <5AA2F0EC-E6CC-4FE8-82D9-EF8D0FEECC21@esaturnus.com> Op 4-jul-07, om 17:59 heeft Ross Finlayson het volgende geschreven: >> For instance, testMPEG1or2VideoReceiver.cpp:56 reads >> >> = "239.6.42.42"; >> >> and testMPEG1or2VideoStreamer.cpp:68 reads >> >> = "239.7.42.42"; >> >> SSM is not used. >> >> In this situation, testMPEG1or2VideoReceiver sees the stream sent by >> testMPEG1or2VideoStreamer as long as another process on the same >> host is >> listening on 239.6.42.42 . > > This is a problem with some operating systems - if two or more > receivers have joined different multicast groups, but using the same > port number, then - on some operating systems - all received packets > will be delivered to all receivers. > > To overcome this, use different port numbers as well as different > multicast groups. (Remember, though, that for RTP, the port number > should always be even.) Thank you Ross! I had already found that out by experimentation, but it is good to know this is a known work-around for linux. Best regards Dong Hoon From yang-m-h at 126.com Wed Jul 4 19:44:55 2007 From: yang-m-h at 126.com (yang-m-h at 126.com) Date: Thu, 5 Jul 2007 10:44:55 +0800 (CST) Subject: [Live-devel] When I ran "testOnDemandRTSPServer", It c annot work. What's wrong? Message-ID: <468C5B27.0000B5.25112@bj126app17.126.com> Dear Engineering, I use the testOnDemandRTSPServer to play the stream from a mpeg4 encoder. So I just modified the input file name to be the device I want to use. But the output is "open success
Unable to determine our source address: This computer has an invalid IP address:
0x0
Unable to determine our source address: This computer has an invalid IP address:
0x0
Command fault!
close success" It seems that the testOnDemandRTSPServer program call the device ioctl function. But I did not find where the function is called. expecting your letter! yours sincerely ? ? 150 ? ? ? ? ??? ? ? ? ? ? ? ? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070704/20143ee4/attachment.html From finlayson at live555.com Wed Jul 4 20:53:48 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 4 Jul 2007 20:53:48 -0700 Subject: [Live-devel] When I ran "testOnDemandRTSPServer", It c annot work. What's wrong? In-Reply-To: <468C5B27.0000B5.25112@bj126app17.126.com> References: <468C5B27.0000B5.25112@bj126app17.126.com> Message-ID: >"open success >Unable to determine our source address: This computer has an invalid >IP address: > 0x0 This error usually means that you do not have networking configured properly on your system. Does your computer have a network interface? Are you able to access it from other computers? (If you're on a Unix system, make sure that multicast is configured properly - i.e., make sure you have a route for 224.0.0/4. The code uses multicast loop-back as one method of finding your IP address.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From tl11305 at salle.url.edu Thu Jul 5 02:28:44 2007 From: tl11305 at salle.url.edu (Ramon Martin de Pozuelo Genis) Date: Thu, 5 Jul 2007 11:28:44 +0200 (CEST) Subject: [Live-devel] MPEG4 Audio Message-ID: <1277.172.16.11.128.1183627724.squirrel@webmail.salle.url.edu> Hi, I saw there are implemented classes to stream MPEG4 Audio based on RFC3016 (MPEG4LATMAudioRTPSink, MPEG4LATMAudioRTPSource). What kind of session may I use to create an on-demand service of this audio? Using this classes could I stream a MPEG4 elementary audio stream based on RFC3640? Thanks in advance, Ramon From finlayson at live555.com Thu Jul 5 02:42:05 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 5 Jul 2007 02:42:05 -0700 Subject: [Live-devel] MPEG4 Audio In-Reply-To: <1277.172.16.11.128.1183627724.squirrel@webmail.salle.url.edu> References: <1277.172.16.11.128.1183627724.squirrel@webmail.salle.url.edu> Message-ID: >I saw there are implemented classes to stream MPEG4 Audio based on RFC3016 >(MPEG4LATMAudioRTPSink, MPEG4LATMAudioRTPSource). What kind of session may I >use to create an on-demand service of this audio? You would need to write your own "MPEG4LATMAudioFileServerMediaSubsession" class. This should be easy to do (just use one of the existing "*FleServerMediaSubsession" classes as a model). > Using this classes could I >stream a MPEG4 elementary audio stream based on RFC3640? No, for RFC3640 audio streaming you would use the existing "ADTSAudioFileServerMediaSubsession" (and "ADTSAudioFileSource") classes. Note that the "live555MediaServer" application, and the demo "testOnDemandRTSPServer" application already stream ADTS-format MPEG-4 audio files using RFC3640. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From rjbrennn at gmail.com Thu Jul 5 13:55:38 2007 From: rjbrennn at gmail.com (Russell Brennan) Date: Thu, 5 Jul 2007 16:55:38 -0400 Subject: [Live-devel] MPEG2TransportStreamRTPSource and testMPEG2TSreceiver: not quite right... Message-ID: I am trying to make a "testMPEG2TSReceiver" executable that will receive MPEG2-TS streams, which I am playing using testMPEG2TransportStreamer. I think that this would be a solid addition to the test programs included with the library. I have started by using "testMPEG1or2VideoReceiver" as a template to build a TS receiver, and it appears that I will simply need to create a "MPEG2TransportStreamRTPSource" class to replace "MPEG1or2VideoRTPSource" with. Is this correct? Nothing else seems format-dependant. To create "MPEG2TransportStreamRTPSource" I used "MPEG1or2VideoRTPSource" as a template, but use "rtpPayloadFormat = 33" as the format type. This is where I get lost... I don't know what sBit, bBit, or eBit should be and if they should differ in my new class, or if I need to change anything else for that matter. Any help here would be much appreciated! -- Russell Brennan RJBrennn at gmail.com (708) 699-7314 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070705/54826cdc/attachment.html From xcsmith at rockwellcollins.com Thu Jul 5 16:31:52 2007 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Thu, 5 Jul 2007 18:31:52 -0500 Subject: [Live-devel] MPEG2TransportStreamRTPSource and testMPEG2TSreceiver: not quite right... Message-ID: Do you have a specific reason to not use openRTSP to receive transport streams? testMPEG2TransportStreamer has an optional RTSP server in it. I think instead of making MPEG2TransportStreamRTPSource, you should set up the chain like this: SimpleRTPSource -> MPEG2TransportStreamFramer -> FileSink xo -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070705/cc350195/attachment-0001.html From finlayson at live555.com Thu Jul 5 17:52:42 2007 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 5 Jul 2007 17:52:42 -0700 Subject: [Live-devel] MPEG2TransportStreamRTPSource and testMPEG2TSreceiver: not quite right... In-Reply-To: References: Message-ID: >Do you have a specific reason to not use openRTSP to receive >transport streams? testMPEG2TransportStreamer has an optional RTSP >server in it. > >I think instead of making MPEG2TransportStreamRTPSource, you should >set up the chain like this: > >SimpleRTPSource -> MPEG2TransportStreamFramer -> FileSink Actually, you won't need to insert a "MPEG2TransportStreamFramer", because its main purpose is to extract presentation times from the transport stream, and you won't need those if you're just outputting to a "FileSink". You can create a "RTPSource" for receiving a MPEG Transport/RTP stream by calling SimpleRTPSource::createNew(envir(), rtpGroupsock, 30, 90000, "video/MP2T", 0, False); -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070705/05495e2d/attachment.html From yang-m-h at 126.com Thu Jul 5 19:02:28 2007 From: yang-m-h at 126.com (yang-m-h at 126.com) Date: Fri, 6 Jul 2007 10:02:28 +0800 (CST) Subject: [Live-devel] In the "testOnDemandServer", where call th e device iocntl funtion? Message-ID: <468DA2B4.00001F.31757@bj126app17.126.com> Dear list menbers. I run the testOnDemandServer program to transfer the mpeg4 video stream from a encoding device.But the program seems to call the ioctl function than close the device.So I cannot see the realtime video. in what case, it will open the file and then call the control function,and then to close it. Thank for your help! Expecting for your letter! yours sincerely. 150 ? ? ? ? ? ? ? ? ??? ? ? ? ? ? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070705/68908560/attachment.html From donghoon.vanuytsel at esaturnus.com Fri Jul 6 01:07:14 2007 From: donghoon.vanuytsel at esaturnus.com (Dong Hoon Van Uytsel) Date: Fri, 06 Jul 2007 10:07:14 +0200 Subject: [Live-devel] minimum inter-packet delay Message-ID: <1183709234.25645.26.camel@localhost> Hello Ross & list, I have a linux application send uncompressed frames using the liveMedia library; with wireshark I'm measuring 17 microseconds between successive packets (sized 1490 bytes, of the same image frame) being sent, which boils down to instantaneous bandwidth consumption of 700 Mb/s. In this configuration, several packets are lost at some receivers. I've already tried increasing the UDP sending and receiving buffers - but this doesn't solve the packet loss. A temporary work-around seems to increase the interpacket gap to 30 microseconds by inserting a few fprintf()s in sendPacket() in RTPInterface.cpp. However, isn't there a cleaner solution to specify the minimum inter-packet gap in liveMedia? Best regards Dong Hoon Van Uytsel From finlayson at live555.com Fri Jul 6 01:22:41 2007 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 6 Jul 2007 01:22:41 -0700 Subject: [Live-devel] minimum inter-packet delay In-Reply-To: <1183709234.25645.26.camel@localhost> References: <1183709234.25645.26.camel@localhost> Message-ID: >I have a linux application send uncompressed frames using the liveMedia >library; with wireshark I'm measuring 17 microseconds between successive >packets (sized 1490 bytes, of the same image frame) being sent, which >boils down to instantaneous bandwidth consumption of 700 Mb/s. In this >configuration, several packets are lost at some receivers. I've already >tried increasing the UDP sending and receiving buffers - but this >doesn't solve the packet loss. > >A temporary work-around seems to increase the interpacket gap to 30 >microseconds by inserting a few fprintf()s in sendPacket() in >RTPInterface.cpp. However, isn't there a cleaner solution to specify the >minimum inter-packet gap in liveMedia? Are you setting the "fDurationInMicroseconds" variable correctly in whatever source object(s) feed into your "RTPSink" (or "BasicUDPSink") object? It's that variable that determines the (average) inter-packet gap. However, what is your data's bitrate *supposed* to be? If it really is supposed to be 700 Mbps, then you're not going to be able to increase the average inter-packet delay - it is what it is. Note that becuase the "LIVE555 Streaming Media" code is single-threaded code that simply reads sequentially from a socket, any packet loss that you see cannot be the fault of this code. Instead, it must be either actual network packet loss, or data loss (e.g., overflowing buffers) within your OS. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From donghoon.vanuytsel at esaturnus.com Fri Jul 6 01:50:30 2007 From: donghoon.vanuytsel at esaturnus.com (Dong Hoon Van Uytsel) Date: Fri, 06 Jul 2007 10:50:30 +0200 Subject: [Live-devel] minimum inter-packet delay In-Reply-To: References: <1183709234.25645.26.camel@localhost> Message-ID: <1183711830.25645.36.camel@localhost> On Fri, 2007-07-06 at 01:22 -0700, Ross Finlayson wrote: > >I have a linux application send uncompressed frames using the liveMedia > >library; with wireshark I'm measuring 17 microseconds between successive > >packets (sized 1490 bytes, of the same image frame) being sent, which > >boils down to instantaneous bandwidth consumption of 700 Mb/s. In this > >configuration, several packets are lost at some receivers. I've already > >tried increasing the UDP sending and receiving buffers - but this > >doesn't solve the packet loss. > > > >A temporary work-around seems to increase the interpacket gap to 30 > >microseconds by inserting a few fprintf()s in sendPacket() in > >RTPInterface.cpp. However, isn't there a cleaner solution to specify the > >minimum inter-packet gap in liveMedia? > > Are you setting the "fDurationInMicroseconds" variable correctly in > whatever source object(s) feed into your "RTPSink" (or > "BasicUDPSink") object? It's that variable that determines the > (average) inter-packet gap. yes, I think so (40000 us ; 25 fps). the _average_ inter-packet gap is what you would expect, but in effect the packets are not spaced evenly in time; they are sent in bursts. > > However, what is your data's bitrate *supposed* to be? If it really > is supposed to be 700 Mbps, then you're not going to be able to > increase the average inter-packet delay - it is what it is. the average data's bitrate is supposed to be 130Mbs. but the bitrate during "bursts" is 700Mbs (and zero in between), as measured with ethereal. it seems something in the network seems to have difficulties with this. > Note that becuase the "LIVE555 Streaming Media" code is > single-threaded code that simply reads sequentially from a socket, > any packet loss that you see cannot be the fault of this code. > Instead, it must be either actual network packet loss, or data loss > (e.g., overflowing buffers) within your OS. yes, it may be due to the switch or its configuration I'm using (D-Link DGS-1216T). i'll look into it further. thanks for your suggestions! Dong Hoon From rjbrennn at gmail.com Fri Jul 6 09:06:21 2007 From: rjbrennn at gmail.com (Russell Brennan) Date: Fri, 6 Jul 2007 12:06:21 -0400 Subject: [Live-devel] MPEG2TransportStreamRTPSource and testMPEG2TSreceiver: not quite right... In-Reply-To: References: Message-ID: On 7/5/07, Ross Finlayson wrote: > > Do you have a specific reason to not use openRTSP to receive transport > streams? testMPEG2TransportStreamer has an optional RTSP server in it. > > I think instead of making MPEG2TransportStreamRTPSource, you should set up > the chain like this: > > SimpleRTPSource -> MPEG2TransportStreamFramer -> FileSink > > > > Actually, you won't need to insert a "MPEG2TransportStreamFramer", because > its main purpose is to extract presentation times from the transport stream, > and you won't need those if you're just outputting to a "FileSink". > > > You can create a "RTPSource" for receiving a MPEG Transport/RTP stream by > calling > SimpleRTPSource::createNew(envir(), rtpGroupsock, 30, > 90000, "video/MP2T", 0, > False); > xcsmith, I am not using RTSP because I am actually integrating this into an existing software framework, and the openRTSP app seems to be much more functionalty than I want or need. I actually haven't really looked at the code though. Ross, I used a SimpleRTPSource::createNew(envir(), rtpGroupsock, 33, 90000, "video/MP2T", 0, False); source as you suggested, but with 33 as my payload type ( I believe this is what you meant). This worked right off the bat, but playing my captured stream back out to RTP and then playing the stream in VLC, I get a lot of intermittent video freezing, especially when my video (playing on loop) repeats at the beginning. However, using VLC to save this stream to file yields perfect playback when I open it up later in VLC. Very strange. This sounds like a VLC issue to me, do you concur or is there something that I might need to incorporate in order to get playback working smoothly? I can't imagine what data I might be missing that would cause VLC trouble with playing while capturing, but no trouble while capturing to file. ~Russell -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070706/d7dc20fb/attachment.html From shishir at birmiwal.net Fri Jul 6 09:19:58 2007 From: shishir at birmiwal.net (Shishir Birmiwal) Date: Fri, 6 Jul 2007 11:19:58 -0500 Subject: [Live-devel] MPEG2TransportStreamRTPSource and testMPEG2TSreceiver: not quite right... In-Reply-To: References: Message-ID: Russell, > Ross, I used a SimpleRTPSource::createNew(envir(), rtpGroupsock, 33, > 90000, "video/MP2T", 0, False); > source as you suggested, but with 33 as my payload type ( I believe this > is what you meant). This worked right off the bat, but playing my captured > stream back out to RTP and then playing the stream in VLC, I get a lot of > intermittent video freezing, especially when my video (playing on loop) > repeats at the beginning. However, using VLC to save this stream to file > yields perfect playback when I open it up later in VLC. > You may want to look at (or share) the debug messages generated by VLC. I get the picture that you are streaming the TS file out over RTP and then using VLC as a client. If you play back the captured stream (TS file) as a "file" in VLC, do you get the same kind of errors? This may help you isolate the fault. If you do get similar errors, then you may want to share the TS stream or the errors reported. Hope that helps. Cheers Shishir -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070706/929fde48/attachment-0001.html From zmax.linkedin at gmail.com Fri Jul 6 09:55:18 2007 From: zmax.linkedin at gmail.com (Massimo Zito) Date: Fri, 6 Jul 2007 18:55:18 +0200 Subject: [Live-devel] Trick play problem ... Message-ID: <92a42b330707060955i5930ffc9q46bc95d19d0d1dc2@mail.gmail.com> Hi everyone, I have a problem in trick play mode to play a TS resource by an RTSP session ... I have modified openRTSP to send PLAY with scale = 2.0 and I have realized that timestamps are always the same value .... After a deep study I have realized that: When MPEG2TransportFileServerMediaSubsession receive a setStreamScale, ClientTrickPlayState change framer source in MPEG2TransportStreamFromESSource. Doing this, MPEG2TransportStreamFromESSource has InputESSourceRecord that calculate presentation time and remember it in afterGettingFrame1 function ... I think that is correct to assign presentationTime to fParent.fPresentationTime ( related to MPEG2TransportStreamFromESSource ) ... Doing this I can see correct timestamps ... Is this work correct ? Regards Massimo Zito -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070706/99954ef0/attachment.html From rjbrennn at gmail.com Fri Jul 6 11:20:27 2007 From: rjbrennn at gmail.com (Russell Brennan) Date: Fri, 6 Jul 2007 14:20:27 -0400 Subject: [Live-devel] MPEG2TransportStreamRTPSource and testMPEG2TSreceiver: not quite right... In-Reply-To: References: Message-ID: Thanks, I get the following errors while playing the RTP stream via VLC... libdvbpsi error (PSI decoder): TS discontinuity (received 0, expected 5) for PID 0 libdvbpsi error (PSI decoder): TS discontinuity (received 0, expected 5) for PID 66 But I think this discontinuity occurs due to my video restarting at the beginning. I get no errors or warnings other than those, either playing my file or playing the RTP stream. While the video is frozen, I can see that RTP packets are being sent. Whether it is the fault of VLC that the video is freezing or if the RTP packets are malformed is beyond me. Is there a way that I can check the RTP packets to verify that their structure and header info is correct? Thanks, Russell On 7/6/07, Shishir Birmiwal wrote: > > Russell, > > > > Ross, I used a SimpleRTPSource::createNew(envir(), rtpGroupsock, 33, > > 90000, "video/MP2T", 0, False); > > source as you suggested, but with 33 as my payload type ( I believe this > > is what you meant). This worked right off the bat, but playing my captured > > stream back out to RTP and then playing the stream in VLC, I get a lot of > > intermittent video freezing, especially when my video (playing on loop) > > repeats at the beginning. However, using VLC to save this stream to file > > yields perfect playback when I open it up later in VLC. > > > > > You may want to look at (or share) the debug messages generated by VLC. I > get the picture that you are streaming the TS file out over RTP and then > using VLC as a client. If you play back the captured stream (TS file) as a > "file" in VLC, do you get the same kind of errors? This may help you isolate > the fault. If you do get similar errors, then you may want to share the TS > stream or the errors reported. > > Hope that helps. > > Cheers > Shishir > > > > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > > -- Russell Brennan RJBrennn at gmail.com (708) 699-7314 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070706/112e89ca/attachment.html From shishir at birmiwal.net Fri Jul 6 11:51:15 2007 From: shishir at birmiwal.net (Shishir Birmiwal) Date: Sat, 7 Jul 2007 00:21:15 +0530 Subject: [Live-devel] MPEG2TransportStreamRTPSource and testMPEG2TSreceiver: not quite right... In-Reply-To: References: Message-ID: Russell, I get the following errors while playing the RTP stream via VLC... > libdvbpsi error (PSI decoder): TS discontinuity (received 0, expected 5) > for PID 0 > libdvbpsi error (PSI decoder): TS discontinuity (received 0, expected 5) > for PID 66 > > But I think this discontinuity occurs due to my video restarting at the > beginning. I get no errors or warnings other than those, either playing my > file or playing the RTP stream. While the video is frozen, I can see that > RTP packets are being sent. Whether it is the fault of VLC that the video > is freezing or if the RTP packets are malformed is beyond me. Is there a > way that I can check the RTP packets to verify that their structure and > header info is correct? Thanks, > > Were you able to play the TS file in VLC as "file input"? If the file played correctly, then the problem is probably in the way they're streamed back out. If the file doesn't play correctly, then the problem could be with the way they're captured and written. You can try capturing the RTP stream using Wireshark (formerly Ethereal) and see if you can spot out any problems. Wireshark can help you analyze the RTP stream for missing packets, incorrect timestamps and bit-rates. The bit-rate analysis (Statistics->IO Graph) can help you identify any issues due to excessive/bursty transmission. It may be worthwhile to run a similar test on a working / non-working stream to identify any particular issues due to streaming. Cheers Shishir PS: Sometimes, you may have do a RightClick on a UDP packet and choose DecodeAs->RTP for it to identify packets as RTP. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070706/8cd17191/attachment.html From finlayson at live555.com Fri Jul 6 13:04:05 2007 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 6 Jul 2007 13:04:05 -0700 Subject: [Live-devel] MPEG2TransportStreamRTPSource and testMPEG2TSreceiver: not quite right... In-Reply-To: References: Message-ID: >Ross, I used a SimpleRTPSource::createNew(envir(), rtpGroupsock, 33, >90000, "video/MP2T", 0, False); >source as you suggested, but with 33 as my payload type ( I believe >this is what you meant). Yes - sorry. > This worked right off the bat, but playing my captured stream back >out to RTP and then playing the stream in VLC, I get a lot of >intermittent video freezing, especially when my video (playing on >loop) repeats at the beginning. Note that when MPEG Transport Stream data is streamed, its contents are not modified at all. Therefore, the data that you receive (using either a RTSP client, or your "testMPEG2TransportStreamReceiver" application) should be exactly the same as the original, provided that you don't encounter packet loss. Therefore, if you have trouble playing the received video, but not the original source video, then you are probably seeing packet loss. You may be able to overcome this by increasing your OS's socket reception buffer. (Enter "LIVE555 increaseReceiveBufferTo" into a search engine.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Fri Jul 6 13:08:16 2007 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 6 Jul 2007 13:08:16 -0700 Subject: [Live-devel] Trick play problem ... In-Reply-To: <92a42b330707060955i5930ffc9q46bc95d19d0d1dc2@mail.gmail.com> References: <92a42b330707060955i5930ffc9q46bc95d19d0d1dc2@mail.gmail.com> Message-ID: >Hi everyone, > >I have a problem in trick play mode to play a TS resource by an RTSP >session ... > >I have modified openRTSP to send PLAY with scale = 2.0 Are you using the latest version of the code (version 2007.07.01)? That version fixed a bug specifically related to scale == 2.0 > and I have realized that timestamps are always the same value .... > >After a deep study I have realized that: > >When MPEG2TransportFileServerMediaSubsession receive a >setStreamScale, ClientTrickPlayState change framer source in >MPEG2TransportStreamFromESSource. > >Doing this, MPEG2TransportStreamFromESSource has InputESSourceRecord >that calculate presentation time and remember it in >afterGettingFrame1 function ... > >I think that is correct to assign presentationTime to >fParent.fPresentationTime ( related to >MPEG2TransportStreamFromESSource ) ... > >Doing this I can see correct timestamps ... > >Is this work correct ? Could you please submit your proposed change as a patch file (e.g., generated with "diff -c"), so I can better understand what you are proposing? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From zmax.linkedin at gmail.com Fri Jul 6 15:33:47 2007 From: zmax.linkedin at gmail.com (Massimo Zito) Date: Sat, 7 Jul 2007 00:33:47 +0200 Subject: [Live-devel] Trick play problem ... In-Reply-To: References: <92a42b330707060955i5930ffc9q46bc95d19d0d1dc2@mail.gmail.com> Message-ID: <92a42b330707061533n3e00b127k4ba5d22c4023385f@mail.gmail.com> 2007/7/6, Ross Finlayson : > > >Hi everyone, > > > >I have a problem in trick play mode to play a TS resource by an RTSP > >session ... > > > >I have modified openRTSP to send PLAY with scale = 2.0 > > Are you using the latest version of the code (version 2007.07.01)? > That version fixed a bug specifically related to scale == 2.0 Yes .... I'm using the latest version ... > and I have realized that timestamps are always the same value .... > > > >After a deep study I have realized that: > > > >When MPEG2TransportFileServerMediaSubsession receive a > >setStreamScale, ClientTrickPlayState change framer source in > >MPEG2TransportStreamFromESSource. > > > >Doing this, MPEG2TransportStreamFromESSource has InputESSourceRecord > >that calculate presentation time and remember it in > >afterGettingFrame1 function ... > > > >I think that is correct to assign presentationTime to > >fParent.fPresentationTime ( related to > >MPEG2TransportStreamFromESSource ) ... > > > >Doing this I can see correct timestamps ... > > > >Is this work correct ? > > Could you please submit your proposed change as a patch file (e.g., > generated with "diff -c"), so I can better understand what you are > proposing? > -- *** MPEG2TransportStreamFromESSource.cpp 2007-07-01 11:16:05.000000000 +0200 --- MPEG2TransportStreamFromESSource.cpp.new 2007-07-06 18:45:01.000000000+0200 *************** *** 251,256 **** --- 251,258 ---- fInputBufferBytesAvailable += frameSize; + fParent.fPresentationTime = presentationTime; + // Now that we have new input data, check if we can deliver to the client: fParent.awaitNewBuffer(NULL); } what do you think about ? Massimo Ross Finlayson > Live Networks, Inc. > http://www.live555.com/ > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070706/e460a320/attachment.html From finlayson at live555.com Fri Jul 6 16:33:01 2007 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 6 Jul 2007 16:33:01 -0700 Subject: [Live-devel] Trick play problem ... In-Reply-To: <92a42b330707061533n3e00b127k4ba5d22c4023385f@mail.gmail.com> References: <92a42b330707060955i5930ffc9q46bc95d19d0d1dc2@mail.gmail.com> <92a42b330707061533n3e00b127k4ba5d22c4023385f@mail.gmail.com> Message-ID: >*** MPEG2TransportStreamFromESSource.cpp 2007-07-01 11:16:05.000000000 +0200 >--- MPEG2TransportStreamFromESSource.cpp.new 2007-07-06 >18:45:01.000000000 +0200 >*************** >*** 251,256 **** >--- 251,258 ---- > > fInputBufferBytesAvailable += frameSize; > >+ fParent.fPresentationTime = presentationTime; >+ > // Now that we have new input data, check if we can deliver to the client: > fParent.awaitNewBuffer(NULL); > } Thanks for reporting this. (I had not noticed this before because most clients that receive MPEG Transport Streams don't care about the RTP-timestamp-derived presentation time, because the Transport Stream has its own embedded timestamps.) This will get fixed in the next release of the software. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From k.sivareddy at gmail.com Sat Jul 7 04:11:32 2007 From: k.sivareddy at gmail.com (sivareddy kallam) Date: Sat, 7 Jul 2007 16:41:32 +0530 Subject: [Live-devel] Need help on Buffer pointer Message-ID: Hi, I am using live555 to get MPEG2 Transport Streams. I need help regarding the Buffer pointer. while i am receiveing MPEG2 Transport Stream, I am issuing playMediaSubsession & used Filesink to save on to file. I need the Buffer pointer instead of saving to file. Please help me regarding this. Thanks, Siva -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070707/86657060/attachment.html From rjbrennn at gmail.com Sat Jul 7 06:15:34 2007 From: rjbrennn at gmail.com (Russell Brennan) Date: Sat, 07 Jul 2007 09:15:34 -0400 Subject: [Live-devel] Need help on Buffer pointer In-Reply-To: References: Message-ID: <468F91F6.2020008@gmail.com> An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070707/9811654f/attachment.html From finlayson at live555.com Sat Jul 7 06:49:32 2007 From: finlayson at live555.com (Ross Finlayson) Date: Sat, 7 Jul 2007 06:49:32 -0700 Subject: [Live-devel] Need help on Buffer pointer In-Reply-To: References: Message-ID: >Hi, >I am using live555 to get MPEG2 Transport Streams. >I need help regarding the Buffer pointer. >while i am receiveing MPEG2 Transport Stream, I am issuing >playMediaSubsession & used Filesink to save on to file. >I need the Buffer pointer instead of saving to file. Then you would need to write your own "MediaSink" subclass to use instead of "FileSink". Your new "MediaSink" subclass would (presumably) process incoming data instead of writing it to a file. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From pjf at cape.com Sun Jul 8 06:01:41 2007 From: pjf at cape.com (pjf at cape.com) Date: Sun, 8 Jul 2007 09:01:41 -0400 (EDT) Subject: [Live-devel] Getting Status Message-ID: <33181.75.67.164.28.1183899701.squirrel@email.cape.com> Hi to all, Im new to the list, and this may have been answered elsewhere, so I aplogize if this is a repeat. I have a streaming server, and some others that I look into (hosted elsewhere). I would like to grab the info that is generated from openRTSP, eg DESCRIBE. I don't really need the actual stream so something like : openRTSP -r rtsp://stream.name:9999/path/to/stream.rm returns the SDP info that I'm interested in. As you can see from the example command above, some of the streams are of the 'Real' type, and don't actually capture, but the info i'd like to capture does come across the terminal .... I'm not concerned with the content, just being able to capture/pipe the output of the SDP description, so I can determine the streams activity/status using a script (bash/perl) or grep out a specific line. I suspect this would be a trivial change to the source, I'm just not a great c programmer, and need some direction, and pointers .... I think this would make a good tool, to be able to detect live streams, and be able to add a 'live' indicator on a web page ... This way the web page could list a bunch of live streams that you're interested in, and toggle an indicator if it actually is up and broadcasting .... Thanks -PeteF From finlayson at live555.com Sun Jul 8 09:35:40 2007 From: finlayson at live555.com (Ross Finlayson) Date: Sun, 8 Jul 2007 09:35:40 -0700 Subject: [Live-devel] Getting Status In-Reply-To: <33181.75.67.164.28.1183899701.squirrel@email.cape.com> References: <33181.75.67.164.28.1183899701.squirrel@email.cape.com> Message-ID: >I have a streaming server, and some others that I look into (hosted >elsewhere). I would like to grab the info that is generated from >openRTSP, eg DESCRIBE. I don't really need the actual stream so something >like : >openRTSP -r rtsp://stream.name:9999/path/to/stream.rm >returns the SDP info that I'm interested in. As you can see from the >example command above, some of the streams are of the 'Real' type, and >don't actually capture, but the info i'd like to capture does come across >the terminal .... > >I'm not concerned with the content, just being able to capture/pipe the >output of the SDP description, so I can determine the streams >activity/status using a script (bash/perl) or grep out a specific line. > >I suspect this would be a trivial change to the source, I'm just not a >great c programmer, and need some direction, and pointers .... There's currently no option in the "openRTSP" application for just doing the "DESCRIBE" operation. However, you could easily modify the code to do this, by adding shutdown(); immediately after *env << "Opened URL \"" << url << "\", returning a SDP description:\n" << sdpDescription << "\n"; (line 505) in "testProgs/playCommon.cpp". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From pjf at cape.com Sun Jul 8 17:41:49 2007 From: pjf at cape.com (pjf at cape.com) Date: Sun, 8 Jul 2007 20:41:49 -0400 (EDT) Subject: [Live-devel] Getting Status In-Reply-To: References: <33181.75.67.164.28.1183899701.squirrel@email.cape.com> Message-ID: <34052.75.67.164.28.1183941709.squirrel@email.cape.com> Thanks, that is part of the answer, now for the trickier part. it appears the output is direct to the console, in that I can't pipe it anywhere. Is this correct ? is there a way to get the SDP information optimally to STDOUT? or at least a file ??? Thanks -Pete >>I have a streaming server, and some others that I look into (hosted >>elsewhere). I would like to grab the info that is generated from >>openRTSP, eg DESCRIBE. I don't really need the actual stream so >> something >>like : >>openRTSP -r rtsp://stream.name:9999/path/to/stream.rm >>returns the SDP info that I'm interested in. As you can see from the >>example command above, some of the streams are of the 'Real' type, and >>don't actually capture, but the info i'd like to capture does come across >>the terminal .... >> >>I'm not concerned with the content, just being able to capture/pipe the >>output of the SDP description, so I can determine the streams >>activity/status using a script (bash/perl) or grep out a specific line. >> >>I suspect this would be a trivial change to the source, I'm just not a >>great c programmer, and need some direction, and pointers .... > > There's currently no option in the "openRTSP" application for just > doing the "DESCRIBE" operation. However, you could easily modify the > code to do this, by adding > shutdown(); > immediately after > *env << "Opened URL \"" << url > << "\", returning a SDP description:\n" << sdpDescription << > "\n"; > (line 505) in "testProgs/playCommon.cpp". > -- > > 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 pjf at cape.com Sun Jul 8 19:35:11 2007 From: pjf at cape.com (pjf at cape.com) Date: Sun, 8 Jul 2007 22:35:11 -0400 (EDT) Subject: [Live-devel] Getting Status In-Reply-To: <34052.75.67.164.28.1183941709.squirrel@email.cape.com> References: <33181.75.67.164.28.1183899701.squirrel@email.cape.com> <34052.75.67.164.28.1183941709.squirrel@email.cape.com> Message-ID: <32893.75.67.164.28.1183948511.squirrel@email.cape.com> figured it out needed to add #include and before the shutdown printf ( "%s \n" , sdpDescription ); This gets me the description into stdout and I can pipe grep etc .. Thanks for the pointers -Pete > Thanks, that is part of the answer, now for the trickier part. > > it appears the output is direct to the console, in that I can't pipe it > anywhere. Is this correct ? is there a way to get the SDP information > optimally to STDOUT? or at least a file ??? > > Thanks > -Pete > > >>>I have a streaming server, and some others that I look into (hosted >>>elsewhere). I would like to grab the info that is generated from >>>openRTSP, eg DESCRIBE. I don't really need the actual stream so >>> something >>>like : >>>openRTSP -r rtsp://stream.name:9999/path/to/stream.rm >>>returns the SDP info that I'm interested in. As you can see from the >>>example command above, some of the streams are of the 'Real' type, and >>>don't actually capture, but the info i'd like to capture does come >>> across >>>the terminal .... >>> >>>I'm not concerned with the content, just being able to capture/pipe the >>>output of the SDP description, so I can determine the streams >>>activity/status using a script (bash/perl) or grep out a specific line. >>> >>>I suspect this would be a trivial change to the source, I'm just not a >>>great c programmer, and need some direction, and pointers .... >> >> There's currently no option in the "openRTSP" application for just >> doing the "DESCRIBE" operation. However, you could easily modify the >> code to do this, by adding >> shutdown(); >> immediately after >> *env << "Opened URL \"" << url >> << "\", returning a SDP description:\n" << sdpDescription << >> "\n"; >> (line 505) in "testProgs/playCommon.cpp". >> -- >> >> 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 rajeshkumar.r at imimobile.com Sun Jul 8 23:25:01 2007 From: rajeshkumar.r at imimobile.com (rajesh) Date: Mon, 9 Jul 2007 11:55:01 +0530 Subject: [Live-devel] unsupported Transport Message-ID: <008301c7c1f1$e14b8350$6902000a@imidomain.com> Hi Ross when I an trying to connect one rtsp server.I am getting the Error "RTSP/1.0 461 Unsupported transport". SetUp Method is SETUP rtsp://10.0.2.105/test.3gp RTSP/1.0 CSeq: 3 Transport:RTP/AVP;unicast;client_port=5050 can u plz suggest me wher am i wrong Thanks in Advance. ###########################################################LOGS########################################## Connecting 57 DESCRIBE rtsp://10.0.2.105/test.3gp RTSP/1.0 CSeq: 1 Bytes Send57 ##################################### RTSP/1.0 200 OK CSeq: 1 Date: Mon, 09 Jul 2007 06:21:13 GMT Set-Cookie: cbid=qfdgjmfiijiklldmeooolultrrjrktlufkhjkielhjjkklplmnkrqpnqermsktnuhfhjihji;path=/;expires=Thu,31-Dec-2037 23:59:59 GMT vsrc: http://10.0.2.105:80/viewsource/template.html?nuyhtgt9uuz6hAhwxg7zDD8gBek4r48j5Ds7Eb7uD6wvyt6c Last-Modified: Fri, 05 Jan 2007 05:57:20 GMT Content-base: rtsp://10.0.2.105/test.3gp/ Vary: User-Agent, ClientID Content-type: application/sdp x-real-usestrackid: 1 Content-length: 1609 v=0 o=- 1167976640 1167976640 IN IP4 10.0.2.105 s= i= c=IN IP4 0.0.0.0 t=0 0 a=SdpplinVersion:1610641560 a=StreamCount:integer;2 a=control:* a=DefaultLicenseValue:integer;0 a=FileType:string;"MPEG4" a=LicenseKey:string;"license.Summary.Datatypes.RealMPEG4.Enabled" a=range:npt=0-62.400000 a=mpeg4-iod:"data:application/mpeg4-iod;base64,AoIrAE////4I/wOBNgABQJhkYXRhOmFwcGxpY2F0aW9uL21wZWc0LW9kLWF1O2Jhc2U2NCxBVlFCS0FVZkF5UUF5UUFFRFNBUkFCSjFBQUNUcUFBQWs2Z0dFQUJFQUFGZmtBQUJYNUFnQUFBQUFBTUJLQ UtmQXlRQVpRQUVEY2NWQUFBQUFBQUFBQUFBQUFBR0VBQkVBQUFmUUFBQlg1QWdBQUFBQUFNPQQNAQUAAMgAAAAAAAAAAAYJAQAAAAAAAAAAA2kAAkBGZGF0YTphcHBsaWNhdGlvbi9tcGVnNC1iaWZzLWF1O2Jhc2U2NCx3QkFTZ1RBcUJXMG1FRUg4QUFBQi9BQUFCR UtDS0NuNAQSAg0AACAAAAAAAAAAAAUDAABABgkBAAAAAAAAAAA=" m=video 0 RTP/AVP 96 b=AS:36 b=RR:1368 b=RS:456 a=control:streamid=65335 a=range:npt=0-62.400000 a=length:npt=62.400000 a=rtpmap:96 MP4V-ES/90000 a=fmtp:96 profile-level-id=8; config=000001B008000001B50EA020202F000001000000012000C788BA9850584121463F a=mimetype:string;"video/MP4V-ES" a=Helix-Adaptation-Support:1 a=AvgBitRate:integer;36493 a=HasOutOfOrderTS:integer;1 a=Height:integer;144 a=Width:integer;176 a=cliprect:0,0,144,176 a=mpeg4-esid:201 a=x-envivio-verid:00035A30 m=audio 0 RTP/AVP 97 b=AS:13 b=RR:481 b=RS:160 a=control:streamid=65435 a=range:npt=0-62 a=length:npt=62 a=rtpmap:97 AMR/8000 a=fmtp:97 octet-align=1 a=mimetype:string;"audio/AMR" a=Helix-Adaptation-Support:1 a=AvgBitRate:integer;12840 a=HasOutOfOrderTS:integer;1 a=mpeg4-esid:101 a=x-envivio-verid:00035A30 ####################################### OPTIONS rtsp://10.0.2.105/test.3gp RTSP/1.0 CSeq: 2 Bytes Send56 ##################################### RTSP/1.0 200 OK CSeq: 2 Date: Mon, 09 Jul 2007 06:21:13 GMT Server: Helix Server Version 11.0.1.1884 (win32) (RealServer compatible) Public: OPTIONS, DESCRIBE, ANNOUNCE, PLAY, SETUP, GET_PARAMETER, SET_PARAMETER, TEARDOWN TurboPlay: 1 RealChallenge1: 2fda22e1d5d961b201fcde5ac730cb8a StatsMask: 8 ####################################### SETUP rtsp://10.0.2.105/test.3gp RTSP/1.0 CSeq: 3 Transport:RTP/AVP;unicast;client_port=5050 Bytes Send98 ##################################### RTSP/1.0 461 Unsupported transport CSeq: 3 Date: Mon, 09 Jul 2007 06:21:13 GMT ####################################### PLAY rtsp://10.0.2.105/test.3gp RTSP/1.0 CSeq: 4 Session: 0 Bytes Send65 ##################################### RTSP/1.0 455 Method Not Valid in This State CSeq: 4 Date: Mon, 09 Jul 2007 06:21:13 GMT Allow: OPTIONS, DESCRIBE, SETUP, ANNOUNCE, TEARDOWN, GET_PARAMETER, SET_PARAMETER ####################################### Sendto function of Socket failed to send the Data 10049 Rajesh Kumar Software Enginner Cont-9908400027 NOTE: mobile not in use in office time. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070708/e05c0e8a/attachment-0001.html From finlayson at live555.com Mon Jul 9 02:11:03 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 9 Jul 2007 02:11:03 -0700 Subject: [Live-devel] Getting Status In-Reply-To: <34052.75.67.164.28.1183941709.squirrel@email.cape.com> References: <33181.75.67.164.28.1183899701.squirrel@email.cape.com> <34052.75.67.164.28.1183941709.squirrel@email.cape.com> Message-ID: >it appears the output is direct to the console, in that I can't pipe it >anywhere. Is this correct ? is there a way to get the SDP information >optimally to STDOUT? or at least a file ??? The diagnostic information (including the SDP description) is output to stderr. You can redirect/pipe that. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From zmax.linkedin at gmail.com Mon Jul 9 02:12:35 2007 From: zmax.linkedin at gmail.com (Massimo Zito) Date: Mon, 9 Jul 2007 11:12:35 +0200 Subject: [Live-devel] MPEG2TransportFileServerMediaSubsession seekStream ... Message-ID: <92a42b330707090212y9d189c4nf0153daa63645ecf@mail.gmail.com> Hi Ross, when I send a seek ( RTSP ) for a TS file ( handled by MPEG2TransportFileServerMediaSubsession ), MPEG2TransportStreamFramer doesn't estimate TS packet duration correctly ... I have found a workaround ... *** live/liveMedia/include/MPEG2TransportStreamFramer.hh 2007-07-01 11:16:05.000000000 +0200 --- live_new/liveMedia/include/MPEG2TransportStreamFramer.hh 2007-07-09 11:38:50.000000000 +0200 *************** *** 40,45 **** --- 40,47 ---- void changeInputSource(FramedSource* newInputSource) { fInputSource = newInputSource; } + void clearPidStatusTable(); + protected: MPEG2TransportStreamFramer(UsageEnvironment& env, FramedSource* inputSource); // called only by createNew() *** live/liveMedia/MPEG2TransportStreamFramer.cpp 2007-07-01 11:16: 05.000000000 +0200 --- live_new/liveMedia/MPEG2TransportStreamFramer.cpp 2007-07-09 11:43: 09.000000000 +0200 *************** *** 70,75 **** --- 70,83 ---- delete fPIDStatusTable; } + void MPEG2TransportStreamFramer::clearPidStatusTable() + { + PIDStatus* pidStatus; + while ((pidStatus = (PIDStatus*)fPIDStatusTable->RemoveNext()) != NULL) { + delete pidStatus; + } + } + void MPEG2TransportStreamFramer::doGetNextFrame() { // Read directly from our input source into our client's buffer: fFrameSize = 0; *** live/liveMedia/MPEG2TransportFileServerMediaSubsession.cpp 2007-07-01 11:16:05.000000000 +0200 --- live_new/liveMedia/MPEG2TransportFileServerMediaSubsession.cpp 2007-07-09 11:41:48.000000000 +0200 *************** *** 275,280 **** --- 275,282 ---- // Note: We assume that we're asked to seek only in normal // (i.e., non trick play) mode, so we don't seek within the trick // play source (if any). + + fFramer->clearPidStatusTable(); } } Is this work correct ? Thank you Massimo -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070709/90c530aa/attachment.html From finlayson at live555.com Mon Jul 9 02:12:19 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 9 Jul 2007 02:12:19 -0700 Subject: [Live-devel] unsupported Transport In-Reply-To: <008301c7c1f1$e14b8350$6902000a@imidomain.com> References: <008301c7c1f1$e14b8350$6902000a@imidomain.com> Message-ID: This is a problem with your server, not with our RTSP client code. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From wyt-1981 at 163.com Mon Jul 9 02:32:52 2007 From: wyt-1981 at 163.com (Wei Yutao) Date: Mon, 9 Jul 2007 17:32:52 +0800 (CST) Subject: [Live-devel] using live555 library as a streaming server Message-ID: <1709334220.799391183973572511.JavaMail.coremail@bj163app106.163.com> Hi everyone, I want to use live555 streaming Media library as a streaming server and I have serveral questions: (1) Can the live555 library be used in a practical application, for example, a VoD system, as a streaming server? Can the streaming server runstably for normal use? (2) I know that currently the server can stream mpeg-4 elementary stream and want to know further: a) do the company have the plan to make the library support streaminga mpeg-4 file including audio and video; b) is it possible for myself to modify the code to make it have this functionality? If it is possible, what should I do? Thank you very much. -------- Austin -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070709/a7e7c6a3/attachment.html From finlayson at live555.com Mon Jul 9 06:56:08 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 9 Jul 2007 06:56:08 -0700 Subject: [Live-devel] using live555 library as a streaming server In-Reply-To: <1709334220.799391183973572511.JavaMail.coremail@bj163app106.163.com> References: <1709334220.799391183973572511.JavaMail.coremail@bj163app106.163.com> Message-ID: >(1) Can the live555 library be used in a practical application, for example, a > >VoD system, as a streaming server? Can the streaming server run >stably for normal use? Of course. For example, our "LIVE555 Media Server" application: http://www.live555.com/mediaServer/ >(2) I know that currently the server can stream mpeg-4 elementary stream > >and want to know further: > > a) do the company have the plan to make the library support streaming >a mpeg-4 file including audio and video; Yes, but there I can't estimate when this might be available. > > b) is it possible for myself to modify the code Of course. This code is Open Source. ps. Please don't ever send the same email to the mailing list more than once. This is your last warning. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From Chen.Li2 at boeing.com Mon Jul 9 14:02:26 2007 From: Chen.Li2 at boeing.com (Li, Chen) Date: Mon, 9 Jul 2007 14:02:26 -0700 Subject: [Live-devel] RTSP Player Client Message-ID: Hi, Does anyone have a recommendation on what to use to test/utilize "trick" play functionality? I have tried VLC but that "cheats" by fast forwaring within its own buffer whereas I am looking for a client that will actually use rtsp to send and confirm receipt of the trick play commands such as fast forward and rewind. I have tried mplayer as well with little success and it seems to sputter and crash when there are lost packets while playing a transport stream. Any recommendations would be really appreciated. Thanks! From finlayson at live555.com Mon Jul 9 15:07:43 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 9 Jul 2007 15:07:43 -0700 Subject: [Live-devel] RTSP Player Client In-Reply-To: References: Message-ID: >Does anyone have a recommendation on what to use to test/utilize "trick" >play functionality? I have tried VLC but that "cheats" by fast >forwaring within its own buffer whereas I am looking for a client that >will actually use rtsp to send and confirm receipt of the trick play >commands such as fast forward and rewind. The VLC developers tell me that they are currently working on adding proper RTSP 'trick play' support to the VLC client, and that they should be releasing this soon. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Mon Jul 9 21:56:49 2007 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 9 Jul 2007 21:56:49 -0700 Subject: [Live-devel] MPEG2TransportFileServerMediaSubsession seekStream ... In-Reply-To: <92a42b330707090212y9d189c4nf0153daa63645ecf@mail.gmail.com> References: <92a42b330707090212y9d189c4nf0153daa63645ecf@mail.gmail.com> Message-ID: Massimo, Thanks for the suggestion. I have added this - and your previous suggested modification - to a new release (2007.07.10) of the "LIVE555 Streaming Media" software, available now. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From hpmail75 at googlemail.com Tue Jul 10 06:12:29 2007 From: hpmail75 at googlemail.com (Hans Peter) Date: Tue, 10 Jul 2007 15:12:29 +0200 Subject: [Live-devel] Sample code in LGPL Message-ID: Hi Ross, Your LIVE555 Streaming Media library is LGPL, and that is really great! Thanks so much. I noticed, however, that the sample code also has the LGPL note in the source files. I want to use your library in a project that is not open source, so I put the whole library into a Mac OS X .framework and link to it dynamically. This works well, and I could then release the source code for the framework if anyone asks. The problem is that the code that calls into the framework is based on the sample code, with some of the functions (initialization etc.) being really identical to the sample code; I'm afraid this appears to be against the LGPL requirement of not directly linking against LGPL code. I could now write another abstraction layer on top of the sample code and put the modified sample code into the framework. It would be much easier, though, if you could release the sample code as public domain, without the LGPL restrictions. Is there any chance of that happening? Thanks, hp From gundam at metarete.it Tue Jul 10 07:10:35 2007 From: gundam at metarete.it (Fabio Zeri) Date: Tue, 10 Jul 2007 16:10:35 +0200 Subject: [Live-devel] Linux Client vs Windows Server: Failed to get a SDP description from URL Message-ID: <1184076635.14801.14634.camel@gundam.metarete.lan> I am trying to connect with mplayer (1.0rc1) compiled with liveMedia (2007.07.01) support to a rtsp windows server unsuccessfully. I have already tried to connect to with vlc and with openRTSP but connection always fails with the same debug error: ==] CUT HERE [== Failed to get a SDP description from URL "rtsp://aliceliverossoalice1.alice.cdn.interbusiness.it/alicelive1?WMThinning=0": Failed to read response: Success ==] CUT HERE [== The same URL works fine with Windows Media Player 9. Could this be a mismatch protocol issue from server or from stream library? Here a give you a more verbose log from mplayer: ==] CUT HERE [== ... Playing rtsp://aliceliverossoalice1.alice.cdn.interbusiness.it/alicelive1?WMThinning=0. get_path('sub/') -> '/root/.mplayer/sub/' STREAM_RTSP, URL: rtsp://aliceliverossoalice1.alice.cdn.interbusiness.it/alicelive1?WMThinning=0 Filename for url is now rtsp://aliceliverossoalice1.alice.cdn.interbusiness.it/alicelive1?WMThinning=0 Filename for url is now rtsp://aliceliverossoalice1.alice.cdn.interbusiness.it/alicelive1?WMThinning=0 Resolving aliceliverossoalice1.alice.cdn.interbusiness.it for AF_INET... Connecting to server aliceliverossoalice1.alice.cdn.interbusiness.it[80.20.4.72]: 554... librtsp: server responds: '??' Filename for url is now rtsp://aliceliverossoalice1.alice.cdn.interbusiness.it/alicelive1?WMThinning=0 Filename for url is now rtsp://aliceliverossoalice1.alice.cdn.interbusiness.it/alicelive1?WMThinning=0 STREAM_LIVE555, URL: rtsp://aliceliverossoalice1.alice.cdn.interbusiness.it/alicelive1?WMThinning=0 STREAM: [RTSP and SIP] rtsp://aliceliverossoalice1.alice.cdn.interbusiness.it/alicelive1?WMThinning=0 STREAM: Description: standard RTSP and SIP STREAM: Author: Ross Finlayson STREAM: Comment: Uses LIVE555 Streaming Media library. s->pos=0 newpos=0 new_bufpos=0 buflen=0 Stream not seekable! file format detected. Sending request: DESCRIBE rtsp://aliceliverossoalice1.alice.cdn.interbusiness.it/alicelive1?WMThinning=0 RTSP/1.0 CSeq: 1 Accept: application/sdp User-Agent: MPlayer (LIVE555 Streaming Media v2007.07.01) Failed to get a SDP description from URL "rtsp://aliceliverossoalice1.alice.cdn.interbusiness.it/alicelive1?WMThinning=0": Failed to read response: Success DEMUXER: freeing demuxer at 0x8902840 ==] CUT HERE [== Many thanks in advance. Bye -- ing. Fabio Zeri -- [ Metarete - X Service Provider - Soluzioni in rete ] http://www.metarete.it - gundam at metarete.it Tel: +39 0372 432228 - Fax: +39 0372 590617 From xcsmith at rockwellcollins.com Tue Jul 10 11:32:26 2007 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Tue, 10 Jul 2007 13:32:26 -0500 Subject: [Live-devel] MPEG2TransportStreamRTPSource and testMPEG2TSreceiver: not quite right... Message-ID: Actually, you won't need to insert a "MPEG2TransportStreamFramer", because its main purpose is to extract presentation times from the transport stream, and you won't need those if you're just outputting to a "FileSink". Re: Doesn't MPEG2TransportStreamFramer also check for sync bytes in the data before passing the data forward? Is it useful in that sense? xochitl -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070710/fa153fba/attachment.html From stondage123 at yahoo.com Tue Jul 10 15:34:28 2007 From: stondage123 at yahoo.com (Andrew Stone) Date: Tue, 10 Jul 2007 15:34:28 -0700 (PDT) Subject: [Live-devel] index files and mpeg2 ts Message-ID: <20070710223428.85927.qmail@web35909.mail.mud.yahoo.com> Hi All, I am currently trying to play a scaled mpeg2 ts stream in vlc that I got originally from a dvd, and have gotten a multitude of errors. The original ts stream plays fine. I then scale the ts stream with index files using some live555 code. I believe this is correct, but vlc will not play the resulting stream. Any help would be appreciated. The commands I used and the errors are listed below along with some comments. Thanks, Andrew //Create a ts file from the dvd vlc dvdsimple:///media/cdrom0 --sout '#standard{access=file,mux=ts,dst=dvd.ts}}' //Successful playing vlc dvd.ts //generate an index file using live555 code (output dvd.tsx) live/testProgs/MPEG2TransportStreamIndexer dvd.ts //create a ts stream that is scaled by a factor of 2 (aka play twice as fast) -- output file dvd2.ts live/testProgs/testMPEG2TransportStreamTrickPlay dvd.ts 0 2 dvd2.ts //Errors playing dvd2.ts $ vlc -vvv dvd2.ts VLC media player 0.9.0-svn Grishenko [00000001] main libvlc debug: checking builtin modules [00000001] main libvlc debug: checking plugin modules [00000001] main libvlc debug: loading plugins cache file /home/astone/.vlc/cache/plugins-04081e.dat [00000001] main libvlc debug: recursively browsing `modules' [00000001] main libvlc debug: recursively browsing `/usr/local/lib/vlc' [00000001] main libvlc warning: cannot load module `/usr/local/lib/vlc/codec/libffmpeg_plugin.so' (/usr/local/lib/vlc/codec/libffmpeg_plugin.so: undefined symbol: avcodec_decode_audio2) [00000001] main libvlc debug: recursively browsing `plugins' [00000001] main libvlc debug: module bank initialized, found 223 modules [00000001] main libvlc debug: opening config file (/home/astone/.vlc/vlcrc) [00000001] main libvlc debug: CPU has capabilities 486 586 MMX MMXEXT SSE SSE2 FPU [00000001] main libvlc debug: looking for memcpy module: 3 candidates [00000001] main libvlc debug: using memcpy module "memcpymmxext" [00000295] main playlist error: Reloading playlist not implemented. [00000296] main private debug: waiting for thread completion [00000296] main private debug: thread 1090525504 (preparser) created at priority 0 (playlist/thread.c:81) [00000297] main private debug: waiting for thread completion [00000297] main private debug: thread 1098918208 (fetcher) created at priority 0 (playlist/thread.c:107) [00000295] main playlist debug: waiting for thread completion [00000295] main playlist debug: rebuilding array of current - root Playlist [00000295] main playlist debug: rebuild done - 0 items, index -1 [00000295] main playlist debug: thread 1107310912 (playlist) created at priority 0 (playlist/thread.c:117) [00000298] main interface debug: looking for interface module: 1 candidate [00000298] main interface debug: using interface module "hotkeys" [00000298] main interface debug: thread 1115703616 (interface) created at priority 0 (interface/interface.c:218) [00000300] main interface debug: looking for interface module: 1 candidate [00000300] main interface debug: using interface module "screensaver" [00000300] main interface debug: thread 1124096320 (interface) created at priority 0 (interface/interface.c:218) [00000295] main playlist debug: adding item `dvd2.ts' ( dvd2.ts ) [00000302] main interface debug: looking for interface module: 3 candidates [00000302] main interface debug: using interface module "wxwidgets" [00000302] wxwidgets interface debug: Using last windows config '(-1,0,0,1680,1050)(0,839,248,720,655)(6,0,0,-1,150)' [00000302] wxwidgets interface debug: id=0 p=(839,248) s=(720,655) [00000302] wxwidgets interface debug: id=6 p=(0,0) s=(-1,150) [00000295] main playlist debug: rebuilding array of current - root Playlist [00000295] main playlist debug: rebuild done - 1 items, index -1 [00000295] main playlist debug: starting new item [00000295] main playlist debug: changing item without a request (current -1/1) [00000295] main playlist debug: using item 0 [00000295] main playlist debug: creating new input thread [00000305] main input debug: waiting for thread completion [00000305] main input debug: `dvd2.ts' gives access `' demux `' path `dvd2.ts' [00000305] main input debug: creating demux: access='' demux='' path='dvd2.ts' [00000306] main demuxer debug: looking for access_demux module: 1 candidate [00000305] main input debug: creating access '' path='dvd2.ts' [00000308] main access debug: looking for access2 module: 4 candidates [00000308] vcd access debug: trying .cue file: dvd2.cue [00000308] vcd access debug: could not find .cue file [00000308] access_directory access debug: opening directory `dvd2.ts' [00000308] access_directory access debug: skipping non-directory `dvd2.ts' [00000305] main input debug: thread 1132489024 (input) created at priority 0 (input/input.c:332) [00000295] main playlist debug: requesting art for dvd2.ts [00000308] access_file access debug: opening file `dvd2.ts' [00000308] main access debug: using access2 module "access_file" [00000313] main private debug: pre-buffering... [00000313] main private debug: received first data for our buffer [00000313] main private debug: pre-buffering done 1408981 bytes in 0s - 951561 kbytes/s [00000305] main input debug: creating demux: access='' demux='' path='dvd2.ts' [00000314] main demuxer debug: looking for demux2 module: 47 candidates [00000314] main demuxer debug: using demux2 module "ts" [00000305] main input debug: looking for a subtitle file in /home/astone/live555Wrapper/live/ [00000314] ts demuxer debug: DEMUX_SET_GROUP 0 (nil) [00000305] main input debug: `dvd2.ts' successfully opened [00000314] ts demuxer debug: PATCallBack called [00000314] ts demuxer debug: new PAT ts_id=1 version=1 current_next=1 [00000314] ts demuxer debug: * number=1 pid=16 [00000314] ts demuxer debug: PMTCallBack called [00000314] ts demuxer debug: new PMT program number=1 version=1 pid_pcr=224 [00000314] ts demuxer debug: * es pid=224 type=2 fcc=mpgv [00000305] main input debug: selecting program id=1 [00000353] main decoder debug: looking for decoder module: 21 candidates [00000353] main decoder debug: using decoder module "libmpeg2" [00000353] main decoder debug: thread 1140881728 (decoder) created at priority 0 (input/decoder.c:191) [00000314] ts demuxer warning: first packet for pid=224 cc=0x1 [00000314] ts demuxer warning: discontinuity indicator (pid=224) [00000353] libmpeg2 decoder debug: 720x480 (display 720,480), aspect 576000, sar 8:9, 29.971 fps [00000353] main decoder debug: no usable vout present, spawning one [00000357] main video output debug: window size: 720x540 [00000357] main video output debug: looking for video output module: 6 candidates [00000357] xvideo video output debug: adaptor 0, port 115, format 0x32315659 (YV12) planar [00000357] xvideo video output debug: Window manager supports NetWM [00000357] xvideo video output debug: Window manager supports _NET_WM_STATE_FULLSCREEN [00000357] xvideo video output debug: Window manager supports _NET_WM_STATE_ABOVE [00000357] xvideo video output debug: Window manager supports _NET_WM_STATE_BELOW [00000357] main video output debug: using video output module "xvideo" [00000357] main video output debug: waiting for thread completion [00000357] main video output debug: got 8 direct buffer(s) [00000357] main video output debug: picture in 720x480 (0,0,720x480), chroma I420, ar 4:3, sar 8:9 [00000357] main video output debug: picture user 720x480 (0,0,720x480), chroma I420, ar 4:3, sar 8:9 [00000357] main video output debug: picture out 720x480 (0,0,720x480), chroma I420, ar 4:3, sar 8:9 [00000357] main video output debug: direct render, mapping render pictures 0-6 to system pictures 1-7 [00000357] main video output debug: thread 1149274432 (video output) created at priority 0 (video_output/video_output.c:454) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: dts != current_pts (128504) [00000295] main playlist debug: art not found for dvd2.ts [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35156) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] main decoder error: decoder is leaking pictures, resetting the heap [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35155) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35156) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (33200) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] main decoder error: decoder is leaking pictures, resetting the heap [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35155) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35156) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35155) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] main decoder error: decoder is leaking pictures, resetting the heap [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35156) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35156) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35155) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35156) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] main decoder error: decoder is leaking pictures, resetting the heap [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35166) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35156) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35155) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] main decoder error: decoder is leaking pictures, resetting the heap [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35156) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35156) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35155) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] main decoder error: decoder is leaking pictures, resetting the heap [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35156) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35155) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35156) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35155) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] main decoder error: decoder is leaking pictures, resetting the heap [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35156) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (33200) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35167) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] main decoder error: decoder is leaking pictures, resetting the heap [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35155) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35156) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35155) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35156) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] main decoder error: decoder is leaking pictures, resetting the heap [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35155) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35156) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != current_pts (33366) [00000353] main decoder error: decoder is leaking pictures, resetting the heap [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35155) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered [00000353] libmpeg2 decoder warning: invalid picture encountered [00000360] main private warning: backward_pts != dts (35156) [00000360] main private warning: backward_pts != current_pts (33366) [00000353] libmpeg2 decoder warning: invalid picture encountered From finlayson at live555.com Tue Jul 10 16:45:00 2007 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 10 Jul 2007 16:45:00 -0700 Subject: [Live-devel] index files and mpeg2 ts In-Reply-To: <20070710223428.85927.qmail@web35909.mail.mud.yahoo.com> References: <20070710223428.85927.qmail@web35909.mail.mud.yahoo.com> Message-ID: >I am currently trying to play a scaled mpeg2 ts stream in >vlc that I got originally from a dvd, and have gotten a multitude of >errors. The original ts stream plays fine. I then scale the ts stream >with index files using some live555 code. I believe this is correct, >but vlc will not play the resulting stream. Any help would be >appreciated. Please put your "dvd.ts" on a web site, and send us the URL, so we can download and test this for ourselves. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Jul 10 16:48:27 2007 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 10 Jul 2007 16:48:27 -0700 Subject: [Live-devel] Sample code in LGPL In-Reply-To: References: Message-ID: >I could now write another abstraction layer on top of the sample code >and put the modified sample code into the framework. It would be much >easier, though, if you could release the sample code as public >domain, without the LGPL restrictions. Is there any chance of that >happening? There are no plans to change the licensing of any of this source code. However, it's perfectly OK for you to write your own (non-LGPL) code that uses some of the "testProgs" code as a model. I don't care if your own code looks similar to (or even, in places, identical to) the "testProgs" code. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Jul 10 16:50:41 2007 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 10 Jul 2007 16:50:41 -0700 Subject: [Live-devel] MPEG2TransportStreamRTPSource and testMPEG2TSreceiver: not quite right... In-Reply-To: References: Message-ID: >Actually, you won't need to insert a "MPEG2TransportStreamFramer", >because its main purpose is to extract presentation times from the >transport stream, and you won't need those if you're just outputting >to a "FileSink". > >Re: Doesn't MPEG2TransportStreamFramer also check for sync bytes in >the data before passing the data forward? Is it useful in that >sense? Probably not if the input data is coming from a RTP (or even raw UDP) source, because in this case the input Transport Stream data is supposed to contain an integral number of 188-byte Transport Packets (and therefore start with a sync byte). However, inserting a "MPEG2TransportStreamFramer" wouldn't hurt, I suppose... -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070710/517580bb/attachment-0001.html From frahm.c at googlemail.com Wed Jul 11 02:16:01 2007 From: frahm.c at googlemail.com (Christian Frahm) Date: Wed, 11 Jul 2007 11:16:01 +0200 Subject: [Live-devel] RTP Sequence number - alternating values Message-ID: <8039fa140707110216j5263074dhaa8ec79981de1b0c@mail.gmail.com> Hi to all, I am trying to stream A / V which are stored in a series of PES packets. I am using the VOBstreamer code as a start - just changed the source so that it reads from my source. Audio works fine - I am encountering a rather peculiar error with video. My video RTP packets are being send with alternating Sequence Numbers. For example: RTP packet 1 Sequence number:54820 RTP packet 2 Sequence number:44758 RTP packet 3 Sequence number:54821 RTP packet 4 Sequence number:44759 RTP packet 5 Sequence number:54822 RTP packet 6 Sequence number:44760 RTP packet 7 Sequence number:54823 It is as if it sees two video streams when in fact there should only be one. Can anyone tell me how the Sequence Number is calculated? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20070711/d2b038b4/attachment.html From julian.lamberty at mytum.de Wed Jul 11 04:29:01 2007 From: julian.lamberty at mytum.de (Julian Lamberty) Date: Wed, 11 Jul 2007 13:29:01 +0200 Subject: [Live-devel] RTCP and synchronization In-Reply-To: References: <468BB542.1020905@mytum.de> Message-ID: <4694BEFD.1010807@mytum.de> > Because they're not useful to you. > > I'll say this yet again (and hopefully for the last time): Our > RTP/RTCP implementation automatically computes synchronized > presentation times using RTP timestamps and RTCP reports. Code that > receives a RTP stream (using our library) should never have to look > at RTP timestamps. Instead, just use the presentation time. If you > are also using RTCP (which you should be), then the presentaton time > *will* be properly synchronized. > And if the receiver does NOT use Live555? > Just make sure that frames of the transcoded stream get correct > presentation times (and that you create a new "RTCPInstance" object > for the new outgoing stream). > OK, I do use an RTCPInstance. What does "correct" in this context mean? I record the first incoming presentationTime for the first outgoing frame and add a constant value (correspoding to one frame duration) to it for every following frame. Is that "corrrect"? From julian.lamberty at mytum.de Wed Jul 11 05:14:15 2007 From: julian.lamberty at mytum.de (Julian Lamberty) Date: Wed, 11 Jul 2007 14:14:15 +0200 Subject: [Live-devel] High peaks in processing times Message-ID: <4694C997.7050209@mytum.de> Hi! I've developed a class to transcode video streams. I measure the time between "doGetNextFrame()" and "afterGetting(this)" with the gettimeofday() function. The results show that it takes in average 40ms to complete one frame (according to the frame rate of 25Hz). But irregularily one frame takes more than 120ms which seems to be "compensated" in the next frames. The transcoding time is far below 40ms for each frame. Sample: ... 39.88ms 39.79ms 39.84ms 40.23ms 40.00ms 39.11ms 124.25ms (peak) 17.79ms (shorter periods) 17.87ms 17.54ms 20.20ms 38.52ms (back to normal) 39.76ms ... What could this come from? I'm using Fedora Linux, is there maybe a kernel/user switch or anything similar involved? Thanks Julin From finlayson at live555.com Wed Jul 11 05:41:21 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 11 Jul 2007 05:41:21 -0700 Subject: [Live-devel] Linux Client vs Windows Server: Failed to get a SDP description from URL In-Reply-To: <1184076635.14801.14634.camel@gundam.metarete.lan> References: <1184076635.14801.14634.camel@gundam.metarete.lan> Message-ID: >I am trying to connect with mplayer (1.0rc1) compiled with liveMedia >(2007.07.01) support to a rtsp windows server unsuccessfully. > >I have already tried to connect to with vlc and with openRTSP but >connection always fails with the same debug error: > >==] CUT HERE [== >Failed to get a SDP description from URL >"rtsp://aliceliverossoalice1.alice.cdn.interbusiness.it/alicelive1?WMThinning=0": >Failed to read response: Success >==] CUT HERE [== > >The same URL works fine with Windows Media Player 9. > >Could this be a mismatch protocol issue from server Perhaps. Perhaps your server supports only a Microsoft-specific non-standard variant ot RTSP? What happens when you run our "openRTSP" command-line client (with the "-V" option, to generate verbose output)? (See ) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Jul 11 05:43:05 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 11 Jul 2007 05:43:05 -0700 Subject: [Live-devel] RTP Sequence number - alternating values In-Reply-To: <8039fa140707110216j5263074dhaa8ec79981de1b0c@mail.gmail.com> References: <8039fa140707110216j5263074dhaa8ec79981de1b0c@mail.gmail.com> Message-ID: >Audio works fine - I am encountering a rather peculiar error with >video. My video RTP packets are being send with alternating Sequence >Numbers. For example: > >RTP packet 1 Sequence number:54820 >RTP packet 2 Sequence number:44758 >RTP packet 3 Sequence number:54821 >RTP packet 4 Sequence number:44759 >RTP packet 5 Sequence number:54822 >RTP packet 6 Sequence number:44760 >RTP packet 7 Sequence number:54823 > >It is as if it sees two video streams when in fact there should only be one. > >Can anyone tell me how the Sequence Number is calculated? Sequentially for each (video or audio) RTP stream. Therefore, you must be generating more than one RTP stream. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Jul 11 05:47:51 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 11 Jul 2007 05:47:51 -0700 Subject: [Live-devel] RTCP and synchronization In-Reply-To: <4694BEFD.1010807@mytum.de> References: <468BB542.1020905@mytum.de> <4694BEFD.1010807@mytum.de> Message-ID: > > Because they're not useful to you. >> >> I'll say this yet again (and hopefully for the last time): Our >> RTP/RTCP implementation automatically computes synchronized >> presentation times using RTP timestamps and RTCP reports. Code that >> receives a RTP stream (using our library) should never have to look >> at RTP timestamps. Instead, just use the presentation time. If you >> are also using RTCP (which you should be), then the presentaton time >> *will* be properly synchronized. >> > >And if the receiver does NOT use Live555? It shouldn't matter, provided that the receiver also follows the RTP/RTCP standard. > > Just make sure that frames of the transcoded stream get correct >> presentation times (and that you create a new "RTCPInstance" object >> for the new outgoing stream). >> > > >OK, I do use an RTCPInstance. >What does "correct" in this context mean? I record the first incoming >presentationTime for the first outgoing frame and add a constant value >(correspoding to one frame duration) to it for every following frame. Is >that "corrrect"? Yes. It's important, though, that the first presentationTime (that you generate for the first frame) is generated by calling "gettimeofday()". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From stondage123 at yahoo.com Wed Jul 11 06:47:14 2007 From: stondage123 at yahoo.com (Andrew Stone) Date: Wed, 11 Jul 2007 06:47:14 -0700 (PDT) Subject: [Live-devel] index files and mpeg2 ts Message-ID: <968988.83402.qm@web35913.mail.mud.yahoo.com> Thanks for the help Ross. The url is: http://andrewjstone.net/dvd.ts -Andrew ----- Original Message ---- From: Ross Finlayson To: LIVE555 Streaming Media - development & use Sent: Tuesday, July 10, 2007 7:45:00 PM Subject: Re: [Live-devel] index files and mpeg2 ts >I am currently trying to play a scaled mpeg2 ts stream in >vlc that I got originally from a dvd, and have gotten a multitude of >errors. The original ts stream plays fine. I then scale the ts stream >with index files using some live555 code. I believe this is correct, >but vlc will not play the resulting stream. Any help would be >appreciated. Please put your "dvd.ts" on a web site, and send us the URL, so we can download and test this for ourselves. -- 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 gundam at metarete.it Wed Jul 11 08:21:54 2007 From: gundam at metarete.it (Fabio Zeri) Date: Wed, 11 Jul 2007 17:21:54 +0200 Subject: [Live-devel] Linux Client vs Windows Server: Failed to get a SDP description from URL In-Reply-To: References: <1184076635.14801.14634.camel@gundam.metarete.lan> Message-ID: <1184167314.14801.18643.camel@gundam.metarete.lan> Il giorno mer, 11/07/2007 alle 05.41 -0700, Ross Finlayson ha scritto: [snip] > >The same URL works fine with Windows Media Player 9. > > > >Could this be a mismatch protocol issue from server > > Perhaps. Perhaps your server supports only a Microsoft-specific > non-standard variant ot RTSP? I really hope it will not be so. Unfortunately I can't manage the remote server, so I don't know exactly what kind of streaming server it could be. :-/ > What happens when you run our "openRTSP" command-line client (with > the "-V" option, to generate verbose output)? (See > ) This is the output of "openRTSP -V" ==] CUT HERE [== Sending request: OPTIONS rtsp://aliceliverossoalice.alice.cdn.interbusiness.it/alicelive?WMThinning=0 RTSP/1.0 CSeq: 1 User-Agent: openRTSP (LIVE555 Streaming Media v2007.07.01) Sending request: DESCRIBE rtsp://aliceliverossoalice.alice.cdn.interbusiness.it/alicelive?WMThinning=0 RTSP/1.0 CSeq: 2 Accept: application/sdp User-Agent: openRTSP (LIVE555 Streaming Media v2007.07.01) Failed to get a SDP description from URL "rtsp://aliceliverossoalice.alice.cdn.interbusiness.it/alicelive?WMThinning=0": Failed to read response: Success ==] CUT HERE [== Bye -- ing. Fabio Zeri -- [ Metarete - X Service Provider - Soluzioni in rete ] http://www.metarete.it - gundam at metarete.it Tel: +39 0372 432228 - Fax: +39 0372 590617 From finlayson at live555.com Wed Jul 11 10:19:02 2007 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 11 Jul 2007 10:19:02 -0700 Subject: [Live-devel] Linux Client vs Windows Server: Failed to get a SDP description from URL In-Reply-To: <1184167314.14801.18643.camel@gundam.metarete.lan> References: <1184076635.14801.14634.camel@gundam.metarete.lan> <1184167314.14801.18643.camel@gundam.metarete.lan> Message-ID: I did some more testing on this "rtsp://" URL, and the problem definitely seems to be at the server end. For some reason, your server is not responding properly (if at all) to RTSP requests. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From julian.lamberty at mytum.de Wed Jul 11 12:41:55 2007 From: julian.lamberty at mytum.de (Julian Lamberty) Date: Wed, 11 Jul 2007 21:41:55 +0200 Subject: [Live-devel] RTCP and synchronization References: 4694BEFD.1010807@mytum.de Message-ID: <46953283.4060407@mytum.de> Ok, but I still don't get how the final recipient gets to know the *original* presentation time (which correspond to audio) if I generate a new one in the transcoder... Is this done via RTCP?! If yes, could you shortly explain it, please? Julian From tl11305 at salle.url.edu Thu Jul 12 00:46:51 2007 From: tl11305 at salle.url.edu (Ramon Martin de Pozuelo Genis) Date: Thu, 12 Jul 2007 09:46:51 +0200 (CEST) Subject: [Live-devel] SDP file of a multiple destination session Message-ID: <1228.172.16.11.128.1184226411.squirrel@webmail.salle.url.edu> Hi all, I created a session with its respective rtpGroupsock & rtcpGroupsock and then I added another destination using: rtpPort= new Port(newPort); rtcpPort= new Port(newPort+1); destinationAddress.s_addr = inet_addr((char*)newIP); rtpGroupsock->addDestination(destinationAddress,*rtpPort); rtcpGroupsock->addDestination(destinationAddress,*rtcpPort); Then, when I generated SDP file and it was created with the first destination I used to create Groupsock's. There is some way to choose the second destination appears in SDP file? Thanks in advance, Ramon From gundam at metarete.it Thu Jul 12 02:32:13 2007 From: gundam at metarete.it (Fabio Zeri) Date: Thu, 12 Jul 2007 11:32:13 +0200 Subject: [Live-devel] Linux Client vs Windows Server: Failed to get a SDP description from URL In-Reply-To: References: <1184076635.14801.14634.camel@gundam.metarete.lan> <1184167314.14801.18643.camel@gundam.metarete.lan> Message-ID: <1184232733.14801.22120.camel@gundam.metarete.lan> Il giorno mer, 11/07/2007 alle 10.19 -0700, Ross Finlayson ha scritto: > I did some more testing on this "rtsp://" URL, and the problem > definitely seems to be at the server end. For some reason, your > server is n