From finlayson at live555.com Tue Apr 1 00:22:53 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 1 Apr 2008 00:22:53 -0700 Subject: [Live-devel] A question about reading video frames from memory In-Reply-To: <694252.92704.qm@web73710.mail.tp2.yahoo.com> References: <694252.92704.qm@web73710.mail.tp2.yahoo.com> Message-ID: >I try to modified testMPEG4VideoStreamer and find the FramedSource >is file-base. It does not fit my need because video frames are in >memory. I try to find other FramedSource, but no one seems to be >suitable for it. > >So, my question is what FramedSource that can fit my need or any >suggestion can give. I suggest writing your own "FramedSource" subclass - using the code from the existing "ByteStreamFileSource" class as a model, to implement the "doGetNextFrame()" virtual function (assume that "READ_FROM_FILES_SYNCHRONOUSLY" is defined). In your case - because you're reading from frames stored in memory - it should be very simple. (Be sure to set "fPresentationTime" and "fDurationInMicroseconds" for each frame.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From lodewijk at waag.org Tue Apr 1 02:01:26 2008 From: lodewijk at waag.org (lodewijk) Date: Tue, 1 Apr 2008 11:01:26 +0200 Subject: [Live-devel] rtp over http Message-ID: <993E5641-563E-4DFA-9090-79F1C707DEF5@waag.org> hi, It seems like i'm not able anymore to receive rtp over http. While an older build of openRTSP receives data properly, a build with the latest source only results in empty files (audio-MPEG4-GENERIC-1 and video-MP4V-ES-2) and network traffic stopping almost directly after the session has been setup. I'm running MacOSX and receiving data from a Quicktime streaming server. The command I was using : ./openRTSP -t rtsp://x.x.x.x/test.sdp regards, Lodewijk From finlayson at live555.com Tue Apr 1 02:09:58 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 1 Apr 2008 02:09:58 -0700 Subject: [Live-devel] rtp over http In-Reply-To: <993E5641-563E-4DFA-9090-79F1C707DEF5@waag.org> References: <993E5641-563E-4DFA-9090-79F1C707DEF5@waag.org> Message-ID: >hi, > >It seems like i'm not able anymore to receive rtp over http. While an >older build of openRTSP receives data properly, a build with the >latest source only results in empty files (audio-MPEG4-GENERIC-1 and >video-MP4V-ES-2) and network traffic stopping almost directly after >the session has been setup. >I'm running MacOSX and receiving data from a Quicktime streaming >server. The command I was using : > >./openRTSP -t rtsp://x.x.x.x/test.sdp The "-t" option requests RTP-over-TCP, but using the RTSP TCP connection - *not* HTTP. To request RTP-over-HTTP (really, RTP-and-RTSP-over-HTTP), as used by QuickTime Streaming Server (aka. Darwin Streaming Server), use "-T " (note, upper-case T), where is usually 80 or 8000. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From lodewijk at waag.org Tue Apr 1 02:43:19 2008 From: lodewijk at waag.org (lodewijk) Date: Tue, 1 Apr 2008 11:43:19 +0200 Subject: [Live-devel] rtp over http In-Reply-To: References: <993E5641-563E-4DFA-9090-79F1C707DEF5@waag.org> Message-ID: thanks for the quick reply. This option results for me in the same empty files. The exact same options (-t and -T 80) both work on my older (v2007.08.03) build of openRTSP . So I would say that something must have changed. On Apr 1, 2008, at 11:09 AM, Ross Finlayson wrote: >> hi, >> >> It seems like i'm not able anymore to receive rtp over http. While an >> older build of openRTSP receives data properly, a build with the >> latest source only results in empty files (audio-MPEG4-GENERIC-1 and >> video-MP4V-ES-2) and network traffic stopping almost directly after >> the session has been setup. >> I'm running MacOSX and receiving data from a Quicktime streaming >> server. The command I was using : >> >> ./openRTSP -t rtsp://x.x.x.x/test.sdp > > The "-t" option requests RTP-over-TCP, but using the RTSP TCP > connection - *not* HTTP. > > To request RTP-over-HTTP (really, RTP-and-RTSP-over-HTTP), as used by > QuickTime Streaming Server (aka. Darwin Streaming Server), use > "-T " > (note, upper-case T), where is usually 80 or 8000. > -- > > 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 faerber at pi4.informatik.uni-mannheim.de Tue Apr 1 03:12:59 2008 From: faerber at pi4.informatik.uni-mannheim.de (=?ISO-8859-1?Q?Andreas_F=E4rber?=) Date: Tue, 1 Apr 2008 12:12:59 +0200 Subject: [Live-devel] Receiving subsessions with custom codec Message-ID: Hello, When implementing a new video streaming codec, in order to receive its data in a custom client, is the only way to do so to hack MediaSubsession::initiate to recognize and handle the codec? Regards, Andreas From mean.while.mw at gmail.com Tue Apr 1 03:42:16 2008 From: mean.while.mw at gmail.com (mean while) Date: Tue, 1 Apr 2008 18:42:16 +0800 Subject: [Live-devel] stream mp3 Message-ID: hi, I want to stream mp3 with livemedia. The source does not base on file but comes from memory one frame per time. Should I modify the MP3FileSource.cpp & MP3StreamState.cpp to read and parse the data? Should I use mp3adu format? Thanks very much. yours, mw -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080401/b9220e5b/attachment.html From bellaj1 at gmail.com Tue Apr 1 06:29:38 2008 From: bellaj1 at gmail.com (l'alchemiste) Date: Tue, 1 Apr 2008 15:29:38 +0200 Subject: [Live-devel] stream mp3 In-Reply-To: References: Message-ID: hi i want to use live media fo streaming video on windows mobile can yo help me -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080401/ac49aab7/attachment.html From finlayson at live555.com Tue Apr 1 16:50:23 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 1 Apr 2008 16:50:23 -0700 Subject: [Live-devel] Receiving subsessions with custom codec In-Reply-To: References: Message-ID: >When implementing a new video streaming codec, in order to receive its >data in a custom client, is the only way to do so to hack >MediaSubsession::initiate to recognize and handle the codec? Yes. (This is not ideal, but for now it's the only way to do this.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Apr 1 16:53:02 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 1 Apr 2008 16:53:02 -0700 Subject: [Live-devel] rtp over http In-Reply-To: References: <993E5641-563E-4DFA-9090-79F1C707DEF5@waag.org> Message-ID: >thanks for the quick reply. This option results for me in the same >empty files. The exact same options (-t and -T 80) both work on my >older (v2007.08.03) build of openRTSP . >So I would say that something must have changed. Please send us a (publically-accessible) "rtsp://" URL of a stream that illustrates this problem, so we can test this for ourselves. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Apr 1 17:01:26 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 1 Apr 2008 17:01:26 -0700 Subject: [Live-devel] stream mp3 In-Reply-To: References: Message-ID: >From: "mean while" You will be more likely to get an answer to your question if you start conducting yourself in a more professional manner. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From sanathkumar at winfoware.com Tue Apr 1 20:01:28 2008 From: sanathkumar at winfoware.com (sanathkumar) Date: Wed, 2 Apr 2008 08:31:28 +0530 Subject: [Live-devel] Streaming from TV-Tuner Via Live Message-ID: <001301c8946d$dc9927f0$ff240a0a@ss> Hi I refered to wis-streamer code which implements a FramedSource for go7007 tv-tuner I am using the live & wis-streamer on Windows XP service pack 2 I am attempting to build a Windows DirectShow filter which feeds video / audio frames to a custom FramedSource which implements the readfile() which in turn gets framedata from the DirectShow filter I am feeding my Filter from Microsoft MPEG-4 VKI Codec V3 ( Output PIn shows type as MP43) Even though I recve the data in Framed Source , when I connect using VLC nothing happens Please I need some help in understanding - what format the frams should be fed using Framed Source ? Should be in Raw or any specific codec ? Looking forward to any kind of support Thanks in advance Sanath -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080401/7a6b2a78/attachment.html From lodewijk at waag.org Wed Apr 2 01:07:43 2008 From: lodewijk at waag.org (lodewijk) Date: Wed, 2 Apr 2008 10:07:43 +0200 Subject: [Live-devel] rtp over http In-Reply-To: References: <993E5641-563E-4DFA-9090-79F1C707DEF5@waag.org> Message-ID: ah, that would be a live stream from the ceiling of my office: rtsp://qt2.waag.org/test.sdp it should be running all day except for the moments that my computer crashes or network hickups occur On Apr 2, 2008, at 1:53 AM, Ross Finlayson wrote: >> thanks for the quick reply. This option results for me in the same >> empty files. The exact same options (-t and -T 80) both work on my >> older (v2007.08.03) build of openRTSP . >> So I would say that something must have changed. > > Please send us a (publically-accessible) "rtsp://" URL of a stream > that illustrates this problem, so we can test this for ourselves. > -- > > Ross Finlayson > Live Networks, Inc. > http://www.live555.com/ > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From lodewijk at waag.org Wed Apr 2 01:24:25 2008 From: lodewijk at waag.org (lodewijk) Date: Wed, 2 Apr 2008 10:24:25 +0200 Subject: [Live-devel] Streaming from TV-Tuner Via Live In-Reply-To: <001301c8946d$dc9927f0$ff240a0a@ss> References: <001301c8946d$dc9927f0$ff240a0a@ss> Message-ID: <44AAF65D-8AFF-4A73-A8A6-B4FC55E8966B@waag.org> On Apr 2, 2008, at 5:01 AM, sanathkumar wrote: > Hi > I refered to wis-streamer code which implements a FramedSource > for go7007 tv-tuner > I am using the live & wis-streamer on Windows XP service pack 2 > > I am attempting to build a Windows DirectShow filter which > feeds video / audio frames to a custom > FramedSource which implements the readfile() which in turn gets > framedata from the DirectShow filter > I am feeding my Filter from Microsoft MPEG-4 VKI Codec V3 > ( Output PIn shows type as MP43) > > Even though I recve the data in Framed Source , when I connect > using VLC nothing happens > > Please I need some help in understanding - what format the > frams should be fed using Framed Source ? Should be in Raw or any > specific codec ? I would say the format of the frames your FramedSource should deliver depends on which Framer you use. I've made a subclass of FramedSource which encodes MPEG4V frames using Ffmpeg in the doGetNextFrame function. It feeds it frames to an MPEG4ESVideoRTPSink and from then on i did about the same as in the testMPEG4VideoStreamer test program. in short: RTPSink* videoSink = MPEG4ESVideoRTPSink::createNew (*live555usageEnvironment, rtpGroupsock, 96); MySubclassFramedSource* liveVideoSource = MySubclassFramedSource::createNew(*live555usageEnvironment); // encodes the frames using FFMpeg MPEG4VideoStreamFramer *videoFramer = MPEG4VideoStreamFramer::createNew(*live555usageEnvironment, live555VideoSource); videoSink->startPlaying(*videoFramer, live555AfterPlayingFunc, NULL / *clientData*/); > Looking forward to any kind of support > > Thanks in advance > > > Sanath > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080402/dc7d5f21/attachment-0001.html From cha.gascon at gmail.com Wed Apr 2 01:26:43 2008 From: cha.gascon at gmail.com (Cha Gascon) Date: Wed, 2 Apr 2008 16:26:43 +0800 Subject: [Live-devel] Axis camera In-Reply-To: References: <2830135d0802200612i7017bf6ch2396258324246bc4@mail.gmail.com> <47BC3B7A.9080605@totalwire.it> <2830135d0802210131w25fc2249uc4e12ea324858ef2@mail.gmail.com> <47F0C5EE.9020503@totalwire.it> Message-ID: Reverting back to an older version of liveMedia (live.2007.07.25.tar.gz) solved to the problem. Something to do with the current liveMedia (live.2008.02.03)? On Tue, Apr 1, 2008 at 8:46 AM, Ross Finlayson wrote: > >Cha Gascon wrote: > >>I can connect and play the stream but after a while, it will stop > >>streaming. When it actually stops is random, sometimes a few > >>frames, sometimes after getting a lot of frames. > >The axis camera sends a "BYE" after some time. I do not know whether > >it is a bug or a feature... but for sure it is off-standard (the > >axis server is not live555). > > No, the RTCP "BYE" message is a standard. If the camera is sending > this, then it's explicitly telling the client that it's ending the > stream. So the question now becomes: Why is the Axis server choosing > to end the stream? The only reason I can think of is that perhaps it > is timing out because it thinks that the client is inactive. But the > client ("openRTSP") sends RTCP "RR" reports, and these should be > received by the server (because you're using RTP/RTCP-over-TCP), and > the server should be using these as a sign of client liveness. > > So I think your next step should be to ask Axis why their server is > ending the stream (by sending RTCP "BYE" packets). (Because the Axis > camera is not our product, this is not something that we can really > help you with.) > -- > > Ross Finlayson > Live Networks, Inc. > http://www.live555.com/ > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > -- Marie Charisse L. Gascon http://www.chasys.net -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080402/d3674f7f/attachment.html From finlayson at live555.com Wed Apr 2 01:28:58 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 2 Apr 2008 01:28:58 -0700 Subject: [Live-devel] rtp over http In-Reply-To: References: <993E5641-563E-4DFA-9090-79F1C707DEF5@waag.org> Message-ID: >ah, that would be a live stream from the ceiling of my office: > >rtsp://qt2.waag.org/test.sdp This works perfectly for me with "openRTSP" built with the latest version (2008.02.08) of the code, using RTP/UDP, RTP/TCP ("-t"), or RTP/HTTP ("-T 80"). I have no idea why it might not be working for you. Sorry. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Apr 2 01:38:16 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 2 Apr 2008 01:38:16 -0700 Subject: [Live-devel] Streaming from TV-Tuner Via Live In-Reply-To: <001301c8946d$dc9927f0$ff240a0a@ss> References: <001301c8946d$dc9927f0$ff240a0a@ss> Message-ID: >Hi > I refered to wis-streamer code which implements a FramedSource >for go7007 tv-tuner > I am using the live & wis-streamer on Windows XP service pack 2 > > I am attempting to build a Windows DirectShow filter which feeds >video / audio frames to a custom > FramedSource which implements the readfile() which in turn gets >framedata from the DirectShow filter > I am feeding my Filter from Microsoft MPEG-4 VKI Codec V3 ( >Output PIn shows type as MP43) > > Even though I recve the data in Framed Source , when I connect >using VLC nothing happens > > Please I need some help in understanding - what format the frams >should be fed using Framed Source ? Because your input data is a sequence of MPEG-4 video frames, it should be fed to a "MPEG4VideoStreamDiscreteFramer", which in turn is fed to a "MPEG4ESVideoRTPSink". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080402/fb653266/attachment.html From faerber at pi4.informatik.uni-mannheim.de Wed Apr 2 01:57:56 2008 From: faerber at pi4.informatik.uni-mannheim.de (=?ISO-8859-1?Q?Andreas_F=E4rber?=) Date: Wed, 2 Apr 2008 10:57:56 +0200 Subject: [Live-devel] Receiving subsessions with custom codec In-Reply-To: References: Message-ID: <68BCB686-0C71-422D-8F63-A4F5B2F1FD52@pi4.informatik.uni-mannheim.de> Am 02.04.2008 um 01:50 schrieb Ross Finlayson: >> When implementing a new video streaming codec, in order to receive >> its >> data in a custom client, is the only way to do so to hack >> MediaSubsession::initiate to recognize and handle the codec? > > Yes. (This is not ideal, but for now it's the only way to do this.) Okay, thanks for the clarification. (A possible improvement might then be a hashtable mapping the codec to some callback function.) Andreas From dconan0404 at yahoo.com.tw Wed Apr 2 02:09:39 2008 From: dconan0404 at yahoo.com.tw (=?big5?B?1t/Eo6Tl?=) Date: Wed, 2 Apr 2008 17:09:39 +0800 (CST) Subject: [Live-devel] The problem about streaming from TCP connections Message-ID: <737856.53137.qm@web73710.mail.tp2.yahoo.com> Dear all, I have writen a program to get video frames from IP camera and then want to build a TCP socket connection to testMPEG4VideoStreamer. After the connection is built, these live video frames will be sent to live555 through this connection. For this condition, what FramedSource should be used. BasicUDPSource? RTPSource? They don't seem so suitable for it. Thanks for your answer. Best Regards, Conan ______________________________________________________________________________________________________ ?????????Yahoo!??????2.0????????????? http://tw.mg0.mail.yahoo.com/dc/landing From lodewijk at waag.org Wed Apr 2 02:54:43 2008 From: lodewijk at waag.org (lodewijk) Date: Wed, 2 Apr 2008 11:54:43 +0200 Subject: [Live-devel] rtp over http In-Reply-To: References: <993E5641-563E-4DFA-9090-79F1C707DEF5@waag.org> Message-ID: <2E8F71D8-8395-48CC-891B-F0436910F7B2@waag.org> Interesting .... it seems like the MacOSX build acts different from the Linux build, my Linux build works exactly as you say. My MacOSX build does only receive RTP over UDP. When I tell it to use RTSP-over-HTTP tunneling (on port 80), the program finally outputs: ... .... Started playing session Receiving streamed data (signal with "kill -HUP 2349" or "kill -USR1 2349" to terminate)... but no data is coming in. Also the option "-t" and "-T 80" give the same result on MacOSX, while different result on Linux Any idea? gr. Lodewijk On Apr 2, 2008, at 10:28 AM, Ross Finlayson wrote: >> ah, that would be a live stream from the ceiling of my office: >> >> rtsp://qt2.waag.org/test.sdp > > This works perfectly for me with "openRTSP" built with the latest > version (2008.02.08) of the code, using RTP/UDP, RTP/TCP ("-t"), or > RTP/HTTP ("-T 80"). I have no idea why it might not be working for > you. Sorry. > -- > > Ross Finlayson > Live Networks, Inc. > http://www.live555.com/ > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From finlayson at live555.com Wed Apr 2 05:18:15 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 2 Apr 2008 05:18:15 -0700 Subject: [Live-devel] rtp over http In-Reply-To: <2E8F71D8-8395-48CC-891B-F0436910F7B2@waag.org> References: <993E5641-563E-4DFA-9090-79F1C707DEF5@waag.org> <2E8F71D8-8395-48CC-891B-F0436910F7B2@waag.org> Message-ID: >Interesting .... it seems like the MacOSX build acts different from >the Linux build, my Linux build works exactly as you say. >My MacOSX build does only receive RTP over UDP. When I tell it to use >RTSP-over-HTTP tunneling (on port 80), the program finally outputs: >... >.... >Started playing session >Receiving streamed data (signal with "kill -HUP 2349" or "kill -USR1 >2349" to terminate)... > >but no data is coming in. > >Also the option "-t" and "-T 80" give the same result on MacOSX, >while different result on Linux That's strange, because when I did my own testing on your stream, I did so on a computer running Mac OS X (version 10.4.11). > >Any idea? Sorry, no. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Apr 2 05:48:45 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 2 Apr 2008 05:48:45 -0700 Subject: [Live-devel] The problem about streaming from TCP connections In-Reply-To: <737856.53137.qm@web73710.mail.tp2.yahoo.com> References: <737856.53137.qm@web73710.mail.tp2.yahoo.com> Message-ID: >I have writen a program to get video frames from IP camera and then >want to build a TCP socket connection to testMPEG4VideoStreamer. "testMPEG4VideoStreamer" streams using multicast, which cannot be carried via TCP. If you want to stream via TCP, then you should use "testOnDemandRTSPServer" (a unicast application) as a starting point. Please read the FAQ for hints on how to adapt "testOnDemandRTSPServer" to accept MPEG-4 video input from your camera. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From Ambra.Cristaldi at elsagdatamat.com Wed Apr 2 06:33:55 2008 From: Ambra.Cristaldi at elsagdatamat.com (Cristaldi Ambra) Date: Wed, 2 Apr 2008 15:33:55 +0200 Subject: [Live-devel] Recording mjpeg on http Message-ID: <268315E5844A704AB431589863FE8EEF01188618@els00wmx04.elsag.it> Hi Ross, I have an Axis camera that can send video frames in MJPEG format using an HTTP url. My question is: can we record this kind of video stream with Live555 sources? There are classes or functions that support video streaming over http? (I work on Windows platform). Thanks in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080402/96b8c9e8/attachment-0001.html From eric.flickner at gmail.com Wed Apr 2 06:48:34 2008 From: eric.flickner at gmail.com (Eric Flickner) Date: Wed, 2 Apr 2008 09:48:34 -0400 Subject: [Live-devel] Recording mjpeg on http In-Reply-To: <268315E5844A704AB431589863FE8EEF01188618@els00wmx04.elsag.it> References: <268315E5844A704AB431589863FE8EEF01188618@els00wmx04.elsag.it> Message-ID: <72ab2a680804020648w39153f32k99c35e14215fefb1@mail.gmail.com> Since you are on Windows and if you can use .NET try this: http://www.codeproject.com/KB/audio-video/cameraviewer.aspx Eric Flickner 2008/4/2 Cristaldi Ambra : > Hi Ross, > > I have an Axis camera that can send video frames in MJPEG format using an > HTTP url. > > My question is: can we record this kind of video stream with Live555 > sources? > > There are classes or functions that support video streaming over http? > > (I work on Windows platform). > > Thanks in advance. > > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > > -- Eric Flickner -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080402/741cc12d/attachment.html From bellaj1 at gmail.com Wed Apr 2 07:08:08 2008 From: bellaj1 at gmail.com (l'alchemiste) Date: Wed, 2 Apr 2008 14:08:08 +0000 Subject: [Live-devel] Recording mjpeg on http In-Reply-To: <268315E5844A704AB431589863FE8EEF01188618@els00wmx04.elsag.it> References: <268315E5844A704AB431589863FE8EEF01188618@els00wmx04.elsag.it> Message-ID: no -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080402/e42ff8bf/attachment.html From syoon7 at gatech.edu Wed Apr 2 07:35:58 2008 From: syoon7 at gatech.edu (syoon7 at gatech.edu) Date: Wed, 02 Apr 2008 10:35:58 -0400 Subject: [Live-devel] [Question] Streaming transmission rate of liveMedia Server Message-ID: <1207146958.47f399ce2df3a@webmail.mail.gatech.edu> Hi all, First of all, I'm totally a beginner in Streaming world. So, please forgive me if I say incorrect or meaningless things. I'm analyzing Live555MediaServer to find out how the server decides its transmission rate! For a research purpose, I'd like to fix the transmission rate of a specfic RTP streaming service for MPEG video regardless of any environmental changes including the change of an available network bandwidth. To simplfy my work, I'm focused on MPEG1 Video with VLC client player. When I reviewed some source codes, I saw some clues such as fDurationInMicroseconds, but I'm now sure even those are real clues for my work. Q1. I'd like to know how liveMediaServer adjusts the interval of each packets that will be streamed to the client through the network, However what I want is to fix its interval manually (not dynamically adjusted but statically fixed) without concerning even the status of the buffer on the client side. Q2. On the other hand, are there any effective ways for the client to report its desired transmission rate to the server? Probably, sending a RTCP packet ? or any other ways welcome. Thanks in advance. -- ----- ?? ?? ? ----- -- From lodewijk at waag.org Wed Apr 2 13:02:01 2008 From: lodewijk at waag.org (Lodewijk Loos) Date: Wed, 2 Apr 2008 22:02:01 +0200 Subject: [Live-devel] rtp over http In-Reply-To: References: <993E5641-563E-4DFA-9090-79F1C707DEF5@waag.org> <2E8F71D8-8395-48CC-891B-F0436910F7B2@waag.org> Message-ID: I found what makes it work for me: If in the following piece of code I call readSocket WITHOUT the timeout parameter everything works fine again .... void SocketDescriptor::tcpReadHandler(SocketDescriptor* socketDescriptor, int mask) { do { UsageEnvironment& env = socketDescriptor->fEnv; // abbrev int socketNum = socketDescriptor->fOurSocketNum; // Begin by reading and discarding any characters that aren't '$'. // Any such characters are probably regular RTSP responses or // commands from the server. At present, we can't do anything with // these, because we have taken complete control of reading this socket. // (Later, fix) ##### unsigned char c; struct sockaddr_in fromAddress; struct timeval timeout; do { int result = readSocket(env, socketNum, &c, 1, fromAddress, &timeout); if (result != 1) { // error reading TCP socket if (result < 0) { env.taskScheduler().turnOffBackgroundReadHandling(socketNum); // stops further calls to us } return; } } while (c != '$'); gr. Lodewijk On 2-apr-2008, at 14:18, Ross Finlayson wrote: >> Interesting .... it seems like the MacOSX build acts different from >> the Linux build, my Linux build works exactly as you say. >> My MacOSX build does only receive RTP over UDP. When I tell it to use >> RTSP-over-HTTP tunneling (on port 80), the program finally outputs: >> ... >> .... >> Started playing session >> Receiving streamed data (signal with "kill -HUP 2349" or "kill -USR1 >> 2349" to terminate)... >> >> but no data is coming in. >> >> Also the option "-t" and "-T 80" give the same result on MacOSX, >> while different result on Linux > > That's strange, because when I did my own testing on your stream, I > did so on a computer running Mac OS X (version 10.4.11). > >> >> Any idea? > > Sorry, no. > -- > > Ross Finlayson > Live Networks, Inc. > http://www.live555.com/ > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From finlayson at live555.com Wed Apr 2 23:08:31 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 2 Apr 2008 23:08:31 -0700 Subject: [Live-devel] rtp over http In-Reply-To: References: <993E5641-563E-4DFA-9090-79F1C707DEF5@waag.org> <2E8F71D8-8395-48CC-891B-F0436910F7B2@waag.org> Message-ID: >I found what makes it work for me: > >If in the following piece of code I call readSocket WITHOUT the >timeout parameter everything works fine again .... Ah, you've discovered a bug in the code. Instead of omitting the "&timeout" parameter, change the line struct timeval timeout; to struct timeval timeout; timeout.tv_sec = 0; timeout.tv_usec = 0; That should fix your problem. I have now installed a new version of the code that includes this fix. If you're having problems with RTP-over-TCP(or HTTP) streaming, then you should upgrade to the latest version. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Apr 2 23:11:04 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 2 Apr 2008 23:11:04 -0700 Subject: [Live-devel] Axis camera In-Reply-To: References: <2830135d0802200612i7017bf6ch2396258324246bc4@mail.gmail.com> <47BC3B7A.9080605@totalwire.it> <2830135d0802210131w25fc2249uc4e12ea324858ef2@mail.gmail.com> <47F0C5EE.9020503@totalwire.it> Message-ID: >Reverting back to an older version of liveMedia >(live.2007.07.25.tar.gz) solved to the problem. Please upgrade to the latest version (2008.04.03) of the code, and try again. If contains a fix that will likely solve your problem. (Note that, in general, no support is given for old versions of the code.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Apr 2 23:13:49 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 2 Apr 2008 23:13:49 -0700 Subject: [Live-devel] [Question] Streaming transmission rate of liveMedia Server In-Reply-To: <1207146958.47f399ce2df3a@webmail.mail.gatech.edu> References: <1207146958.47f399ce2df3a@webmail.mail.gatech.edu> Message-ID: >I'm analyzing Live555MediaServer to find out how >the server decides its transmission rate! It's determined by the "fDurationInMicroseconds" parameter set for the source object that feeds into each "RTPSink" (subclass). I.e., its the data sources that determine the transmission rate. The "fDurationInMicroseconds" parameter is usually determined within the "*Framer" object that lies between the data source object and the "*RTPSink" object. (Note the numerous examples of this in the source code.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From eric.flickner at gmail.com Thu Apr 3 01:08:39 2008 From: eric.flickner at gmail.com (Eric Flickner) Date: Thu, 3 Apr 2008 04:08:39 -0400 Subject: [Live-devel] Recording mjpeg on http In-Reply-To: <268315E5844A704AB431589863FE8EEF01188618@els00wmx04.elsag.it> References: <268315E5844A704AB431589863FE8EEF01188618@els00wmx04.elsag.it> Message-ID: <47f49095.1238400a.0e19.ffffb764@mx.google.com> IP Cameras Many network-enabled cameras provide M-JPEG streams that network clients can connect to. Mozilla -based browsers have native support for viewing these M-JPEG streams. Some network-enabled cameras provide their own M-JPEG interfaces as part of the normal feature set. For cameras that don't provide this feature natively, a server can be used to transcode the camera pictures into an M-JPEG stream and then provide that stream to other network clients. Some popular M-JPEG server software includes: * Motion [1] * Zoneminder [2] * MJPG-streamer [3] * Palantir [4] [edit ] M-JPEG over HTTP HTTP streaming separates each image into individual HTTP replies on a specified marker. RTP streaming creates packets of a sequence of JPEG images that can be received by clients such as Quicktime or VLC . The server software mentioned above stream the sequence of JPEGs over HTTP . A special mime-type content type multipart/x-mixed-replace;boundary= informs the browser to expect several parts as answer separated by a special boundary. This boundary is defined within the MIME-type. For M-JPEG streams the JPEG data is send to the client with a correct HTTP-header. The TCP connection is not closed as long as the client wants to receive new frames and the server wants to provide new frames. Two basic implementations of such a server are the test-server of cambozola and the webcam server MJPG-Streamer. Source : http://en.wikipedia.org/wiki/MJPEG#M-JPEG_over_HTTP Thanks, Eric From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Cristaldi Ambra Sent: Wednesday, April 02, 2008 9:34 AM To: live-devel at ns.live555.com Subject: [Live-devel] Recording mjpeg on http Hi Ross, I have an Axis camera that can send video frames in MJPEG format using an HTTP url. My question is: can we record this kind of video stream with Live555 sources? There are classes or functions that support video streaming over http? (I work on Windows platform). Thanks in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080403/13229b8f/attachment-0001.html From wouterbin at gmail.com Thu Apr 3 03:04:58 2008 From: wouterbin at gmail.com (Wouter Bin) Date: Thu, 3 Apr 2008 12:04:58 +0200 Subject: [Live-devel] SIP and RTP with network cam Message-ID: <1b04fe540804030304l52ca525x3af155b3071f80cc@mail.gmail.com> Hi Ross, Im doing some research on a project to make a audio/video RTP stream with a networkcam as video-source (delivers a MotionJPEG stream) and a microphone as audio source. The stream has to be controlled by SIP commands. As far as I understood from the website and the mailing-lists it should all be possible with the Live555 library's? And is it possible to do some audio editting (echo canceling, equalizing) in Live555? Or should i do this outside Live555? Thanks in advance, From faerber at pi4.informatik.uni-mannheim.de Thu Apr 3 06:00:30 2008 From: faerber at pi4.informatik.uni-mannheim.de (=?ISO-8859-1?Q?Andreas_F=E4rber?=) Date: Thu, 3 Apr 2008 15:00:30 +0200 Subject: [Live-devel] Groupsock and non-socket communication? Message-ID: Hello, Has anyone looked into extending or replacing the Groupsock implementation? I would need to support writing to and reading from a custom multicast library, with the underlying sockets being inaccessible (i.e. there are custom classes+methods for sending/ receiving data and virtually no options to set). Would it work to compile libliveMedia as-is and, only when using/ linking it, replace the libGroupsock.a with a fully custom implementation? Unfortunately Groupsock does not seem truly inheritable, and I would need to overwrite all GroupsockHelper functionality. Any other suggestions? Regards, Andreas From finlayson at live555.com Thu Apr 3 18:33:56 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 3 Apr 2008 18:33:56 -0700 Subject: [Live-devel] Groupsock and non-socket communication? In-Reply-To: References: Message-ID: >Has anyone looked into extending or replacing the Groupsock >implementation? Yes, it's on our 'to do' list (but I can't give an ETA). The plan will be to make network sockets 'source' or 'sink' objects, just like most of the other objects defined by the "LIVE555 Streaming Media" libraries. This will allow people to use virtual networks (including network simulators) in place of real networks, if desired. It will also make it easier to support IPv6. Again, this will be a lot of work, and unfortunately I can't estimate when it's likely to happen. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Apr 3 19:14:53 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 3 Apr 2008 19:14:53 -0700 Subject: [Live-devel] SIP and RTP with network cam In-Reply-To: <1b04fe540804030304l52ca525x3af155b3071f80cc@mail.gmail.com> References: <1b04fe540804030304l52ca525x3af155b3071f80cc@mail.gmail.com> Message-ID: >Im doing some research on a project to make a audio/video RTP stream >with a networkcam as video-source (delivers a MotionJPEG stream) and a >microphone as audio source. The stream has to be controlled by SIP >commands. >As far as I understood from the website and the mailing-lists it >should all be possible with the Live555 library's? Not without some work, unfortunately, because we don't have any SIP server functionality in our libraries. However, if your client can use RTSP (rather than SIP), then you could do this using our existing RTSP server implementation. >And is it possible to do some audio editting (echo canceling, >equalizing) in Live555? Or should i do this outside Live555? We don't have any audio or video codec software, so this would need to be written separately (but perhaps encapsulated as a LIVE555 "FramedFilter"). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From howard.robert4 at gmail.com Thu Apr 3 23:33:07 2008 From: howard.robert4 at gmail.com (Robert Howard) Date: Fri, 4 Apr 2008 12:03:07 +0530 Subject: [Live-devel] Audio and Video Streaming Message-ID: <8ffea5380804032333o3b4194fmb22a8f7322bd9e87@mail.gmail.com> Hi I have two streams - one for audio and one for video. Is there is anything I have to do for synchronisation? Currently when I stream both of them, both audio and video appear with lot of jerks. Any suggestion? - Rob -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080403/78213123/attachment.html From lcj.liu at gmail.com Thu Apr 3 23:56:19 2008 From: lcj.liu at gmail.com (lcj.liu at gmail.com) Date: Fri, 4 Apr 2008 14:56:19 +0800 Subject: [Live-devel] Many streams to one RTP port Message-ID: <47f5d122.1b068e0a.4395.0cee@mx.google.com> Hello, I am working on a server which should receive many RTP streams on the same port. The cameras may be distributed everywhere, but they send the stream back to same port of the same server. Could liveMedia be used to implement such a server? thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080403/868eef9d/attachment.html From finlayson at live555.com Fri Apr 4 01:00:42 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 4 Apr 2008 01:00:42 -0700 Subject: [Live-devel] Audio and Video Streaming In-Reply-To: <8ffea5380804032333o3b4194fmb22a8f7322bd9e87@mail.gmail.com> References: <8ffea5380804032333o3b4194fmb22a8f7322bd9e87@mail.gmail.com> Message-ID: >I have two streams - one for audio and one for video. Is there is >anything I have to do for synchronisation? Currently when I stream >both of them, both audio and video appear with lot of jerks. Any >suggestion? 1/ Make sure that the presentation times for each frame in the source streams are accurate, and are aligned with 'wall clock' time (i.e., the time that you'd get by calling "gettimeofday()". 2/ Make sure that each "RTPSink" has a corresponding "RTCPInstance". (If you're using our RTSP server implementation, then this happens automatically.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Fri Apr 4 01:02:45 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 4 Apr 2008 01:02:45 -0700 Subject: [Live-devel] Many streams to one RTP port In-Reply-To: <47f5d122.1b068e0a.4395.0cee@mx.google.com> References: <47f5d122.1b068e0a.4395.0cee@mx.google.com> Message-ID: > I am working on a server which should receive many RTP >streams on the same port. The cameras may be distributed everywhere, >but they send the stream back to same port of the same server. Could >liveMedia be used to implement such a server? Not at present. We currently have no mechanism for demultiplexing incoming RTP packets based on SSRC (which is what would be needed for your application). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From howard.robert4 at gmail.com Fri Apr 4 01:22:29 2008 From: howard.robert4 at gmail.com (Robert Howard) Date: Fri, 4 Apr 2008 13:52:29 +0530 Subject: [Live-devel] Audio and Video Streaming In-Reply-To: References: <8ffea5380804032333o3b4194fmb22a8f7322bd9e87@mail.gmail.com> Message-ID: <8ffea5380804040122o72b25b26p1815c32af359428c@mail.gmail.com> I have created a instance of ServerMediaSession, and added one audio and one video session to it using addSubsession. PTS for the video is well taken care off by the encoder but for audio, since its wav file, I am not sure is there is PTS in the audio frame. Is there is anything else I am missing. Rob. On Fri, Apr 4, 2008 at 1:30 PM, Ross Finlayson wrote: > >I have two streams - one for audio and one for video. Is there is > >anything I have to do for synchronisation? Currently when I stream > >both of them, both audio and video appear with lot of jerks. Any > >suggestion? > > > 1/ Make sure that the presentation times for each frame in the source > streams are accurate, and are aligned with 'wall clock' time (i.e., > the time that you'd get by calling "gettimeofday()". > 2/ Make sure that each "RTPSink" has a corresponding "RTCPInstance". > (If you're using our RTSP server implementation, then this happens > automatically.) > -- > > Ross Finlayson > Live Networks, Inc. > http://www.live555.com/ > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080404/5d485cba/attachment.html From finlayson at live555.com Fri Apr 4 01:38:04 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 4 Apr 2008 01:38:04 -0700 Subject: [Live-devel] Audio and Video Streaming In-Reply-To: <8ffea5380804040122o72b25b26p1815c32af359428c@mail.gmail.com> References: <8ffea5380804032333o3b4194fmb22a8f7322bd9e87@mail.gmail.com> <8ffea5380804040122o72b25b26p1815c32af359428c@mail.gmail.com> Message-ID: >I have created a instance of ServerMediaSession, and added one audio >and one video session to it using addSubsession. PTS for the video >is well taken care off by the encoder but for audio, since its wav >file, I am not sure is there is PTS in the audio frame. Is there is >anything else I am missing. As I said, you'll need to give your audio frames PTSs, and they - along with the PTSs of the video frames - must be in sync, and aligned with wall-clock time. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From belloni at imavis.com Fri Apr 4 03:06:33 2008 From: belloni at imavis.com (Cristiano Belloni) Date: Fri, 04 Apr 2008 12:06:33 +0200 Subject: [Live-devel] [Question] Streaming transmission rate of liveMedia Server In-Reply-To: References: <1207146958.47f399ce2df3a@webmail.mail.gatech.edu> Message-ID: <47F5FDA9.4060807@imavis.com> Ross Finlayson wrote: >> I'm analyzing Live555MediaServer to find out how >> the server decides its transmission rate! >> > > It's determined by the "fDurationInMicroseconds" parameter set for > the source object that feeds into each "RTPSink" (subclass). I.e., > its the data sources that determine the transmission rate. > > The "fDurationInMicroseconds" parameter is usually determined within > the "*Framer" object that lies between the data source object and the > "*RTPSink" object. (Note the numerous examples of this in the source > code.) > I've always wondered what value "fDurationInMicroseconds" should take in video frames. A simple answer is probably 1 sec / framerate. Is it toio simple or am I correct? Anyway, I set it to 0 in my framer, for now, and it seems it works perfectly. Cristiano. -- Belloni Cristiano Imavis Srl. www.imavis.com belloni at imavis.com From finlayson at live555.com Fri Apr 4 04:40:40 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 4 Apr 2008 04:40:40 -0700 Subject: [Live-devel] [Question] Streaming transmission rate of liveMedia Server In-Reply-To: <47F5FDA9.4060807@imavis.com> References: <1207146958.47f399ce2df3a@webmail.mail.gatech.edu> <47F5FDA9.4060807@imavis.com> Message-ID: > >> I'm analyzing Live555MediaServer to find out how >>> the server decides its transmission rate! >>> >> >> It's determined by the "fDurationInMicroseconds" parameter set for >> the source object that feeds into each "RTPSink" (subclass). I.e., >> its the data sources that determine the transmission rate. >> >> The "fDurationInMicroseconds" parameter is usually determined within >> the "*Framer" object that lies between the data source object and the >> "*RTPSink" object. (Note the numerous examples of this in the source >> code.) >> >I've always wondered what value "fDurationInMicroseconds" should take in >video frames. >A simple answer is probably 1 sec / framerate. Is it toio simple or am I >correct? You mean 1000000/framerate, of course. > >Anyway, I set it to 0 in my framer, for now, and it seems it works >perfectly. That must be because you are streaming from a live source. If you are streaming from a live source, then it's perfectly OK (in fact, preferred) to not set "fDurationInMicroseconds" (which means that it retains its default value of 0), because in that case each frame will be delivered to the downstream "RTPSink" object when it becomes available, even though the "RTPSink" object asked for it immediately after the previous frame was transmitted. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From belloni at imavis.com Fri Apr 4 07:58:08 2008 From: belloni at imavis.com (Cristiano Belloni) Date: Fri, 04 Apr 2008 16:58:08 +0200 Subject: [Live-devel] [Question] Streaming transmission rate of liveMedia Server In-Reply-To: References: <1207146958.47f399ce2df3a@webmail.mail.gatech.edu> <47F5FDA9.4060807@imavis.com> Message-ID: <47F64200.3010204@imavis.com> Ross Finlayson wrote: >> >> I'm analyzing Live555MediaServer to find out how >> >>>> the server decides its transmission rate! >>>> >>>> >>> It's determined by the "fDurationInMicroseconds" parameter set for >>> the source object that feeds into each "RTPSink" (subclass). I.e., >>> its the data sources that determine the transmission rate. >>> >>> The "fDurationInMicroseconds" parameter is usually determined within >>> the "*Framer" object that lies between the data source object and the >>> "*RTPSink" object. (Note the numerous examples of this in the source >>> code.) >>> >>> >> I've always wondered what value "fDurationInMicroseconds" should take in >> video frames. >> A simple answer is probably 1 sec / framerate. Is it toio simple or am I >> correct? >> > > You mean 1000000/framerate, of course. > > Yeah :) >> Anyway, I set it to 0 in my framer, for now, and it seems it works >> perfectly. >> > > That must be because you are streaming from a live source. If you > are streaming from a live source, then it's perfectly OK (in fact, > preferred) to not set "fDurationInMicroseconds" (which means that it > retains its default value of 0), because in that case each frame will > be delivered to the downstream "RTPSink" object when it becomes > available, even though the "RTPSink" object asked for it immediately > after the previous frame was transmitted. > Great. Thanks, Cristiano. -- Belloni Cristiano Imavis Srl. www.imavis.com belloni at imavis.com From ken.seo at gmail.com Fri Apr 4 08:44:42 2008 From: ken.seo at gmail.com (Ken Seo) Date: Fri, 4 Apr 2008 11:44:42 -0400 Subject: [Live-devel] Implementing FramedSource Message-ID: <5e008ff40804040844y101c38bs9ab51479dcf0eadd@mail.gmail.com> Hi, I'm trying to implement a FramedSource which will get next frames from a Queue. From my digging so far, "doGetNextFrame()" should be blocking until the next frame is available, so my current implementation looks like, void QueueSource::doGetNextFrame() { //CAutoLock cAutolock(&m_Lock); SampleData* sampleData = NULL; while(true) { sampleData = m_pMediaSampleQueue->Pop(); if (sampleData == NULL) continue; if (sampleData->endOfStream) { handleClosure(this); return; } if (IsBadReadPtr(sampleData->pSample, sizeof(UCHAR))) continue; break; } printf("sample: %d\n", sampleData->sampleSize); fMaxSize = sampleData->maxSize; fFrameSize = sampleData->sampleSize; fNumTruncatedBytes = sampleData->numTruncatedBytes; fPresentationTime.tv_sec = sampleData->presentationTime.tv_sec; fPresentationTime.tv_usec = sampleData->presentationTime.tv_usec; fDurationInMicroseconds = sampleData->durationInMicroseconds; memcpy(fTo, sampleData->pSample, fFrameSize); delete sampleData; afterGetting(this); //nextTask() = envir().taskScheduler().scheduleDelayedTask(0, (TaskFunc*)FramedSource::afterGetting, this); } And there will be another thread filling the Queue, (this shouldn't interfere with with live555's single threaded model), But it seems to me that this implementation too expensive (cpu intensive) and I do experience jitters in streaming (a lot). And if I make non-blocking (without loop) then no samples retrieved, Considering, live555 is single threaded, how else do I implement blocking ?? and who's responsible to call GetNextFrame()? Regards, Ken Seo From wouterbin at gmail.com Fri Apr 4 09:00:12 2008 From: wouterbin at gmail.com (Wouter Bin) Date: Fri, 4 Apr 2008 18:00:12 +0200 Subject: [Live-devel] SIP and RTP with network cam In-Reply-To: References: <1b04fe540804030304l52ca525x3af155b3071f80cc@mail.gmail.com> Message-ID: <1b04fe540804040900q453f67d5s6014ef4f0541f2be@mail.gmail.com> We have a SIP server already. We have to make a client which calls another client with SIP. And then the client has to make a connection with the other client and send a audio/video RTP stream. The video stream gets it's data from a network camera (Motion JPEG) and the audio stream has to get its data from a microphone which is connected to the computer on which the client is running. I understand that I have to do some work but most of the functions I need are supported by Live555 not? Thanks Wouter On Fri, Apr 4, 2008 at 4:14 AM, Ross Finlayson wrote: > >Im doing some research on a project to make a audio/video RTP stream > >with a networkcam as video-source (delivers a MotionJPEG stream) and a > >microphone as audio source. The stream has to be controlled by SIP > >commands. > >As far as I understood from the website and the mailing-lists it > >should all be possible with the Live555 library's? > > Not without some work, unfortunately, because we don't have any SIP > server functionality in our libraries. However, if your client can > use RTSP (rather than SIP), then you could do this using our existing > RTSP server implementation. > > > >And is it possible to do some audio editting (echo canceling, > >equalizing) in Live555? Or should i do this outside Live555? > > We don't have any audio or video codec software, so this would need > to be written separately (but perhaps encapsulated as a LIVE555 > "FramedFilter"). > -- > > 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 lodewijk at waag.org Fri Apr 4 09:21:34 2008 From: lodewijk at waag.org (Lodewijk Loos) Date: Fri, 4 Apr 2008 18:21:34 +0200 Subject: [Live-devel] presentation times Message-ID: <64A08541-B5D5-45AC-92D5-0EDF06674FF7@waag.org> hi, I am receiving a stream from Quicktime Broadcaster via Darwin Streaming Server, where do the presentation times I get in my MediaSink originate from? My guess is that DSS adapts the presentation times of frames from QTB. I am asking this because I would like to be able to calculate the latency between sending from QTB and receiving in Live555, is this made impossible by relaying via DSS? gr. Lodewijk From finlayson at live555.com Fri Apr 4 14:17:38 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 4 Apr 2008 14:17:38 -0700 Subject: [Live-devel] Implementing FramedSource In-Reply-To: <5e008ff40804040844y101c38bs9ab51479dcf0eadd@mail.gmail.com> References: <5e008ff40804040844y101c38bs9ab51479dcf0eadd@mail.gmail.com> Message-ID: >I'm trying to implement a FramedSource which will get next frames from >a Queue. From my digging so far, "doGetNextFrame()" should be blocking >until the next frame is available No, it should *not* be blocking until the next frame is available, because if you block, you'll be starving out any other events that need to be handled. Instead, if no frame is immediately available, "doGetNextFrame()" should return. Later, when a frame becomes available, this will be triggered as an event that can get handled within the event loop. You can use the "watchVariable" parameter to "doEventLoop()" for this purpose (e.g., have your separate queue-filling thread set the 'watchVariable' when a new frame becomes available. (See the FAQ for more information.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Fri Apr 4 14:37:16 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 4 Apr 2008 14:37:16 -0700 Subject: [Live-devel] presentation times In-Reply-To: <64A08541-B5D5-45AC-92D5-0EDF06674FF7@waag.org> References: <64A08541-B5D5-45AC-92D5-0EDF06674FF7@waag.org> Message-ID: >I am receiving a stream from Quicktime Broadcaster via Darwin >Streaming Server, where do the presentation times I get in my >MediaSink originate from? I think you mean "RTPSource" (subclass), not "MediaSink". The presentation times returned by the "RTPSource" object originated in the server (provided that you have a "RTCPInstance" associated with the "RTPSource". See http://www.live555.com/liveMedia/faq.html#separate-rtp-streams >My guess is that DSS adapts the presentation times of frames from >QTB. I am asking this because I would like to be able to calculate >the latency between sending from QTB and receiving in Live555, is >this made impossible by relaying via DSS? I don't know; you will have to ask a DSS mailing list about that. In any case, even if the QTB presentation timestamps were passed through the DSS unchanged, you would only be able to calculate the latency accurately if the receiver's clock were synchronized with that of the QTB. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From rajeshkumar.r at imimobile.com Fri Apr 4 23:33:36 2008 From: rajeshkumar.r at imimobile.com (rajesh) Date: Sat, 5 Apr 2008 12:03:36 +0530 Subject: [Live-devel] live555 rtsp server supports Live Media Message-ID: <09f201c896e6$fa6310e0$6902000a@imidomain.com> Hi Ross, can we use rtsp server of Live555 to transfer Live Media. Thanks in Advance Thanks and Regards Rajesh Kumar Sr. Software Engineer R & D - Network Group +91 40 23555945 - 235 +91 99084 00027 www.imimobile.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080404/fe190d77/attachment.html From finlayson at live555.com Fri Apr 4 23:45:23 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 4 Apr 2008 23:45:23 -0700 Subject: [Live-devel] live555 rtsp server supports Live Media In-Reply-To: <09f201c896e6$fa6310e0$6902000a@imidomain.com> References: <09f201c896e6$fa6310e0$6902000a@imidomain.com> Message-ID: >can we use rtsp server of Live555 to transfer Live Media. Do you mean "serve streams from a live input source" (e.g., a camera connected to a video encoder)? If so, the answer is yes. Although our "LIVE555 Media Server" product currently only serves files, it is possible to modify our demo application "testOnDemandRTSPServer" to stream from a live input source. Read the FAQ for details. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080404/7aebe7af/attachment.html From manzoor505 at yahoo.com Sun Apr 6 02:31:14 2008 From: manzoor505 at yahoo.com (Manzoor Ahmed) Date: Sun, 6 Apr 2008 02:31:14 -0700 (PDT) Subject: [Live-devel] LiveMedia and Visual Studio 2005 Message-ID: <991017.20846.qm@web52408.mail.re2.yahoo.com> Hey Everyone, I have downloaded the LiveMedia library but was unable to build it using visual studio 2005. I imported the old header files and libraries but it didn't work. Is LiveMedia compatible with VS 2005? Manzoor Ahmed NIIT-NUST Pakistan +92-333-9500230 manzoor505 at yahoo.com ____________________________________________________________________________________ You rock. That's why Blockbuster's offering you one month of Blockbuster Total Access, No Cost. http://tc.deals.yahoo.com/tc/blockbuster/text5.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080406/cf9f09ab/attachment-0001.html From eric.flickner at gmail.com Sun Apr 6 04:48:06 2008 From: eric.flickner at gmail.com (Eric Flickner) Date: Sun, 6 Apr 2008 07:48:06 -0400 Subject: [Live-devel] LiveMedia and Visual Studio 2005 In-Reply-To: <991017.20846.qm@web52408.mail.re2.yahoo.com> References: <991017.20846.qm@web52408.mail.re2.yahoo.com> Message-ID: <47f8b879.0108400a.3dcc.ffff85a4@mx.google.com> Read this From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Manzoor Ahmed Sent: Sunday, April 06, 2008 5:31 AM To: live-devel at ns.live555.com Subject: [Live-devel] LiveMedia and Visual Studio 2005 Hey Everyone, I have downloaded the LiveMedia library but was unable to build it using visual studio 2005. I imported the old header files and libraries but it didn't work. Is LiveMedia compatible with VS 2005? Manzoor Ahmed NIIT-NUST Pakistan +92-333-9500230 manzoor505 at yahoo.com _____ You rock. That's why Blockbuster's offering you one month of Blockbuster Total Access, No Cost. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080406/0edad7e0/attachment.html From dconan0404 at yahoo.com.tw Sun Apr 6 20:16:50 2008 From: dconan0404 at yahoo.com.tw (Conan) Date: Mon, 7 Apr 2008 11:16:50 +0800 (CST) Subject: [Live-devel] PC to PC streaming question Message-ID: <81409.54913.qm@web73702.mail.tp2.yahoo.com> Hi all, I have a question about streaming between two PCs. 'A' PC is receiving the camera video frames and 'B' PC will receive these frames from 'A' PC as a relay. These two PCs are in local LAN and can create UDP/TCP socket to send/receive frames from each other. 'A' PC used a special protocol to get video frames from camera and does not run live555 on it. (only use sockets) My question is what source is suitable for this condition on 'B' PC. I found MPEG4ESVideoRTPSource, but it is incompleted. Is any other source better? Thanks. Best Regards, Conan ______________________________________________________________________________________________________ ?????????Yahoo!??????2.0????????????? http://tw.mg0.mail.yahoo.com/dc/landing -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080406/abd8a55e/attachment.html From mean.while.mw at gmail.com Mon Apr 7 00:54:35 2008 From: mean.while.mw at gmail.com (mean while) Date: Mon, 7 Apr 2008 15:54:35 +0800 Subject: [Live-devel] a question about MP3StreamState Message-ID: Hello, Thanks for your help. I have a question about MP3StreamState. In this Class it calls waitUntilSocketIsReadable() to wait for the source data, and this function allows other tasks to run while waiting, but this may cause some problem. If the client close the connection, the MP3StreamState will be destruct, if the wait function doesn't returns before this , when it returns after the destruction, the program may crash. Is this right? If so, is there a way to solve this? Thnaks and best reguards. Yours sincerely. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080407/61bd03a7/attachment.html From kan at pisem.net Mon Apr 7 03:42:00 2008 From: kan at pisem.net (akarlov) Date: Mon, 07 Apr 2008 14:42:00 +0400 Subject: [Live-devel] VLC and stb don't play "trick play" streams Message-ID: <47F9FA78.3090403@pisem.net> Hello! Sorry if this question already discussed before, but I've not found this in older mail-lists. I have a problem with trick play operations in LiveMedia server. I have got a mpeg2-TS file, index file .tsx and try to play it using live555MediaServer as a server and VLC as a client. VLC playback this stream fine, pause works fine too, but then I try to do FastFoward or FastBackward the stream starts play fast for about a one second and after that picture disappears. Furthermore, I've tried do do FastFoward or FastBackward on amino stb and trick play didn't work fine there too: the picture is broken after I've press FF or FW ... It seems what MPEG2TransportStreamTrickModeFilter produce non-standard transport stream. Could you explain little, how this filter create "FastFoward" or "FastBackward" streams? Is is contain only "I" frames? How this filter creates PTS timestamps in result stream? I'm very thankfull to your help! Sorry for awful English =) Karlov Andrey From mlopez at linceo.es Mon Apr 7 03:45:09 2008 From: mlopez at linceo.es (=?iso-8859-1?Q?Miguel_=C1ngel_L=F3pez?=) Date: Mon, 7 Apr 2008 12:45:09 +0200 Subject: [Live-devel] Live555 and gstreamer Message-ID: Hi, Has anyone used live555 from gstreamer framework? Does it exist a gstreamer plugin for live555 RTSP server?. It seems that it was into the gstreamer ugly-plugins once. Thanks in advance mangel -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080407/a6de8b9e/attachment.html From finlayson at live555.com Mon Apr 7 09:10:12 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 7 Apr 2008 09:10:12 -0700 Subject: [Live-devel] VLC and stb don't play "trick play" streams In-Reply-To: <47F9FA78.3090403@pisem.net> References: <47F9FA78.3090403@pisem.net> Message-ID: >VLC playback this stream fine, pause works fine too, but then >I try to do FastFoward or FastBackward the stream starts play fast for >about a one second and after that picture disappears. > >Furthermore, I've tried do do FastFoward or FastBackward on amino stb >and trick play didn't work fine there too: the picture is broken >after I've press FF or FW ... This seems to be a problem for some - although not all - transport stream files. >It seems what MPEG2TransportStreamTrickModeFilter produce non-standard >transport stream. No, that's not correct at all. If you run "testMPEG2TransportStreamTrickPlay", you will see that the resulting Transport Stream files (for fast-forward or reverse play) are OK. However, their bitrate is significantly larger than than the original file, and that may cause problems (e.g., network packet loss) on some networks/systems. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From tonjefr at ifi.uio.no Mon Apr 7 14:29:36 2008 From: tonjefr at ifi.uio.no (Tonje Fredrikson) Date: Mon, 7 Apr 2008 23:29:36 +0200 (CEST) Subject: [Live-devel] (no subject) Message-ID: <57624.129.240.228.53.1207603776.squirrel@webmail.uio.no> Hi, Is it possible for live555 to seek to an arbitrary point in an MPEG2 Program file, find the next GOP in the file, and stream from there? If yes, which class supports this? Thanks, Tonje From finlayson at live555.com Mon Apr 7 16:21:17 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 7 Apr 2008 16:21:17 -0700 Subject: [Live-devel] (no subject) In-Reply-To: <57624.129.240.228.53.1207603776.squirrel@webmail.uio.no> References: <57624.129.240.228.53.1207603776.squirrel@webmail.uio.no> Message-ID: >Is it possible for live555 to seek to an arbitrary point in an MPEG2 >Program file, find the next GOP in the file, and stream from there? Yes, this is already implemented (but doesn't work particularly well, because the resulting presentation timestamps (from the audio and video substreams) aren't always in sync). For example, our "live555MediaServer" already supports seeking on MPEG Program Stream files. >If yes, which class supports this? MPEG1or2DemuxedServerMediaSubsession::seekStreamSource() Note that - for a typical MPEG Program Stream that contains both an audio and video substream - this function ends up getting called twice - once for each substream. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From brainlai at gmail.com Tue Apr 8 03:04:23 2008 From: brainlai at gmail.com (Brain Lai) Date: Tue, 8 Apr 2008 18:04:23 +0800 Subject: [Live-devel] Vulnerabilities in RTPInterface::handleRead() Message-ID: Dear Sir: In RTPInterface::handleRead(), the following code may cause vulnerabilities due to type inconsistency: Boolean RTPInterface::handleRead(unsigned char* buffer, unsigned bufferMaxSize, unsigned& bytesRead, struct sockaddr_in& fromAddress) { ...... unsigned curBytesRead; while ((curBytesRead = readSocket(envir(), fNextTCPReadStreamSocketNum, &buffer[bytesRead], curBytesToRead, fromAddress)) > 0) { bytesRead += curBytesRead; if (bytesRead >= totBytesToRead) break; curBytesToRead -= curBytesRead; } if (curBytesRead <= 0) { bytesRead = 0; readSuccess = False; RTPOverTCP_OK = False; // HACK ##### } else { readSuccess = True; } ....... } Here, ReadSocket() returns int while curBytesRead is declared unsigned. If ReadSocket() returns -1, the above code may cause problem. BR. Brain Lai -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080408/8b97ca53/attachment-0001.html From lcj.liu at gmail.com Tue Apr 8 03:22:16 2008 From: lcj.liu at gmail.com (Changjin Liu) Date: Tue, 8 Apr 2008 18:22:16 +0800 Subject: [Live-devel] two questions about liveMedia source code Message-ID: <47fb475f.1c078e0a.5216.7cfa@mx.google.com> Hello, Ross I'm reading liveMedia source code(version 2008.4.3), and have two questions about it (1) in RTSPClient::setupMediaSubsession (RTSPClient.cpp, line 956): subsession.connectionEndpointName() = serverAddressStr; where the serverAddressStr comes from the transport section of SDP response of Server. But in the same function(line 983), "subsession.setDestinations(fServerAddress)" set the destination address of the client subsession to fServerAddress I searched fServerAddress and found that it is set in RTSPClient::openConnectionFromURL( line 1792). fServerAddress comes from the RTSP URL. So why not set the mediaSubSession destination address to the address of SETUP response? If the RTSP URL is more appropriate, then is line 956 redundant? (2) In rtcp_from_spec.c, line 286, the OnReceive function, if (TypeOfEvent(e) == EVENT_BYE) { *members += 1; } I read RFC3550 A.7, it has the same code above. Why not should it be: if (TypeOfEvent(e) == EVENT_BYE) { *members -= 1; } Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080408/92c628ab/attachment.html From crv713 at gmail.com Tue Apr 8 14:00:39 2008 From: crv713 at gmail.com (Sudhir Kumar Srinivasan) Date: Tue, 8 Apr 2008 14:00:39 -0700 Subject: [Live-devel] RTCP Extended Report Support in Live 555 Message-ID: <754664c30804081400w4162a3eaw3a22d5732fa82672@mail.gmail.com> Hi, I need to implement the RTCP XR packet type. Is this support already there in Live 555 ? If not, do I just add another 'packet type' in the RTCP.hh file and give implementations to it ? Thanks in advance ! Sudhir -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080408/a0d5bccc/attachment.html From ken.seo at gmail.com Tue Apr 8 16:28:26 2008 From: ken.seo at gmail.com (Ken Seo) Date: Tue, 8 Apr 2008 19:28:26 -0400 Subject: [Live-devel] Implementing FramedSource In-Reply-To: References: <5e008ff40804040844y101c38bs9ab51479dcf0eadd@mail.gmail.com> Message-ID: <5e008ff40804081628m7c496e1bxcaf76891942e2d37@mail.gmail.com> Hi, Ross, Thank you for your reply, if "doGetNextFrame()" returns immediately, I'm not quite sure how it would work, the following is my understanding of RTP cycle, RTSPServer - upon start playing - calls GetNextFrame() -> calls doGetNextFrame() -> calls afterGetting() -> sends packets all that -> calls GetNextFrame() So, in the cycle above, once doGetNextFrame() returns without scheduling afterGetting(), then the cycle stops there. Also, doGetNextFrame() should be called only by "GetNextFrame()" which takes many parameters and has some initialization steps. So, from your explanation "Later, when a frame becomes available, this will be triggered as an event that can get handled within the event loop.", once I have a sample, how should I *handle* that in the event loop?, I can create a callback function or a watch variable to get notified, but, I'm not exactly sure what to do with it, should I manually call "doGetNextFrame()"? Here is what I tried, my doGetNextFrame() is empty. void QueueSource::doGetNextFrame() { } And I have a function that gets invoked when a sample arrives, HRESULT ReceivedSample(IMediaSample *pSample) { On Fri, Apr 4, 2008 at 5:17 PM, Ross Finlayson wrote: > >I'm trying to implement a FramedSource which will get next frames from > >a Queue. From my digging so far, "doGetNextFrame()" should be blocking > >until the next frame is available > > No, it should *not* be blocking until the next frame is available, > because if you block, you'll be starving out any other events that > need to be handled. Instead, if no frame is immediately available, > "doGetNextFrame()" should return. Later, when a frame becomes > available, this will be triggered as an event that can get handled > within the event loop. > > You can use the "watchVariable" parameter to "doEventLoop()" for this > purpose (e.g., have your separate queue-filling thread set the > 'watchVariable' when a new frame becomes available. (See the FAQ for > more information.) > -- > > 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 ken.seo at gmail.com Tue Apr 8 16:38:24 2008 From: ken.seo at gmail.com (Ken Seo) Date: Tue, 8 Apr 2008 19:38:24 -0400 Subject: [Live-devel] Implementing FramedSource In-Reply-To: <5e008ff40804081628m7c496e1bxcaf76891942e2d37@mail.gmail.com> References: <5e008ff40804040844y101c38bs9ab51479dcf0eadd@mail.gmail.com> <5e008ff40804081628m7c496e1bxcaf76891942e2d37@mail.gmail.com> Message-ID: <5e008ff40804081638u7e97276fp6817730739f93d78@mail.gmail.com> Hi, Ross, ** Sorry I pressed wrong button and email was sent accidently, please disregard the first email. Thank you for your reply, if "doGetNextFrame()" returns immediately, I'm not quite sure how it would work, the following is my understanding of RTP cycle, RTSPServer - upon start playing - calls GetNextFrame() -> calls doGetNextFrame() -> calls afterGetting() -> sends packets all that -> calls GetNextFrame() So, in the cycle above, once doGetNextFrame() returns without scheduling afterGetting(), then the cycle stops there. Also, doGetNextFrame() should be called only by "GetNextFrame()" which takes many parameters and has some initialization steps. So, from your explanation "Later, when a frame becomes available, this will be triggered as an event that can get handled within the event loop.", once I have a sample, how should I *handle* that in the event loop?, I can create a callback function or a watch variable to get notified, but, I'm not exactly sure what to do with it, should I manually call "doGetNextFrame()"? Here is what I tried, my doGetNextFrame() is empty. void QueueSource::doGetNextFrame() { } And I have a function in my FramedSource that gets invoked when a sample arrives, HRESULT ReceivedSample(IMediaSample *pSample) { ... fMaxSize = bufSize; fFrameSize = frameSize; fNumTruncatedBytes = (frameSize <= bufSize) ? 0 : (frameSize - bufSize); fPresentationTime.tv_sec = tv.tv_sec; fPresentationTime.tv_usec = tv.tv_usec; fDurationInMicroseconds = (unsigned) ((pEnd - pStart) / 10); memcpy(fTo, ptr, frameSize); nextTask() = envir().taskScheduler().scheduleDelayedTask(0, (TaskFunc*)FramedSource::afterGetting, this); //clean up } However, I'm getting AccessViolation, when afterGetting is called 00000001() ken.exe!FramedSource::afterGetting(FramedSource * source=0x010668a8) Line 118 + 0x31 bytes C++ ken.exe!AlarmHandler::handleTimeout() Line 34 + 0x11 bytes C++ ken.exe!DelayQueue::handleAlarm() Line 179 + 0xf bytes C++ ken.exe!BasicTaskScheduler::SingleStep(unsigned int maxDelayTime=0x00000000) Line 99 C++ ken.exe!BasicTaskScheduler0::doEventLoop(char * watchVariable=0x00000000) Line 76 + 0x11 bytes C++ ken.exe!wmain(int argc=0x00000001, wchar_t * * argv=0x00b0ac58, wchar_t * * envp=0x00b0cf00) Line 79 + 0x25 bytes C++ ken.exe!__tmainCRTStartup() Line 583 + 0x19 bytes C ken.exe!wmainCRTStartup() Line 403 C kernel32.dll!7c816fd7() [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll] Any suggestions or ideas are greatly appreciated, Best Regards, Ken S. On Tue, Apr 8, 2008 at 7:28 PM, Ken Seo wrote: > Hi, Ross, > > Thank you for your reply, > > if "doGetNextFrame()" returns immediately, I'm not quite sure how it > would work, the following is my understanding of RTP cycle, > > RTSPServer > - upon start playing - calls GetNextFrame() -> calls doGetNextFrame() > -> calls afterGetting() -> sends packets all that -> calls > GetNextFrame() > > So, in the cycle above, once doGetNextFrame() returns without > scheduling afterGetting(), then the cycle stops there. Also, > doGetNextFrame() should be called only by "GetNextFrame()" which takes > many parameters and has some initialization steps. > > So, from your explanation "Later, when a frame becomes available, this > > will be triggered as an event that can get handled within the event > loop.", once I have a sample, how should I *handle* that in the event > loop?, I can create a callback function or a watch variable to get > notified, but, I'm not exactly sure what to do with it, should I > manually call "doGetNextFrame()"? > > Here is what I tried, my doGetNextFrame() is empty. > > void QueueSource::doGetNextFrame() > { > } > > And I have a function that gets invoked when a sample arrives, > > HRESULT ReceivedSample(IMediaSample *pSample) > { > > > > > On Fri, Apr 4, 2008 at 5:17 PM, Ross Finlayson wrote: > > >I'm trying to implement a FramedSource which will get next frames from > > >a Queue. From my digging so far, "doGetNextFrame()" should be blocking > > >until the next frame is available > > > > No, it should *not* be blocking until the next frame is available, > > because if you block, you'll be starving out any other events that > > need to be handled. Instead, if no frame is immediately available, > > "doGetNextFrame()" should return. Later, when a frame becomes > > available, this will be triggered as an event that can get handled > > within the event loop. > > > > You can use the "watchVariable" parameter to "doEventLoop()" for this > > purpose (e.g., have your separate queue-filling thread set the > > 'watchVariable' when a new frame becomes available. (See the FAQ for > > more information.) > > -- > > > > 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 Tue Apr 8 22:35:24 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 8 Apr 2008 22:35:24 -0700 Subject: [Live-devel] RTCP Extended Report Support in Live 555 In-Reply-To: <754664c30804081400w4162a3eaw3a22d5732fa82672@mail.gmail.com> References: <754664c30804081400w4162a3eaw3a22d5732fa82672@mail.gmail.com> Message-ID: >I need to implement the RTCP XR packet type. Is this support >already there in Live 555 ? No, not yet. Feel free to try implementing it. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Apr 8 23:04:03 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 8 Apr 2008 23:04:03 -0700 Subject: [Live-devel] Vulnerabilities in RTPInterface::handleRead() In-Reply-To: References: Message-ID: >Here, ReadSocket() returns int while curBytesRead is declared >unsigned. If ReadSocket() returns -1, the above code may cause >problem. You're right - thanks for noting this. Changing the declaration of "curBytesRead" from "unsigned" to "int" fixes the problem. (This will be included in the next release.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From manas_ec007in at yahoo.co.in Wed Apr 9 03:47:26 2008 From: manas_ec007in at yahoo.co.in (manas lenka) Date: Wed, 9 Apr 2008 11:47:26 +0100 (BST) Subject: [Live-devel] Implementing Video Telephony using live555 Media Server Message-ID: <162175.75882.qm@web8909.mail.in.yahoo.com> Hi, I am new to 'live555 Media Server' I am planning to implement video telephony using live555 Media Server. What I found at the first glance, it is meant for streaming Media files. Can i stream live audio and video packets to the client and in the same way receive the live audio and video packets from the client by using 'live555 Media Server'. If i can what modifiacations to be done.. I hope people might have done this before.. Your suggestions and help will be highly appreciated.. THANKS In Advance MANAS --------------------------------- Explore your hobbies and interests. Click here to begin. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080409/6fd17ac1/attachment-0001.html From RGlobisch at csir.co.za Wed Apr 9 04:19:21 2008 From: RGlobisch at csir.co.za (Ralf Globisch) Date: Wed, 09 Apr 2008 13:19:21 +0200 Subject: [Live-devel] Implementing Video Telephony using live555 Media Server Message-ID: <47FCC259.5DA9.004D.0@csir.co.za> Yes it is possible. See the faq for more info: http://www.live555.com/liveMedia/faq.html#liveInput and do a search on the archives to find out more details. AFAIK there's been a couple of threads regarding this. -- This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html. This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks Transtec Computers for their support. From manas_ec007in at yahoo.co.in Wed Apr 9 05:57:02 2008 From: manas_ec007in at yahoo.co.in (manas lenka) Date: Wed, 9 Apr 2008 13:57:02 +0100 (BST) Subject: [Live-devel] H.264 encoding... Message-ID: <284966.36066.qm@web8908.mail.in.yahoo.com> Hi, I have an H.264 encoder which gives me enocded frames after frames(NOT BYTES) (The frames are I and P frames). For streaming, I came to know we have to add NAL header. Is there anything extra we have to add. Can anybody say or refer about NAL HEADERs. THANKS In Advance MANAS --------------------------------- Best Jokes, Best Friends, Best Food. Get all this and more on Best of Yahoo! Groups. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080409/42d92e6e/attachment.html From gbonneau at matrox.com Wed Apr 9 08:34:09 2008 From: gbonneau at matrox.com (Guy Bonneau) Date: Wed, 9 Apr 2008 11:34:09 -0400 Subject: [Live-devel] Missing File in latest release ? Message-ID: <073201c89a57$27ba4450$8642a8c0@dorvalmatrox.matrox.com> I believe a file might be missing in the lastest release of the liveMedia library since I cannot compile the application testGSMStreamer. The file missing must be implementing the class createNewGSMAudioSource. Could please check Thanks Guy Bonneau From gbonneau at matrox.com Wed Apr 9 11:23:03 2008 From: gbonneau at matrox.com (Guy Bonneau) Date: Wed, 9 Apr 2008 14:23:03 -0400 Subject: [Live-devel] Missing File in latest release ? In-Reply-To: <073201c89a57$27ba4450$8642a8c0@dorvalmatrox.matrox.com> References: <073201c89a57$27ba4450$8642a8c0@dorvalmatrox.matrox.com> Message-ID: <076301c89a6e$bfd86890$8642a8c0@dorvalmatrox.matrox.com> O.K. I found the answer to my question in the documentation Of the code. Sorry GB > -----Original Message----- > From: live-devel-bounces at ns.live555.com > [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Guy Bonneau > Sent: Wednesday, April 09, 2008 11:34 AM > To: live-devel at ns.live555.com > Subject: [Live-devel] Missing File in latest release ? > > I believe a file might be missing in the lastest release of > the liveMedia library since I cannot compile the application > testGSMStreamer. The file > missing must be implementing the class createNewGSMAudioSource. > > Could please check > Thanks > Guy Bonneau > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From raphael.kindt at seldes.com Thu Apr 10 02:19:56 2008 From: raphael.kindt at seldes.com (=?iso-8859-1?Q?Rapha=EBl_KINDT?=) Date: Thu, 10 Apr 2008 11:19:56 +0200 Subject: [Live-devel] JPEGVideoRTPSource and JPEGVideoSource Message-ID: Hello What's the difference between JPEGVideoRTPSource and JPEGVideoSource? What JPEGVideoRTPSource do that JPEGVideoSource doesn't do (and vice-versa)? Thanks in advance. ------------------------------ Ing. KINDT Rapha?l Software R&D Manager Rue des Bleuets, 1b E-Mail : raphael.kindt at seldes.com B-7000 Mons (Belgium) Phone : +32 (0)65 352 252 Web site: www.seldes.com Fax : +32 (0)65 352 253 From lodewijk at waag.org Thu Apr 10 03:24:25 2008 From: lodewijk at waag.org (lodewijk) Date: Thu, 10 Apr 2008 12:24:25 +0200 Subject: [Live-devel] Darwin Injector Message-ID: <23A5524B-E6C1-4684-BED3-C6B0DD27D80C@waag.org> hello, I note that DarwinInjector in the testMPEG4VideoToDarwin example is streaming its RTP data via TCP. Is there way to make it stream RTP via UDP? gr. Lodewijk From gbonneau at matrox.com Thu Apr 10 06:18:27 2008 From: gbonneau at matrox.com (Guy Bonneau) Date: Thu, 10 Apr 2008 09:18:27 -0400 Subject: [Live-devel] Visual 2005 Message-ID: <07e401c89b0d$5cd9d900$8642a8c0@dorvalmatrox.matrox.com> Ross, I have seen a few request asking how to compile the LiveMedia library for Microsoft Visual 2005. I know the FAQ provides a link for this purpose. But you have to go through many steps. I have a Visual 2005 solution file (.sln) as well as the associated project files (.vcproj) for visual 2005 that compiles the whole LiveMedia library as well as the associated applications. I keep these project files in a separate folder in the tree folders of the library. I use these projects files to compile each LiveMedia source code release with Visual Studio 2005. Are you interested to integrate these projects file into the library? I believe there is enough people using Microsoft Visual Studio to help support these files for future release. Regards Guy From finlayson at live555.com Thu Apr 10 06:21:32 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 10 Apr 2008 06:21:32 -0700 Subject: [Live-devel] Darwin Injector In-Reply-To: <23A5524B-E6C1-4684-BED3-C6B0DD27D80C@waag.org> References: <23A5524B-E6C1-4684-BED3-C6B0DD27D80C@waag.org> Message-ID: >I note that DarwinInjector in the testMPEG4VideoToDarwin example is >streaming its RTP data via TCP. Is there way to make it stream RTP >via UDP? No. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Apr 10 06:32:46 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 10 Apr 2008 06:32:46 -0700 Subject: [Live-devel] JPEGVideoRTPSource and JPEGVideoSource In-Reply-To: References: Message-ID: >What's the difference between JPEGVideoRTPSource and JPEGVideoSource? >What JPEGVideoRTPSource do that JPEGVideoSource doesn't do (and vice-versa)? "JPEGVideoRTPSource" encapsulates an incoming stream of motion-JPEG RTP packets. This class is used by clients that receive network packets. "JPEGVideoSource" encapsulates a stream of motion-JPEG frames that are *not* RTP packets. For example, if you have a video camera, or video encoder, that produces a sequence of JPEG frames, then you would use a subclass of this class to encapsulate it. (Note that "JPEGVideoSource" is an abstract base class that you would need to subclass, and implement a handful of virtual functions, for your own JPEG source.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Apr 10 06:36:36 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 10 Apr 2008 06:36:36 -0700 Subject: [Live-devel] Visual 2005 In-Reply-To: <07e401c89b0d$5cd9d900$8642a8c0@dorvalmatrox.matrox.com> References: <07e401c89b0d$5cd9d900$8642a8c0@dorvalmatrox.matrox.com> Message-ID: >I have seen a few request asking how to compile the LiveMedia library for >Microsoft Visual 2005. I know the FAQ provides a link for this purpose. But >you have to go through many steps. I have a Visual 2005 solution file (.sln) >as well as the associated project files (.vcproj) for visual 2005 that >compiles the whole LiveMedia library as well as the associated applications. >I keep these project files in a separate folder in the tree folders of the >library. I use these projects files to compile each LiveMedia source code >release with Visual Studio 2005. > >Are you interested to integrate these projects file into the library? No, because I don't want to include something that I don't use (and therefore can't test, or upgrade) myself. However, if you have something that's available on a web site, then I would be happy to add a link to this under (e.g., there's already a 'hints' link there.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Apr 10 06:44:24 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 10 Apr 2008 06:44:24 -0700 Subject: [Live-devel] two questions about liveMedia source code In-Reply-To: <47fb475f.1c078e0a.5216.7cfa@mx.google.com> References: <47fb475f.1c078e0a.5216.7cfa@mx.google.com> Message-ID: >I'm reading liveMedia source code(version 2008.4.3), and have two >questions about it > >(1) in RTSPClient::setupMediaSubsession (RTSPClient.cpp, line 956): >subsession.connectionEndpointName() = serverAddressStr; >where the serverAddressStr comes from the transport section of SDP >response of Server. > >But in the same function(line 983), >"subsession.setDestinations(fServerAddress)" set the destination >address of the client subsession to fServerAddress > >I searched fServerAddress and found that it is set in >RTSPClient::openConnectionFromURL( line 1792). fServerAddress comes >from the RTSP URL. > >So why not set the mediaSubSession destination address to the >address of SETUP response? > >If the RTSP URL is more appropriate, then is line 956 redundant? Actually, line 983 was incorrect. It should be subsession.setDestinations(subsession.connectionEndpointAddress()); (to match what the preceding comment says :-) Thanks for noticing this. It has now been fixed in the latest software release (2008.04.09). > (2) In rtcp_from_spec.c, line 286, the OnReceive function, > >if (TypeOfEvent(e) == EVENT_BYE) { > *members += 1; >} > >I read RFC3550 A.7, it has the same code above. > >Why not should it be: > >if (TypeOfEvent(e) == EVENT_BYE) { > *members -= 1; >} I was unsure about this, so I asked people on the "avt at ietf.org" mailing list (the mailing list for the group that standardizes RTP/RTCP). This was their response (which, I admit, I don't fully understand :-) "Because there is a special rule for when a end-point is leaving a session, i.e. waiting to send BYE. Which the comment in the code indicates. In that face one retargets the members counter to count number of BYE messages received to make the correct back off to avoid floods of RTCP BYE." -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From raphael.kindt at seldes.com Thu Apr 10 08:43:02 2008 From: raphael.kindt at seldes.com (=?us-ascii?Q?Raphael_KINDT?=) Date: Thu, 10 Apr 2008 17:43:02 +0200 Subject: [Live-devel] JPEGVideoRTPSource and JPEGVideoSource In-Reply-To: Message-ID: Hello and thank you for your reply. I'm trying to develop a streamer process that send JPEG images receive from another process (I use pipes to do it) to a remote client (VLC client, etc). I must be able to add new stream to this streamer. To do it I use a pipe control (with mine protocol). This pipe control indicate to the streamer to add a pipe for the new streaming AND add a new server media session (addServerMediaSession) for this new stream. I use the same name for the new pipe and the new session (i.e. "Process0", etc) Here a representation of this architecture: APPLICATION PIPES APPLICATION +-----------+ +-----------+ | Grabber |<----- ctrl ------>| | | + | | Streamer | | image |--- stream 0 --->| LIVE |--- Process 0 ---> | processs |--- stream ... --->| |--- Process ... ---> +-----------+ +-----------+ At this time we must use JPEG image (because it's simple) but after we want to send raw image... I hope you understand the global mechanism I want to construct. Could you tell me if it's possible to do that for the LIVE side? In short, the main point is to add new server media session dynamicaly. This means that the scheduler is already started like this env->taskScheduler().doEventLoop(&watch_scheduler) before the call of rtspServer->addServerMediaSession and sink->startPlaying Thanks in advance for your help. Best regards, Raphael -----Message d'origine----- De : live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com]De la part de Ross Finlayson Envoye : jeudi 10 avril 2008 15:33 A : LIVE555 Streaming Media - development & use Objet : Re: [Live-devel] JPEGVideoRTPSource and JPEGVideoSource >What's the difference between JPEGVideoRTPSource and JPEGVideoSource? >What JPEGVideoRTPSource do that JPEGVideoSource doesn't do (and vice-versa)? "JPEGVideoRTPSource" encapsulates an incoming stream of motion-JPEG RTP packets. This class is used by clients that receive network packets. "JPEGVideoSource" encapsulates a stream of motion-JPEG frames that are *not* RTP packets. For example, if you have a video camera, or video encoder, that produces a sequence of JPEG frames, then you would use a subclass of this class to encapsulate it. (Note that "JPEGVideoSource" is an abstract base class that you would need to subclass, and implement a handful of virtual functions, for your own JPEG source.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel From finlayson at live555.com Thu Apr 10 17:26:42 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 10 Apr 2008 17:26:42 -0700 Subject: [Live-devel] JPEGVideoRTPSource and JPEGVideoSource In-Reply-To: References: Message-ID: >I'm trying to develop a streamer process that send JPEG images receive from >another process (I use pipes to do it) to a remote client (VLC client, etc). OK, so you will need to first parse the stream into discrete JPEG images, and feed these to a subclass of "JPEGVideoSource" - that you would write. (Or alternatively, you could do the parsing within your "JPEGVideoSource" subclass.) >In short, the main point is to add new server media session dynamicaly. Yes, you can call "RTSPServer::addServerMediaSession()" (or "RTSPServer::removeServerMediaSession()") at any time. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From rajeshkumar.r at imimobile.com Thu Apr 10 22:11:28 2008 From: rajeshkumar.r at imimobile.com (rajesh) Date: Fri, 11 Apr 2008 10:41:28 +0530 Subject: [Live-devel] rtsp server Message-ID: <089501c89b92$7f6dc550$6902000a@imidomain.com> Hi all, whether Live555 rtsp server supports Live Streaming. Please reply. Thanks and Regards Rajesh Kumar Sr. Software Engineer R & D - Network Group +91 40 23555945 - 235 +91 99084 00027 www.imimobile.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080410/9afd81b6/attachment.html From finlayson at live555.com Thu Apr 10 22:38:38 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 10 Apr 2008 22:38:38 -0700 Subject: [Live-devel] rtsp server In-Reply-To: <089501c89b92$7f6dc550$6902000a@imidomain.com> References: <089501c89b92$7f6dc550$6902000a@imidomain.com> Message-ID: >Hi all, >whether Live555 rtsp server supports Live Streaming. What do you mean by "Live Streaming"? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080410/fdb105e2/attachment.html From rajeshkumar.r at imimobile.com Thu Apr 10 23:02:38 2008 From: rajeshkumar.r at imimobile.com (rajesh) Date: Fri, 11 Apr 2008 11:32:38 +0530 Subject: [Live-devel] rtsp server References: <089501c89b92$7f6dc550$6902000a@imidomain.com> Message-ID: <092801c89b99$a5297bc0$6902000a@imidomain.com> Re: [Live-devel] rtsp serverHi Ross, We are taking TV channel signal into Capture card and output of capture card is fed into Helix mobile Producer. Instead of Helix Mobile Producer can we use RTSP Server of Live555 to Process the TV channel Data. Thanks for reply Thanks and Regards Rajesh Kumar Sr. Software Engineer R & D - Network Group +91 40 23555945 - 235 +91 99084 00027 www.imimobile.com ----- Original Message ----- From: Ross Finlayson To: LIVE555 Streaming Media - development & use Sent: Friday, April 11, 2008 11:08 AM Subject: Re: [Live-devel] rtsp server Hi all, whether Live555 rtsp server supports Live Streaming. What do you mean by "Live Streaming"? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ ------------------------------------------------------------------------------ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080410/e2df5f82/attachment.html From artemgoryunov at gmail.com Thu Apr 10 23:48:11 2008 From: artemgoryunov at gmail.com (Artem Goryunov) Date: Fri, 11 Apr 2008 10:48:11 +0400 Subject: [Live-devel] LIVE555 Media Server and Windows Media Player Message-ID: <116198ab0804102348p4d34b1d6xf63b65e5f450b56@mail.gmail.com> Hello All! Please help I don't understand why the stream (rtsp://xx.xx.xx.xx/test.mpg) from LIVE555 Media Server does not open by Windows Media Player? How it is possible to repair it? ---- Artem -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080410/274774bc/attachment.html From lucabe72 at email.it Thu Apr 10 23:53:43 2008 From: lucabe72 at email.it (Luca Abeni) Date: Fri, 11 Apr 2008 08:53:43 +0200 Subject: [Live-devel] LIVE555 Media Server and Windows Media Player In-Reply-To: <116198ab0804102348p4d34b1d6xf63b65e5f450b56@mail.gmail.com> References: <116198ab0804102348p4d34b1d6xf63b65e5f450b56@mail.gmail.com> Message-ID: <47FF0AF7.6070201@email.it> Artem Goryunov wrote: > Hello All! > > Please help > I don't understand why the stream (rtsp://xx.xx.xx.xx/test.mpg) from > LIVE555 Media Server does not open by Windows Media Player? Because Windows Media Player does not support MPEG over RTP? > How it is possible to repair it? Fix Windows Media Player (or switch to vlc) Luca From fay2002hifi at 163.com Thu Apr 10 23:53:24 2008 From: fay2002hifi at 163.com (fay) Date: Fri, 11 Apr 2008 14:53:24 +0800 Subject: [Live-devel] LIVE555 Media Server and Windows Media Player In-Reply-To: <116198ab0804102348p4d34b1d6xf63b65e5f450b56@mail.gmail.com> References: <116198ab0804102348p4d34b1d6xf63b65e5f450b56@mail.gmail.com> Message-ID: <200804111453.24562.fay2002hifi@163.com> ? Friday 11 April 2008 14:48:11?Artem Goryunov ??? > Hello All! > > Please help > I don't understand why the stream (rtsp://xx.xx.xx.xx/test.mpg) from > LIVE555 Media Server does not open by Windows Media Player? > How it is possible to repair it? > > ---- > Artem hi, try real player first From finlayson at live555.com Thu Apr 10 23:24:29 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 10 Apr 2008 23:24:29 -0700 Subject: [Live-devel] rtsp server In-Reply-To: <092801c89b99$a5297bc0$6902000a@imidomain.com> References: <089501c89b92$7f6dc550$6902000a@imidomain.com> <092801c89b99$a5297bc0$6902000a@imidomain.com> Message-ID: >Hi Ross, >We are taking TV channel signal into Capture card and output of capture >card is fed into Helix mobile Producer. >Instead of Helix Mobile Producer can we use RTSP Server of Live555 >to Process the TV channel Data. You will need an encoder to compress the software (e.g., into MPEG-4 or H.264) before you feed it into the server. But once you've done that, it's possible - with a little extra coding - to stream such data using our server. For some more details, see the FAQ. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080411/9c49d36f/attachment.html From finlayson at live555.com Fri Apr 11 00:51:34 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 11 Apr 2008 00:51:34 -0700 Subject: [Live-devel] LIVE555 Media Server and Windows Media Player In-Reply-To: <116198ab0804102348p4d34b1d6xf63b65e5f450b56@mail.gmail.com> References: <116198ab0804102348p4d34b1d6xf63b65e5f450b56@mail.gmail.com> Message-ID: >I don't understand why the stream (rtsp://xx.xx.xx.xx/test.mpg) from >LIVE555 Media Server does not open by Windows Media Player? It's because Windows Media Player is not standards-compliant. Use VLC instead. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From rajeshkumar.r at imimobile.com Fri Apr 11 01:16:15 2008 From: rajeshkumar.r at imimobile.com (rajesh) Date: Fri, 11 Apr 2008 13:46:15 +0530 Subject: [Live-devel] rtsp server References: <089501c89b92$7f6dc550$6902000a@imidomain.com><092801c89b99$a5297bc0$6902000a@imidomain.com> Message-ID: <0a2701c89bac$5009f850$6902000a@imidomain.com> Re: [Live-devel] rtsp serverHi Ross, Can U suggest me any encoder for H.263 + AMR , must be compatible with Live555. Thanks and Regards Rajesh Kumar Sr. Software Engineer R & D - Network Group +91 40 23555945 - 235 +91 99084 00027 www.imimobile.com ----- Original Message ----- From: Ross Finlayson To: LIVE555 Streaming Media - development & use Sent: Friday, April 11, 2008 11:54 AM Subject: Re: [Live-devel] rtsp server Hi Ross, We are taking TV channel signal into Capture card and output of capture card is fed into Helix mobile Producer. Instead of Helix Mobile Producer can we use RTSP Server of Live555 to Process the TV channel Data. You will need an encoder to compress the software (e.g., into MPEG-4 or H.264) before you feed it into the server. But once you've done that, it's possible - with a little extra coding - to stream such data using our server. For some more details, see the FAQ. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ ------------------------------------------------------------------------------ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080411/ec7e1476/attachment-0001.html From eric.flickner at gmail.com Fri Apr 11 04:40:31 2008 From: eric.flickner at gmail.com (Eric Flickner) Date: Fri, 11 Apr 2008 06:40:31 -0500 Subject: [Live-devel] Visual 2005 In-Reply-To: References: <07e401c89b0d$5cd9d900$8642a8c0@dorvalmatrox.matrox.com> Message-ID: <47ff4032.051d400a.4029.613a@mx.google.com> Ross, Both of these versions of Visual Studio are free are compatible with the "full" Visual Studio versions. Therefore you can use one of these provided below to maintain and test with. Visual Studio 2008 C++ Express http://www.microsoft.com/express/vc Visual Studio 2005 C++ Express http://www.microsoft.com/express/2005/download/default.aspx Thanks, Eric Flickner -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: Thursday, April 10, 2008 8:37 AM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] Visual 2005 >I have seen a few request asking how to compile the LiveMedia library for >Microsoft Visual 2005. I know the FAQ provides a link for this purpose. But >you have to go through many steps. I have a Visual 2005 solution file (.sln) >as well as the associated project files (.vcproj) for visual 2005 that >compiles the whole LiveMedia library as well as the associated applications. >I keep these project files in a separate folder in the tree folders of the >library. I use these projects files to compile each LiveMedia source code >release with Visual Studio 2005. > >Are you interested to integrate these projects file into the library? No, because I don't want to include something that I don't use (and therefore can't test, or upgrade) myself. However, if you have something that's available on a web site, then I would be happy to add a link to this under (e.g., there's already a 'hints' link there.) -- 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 faerber at pi4.informatik.uni-mannheim.de Fri Apr 11 05:21:10 2008 From: faerber at pi4.informatik.uni-mannheim.de (=?ISO-8859-1?Q?Andreas_F=E4rber?=) Date: Fri, 11 Apr 2008 14:21:10 +0200 Subject: [Live-devel] Visual 2005 In-Reply-To: <47ff4032.051d400a.4029.613a@mx.google.com> References: <07e401c89b0d$5cd9d900$8642a8c0@dorvalmatrox.matrox.com> <47ff4032.051d400a.4029.613a@mx.google.com> Message-ID: Am 11.04.2008 um 13:40 schrieb Eric Flickner: > Ross, > > Both of these versions of Visual Studio are free are compatible with > the > "full" Visual Studio versions. Therefore you can use one of these > provided > below to maintain and test with. No, only when running Windows. And he mentioned OSX recently. > Visual Studio 2008 C++ Express > http://www.microsoft.com/express/vc > > Visual Studio 2005 C++ Express > http://www.microsoft.com/express/2005/download/default.aspx Regards, Andreas From finlayson at live555.com Fri Apr 11 05:34:33 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 11 Apr 2008 05:34:33 -0700 Subject: [Live-devel] Visual 2005 In-Reply-To: References: <07e401c89b0d$5cd9d900$8642a8c0@dorvalmatrox.matrox.com> <47ff4032.051d400a.4029.613a@mx.google.com> Message-ID: >No, only when running Windows. And he mentioned OSX recently. No, noone mentioned building for Windows on OS X. When I build the code for Windows, I do so on Windows (XP), using a version of "Visual Studio" that understands Makefiles - which has been the standard mechanism for specifying software build rules for more than 25 years now. If - for whatever reason - Microsoft chooses not to support Makefiles in their newer versions of "Visual Studio", then that's their problem, not mine. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From raphael.kindt at seldes.com Fri Apr 11 07:06:07 2008 From: raphael.kindt at seldes.com (=?iso-8859-1?Q?Rapha=EBl_KINDT?=) Date: Fri, 11 Apr 2008 16:06:07 +0200 Subject: [Live-devel] Remove a session... Message-ID: Hello Ross, What are the situations where DynamicRTSPServer is usefull to use? How to wake up env->taskScheduler().doEventLoop(&watch_scheduler) when no server media session is added? The loop is waiting at a 'select()' call and thus doesn't check my watch_scheduler. To do that I must be able to wake this 'select()' instruction... In short, how to stop the server gracefully when no streaming has been performed? I've some difficulty to add and remove session properly. Sometimes the server crashes because I've a memory violation. I can show remote video with VLC. But when I remove a session, the server crashes (sometimes, with or without a connected VLC client)... I do my best to understand the LIVE library but it's not very easy... Below I send you a part of my test code. The class SeldesJPEGVideoSource is derived from JPEGVideoSource. This class reads some JPEG files to simulate video (all JPEG files are saved into the RAM for the video simulation). The struct I used for my test: typedef struct _sessionState_t { FramedSource* source; RTPSink* sink; RTCPInstance* rtcpInstance; Groupsock* rtpGroupsock; Groupsock* rtcpGroupsock; ServerMediaSession * sms; } sessionState_t; typedef std::map sessions_map_t; typedef sessions_map_t::iterator sessions_map_it; sessions_map_t sessionMap; ... and some other global variable ... The thread that executes the scheduler: DWORD WINAPI Scheduler(LPVOID pParam) { // Begin by setting up our usage environment: TaskScheduler* scheduler = BasicTaskScheduler::createNew(); env = BasicUsageEnvironment::createNew(*scheduler); // Allow for up to 100 RTP packets per JPEG frame //OutPacketBuffer::numPacketsLimit = 100; OutPacketBuffer::maxSize = MAX_BUFFER_SIZE; timePerFrame = 1000000 / fps; // microseconds averageFrameSizeInBytes = 35000; // estimate totalSessionBandwidth = (8 * 1000 * averageFrameSizeInBytes) / timePerFrame; // in kbps //gethostname((char*)CNAME, maxCNAMElen); sprintf((char*)CNAME, "Seldes camera"); // "gethostname()" isn't supported CNAME[maxCNAMElen] = '\0'; // just in case rtpPortNum = 2222; rtcpPortNum = rtpPortNum+1; ttl = 255; // time to live (for client buffer) // Create and start a RTSP server to serve this stream: UserAuthenticationDatabase* authDB = NULL; rtspServer = RTSPServer::createNew(*env, 7070, authDB); if (rtspServer == NULL) { *env << "Failed to create RTSP server: " << env->getResultMsg() << "\n"; exit(1); } //--------------------------------------------------- env->taskScheduler().doEventLoop(&watch_scheduler); //--------------------------------------------------- sessions_map_it it; for(it = sessionMap.begin(); it != sessionMap.end(); ++it) { RemoveSession(it->first); sessionMap.erase(it++); } Medium::close(rtspServer); delete scheduler; env->reclaim(); return true; } To add a session (called by another thread): bool AddSession(const std::string & _session_name) { // verifie si la session existe deja sessions_map_it it; for(it = sessionMap.begin(); it != sessionMap.end(); ++it) { if(it->first == _session_name) { std::cout << "This session already exist...\n"; return false; } } // Create 'groupsocks' for RTP and RTCP: struct in_addr destinationAddress; destinationAddress.s_addr = chooseRandomIPv4SSMAddress(*env); const Port rtpPort(rtpPortNum); const Port rtcpPort(rtcpPortNum); sessionMap[_session_name].rtpGroupsock = new Groupsock(*env, destinationAddress, rtpPort, ttl); sessionMap[_session_name].rtpGroupsock->multicastSendOnly(); sessionMap[_session_name].rtcpGroupsock = new Groupsock(*env, destinationAddress, rtcpPort, ttl); sessionMap[_session_name].rtcpGroupsock->multicastSendOnly(); // Create an appropriate RTP sink from the RTP 'groupsock': sessionMap[_session_name].sink = JPEGVideoRTPSink::createNew(*env, sessionMap[_session_name].rtpGroupsock); // Create (and start) a 'RTCP instance' for this RTP sink: sessionMap[_session_name].rtcpInstance = RTCPInstance::createNew( *env, sessionMap[_session_name].rtcpGroupsock, totalSessionBandwidth, CNAME, sessionMap[_session_name].sink, NULL /* we're a server */, True /* we're a SSM source*/); // Note: This starts RTCP running automatically sessionMap[_session_name].sms = ServerMediaSession::createNew( *env, _session_name.c_str(), progName, "Session streamed by the Seldes camera 1", True/*SSM*/); sessionMap[_session_name].sms->addSubsession(PassiveServerMediaSubsession::c reateNew(*sessionMap[_session_name].sink, sessionMap[_session_name].rtcpInstance)); rtspServer->addServerMediaSession(sessionMap[_session_name].sms); announceStream(rtspServer, sessionMap[_session_name].sms, _session_name.c_str()); // Open the Seldes camera: sessionMap[_session_name].source = SeldesJPEGVideoSource::createNew(*env, timePerFrame, _session_name); if (sessionMap[_session_name].source == NULL) { *env << "Unable to open Seldes camera: " << env->getResultMsg() << "\n"; exit(1); } // Finally, start the streaming: *env << "\nBeginning streaming...\n"; sessionMap[_session_name].sink->startPlaying(*sessionMap[_session_name].sour ce, afterPlaying, &sessionMap[_session_name]); return true; } To close a session (called by another thread): bool RemoveSession(const std::string & _session_name) { sessionMap[_session_name].sink->stopPlaying();// important sinon bug dans startplaying au reboot du server sessionMap[_session_name].source->stopGettingFrames(); rtspServer->removeServerMediaSession(sessionMap[_session_name].sms); Medium::close(sessionMap[_session_name].sink); Medium::close(sessionMap[_session_name].source); Medium::close(sessionMap[_session_name].rtcpInstance); delete sessionMap[_session_name].rtpGroupsock; delete sessionMap[_session_name].rtcpGroupsock; std::cout << "Session \"" << _session_name << "\" removed...\n"; return true; } Quickly... Do you found mistakes? Sorry for this long mail. Thanks for your help. ------------------------------ Ing. KINDT Rapha?l Software R&D Manager Rue des Bleuets, 1b E-Mail : raphael.kindt at seldes.com B-7000 Mons (Belgium) Phone : +32 (0)65 352 252 Web site: www.seldes.com Fax : +32 (0)65 352 253 From s27672 at gmail.com Fri Apr 11 07:24:23 2008 From: s27672 at gmail.com (s s) Date: Fri, 11 Apr 2008 07:24:23 -0700 Subject: [Live-devel] how do we run a live MPEG4 (aud/vid) RTP-over-http stream in VLC (live555)? Message-ID: <2cb73b4a0804110724w6798b89ex80e32fd644bae189@mail.gmail.com> Hi, We are trying to run a live MPEG4 (aud/vid) stream in VLC (0.8.6) but have not had success. The stream is in RTP-over-http format. I understand VLC uses the live555 library. Upon seeing a RTP stream, does live555 get invoked properly in VLC? or are there additional steps? Please advise what are the proper steps/parameters to use. The packets from the stream are listed below Thank you very much. Regards ---------------------------- This is some of the info from the RTP stream - Audio is G.726 Media description - audio 0 RTP/AVP 99 Bandwidth information - AS:32.00 Media attribute - rtpmap:99 G726-32/8000/1 Media attribute - control:rtpoverHttp:// ... Media description - video 0 RTP/AVP 96 Bandwidth information - AS:3000.0 Media attribute - rtpmap:96 MP4V-ES/90000 0 Media attribute - control:rtpoverhttp:// ... Media attribute - fmtp:96 profile-level-id-1;cpresent=0;config=... then GET http ... -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080411/be35d2f3/attachment.html From faerber at pi4.informatik.uni-mannheim.de Fri Apr 11 07:38:58 2008 From: faerber at pi4.informatik.uni-mannheim.de (=?ISO-8859-1?Q?Andreas_F=E4rber?=) Date: Fri, 11 Apr 2008 16:38:58 +0200 Subject: [Live-devel] Visual 2005 In-Reply-To: References: <07e401c89b0d$5cd9d900$8642a8c0@dorvalmatrox.matrox.com> <47ff4032.051d400a.4029.613a@mx.google.com> Message-ID: <045FD025-ADAA-4529-BD0B-7CAEB1CD3D38@pi4.informatik.uni-mannheim.de> Am 11.04.2008 um 14:34 schrieb Ross Finlayson: >> No, only when running Windows. And he mentioned OSX recently. > > No, noone mentioned building for Windows on OS X. When I build the > code for Windows, I do so on Windows (XP), using a version of "Visual > Studio" that understands Makefiles You did mention testing the previous bugfix on OSX. And my point is, just because Microsoft makes something available free- as-in-beer it's no compelling reason for everyone to actually use it, especially not in a multi-platform environment, such as yours apparently. Rather than running Visual Studio 2005 Express and maintaining separate project files here or elsewhere, it might work better to generate the project files from the Makefiles. The Mono project does that with a shell script. Andreas From bonheur.cheung at seldes.com Fri Apr 11 08:47:06 2008 From: bonheur.cheung at seldes.com (cheung bonheur) Date: Fri, 11 Apr 2008 17:47:06 +0200 Subject: [Live-devel] Live555 about ServerMediaSession Message-ID: <004501c89beb$4bf0c7f0$8401a8c0@rhea> Hello Ross, I use Live555 to stream mjpeg from camera live. I wish add and remove dynamically a ServerMediaSession but usually during remove a ServerMediaSession from a rtspserver , I found some bugs exception memory. I read previous mail where you say it is possible. So i think the trouble is how i delete my Object Medium. The instance before the exception, is the state where i remove a MediaSession and i proceed like that: Firstly, i stop the sink by a sink->stopPlaying(), and the i can remove the source media source->stopGettingFrames(). Secondly, i remove fthe mediasession by invoke rtspserver method "removeServerMediaSession" and then i close the sink, the source,the rtcpInstance and all groupsock. Can you help me about the order of remove Element (Medium) and how ( because there are a lot of manner to remove a Medium...) . If there are existing replys , forward me. Thank you very much. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080411/55940209/attachment-0001.html -------------- next part -------------- A non-text attachment was scrubbed... Name: Cheung bonheur.vcf Type: text/x-vcard Size: 136 bytes Desc: not available Url : http://lists.live555.com/pipermail/live-devel/attachments/20080411/55940209/attachment-0001.vcf From tonjefr at ifi.uio.no Fri Apr 11 11:30:31 2008 From: tonjefr at ifi.uio.no (Tonje Fredrikson) Date: Fri, 11 Apr 2008 20:30:31 +0200 (CEST) Subject: [Live-devel] (no subject) In-Reply-To: References: <57624.129.240.228.53.1207603776.squirrel@webmail.uio.no> Message-ID: <57006.129.240.228.53.1207938631.squirrel@webmail.uio.no> Thank you for the reply! >>Is it possible for live555 to seek to an arbitrary point in an MPEG2 >>Program file, find the next GOP in the file, and stream from there? > > Yes, this is already implemented (but doesn't work particularly well, > because the resulting presentation timestamps (from the audio and > video substreams) aren't always in sync). Is it possible to do this with a Transport File instead, and stream it with multicast using an rtsp server (hence not implementing the trick play features, but starting the file at a given offset) ? -- Tonje From finlayson at live555.com Fri Apr 11 15:55:39 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 11 Apr 2008 15:55:39 -0700 Subject: [Live-devel] (no subject) In-Reply-To: <57006.129.240.228.53.1207938631.squirrel@webmail.uio.no> References: <57624.129.240.228.53.1207603776.squirrel@webmail.uio.no> <57006.129.240.228.53.1207938631.squirrel@webmail.uio.no> Message-ID: >Is it possible to do this with a Transport File instead, and stream it >with multicast using an rtsp server (hence not implementing the trick play >features, but starting the file at a given offset) ? Sure - see . First, you will need to create an index file for the Transport Stream file - using our "MPEG2TransportStreamIndexer" tool. Then run testMPEG2TransportStreamTrickPlay 1 to generate a new Transport Stream file that's at the given offset () from the original. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Fri Apr 11 16:29:34 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 11 Apr 2008 16:29:34 -0700 Subject: [Live-devel] how do we run a live MPEG4 (aud/vid) RTP-over-http stream in VLC (live555)? In-Reply-To: <2cb73b4a0804110724w6798b89ex80e32fd644bae189@mail.gmail.com> References: <2cb73b4a0804110724w6798b89ex80e32fd644bae189@mail.gmail.com> Message-ID: At 7:24 AM -0700 4/11/08, "s s" wrote >We are trying to run a live MPEG4 (aud/vid) stream in VLC (0.8.6) Who's "we"? GMail? I don't think so. Your use of a "@gmail.com" email address tells me that you're a casual hobbyist rather than a serious professional. That's OK, but be warned that people who use unprofessional email addresses (e.g., "@gmail.com", "@yahoo.com", "@hotmail.com") are less likely to be supported on this mailing list. >but have not had success. >The stream is in RTP-over-http format. I understand VLC uses the >live555 library. > >Upon seeing a RTP stream, does live555 get invoked properly in VLC? Yes, provided, of course that you're using the RTSP protocol. >Media attribute - control:rtpoverHttp:// ... This is not a standard. In VLC, if you want to use RTP-over-HTTP streaming, then you must explicitly configure it: Preferences... -> Input/Codecs -> Demuxers -> RTP/RTSP Then click the "Advanced" check box Then click the "Tunnel RTSP and RTP over HTTP" check box If this doesn't work, then please post the (publically-accessible) "rtsp://" URL of the stream, so I can test this myself. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080411/73d6c260/attachment.html From finlayson at live555.com Fri Apr 11 20:07:36 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 11 Apr 2008 20:07:36 -0700 Subject: [Live-devel] Live555 about ServerMediaSession In-Reply-To: <004501c89beb$4bf0c7f0$8401a8c0@rhea> References: <004501c89beb$4bf0c7f0$8401a8c0@rhea> Message-ID: >Can you help me about the order of remove Element (Medium) and how ( >because there are a lot of manner to remove a Medium...) . In general, it's safest to remove/delete objects in the reverse order to the order in which they were created. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080411/6623c241/attachment.html From finlayson at live555.com Fri Apr 11 20:23:01 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 11 Apr 2008 20:23:01 -0700 Subject: [Live-devel] Remove a session... In-Reply-To: References: Message-ID: >What are the situations where DynamicRTSPServer is usefull to use? From the header file: "DynamicRTSPServer" is // A subclass of "RTSPServer" that creates "ServerMediaSession"s on demand, // based on whether or not the specified stream name exists as a file I.e., instead of creating, in advance, a set of "ServerMediaSession"s for a particular set of files (as is done in the "testOnDemandRTSPServer" demo application, for example), a "DynamicRTSPServer" creates a "ServerMediaSession" for a file only when that file is specifically requested to be streamed (by a RTSP client). >How to wake up env->taskScheduler().doEventLoop(&watch_scheduler) when >no server media session is added? >The loop is waiting at a 'select()' call and thus doesn't check my >watch_scheduler. I'm not totally sure I udnerstand the question, but I suspect it's related to this point: http://lists.live555.com/pipermail/live-devel/2006-March/004192.html -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From s27672 at gmail.com Fri Apr 11 22:53:27 2008 From: s27672 at gmail.com (s s) Date: Fri, 11 Apr 2008 22:53:27 -0700 Subject: [Live-devel] how do we run run a live MPEG4 (aud/vid) RTP-over-http stream in VLC (live555) Message-ID: <2cb73b4a0804112253g3ddb438eu6eb34ae0f8fde714@mail.gmail.com> (I may not be posting this correctly. Hopefully it goes in the same thread) Sorry for the gmail address. I only use gmail. This is for serious work not casual dabbling. With the RTSP/RTP settings (as you mentioned) also, the stream plays only very briefly and then freezes. Increasing the caching value allows the stream to play a little longer. (Windows-XP version of VLC player) The camera URL is http://66.92.219.93/ username - user31 password - user32 This is the command used in VLC 'open network stream' and then 'http' command line http/m4v://user31:user32 at 66.92.219.93/rtpOverHttp?Url=nphMpeg4/g726-320x240 A wireshark capture of the packets coming from the camera show that it is sending the proper RTP headers. (info posted in the previous posting) The browser can be pointed directly to the camera for the audio/video. This works fine. (in IE it will prompt for an ActiveX download) I believe the audio works only with Internet Explorer. Regards From finlayson at live555.com Fri Apr 11 23:35:05 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 11 Apr 2008 23:35:05 -0700 Subject: [Live-devel] how do we run run a live MPEG4 (aud/vid) RTP-over-http stream in VLC (live555) In-Reply-To: <2cb73b4a0804112253g3ddb438eu6eb34ae0f8fde714@mail.gmail.com> References: <2cb73b4a0804112253g3ddb438eu6eb34ae0f8fde714@mail.gmail.com> Message-ID: >Sorry for the gmail address. I only use gmail. >This is for serious work not casual dabbling. Serious professionals do not use "@gmail.com" email addresses. >The camera URL is http://66.92.219.93/ This will give you HTTP streaming, *not* RTSP. Note that this URL works (with the given username, password) in Firefox, and probably other web browsers also - when I click on the "Single" tab. >This is the command used in VLC >'open network stream' and then 'http' command line > >http/m4v://user31:user32 at 66.92.219.93/rtpOverHttp?Url=nphMpeg4/g726-320x240 That will never work, because "http/m4v::// is not a valid URL prefix. Note that the "LIVE555 Streaming Media" libraries in VLC are used only if a "rtsp://" URL is given. Therefore, because you're using HTTP, and not RTSP (not even RTSP-over-HTTP), this is not the right mailing list for your question. I don't know whether or not VLC will be able to play your stream, but you will need to ask a VLC-specific mailing list about this. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From manas_ec007in at yahoo.co.in Sat Apr 12 00:07:59 2008 From: manas_ec007in at yahoo.co.in (manas lenka) Date: Sat, 12 Apr 2008 08:07:59 +0100 (BST) Subject: [Live-devel] For Video telephony....... Message-ID: <378697.32099.qm@web8914.mail.in.yahoo.com> hi, For video telephony i want to use LIVE555 media server. So whether I have to use RTSP server and RTSP client at the both ends of the communications ?? THanks --------------------------------- Bring your gang together. Do your thing. Find your favourite Yahoo! Group. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080412/00b5b496/attachment.html From brianmarete at gmail.com Sat Apr 12 07:49:41 2008 From: brianmarete at gmail.com (Brian Gitonga Marete) Date: Sat, 12 Apr 2008 17:49:41 +0300 Subject: [Live-devel] Visual 2005 In-Reply-To: <045FD025-ADAA-4529-BD0B-7CAEB1CD3D38@pi4.informatik.uni-mannheim.de> References: <07e401c89b0d$5cd9d900$8642a8c0@dorvalmatrox.matrox.com> <47ff4032.051d400a.4029.613a@mx.google.com> <045FD025-ADAA-4529-BD0B-7CAEB1CD3D38@pi4.informatik.uni-mannheim.de> Message-ID: <6dd519ae0804120749mcef7474j293de0d4176458b3@mail.gmail.com> On Fri, Apr 11, 2008 at 5:38 PM, Andreas F?rber wrote: > > Am 11.04.2008 um 14:34 schrieb Ross Finlayson: > > > >> No, only when running Windows. And he mentioned OSX recently. > > > > No, noone mentioned building for Windows on OS X. When I build the > > code for Windows, I do so on Windows (XP), using a version of "Visual > > Studio" that understands Makefiles > > You did mention testing the previous bugfix on OSX. > > And my point is, just because Microsoft makes something available free- > as-in-beer it's no compelling reason for everyone to actually use it, > especially not in a multi-platform environment, such as yours > apparently. > > Rather than running Visual Studio 2005 Express and maintaining > separate project files here or elsewhere, it might work better to > generate the project files from the Makefiles. The Mono project does > that with a shell script. How about using Cmake? It will automatically generate both UNIX make files and Microsoft Visual Studio Solution files. And the input files are extremely simple to write, especially for a project like live555 which is essentially self contained. The downside is the requirement that, especially for UNIX people, one extra program needs to be installed. (Cmake). Would be interested in a patch that allows live555 to be compiled using Cmake? -- B. Gitonga Marete Tel: +254-722-151-590 From raphael.kindt at seldes.com Mon Apr 14 01:24:19 2008 From: raphael.kindt at seldes.com (=?us-ascii?Q?Raphael_KINDT?=) Date: Mon, 14 Apr 2008 10:24:19 +0200 Subject: [Live-devel] Remove a session... In-Reply-To: Message-ID: Hello, I try to remove a server media session dynamically but sometimes my application crash. This crash seems to be localized in the task scheduler. Here is my remove session function: bool RemoveSession(const std::string & _session_name) { sessionMap[_session_name].sink->stopPlaying(); sessionMap[_session_name].source->stopGettingFrames(); rtspServer->removeServerMediaSession(sessionMap[_session_name].sms); Medium::close(sessionMap[_session_name].sink); Medium::close(sessionMap[_session_name].source); Medium::close(sessionMap[_session_name].rtcpInstance); delete sessionMap[_session_name].rtpGroupsock; delete sessionMap[_session_name].rtcpGroupsock; return true; } Is that a good instructions sequence? Do you found errors? Thanks in advance for your help. Raphael -----Message d'origine----- De : live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com]De la part de Ross Finlayson Envoye : samedi 12 avril 2008 5:23 A : LIVE555 Streaming Media - development & use Objet : Re: [Live-devel] Remove a session... >What are the situations where DynamicRTSPServer is usefull to use? From the header file: "DynamicRTSPServer" is // A subclass of "RTSPServer" that creates "ServerMediaSession"s on demand, // based on whether or not the specified stream name exists as a file I.e., instead of creating, in advance, a set of "ServerMediaSession"s for a particular set of files (as is done in the "testOnDemandRTSPServer" demo application, for example), a "DynamicRTSPServer" creates a "ServerMediaSession" for a file only when that file is specifically requested to be streamed (by a RTSP client). >How to wake up env->taskScheduler().doEventLoop(&watch_scheduler) when >no server media session is added? >The loop is waiting at a 'select()' call and thus doesn't check my >watch_scheduler. I'm not totally sure I udnerstand the question, but I suspect it's related to this point: http://lists.live555.com/pipermail/live-devel/2006-March/004192.html -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel From artemgoryunov at gmail.com Mon Apr 14 06:33:40 2008 From: artemgoryunov at gmail.com (Artem Goryunov) Date: Mon, 14 Apr 2008 17:33:40 +0400 Subject: [Live-devel] Scaling of the output stream Message-ID: <116198ab0804140633g27e3c681s90e84d46fc08157d@mail.gmail.com> Hello All! Live555 Server get input video (MPEG-2) with definition 720x576. Can Live555 Library change definition of the output stream? --- Artem -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080414/36041bd4/attachment.html From peter at topsdigitalsecurity.com Mon Apr 14 14:46:04 2008 From: peter at topsdigitalsecurity.com (Peter) Date: Mon, 14 Apr 2008 14:46:04 -0700 Subject: [Live-devel] RTSP server Message-ID: <000001c89e78$f0c7f700$5601a8c0@PeterMobile> Dear all, Do you have any information about how to buy RTSP server filter ? My main streaming format is h.264. Regards, Peter -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080414/380a1942/attachment.html From saswat_praharaj at yahoo.com Mon Apr 14 18:03:37 2008 From: saswat_praharaj at yahoo.com (Saswat Praharaj) Date: Mon, 14 Apr 2008 18:03:37 -0700 (PDT) Subject: [Live-devel] Question on wmv streaming support Message-ID: <266338.80272.qm@web33806.mail.mud.yahoo.com> I am sure this question has been asked before. I tried to search for it in the archives but couldn't search. Question is : Why LIVE555 media server doesn't support streaming of wmv files ? Is there any licensing/ legal issues involved here ? I see that VLC supports wmv streaming and it uses live555 media server internally. Could anyone tell me which files I need to change to support wmv streaming and how much work is involved for this. I would appreciate if someone gives me some pointers to start my work. Thanks in advance for your reply. Best Regards Saswat Explore your hobbies and interests. Go to http://in.promos.yahoo.com/groups/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080414/0d5bf327/attachment.html From artemgoryunov at gmail.com Tue Apr 15 03:57:32 2008 From: artemgoryunov at gmail.com (Artem Goryunov) Date: Tue, 15 Apr 2008 14:57:32 +0400 Subject: [Live-devel] Scaling of the output stream In-Reply-To: <116198ab0804140633g27e3c681s90e84d46fc08157d@mail.gmail.com> References: <116198ab0804140633g27e3c681s90e84d46fc08157d@mail.gmail.com> Message-ID: <116198ab0804150357ncb86655o993d43a9cc83c6e6@mail.gmail.com> On 14/04/2008, Artem Goryunov wrote: > > Hello All! > > Live555 Server get input video (MPEG-2) with definition 720x576. Can > Live555 Library change definition of the output stream? > > --- > Artem Excuse me for my English, I meant can Live55 Library change bitrate for output stream? Does Library use constant or variable bitrate? Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080415/98d448bf/attachment.html From s_animal at aon.at Tue Apr 15 10:51:44 2008 From: s_animal at aon.at (Siegfried Heilmeier) Date: Tue, 15 Apr 2008 19:51:44 +0200 Subject: [Live-devel] VLC and stb don't play "trick play" streams In-Reply-To: Message-ID: <200804151753.m3FHrsbv087672@ns.live555.com> Hello If you change the video pid in ts to 0xe0 then the indexer it will work. The problem is it use always vpid 0xe0 in case of trickplay and for speed 1 the original vpid and amino doesn't read the pmt again. Sorry 4 my english siegfried -----Urspr?ngliche Nachricht----- Von: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] Im Auftrag von Ross Finlayson Gesendet: Montag, 7. April 2008 18:10 An: LIVE555 Streaming Media - development & use Betreff: Re: [Live-devel] VLC and stb don't play "trick play" streams >VLC playback this stream fine, pause works fine too, but then I try to >do FastFoward or FastBackward the stream starts play fast for about a >one second and after that picture disappears. > >Furthermore, I've tried do do FastFoward or FastBackward on amino stb >and trick play didn't work fine there too: the picture is broken after >I've press FF or FW ... This seems to be a problem for some - although not all - transport stream files. >It seems what MPEG2TransportStreamTrickModeFilter produce non-standard >transport stream. No, that's not correct at all. If you run "testMPEG2TransportStreamTrickPlay", you will see that the resulting Transport Stream files (for fast-forward or reverse play) are OK. However, their bitrate is significantly larger than than the original file, and that may cause problems (e.g., network packet loss) on some networks/systems. -- 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 Tue Apr 15 17:51:43 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 15 Apr 2008 17:51:43 -0700 Subject: [Live-devel] Question on wmv streaming support In-Reply-To: <266338.80272.qm@web33806.mail.mud.yahoo.com> References: <266338.80272.qm@web33806.mail.mud.yahoo.com> Message-ID: >Why LIVE555 media server doesn't support streaming of wmv files ? Because there is no open standard document that describes how to do this (especially using RTP, which is what our library/server supports). Also, many of the codecs used in 'wmv' files are themselves proprietary standards, with no standard RTP payload format defined. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Apr 15 18:59:20 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 15 Apr 2008 18:59:20 -0700 Subject: [Live-devel] Scaling of the output stream In-Reply-To: <116198ab0804150357ncb86655o993d43a9cc83c6e6@mail.gmail.com> References: <116198ab0804140633g27e3c681s90e84d46fc08157d@mail.gmail.com> <116198ab0804150357ncb86655o993d43a9cc83c6e6@mail.gmail.com> Message-ID: >On 14/04/2008, Artem Goryunov ><artemgoryunov at gmail.com> wrote: > >Hello All! > >Live555 Server get input video (MPEG-2) with definition 720x576. Can >Live555 Library change definition of the output stream? > >--- >Artem > > >Excuse me for my English, I meant can Live55 Library change bitrate >for output stream? Does Library use constant or variable bitrate? The server streams data at its natural rate. I.e., if the data is coming from a file, then the server streams at the rate given by the timestamps in the file. If the data is coming from a live source, then the server streams the data as it arrives from the source. In other words, it is the data - not the server - that decides the rate at which the data is streamed. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080415/b1da3adf/attachment.html From finlayson at live555.com Wed Apr 16 01:59:42 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 16 Apr 2008 01:59:42 -0700 Subject: [Live-devel] VLC and stb don't play "trick play" streams In-Reply-To: <200804151753.m3FHrsbv087672@ns.live555.com> References: <200804151753.m3FHrsbv087672@ns.live555.com> Message-ID: >If you change the video pid in ts to 0xe0 then the indexer it will work. >The problem is it use always vpid 0xe0 in case of trickplay and for speed 1 >the original vpid and amino doesn't read the pmt again. This is very interesting. Can anyone else (who's having problems playing our 'trick play' streams on an Amino STB) confirm this - i.e., that changing the video pid to 0xE0 in the original TS file solves the problem? If this is true, then it should also be possible to solve the problem by using the original TS file's video pid (instead of 0xE0) in the generated 'trick play' TS stream. (It would be possible to change the trick play generation code to take a desired video pid as parameter.) A better solution, though, would be to change the resulting TS stream in some way so as to persuade the Amino STB to read the PMT for the 'trick play' stream (and then again when we go back to the normal 1x stream). Does anyone know if this is possible? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From s_animal at aon.at Wed Apr 16 05:40:22 2008 From: s_animal at aon.at (s_animal at aon.at) Date: Wed, 16 Apr 2008 14:40:22 +0200 (CEST) Subject: [Live-devel] VLC and stb don\'t play \"trick play\" streams In-Reply-To: References: <200804151753.m3FHrsbv087672@ns.live555.com> Message-ID: <1208349622.4805f3b6d580b@webmail.aon.at> hello ross, as far as i know no stb, we use amino and adb, does rescan on pmt. i think the best way to make it easier is to set vpid in trickplay to the value of original vpid. br siegfried ----- Original von: Ross Finlayson : > >If you change the video pid in ts to 0xe0 then the indexer it will work. >The problem is it use always vpid 0xe0 in case of trickplay and for speed 1 >the original vpid and amino doesn\'t read the pmt again. This is very interesting. Can anyone else (who\'s having problems playing our \'trick play\' streams on an Amino STB) confirm this - i.e., that changing the video pid to 0xE0 in the original TS file solves the problem? If this is true, then it should also be possible to solve the problem by using the original TS file\'s video pid (instead of 0xE0) in the generated \'trick play\' TS stream. (It would be possible to change the trick play generation code to take a desired video pid as parameter.) A better solution, though, would be to change the resulting TS stream in some way so as to persuade the Amino STB to read the PMT for the \'trick play\' stream (and then again when we go back to the normal 1x stream). Does anyone know if this is possible? -- 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 josh at kci.net Wed Apr 16 13:34:22 2008 From: josh at kci.net (Josh Norell) Date: Wed, 16 Apr 2008 14:34:22 -0600 Subject: [Live-devel] VLC and stb don\'t play \"trick play\" streams In-Reply-To: <1208349622.4805f3b6d580b@webmail.aon.at> References: <200804151753.m3FHrsbv087672@ns.live555.com> <1208349622.4805f3b6d580b@webmail.aon.at> Message-ID: <1208378062.12102.12.camel@subterfuge.kci.net> For what it's worth, this problem seems to be only on the amino 110. The amino 125/130's fast forward/backward pretty well, aside from some stuttering upon resuming normal play scale. Josh On Wed, 2008-04-16 at 14:40 +0200, s_animal at aon.at wrote: > hello ross, > > as far as i know no stb, we use amino and adb, does rescan on pmt. > i think the best way to make it easier is to set vpid in trickplay to the value of original vpid. > > br > > siegfried > > ----- Original von: Ross Finlayson : > > > >If you change the video pid in ts to 0xe0 then the indexer it will work. > >The problem is it use always vpid 0xe0 in case of trickplay and for speed 1 > >the original vpid and amino doesn\'t read the pmt again. > > This is very interesting. Can anyone else (who\'s having problems > playing our \'trick play\' streams on an Amino STB) confirm this - > i.e., that changing the video pid to 0xE0 in the original TS file > solves the problem? > > If this is true, then it should also be possible to solve the problem > by using the original TS file\'s video pid (instead of 0xE0) in the > generated \'trick play\' TS stream. (It would be possible to change > the trick play generation code to take a desired video pid as > parameter.) > > A better solution, though, would be to change the resulting TS stream > in some way so as to persuade the Amino STB to read the PMT for the > \'trick play\' stream (and then again when we go back to the normal 1x > stream). Does anyone know if this is possible? From finlayson at live555.com Wed Apr 16 14:59:53 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 16 Apr 2008 14:59:53 -0700 Subject: [Live-devel] VLC and stb don\'t play \"trick play\" streams In-Reply-To: <1208378062.12102.12.camel@subterfuge.kci.net> References: <200804151753.m3FHrsbv087672@ns.live555.com> <1208349622.4805f3b6d580b@webmail.aon.at> <1208378062.12102.12.camel@subterfuge.kci.net> Message-ID: >For what it's worth, this problem seems to be only on the amino 110. The >amino 125/130's fast forward/backward pretty well, aside from some >stuttering upon resuming normal play scale. It would be nice to get some feedback from Amino Corp about what exactly is going on here. I find it bizarre that so many people are (somehow) able to acquire Amino's STBs, but noone seems to be able to get any support from them. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From westbywest at gmail.com Wed Apr 16 17:44:22 2008 From: westbywest at gmail.com (Ben West) Date: Wed, 16 Apr 2008 19:44:22 -0500 Subject: [Live-devel] Whereabouts of oss.wischip.com? Message-ID: <3aefcca60804161744p4e05c6bcxec6ee51ab386f46d@mail.gmail.com> Hello, I am looking into the wis-streamer server application, in particular the effort required to add support for more video encoder devices. I see that wis-streamer depends on the WIS G07007 driver available from the (presently defunct) URL: http://oss.wischip.com/ I read that WISChip was acquired by Micronas some time ago. Are WISChip's open source drivers still available/maintained anywhere? I see that RPMs containing kernel modules for Fedora 7 are available from this site, but I'm unsure where the GO7007 driver presently resides. http://atrpms.net/dist/f7/wis-go7007-linux/ Thanks. -- Ben West westbywest at gmail.com http://savetheinternet.org From finlayson at live555.com Wed Apr 16 22:33:28 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 16 Apr 2008 22:33:28 -0700 Subject: [Live-devel] Whereabouts of oss.wischip.com? In-Reply-To: <3aefcca60804161744p4e05c6bcxec6ee51ab386f46d@mail.gmail.com> References: <3aefcca60804161744p4e05c6bcxec6ee51ab386f46d@mail.gmail.com> Message-ID: >I am looking into the wis-streamer server application, in particular >the effort required to add support for more video encoder devices. I'm not sure I understand what you're saying here, because this application is for one particular type of encoder device only - namely, those that use the WIS GO7007 chip. > I >see that wis-streamer depends on the WIS G07007 driver available from >the (presently defunct) URL: >http://oss.wischip.com/ > >I read that WISChip was acquired by Micronas some time ago. Are >WISChip's open source drivers still available/maintained anywhere? Unfortunately I don't know. (If anyone finds this, please let us know.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From tony.vankrunkelsven at nsn.com Thu Apr 17 01:27:25 2008 From: tony.vankrunkelsven at nsn.com (Vankrunkelsven, Tony (NSN - BE/Herentals)) Date: Thu, 17 Apr 2008 10:27:25 +0200 Subject: [Live-devel] RTSP server/client application Message-ID: Hi All, Is it possible to use the LIVE555 Streaming Media libraries for the following two applications: 1) Software RTSP server / Hardware RTP streamer: There is a host handling all RTSP/RTCP related issues like connection setup, session control, RTP streaming control of dedicated hardware, .... The hardware can generate multiple streams at high bitrates and can be controlled by the host with a dedicated interface. So the RTP stream is directly send by the hardware. The data doesn't pass at all through the host. Basically the host is the RTSP server and the RTP server is done in hardware. Can only the RTSP server part of the library be used without having the real stream available at the host? And can a dedicated interface to the hardware be added for setting parameters like (RTP payload type, port number, IP number, ....)? 2) Software RTSP client / Hardware RTP receiver: Similar as the server but then the host runs only a RTSP client and the hardware can receive multiple streams at high bitrates. Regards, Tony Vankrunkelsven Design Engineer * +32 14 25 27 44 Fax +32 14 25 25 70 * tony.vankrunkelsven at nsn.com Nokia Siemens Networks n.v. Atealaan 34 B-2200 Herentals Belgium www.nokiasiemensnetworks.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080417/24f805be/attachment.html From finlayson at live555.com Thu Apr 17 01:39:52 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 17 Apr 2008 01:39:52 -0700 Subject: [Live-devel] RTSP server/client application In-Reply-To: References: Message-ID: >Is it possible to use the LIVE555 >Streaming Media libraries for the following two applications: >1) Software RTSP server / Hardware RTP streamer: >There is a host handling all RTSP/RTCP related issues like >connection setup, session control, RTP streaming control of >dedicated hardware, .... The hardware can generate multiple streams >at high bitrates and can be controlled by the host with a dedicated >interface. So the RTP stream is directly send by the hardware. The >data doesn't pass at all through the host. Basically the host is the >RTSP server and the RTP server is done in hardware. Can only the >RTSP server part of the library be used without having the real >stream available at the host? And can a dedicated interface to the >hardware be added for setting parameters like (RTP payload type, >port number, IP number, ....)? > >2) Software RTSP client / Hardware RTP receiver: >Similar as the server but then the host runs only a RTSP client and >the hardware can receive multiple streams at high bitrates. This is probably possible, if you write new subclasses of "RTPSink" (for the server) and "RTPSource" (for the client) that encapsulate your hardware on each end. Then, at the server end, you will need to write a new subclass of "OnDemandServerMediaSubsession" (to redefine the "createNewRTPSink()" virtual function to create a new instance of your "RTPSink" subclass). Similarly, at the client end, you will need to modify the "MediaSession::initiate()" function (unfortunately, you can't do this by subclassing) to create a new instance of your "RTPSource" subclass. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080417/f7dafb66/attachment.html From manju.tn at sasken.com Thu Apr 17 01:54:57 2008 From: manju.tn at sasken.com (Manju TN) Date: Thu, 17 Apr 2008 14:24:57 +0530 Subject: [Live-devel] RTSP server/client application References: Message-ID: Hi, Software RTSP server / Hardware RTP streamer: I had worked on a similar setup. Streaming server cross compiled, running on ARM target and client running on Windows-XP (SP2)host. I am not completely sure what do you mean by Hardware RTP streamer. In my case it was a binary executable that used live555 library. And a receiver client application on Windows-xp, again using live555 library. ________________________________ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Vankrunkelsven, Tony (NSN - BE/Herentals) Sent: Thursday, April 17, 2008 1:57 PM To: live-devel at ns.live555.com Subject: [Live-devel] RTSP server/client application Hi All, Is it possible to use the LIVE555 Streaming Media libraries for the following two applications: 1) Software RTSP server / Hardware RTP streamer: There is a host handling all RTSP/RTCP related issues like connection setup, session control, RTP streaming control of dedicated hardware, .... The hardware can generate multiple streams at high bitrates and can be controlled by the host with a dedicated interface. So the RTP stream is directly send by the hardware. The data doesn't pass at all through the host. Basically the host is the RTSP server and the RTP server is done in hardware. Can only the RTSP server part of the library be used without having the real stream available at the host? And can a dedicated interface to the hardware be added for setting parameters like (RTP payload type, port number, IP number, ....)? 2) Software RTSP client / Hardware RTP receiver: Similar as the server but then the host runs only a RTSP client and the hardware can receive multiple streams at high bitrates. Regards, Tony Vankrunkelsven Design Engineer * +32 14 25 27 44 Fax +32 14 25 25 70 * tony.vankrunkelsven at nsn.com Nokia Siemens Networks n.v. Atealaan 34 B-2200 Herentals Belgium www.nokiasiemensnetworks.com SASKEN BUSINESS DISCLAIMER ------------------------- This message may contain confidential, proprietary or legally privileged information. In case you are not the original intended Recipient of the message, you must not, directly or indirectly, use, Disclose, distribute, print, or copy any part of this message and you are requested to delete it and inform the sender. Any views expressed in this message are those of the individual sender unless otherwise stated. Nothing contained in this message shall be construed as an offer or acceptance of any offer by Sasken Communication Technologies Limited ("Sasken") unless sent with that express intent and with due authority of Sasken. Sasken has taken enough precautions to prevent the spread of viruses. However the company accepts no liability for any damage caused by any virus transmitted by this email -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080417/7ca75493/attachment-0001.html From tony.vankrunkelsven at nsn.com Thu Apr 17 06:31:59 2008 From: tony.vankrunkelsven at nsn.com (Vankrunkelsven, Tony (NSN - BE/Herentals)) Date: Thu, 17 Apr 2008 15:31:59 +0200 Subject: [Live-devel] RTSP server/client application Message-ID: Hi Ross, Thanks for the information. If I got it correctly for the server side the new "RTPSink" subclass handless the interface to the livemedia library and to the dedicated hardware interface for controlling the hardware RTP packetization (payloadtype, ...). "OnDemandServerMediaSubsession" control's the streaming (init, start, stop, ...). It is not clear how it works with the SDP parameters that are needed during RSTP init if the data stream isn't available at all on the host. The hardware is controlled by a very simple interface (start/stop RTP packetization with parameters x, y, z). Just to have a tought, since you know the livemedia library better then me, how many hours/days/month would you think is needed to do the changes? Regards, Tony -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080417/aed1c08d/attachment.html From tony.vankrunkelsven at nsn.com Thu Apr 17 06:33:13 2008 From: tony.vankrunkelsven at nsn.com (Vankrunkelsven, Tony (NSN - BE/Herentals)) Date: Thu, 17 Apr 2008 15:33:13 +0200 Subject: [Live-devel] RTSP server/client application Message-ID: Hi Manju, In our case the RTP packetization is fully done in hardware (chip or FPGA) and controlled with a simple register based interface (start/stop RTP packetization with settings x, y, z). So what we want to do at the server side is to use the liveMedia Library for the RTSP/RTCP stuff and signal the hardware to start/stop RTP streaming. The actuall stream isn't parsed by the host (an ARM target in your case), so all havy traffic is done directly by hardware. This is done by hardware because there are multiple channel at high bitrates (for example 64 channel at 10Mbit). In order to do this it is needed to change the library to support also stream parser by hardware blocks with dedicated interfaces. Since you are already using the library have you got ideas of how to do that? Regards, Tony -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080417/7b602825/attachment.html From peter at maersk-moller.net Thu Apr 17 07:36:16 2008 From: peter at maersk-moller.net (Peter Maersk-Moller) Date: Thu, 17 Apr 2008 16:36:16 +0200 Subject: [Live-devel] Live streams from media Server Message-ID: <48076060.9080909@maersk-moller.net> Hi. I noticed that the mediaServer can stream (one) LIVE TS framed stream from a fifo, though it open and closes the fifo a couple of times before forwarding the stream. Something like $ mkfifo fifo.ts $ live555MediaServer & $ while true; do get_ts_stream >fifo ; done Not perfect and not scalable, but it works, for one client $ vlc rtsp://myserver:8554/fifo.ts That said, if changes are made to the live555 source so it can read from a pipe/socket or join a multicast stream or simply listen on a port (ie don't close the socket/pipe and keep track of 188 byte bounderies), will the maitainer of live555 be interested in adding the code to the library ? Kind regards Peter Maersk-Moller From renjithv at pivotsys.com Thu Apr 17 07:42:08 2008 From: renjithv at pivotsys.com (Renjith) Date: Thu, 17 Apr 2008 20:12:08 +0530 Subject: [Live-devel] How to get RTP packets Message-ID: <480761C0.3010408@pivotsys.com> Hi, I would like to know how we get rtp packets. I am using openRTSP in Live555 library. We can get rtp frames by using the getNextFrame(). But i need rtp packets. I know, using incomingPacketHandler() we can get rtp packets, but it is declared in the private section. So i can't use it in the openRTSP test program. Can anyone help me .... From finlayson at live555.com Thu Apr 17 15:49:55 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 17 Apr 2008 15:49:55 -0700 Subject: [Live-devel] Live streams from media Server In-Reply-To: <48076060.9080909@maersk-moller.net> References: <48076060.9080909@maersk-moller.net> Message-ID: >I noticed that the mediaServer can stream (one) LIVE TS framed stream >from a fifo, though it open and closes the fifo a couple of times before >forwarding the stream. No, it opens the file only once - for each client. However, because you are streaming from a live source - rather than from a prerecorded file - you want the source to be opened only once (for the first client), and then reused for subsequent clients that request the same stream. To do this, you will need to change "False" to "True" in the line Boolean const reuseSource = False; in "mediaServer/DynamicRTSPServer.cpp". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Apr 17 15:55:38 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 17 Apr 2008 15:55:38 -0700 Subject: [Live-devel] RTSP server/client application In-Reply-To: References: Message-ID: >Thanks for the information. If I got it correctly for the server >side the new "RTPSink" subclass handless the interface to the >livemedia library and to the dedicated hardware interface for >controlling the hardware RTP packetization (payloadtype, >...). "OnDemandServerMediaSubsession" control's the streaming >(init, start, stop, ...). It is not clear how it works with the SDP >parameters that are needed during RSTP init if the data stream isn't >available at all on the host. Only some of the SDP lines (namely: "a=fmtp:") require reading data from the stream, and - in any case - these lines are often the same for every stream (if the codec stays the same), so you may be able to figure this data out in advance, and reuse it for each stream, rather than actually reading it from the stream each time. > The hardware is controlled by a very simple interface (start/stop >RTP packetization with parameters x, y, z). >Just to have a tought, since you know the livemedia library better >then me, how many hours/days/month would you think is needed to do >the changes? I don't know nearly enough about your system to estimate this (and I'm usually bad at such estimates anyway). Good luck! -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080417/8677db14/attachment.html From finlayson at live555.com Thu Apr 17 16:01:17 2008 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 17 Apr 2008 16:01:17 -0700 Subject: [Live-devel] How to get RTP packets In-Reply-To: <480761C0.3010408@pivotsys.com> References: <480761C0.3010408@pivotsys.com> Message-ID: >Hi, >I would like to know how we get rtp packets. I am using openRTSP in >Live555 library. We can get rtp frames by using the getNextFrame(). But >i need rtp packets. I know, using incomingPacketHandler() we can get rtp >packets, but it is declared in the private section. So i can't use it in >the openRTSP test program. Can anyone help me .... RTP packets are received in the class "MultiFramedRTPSource". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From prbhagwat at gmail.com Thu Apr 17 22:12:40 2008 From: prbhagwat at gmail.com (Pramod Bhagwat) Date: Fri, 18 Apr 2008 10:42:40 +0530 Subject: [Live-devel] saving H.264 video and streaming through DSS Message-ID: Hi, i wanted to save the H.264 video stream which is sent over RTP. The H.264 stream needs to be saved in .mp4 format with hint track added. For this used the openRTSP utility. i am able to generate the .mp4 file But if i try to stream this .mp4 file using Darwin Media Server it does not work. The client player(vlc or quicktime) not able to play video. However if i try to play the .mp4 file in the vlc player it is playing properly(i.e. local playback, not the streamed playback). Is it problem with the hint track or some other problem? While going through mailing list i came across the following mail http://lists.live555.com/pipermail/live-devel/2006-December/005530.html in this Ross Finlayson mentioned that support for .mp4 format is not fully tested and debugged. Is this problem still exists in the latest code also? If this bug needs to be corrected please let me know which part of the source code needs the modification. Warm Regards, prb -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080417/e670ecc6/attachment.html From RGlobisch at csir.co.za Thu Apr 17 23:12:04 2008 From: RGlobisch at csir.co.za (Ralf Globisch) Date: Fri, 18 Apr 2008 08:12:04 +0200 Subject: [Live-devel] Drift over time References: <48076B4A0200004D0001D33E@cs-emo.csir.co.za> <480857D40200004D0001D3BF@cs-emo.csir.co.za> Message-ID: <480857D2.5DA9.004D.0@csir.co.za> Hi, I've written a basic RTSP server using live555 which streams live audio (PCM) and video (H263) to Windows Media Player. On the server side I've created a custom source similar to DeviceSource in which I set the presentation time of each sample using gettimeofday and since it's a live source I'm using 0 for fDurationInMicroSeconds. I've added RTCP instances for both audio and video and everything seems to be synchronised properly on the client side. However after streaming for a couple of hours the audio and video seem to drift apart by a couple of seconds (approx 12 seconds of drift after more than 12 hours of streaming). This is the case where I'm running both server and client on the same machine- hence my sender and receiver clocks are definitely synchronised. Has anyone else experienced this? I'm guessing this might be some sort of compounded rounding error/ numerical inaccuracy since it only occurs after a couple of hours? I've tried linking the fPresentationTime to the DirectShow start time stamp of each incoming media sample instead of using gettimeofday, but also experienced drift. Any suggestions will be greatly appreciated, Thanks, Ralf -- This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html. This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks Transtec Computers for their support. From chon_wai at hotmail.com Thu Apr 17 23:51:04 2008 From: chon_wai at hotmail.com (Chon Wai Chung) Date: Fri, 18 Apr 2008 08:51:04 +0200 Subject: [Live-devel] openRTSP Message-ID: We are making a project including the openRTSP program. It is now running on a Linux server that should store the video-stream of an AXIS video-server, to an AVI. The program is very easy and we got it working pretty quick. However it is not working 100% good and we can?t figure out why? It seems that the recording goes well for the first 10 seconds and after that it starts missing seconds of film. Which is getting worse through time. It seems to me that it works fine, until some buffer gets full and from that moment it can?t record, decode and write well anymore. Within a minute it starts missing more than 10 seconds in a row. Can you give me any solution for this problem? Am I doing something wrong? Chon. _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080417/0cbce02d/attachment.html From renjithv at pivotsys.com Thu Apr 17 23:56:06 2008 From: renjithv at pivotsys.com (Renjith) Date: Fri, 18 Apr 2008 12:26:06 +0530 Subject: [Live-devel] How to get RTP packets Message-ID: <48084606.30907@pivotsys.com> An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080417/f773ee63/attachment.html From finlayson at live555.com Fri Apr 18 00:50:37 2008 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 18 Apr 2008 00:50:37 -0700 Subject: [Live-devel] How to get RTP packets In-Reply-To: <48084606.30907@pivotsys.com> References: <48084606.30907@pivotsys.com> Message-ID: >Thanks for the info. I know doGetNextFrame1() will give the rtp >frames. But instead of rtp frames i need rtp packets. >The following function will do get rtp packets. > >* static void networkReadHandler(MultiFramedRTPSource* source, int /*mask*/); >* friend void networkReadHandler(MultiFramedRTPSource*, int); > >both are declared under private section. How can i use that friend >function in the playCommon.cpp(openRTSP test program) >file to get those rtp packets? You can't. You would need to modify the existing source code in some other way - e.g., modify "networkReadHandler()" to do whatever you want to do with the incoming RTP packets. Another possible approach would be to change the client to receive raw UDP packets (which will therefore contain all the RTP header(s)), rather than having the client knowingly receive RTP packets. The simplest way to do this would be to change the line if (strcmp(fProtocolName, "UDP") == 0) { on line 656 of "MediaSession.cpp" to if (True) { If you do this, your output file should contain the complete UDP packet data, including the RTP headers. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080418/dee4ead4/attachment.html From RGlobisch at csir.co.za Fri Apr 18 02:48:13 2008 From: RGlobisch at csir.co.za (Ralf Globisch) Date: Fri, 18 Apr 2008 11:48:13 +0200 Subject: [Live-devel] Drift over time Message-ID: <48088A7B.5DA9.004D.0@csir.co.za> I apologise for the line length in my previous post.... I'll be more careful in future. -- This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html. This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks Transtec Computers for their support. From p4olo_prete at yahoo.it Mon Apr 21 01:17:30 2008 From: p4olo_prete at yahoo.it (Paolo Prete) Date: Mon, 21 Apr 2008 10:17:30 +0200 (CEST) Subject: [Live-devel] segfault in JPEGVideoRTPSink::specialHeaderSize() Message-ID: <360860.31580.qm@web28013.mail.ukl.yahoo.com> Hi, I'm working with the latest version of the livemedia lib and I have the same problem (a random segfault) which is signaled in this thread "[Live-devel] Problem in sending PAUSE and then PLAY request in openrtsp" I can solve the problem by applying manually the proposed patch in the same thread, because the patch itself is not part of the latest version... Is there a reason for the absence of the path? thanks, Paolo --------------------------------- Inviato da Yahoo! Mail. La casella di posta intelligente. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080421/308033e9/attachment.html From finlayson at live555.com Mon Apr 21 01:39:15 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 21 Apr 2008 01:39:15 -0700 Subject: [Live-devel] segfault in JPEGVideoRTPSink::specialHeaderSize() In-Reply-To: <360860.31580.qm@web28013.mail.ukl.yahoo.com> References: <360860.31580.qm@web28013.mail.ukl.yahoo.com> Message-ID: >Hi, >I'm working with the latest version of the livemedia lib and I have >the same problem (a random segfault) which is signaled in this >thread >"[Live-devel] >Problem in sending PAUSE and then PLAY request in openrtsp" >I can solve the problem by applying manually the proposed patch in >the same thread, because the patch itself is not part of the latest >version... Which specific patch are you referring to? If you are referring to the patch that's mentioned here http://lists.live555.com/pipermail/live-devel/2007-July/007245.html then that has already been implemented, except for a sanity check in the function "JPEGVideoRTPSink::specialHeaderSize()". That can be fixed by adding the line: if (source == NULL) return 0; // sanity check at line 109. This will be included in the next release of the software. (However, this really shouldn't be necesary, because people should not really be calling these functions on "JPEGVideoRTPSink" objects if they don't yet have a source to read from.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080421/75a9c1fe/attachment.html From p4olo_prete at yahoo.it Mon Apr 21 02:26:17 2008 From: p4olo_prete at yahoo.it (Paolo Prete) Date: Mon, 21 Apr 2008 11:26:17 +0200 (CEST) Subject: [Live-devel] segfault in JPEGVideoRTPSink::specialHeaderSize() In-Reply-To: Message-ID: <213955.3821.qm@web28015.mail.ukl.yahoo.com> except for a sanity >check in the function >"JPEGVideoRTPSink::specialHeaderSize()". That can be fixed >by adding the line: >if (source == NULL) return 0; // sanity check >at line 109. This will be included in the next release of the >software. exactly; the absence of this sanity check causes random segfault when I pause a jpeg stream and then play it again (as signaled in the discussed 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 --------------------------------- Inviato da Yahoo! Mail. La casella di posta intelligente. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080421/a6c1beb0/attachment.html From praveend at pivotsys.com Mon Apr 21 04:53:14 2008 From: praveend at pivotsys.com (Praveen D R) Date: Mon, 21 Apr 2008 04:53:14 -0700 Subject: [Live-devel] RTP packets Message-ID: <480C802A.5000202@pivotsys.com> hi, i would like to know how to get rtp packets using the live 555 library .do any one have any sample code that uses the live555 library that can return rtp packets(not frames) from an rtsp server? seeking suggestions From finlayson at live555.com Mon Apr 21 06:10:05 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 21 Apr 2008 06:10:05 -0700 Subject: [Live-devel] RTP packets In-Reply-To: <480C802A.5000202@pivotsys.com> References: <480C802A.5000202@pivotsys.com> Message-ID: >i would like to know how to get rtp packets using the live 555 library >.do any one have any sample code that uses the live555 library that can >return rtp packets(not frames) from an rtsp server? Please look at the mailing list archives. I answered your colleague's question about this just last Friday. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From artemgoryunov at gmail.com Tue Apr 22 06:11:37 2008 From: artemgoryunov at gmail.com (Artem Goryunov) Date: Tue, 22 Apr 2008 17:11:37 +0400 Subject: [Live-devel] Scaling of the output stream In-Reply-To: References: <116198ab0804140633g27e3c681s90e84d46fc08157d@mail.gmail.com> <116198ab0804150357ncb86655o993d43a9cc83c6e6@mail.gmail.com> Message-ID: <116198ab0804220611r1b003c37k41ed9b6cd5dbb9ab@mail.gmail.com> On 16/04/2008, Ross Finlayson wrote: > > On 14/04/2008,* Artem Goryunov* wrote: > > Hello All! > > Live555 Server get input video (MPEG-2) with definition 720x576. Can > Live555 Library change definition of the output stream? > > --- > Artem > > > Excuse me for my English, I meant can Live55 Library change bitrate for > output stream? Does Library use constant or variable bitrate? > > > The server streams data at its natural rate. I.e., if the data is coming > from a file, then the server streams at the rate given by the timestamps in > the file. If the data is coming from a live source, then the server streams > the data as it arrives from the source. > > In other words, it is the data - not the server - that decides the rate at > which the data is streamed. > > > Thanks for the answer. What modules are necessary for changing that in a mode of real time to recode input MPEG-2 file in to output stream with set bit rate (320x240 ) ? On how many it is complex to make it? I know, VLC can do this but it does not allow controlling output stream. I wish to write the program which broadcasts to network MPEG-2 a file with set bit rate and with an opportunity to control a stream. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080422/922723e5/attachment.html From morgan.torvolt at gmail.com Wed Apr 23 03:03:54 2008 From: morgan.torvolt at gmail.com (=?ISO-8859-1?Q?Morgan_T=F8rvolt?=) Date: Wed, 23 Apr 2008 12:03:54 +0200 Subject: [Live-devel] VLC and stb don't play "trick play" streams In-Reply-To: References: <200804151753.m3FHrsbv087672@ns.live555.com> Message-ID: <3cc3561f0804230303p698d6cfs682e733407ab8df@mail.gmail.com> I can confirm that you need to have the same videopid on at least some of the amino STB. I have not tested with the latest HD boxes, but the 110 cannot change videopid realtime. To change it you will have to tear down the rtsp connection and connect again. This has been the case as long as I have used the STB. -Morgan- On 16/04/2008, Ross Finlayson wrote: > >If you change the video pid in ts to 0xe0 then the indexer it will work. > >The problem is it use always vpid 0xe0 in case of trickplay and for speed 1 > >the original vpid and amino doesn't read the pmt again. > > > This is very interesting. Can anyone else (who's having problems > playing our 'trick play' streams on an Amino STB) confirm this - > i.e., that changing the video pid to 0xE0 in the original TS file > solves the problem? > > If this is true, then it should also be possible to solve the problem > by using the original TS file's video pid (instead of 0xE0) in the > generated 'trick play' TS stream. (It would be possible to change > the trick play generation code to take a desired video pid as > parameter.) > > A better solution, though, would be to change the resulting TS stream > in some way so as to persuade the Amino STB to read the PMT for the > 'trick play' stream (and then again when we go back to the normal 1x > stream). Does anyone know if this is possible? > > -- > > 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 brainlai at gmail.com Wed Apr 23 03:48:00 2008 From: brainlai at gmail.com (Brain Lai) Date: Wed, 23 Apr 2008 18:48:00 +0800 Subject: [Live-devel] openRTSP exit() in BasicTaskScheduler::SingleStep() due to socket error 10038(WSAENOTSOCK) Message-ID: Dear Sir: Build from the latest source with VC6 on Windows XP. The openRTSP calls exit() in BasicTaskScheduler::SingleStep() on receiving multicast streaming from AXIS IP camera(that is, forceMulticastUnspecified should be set True) on some PCs while others not. After doing some tracing, I add the following code to print debugging information about the sockets to select before exit(): void BasicTaskScheduler::SingleStep(unsigned maxDelayTime) { ..... #if !defined(_WIN32_WCE) perror("BasicTaskScheduler::SingleStep(): select() fails"); #endif fprintf(stderr, "BasicTaskScheduler::SingleStep(): select() fails with ret %d, err %d\n", selectResult, err); HandlerIterator iter(*fReadHandlers); HandlerDescriptor* handler; while ((handler = iter.next()) != NULL) { bool inReadSet = FD_ISSET(handler->socketNum, &readSet) ? true : false; bool infReadSet = FD_ISSET(handler->socketNum, &fReadSet) ? true : false; fprintf(fp, "BasicTaskScheduler::SingleStep(): sock %d %s readSet, %s fReadSet\n", handler->socketNum, inReadSet ? "in" : "not in", infReadSet ? "in" : "not in"); } exit(0); ..... } The output are as follows: BasicTaskScheduler::SingleStep(): select() fails: No Error BasicTaskScheduler::SingleStep(): select() fails with ret -1, err 10038 BasicTaskScheduler::SingleStep(): sock 1212 in readSet, in fReadSet BasicTaskScheduler::SingleStep(): sock 992 in readSet, in fReadSet BasicTaskScheduler::SingleStep(): sock 916 in readSet, in fReadSet BasicTaskScheduler::SingleStep(): sock 1272 in readSet, in fReadSet BasicTaskScheduler::SingleStep(): sock 1044 in readSet, in fReadSet Only some PCs(running Windows XP) have such a problem while others not. Any ideas? Also, no problem with the testMPEG4VideoStreamer(no need to set forMulticastUnspecified) on such PCs. BR. Brain Lai -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080423/560c19c0/attachment.html From manzoor505 at yahoo.com Wed Apr 23 07:41:26 2008 From: manzoor505 at yahoo.com (Manzoor Ahmed) Date: Wed, 23 Apr 2008 07:41:26 -0700 (PDT) Subject: [Live-devel] Problem in Building the LiveMedia Lib . Message-ID: <520289.62330.qm@web52408.mail.re2.yahoo.com> Hi Everyone, I have downloaded the LiveMedia Library but i was unable to build it on VS 2005. I have followed all the instructions and i still get errors. Please help me. 1) I downloaded the Lib and extracted it to a folder. 2) I followed these rules http://letsgoustc.spaces.live.com/blog/cns!89AD27DFB5E249BA!167.entry 3) I made a project and imported all the folders into it. but when i build it gives me errors. Can someone help me ? Manzoor Ahmed Wireless Networks(WisNet)Research Group NUST School of Electrical Engineering and Computer Sciences National University of Sciences and Technology(NUST) Rawalpindi, Pakistan +92-333-9500230 manzoor505 at yahoo.com ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080423/9e01c27d/attachment.html From brainlai at gmail.com Wed Apr 23 08:06:38 2008 From: brainlai at gmail.com (Brain Lai) Date: Wed, 23 Apr 2008 23:06:38 +0800 Subject: [Live-devel] openRTSP exit() in BasicTaskScheduler::SingleStep() due to socket error 10038(WSAENOTSOCK) In-Reply-To: References: Message-ID: Dear Sir: I found a workaround to solve this problem: Just reset the readSet before select(): void BasicTaskScheduler::SingleStep(unsigned maxDelayTime) { ..... { HandlerIterator iter(*fReadHandlers); HandlerDescriptor* handler; FD_ZERO(&readSet); while ((handler = iter.next()) != NULL) { FD_SET((unsigned)handler->socketNum, &readSet); } } int selectResult = select(fMaxNumSockets, &readSet, NULL, NULL, &tv_timeToDelay); ... } It is strange since each fd in readSet can be selected individually and the fds seem the same as in fReadSet. So I force readSet to be reset for each socket number in handlers and it works finally. BR. Brain Lai -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080423/1cc4fc85/attachment.html From barcode at o2.pl Wed Apr 23 09:05:12 2008 From: barcode at o2.pl (=?UTF-8?Q?Jarek_M?=) Date: Wed, 23 Apr 2008 18:05:12 +0200 Subject: [Live-devel] =?utf-8?q?RTSP_streaiming_of_mp3?= Message-ID: <69163c2.7a836b11.480f5e38.65b8a@o2.pl> Hi. I'm working on a streaming project; I need to stream mp3s. I got the live555 API and played with it; the streaming of mp3 worked when I streamed on a local LAN from Mac to Mac or from PC to Mac. However, I cannot get it to work, when I stream from a remote computer (freebsd or linux box in the USA) to the Mac or PC in germany. I've been using live555 server on one side and mplayer (compiled on MacOS and with live555 linked) and quicktime on the other. Basically, the receiving begins but never completes. Here's the error message I get, when trying to receive the mp3: bash-3.2$ ./mplayer rtsp://128.205.206.116:8554/test.mp3 MPlayer 1.0rc2-4.0.1 (C) 2000-2007 MPlayer Team CPU: Intel(R) Core(TM)2 Duo CPU T9500 @ 2.60GHz (Family: 6, Model: 23, Stepping: 6) CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1 Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2 Playing rtsp://128.205.206.116:8554/test.mp3. Resolving 128.205.206.116 for AF_INET6... Couldn't resolve name for AF_INET6: 128.205.206.116 Connecting to server 128.205.206.116[128.205.206.116]: 8554... rtsp_session: unsupported RTSP server. Server type is 'unknown'. STREAM_LIVE555, URL: rtsp://128.205.206.116:8554/test.mp3 Stream not seekable! file format detected. Initiated "audio/MPA" RTP subsession on port 49394 ========================================================================== Opening audio decoder: [mp3lib] MPEG layer-2, layer-3 ADecoder init failed :( ADecoder init failed :( Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders Unknown/missing audio format -> no sound ADecoder init failed :( Requested audio codec family [mad] (afm=libmad) not available. Enable it at compilation. Opening audio decoder: [acm] Win32/ACM decoders WARNING: Attempting to use DLL codecs but environment variable DYLD_BIND_AT_LAUNCH not set. This will likely crash. Loading codec DLL: 'l3codeca.acm' Win32 LoadLibrary failed to load: l3codeca.acm, /usr/local/lib/codecs/l3codeca.acm, /usr/lib/win32/l3codeca.acm, /usr/local/lib/win32/l3codeca.acm Can't open library l3codeca.acm ACM_Decoder: Unappropriate audio format Could not load/initialize Win32/ACM audio codec (missing DLL file?). ADecoder preinit failed :( ADecoder init failed :( Opening audio decoder: [hwmpa] MPEG audio pass-through (fake decoder) Cannot sync MPA frame: 0 ADecoder init failed :( ADecoder init failed :( Cannot find codec for audio format 0x55. Read DOCS/HTML/en/codecs.html! Audio: no sound Video: no video Exiting... (End of file) bash-3.2$ The problem does not happen, when the live555 MediaServer runs on the same MacOS machine or on a nearby Windows XP machine; howver, when I try to stream from a remote machine, the problem happens. Is there an explenation for this? I do need to stream mp3 and from what I know, live555 is supposed to be reliable. Best Regards and Thanks Jarek Myszewski From armandopoulos at yahoo.fr Wed Apr 23 10:19:57 2008 From: armandopoulos at yahoo.fr (Armando Ko) Date: Wed, 23 Apr 2008 17:19:57 +0000 (GMT) Subject: [Live-devel] How to read rtcp-app packets Message-ID: <922242.74405.qm@web25904.mail.ukl.yahoo.com> An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080423/50cafa70/attachment-0001.html From westbywest at gmail.com Wed Apr 23 10:39:59 2008 From: westbywest at gmail.com (Ben West) Date: Wed, 23 Apr 2008 12:39:59 -0500 Subject: [Live-devel] Whereabouts of oss.wischip.com? In-Reply-To: References: <3aefcca60804161744p4e05c6bcxec6ee51ab386f46d@mail.gmail.com> Message-ID: <3aefcca60804231039n2e55bd92h7e4d15f606f5a1c4@mail.gmail.com> Apologies for delay in response. Thread got buried in my reader. On Thu, Apr 17, 2008 at 12:33 AM, Ross Finlayson wrote: > >I am looking into the wis-streamer server application, in particular > >the effort required to add support for more video encoder devices. > > I'm not sure I understand what you're saying here, because this > application is for one particular type of encoder device only - > namely, those that use the WIS GO7007 chip. I am working on a streaming video development project, albeit one based around another HW codec. I'm looking at the wis-streamer code for reference/inspiration/etc. If porting the go7007 driver looks feasible given the total developer attention span available, we'd like to do that. > > I > >see that wis-streamer depends on the WIS G07007 driver available from > >the (presently defunct) URL: > >http://oss.wischip.com/ > > > >I read that WISChip was acquired by Micronas some time ago. Are > >WISChip's open source drivers still available/maintained anywhere? > > Unfortunately I don't know. (If anyone finds this, please let us know.) This appears to be another site with updated go7007 drivers. http://nikosapi.org/wiki/index.php/WIS_Go7007_Linux_driver I'm unsure if this site is the direct replacement for oss.wischip.org. -- Ben West westbywest at gmail.com http://savetheinternet.org From mcarro at threads-srl.com.ar Wed Apr 23 13:48:58 2008 From: mcarro at threads-srl.com.ar (Mario R. Carro) Date: Wed, 23 Apr 2008 17:48:58 -0300 Subject: [Live-devel] ts streaming for tdv Message-ID: <200804231748.59008.mcarro@threads-srl.com.ar> Hi, I recently started to explore the utilization of the Live555 library to generate a DTV channel for a customer. Based on the testMPEG2TransportStreamer and testMPEG1or2ProgramToTransportStream demos I developed a plugin for one of our apps that takes a playlist of TS or PS clips and streams them in sequence (if its a PS clip is converted to TS while is streamed). We are using RAW UDP streaming (using a BasicUDPSink). The stream is taken by a SciAtl's DCM and sent to customers STBs (Arion's AC-2410R, it seems). So far so good. The problem is: At the STB side the video freezes for moments. Everything is going OK and then the video freezes while the audio continues normally. After a few seconds the video continues, jumping the current frame at that moment. A VLC instance running on the same PC where the stream is produced does not have that problem. I know that my exposition of the problem has been absolutely vague, but anyway I would be very grateful for any hint. As a first step I'm trying to identify possible causes for this kind of problem. Sugerences regarding where/what to look for would by great... Feel free to ask for any specifics needed. Thanks in advance, MRC From finlayson at live555.com Wed Apr 23 14:12:03 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 23 Apr 2008 14:12:03 -0700 Subject: [Live-devel] How to read rtcp-app packets In-Reply-To: <922242.74405.qm@web25904.mail.ukl.yahoo.com> References: <922242.74405.qm@web25904.mail.ukl.yahoo.com> Message-ID: >Please can somebody tell me which functions of the RTCP.hh and >how can i use it for reading or receiving the rtcp - app packets >sending from a live555 server to a client ? LIVE555 servers - by default - do not send any RTCP "APP" packets. But if they did, they would be handled by code that you would add to "RTCPInstance::incomingReportHandler1()". (Search for "APP".) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From kan at pisem.net Wed Apr 23 14:40:29 2008 From: kan at pisem.net (Karlov Andrey) Date: Thu, 24 Apr 2008 01:40:29 +0400 Subject: [Live-devel] VLC and stb don't play "trick play" streams Message-ID: <480FACCD.4060000@pisem.net> I worked around this problem and tested all cases. I can say, our Amino 110 doesn't play fast forward streams even if this stream has the same PID as a 1x stream. I can say, all Amino STBs has problem with bitrate changing. Amino cannot switch from one bitrate to another and freezes last picture. Ross, could you tell please, how can I reduce fps in fast forward stream? For example, I want to stream 5-10 fps (I-frames per second) stream. It must reduce bitrate of fast forward stream. I'm very thankfull to your help! Sorry for awful English =) Karlov Andrey From finlayson at live555.com Wed Apr 23 14:36:48 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 23 Apr 2008 14:36:48 -0700 Subject: [Live-devel] openRTSP exit() in BasicTaskScheduler::SingleStep() due to socket error 10038(WSAENOTSOCK) In-Reply-To: References: Message-ID: >It is strange since each fd in readSet can be selected individually >and the fds seem the same as in fReadSet. That's right - the change you're proposing makes no sense, because "readSet" should already have the correct socket numbers (and no others) set, because of the assignment (at the start of the "SingleStep()" function: fd_set readSet = fReadSet; // make a copy for this select() call So, perhaps the problem is that - for some odd reason - this assignment is not working properly in your environment?? Or perhaps "fReadSet" - for some unknown reason - does not have the correct socket numbers set in your environment (but the functions "turnOnBackgroundReadHandling()" and "turnOffBackgroundReadHandling()" should be setting "fReadSet" properly)?? So please look into this some more, and let us know what exactly is going on, and exactly why your proposed change is solving the problem for you. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Apr 23 14:52:01 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 23 Apr 2008 14:52:01 -0700 Subject: [Live-devel] =?utf-8?q?RTSP_streaiming_of_mp3?= In-Reply-To: <69163c2.7a836b11.480f5e38.65b8a@o2.pl> References: <69163c2.7a836b11.480f5e38.65b8a@o2.pl> Message-ID: >Hi. I'm working on a streaming project; I need to stream mp3s. >I got the live555 API and played with it; the streaming of mp3 >worked when I streamed on a local LAN >from Mac to Mac or from PC to Mac. However, I cannot get it to work, >when I stream from a remote computer (freebsd or linux box in the >USA) to the Mac or PC in germany. You may have a firewall somewhere that is blocking RTP/UDP packets. Either fix your firewall, or else request RTP-over-TCP streaming. I forget how you do this in "MPlayer" (but if you were to use VLC instead, then it automatically requests RTP-over-TCP streaming if it doesn't receive ant RTP/UDP packets within a few seconds). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Apr 23 17:19:28 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 23 Apr 2008 17:19:28 -0700 Subject: [Live-devel] ts streaming for tdv In-Reply-To: <200804231748.59008.mcarro@threads-srl.com.ar> References: <200804231748.59008.mcarro@threads-srl.com.ar> Message-ID: >The problem is: At the STB side the video freezes for moments. Everything is >going OK and then the video freezes while the audio continues normally. >After a few seconds the video continues, jumping the current frame at that >moment. A VLC instance running on the same PC where the stream is produced >does not have that problem. So the problem appears to lie with your STB. Have you contacted the STB manufacturer for support? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Apr 23 17:31:47 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 23 Apr 2008 17:31:47 -0700 Subject: [Live-devel] VLC and stb don't play "trick play" streams In-Reply-To: <480FACCD.4060000@pisem.net> References: <480FACCD.4060000@pisem.net> Message-ID: >I can say, our Amino 110 doesn't play fast forward streams >even if this stream has the same PID as a 1x stream. > >I can say, all Amino STBs has problem with bitrate changing. This contradicts what Siegfried Heilmeier said. (He said that changing the video pid worked, on at least some Amino STBs.) It also contradicts what Josh Norell said. (He said that the problem occurred only on Amino 110 STBs.) >Ross, could you tell please, how can I reduce fps in fast forward stream? Right now you can't. Currently, 'fast forward' play retains the same frame rate as normal play, but - because it streams I-frames only - increaases the bit rate. It's possible that some time in the future this might change, but right now I'm disinclined to make any such changes (either video pid or frame rate) unless and until I get specific feedback from Amino Corporation about the issues related to using our software with their products. As I said a week ago, I find it bizarre that so many people are (somehow) able to acquire Amino's STBs, but noone seems to be able to get any support from them. I also remind people that there are other manufacturers of RTSP-based hardware products out there. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Apr 23 17:38:08 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 23 Apr 2008 17:38:08 -0700 Subject: [Live-devel] Whereabouts of oss.wischip.com? In-Reply-To: <3aefcca60804231039n2e55bd92h7e4d15f606f5a1c4@mail.gmail.com> References: <3aefcca60804161744p4e05c6bcxec6ee51ab386f46d@mail.gmail.com> <3aefcca60804231039n2e55bd92h7e4d15f606f5a1c4@mail.gmail.com> Message-ID: > > >I am looking into the wis-streamer server application, in particular >> >the effort required to add support for more video encoder devices. >> >> I'm not sure I understand what you're saying here, because this >> application is for one particular type of encoder device only - >> namely, those that use the WIS GO7007 chip. > >I am working on a streaming video development project, albeit one >based around another HW codec. I'm looking at the wis-streamer code >for reference/inspiration/etc. If porting the go7007 driver looks >feasible given the total developer attention span available, we'd like >to do that. It probably doesn't make sense to port the go7007 driver for another encoder chip. Instead, you should just use your chip's existng driver, and modify the "wis-streamer" code to use that driver instead. >This appears to be another site with updated go7007 drivers. >http://nikosapi.org/wiki/index.php/WIS_Go7007_Linux_driver Thanks; I have now changed the links on our "wis-streamer" web page. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From iec23801 at gmail.com Wed Apr 23 20:53:51 2008 From: iec23801 at gmail.com (li wang) Date: Thu, 24 Apr 2008 11:53:51 +0800 Subject: [Live-devel] Problem in Building the LiveMedia Lib . In-Reply-To: <520289.62330.qm@web52408.mail.re2.yahoo.com> References: <520289.62330.qm@web52408.mail.re2.yahoo.com> Message-ID: <114260a20804232053x4eebe9abm894029c6ff290329@mail.gmail.com> What errors it happened when you build it? 2008/4/23, Manzoor Ahmed : > > Hi Everyone, > > I have downloaded the LiveMedia Library but i was unable to build it on VS > 2005. I have followed all the instructions and i still get errors. Please > help me. > > 1) I downloaded the Lib and extracted it to a folder. > 2) I followed these rules > http://letsgoustc.spaces.live.com/blog/cns!89AD27DFB5E249BA!167.entry > 3) I made a project and imported all the folders into it. but when i > build it gives me errors. > > Can someone help me ? > > Manzoor Ahmed > > Wireless Networks(WisNet)Research Group > NUST School of Electrical Engineering and Computer Sciences > National University of Sciences and Technology(NUST) > Rawalpindi, Pakistan > > +92-333-9500230 > manzoor505 at yahoo.com > > ------------------------------ > Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it > now. > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > > -- Best Regards Michael.Wang(? ?) ============================= Streaming21 Inc. http://www.streaming21.com Tel:+86 10 6538 8969 Ext:8018 Mobile:+86 135 8195 3320 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080423/0e38aa60/attachment-0001.html From shaswata at alumnux.com Wed Apr 23 23:09:59 2008 From: shaswata at alumnux.com (Shaswata Jash) Date: Thu, 24 Apr 2008 11:39:59 +0530 Subject: [Live-devel] ts streaming for tdv In-Reply-To: <200804231748.59008.mcarro@threads-srl.com.ar> References: <200804231748.59008.mcarro@threads-srl.com.ar> Message-ID: <00c001c8a5d1$d3d0bf00$2e0aa8c0@alumnusshas> You have run the VLC instance in the same PC where the stream is produced. Instead, check the situation by running the VLC instance in different PC i.e. try to introduce the network overhead. If still VLC runs smoothly, then it is something related to the STB. -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Mario R. Carro Sent: Thursday, April 24, 2008 2:19 AM To: live-devel at ns.live555.com Subject: [Live-devel] ts streaming for tdv Hi, I recently started to explore the utilization of the Live555 library to generate a DTV channel for a customer. Based on the testMPEG2TransportStreamer and testMPEG1or2ProgramToTransportStream demos I developed a plugin for one of our apps that takes a playlist of TS or PS clips and streams them in sequence (if its a PS clip is converted to TS while is streamed). We are using RAW UDP streaming (using a BasicUDPSink). The stream is taken by a SciAtl's DCM and sent to customers STBs (Arion's AC-2410R, it seems). So far so good. The problem is: At the STB side the video freezes for moments. Everything is going OK and then the video freezes while the audio continues normally. After a few seconds the video continues, jumping the current frame at that moment. A VLC instance running on the same PC where the stream is produced does not have that problem. I know that my exposition of the problem has been absolutely vague, but anyway I would be very grateful for any hint. As a first step I'm trying to identify possible causes for this kind of problem. Sugerences regarding where/what to look for would by great... Feel free to ask for any specifics needed. Thanks in advance, MRC _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel From kan at pisem.net Thu Apr 24 01:09:35 2008 From: kan at pisem.net (Karlov Andrey) Date: Thu, 24 Apr 2008 12:09:35 +0400 Subject: [Live-devel] VLC and stb don't play "trick play" streams Message-ID: <4810403F.9020409@pisem.net> Tech support from Amino =) It another story ... long unhappy story =) I'm very thankfull to your help! Sorry for awful English =) Karlov Andrey From mcarro at threads-srl.com.ar Thu Apr 24 05:02:32 2008 From: mcarro at threads-srl.com.ar (Mario R. Carro) Date: Thu, 24 Apr 2008 09:02:32 -0300 Subject: [Live-devel] ts streaming for tdv In-Reply-To: References: <200804231748.59008.mcarro@threads-srl.com.ar> Message-ID: <200804240902.32407.mcarro@threads-srl.com.ar> On Wednesday 23 April 2008 21:19:28 Ross Finlayson wrote: > >The problem is: At the STB side the video freezes for moments. > > Everything is going OK and then the video freezes while the audio > > continues normally. After a few seconds the video continues, jumping > > the current frame at that moment. A VLC instance running on the same PC > > where the stream is produced does not have that problem. > > So the problem appears to lie with your STB. Have you contacted the > STB manufacturer for support? Not yet, but you are right: they are the ones that could give a hint regarding what the STBs are doing... Thanks, MRC From mcarro at threads-srl.com.ar Thu Apr 24 05:07:39 2008 From: mcarro at threads-srl.com.ar (Mario R. Carro) Date: Thu, 24 Apr 2008 09:07:39 -0300 Subject: [Live-devel] ts streaming for tdv In-Reply-To: <00c001c8a5d1$d3d0bf00$2e0aa8c0@alumnusshas> References: <200804231748.59008.mcarro@threads-srl.com.ar> <00c001c8a5d1$d3d0bf00$2e0aa8c0@alumnusshas> Message-ID: <200804240907.39983.mcarro@threads-srl.com.ar> You are right, the DCM it's on the other side of the cable. But I don't believe there shouldn't be much difference: it's a GB network with only the PC and the DCM in it and only one stream flowing. Anyway, it's a worthy test. I'll tell you what happens. Thanks, MRC On Thursday 24 April 2008 03:09:59 Shaswata Jash wrote: > You have run the VLC instance in the same PC where the stream is > produced. Instead, check the situation by running the VLC instance in > different PC i.e. try to introduce the network overhead. If still VLC > runs smoothly, then it is something related to the STB. > > -----Original Message----- > From: live-devel-bounces at ns.live555.com > [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Mario R. Carro > Sent: Thursday, April 24, 2008 2:19 AM > To: live-devel at ns.live555.com > Subject: [Live-devel] ts streaming for tdv > > Hi, I recently started to explore the utilization of the Live555 library > to generate a DTV channel for a customer. Based on the > testMPEG2TransportStreamer and testMPEG1or2ProgramToTransportStream demos > I developed a plugin for one of our apps that takes a playlist of TS or > PS clips and streams them in sequence (if its a PS clip is converted to > TS while is streamed). We are using RAW UDP streaming (using a > BasicUDPSink). > > The stream is taken by a SciAtl's DCM and sent to customers STBs (Arion's > AC-2410R, it seems). So far so good. > > The problem is: At the STB side the video freezes for moments. Everything > is > > going OK and then the video freezes while the audio continues normally. > After a few seconds the video continues, jumping the current frame at > that moment. A VLC instance running on the same PC where the stream is > produced does not have that problem. > > I know that my exposition of the problem has been absolutely vague, but > anyway I would be very grateful for any hint. As a first step I'm trying > to identify possible causes for this kind of problem. Sugerences > regarding where/what to look for would by great... Feel free to ask for > any specifics needed. > > Thanks in advance, > MRC > _______________________________________________ > 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 shaswata at alumnux.com Thu Apr 24 06:05:43 2008 From: shaswata at alumnux.com (Shaswata Jash) Date: Thu, 24 Apr 2008 18:35:43 +0530 Subject: [Live-devel] ts streaming for tdv In-Reply-To: <200804240907.39983.mcarro@threads-srl.com.ar> References: <200804231748.59008.mcarro@threads-srl.com.ar><00c001c8a5d1$d3d0bf00$2e0aa8c0@alumnusshas> <200804240907.39983.mcarro@threads-srl.com.ar> Message-ID: <00c701c8a60b$e7f763a0$2e0aa8c0@alumnusshas> Another observation may be helpful - what amount of initial buffering (wrt time duration) is done by VLC and the player in STB. If possible, try to reduce the initial buffering time in VLC and check whether stalling has appeared. -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Mario R. Carro Sent: Thursday, April 24, 2008 5:38 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] ts streaming for tdv You are right, the DCM it's on the other side of the cable. But I don't believe there shouldn't be much difference: it's a GB network with only the PC and the DCM in it and only one stream flowing. Anyway, it's a worthy test. I'll tell you what happens. Thanks, MRC On Thursday 24 April 2008 03:09:59 Shaswata Jash wrote: > You have run the VLC instance in the same PC where the stream is > produced. Instead, check the situation by running the VLC instance in > different PC i.e. try to introduce the network overhead. If still VLC > runs smoothly, then it is something related to the STB. > > -----Original Message----- > From: live-devel-bounces at ns.live555.com > [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Mario R. Carro > Sent: Thursday, April 24, 2008 2:19 AM > To: live-devel at ns.live555.com > Subject: [Live-devel] ts streaming for tdv > > Hi, I recently started to explore the utilization of the Live555 library > to generate a DTV channel for a customer. Based on the > testMPEG2TransportStreamer and testMPEG1or2ProgramToTransportStream demos > I developed a plugin for one of our apps that takes a playlist of TS or > PS clips and streams them in sequence (if its a PS clip is converted to > TS while is streamed). We are using RAW UDP streaming (using a > BasicUDPSink). > > The stream is taken by a SciAtl's DCM and sent to customers STBs (Arion's > AC-2410R, it seems). So far so good. > > The problem is: At the STB side the video freezes for moments. Everything > is > > going OK and then the video freezes while the audio continues normally. > After a few seconds the video continues, jumping the current frame at > that moment. A VLC instance running on the same PC where the stream is > produced does not have that problem. > > I know that my exposition of the problem has been absolutely vague, but > anyway I would be very grateful for any hint. As a first step I'm trying > to identify possible causes for this kind of problem. Sugerences > regarding where/what to look for would by great... Feel free to ask for > any specifics needed. > > Thanks in advance, > MRC > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel From mcarro at threads-srl.com.ar Thu Apr 24 08:03:32 2008 From: mcarro at threads-srl.com.ar (Mario R. Carro) Date: Thu, 24 Apr 2008 12:03:32 -0300 Subject: [Live-devel] ts streaming for tdv In-Reply-To: <00c701c8a60b$e7f763a0$2e0aa8c0@alumnusshas> References: <200804231748.59008.mcarro@threads-srl.com.ar> <200804240907.39983.mcarro@threads-srl.com.ar> <00c701c8a60b$e7f763a0$2e0aa8c0@alumnusshas> Message-ID: <200804241203.32638.mcarro@threads-srl.com.ar> Do you think the freezes on the STB could be caused be dropped packets? In that case sending any other similarly bitrated stream to the STB should show the same behaviour. I'll test it. Thanks! MRC On Thursday 24 April 2008 10:05:43 Shaswata Jash wrote: > Another observation may be helpful - what amount of initial buffering > (wrt time duration) is done by VLC and the player in STB. If possible, > try to reduce the initial buffering time in VLC and check whether > stalling has appeared. > > -----Original Message----- > From: live-devel-bounces at ns.live555.com > [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Mario R. Carro > Sent: Thursday, April 24, 2008 5:38 PM > To: LIVE555 Streaming Media - development & use > Subject: Re: [Live-devel] ts streaming for tdv > > You are right, the DCM it's on the other side of the cable. But I don't > believe there shouldn't be much difference: it's a GB network with only > the PC and the DCM in it and only one stream flowing. Anyway, it's a > worthy test. I'll tell you what happens. > > Thanks, > MRC > > On Thursday 24 April 2008 03:09:59 Shaswata Jash wrote: > > You have run the VLC instance in the same PC where the stream is > > produced. Instead, check the situation by running the VLC instance in > > different PC i.e. try to introduce the network overhead. If still VLC > > runs smoothly, then it is something related to the STB. > > > > -----Original Message----- > > From: live-devel-bounces at ns.live555.com > > [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Mario R. Carro > > Sent: Thursday, April 24, 2008 2:19 AM > > To: live-devel at ns.live555.com > > Subject: [Live-devel] ts streaming for tdv > > > > Hi, I recently started to explore the utilization of the Live555 > > library to generate a DTV channel for a customer. Based on the > > testMPEG2TransportStreamer and testMPEG1or2ProgramToTransportStream > > demos I developed a plugin for one of our apps that takes a playlist of > > TS or PS clips and streams them in sequence (if its a PS clip is > > converted to TS while is streamed). We are using RAW UDP streaming > > (using a BasicUDPSink). > > > > The stream is taken by a SciAtl's DCM and sent to customers STBs > > (Arion's AC-2410R, it seems). So far so good. > > > > The problem is: At the STB side the video freezes for moments. > > Everything is > > > > going OK and then the video freezes while the audio continues normally. > > After a few seconds the video continues, jumping the current frame at > > that moment. A VLC instance running on the same PC where the stream is > > produced does not have that problem. > > > > I know that my exposition of the problem has been absolutely vague, but > > anyway I would be very grateful for any hint. As a first step I'm > > trying to identify possible causes for this kind of problem. Sugerences > > regarding where/what to look for would by great... Feel free to ask for > > any specifics needed. > > > > Thanks in advance, > > MRC > > _______________________________________________ > > live-devel mailing list > > live-devel at lists.live555.com > > http://lists.live555.com/mailman/listinfo/live-devel > > > > > > _______________________________________________ > > live-devel mailing list > > live-devel at lists.live555.com > > http://lists.live555.com/mailman/listinfo/live-devel > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel From brainlai at gmail.com Fri Apr 25 04:00:29 2008 From: brainlai at gmail.com (Brain Lai) Date: Fri, 25 Apr 2008 19:00:29 +0800 Subject: [Live-devel] openRTSP exit() in BasicTaskScheduler::SingleStep() due to socket error 10038(WSAENOTSOCK) In-Reply-To: References: Message-ID: Dear Sir: >That's right - the change you're proposing makes no sense, because >"readSet" should already have the correct socket numbers (and no >others) set, because of the assignment (at the start of the >"SingleStep()" function: > fd_set readSet = fReadSet; // make a copy for this select() call After writing some more debug code to print fds in readSet before/after reset, I found that the readSet before/after reset is logically the same but different physically in order!!! That's the problem. I found this article describing this issue: http://blogs.msdn.com/wndp/archive/2006/07/13/664737.aspx The fReadSet is filled with mixed sockets of UDP/TCP and select() on Windows XP returns WSAENOTSOCK for me! I guess that's why they can be selected individually without problem. BTW, not many PCs in my test environments(<10) but I have seen two PCs had the problem. PS: the debug code in BasicTaskScheduler::SingleStep() for reference. { FILE *fp = fopen("c:\\live555.txt", "a"); fprintf(fp, "[BasicTaskScheduler::SingleStep()] maximum fd %d, there %d fds in fReadSet while %d ones in readSet\n", fMaxNumSockets - 1, fReadSet.fd_count, readSet.fd_count); for(size_t i = 0; i < readSet.fd_count; i++) fprintf(fp, "[BasicTaskScheduler::SingleStep()] readSet has fd %d while fReadSet has fd %d\n", readSet.fd_array[i], fReadSet.fd_array[i]); int selectResult = select(fMaxNumSockets, &readSet, NULL, NULL, &tv_timeToDelay); fprintf(fp, "[BasicTaskScheduler::SingleStep()] select(readSet via copy) return %d with err %d\n", selectResult, selectResult < 0 ? WSAGetLastError() : 0); fclose(fp); } { HandlerIterator iter(*fReadHandlers); HandlerDescriptor* handler; FD_ZERO(&readSet); while ((handler = iter.next()) != NULL) FD_SET((unsigned)handler->socketNum, &readSet); FILE *fp = fopen("c:\\live555.txt", "a"); fprintf(fp, "[BasicTaskScheduler::SingleStep()] max fd %d, there %d fds in reset fReadSet while %d ones in readSet\n", fMaxNumSockets - 1, fReadSet.fd_count, readSet.fd_count); for(size_t i = 0; i < readSet.fd_count; i++) fprintf(fp, "[BasicTaskScheduler::SingleStep()] reset readSet has fd %d while fReadSet has fd %d\n", readSet.fd_array[i], fReadSet.fd_array[i]); fclose(fp); } BR. Brain Lai int selectResult = select(fMaxNumSockets, &readSet, NULL, NULL, &tv_timeToDelay); { FILE *fp = fopen("c:\\live555.txt", "a"); fprintf(fp, "[BasicTaskScheduler::SingleStep()] select(readSet via reset) return %d with err %d\n", selectResult, selectResult < 0 ? WSAGetLastError() : 0); fclose(fp); } -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080425/5a3ebc74/attachment-0001.html From raphael.kindt at seldes.com Fri Apr 25 05:39:43 2008 From: raphael.kindt at seldes.com (=?iso-8859-1?Q?Rapha=EBl_KINDT?=) Date: Fri, 25 Apr 2008 14:39:43 +0200 Subject: [Live-devel] meaning of 'totSessionBW' argument Message-ID: Hello, How can I see a working difference when I change 'totSessionBW' argument in RTCPInstance::createNew function. I change the value but I can't see any difference! What's the meaning of this argument? Thanks in advance. ------------------------------ Ing. KINDT Rapha?l Software R&D Manager Rue des Bleuets, 1b E-Mail : raphael.kindt at seldes.com B-7000 Mons (Belgium) Phone : +32 (0)65 352 252 Web site: www.seldes.com Fax : +32 (0)65 352 253 From finlayson at live555.com Sat Apr 26 01:35:18 2008 From: finlayson at live555.com (Ross Finlayson) Date: Sat, 26 Apr 2008 01:35:18 -0700 Subject: [Live-devel] meaning of 'totSessionBW' argument In-Reply-To: References: Message-ID: >How can I see a working difference when I change 'totSessionBW' argument in >RTCPInstance::createNew function. >I change the value but I can't see any difference! >What's the meaning of this argument? It's an estimate (in kbps) of the average bitrate of the RTP stream. Its sole purpose is to control the rate at which RTCP packets are sent. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From manas_ec007in at yahoo.co.in Sat Apr 26 06:43:59 2008 From: manas_ec007in at yahoo.co.in (manas lenka) Date: Sat, 26 Apr 2008 14:43:59 +0100 (BST) Subject: [Live-devel] What is the Advantage of live555 media over FFMPEG Server... Message-ID: <933767.65655.qm@web8907.mail.in.yahoo.com> Hi, Can anybody tell me what is the advantages of live555 media over FFMPEG Server.. Thanks in Advance MANAS --------------------------------- Explore your hobbies and interests. Click here to begin. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080426/75fc207f/attachment.html From manas_ec007in at yahoo.co.in Sat Apr 26 22:48:52 2008 From: manas_ec007in at yahoo.co.in (manas lenka) Date: Sun, 27 Apr 2008 06:48:52 +0100 (BST) Subject: [Live-devel] Whether Live555 media sever takes care of packet losses in the network.. Message-ID: <479475.59322.qm@web8914.mail.in.yahoo.com> Hi, I am new to live555 media server. I used it for streaming a video file, and palyed in the VLC. I found it is running very nicely and smoothly. I have some doubts: 1:-whether live555 media server takes care of packets loss in the network ? 2:- Can I send both audio and video files by running the single live555 media server programme. ? 3:- I want to use it for real time user interaction like video telephony. Is it possible to use it. THANKS MANAS KUMAR... --------------------------------- Get the freedom to save as many mails as you wish. Click here to know how. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080426/f8eddd2d/attachment.html From manas_ec007in at yahoo.co.in Sun Apr 27 02:20:30 2008 From: manas_ec007in at yahoo.co.in (manas lenka) Date: Sun, 27 Apr 2008 10:20:30 +0100 (BST) Subject: [Live-devel] Whether Live555 media sever takes care of packet losses in the network.. Message-ID: <948909.26660.qm@web8903.mail.in.yahoo.com> Hi, I am new to live555 media server. I used it for streaming a video file, and palyed in the VLC. I found it is running very nicely and smoothly. I have some doubts: 1:-whether live555 media server takes care of packets loss in the network ? 2:- Can I send both audio and video files by running the single live555 media server programme. ? 3:- I want to use it for real time user interaction like video telephony. Is it possible to use it. THANKS MANAS KUMAR... --------------------------------- Get the freedom to save as many mails as you wish. Click here to know how. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080427/e10163ab/attachment.html From renjithv at pivotsys.com Sun Apr 27 23:02:28 2008 From: renjithv at pivotsys.com (Renjith) Date: Mon, 28 Apr 2008 11:32:28 +0530 Subject: [Live-devel] How to get RTP packets Message-ID: <48156874.4030707@pivotsys.com> Hi Ross, When i changed the code like this if (strcmp(fProtocolName, "UDP") == 0) { on line 656 of "MediaSession.cpp" to if (True) { the MultiFramedRTPSource class is not executed. Now it using the BasicUDPSource class. I just create a file inside the void BasicUDPSource::incomingPacketHandler1() and gets the packets. But i am not sure this file contains exact packets and this is the suitable place for create a file. If i do not make change in the line 656 of MediaSession.cpp then MultiFramedRTPSource.cpp will be execute. If i create a file inside the networkReadHandler(), do i get the packets? If i do not make any change in the line 656 of MediaSession.cpp, then the MultiFramedRTPSource class is executing. Both the BasicUDPSource.cpp and MultiFramedRTPSource.cpp has doGetNextFrame(). If i changed the line 656 then BasicUDPSource.cpp is called else MultiFramedRTPSource.cpp is called. But i can't understand the flow of execution. Can you please tell me what happend here and in which class i create a file for getting the packets? Thanks, Renjith From finlayson at live555.com Mon Apr 28 00:58:03 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 28 Apr 2008 00:58:03 -0700 Subject: [Live-devel] How to get RTP packets In-Reply-To: <48156874.4030707@pivotsys.com> References: <48156874.4030707@pivotsys.com> Message-ID: >When i changed the code like this > >if (strcmp(fProtocolName, "UDP") == 0) { >on line 656 of "MediaSession.cpp" to > if (True) { > >the MultiFramedRTPSource class is not executed. Now it using the >BasicUDPSource class. That's exactly what was supposed to happen when you made that change. > I just create a file inside the >void BasicUDPSource::incomingPacketHandler1() >and gets the packets. No! Don't do this. Just play the source object from a "FileSink", as before. You should not need to change any more code to make this happen. In other words, your original change to "MediaSession.cpp" should be the only change that you need to make, in order for "openRTSP" to write whole RTP packets into your output file(s). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From manzoor505 at yahoo.com Mon Apr 28 03:05:16 2008 From: manzoor505 at yahoo.com (Manzoor Ahmed) Date: Mon, 28 Apr 2008 03:05:16 -0700 (PDT) Subject: [Live-devel] Problem in Builing LiveMedia Lib Message-ID: <752048.79099.qm@web52411.mail.re2.yahoo.com> Hello Everyone, When i build the Library in VS 2005, it?gives me the following errors 1>------ Build started: Project: MyRTPLib, Configuration: Debug Win32 ------ 1>Linking... 1>MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup 1>C:\Users\Manzoor\Documents\Visual Studio 2005\Projects\MyRTPLib\Debug\MyRTPLib.exe : fatal error LNK1120: 1 unresolved externals 1>Build log was saved at "file://c:\Users\Manzoor\Documents\Visual Studio 2005\Projects\MyRTPLib\MyRTPLib\Debug\BuildLog.htm" 1>MyRTPLib - 2 error(s), 0 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 s ? Manzoor Ahmed ? Research Student Wireless Networks(WisNet)Research Group NUST School of Electrical Engineering and Computer Sciences National University of Sciences and Technology(NUST) Rawalpindi, Pakistan ? +92-333-9500230 manzoor505 at yahoo.com ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080428/fb07fc41/attachment.html From DionG at Viewcast.com Mon Apr 28 09:26:22 2008 From: DionG at Viewcast.com (Dion Galbreath) Date: Mon, 28 Apr 2008 11:26:22 -0500 Subject: [Live-devel] multi core supported?? Message-ID: Is live555 multicore supported. It seems the latest build april 9th seems to peg one of the four cores I have. And the other three are almost idle... is there something I have to do to get it to thread out nicely on all 4 cores? Dion -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080428/0876615b/attachment.html From finlayson at live555.com Mon Apr 28 09:35:23 2008 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 28 Apr 2008 09:35:23 -0700 Subject: [Live-devel] multi core supported?? In-Reply-To: References: Message-ID: "Multi core" is a hardware feature. We do software. If, however, you are asking about multiple *threads*, then please read the FAQ! -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From xuwei_felix at yahoo.cn Mon Apr 28 20:12:23 2008 From: xuwei_felix at yahoo.cn (Felix) Date: Tue, 29 Apr 2008 11:12:23 +0800 (CST) Subject: [Live-devel] RTT calculation on "Receiver" side using RTCP? Message-ID: <361798.18203.qm@web92004.mail.cnb.yahoo.com> Hi All? Using SR/RTCP and RR/RTCP infomation, the RTT can be calculated on Sender side(RFC3550). But how to calculate RTT on Receiver Side? I need this value to judge whether to ask the Sender for retrasmission when a packet is lost. Thanks! B.R. Felix --------------------------------- ???????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080428/ae999457/attachment-0001.html From aadish.singla at gmail.com Tue Apr 29 01:59:16 2008 From: aadish.singla at gmail.com (Adish Kumar Singla) Date: Tue, 29 Apr 2008 10:59:16 +0200 Subject: [Live-devel] WebCam Capture->MPEG Compression->RTP Streaming Message-ID: <5644f2e90804290159w3937ae79m27d7d49f4988812b@mail.gmail.com> Dear All, I am new to live555 and I need your kind help. What I want to build is an application, where 1) I like to capture video frames from Webcam (perhaps using directshow), 2) Compress these frames using MPEG codecs 3) RTP Stream the compressed stream to another PC 4) To be able to retrieve individual frames at another PC from RTP Stream What I like to know is: - What files should I look into, and would it be possible to do Steps-1,2,3 together with live555. - Is it that live555 can only help me to stream .mpeg files instead of stream that is live captured from webcam. Any suggestions/help/comments are more then welcome. Thanks a lot in advance Adish -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080429/7e3c4bc2/attachment.html From kwizart at gmail.com Tue Apr 29 04:53:48 2008 From: kwizart at gmail.com (KH KH) Date: Tue, 29 Apr 2008 13:53:48 +0200 Subject: [Live-devel] Whereabouts of oss.wischip.com? In-Reply-To: References: <3aefcca60804161744p4e05c6bcxec6ee51ab386f46d@mail.gmail.com> <3aefcca60804231039n2e55bd92h7e4d15f606f5a1c4@mail.gmail.com> Message-ID: 2008/4/24 Ross Finlayson : > > > >I am looking into the wis-streamer server application, in particular > >> >the effort required to add support for more video encoder devices. > >> > >> I'm not sure I understand what you're saying here, because this > >> application is for one particular type of encoder device only - > >> namely, those that use the WIS GO7007 chip. > > > >I am working on a streaming video development project, albeit one > >based around another HW codec. I'm looking at the wis-streamer code > >for reference/inspiration/etc. If porting the go7007 driver looks > >feasible given the total developer attention span available, we'd like > >to do that. > > It probably doesn't make sense to port the go7007 driver for another > encoder chip. Instead, you should just use your chip's existng > driver, and modify the "wis-streamer" code to use that driver instead. > > > > >This appears to be another site with updated go7007 drivers. > >http://nikosapi.org/wiki/index.php/WIS_Go7007_Linux_driver I also have found this url http://bart.ulyssis.org/go7007/ Would be fine if both can work together. I cannot say myslelf how one handle thing better than the other: On the other hand - I have sucessfully compiled wis-streamer for Fedora 8 x86_64 But the major problem for a redistribution purpose would be to have amr support optionnal since i don't think amrnb code (within wis-streamer tarball) would be even redistributable (althought open source). At least we have "nosource" rpm for theses http://kwizart.free.fr/fedora/nosrc/amrnb-7.0.0.0-1.nosrc.rpm (<- wis-streamer seems to only use this one) http://kwizart.free.fr/fedora/nosrc/amrwb-7.0.0.2-1.nosrc.rpm Actually i've only sucess to compile wis-streamer with a tweaked version of live555 enabled to shared build (.so with SONAME) (there is a strange circle dependencies actually). The patch for live555 built shared was inspired from gentoo. It handle SONAME correctly and add the required symbol that will help the library resolution at runtime by the prelinker. SPECS: http://rpms.kwizart.net/fedora/development/SPECS/live.spec http://rpms.kwizart.net/fedora/development/SPECS/wis-streamer.spec SRPMS: http://rpms.kwizart.net/fedora/development/SRPMS/live-0-0.18.2008.04.03.fc9.kwizart.src.rpm http://rpms.kwizart.net/fedora/development/SRPMS/wis-streamer-0.9.8-1.fc8.kwizart.src.rpm I hope this would help... We will probably build live shared on rpm.livna.org for Fedora 9 I'm also working on a go7007-kmod via rpm.livna.org Nicolas (kwizart) > > Thanks; I have now changed the links on our "wis-streamer" web page. > > -- > > 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 luwei at tju.edu.cn Tue Apr 29 08:51:16 2008 From: luwei at tju.edu.cn (luwei at tju.edu.cn) Date: Tue, 29 Apr 2008 23:51:16 +0800 Subject: [Live-devel] Does openRTSP support Windows Media Server? Message-ID: <409484276.24121@tju.edu.cn> I ran the latest version of openRTSP to retrieve WMV stream from WMS, but only got wrong content. Although the messages in the mailing-list says that WMS does not comform to RTSP standard, VLC with live555 (version of 2007.02.20) works fine with WMS. How could VLC do it well? What is the difference in usage between VLC and openRTSP? Thanks! (I have debugged VLC and openRTSP, and even compared the TCP/IP packets between the server and both clients carefully, but still have no idea. So I really appreciate anyone's help.) From tonjefr at ifi.uio.no Tue Apr 29 12:59:17 2008 From: tonjefr at ifi.uio.no (Tonje Fredrikson) Date: Tue, 29 Apr 2008 21:59:17 +0200 (CEST) Subject: [Live-devel] MPEG2 Transport Stream Index File Message-ID: <4519.129.240.228.53.1209499157.squirrel@webmail.uio.no> Hi, In an MPEG2 Transport stream index file (.tsx), does each index record correspond to one transport stream packet? (In other words, are the number of index records in a .tsx file equal to the number of transport stream packets in a corresponding .ts file?) Thanks for any help! -- Best regards, Tonje From finlayson at live555.com Tue Apr 29 13:48:40 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 29 Apr 2008 13:48:40 -0700 Subject: [Live-devel] Does openRTSP support Windows Media Server? In-Reply-To: <409484276.24121@tju.edu.cn> References: <409484276.24121@tju.edu.cn> Message-ID: >I ran the latest version of openRTSP to retrieve WMV stream from >WMS, but only got >wrong content. Although the messages in the mailing-list says that >WMS does not >comform to RTSP standard, VLC with live555 (version of 2007.02.20) >works fine with >WMS. >How could VLC do it well? What is the difference in usage between VLC and >openRTSP? "VLC" decodes and plays the received audio/video data. "openRTSP" writes the received audio/video data into files. However, because these files contain 'raw' audio and video data, without appropriate file headers, a media player may then not be able to recognize and play the files. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Apr 29 17:23:38 2008 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 29 Apr 2008 17:23:38 -0700 Subject: [Live-devel] MPEG2 Transport Stream Index File In-Reply-To: <4519.129.240.228.53.1209499157.squirrel@webmail.uio.no> References: <4519.129.240.228.53.1209499157.squirrel@webmail.uio.no> Message-ID: >In an MPEG2 Transport stream index file (.tsx), does each index record >correspond to one transport stream packet? No. Each index record represents a chunk of video data that appears within one Transport Stream Packet. > (In other words, are the number >of index records in a .tsx file equal to the number of transport stream >packets in a corresponding .ts file?) No, but there's a trivial way to count the number of Transport Stream Packets in a ".ts" file - just divide the file size (in bytes) by 188. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From westbywest at gmail.com Wed Apr 30 01:42:17 2008 From: westbywest at gmail.com (Ben West) Date: Wed, 30 Apr 2008 03:42:17 -0500 Subject: [Live-devel] Kernel bug in Ubuntu 8.04 affects go7007 driver Message-ID: <3aefcca60804300142u3a06ac4br4bdebc84377b0704@mail.gmail.com> A launchpad entry has already been filed... https://bugs.launchpad.net/ubuntu/+source/linux-ubuntu-modules-2.6.24/+bug/201098 My workaround was just to roll the kernel back to v2.6.22. -- Ben West westbywest at gmail.com http://savetheinternet.org From yamini.s at europlex.in Wed Apr 30 02:35:15 2008 From: yamini.s at europlex.in (Yamini S. [EPLX - DCC]) Date: Wed, 30 Apr 2008 15:05:15 +0530 Subject: [Live-devel] Does openRTSP support Windows Media Server? References: <409484276.24121@tju.edu.cn> Message-ID: <6872DF21E3D09046BDF172721037F4FB36882E@SBTEXCHANGEDB.sbtdats.com> Hi, I am trying to stream RTP packets using vc++ 6.0 I have the live555 lib files and I have downloaded the testProgs from the website but can any one tell me how to check stream the video using the above mentioned libs Thanks & Regards, S.Yamini Programmer R&D Siemens Building Technologies Pvt. Ltd. -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson Sent: Wednesday, April 30, 2008 2:19 AM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] Does openRTSP support Windows Media Server? >I ran the latest version of openRTSP to retrieve WMV stream from >WMS, but only got >wrong content. Although the messages in the mailing-list says that >WMS does not >comform to RTSP standard, VLC with live555 (version of 2007.02.20) >works fine with >WMS. >How could VLC do it well? What is the difference in usage between VLC and >openRTSP? "VLC" decodes and plays the received audio/video data. "openRTSP" writes the received audio/video data into files. However, because these files contain 'raw' audio and video data, without appropriate file headers, a media player may then not be able to recognize and play the files. -- 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 This message (including attachments) is confidential and may be privileged. If you have received it by mistake please notify the sender by return e-mail and delete this message from your system. You may not copy, disclose or use the contents in any way. SBTPL does not guarantee integrity of this communication nor that this communication is free of viruses, interceptions or interference. This communication does not create or modify any contract, and unless otherwise stated, is not intended to be contractually binding. Views or opinions expressed in this e-mail message are those of the author only. From nikhiln at paxit.com Wed Apr 30 06:02:47 2008 From: nikhiln at paxit.com (Nikhil Naik) Date: Wed, 30 Apr 2008 08:02:47 -0500 Subject: [Live-devel] tearDownStreams() Message-ID: <002c01c8aac2$7d310100$77930300$@com> Hi Ross, I am working with a MJPG streamer and a player to receive the stream. Both are based on the LIVE555 libraries. When I use it over the LAN the server seems to see OPTIONS - TEARDOWN requests. But when I stream over the internet using the -t (TCP) parameter the server Doesn't seem to receive the TEARDOWN. I can receive the stream but when I disconnect The server is still servicing a client even though none are connected Note (sendRequest(cmd, "TEARDOWN")) is sucessfully executed In the RTSPClient class. Any ideas what might be going on? Any suggestions? Nikhil Naik -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080430/a426e8be/attachment.html From manas_ec007in at yahoo.co.in Wed Apr 30 06:50:09 2008 From: manas_ec007in at yahoo.co.in (manas lenka) Date: Wed, 30 Apr 2008 14:50:09 +0100 (BST) Subject: [Live-devel] I am new to LIVE555.. Message-ID: <772060.6633.qm@web8903.mail.in.yahoo.com> Hi Ross, SORRY to disturb you. I am an Mtech student. I am new to the live555 media server. I am sending mails to the open mailing lists but unfortunately nobody is giving me reply. I am trying to build an video telephony software in Ti's Davinci board which has sparate software encoder and decoder. Q1:I want to capture and encode both video and audio and stream it to another end and receive RTP packets from the other end and decode and play it. So whether I have to run two RSTP programmes ie. both server and client ? . Can't I do this in a single programme. Q2: I went through the test programme . I found that we can play only mpeg1 audio and video together. Can't I use mpeg4 and mp2 audio together and also stream them together. Q3: Is the live555 media server takes care of packet losses in the network and synchronization between the sender and receiver when both are sending in either directions. Or I have to write my own code to do that. Q4: The encoder put the encoded video and audio data in two separate file and the decoder can take video and audio data from two separate files. If this is my case can I implement the live555 programe for my purpose effortlessly as it can take the files as input and output.. Give some clues so that i can proceed with live555. Your help will be greatly appreciated. Hoping some helpful suggestions this time.. THANKS IN ADVANCE MANAS KUMAR, MTECH student, CEDT ,IISC, BANGALORE,INDIA --------------------------------- Meet people who discuss and share your passions. Join them now. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080430/75f4b408/attachment-0001.html From ken.seo at gmail.com Wed Apr 30 08:46:50 2008 From: ken.seo at gmail.com (Ken Seo) Date: Wed, 30 Apr 2008 11:46:50 -0400 Subject: [Live-devel] BasicTaskScheduler is not handling err 10038 Message-ID: <5e008ff40804300846y48afacccn8112d96f84c0a407@mail.gmail.com> Hi, I'm developing a RTSP server based on live555 and I've noticed that BasicTaskScheduler is not handling the windows error 10038, Here is the case when it gets the error 10038, say, the RTSP server is running and a client request a movie and start playing. If the client process dies without sending TEARDOWN, the server will eventually get the error from the following code segment and terminate itself. // In BasicTaskScheduler int selectResult = select(fMaxNumSockets, &readSet, NULL, NULL, &tv_timeToDelay); if (selectResult < 0) { #if defined(__WIN32__) || defined(_WIN32) int err = WSAGetLastError(); printf("err: %d", err); // For some unknown reason, select() in Windoze sometimes fails with WSAEINVAL if // it was called with no entries set in "readSet". If this happens, ignore it: if (err == WSAEINVAL && readSet.fd_count == 0) { err = 0; // To stop this from happening again, create a dummy readable socket: int dummySocketNum = socket(AF_INET, SOCK_DGRAM, 0); FD_SET((unsigned)dummySocketNum, &fReadSet); } if (err != 0) { #else if (errno != EINTR && errno != EAGAIN) { #endif // Unexpected error - treat this as fatal: #if !defined(_WIN32_WCE) perror("BasicTaskScheduler::SingleStep(): select() fails"); #endif exit(0); } In my mind, the server termination should not happen just because of a single client failure, Is there any way I can manually flush the socket when I get the error 10038 instead of terminating the server? Best Regards, Ken Seo From shaswata at alumnux.com Wed Apr 30 08:53:20 2008 From: shaswata at alumnux.com (Shaswata Jash) Date: Wed, 30 Apr 2008 21:23:20 +0530 Subject: [Live-devel] I am new to LIVE555.. In-Reply-To: <772060.6633.qm@web8903.mail.in.yahoo.com> References: <772060.6633.qm@web8903.mail.in.yahoo.com> Message-ID: <001b01c8aada$5125bfc0$2e0aa8c0@alumnusshas> Hi Manas, My pointers are inlined- Q1:I want to capture and encode both video and audio and stream it to another end and receive RTP packets from the other end and decode and play it. So whether I have to run two RSTP programmes ie. both server and client ? . Can't I do this in a single programme. Ans: Before deciding on whether both RTSP server & client need to be implemented, you can once give a thought whether RTSP will fit into video telephony scenario. SIP is certainly better choice. How are you going to discover the IP address and port where the callee is listening for request from a caller (in SIP term the 'Contact' header)? However, for the time being if you have decided to keep your callee and caller with a static address (and that is reachable with respect to each other), you can go with RTSP. In that case, the caller must act as RTSP client and the callee must act as RTSP server. But note that both of the callee and caller must act as RTP client & server. Q2: I went through the test programme . I found that we can play only mpeg1 audio and video together. Can't I use mpeg4 and mp2 audio together and also stream them together. Ans: Yes, you can. You have to write your own program that will chose appropriate RTPSink and sources. Though I may be wrong, but combination of mpeg4 and mp2 is quite non-standard. For speech, there are much lightweight codec, isn't? Q3: Is the live555 media server takes care of packet losses in the network and synchronization between the sender and receiver when both are sending in either directions. Or I have to write my own code to do that. Ans: To best of my knowledge, Live555 doesn't have any exclusive mechanism to handle packet loss. The synchronization mechanism is essentially limited to the fact that the server tries to throw the packet in the network at appropriate time interval (or more technically according to PTS). Q4: The encoder put the encoded video and audio data in two separate file and the decoder can take video and audio data from two separate files. If this is my case can I implement the live555 programe for my purpose effortlessly as it can take the files as input and output.. Ans: The file approach will degrade performance for real time purpose. You can develop your own source classes, which can directly take the encoded data and may store in some in-memory data-structure. Then, the appropriate sink will form RTP packets using the encoded data stored within that custom source. Reverse will be the case in decoding side. Regards, Shaswata -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20080430/840205a8/attachment-0001.html From finlayson at live555.com Wed Apr 30 14:06:51 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 30 Apr 2008 14:06:51 -0700 Subject: [Live-devel] BasicTaskScheduler is not handling err 10038 In-Reply-To: <5e008ff40804300846y48afacccn8112d96f84c0a407@mail.gmail.com> References: <5e008ff40804300846y48afacccn8112d96f84c0a407@mail.gmail.com> Message-ID: >I'm developing a RTSP server based on live555 and I've noticed that >BasicTaskScheduler is not handling the windows error 10038, So what does 'windows error' 10038 mean, which function call is returning it ("select()"?), and why? This is the second time in the past week that we've had someone (each time with a "@gmail.com" email address, I might add) complaining about the "BasicTaskScheduler" code doing something strange on some version of Windows. I am still waiting to learn what - if anything - is wrong with *our code*. If, instead, the problem is that our code is correct, but that some versions of Windows are buggy (e.g., not implementing "select()" properly), then people should instead be trying to get Microsoft to fix their bug (if it's not already fixed in the latest version of XP, Vista, or whatever). Having said that, though, I *am* open to adding a Windows-specific work-around to the code, as long as it's well-understood (i.e., not just a 'stab in the dark'), not excessively ugly, and doesn't affect the performance of the code on other (non-buggy) OSs. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From ken.seo at gmail.com Wed Apr 30 15:15:19 2008 From: ken.seo at gmail.com (Ken Seo) Date: Wed, 30 Apr 2008 18:15:19 -0400 Subject: [Live-devel] BasicTaskScheduler is not handling err 10038 In-Reply-To: References: <5e008ff40804300846y48afacccn8112d96f84c0a407@mail.gmail.com> Message-ID: <5e008ff40804301515n2a25b1a3uc6bcd4e707e04850@mail.gmail.com> Hi Ross, I apologize if my post sounded like complaining, but I didn't intend to do that.., I actually very much appreciate sharing your code. My name is Ken Seo, working at Research In Motion Canada, the reason I used my gmail is because I'm personally doing some research on RTP/RTSP not as a part of my work. (at least not yet) And this is my second post to your mailing list, but my first one was not about BasicTaskScheduler, Windows error 10038 is "WSAENOTSOCK", and typically happens when an application is trying to do some socket operation on non-socket or the socket that has already been closed, (at least that's my understanding..) I was getting this error, from the line in the BasicTaskScheduler.cpp (build 2008-04-03) int err = WSAGetLastError(); // err = 10038 And it only happens when RTSP server tries to delete clientSession due to livenessTimeout, (it doesn't happen when session gets closed by TEARDOWN request). And like you said, it could very well be my configuration or a windows bug. And I was wondering if anyone else had some similar experience, if so, what could be the best way to deal with it.. I will look into it myself, and if I believe that I need to notify you (since you are "still waiting to learn what is wrong"), I will do, Best Regards, K.S. On Wed, Apr 30, 2008 at 5:06 PM, Ross Finlayson wrote: > >I'm developing a RTSP server based on live555 and I've noticed that > >BasicTaskScheduler is not handling the windows error 10038, > > So what does 'windows error' 10038 mean, which function call is > returning it ("select()"?), and why? > > This is the second time in the past week that we've had someone (each > time with a "@gmail.com" email address, I might add) complaining > about the "BasicTaskScheduler" code doing something strange on some > version of Windows. I am still waiting to learn what - if anything - > is wrong with *our code*. > > If, instead, the problem is that our code is correct, but that some > versions of Windows are buggy (e.g., not implementing "select()" > properly), then people should instead be trying to get Microsoft to > fix their bug (if it's not already fixed in the latest version of XP, > Vista, or whatever). > > Having said that, though, I *am* open to adding a Windows-specific > work-around to the code, as long as it's well-understood (i.e., not > just a 'stab in the dark'), not excessively ugly, and doesn't affect > the performance of the code on other (non-buggy) OSs. > -- > > Ross Finlayson > Live Networks, Inc. > http://www.live555.com/ > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > From finlayson at live555.com Wed Apr 30 18:01:37 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 30 Apr 2008 18:01:37 -0700 Subject: [Live-devel] BasicTaskScheduler is not handling err 10038 In-Reply-To: <5e008ff40804301515n2a25b1a3uc6bcd4e707e04850@mail.gmail.com> References: <5e008ff40804300846y48afacccn8112d96f84c0a407@mail.gmail.com> <5e008ff40804301515n2a25b1a3uc6bcd4e707e04850@mail.gmail.com> Message-ID: >Windows error 10038 is "WSAENOTSOCK", and typically happens when an >application is trying to do some socket operation on non-socket or the >socket that has already been closed, (at least that's my >understanding..) >I was getting this error, from the line in the BasicTaskScheduler.cpp >(build 2008-04-03) > > int err = WSAGetLastError(); // err = 10038 > >And it only happens when RTSP server tries to delete clientSession due >to livenessTimeout, (it doesn't happen when session gets closed by >TEARDOWN request). That's odd, because - in each case - the "RTSPClientSession" destructor will get called, and this should be removing its socket from the set of active sockets, via the call to envir().taskScheduler().turnOffBackgroundReadHandling(fClientSocket); on line 271 of "RTSPServer.cpp". So I wonder why this isn't working for you. Please let us know if you can find out anything more about this issue. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Apr 30 18:09:45 2008 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 30 Apr 2008 18:09:45 -0700 Subject: [Live-devel] tearDownStreams() In-Reply-To: <002c01c8aac2$7d310100$77930300$@com> References: <002c01c8aac2$7d310100$77930300$@com> Message-ID: >When I use it over the LAN the server seems to see OPTIONS - >TEARDOWN requests. >But when I stream over the internet using the -t (TCP) parameter the server >Doesn't seem to receive the TEARDOWN. You have run into a known limitation of the current RTSP server code. If RTP-over-TCP streaming is used, then the server will not be able to handle any RTSP commands after the initial "PLAY" command. This bug should be fixed someday (but there is currently no ETA - sorry). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/