From morgan.torvolt at gmail.com Fri Jan 2 13:39:17 2009 From: morgan.torvolt at gmail.com (=?ISO-8859-1?Q?Morgan_T=F8rvolt?=) Date: Fri, 2 Jan 2009 22:39:17 +0100 Subject: [Live-devel] Decrease of bitrate for mpeg2ts during trick play In-Reply-To: References: <4d859a5f0812180354y1cb7b107q13f7e3edcd562243@mail.gmail.com> Message-ID: <3cc3561f0901021339h36bb8ea6r1763e9e87cf13a97@mail.gmail.com> >> >> Can u suggest methods to decrease the bitrate during the trick play. > > Be patient. This is high on our 'to do' list. A quick hack which worked for me was to reduce the number of frames that was sent. i dropped 2/3 frames. Don't remember where i made the change though, as It seemed easier for us to use our own trick play code. From mlaibow.davinci at gmail.com Sat Jan 3 02:16:27 2009 From: mlaibow.davinci at gmail.com (Mat Laibowitz) Date: Sat, 3 Jan 2009 05:16:27 -0500 Subject: [Live-devel] seg fault in framed source Message-ID: <5bbfe18a0901030216m37e41145td310d61188e28d0e@mail.gmail.com> I am trying to add optional unicast support to my stream server which currently runs great using multicast. I have implemented a custom DeviceFrameSource class extending FramedSource to control my MPEG4 encoder hardware. This is working great using multicast. To get it to run using unicast I based the code on wis-streamer and created a custom MediaSubSession class extending OnDemandServerMediaSubsession. When a client connects it gets fairly far, parses the DESCRIBE, creates the stream source and rtpsink, connects to the encoder and gets two frames to create SDP, sends back the SDP, gets a SETUP command and creates the stream source again and the RTPSink/MPEG4ESVideoRTPSink, sends the response to SETUP, and finally receives the play command. The debug trace is below. But when trying to get the first frame after receiving the PLAY command, it always seg faults. Some debug trace shows that it executes the GetNextFrame in FramedSource which calls doGetNextFrame on MPEG4DiscreteFramer, which calls getNextFrame on FramedSource again, where is fails. It basically does the same thing it does when getting the frames for the SDP call, but this time it fails. I thought it might be a problem with how I am passing the pointer to DeviceFrameSource class or something wrong with that class altogether, but it works while getting the SDP frames and when using multicast. The specific point of seg fault is at the call of doGetNextFrame() from within FramedSource::getNextFrame called from MPEG4VideoStreanDiscreteFramer::doGetNextFrame. Any insight would be greatly appreciated. Thanks, -mat Play this stream using the URL "rtsp://18.85.45.113:8554/videoStream" Created On Demand Server... accept()ed connection from 18.85.45.34 RTSPClientSession[0xd2720]::incomingRequestHandler1() read 134 bytes:OPTIONS rtsp://18.85.45.113:8554/videoStream RTSP/1.0 CSeq: 1 User-Agent: VLC media player (LIVE555 Streaming Media v2008.09.02) parseRTSPRequestString() returned cmdName "OPTIONS", urlPreSuffix "", urlSuffix "videoStream" sending response: RTSP/1.0 200 OK CSeq: 1 Date: Thu, Jan 01 1970 21:40:38 GMT Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE RTSPClientSession[0xd2720]::incomingRequestHandler1() read 160 bytes:DESCRIBE rtsp://18.85.45.113:8554/videoStream RTSP/1.0 CSeq: 2 Accept: application/sdp User-Agent: VLC media player (LIVE555 Streaming Media v2008.09.02) parseRTSPRequestString() returned cmdName "DESCRIBE", urlPreSuffix "", urlSuffix "videoStream" Creating New Stream Source... Creating New RTP Sink Buffer Set... Creating New MPEG4ESVideoRTPSInk Created RTPSink... Get AUX SDP Line... MultiFramerRTPSink buildandsendpacket MultiFramerRTPSink packframe MultiFramerRTPSink getNextFrame FramedSource getnextframe FramedSource doinggetnextframe MPEG4DiscreteFramer doGetNextFrame FramedSource getnextframe FramedSource doinggetnextframe Spinner Video Debug: About to call requestframe... DEVICE Request Frame Spinner Video Debug: Got Frame at buffer 9 FramedSource donegetnextframe FramedSource donegetnextframe Checking for AUX SDP Line... Spinner Video Debug: About to capture frame.. MultiFramerRTPSink buildandsendpacket MultiFramerRTPSink packframe MultiFramerRTPSink buildandsendpacket MultiFramerRTPSink packframe MultiFramerRTPSink buildandsendpacket MultiFramerRTPSink packframe MultiFramerRTPSink getNextFrame FramedSource getnextframe FramedSource doinggetnextframe MPEG4DiscreteFramer doGetNextFrame FramedSource getnextframe FramedSource doinggetnextframe Spinner Video Debug: About to call requestframe... DEVICE Request Frame Spinner Video Debug: Got Frame at buffer 9 FramedSource donegetnextframe FramedSource donegetnextframe Checking for AUX SDP Line... Got AUX SDP Line... a=fmtp:96 profile-level-id=5;config=000001B005000001B509000001000000012000845D4C28B42190A31F sending response: RTSP/1.0 200 OK CSeq: 2 Date: Thu, Jan 01 1970 21:40:38 GMT Content-Base: rtsp://18.85.45.113:8554/videoStream/ Content-Type: application/sdp Content-Length: 491 v=0 o=- 78015985469 1 IN IP4 18.85.45.113 s=Session streamed by "spinner_video_server" i=spinner_video_session t=0 0 a=tool:LIVE555 Streaming Media v2008.12.19 a=type:broadcast a=control:* a=range:npt=0- a=x-qt-text-nam:Session streamed by "spinner_video_server" a=x-qt-text-inf:spinner_video_session m=video 0 RTP/AVP 96 c=IN IP4 0.0.0.0 a=rtpmap:96 MP4V-ES/90000 a=fmtp:96 profile-level-id=5;config=000001B005000001B509000001000000012000845D4C28B42190A31F a=control:track1 RTSPClientSession[0xd2720]::incomingRequestHandler1() read 191 bytes:SETUP rtsp://18.85.45.113:8554/videoStream/track1 RTSP/1.0 CSeq: 3 Transport: RTP/AVP;unicast;client_port=45844-45845 User-Agent: VLC media player (LIVE555 Streaming Media v2008.09.02) parseRTSPRequestString() returned cmdName "SETUP", urlPreSuffix "videoStream", urlSuffix "track1" Handling Command Setup Creating New Stream Source... Creating New RTP Sink Buffer Set... Creating New MPEG4ESVideoRTPSInk Created RTPSink... sending response: RTSP/1.0 200 OK CSeq: 3 Date: Thu, Jan 01 1970 21:40:38 GMT Transport: RTP/AVP;unicast;destination=18.85.45.34;source=18.85.45.113;client_port=45844-45845;server_port=6970-6971 Session: 1 RTSPClientSession[0xd2720]::incomingRequestHandler1() read 163 bytes:PLAY rtsp://18.85.45.113:8554/videoStream/ RTSP/1.0 CSeq: 4 Session: 1 Range: npt=0.000- User-Agent: VLC media player (LIVE555 Streaming Media v2008.09.02) parseRTSPRequestString() returned cmdName "PLAY", urlPreSuffix "videoStream", urlSuffix "" Handling command within Handle command play Doing required seeking Start Streaming Start Stream 0 startStream startPlaying MultiFramerRTPSink buildandsendpacket MultiFramerRTPSink packframe MultiFramerRTPSink getNextFrame FramedSource getnextframe FramedSource doinggetnextframe MPEG4DiscreteFramer doGetNextFrame FramedSource getnextframe FramedSource doinggetnextframe Segmentation fault Trace from VLC: [00000421] live555 demux error: RTSP PLAY failed Failed to read response: Success [00000424] main access error: connection failed: Connection refused [00000424] access_realrtsp access error: cannot connect to 18.85.45.113:8554 [00000420] main input error: open of `rtsp://18.85.45.113:8554/videoStream' failed: could not create access -------------- next part -------------- An HTML attachment was scrubbed... URL: From amit.yedidia at elbitsystems.com Sun Jan 4 05:32:14 2009 From: amit.yedidia at elbitsystems.com (Yedidia Amit) Date: Sun, 4 Jan 2009 15:32:14 +0200 Subject: [Live-devel] Closing live 555 Message-ID: Hi All, How can I control the sequence done by CTRL-C when exiting the executable? Regards, Amit Yedidia Elbit System Ltd. Email: amit.yedidia at elbitsystems.com Tel: 972-4-8318905 ---------------------------------------------------------- The information in this e-mail transmission contains proprietary and business sensitive information. Unauthorized interception of this e-mail may constitute a violation of law. If you are not the intended recipient, you are hereby notified that any review, dissemination, distribution or duplication of this communication is strictly prohibited. You are also asked to contact the sender by reply email and immediately destroy all copies of the original message. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andre-lists at thenot.org Sun Jan 4 06:49:06 2009 From: andre-lists at thenot.org (Andre Thenot) Date: Sun, 4 Jan 2009 09:49:06 -0500 Subject: [Live-devel] Closing live 555 In-Reply-To: References: Message-ID: On Jan 4, 2009, at 8:32, Yedidia Amit wrote: > How can I control the sequence done by CTRL-C when exiting the > executable? > This is not really pertinent to Live555 but common for any app: just set up a handler for the SIGTERM signal. See sigaction() in . HTH, A. From renatomauro at libero.it Sun Jan 4 08:03:20 2009 From: renatomauro at libero.it (Renato MAURO (Libero)) Date: Sun, 4 Jan 2009 17:03:20 +0100 Subject: [Live-devel] Books References: <495BCDBC.4010208@schuckmannacres.com><495BD606.1010804@schuckmannacres.com><495BEAC5.8000204@schuckmannacres.com> Message-ID: <7837F4CE1748400498749301067FD3A4@CSystemDev> Hi Ross. Maybe I'm off topic, but I'd like to know your opinion about these books: 1) "RTP, Audio and Video for the Internet", Colin Perkins, 2003, ISBN: 0-672-32249-8 2) "Timecode A User's Guide" John Ratcliff (Paperback) Focal Press, 1999 ISBN-10: 0240515390 ISBN-13: 978-0240515397 3) "MPEG Handbook", John Watkinson, (Hardcover) Focal Press (16 Aug 2001) ISBN-10: 0240516567 ISBN-13: 978-0240516561 4) "H.264 and MPEG-4 Video Compression Video Coding for Next-Generation Multimedia", Iain Richardson, WileyBlackwell (17 Oct 2003) ISBN-10: 0470848375 ISBN-13: 978-0470848371 and if you have any suggestions about RTP/MPEG4/H264/H263 books or web-sites. Thank you very much, Renato MAURO From finlayson at live555.com Sun Jan 4 08:16:28 2009 From: finlayson at live555.com (Ross Finlayson) Date: Sun, 4 Jan 2009 14:16:28 -0200 Subject: [Live-devel] Books In-Reply-To: <7837F4CE1748400498749301067FD3A4@CSystemDev> References: <495BCDBC.4010208@schuckmannacres.com><495BD606.1010804@schuckmannacres.co m><495BEAC5.8000204@schuckmannacres.com> <7837F4CE1748400498749301067FD3A4@CSystemDev> Message-ID: >Hi Ross. > > Maybe I'm off topic, but I'd like to know your opinion about these books: > >1) "RTP, Audio and Video for the Internet", Colin Perkins, 2003, >ISBN: 0-672-32249-8 >2) "Timecode A User's Guide" John Ratcliff (Paperback) Focal >Press, 1999 ISBN-10: 0240515390 ISBN-13: 978-0240515397 >3) "MPEG Handbook", John Watkinson, (Hardcover) Focal Press (16 >Aug 2001) ISBN-10: 0240516567 ISBN-13: 978-0240516561 >4) "H.264 and MPEG-4 Video Compression Video Coding for >Next-Generation Multimedia", Iain Richardson, WileyBlackwell (17 Oct >2003) ISBN-10: 0470848375 ISBN-13: 978-0470848371 I haven't read any of these, but I'm sure that the first book is good (and very relevant to the "LIVE555 Streaming Media" software), because the author, Colin Perkins, was heavily involved with the development and standardization of RTP/RTCP. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From ljsthestar at gmail.com Sun Jan 4 22:07:11 2009 From: ljsthestar at gmail.com (sri kanth) Date: Mon, 5 Jan 2009 11:37:11 +0530 Subject: [Live-devel] Memory leaks Message-ID: <4d859a5f0901042207w3ab95e8p186d2403970ea617@mail.gmail.com> Hi Ross, There are few memory leaks in liveMedia/OnDemandServerMediaSubsession.cpp, the object(inputSource) created is not freed. Also there are few memory leaks in Hash table code, means some objects are not freed. Thanks, Viswajeet. -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Mon Jan 5 00:57:58 2009 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 5 Jan 2009 06:57:58 -0200 Subject: [Live-devel] Memory leaks In-Reply-To: <4d859a5f0901042207w3ab95e8p186d2403970ea617@mail.gmail.com> References: <4d859a5f0901042207w3ab95e8p186d2403970ea617@mail.gmail.com> Message-ID: > There are few memory leaks in >liveMedia/OnDemandServerMediaSubsession.cpp, the object(inputSource) >created is not freed. No, that's not true. The input source for each "ServerMediaSubsession" is freed by the "CloseStreamSource()" function, which in turn is called by "StreamState::reclaim()" (which is called when each stream ends, or is torn down). > Also there are few memory leaks in Hash table code, means some >objects are not freed. Can you be more specific? I don't know of any memory leaks in that code. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From amit.yedidia at elbitsystems.com Mon Jan 5 03:23:24 2009 From: amit.yedidia at elbitsystems.com (Yedidia Amit) Date: Mon, 5 Jan 2009 13:23:24 +0200 Subject: [Live-devel] Books In-Reply-To: <7837F4CE1748400498749301067FD3A4@CSystemDev> Message-ID: The first one is very good. I didn't read the others. Regards, Amit Yedidia Elbit System Ltd. Email: amit.yedidia at elbitsystems.com Tel: 972-4-8318905 ---------------------------------------------------------- > -----Original Message----- > From: live-devel-bounces at ns.live555.com > [mailto:live-devel-bounces at ns.live555.com] On Behalf Of > Renato MAURO (Libero) > Sent: Sunday, January 04, 2009 6:03 PM > To: LIVE555 Streaming Media - development & use > Subject: [Live-devel] Books > > Hi Ross. > > Maybe I'm off topic, but I'd like to know your opinion > about these > books: > > 1) "RTP, Audio and Video for the Internet", Colin Perkins, > 2003, ISBN: > 0-672-32249-8 > 2) "Timecode A User's Guide" John Ratcliff (Paperback) > Focal Press, 1999 > ISBN-10: 0240515390 ISBN-13: 978-0240515397 > 3) "MPEG Handbook", John Watkinson, (Hardcover) Focal > Press (16 Aug 2001) > ISBN-10: 0240516567 ISBN-13: 978-0240516561 > 4) "H.264 and MPEG-4 Video Compression Video Coding for > Next-Generation > Multimedia", Iain Richardson, WileyBlackwell (17 Oct 2003) ISBN-10: > 0470848375 ISBN-13: 978-0470848371 > > and if you have any suggestions about RTP/MPEG4/H264/H263 books or > web-sites. > > Thank you very much, > > Renato MAURO > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > The information in this e-mail transmission contains proprietary and business sensitive information. Unauthorized interception of this e-mail may constitute a violation of law. If you are not the intended recipient, you are hereby notified that any review, dissemination, distribution or duplication of this communication is strictly prohibited. You are also asked to contact the sender by reply email and immediately destroy all copies of the original message. From matt at schuckmannacres.com Mon Jan 5 08:43:45 2009 From: matt at schuckmannacres.com (Matt Schuckmann) Date: Mon, 05 Jan 2009 08:43:45 -0800 Subject: [Live-devel] Books In-Reply-To: <7837F4CE1748400498749301067FD3A4@CSystemDev> References: <495BCDBC.4010208@schuckmannacres.com><495BD606.1010804@schuckmannacres.com><495BEAC5.8000204@schuckmannacres.com> <7837F4CE1748400498749301067FD3A4@CSystemDev> Message-ID: <496238C1.90408@schuckmannacres.com> I agree the first is very good, I haven't read the others. Matt S. Renato MAURO (Libero) wrote: > Hi Ross. > > Maybe I'm off topic, but I'd like to know your opinion about these > books: > > 1) "RTP, Audio and Video for the Internet", Colin Perkins, 2003, > ISBN: 0-672-32249-8 > 2) "Timecode A User's Guide" John Ratcliff (Paperback) Focal Press, > 1999 ISBN-10: 0240515390 ISBN-13: 978-0240515397 > 3) "MPEG Handbook", John Watkinson, (Hardcover) Focal Press (16 Aug > 2001) ISBN-10: 0240516567 ISBN-13: 978-0240516561 > 4) "H.264 and MPEG-4 Video Compression Video Coding for > Next-Generation Multimedia", Iain Richardson, WileyBlackwell (17 Oct > 2003) ISBN-10: 0470848375 ISBN-13: 978-0470848371 > > and if you have any suggestions about RTP/MPEG4/H264/H263 books or > web-sites. > > Thank you very much, > > Renato MAURO > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > From matt at schuckmannacres.com Mon Jan 5 08:57:50 2009 From: matt at schuckmannacres.com (Matt Schuckmann) Date: Mon, 05 Jan 2009 08:57:50 -0800 Subject: [Live-devel] Status of Live555 RTPS Client and Server using Stream over TCP In-Reply-To: References: <495BCDBC.4010208@schuckmannacres.com> <495BD606.1010804@schuckmannacres.com> <495BEAC5.8000204@schuckmannacres.com> Message-ID: <49623C0E.2080108@schuckmannacres.com> Ross Finlayson wrote: >> After doing a bit more digging in the code and on the web I've >> discovered that the problem of not receiving RTSP commands after the >> play command when using RTP-over-TCP streaming is a known problem >> (although it is usually associated with the keep-a-live feature >> (cough hack > > The standard way for clients (using either RTP/UDP *or* RTP/TCP) to > indicate their 'liveness' to the server is be sending back RTCP "RR" > packets (which are a required part of the RTP/RTCP standard). Our > (server and client) supports this OK, even when doing RTP/RTCP-over-TCP. > Understand and I agree that the client sending back the RR packets is the right way for a server to know that a client is still there. Remember I want the client/server to be responsive to RTSP commands when doing RTP over TCP so the client can send SET_PARAMETER commands to control a live camera while it is streaming. > I'm sorry, but once you've made modifications to the supplied code I > won't (in general) be able to help you. However, if you want to > experiment with RTP/RTCP-over-TCP streaming, I suggest that you start > using the (original, unmodified) "live555MediaServer" (or > "testOnDemandRTSPServer" as your server, and "openRTSP -t" as your > client. I understand that you can't help me once I've made changes to the supplied code. I'd like to be able to submit any changes I make back to the library if your willing to accept them (and I can find the time to produce a good patch, etc) and along those lines one of my questions had to do with a direction that you were thinking of going for fixing the issue of RTSP commands not working once the PLAY command sent for RTP over TCP streaming. I did a good amount of thinking about the problem over the weekend and it seems to me that the easiest fix would be to make both the client server code be able to work with non-persistent TCP-IP connections for the RTSP commands (if I remember right both client and server rely on a persistent TCP-IP connection right now). This would allow the client to continue to send and receive RTSP commands after the initial TCP-IP socket had been hijacked for the RTP over TCP streaming when the play command is sent. Does this make sense? I might not be being clear enough. Matt S. From ljsthestar at gmail.com Mon Jan 5 20:29:28 2009 From: ljsthestar at gmail.com (sri kanth) Date: Tue, 6 Jan 2009 09:59:28 +0530 Subject: [Live-devel] Memory leaks Message-ID: <4d859a5f0901052029h10dda8d3t214b77b1ed2b25e5@mail.gmail.com> Hi Ross, I am sending the file which describes regarding the memory leak in the code. Thanks, Viswajeet -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: memoryleak.txt URL: From ken at acotec.com Mon Jan 5 23:36:15 2009 From: ken at acotec.com (Ken Hilliard) Date: Tue, 6 Jan 2009 14:36:15 +0700 Subject: [Live-devel] MPEG2 Indexer Message-ID: <002001c96fd1$774d6a60$0702a8c0@ownerff3dd5da3> Hi, I have mpeg4 (h.264) video streams encapsulated via mpeg2 transport streams. I'm using the live555 media server as an rtsp vod server. I was hoping to use the 'MPEG2TransportStreamIndexer' tool. But when I run it I get a .tsx file with zero length so it looks like it only operates on mpegts payloads that are mpeg2. Is there any other way/tool I can use so I can use trick play features of the live555 media server? BTW: The live555 has worked flawlessly as an rtsp server, not once ever crashed. Thanks, Ken -------------- next part -------------- An HTML attachment was scrubbed... URL: From zhisun.tech at gmail.com Mon Jan 5 23:46:10 2009 From: zhisun.tech at gmail.com (zhi sun) Date: Tue, 6 Jan 2009 15:46:10 +0800 Subject: [Live-devel] Can I dynamically add/remove the file source when running Live555 server? Message-ID: <54ced3240901052346o2a82f70bqbd439d2654700882@mail.gmail.com> Can I dynamically add/remove the file source when running Live555 server? Currently, the Live555 announce the file sources when loading, I want to let the Live555 play a new file without making hard code change. Thanks, -zhisun -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Mon Jan 5 23:55:43 2009 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 6 Jan 2009 05:55:43 -0200 Subject: [Live-devel] Can I dynamically add/remove the file source when running Live555 server? In-Reply-To: <54ced3240901052346o2a82f70bqbd439d2654700882@mail.gmail.com> References: <54ced3240901052346o2a82f70bqbd439d2654700882@mail.gmail.com> Message-ID: >Can I dynamically add/remove the file source when running Live555 >server? Currently, the Live555 announce the file sources when >loading, I want to let the Live555 play a new file without making >hard code change. I'm not totally sure I understand your question, but try running the "LIVE555 Media Server" application: http://www.live555.com/mediaServer/ It wil stream, upon request, any file that resides in the same directory as the application. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From renatomauro at libero.it Wed Jan 7 08:22:19 2009 From: renatomauro at libero.it (Renato MAURO (Libero)) Date: Wed, 7 Jan 2009 17:22:19 +0100 Subject: [Live-devel] Reclaiming live clientsessions References: <4d859a5f0901052029h10dda8d3t214b77b1ed2b25e5@mail.gmail.com> Message-ID: <5C4744AA9050434F8935A5EDF9065481@CSystemDev> Hi Ross. In the past you sayd (let me not search that mail!) that by now there is not a way to release live clientsessions when the RTSPServer is being deleted. I solved this issue with some code and I'd like to know your opinion about my solution. I defined fRTSPClientSessions in RTSPServer the same way it has fServerMediaSessions. So in the RTSPServer constructor we find: [code] fServerMediaSessions(HashTable::create(STRING_HASH_KEYS)), #if (USE_CLIENT_SESSION_MANAGEMENT) fRTSPClientSessions(HashTable::create(STRING_HASH_KEYS)), #endif // USE_CLIENT_SESSION_MANAGEMENT [/code] and in the RTSPServer destructor we find [code] ::closeSocket(fServerSocket); #if (USE_CLIENT_SESSION_MANAGEMENT) // rimozione di eventuali client ancora presenti // deletion of live clients, if any while (1) { RTSPClientSession* rtspClientSession = (RTSPClientSession*)fRTSPClientSessions->RemoveNext(); if (rtspClientSession == NULL) break; try { delete rtspClientSession ; }catch(...) { int a = 10 ; // for debug purpose } } #endif // USE_CLIENT_SESSION_MANAGEMENT // Remove all server media sessions (they'll get deleted when they're finished): while (1) { ServerMediaSession* serverMediaSession = (ServerMediaSession*)fServerMediaSessions->RemoveNext(); if (serverMediaSession == NULL) break; removeServerMediaSession(serverMediaSession); } // Finally, delete the session table itself: delete fServerMediaSessions; #if (USE_CLIENT_SESSION_MANAGEMENT) delete fRTSPClientSessions ; #endif // USE_CLIENT_SESSION_MANAGEMENT [/code] In RTSPServer::RTSPClientSession constructor we find [code] fTCPStreamIdCount(0), fNumStreamStates(0), fStreamStates(NULL) { #if (USE_CLIENT_SESSION_MANAGEMENT) char strKey[50] ; unsigned __int64 ullAddress = (unsigned __int64)this ; sprintf( strKey, "%I64u", ullAddress ) ; // add without check for previous existing key fOurServer.fRTSPClientSessions->Add( strKey, this ) ; #endif // USE_CLIENT_SESSION_MANAGEMENT // Arrange to handle incoming requests: [/code] and in RTSPServer::RTSPClientSession destructor we find [code] reclaimStreamStates(); #if (USE_CLIENT_SESSION_MANAGEMENT) char strKey[50] ; unsigned __int64 ullAddress = (unsigned __int64)this ; sprintf( strKey, "%I64u", ullAddress ) ; fOurServer.fRTSPClientSessions->Remove( strKey ) ; #endif // USE_CLIENT_SESSION_MANAGEMENT [/code] Ross, is there any pitfall in this clientsession management? Thank you very much, Renato ----- Original Message ----- From: sri kanth To: live-devel at ns.live555.com Sent: Tuesday, January 06, 2009 5:29 AM Subject: [Norton AntiSpam] [Live-devel] Memory leaks Hi Ross, I am sending the file which describes regarding the memory leak in the code. Thanks, Viswajeet ------------------------------------------------------------------------------ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel -------------- next part -------------- An HTML attachment was scrubbed... URL: From morgan.torvolt at gmail.com Wed Jan 7 10:32:53 2009 From: morgan.torvolt at gmail.com (=?ISO-8859-1?Q?Morgan_T=F8rvolt?=) Date: Wed, 7 Jan 2009 19:32:53 +0100 Subject: [Live-devel] MPEG2 Indexer In-Reply-To: <002001c96fd1$774d6a60$0702a8c0@ownerff3dd5da3> References: <002001c96fd1$774d6a60$0702a8c0@ownerff3dd5da3> Message-ID: <3cc3561f0901071032j46b90f09tebd3654c2bfda5e6@mail.gmail.com> Not very surprising. The indexer finds I frames in an MPEG2 stream, and that will not work with MPEG4. You need to make the indexer find I frames in an MPEG4 stream to make it work. Also, the trick play code in the server might fail as it grabs I frames from an MPEG2 stream and encapsulates them in new generated transport stream. -Morgan- 2009/1/6 Ken Hilliard : > Hi, > > > > I have mpeg4 (h.264) video streams encapsulated via mpeg2 transport streams. > I'm using the live555 media server as an rtsp vod server. I was hoping to > use the 'MPEG2TransportStreamIndexer' tool. But when I run it I get a .tsx > file with zero length so it looks like it only operates on mpegts payloads > that are mpeg2. Is there any other way/tool I can use so I can use trick > play features of the live555 media server? BTW: The live555 has worked > flawlessly as an rtsp server, not once ever crashed. > > > > Thanks, Ken > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > > From zhaomaxcan at yahoo.com.cn Wed Jan 7 18:27:24 2009 From: zhaomaxcan at yahoo.com.cn (=?gb2312?B?1dTF9A==?=) Date: Thu, 8 Jan 2009 10:27:24 +0800 (CST) Subject: [Live-devel] Memory Leaks ! Message-ID: <676630.76322.qm@web15602.mail.cnb.yahoo.com> Hi all, ?????????When I?demand the?latest????LIVE555 Media Server?? with 30 clients,?????Memory usage is increasing by 4K all the ?time!???Why?????? Thanks, zhaomax. ___________________________________________________________ ????????????????? http://card.mail.cn.yahoo.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From anto.rizzo at caramail.com Wed Jan 7 04:23:34 2009 From: anto.rizzo at caramail.com (Antonella Rizzo) Date: Wed, 7 Jan 2009 13:23:34 +0100 Subject: [Live-devel] SR Report Message-ID: <181832658820940@lycos-europe.com> Hi Ross, I made a server side application. So, I need to send SR report to client of my application. My client is another my application (not VLC, I capture packets from a command line application). I have seen that rtcpInstance have sendReport method, I must use this? Regards From matt at schuckmannacres.com Wed Jan 7 20:12:12 2009 From: matt at schuckmannacres.com (Matt Schuckmann) Date: Wed, 07 Jan 2009 20:12:12 -0800 Subject: [Live-devel] How to restrict ports the server can use for RTP Message-ID: <49657D1C.4080309@schuckmannacres.com> Is there a way (method or property in the RTSP server class or something) to restrict the ports the server can use for RTP/RTCP ports. I want to do this because I've got a server sitting behind a firewall/NAT and I can setup a block of ports to allow bidirectional UDP traffic for this purpose. I just need to figure out how to restrict the server to only use those ports. Thanks, Matt S. From zhaomaxcan at yahoo.com.cn Wed Jan 7 21:32:17 2009 From: zhaomaxcan at yahoo.com.cn (=?gb2312?B?1dTF9A==?=) Date: Thu, 8 Jan 2009 13:32:17 +0800 (CST) Subject: [Live-devel] Memory Leaks ! Message-ID: <940153.77325.qm@web15603.mail.cnb.yahoo.com> Hi all, ?????????When I?demand the?latest????LIVE555 Media Server?? with 30 clients,?????Memory usage is increasing by 4K all the ?time!???Why?????? Thanks, zhaomax. ___________________________________________________________ ????????????????? http://card.mail.cn.yahoo.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Thu Jan 8 02:09:26 2009 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 8 Jan 2009 08:09:26 -0200 Subject: [Live-devel] How to restrict ports the server can use for RTP In-Reply-To: <49657D1C.4080309@schuckmannacres.com> References: <49657D1C.4080309@schuckmannacres.com> Message-ID: >Is there a way (method or property in the RTSP server class or >something) to restrict the ports the server can use for RTP/RTCP >ports. The "OnDemandServerMediaSubsession" constructor takes a parameter "initialPortNum", which is used to set the lowest possible port number that the server can use (when streaming from a "ServerMediaSubsession" derived from this class). (The default value of this parameter is 6970, which is the value used by Apple's RTSP servers (and some others).) Starting from this 'lower bound', the code uses as many port numbers as are needed (depending on the number of streams per session, and the number of clients) - so there's no 'upper bound' port number in the code. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Jan 8 06:05:00 2009 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 8 Jan 2009 12:05:00 -0200 Subject: [Live-devel] Memory leaks In-Reply-To: <4d859a5f0901052029h10dda8d3t214b77b1ed2b25e5@mail.gmail.com> References: <4d859a5f0901052029h10dda8d3t214b77b1ed2b25e5@mail.gmail.com> Message-ID: > I am sending the file which describes regarding the >memory leak in the code. I'm not convinced that any of these are real memory leaks; instead, they seem to just be the "LIVE555 Media Server" doing its job. Note that the server works by dynamically allocating a "ServerMediaSession" object (and appropriate "ServerMediaSubsession" objects) for each file that it streams. This object remains allocated even when the stream stops (but will get reused the next time that the same file is streamed). In any case, the allocated memory (for each file that gets streamed) is very small. There would be a "memory leak" only if the allocated memory keeps increasing whenever the *same* file is streamed several times in succession. If you see that happening, let me know. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Jan 8 06:05:46 2009 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 8 Jan 2009 12:05:46 -0200 Subject: [Live-devel] Memory Leaks ! In-Reply-To: <676630.76322.qm@web15602.mail.cnb.yahoo.com> References: <676630.76322.qm@web15602.mail.cnb.yahoo.com> Message-ID: See my previous message to the list. (And *do not* send the same message to the list multiple times!) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From gabriele.deluca at hotmail.com Thu Jan 8 03:16:18 2009 From: gabriele.deluca at hotmail.com (Gabriele De Luca) Date: Thu, 8 Jan 2009 12:16:18 +0100 Subject: [Live-devel] Multiplexing RTP and RTCP Message-ID: Hi Ross,I read this draft:http://tools.ietf.org/html/draft-ietf-avt-rtp-and-rtcp-mux-07 the use of RTC and RTCP muxed on a single port, it's live555 compatible? Thanks in advance _________________________________________________________________ Party? con Eventi! http://events.live.com/?showunauth=1 From miguelcr85 at gmail.com Fri Jan 9 08:26:52 2009 From: miguelcr85 at gmail.com (=?ISO-8859-1?Q?Miguel_Carretero_Rodr=EDguez?=) Date: Fri, 9 Jan 2009 17:26:52 +0100 Subject: [Live-devel] Implementation of Live555 Streaming media in smart phone Message-ID: Hello! I've been using the testonDemandRTSPServer on my computer and it ran ok, I could stream an .m4e file to a client. But now, I would like to implement it in my smart phone, I mean, I need to get video from my smartphone's camera and stream it to a server, but I have a big problem, because I how to compile this code in my smartphone or how to have access to the video. Could someone help me? I would be very grateful. Thank you very much. -------------- next part -------------- An HTML attachment was scrubbed... URL: From erik at hovland.org Fri Jan 9 08:49:08 2009 From: erik at hovland.org (Erik Hovland) Date: Fri, 9 Jan 2009 08:49:08 -0800 Subject: [Live-devel] Implementation of Live555 Streaming media in smart phone In-Reply-To: References: Message-ID: > Hello! > I've been using the testonDemandRTSPServer on my computer and it ran ok, I > could stream an .m4e file to a client. But now, I would like to implement it > in my smart phone, I mean, I need to get video from my smartphone's camera > and stream it to a server, but I have a big problem, because I how to > compile this code in my smartphone or how to have access to the video. Could > someone help me? I would be very grateful. This post is largely off-topic. Live555 is written in C++ using no STL. So it is likely to work in the simplest environments w/ even very old C++ compilers. So if you can dig up a development environment for your phone that has a C++ compiler, you are likely not going to have trouble w/ Live555. Please consult the communities or companies behind your phone. E -- Erik Hovland erik at hovland.org http://hovland.org/ From matt at schuckmannacres.com Fri Jan 9 10:32:14 2009 From: matt at schuckmannacres.com (Matt Schuckmann) Date: Fri, 09 Jan 2009 10:32:14 -0800 Subject: [Live-devel] What to do when fNumTruncatedBytes > 0 Message-ID: <4967982E.5030805@schuckmannacres.com> I'm wondering what I can do when fNumTruncatedBytes is > 0 on either the client or server side. On the server side the problem arises when my NAL unit is larger than the buffer allocated when the StreamFramer object is created and we don't know how big of a NAL might come along. On the client side the problem arises when a NAL unit larger than the buffer allocated when the MediaSink object is created when there is no way to know just how big a NAL unit might come along. Is there anything I can do here other than just make the buffers really big when things startup? At a minimum it would be nice to grow the buffers when one of these events occur to minimize the chance that it will happen again. Ideal would be some way to deliver/receive the truncated bytes. Thanks Matt S. From steve at gravityperformance.net Sat Jan 10 11:04:47 2009 From: steve at gravityperformance.net (Stephen Berry) Date: Sat, 10 Jan 2009 14:04:47 -0500 Subject: [Live-devel] streaming MPEG4 without VOSS & VOS markers Message-ID: <4968F14F.9010701@gravityperformance.net> Hopefully someone can help me with this... I have a Davinci DM355 processor that creates an MPEG4 elementary stream - BUT - does not generate the VOSS and VOS headers. I'd like to modify the live555 library so that it does the right thing for my app when it sees this type of stream. Suggestions on what to modify are very welcome. Thanks, Steve Berry Gravity Performance gravity-performance.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From aditya.vikram at aricent.com Wed Jan 14 00:22:10 2009 From: aditya.vikram at aricent.com (Aditya Vikram) Date: Wed, 14 Jan 2009 13:52:10 +0530 Subject: [Live-devel] RTSP clinet Message-ID: Hi all, Does addata () function of filesink writes one complete frame in to the file ? Aditya ________________________________ "DISCLAIMER: This message is proprietary to Aricent and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error,please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. Aricent accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus." -------------- next part -------------- An HTML attachment was scrubbed... URL: From filippo_rossi80 at yahoo.com Wed Jan 14 23:46:28 2009 From: filippo_rossi80 at yahoo.com (Filippo Rossi) Date: Wed, 14 Jan 2009 23:46:28 -0800 (PST) Subject: [Live-devel] changing frames' resolution during a stream Message-ID: <632424.94413.qm@web111212.mail.gq1.yahoo.com> Hi, I have to send a multicast MPEG4 stream with frames that can change the resolution (from 320x240 <----> 640x480) during the time. Does "testMPEG4VideoStreamer" already support this situation or should I add/change something in the code ? Thanks in advance for your reply, Filippo Rossi -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Thu Jan 15 23:41:37 2009 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 16 Jan 2009 05:41:37 -0200 Subject: [Live-devel] changing frames' resolution during a stream In-Reply-To: <632424.94413.qm@web111212.mail.gq1.yahoo.com> References: <632424.94413.qm@web111212.mail.gq1.yahoo.com> Message-ID: >I have to send a multicast MPEG4 stream with frames that can change >the resolution (from 320x240 <----> 640x480) during the time. >Does "testMPEG4VideoStreamer" already support this situation or >should I add/change something in the code ? The screen resolution should already be self-described by the contents of the MPEG-4 video data - independent of RTP/RTSP - so any changes to this information should be picked up automatically by your decoder (if it's any good). I.e., screen resolution is a property of the MPEG-4 video data, and has nothing to do with RTP, or our software. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From edward at v-ecom.com Fri Jan 16 01:07:15 2009 From: edward at v-ecom.com (Edward) Date: Fri, 16 Jan 2009 17:07:15 +0800 Subject: [Live-devel] aac headers In-Reply-To: References: Message-ID: <49704E43.90707@v-ecom.com> Hi, openrtsp only output raw audio files that are not playable on any player. i used faad to create an aac file from the raw audio file. is it possible to add the headers directly from openrtsp? which part of the code do i edit so i can insert the faad library? live-devel-request at ns.live555.com wrote: > Send live-devel mailing list submissions to > live-devel at lists.live555.com > > To subscribe or unsubscribe via the World Wide Web, visit > http://lists.live555.com/mailman/listinfo/live-devel > or, via email, send a message with subject or body 'help' to > live-devel-request at lists.live555.com > > You can reach the person managing the list at > live-devel-owner at lists.live555.com > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of live-devel digest..." > > > Today's Topics: > > 1. Re: Memory leaks (Ross Finlayson) > 2. Re: Memory Leaks ! (Ross Finlayson) > 3. Multiplexing RTP and RTCP (Gabriele De Luca) > 4. Implementation of Live555 Streaming media in smart phone > ( Miguel Carretero Rodr?guez ) > 5. Re: Implementation of Live555 Streaming media in smart phone > (Erik Hovland) > 6. What to do when fNumTruncatedBytes > 0 (Matt Schuckmann) > 7. streaming MPEG4 without VOSS & VOS markers (Stephen Berry) > 8. RTSP clinet (Aditya Vikram) > 9. changing frames' resolution during a stream (Filippo Rossi) > 10. Re: changing frames' resolution during a stream (Ross Finlayson) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Thu, 8 Jan 2009 12:05:00 -0200 > From: Ross Finlayson > Subject: Re: [Live-devel] Memory leaks > To: LIVE555 Streaming Media - development & use > > Message-ID: > Content-Type: text/plain; charset="us-ascii" ; format="flowed" > > >> I am sending the file which describes regarding the >> memory leak in the code. >> > > I'm not convinced that any of these are real memory leaks; instead, > they seem to just be the "LIVE555 Media Server" doing its job. > > Note that the server works by dynamically allocating a > "ServerMediaSession" object (and appropriate "ServerMediaSubsession" > objects) for each file that it streams. This object remains > allocated even when the stream stops (but will get reused the next > time that the same file is streamed). In any case, the allocated > memory (for each file that gets streamed) is very small. > > There would be a "memory leak" only if the allocated memory keeps > increasing whenever the *same* file is streamed several times in > succession. If you see that happening, let me know. > From zhisun.tech at gmail.com Fri Jan 16 01:13:03 2009 From: zhisun.tech at gmail.com (zhi sun) Date: Fri, 16 Jan 2009 17:13:03 +0800 Subject: [Live-devel] What is the the minmum CPU frequence requirement to run live555 smoothly? Message-ID: <54ced3240901160113h58c20969v5f57dfe49d6d352d@mail.gmail.com> Hi, I am able to transform and run live555 on our embeded device with 300M CPU. It can work with correct functiona, but it is slow, even only let the live555 task run (no other tasks run at the same time). To send one I frame (720x480), it taks about 2 seconds to send out the I frame (by sending about 22 RTP package, and take about 0.08 second between every package). As a result, the speed is 110 kbit bytes/s and about 0.33 fps Note that I have set the fDurationInmicrosecond to 0, and the fPresentationTime to current time. I have tried it on PC (dup 3G CPU) with WindowsXP with full speed (fDurationInmicrosecond= 0). The speed is about 2000-2300 kbit bytes/second, and 7-8 fps. All of the frame is I type (720x480). considering the CPU frequence, it looks like to the bottleneck (2*10*110 is about 2200 kbit bytes). [Question] Here, I want to see if it is a known issue? What is the the minmum CPU frequence requirement to run live555 smoothly? Thanks, -kevin -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Fri Jan 16 05:15:18 2009 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 16 Jan 2009 11:15:18 -0200 Subject: [Live-devel] aac headers In-Reply-To: <49704E43.90707@v-ecom.com> References: <49704E43.90707@v-ecom.com> Message-ID: >openrtsp only output raw audio files that are not playable on any player. Well, that depends on the codec, of course. > i used faad to create an aac file from the raw audio file. is it >possible to add the headers directly from openrtsp? which part of >the code do i edit so i can insert the faad library? You don't 'edit' any part of the existing code; the existing code works just fine. Instead, you would write your own filter object (i.e., a subclass of "FramedFilter") that *uses* the existing libraries to convert the raw audio frames into whatever output format you desire. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From renatomauro at libero.it Fri Jan 16 07:09:49 2009 From: renatomauro at libero.it (Renato MAURO (Libero)) Date: Fri, 16 Jan 2009 16:09:49 +0100 Subject: [Live-devel] Reclaiming live clientsessions Message-ID: Hi Ross. I sent this e-mail on jenuary the 7th in an existing thread. I apologize for my fault. Here it is same question. In the past you sayd (let me not search that mail!) that by now there is not a way to release live clientsessions when the RTSPServer is being deleted. I solved this issue with some code and I'd like to know your opinion about my solution. I defined fRTSPClientSessions in RTSPServer the same way it has fServerMediaSessions. So in the RTSPServer constructor we find: [code] fServerMediaSessions(HashTable::create(STRING_HASH_KEYS)), #if (USE_CLIENT_SESSION_MANAGEMENT) fRTSPClientSessions(HashTable::create(STRING_HASH_KEYS)), #endif // USE_CLIENT_SESSION_MANAGEMENT [/code] and in the RTSPServer destructor we find [code] ::closeSocket(fServerSocket); #if (USE_CLIENT_SESSION_MANAGEMENT) // rimozione di eventuali client ancora presenti // deletion of live clients, if any while (1) { RTSPClientSession* rtspClientSession = (RTSPClientSession*)fRTSPClientSessions->RemoveNext(); if (rtspClientSession == NULL) break; try { delete rtspClientSession ; }catch(...) { int a = 10 ; // for debug purpose } } #endif // USE_CLIENT_SESSION_MANAGEMENT // Remove all server media sessions (they'll get deleted when they're finished): while (1) { ServerMediaSession* serverMediaSession = (ServerMediaSession*)fServerMediaSessions->RemoveNext(); if (serverMediaSession == NULL) break; removeServerMediaSession(serverMediaSession); } // Finally, delete the session table itself: delete fServerMediaSessions; #if (USE_CLIENT_SESSION_MANAGEMENT) delete fRTSPClientSessions ; #endif // USE_CLIENT_SESSION_MANAGEMENT [/code] In RTSPServer::RTSPClientSession constructor we find [code] fTCPStreamIdCount(0), fNumStreamStates(0), fStreamStates(NULL) { #if (USE_CLIENT_SESSION_MANAGEMENT) char strKey[50] ; unsigned __int64 ullAddress = (unsigned __int64)this ; sprintf( strKey, "%I64u", ullAddress ) ; // add without check for previous existing key fOurServer.fRTSPClientSessions->Add( strKey, this ) ; #endif // USE_CLIENT_SESSION_MANAGEMENT // Arrange to handle incoming requests: [/code] and in RTSPServer::RTSPClientSession destructor we find [code] reclaimStreamStates(); #if (USE_CLIENT_SESSION_MANAGEMENT) char strKey[50] ; unsigned __int64 ullAddress = (unsigned __int64)this ; sprintf( strKey, "%I64u", ullAddress ) ; fOurServer.fRTSPClientSessions->Remove( strKey ) ; #endif // USE_CLIENT_SESSION_MANAGEMENT [/code] Ross, is there any pitfall in this clientsession management? Thank you very much, Renato -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Sat Jan 17 06:01:32 2009 From: finlayson at live555.com (Ross Finlayson) Date: Sat, 17 Jan 2009 12:01:32 -0200 Subject: [Live-devel] Multiplexing RTP and RTCP In-Reply-To: References: Message-ID: >I read this >draft:http://tools.ietf.org/html/draft-ietf-avt-rtp-and-rtcp-mux-07 >the use of RTC and RTCP muxed on a single port, it's live555 compatible? No, not at present. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Sat Jan 17 10:01:24 2009 From: finlayson at live555.com (Ross Finlayson) Date: Sat, 17 Jan 2009 16:01:24 -0200 Subject: [Live-devel] RTSP clinet In-Reply-To: References: Message-ID: >Does addata () function of filesink writes one complete frame in to >the file ? Yes. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Sat Jan 17 10:30:01 2009 From: finlayson at live555.com (Ross Finlayson) Date: Sat, 17 Jan 2009 16:30:01 -0200 Subject: [Live-devel] SR Report In-Reply-To: <181832658820940@lycos-europe.com> References: <181832658820940@lycos-europe.com> Message-ID: >I made a server side application. >So, I need to send SR report to client of my application. Don't worry; this happens automatically (as a result of a "RTCPInstance" object being created for the "RTPSink" object). There is nothing more that you need to do. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Sat Jan 17 18:50:51 2009 From: finlayson at live555.com (Ross Finlayson) Date: Sun, 18 Jan 2009 00:50:51 -0200 Subject: [Live-devel] Reclaiming live clientsessions In-Reply-To: References: Message-ID: First, *do not* send the same message to the mailing list more than once! (Because you did this (and because you're using an unprofessional email address), all future messages from you to the list will be moderated.) Right now I'm not sure there's a clean way to delete RTSP sessions unless they are actually closed (using RTSP "TEARDOWN") beforehand, because otherwise any future incoming RTSP requests or RTCP packets might still try to be handled by the code, using deleted structures. However, as I said before: You can also call "RTSPServer::removeServerMediaSession()". This won't stop any existing stream (it will run until completion), but it will prevent any other clients from requesting the same data. But is this really a problem? How often do you ever delete a RTSP server without destroying the application (process) that contains it. If you destroy the process, all the sockets (and thus client sessions) will get closed automatically. In summary: IMHO, there really isn't a problem/issue here that's important enough to address right now. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From amit.yedidia at elbitsystems.com Sun Jan 18 00:16:16 2009 From: amit.yedidia at elbitsystems.com (Yedidia Amit) Date: Sun, 18 Jan 2009 10:16:16 +0200 Subject: [Live-devel] Extending RTSPClinetSession class Message-ID: Hi, I am trying to extend RTSPClientSession to support "SET_PARAMETER". However the class is declared as private within the RTSPServer class. In addition the IncomingRequestHandler1 which I should override, is also declared as private within the RTSPClientSession class. Should I change both of them to "protected" or you got any other idea? It was much simpler if there was a generic set_parameter func that could be assgned to user func. Regards, Amit Yedidia Elbit System Ltd. Email: amit.yedidia at elbitsystems.com Tel: 972-4-8318905 ---------------------------------------------------------- The information in this e-mail transmission contains proprietary and business sensitive information. Unauthorized interception of this e-mail may constitute a violation of law. If you are not the intended recipient, you are hereby notified that any review, dissemination, distribution or duplication of this communication is strictly prohibited. You are also asked to contact the sender by reply email and immediately destroy all copies of the original message. -------------- next part -------------- An HTML attachment was scrubbed... URL: From i_liketowin at mail.bg Sun Jan 18 01:28:12 2009 From: i_liketowin at mail.bg (i_liketowin at mail.bg) Date: Sun, 18 Jan 2009 11:28:12 +0200 Subject: [Live-devel] UNSUPPORTED TYPE(0xca) In-Reply-To: References: <181832658820940@lycos-europe.com> Message-ID: <20090118112812.62q1k9oc9c8cssok@mail.bg> Hi ! I`ve made x264VideoStreamFramer created/deleted by own MyTCPOnDemandServerMediaSubsession (inherited from OnDemandServerMediaSubsession). I get this message in my ( DEBUG defined compiled ) live555 RTSP/RTP/RTCP server: validated RTCP subpacket (type 2): 1, 201, 0, 0x800057f8 UNSUPPORTED TYPE(0xca) I get it even while using live555 supplied player (playcommon.cpp). What can cause this ? I have another question also - how can I unschedule (purge) all scheduled tasks for given TaskFunc to prevent calling it later if i`ve managed to handle the event before it got called ? ------------------------------------- ICN.Bg ? ???-???????? ???? ?? ??????? ?????? ?? ?????????? ????? ??????? ?? 2.60 ??. ? ??? | ????????? ?????? ??? ??????? ??????? VPS ??????? - 42 ??. ? ???| ????? ??????? - 149 ??. ? ??? http://icn.bg/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From gabriele.deluca at hotmail.com Thu Jan 15 05:41:40 2009 From: gabriele.deluca at hotmail.com (Gabriele De Luca) Date: Thu, 15 Jan 2009 14:41:40 +0100 Subject: [Live-devel] scheduleNextQOSMeasurement() bug? Message-ID: Hi Ross,I would like to report a possible bug in scheduleNextQOSMeasurement(): unsigned usecsToDelay = nextQOSMeasurementUSecs < timeNowUSecs ? 0 : nextQOSMeasurementUSecs - timeNowUSecs; I think that should be so: unsigned usecsToDelay = nextQOSMeasurementUSecs < timeNowUSecs ? qosMeasurementIntervalMS*1000 : nextQOSMeasurementUSecs - timeNowUSecs; because after several minutes, nextQOSMeasurementUSecs exceeds the size of sizeof (unsigned long) that is 4294967295.This makes qosMeasurementTimerTask = env->taskScheduler().scheduleDelayedTask(usecsToDelay,(TaskFunc*)periodicQOSMeasurement, (void*)NULL); to don't delay periodicQOSMeasurement (usecsToDelay=0). Regards, Gabriele De Luca _________________________________________________________________ 25 GB di spazio online per archiviare i tuoi file. Gratis! http://skydrive.live.com/?showunauth=1 From edward at v-ecom.com Sun Jan 18 18:54:33 2009 From: edward at v-ecom.com (Edward) Date: Mon, 19 Jan 2009 10:54:33 +0800 Subject: [Live-devel] aac headers In-Reply-To: References: Message-ID: <4973EB69.2050306@v-ecom.com> Thank you. I will look in to this. From aditya.vikram at aricent.com Sun Jan 18 23:33:45 2009 From: aditya.vikram at aricent.com (Aditya Vikram) Date: Mon, 19 Jan 2009 13:03:45 +0530 Subject: [Live-devel] RTSP clinet In-Reply-To: References: Message-ID: Hi I have written a DirectShow filter using playcomman.cpp program . Basically I want to support mpeg4, h264 and h263 in my filter ..I have implemented my filter as a RTSP client as well as simple RTP receiver (in this case SDP is set by another element not part of filter).Filter (RTSP based) is working fine with mpeg4 and h263 .I am using VLC for RTSP server and I have modified testMPEG1or2VideoStreamer.cpp by changing //videoSink = MPEG1or2VideoRTPSink::createNew(*env, &rtpGroupsock); videoSink = MPEG4ESVideoRTPSink::createNew(*env, &rtpGroupsock,96,9000); Now when I invoke the filter and run testMPEG1or2VideoStreamer streamer is not writing packets continuously that's why directX renderer get stuck for some time. So where is the problem. ________________________________ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: Saturday, January 17, 2009 11:31 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] RTSP clinet Does addata () function of filesink writes one complete frame in to the file ? Yes. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ ________________________________ "DISCLAIMER: This message is proprietary to Aricent and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error,please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. Aricent accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus." -------------- next part -------------- An HTML attachment was scrubbed... URL: From lukasz.minkiewicz at sprint.pl Sun Jan 18 21:34:51 2009 From: lukasz.minkiewicz at sprint.pl (Lukasz Minkiewicz) Date: Mon, 19 Jan 2009 06:34:51 +0100 (CET) Subject: [Live-devel] Multicast using codec from microphone Message-ID: <64299.83.15.127.246.1232343291.squirrel@webmail.sprint.pl> Hi, Is there a simple way to multicast audio from microphone using any kind of audio codec (ex. speex)? When I've googled this issue, I've found some solution that sound to me like a black magic;) From finlayson at live555.com Mon Jan 19 03:35:57 2009 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 19 Jan 2009 09:35:57 -0200 Subject: [Live-devel] Extending RTSPClinetSession class In-Reply-To: References: Message-ID: >I am trying to extend RTSPClientSession to support "SET_PARAMETER". > >However the class is declared as private within the RTSPServer class. > >In addition the IncomingRequestHandler1 which I should override, is >also declared as private within the RTSPClientSession class. > >Should I change both of them to "protected" or you got any other idea? No, changing them to "protected" sounds like a good idea for now. > >It was much simpler if there was a generic set_parameter func that >could be assgned to user func. Yes, in a future release I'll probably define a function "handleCmd_SET_PARAMETER()" (and make it, and the other handler functions, virtual), with its default implementation returning 'not supported'. You would then be able to override that virtual function. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From renatomauro at libero.it Mon Jan 19 04:07:30 2009 From: renatomauro at libero.it (Renato MAURO (Libero)) Date: Mon, 19 Jan 2009 13:07:30 +0100 Subject: [Live-devel] Reclaiming live clientsessions References: Message-ID: <922CA24A455C4345BD1E8237B80AACBA@CSystemDev> Hi Ross. > Right now I'm not sure there's a clean way to delete RTSP sessions unless > they are actually closed (using RTSP "TEARDOWN") beforehand, because > otherwise any future incoming RTSP requests or RTCP packets might still > try to be handled by the code, using deleted structures. > > However, as I said before: > You can also call "RTSPServer::removeServerMediaSession()". This won't > stop any existing stream (it will run until completion), but it will > prevent any other clients from requesting the same data. > > But is this really a problem? How often do you ever delete a RTSP server > without destroying the application (process) that contains it. If you > destroy the process, all the sockets (and thus client sessions) will get > closed automatically. > > In summary: IMHO, there really isn't a problem/issue here that's important > enough to address right now. > -- I'm working with a security application (videosurveillance, burglar, fire, access control), which has a 24/7 application. For instance there is an installation with a process started on June 2007 and never closed. The process is never closed, even if an Administrator needs to change the RTSPServer port (for firewall testing/maintenance) or a network attack happens; in both cases, the process creates new Environment, Groupsock, RTSPServer (with the new IP port), thread (doEventLoop) and MediaSessions; then it closes old thread (by watch variable), RTSPServer, Groupsock, Environment, in this order so no incoming RTSP command creates any problem with realesed resources (I hope :-) ). Each client will fall on "Data not available", so it closes the current stream and connects to the new RTSPServer, getting the new port from another encrypted socket, external to live555. In general, if the process shutdowns, it is considered as a tamper attack. Since June 2007, one firewall test and twelve network attacks occurred. The system manages 64 sessions, with normally 36 client connected (other session are requested only in case of an alarm). Now, with a memory profiler, the process has 462 undisposed RTSPClientSessions. I need to follow the rule "each NEW wants its DELETE, and wisely executed". > First, *do not* send the same message to the mailing list more than once! I'm sorry. Watching the mail tree, I wrongly guessed that my question was out of thread and so ignored after your answer to sri kanth. >(Because you did this (and because you're using an unprofessional email >address), I'm a free lance (project cooperator), I don't have any fixed company e-mail address, nor I own a one-man company. > all future messages from you to the list will be moderated.) What could/have I do to avoid this? Thanks for your help and I apologize for any problem or time waste I caused. Renato MAURO > > 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 gabriele.deluca at hotmail.com Mon Jan 19 05:55:09 2009 From: gabriele.deluca at hotmail.com (Gabriele De Luca) Date: Mon, 19 Jan 2009 14:55:09 +0100 Subject: [Live-devel] SR Report Message-ID: Hi Ross, I have to send SR reports manually because myrtpsink use a class that inherits from rtpsink but uses an infinite loop to read the packets within two temporary buffer files. (In fact, my application server side don't send SR report packets!) For this I need to understand how I can from my infinite loop send occasionally reports SR to my clients! Thanks in advance, From matt at schuckmannacres.com Mon Jan 19 09:54:01 2009 From: matt at schuckmannacres.com (Matt Schuckmann) Date: Mon, 19 Jan 2009 09:54:01 -0800 Subject: [Live-devel] Extending RTSPClinetSession class In-Reply-To: References: Message-ID: <4974BE39.1010203@schuckmannacres.com> An HTML attachment was scrubbed... URL: From matt at schuckmannacres.com Mon Jan 19 09:57:26 2009 From: matt at schuckmannacres.com (Matt Schuckmann) Date: Mon, 19 Jan 2009 09:57:26 -0800 Subject: [Live-devel] Reclaiming live clientsessions In-Reply-To: <922CA24A455C4345BD1E8237B80AACBA@CSystemDev> References: <922CA24A455C4345BD1E8237B80AACBA@CSystemDev> Message-ID: <4974BF06.6060600@schuckmannacres.com> I to have similar requirements in that a user may need to reconfigure the server ( different port, different sessions), etc without shutting down the main process. Renato MAURO (Libero) wrote: > > Hi Ross. > >> Right now I'm not sure there's a clean way to delete RTSP sessions >> unless they are actually closed (using RTSP "TEARDOWN") beforehand, >> because otherwise any future incoming RTSP requests or RTCP packets >> might still try to be handled by the code, using deleted structures. >> >> However, as I said before: >> You can also call "RTSPServer::removeServerMediaSession()". This >> won't stop any existing stream (it will run until completion), but it >> will prevent any other clients from requesting the same data. >> >> But is this really a problem? How often do you ever delete a RTSP >> server without destroying the application (process) that contains it. >> If you destroy the process, all the sockets (and thus client >> sessions) will get closed automatically. >> >> In summary: IMHO, there really isn't a problem/issue here that's >> important enough to address right now. >> -- > > I'm working with a security application (videosurveillance, burglar, > fire, access control), which has a 24/7 application. > For instance there is an installation with a process started on June > 2007 and never closed. > > The process is never closed, even if an Administrator needs to change > the RTSPServer port (for firewall testing/maintenance) or a network > attack happens; in both cases, the process creates new Environment, > Groupsock, RTSPServer (with the new IP port), thread (doEventLoop) and > MediaSessions; then it closes old thread (by watch variable), > RTSPServer, Groupsock, Environment, in this order so no incoming RTSP > command creates any problem with realesed resources (I hope :-) ). > Each client will fall on "Data not available", so it closes the > current stream and connects to the new RTSPServer, getting the new > port from another encrypted socket, external to live555. In general, > if the process shutdowns, it is considered as a tamper attack. > > Since June 2007, one firewall test and twelve network attacks > occurred. The system manages 64 sessions, with normally 36 client > connected (other session are requested only in case of an alarm). Now, > with a memory profiler, the process has 462 undisposed > RTSPClientSessions. I need to follow the rule "each NEW wants its > DELETE, and wisely executed". > > >> First, *do not* send the same message to the mailing list more than >> once! > > I'm sorry. Watching the mail tree, I wrongly guessed that my question > was out of thread and so ignored after your answer to sri kanth. > >> (Because you did this (and because you're using an unprofessional >> email address), > > I'm a free lance (project cooperator), I don't have any fixed company > e-mail address, nor I own a one-man company. > >> all future messages from you to the list will be moderated.) > > What could/have I do to avoid this? > > > Thanks for your help and I apologize for any problem or time waste I > caused. > > Renato MAURO > > > > > > >> >> 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 aditya.vikram at aricent.com Tue Jan 20 01:01:04 2009 From: aditya.vikram at aricent.com (Aditya Vikram) Date: Tue, 20 Jan 2009 14:31:04 +0530 Subject: [Live-devel] H264 streaming In-Reply-To: References: Message-ID: Does openRTSP support H.264 streaming, I am using VLC latest version as streaming server. Regards Aditya ________________________________ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Aditya Vikram Sent: Monday, January 19, 2009 1:04 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] RTSP clinet Hi I have written a DirectShow filter using playcomman.cpp program . Basically I want to support mpeg4, h264 and h263 in my filter ..I have implemented my filter as a RTSP client as well as simple RTP receiver (in this case SDP is set by another element not part of filter).Filter (RTSP based) is working fine with mpeg4 and h263 .I am using VLC for RTSP server and I have modified testMPEG1or2VideoStreamer.cpp by changing //videoSink = MPEG1or2VideoRTPSink::createNew(*env, &rtpGroupsock); videoSink = MPEG4ESVideoRTPSink::createNew(*env, &rtpGroupsock,96,9000); Now when I invoke the filter and run testMPEG1or2VideoStreamer streamer is not writing packets continuously that's why directX renderer get stuck for some time. So where is the problem. ________________________________ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: Saturday, January 17, 2009 11:31 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] RTSP clinet Does addata () function of filesink writes one complete frame in to the file ? Yes. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ ________________________________ "DISCLAIMER: This message is proprietary to Aricent and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error,please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. Aricent accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus." ________________________________ "DISCLAIMER: This message is proprietary to Aricent and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error,please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. Aricent accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus." -------------- next part -------------- An HTML attachment was scrubbed... URL: From gabriele.deluca at hotmail.com Tue Jan 20 03:58:03 2009 From: gabriele.deluca at hotmail.com (Gabriele De Luca) Date: Tue, 20 Jan 2009 12:58:03 +0100 Subject: [Live-devel] qosMeasurementRecord problem Message-ID: Hi Ross,I use qosMeasurementRecord and it works!But sometimes, when I open more clients, or when I restart a client, qosMeasurementRecord don't works!The reports, in fact, shows UNAVAIBLE, RECEIVED PACKETS=0, PACKETS LOSS=milions, etc.I follow the example openRTSP to report QoS. The problem happens in a unicast-unicast RTSP interaction. So, I run testOnDemandRTSPServer on my server and my application client on my client.When I close my client sometimes report works, sometimes not!Why? May depend on what? Regards _________________________________________________________________ Party? con Eventi! http://events.live.com/?showunauth=1 From patbob at imoveinc.com Tue Jan 20 09:13:47 2009 From: patbob at imoveinc.com (Patrick White) Date: Tue, 20 Jan 2009 09:13:47 -0800 Subject: [Live-devel] submitting changes? Message-ID: <200901200913.47918.patbob@imoveinc.com> We've been making changes to the library support the needs of the software we're writing. We'd like to submit those changes back to the project. I've looked but can't find any info on how to do that. Can someone point me in the right direction? thanks. From erik at hovland.org Tue Jan 20 09:29:23 2009 From: erik at hovland.org (Erik Hovland) Date: Tue, 20 Jan 2009 09:29:23 -0800 Subject: [Live-devel] submitting changes? In-Reply-To: <200901200913.47918.patbob@imoveinc.com> References: <200901200913.47918.patbob@imoveinc.com> Message-ID: On Tue, Jan 20, 2009 at 9:13 AM, Patrick White wrote: > We've been making changes to the library support the needs of the software > we're writing. We'd like to submit those changes back to the project. > > I've looked but can't find any info on how to do that. Can someone point me > in the right direction? I have successfully gotten patches into live555. I submitted those patches to the list. E -- Erik Hovland erik at hovland.org http://hovland.org/ From finlayson at live555.com Tue Jan 20 14:22:01 2009 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 20 Jan 2009 17:22:01 -0500 Subject: [Live-devel] H264 streaming In-Reply-To: References: Message-ID: >Does openRTSP support H.264 streaming Yes, our RTSP client code (including the "openRTSP" application) can receive standard H.264 RTSP/RTP streams. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Tue Jan 20 18:11:51 2009 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 20 Jan 2009 21:11:51 -0500 Subject: [Live-devel] scheduleNextQOSMeasurement() bug? In-Reply-To: References: Message-ID: >Hi Ross,I would like to report a possible bug in scheduleNextQOSMeasurement(): >unsigned usecsToDelay = nextQOSMeasurementUSecs < timeNowUSecs ? 0 >: nextQOSMeasurementUSecs - timeNowUSecs; >I think that should be so: >unsigned usecsToDelay = nextQOSMeasurementUSecs < timeNowUSecs ? >qosMeasurementIntervalMS*1000 : nextQOSMeasurementUSecs - >timeNowUSecs; > >because after several minutes, nextQOSMeasurementUSecs exceeds the >size of sizeof (unsigned long) that is 4294967295.This makes >qosMeasurementTimerTask = >env->taskScheduler().scheduleDelayedTask(usecsToDelay,(TaskFunc*)periodicQOSMeasurement, >(void*)NULL); >to don't delay periodicQOSMeasurement (usecsToDelay=0). Yes, you're right; that is a bug. However, the solution, I think, is just to replace that line with unsigned usecsToDelay = nextQOSMeasurementUSecs - timeNowUSecs; because that will work correctly even when "nextQOSMeasurementUSecs" has wrapped around. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Jan 20 14:43:00 2009 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 20 Jan 2009 17:43:00 -0500 Subject: [Live-devel] qosMeasurementRecord problem In-Reply-To: References: Message-ID: >Hi Ross,I use qosMeasurementRecord and it works!But sometimes, when >I open more clients, or when I restart a client, >qosMeasurementRecord don't works!The reports, in fact, shows >UNAVAIBLE, RECEIVED PACKETS=0, PACKETS LOSS=milions, etc.I follow >the example openRTSP to report QoS. The problem happens in a >unicast-unicast RTSP interaction. So, I run testOnDemandRTSPServer >on my server and my application client on my client.When I close my >client sometimes report works, sometimes not!Why? I don't know. You'll have to trace through the code (and look at the specific RTSP "SR" packets that you get) to figure out why. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Jan 20 18:04:15 2009 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 20 Jan 2009 21:04:15 -0500 Subject: [Live-devel] Reclaiming live clientsessions In-Reply-To: <922CA24A455C4345BD1E8237B80AACBA@CSystemDev> References: <922CA24A455C4345BD1E8237B80AACBA@CSystemDev> Message-ID: >The process is never closed, even if an Administrator needs to >change the RTSPServer port (for firewall testing/maintenance) This seems like bad system design. You already need to create new processes when you restart the system after a power failure (for example), so you might as well do the same when you reconfigure the system for maintenance. It's certainly a lot easier than trying to maintain the same process indefinitely. >>(Because you did this (and because you're using an unprofessional >>email address), > >I'm a free lance (project cooperator), I don't have any fixed >company e-mail address, nor I own a one-man company. I (and many other people) would *never* consider purchasing Internet-related hardware, software, or services from anyone who uses an email address like "@libero.it", "@gmail.com", or "@hotmail.com". It suggests (rightly or wrongly) that the person both (i) has no afffliation with a company or school that has its own domain name, and (ii) is too unsophisticated to know how to create and use their own Internet identity, with their own domain name. (Note that even if you use a 3rd-party email service, you can often still use an email address with your own domain name.) And please folks, don't give me this crap about working for a 'stealth startup'. If you use a "@gmail.com" (etc.) email address, I'm assuming that the only 'stealthy' things going on will be in your parent's basement when they're out of the house. If/when I need to prioritize, I will continue to discriminate against people who use email addresses like this. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Jan 20 14:59:41 2009 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 20 Jan 2009 17:59:41 -0500 Subject: [Live-devel] SR Report In-Reply-To: References: Message-ID: >I have to send SR reports manually because myrtpsink use a class >that inherits from rtpsink but uses an infinite loop to read the >packets within two temporary buffer files. If you're not willing to use the RTCP implementation ("RTCPInstance") that we provide, then you're not going to get any support from me. Sorry. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Jan 20 18:12:25 2009 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 20 Jan 2009 21:12:25 -0500 Subject: [Live-devel] UNSUPPORTED TYPE(0xca) In-Reply-To: <20090118112812.62q1k9oc9c8cssok@mail.bg> References: <181832658820940@lycos-europe.com> <20090118112812.62q1k9oc9c8cssok@mail.bg> Message-ID: >I get this message in my ( DEBUG defined compiled ) live555 >RTSP/RTP/RTCP server: > >validated RTCP subpacket (type 2): 1, 201, 0, 0x800057f8 >UNSUPPORTED TYPE(0xca) You don't have to worry about these. They are SDES packets. Although our RTCP sending code sends these, our RTCP receiving code doesn't do anything useful with them, which is why we print out that warning message (when in DEBUG mode). >I have another question also - how can I unschedule (purge) all >scheduled tasks for given TaskFunc to prevent calling it later if >i`ve managed to handle the event before it got called ? You can call "TaskScheduler::unscheduleDelayedTask()" to unschedule specific tasks. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Jan 20 18:31:28 2009 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 20 Jan 2009 21:31:28 -0500 Subject: [Live-devel] What to do when fNumTruncatedBytes > 0 In-Reply-To: <4967982E.5030805@schuckmannacres.com> References: <4967982E.5030805@schuckmannacres.com> Message-ID: >I'm wondering what I can do when fNumTruncatedBytes is > 0 on either >the client or server side. I don't really understand this question. "fNumTruncatedBytes" is a variable that is *set* (not queried) by each "FramedSource" subclass (including any new "FramedSource" subclass that you define and implement yourself. (See, for example, the comments in "DeviceSource.cpp".) >Is there anything I can do here other than just make the buffers >really big when things startup? If you're referring to the buffer that each "FramedSource" (subclass) object provides to its upstream object, then the answer is no: The downstream object needs to provide a buffer that's sufficiently large for its upstream object to write into. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From aditya.vikram at aricent.com Wed Jan 21 06:26:24 2009 From: aditya.vikram at aricent.com (Aditya Vikram) Date: Wed, 21 Jan 2009 19:56:24 +0530 Subject: [Live-devel] H264 streaming In-Reply-To: References: Message-ID: I have written RTSP directshow filter on the lines of openRTSP. How can I stop streaming (Teardown) ? ________________________________ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: Wednesday, January 21, 2009 3:52 AM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] H264 streaming Does openRTSP support H.264 streaming Yes, our RTSP client code (including the "openRTSP" application) can receive standard H.264 RTSP/RTP streams. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ ________________________________ "DISCLAIMER: This message is proprietary to Aricent and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error,please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. Aricent accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus." -------------- next part -------------- An HTML attachment was scrubbed... URL: From matt at schuckmannacres.com Wed Jan 21 08:52:10 2009 From: matt at schuckmannacres.com (Matt Schuckmann) Date: Wed, 21 Jan 2009 08:52:10 -0800 Subject: [Live-devel] What to do when fNumTruncatedBytes > 0 In-Reply-To: References: <4967982E.5030805@schuckmannacres.com> Message-ID: <497752BA.6050807@schuckmannacres.com> Ross Finlayson wrote: >> I'm wondering what I can do when fNumTruncatedBytes is > 0 on either >> the client or server side. > > I don't really understand this question. "fNumTruncatedBytes" is a > variable that is *set* (not queried) by each "FramedSource" subclass > (including any new "FramedSource" subclass that you define and > implement yourself. (See, for example, the comments in > "DeviceSource.cpp".) > > Lets see if I can describe this right. For my server it's my H264Source class (derived from H264VideoStreamFramer) that sets fNumTruncatedBytes to tell the framework that a NAL packet is too big for the buffer who's size is fixed (I can't currently remember where it set). I'm really not sure why the framework cares about this since it appears to do nothing with the information. On the client side fNumTruncatedBytes is set by the framework and passed to my afterGettingFrame method (of my videoSink class), again this is set as a result of a NAL packet or frame that is to large for a fixed sized buffer (again I can't remember where this buffer size is set). Again there appears to be nothing useful I can do with information so why am I told about it. In both cases it appears that the data is just lost you provide no way to recover (or send) the bytes that didn't fit in the fixed size buffer. And I wanted to know if that is really true that there is nothing I can do about the lost data or if I missed something and there is in fact a way to recover. It seems odd to me that in a dynamic system like this with so many unknowns that there is no way to recover or adapt to what amounts to buffer overflow problems like this. Ideally, I'd like a way to send or receive those bytes that didn't fit. At a minimum I'd like a way for my application to say hey I just had a frame that didn't fit, oh well that frame is messed up but I'd better make my buffers a bit bigger so that I don't complete hose the users experience. >> Is there anything I can do here other than just make the buffers >> really big when things startup? > > If you're referring to the buffer that each "FramedSource" (subclass) > object provides to its upstream object, then the answer is no: The > downstream object needs to provide a buffer that's sufficiently large > for its upstream object to write into. How does one know how big to make these buffers? This is especially true of client implementations because I as a programmer have no idea how big of a pipe a user is going to point my application at. Matt S. From csilvers at harris.com Wed Jan 21 12:08:57 2009 From: csilvers at harris.com (Silvers, Christopher) Date: Wed, 21 Jan 2009 15:08:57 -0500 Subject: [Live-devel] Question Concerning OnExpire in rtcp_from_spec Message-ID: Hello, I am having some difficultly understanding why a timeout of a transmission of a RTCP BYE packet in the OnExpire function of rtcp_from_spec.c necessitates an exit() call? Is this condition truly a fatal error for the RTSP server? Thanks, Chris Silvers Harris Corporation -------------- next part -------------- An HTML attachment was scrubbed... URL: From amit.yedidia at elbitsystems.com Wed Jan 21 21:44:37 2009 From: amit.yedidia at elbitsystems.com (Yedidia Amit) Date: Thu, 22 Jan 2009 07:44:37 +0200 Subject: [Live-devel] doEventLoop with fWatchVariable Message-ID: Hi All, I am using the fWatchVariable to notift the eventLoop to exit. (as it should be) However if no connection is avaialble (nothing is waking the loop), this variable will not be tested and the eventLoop is blocked. Is there some "refresh" command to the loop that will force it to wake , so the variable can be tested? Regards, Amit Yedidia Elbit System Ltd. Email: amit.yedidia at elbitsystems.com Tel: 972-4-8318905 ---------------------------------------------------------- The information in this e-mail transmission contains proprietary and business sensitive information. Unauthorized interception of this e-mail may constitute a violation of law. If you are not the intended recipient, you are hereby notified that any review, dissemination, distribution or duplication of this communication is strictly prohibited. You are also asked to contact the sender by reply email and immediately destroy all copies of the original message. -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Wed Jan 21 22:16:32 2009 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 21 Jan 2009 22:16:32 -0800 Subject: [Live-devel] doEventLoop with fWatchVariable In-Reply-To: References: Message-ID: >I am using the fWatchVariable to notift the eventLoop to exit. (as >it should be) > >However if no connection is avaialble (nothing is waking the loop), >this variable will not be tested and the eventLoop is blocked. > >Is there some "refresh" command to the loop that will force it to >wake , so the variable can be tested? Yes, see http://lists.live555.com/pipermail/live-devel/2006-March/004192.html -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From amit.yedidia at elbitsystems.com Wed Jan 21 22:30:50 2009 From: amit.yedidia at elbitsystems.com (Yedidia Amit) Date: Thu, 22 Jan 2009 08:30:50 +0200 Subject: [Live-devel] doEventLoop with fWatchVariable In-Reply-To: Message-ID: thanks :) Regards, Amit Yedidia Elbit System Ltd. Email: amit.yedidia at elbitsystems.com Tel: 972-4-8318905 ---------------------------------------------------------- ________________________________ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: Thursday, January 22, 2009 8:17 AM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] doEventLoop with fWatchVariable I am using the fWatchVariable to notift the eventLoop to exit. (as it should be) However if no connection is avaialble (nothing is waking the loop), this variable will not be tested and the eventLoop is blocked. Is there some "refresh" command to the loop that will force it to wake , so the variable can be tested? Yes, see http://lists.live555.com/pipermail/live-devel/2006-March/004192.html -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ The information in this e-mail transmission contains proprietary and business sensitive information. Unauthorized interception of this e-mail may constitute a violation of law. If you are not the intended recipient, you are hereby notified that any review, dissemination, distribution or duplication of this communication is strictly prohibited. You are also asked to contact the sender by reply email and immediately destroy all copies of the original message. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aditya.vikram at aricent.com Thu Jan 22 03:27:00 2009 From: aditya.vikram at aricent.com (Aditya Vikram) Date: Thu, 22 Jan 2009 16:57:00 +0530 Subject: [Live-devel] doEventLoop In-Reply-To: References: Message-ID: I have written directshow filter for receiving streams.I have encapsulate playcomman.cpp in my code. I am able to play the stream I have spawn a thread startStreaming { Watch = 0 Spawn the Thread } Thread { startPlayingStreams(); env->taskScheduler().doEventLoop(&watch) } In stopStreaming() { Watch = 1;// it force doEventLoop to exit sessionAfterPlaying(); //if I use this method I successfully send and recive Teradown message. //If comment watch=1 then teardown response become wrong WHY ? } In pauseStreaming { Watch = 1;// it force doEventLoop to exit as well as pauseMediaSession (); //if I use this method I successfully send and recive pause message. //If comment watch=1 then pause response become wrong WHY ? } After pause streaming again I invoke startStreaming but after this call bytesReads() (groupsockhelper.cpp) return -1 ? ________________________________ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: Thursday, January 22, 2009 11:47 AM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] doEventLoop with fWatchVariable I am using the fWatchVariable to notift the eventLoop to exit. (as it should be) However if no connection is avaialble (nothing is waking the loop), this variable will not be tested and the eventLoop is blocked. Is there some "refresh" command to the loop that will force it to wake , so the variable can be tested? Yes, see http://lists.live555.com/pipermail/live-devel/2006-March/004192.html -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ ________________________________ "DISCLAIMER: This message is proprietary to Aricent and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error,please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. Aricent accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus." -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Thu Jan 22 05:19:09 2009 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 22 Jan 2009 05:19:09 -0800 Subject: [Live-devel] doEventLoop In-Reply-To: References: Message-ID: I don;t know anything about your custom code, but I hope you've read the FAQ, and are not trying to call the library from more than one thread. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From aditya.vikram at aricent.com Thu Jan 22 05:42:11 2009 From: aditya.vikram at aricent.com (Aditya Vikram) Date: Thu, 22 Jan 2009 19:12:11 +0530 Subject: [Live-devel] doEventLoop In-Reply-To: References: Message-ID: Thanks for reply ,As I have told I am using livemedia for streaming .I have used playcomman.cpp for writing a RTSP client. My steps for testing the play pause functionalities are: TestCase(1) With Live555server 1)play 2)Pause 3)Play Result :fine TestCase(1) With VLC latest server 1)play 2)Pause 3)Play Result :after third step(play) socket error:10054 I want to know How can it be possible? Regards Aditya -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: Thursday, January 22, 2009 6:49 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] doEventLoop I don;t know anything about your custom code, but I hope you've read the FAQ, and are not trying to call the library from more than one thread. -- 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 "DISCLAIMER: This message is proprietary to Aricent and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error,please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. Aricent accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus." From morgan.torvolt at gmail.com Thu Jan 22 16:09:51 2009 From: morgan.torvolt at gmail.com (=?ISO-8859-1?Q?Morgan_T=F8rvolt?=) Date: Fri, 23 Jan 2009 01:09:51 +0100 Subject: [Live-devel] Reclaiming live clientsessions In-Reply-To: References: <922CA24A455C4345BD1E8237B80AACBA@CSystemDev> Message-ID: <3cc3561f0901221609x7cc48a39l9f31ac824fc36177@mail.gmail.com> Heissan. Siden dere er seri?se og en fin stor akt?r og faktisk driver med ting som er relatert, og dere sikkert ogs? synes slike holdninger som vises under er kritikkverdig, s? m? dere gjerne svare p? denne tr?den. Karen som styrer her er litt merkelig til tider, men akkurat dette tungvint for oss som faktisk bruker gmail fordi det b?de er utrolig praktisk og jobb-besparende. Jeg tror faktisk dere kunne hatt moro av ? leke med det han lager ogs? =) mvh -Morgan- On Wed, Jan 21, 2009 at 3:04 AM, Ross Finlayson wrote: >> The process is never closed, even if an Administrator needs to change the >> RTSPServer port (for firewall testing/maintenance) > > This seems like bad system design. You already need to create new processes > when you restart the system after a power failure (for example), so you > might as well do the same when you reconfigure the system for maintenance. > It's certainly a lot easier than trying to maintain the same process > indefinitely. > > >>> (Because you did this (and because you're using an unprofessional email >>> address), >> >> I'm a free lance (project cooperator), I don't have any fixed company >> e-mail address, nor I own a one-man company. > > I (and many other people) would *never* consider purchasing Internet-related > hardware, software, or services from anyone who uses an email address like > "@libero.it", "@gmail.com", or "@hotmail.com". It suggests (rightly or > wrongly) that the person both (i) has no afffliation with a company or > school that has its own domain name, and (ii) is too unsophisticated to know > how to create and use their own Internet identity, with their own domain > name. (Note that even if you use a 3rd-party email service, you can often > still use an email address with your own domain name.) > > And please folks, don't give me this crap about working for a 'stealth > startup'. If you use a "@gmail.com" (etc.) email address, I'm assuming that > the only 'stealthy' things going on will be in your parent's basement when > they're out of the house. > > If/when I need to prioritize, I will continue to discriminate against people > who use email addresses like this. > -- > > 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 eko.sulistyo at drivehq.com Thu Jan 22 22:36:54 2009 From: eko.sulistyo at drivehq.com (eko.sulistyo at drivehq.com) Date: Fri, 23 Jan 2009 06:36:54 GMT Subject: [Live-devel] Object Dumping - Is it normal? (VC++/ MFC ) Message-ID: Hi All, I've been using the library with Ms VC++ 6.0. Now i am also using MFC for my Application architecture. The library has been integrated smoothly and everything works fine. Just my curiosity, When i am in debug mode, after exiting my application, the VC++ reporting object dump but it didn't report any memory leak. It seems that the object came from LiveMedia module. Is there something needs to be done in the code to eliminate this issue in debug mode? Or this is normal condition? Thank you very much. Best regards, Eko SA. -------------------- The Real email service that supports SMTP/POP3/Outlook, unlike any free email services! Online Storage & Sharing, Online Backup, FTP hosting and More. Sign up free at: http://www.drivehq.com/?refID=178949&refEmails=&refCode=. -------------- next part -------------- An HTML attachment was scrubbed... URL: From morgan.torvolt at gmail.com Fri Jan 23 03:17:46 2009 From: morgan.torvolt at gmail.com (=?ISO-8859-1?Q?Morgan_T=F8rvolt?=) Date: Fri, 23 Jan 2009 12:17:46 +0100 Subject: [Live-devel] Multicast using codec from microphone In-Reply-To: <64299.83.15.127.246.1232343291.squirrel@webmail.sprint.pl> References: <64299.83.15.127.246.1232343291.squirrel@webmail.sprint.pl> Message-ID: <3cc3561f0901230317h62a7dce8i5e06152045ecbb4d@mail.gmail.com> Use mencoder or vlc I guess. Both can send udp streams to multicast IPs iirc. -Morgan- On Mon, Jan 19, 2009 at 6:34 AM, Lukasz Minkiewicz wrote: > Hi, > Is there a simple way to multicast audio from microphone using any kind of > audio codec (ex. speex)? When I've googled this issue, I've found some > solution that sound to me like a black magic;) > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > From finlayson at live555.com Fri Jan 23 22:41:28 2009 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 23 Jan 2009 22:41:28 -0800 Subject: [Live-devel] Question Concerning OnExpire in rtcp_from_spec In-Reply-To: References: Message-ID: >I am having some difficultly understanding why a timeout of a >transmission of a RTCP BYE packet in the OnExpire function of >rtcp_from_spec.c necessitates an exit() call? Is this condition >truly a fatal error for the RTSP server? The code in "rtcp_from_spec.c" is (deliberately) an exact, unaltered copy of the RTCP timing code that's in the RTP/RTCP specification: RFC 3550. That's why the call to "exit(1)" is there - it's in the RFC 3550 pseudocode. You're right, though - we really shouldn't be exiting here. A solution - which will be in the next release of the code - is to just redefine "exit()" as a noop in the header file ("rtcp_from_spec.h"). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From tparunkumar1 at gmail.com Sun Jan 25 06:08:59 2009 From: tparunkumar1 at gmail.com (arun kumar) Date: Sun, 25 Jan 2009 19:38:59 +0530 Subject: [Live-devel] possible to encrypt Message-ID: i am doing project broadcast encryption - in LIVE555 Streaming Media in tested program testMPEG1or2AudioVideoStreamer is it possible to encrypt the MPEG file ("using stream cypher") before streaming and decrypt it at receiver side....? -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Sun Jan 25 20:38:21 2009 From: finlayson at live555.com (Ross Finlayson) Date: Sun, 25 Jan 2009 20:38:21 -0800 Subject: [Live-devel] possible to encrypt In-Reply-To: References: Message-ID: >i am doing project broadcast encryption > > > in LIVE555 Streaming Media in tested program >testMPEG1or2AudioVideoStreamer is it possible to encrypt the MPEG >file ("using stream cypher") before streaming and decrypt it at >receiver side....? No, not really, because the parser(s) that this application uses expects to see the input file that's in the proper format (a MPEG Program Stream), and expects to see the enclosed video in the proper format (MPEG Video Elementary Stream). If you encrypt the file, it will no longer be in a form that the parser(s) understand. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From tparunkumar1 at gmail.com Sun Jan 25 21:44:20 2009 From: tparunkumar1 at gmail.com (arun kumar) Date: Mon, 26 Jan 2009 11:14:20 +0530 Subject: [Live-devel] possible to encrypt In-Reply-To: References: Message-ID: 2009/1/26 Ross Finlayson > i am doing project broadcast encryption > > > > - in LIVE555 Streaming Media in tested program > testMPEG1or2AudioVideoStreamer is it possible to encrypt the MPEG file > ("using stream cypher") before streaming and decrypt it at receiver > side....? > > > No, not really, because the parser(s) that this application uses expects to > see the input file that's in the proper format (a MPEG Program Stream), and > expects to see the enclosed video in the proper format (MPEG Video > Elementary Stream). If you encrypt the file, it will no longer be in a form > that the parser(s) understand. > > -- > > > 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 > > thank you for your reply sir is there any possibility to do this. any other way i can implement the above problem. i am in a tight situation. please give me some idea. thankyou arun -------------- next part -------------- An HTML attachment was scrubbed... URL: From morgan.torvolt at gmail.com Mon Jan 26 01:25:19 2009 From: morgan.torvolt at gmail.com (=?ISO-8859-1?Q?Morgan_T=F8rvolt?=) Date: Mon, 26 Jan 2009 10:25:19 +0100 Subject: [Live-devel] possible to encrypt In-Reply-To: References: Message-ID: <3cc3561f0901260125q52952156g438a09691e61352b@mail.gmail.com> 2009/1/26 arun kumar : > > > 2009/1/26 Ross Finlayson >> >> i am doing project broadcast encryption >> >> >> in LIVE555 Streaming Media in tested program >> testMPEG1or2AudioVideoStreamer is it possible to encrypt the MPEG file >> ("using stream cypher") before streaming and decrypt it at receiver >> side....? >> >> No, not really, because the parser(s) that this application uses expects >> to see the input file that's in the proper format (a MPEG Program Stream), >> and expects to see the enclosed video in the proper format (MPEG Video >> Elementary Stream). If you encrypt the file, it will no longer be in a form >> that the parser(s) understand. >> >> -- >> >> 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 >> > thank you for your reply sir > is there any possibility to do this. any other way i can implement the above > problem. > i am in a tight situation. > please give me some idea. > thankyou > arun You can encrypt the actual content, and leave the video structure intact. In fact, encrypting just a part here and there should be enough to ruin the stream, but then you should look trought the standard and figure out a way to signal which content is encrypted. -Morgan- From skramer at inbeeld.eu Mon Jan 26 06:58:53 2009 From: skramer at inbeeld.eu (Steven Kramer) Date: Mon, 26 Jan 2009 15:58:53 +0100 Subject: [Live-devel] RTCP packets sent on wrong-end of HTTP tunnel Message-ID: <8D933366-799F-4796-A4FA-104E6B6660BC@inbeeld.eu> Hi, this is just to let you know there's a small problem with RTCP reports when tunneling over HTTP. I noticed on my custom RTSP proxy that RTCP packets are sent on the GET side of the HTTP tunnel, i.e., the reply side. My HTTP handler breaks the connection because of the extra data that is received after the GET request. I could only work around this for now by removing the call to RTCPInstance::createNew that's in MediaSubsession::initiate. Perhaps the RTCP packets should be sent on the POST side of the tunnel, though, or RTCPInstance::createNew should be disabled if the connection is tunneled. Kind regards, Steven Kramer From sukhbir.singh20 at gmail.com Mon Jan 26 20:28:59 2009 From: sukhbir.singh20 at gmail.com (Sukhbir Singh) Date: Tue, 27 Jan 2009 09:58:59 +0530 Subject: [Live-devel] Single Source of Stream for multiple User Message-ID: <3b2878e60901262028g7edd1d31p17a6436d1c1bdb58@mail.gmail.com> Hi All, I have following requirement: I have a single source of stream, i want to provide these stream to different user. For that one solution is to broadcast the stream, but we do not want to broadcast the stream. We want to play that stream to the user who will request (Using RTSP/SIP) for that stream on our stream. Is there any way to do that without broadcasting. Please suggest me. Thanks in Advance -------------- next part -------------- An HTML attachment was scrubbed... URL: From junseoklee at innotive.com Mon Jan 26 23:41:06 2009 From: junseoklee at innotive.com (Junseok Lee) Date: Tue, 27 Jan 2009 16:41:06 +0900 Subject: [Live-devel] Single Source of Stream for multiple User In-Reply-To: <3b2878e60901262028g7edd1d31p17a6436d1c1bdb58@mail.gmail.com> References: <3b2878e60901262028g7edd1d31p17a6436d1c1bdb58@mail.gmail.com> Message-ID: <12bf2e820901262341q3c31e976j4e677231fd1956cb@mail.gmail.com> have you considered the multicast option? unlike broadcast, you can make a single stream of packets reach only the ones who subscribe to a specific multicast group. -andy 2009/1/27 Sukhbir Singh > Hi All, > > I have following requirement: > > I have a single source of stream, i want to provide these stream to > different user. > For that one solution is to broadcast the stream, but we do not want to > broadcast the stream. > We want to play that stream to the user who will request (Using > RTSP/SIP) for that stream on our stream. > Is there any way to do that without broadcasting. > > Please suggest me. > > Thanks in Advance > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From amit.yedidia at elbitsystems.com Mon Jan 26 23:58:33 2009 From: amit.yedidia at elbitsystems.com (Yedidia Amit) Date: Tue, 27 Jan 2009 09:58:33 +0200 Subject: [Live-devel] Single Source of Stream for multiple User In-Reply-To: <3b2878e60901262028g7edd1d31p17a6436d1c1bdb58@mail.gmail.com> Message-ID: yes. you can use the OnDemandSubsession, with settting reuseSouce=1 In addition there is a support in multi-unicast. This will generate rtp stream toward each client from the same source (duplicate the packet) Regards, Amit Yedidia Elbit System Ltd. Email: amit.yedidia at elbitsystems.com Tel: 972-4-8318905 ---------------------------------------------------------- ________________________________ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Sukhbir Singh Sent: Tuesday, January 27, 2009 6:29 AM To: live-devel at ns.live555.com Subject: [Live-devel] Single Source of Stream for multiple User Hi All, I have following requirement: I have a single source of stream, i want to provide these stream to different user. For that one solution is to broadcast the stream, but we do not want to broadcast the stream. We want to play that stream to the user who will request (Using RTSP/SIP) for that stream on our stream. Is there any way to do that without broadcasting. Please suggest me. Thanks in Advance The information in this e-mail transmission contains proprietary and business sensitive information. Unauthorized interception of this e-mail may constitute a violation of law. If you are not the intended recipient, you are hereby notified that any review, dissemination, distribution or duplication of this communication is strictly prohibited. You are also asked to contact the sender by reply email and immediately destroy all copies of the original message. -------------- next part -------------- An HTML attachment was scrubbed... URL: From finlayson at live555.com Tue Jan 27 05:05:50 2009 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 27 Jan 2009 05:05:50 -0800 Subject: [Live-devel] RTCP packets sent on wrong-end of HTTP tunnel In-Reply-To: <8D933366-799F-4796-A4FA-104E6B6660BC@inbeeld.eu> References: <8D933366-799F-4796-A4FA-104E6B6660BC@inbeeld.eu> Message-ID: >this is just to let you know there's a small problem with RTCP >reports when tunneling over HTTP. I noticed on my custom RTSP proxy >that RTCP packets are sent on the GET side of the HTTP tunnel, i.e., >the reply side Yes, you're right - this is a bug. I'll try to fix it soon. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From skramer at inbeeld.eu Tue Jan 27 08:10:07 2009 From: skramer at inbeeld.eu (Steven Kramer) Date: Tue, 27 Jan 2009 17:10:07 +0100 Subject: [Live-devel] RTCP packets sent on wrong-end of HTTP tunnel In-Reply-To: References: <8D933366-799F-4796-A4FA-104E6B6660BC@inbeeld.eu> Message-ID: <02E2CA8B-6EC1-4F98-B4E8-990D5626B50E@inbeeld.eu> Op 27 jan 2009, om 14:05 heeft Ross Finlayson het volgende geschreven: >> this is just to let you know there's a small problem with RTCP >> reports when tunneling over HTTP. I noticed on my custom RTSP proxy >> that RTCP packets are sent on the GET side of the HTTP tunnel, >> i.e., the reply side > > Yes, you're right - this is a bug. I'll try to fix it soon. Will you remove RTCP-over-HTTP entirely or just send it on the other channel - if that's even allowed? Just curious. Regards Steven Kramer From finlayson at live555.com Thu Jan 29 01:39:00 2009 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 29 Jan 2009 01:39:00 -0800 Subject: [Live-devel] RTCP packets sent on wrong-end of HTTP tunnel In-Reply-To: <02E2CA8B-6EC1-4F98-B4E8-990D5626B50E@inbeeld.eu> References: <8D933366-799F-4796-A4FA-104E6B6660BC@inbeeld.eu> <02E2CA8B-6EC1-4F98-B4E8-990D5626B50E@inbeeld.eu> Message-ID: >Op 27 jan 2009, om 14:05 heeft Ross Finlayson het volgende geschreven: > >>>this is just to let you know there's a small problem with RTCP >>>reports when tunneling over HTTP. I noticed on my custom RTSP >>>proxy that RTCP packets are sent on the GET side of the HTTP >>>tunnel, i.e., the reply side >> >>Yes, you're right - this is a bug. I'll try to fix it soon. > >Will you remove RTCP-over-HTTP entirely or just send it on the other >channel - if that's even allowed? RTCP is a mandatory part of the RTP/RTCP standard, so the client will continue to sent RTCP "RR" packets - but interleaved over the "POST" (client->server) channel. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From etienne.bomcke at uclouvain.be Wed Jan 28 10:01:54 2009 From: etienne.bomcke at uclouvain.be (etienne) Date: Wed, 28 Jan 2009 19:01:54 +0100 Subject: [Live-devel] Still working on a h264 framer In-Reply-To: References: <550c59e90806261930i18e56143n21e5c6d03bd1d6a2@mail.gmail.com> Message-ID: <2ACD5AE3-A538-4A95-9174-CA022C47C1BF@uclouvain.be> Hi guys, I'm trying to use Mike's code inside the live555MediaServer application in order to stream H.264 encoded file on demand. I created a H264VideoFileServerMediaSubsession, based on MPEG4's version, and I added a piece of code to parse the SPS/PPS and format it in the sprop_parameter_sets_str string. Right now this parsing is done inside H264VideoFileServerMediaSubsession, more specifically in the createNewStreamSource function. I'm aware that it's probably not the best place to do it, but given my limited knowledge of the live555 library it was the quickest solution that I could think of. I managed to get it working, but it's far from being perfect, so I thought I could ask you a few questions. First of all : what would be the most elegant solution to parse the SPS/PPS in order to get the correct sprop_parameter_sets_str parameter ? I put it in H264VideoFileServerMediaSubsession because it's needed when the function createNewRTPSink is called, was it a good call? Secondly : although the profile_level_id and sprop_parameter_sets_str parameters seem to be both correct (decoded the base64 result and checked it against the file bytestream), the stream is still not watchable with Quicktime. VLC can open the stream, however it freezes on the first frame for a few seconds, and than the playback continues smoothly. Does anyone have an idea on what could cause this behaviour? I didn't have the opportunity to test other files yet, I'll do it tomorrow and post if it solves anything. Regards, Etienne B?mcke Le 27-juin-08 ? 09:19, Ross Finlayson a ?crit : >> The reason why you're stream doesn't work in Quicktime is because >> QuickTime expects something called SDP Parameters - its text that >> describes the stream, and in the case of H.264, >> Quicktime looks into this SDP list to find the SPS and PPS >> information (See RFC Spec section on sprop parameters) >> >> You will have to parse your H.264 file, find the SPS and PPS Nal >> units, (usually they're the first two units in the stream) and >> according to the RFC Spec, base64 encode and append it to your SDP >> Parameters > > More specifically, you should: > 1/ Encode each of these NAL units into a text string, using Base-64. > (For this, you can use our own library function "base64Encode()".) > 2/ Concatenate these strings together, using "," as a separator > 3/ Pass the resulting string to "H264VideoRTPSink::createNew()", as > the "sprop_parameter_sets_str" parameter > -- > > Ross Finlayson > Live Networks, Inc. > http://www.live555.com/ > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From gabriele.deluca at hotmail.com Thu Jan 29 10:41:25 2009 From: gabriele.deluca at hotmail.com (Gabriele De Luca) Date: Thu, 29 Jan 2009 19:41:25 +0100 Subject: [Live-devel] RTSP on UDP Message-ID: Hi Ross, Can live555 RTSP work on UDP? I refer to RTSPServer and RTSPClient on UDP and not TCP! Thanks in advance From renatomauro at libero.it Thu Jan 29 02:54:59 2009 From: renatomauro at libero.it (Renato MAURO (Libero)) Date: Thu, 29 Jan 2009 11:54:59 +0100 Subject: [Live-devel] reclamationTestSeconds in TCP References: <1228491667.49394b9314af0@imp.celeos.eu><65C81D6CF17E41D59C97280D010F6C1F@CSystemDev> Message-ID: <0C3675D3135D4125827F86098EDF922D@CSystemDev> Hi Ross. > It's not your mistake. There is a known problem with the current "LIVE555 > Streaming Media" code: If RTP-over-TCP streaming is used, then incoming > RTSP commands (after the initial "PLAY") will not be recognized by the > server. Does the server ignore the "TEARDOWN" command too? > In the meantime, if you want to use RTP-over-TCP streaming with our > server, then you should *not* send RTSP commands as 'keep alive' > indicators. Instead, you *must* send RTCP "RR" packets. Note that RTCP > is a *mandatory* part of the RTP specification, so if your client does not > send RTCP "RR" packets, then it is not in compliance with the standard, > and you cannot expect a standards-compliant server to work with it. OK, the client I run is live555 RTSPClient. Where could I get an example about sending RTCP "RR" packet and writing its server side handler? Thank you very much, Renato MAURO ----- Original Message ----- From: "Ross Finlayson" To: "LIVE555 Streaming Media - development & use" Sent: Saturday, December 06, 2008 9:46 AM Subject: Re: [Live-devel] reclamationTestSeconds in TCP >> I have an RTSPServer dealing with RTP_UDP clients and >> reclamationTestSeconds set to 45s. >> RTSPClient-s say they are alive by sending a GET_PARAMETER command >> every 20s. >> Everything works fine. >> >> Now I'd like to use the same server with RTP_TCP clients. I see that >> they send the GET_PARAMETER command, nevertheless the server deletes the >> stream after reclamationTestSeconds seconds. >> >> 1) Is right using reclamationTestSeconds with RTP_TCP clients? If yes, >> where is my mistake? > > It's not your mistake. There is a known problem with the current "LIVE555 > Streaming Media" code: If RTP-over-TCP streaming is used, then incoming > RTSP commands (after the initial "PLAY") will not be recognized by the > server. > > In the meantime, if you want to use RTP-over-TCP streaming with our > server, then you should *not* send RTSP commands as 'keep alive' > indicators. Instead, you *must* send RTCP "RR" packets. Note that RTCP > is a *mandatory* part of the RTP specification, so if your client does not > send RTCP "RR" packets, then it is not in compliance with the standard, > and you cannot expect a standards-compliant server to work with it. > -- > > Ross Finlayson > Live Networks, Inc. > http://www.live555.com/ > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > From finlayson at live555.com Thu Jan 29 21:54:17 2009 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 29 Jan 2009 21:54:17 -0800 Subject: [Live-devel] reclamationTestSeconds in TCP In-Reply-To: <0C3675D3135D4125827F86098EDF922D@CSystemDev> References: < 1228491667.49394b9314af0@imp.celeos.eu><65C81D6CF17E41D59C97280D010F6C1F@C SystemDev> <0C3675D3135D4125827F86098EDF922D@CSystemDev> Message-ID: >>It's not your mistake. There is a known problem with the current >>"LIVE555 Streaming Media" code: If RTP-over-TCP streaming is used, >>then incoming RTSP commands (after the initial "PLAY") will not be >>recognized by the server. > >Does the server ignore the "TEARDOWN" command too? Yes. > >>In the meantime, if you want to use RTP-over-TCP streaming with our >>server, then you should *not* send RTSP commands as 'keep alive' >>indicators. Instead, you *must* send RTCP "RR" packets. Note that >>RTCP is a *mandatory* part of the RTP specification, so if your >>client does not send RTCP "RR" packets, then it is not in >>compliance with the standard, and you cannot expect a >>standards-compliant server to work with it. > >OK, the client I run is live555 RTSPClient. Where could I get an >example about sending RTCP "RR" packet and writing its server side >handler? RTCP (including "RR" packets sent by the client) is implemented automatically, by the "RTCPInstance" class. This gets created automatically by the RTSP client. You don't need to do anything else to get this! (Why is it so hard for people to understand that we implement the RTP/RTCP protocol ourself, and that developers do not need to concern themselves with things like RTP timestamps, RTP sequence numbers, or RTCP packets?) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Jan 29 22:42:49 2009 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 29 Jan 2009 22:42:49 -0800 Subject: [Live-devel] RTSP on UDP In-Reply-To: References: Message-ID: >Can live555 RTSP work on UDP? >I refer to RTSPServer and RTSPClient on UDP and not TCP! No. Although RTSP-over-UDP was men tioned briefly in the original RTSP 1.0 specification, noone (including us) ever implemented it, and it will not be part of RTSP 2.0. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Jan 29 23:12:23 2009 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 29 Jan 2009 23:12:23 -0800 Subject: [Live-devel] Still working on a h264 framer In-Reply-To: <2ACD5AE3-A538-4A95-9174-CA022C47C1BF@uclouvain.be> References: <550c59e90806261930i18e56143n21e5c6d03bd1d6a2@mail.gmail.com> <2ACD5AE3-A538-4A95-9174-CA022C47C1BF@uclouvain.be> Message-ID: >First of all : what would be the most elegant solution to parse the >SPS/PPS in order to get the correct sprop_parameter_sets_str >parameter ? You need to convert these (binary) NAL units into ASCII character strings, using Base-4 encoding. We provide a function "base64Encode()" that you can use to do this. To understand how the "sprop_parameter_sets" string is formed, I suggest looking at the code for our function "parseSPropParameterSets()", which does the opposite (parse an ASCII string into binary NAL units). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Jan 29 23:35:37 2009 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 29 Jan 2009 23:35:37 -0800 Subject: [Live-devel] Still working on a h264 framer In-Reply-To: References: <550c59e90806261930i18e56143n21e5c6d03bd1d6a2@mail.gmail.com> <2ACD5AE3-A538-4A95-9174-CA022C47C1BF@uclouvain.be> Message-ID: >>First of all : what would be the most elegant solution to parse the >>SPS/PPS in order to get the correct sprop_parameter_sets_str >>parameter ? > > >You need to convert these (binary) NAL units into ASCII character >strings, using Base-4 encoding. Of course, I meant Base-64 encoding. > We provide a function "base64Encode()" that you can use to do this. > >To understand how the "sprop_parameter_sets" string is formed, I >suggest looking at the code for our function >"parseSPropParameterSets()", which does the opposite (parse an ASCII >string into binary NAL units).