From marthi at graphics.cs.uni-sb.de Fri Dec 1 03:07:01 2006 From: marthi at graphics.cs.uni-sb.de (Martin) Date: Fri, 01 Dec 2006 12:07:01 +0100 Subject: [Live-devel] Convert jitter value Message-ID: <45700CD5.7030702@graphics.cs.uni-sb.de> Hi Ross, I found out that jitter is expressed in timestamp units. Could you please confirm or correct the following: I divide the jitter value received by liblive by 90000 for h263+, MPEG-Video JPEG-Video, MPEG-Audio 8000 for AMR-NB, AMR-WB, PCMU, PCMA to get the jitter in seconds. Many thanks, Martin From finlayson at live555.com Fri Dec 1 07:33:34 2006 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 1 Dec 2006 07:33:34 -0800 Subject: [Live-devel] Convert jitter value In-Reply-To: <45700CD5.7030702@graphics.cs.uni-sb.de> References: <45700CD5.7030702@graphics.cs.uni-sb.de> Message-ID: >I found out that jitter is expressed in timestamp units. Could you >please confirm or correct the following: >I divide the jitter value received by liblive by > 90000 for h263+, MPEG-Video JPEG-Video, MPEG-Audio > 8000 for AMR-NB, AMR-WB, PCMU, PCMA >to get the jitter in seconds. Yes - however, it's best if you look this value (the RTP timestamp frequency) directly, by calling "RTPSink:: rtpTimestampFrequency()" (if you are a sender), or "RTPSource:: timestampFrequency()" (if you are a receiver). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From drobbins at fsmlabs.com Fri Dec 1 08:48:02 2006 From: drobbins at fsmlabs.com (Daniel Robbins) Date: Fri, 01 Dec 2006 09:48:02 -0700 Subject: [Live-devel] Storing MPEG-2 TS data over multple 2GB files Message-ID: <45705CC2.3070004@fsmlabs.com> Hi there, What is the best method for storing incoming MPEG-2 TS data across multiple 2GB files? This would be for a scenario where it is not possible to store more than 2GB per file, so that the stream would need to be segmented into blocks no greater than 2GB on disk. Specifically, I'm interested in knowing: 1) What is the best place to "split" the stream (on an I-frame boundary?) 2) Can live555 be instructed to treat these multiple files as a single logical stream, so that the resultant segmented MPEG-2 data could be later streamed to clients without significant additional complication such as manually concatenating the files? It is also important to find a solution so that future live555 capabilities like "trick" mode indexing will work without complication and "see" the multiple files as a single stream on disk. Regards, Daniel From jerry.johns at nuvation.com Fri Dec 1 10:52:40 2006 From: jerry.johns at nuvation.com (Jerry Johns) Date: Fri, 1 Dec 2006 10:52:40 -0800 Subject: [Live-devel] fDurationInMicroseconds Message-ID: <22F8D1FFED33654987DE9D447F74E546013982E9@mailguy2.nuvation.com> Hello, I've been noticing that in my doGetNextFrame() implemention, when I set the fDurationinMicroseconds value to x, it doesn't affect the frame I'm sending now, but the one after! e.g, I have a 10K frame, I chunk it 1K pieces, and I say the first piece has fDur = 30ms, and subsequent pieces fDur = 0; however, I notice the first piece gets sent immediately, the 2nd piece ends up waiting for 30ms before being sent and subsequent pieces all get sent immediately is this how its supposed to work? Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061201/f0678565/attachment.html From finlayson at live555.com Fri Dec 1 12:20:27 2006 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 1 Dec 2006 12:20:27 -0800 Subject: [Live-devel] fDurationInMicroseconds In-Reply-To: <22F8D1FFED33654987DE9D447F74E546013982E9@mailguy2.nuvation.com> References: <22F8D1FFED33654987DE9D447F74E546013982E9@mailguy2.nuvation.com> Message-ID: >Hello, > I've been noticing that in my doGetNextFrame() implemention, >when I set the fDurationinMicroseconds value to x, it doesn't affect >the frame I'm sending now, but the one after! > >e.g, I have a 10K frame, I chunk it 1K pieces, and I say the first >piece has fDur = 30ms, and subsequent pieces fDur = 0; >however, I notice the first piece gets sent immediately, the 2nd >piece ends up waiting for 30ms before being sent and subsequent >pieces all get sent immediately > >is this how its supposed to work? Yes. In this context, "duration" means the duration between successive frames. -- 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/20061201/c03ed507/attachment.html From finlayson at live555.com Fri Dec 1 12:58:15 2006 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 1 Dec 2006 12:58:15 -0800 Subject: [Live-devel] Storing MPEG-2 TS data over multple 2GB files In-Reply-To: <45705CC2.3070004@fsmlabs.com> References: <45705CC2.3070004@fsmlabs.com> Message-ID: >What is the best method for storing incoming MPEG-2 TS data across >multiple 2GB files? This would be for a scenario where it is not >possible to store more than 2GB per file, so that the stream would need >to be segmented into blocks no greater than 2GB on disk. Is it not possible to upgrade to a more modern operating system that supports files larger than 2 GBytes? (Note that this will work even with 32-bit CPUs.) That would be the best solution. > >Specifically, I'm interested in knowing: > >1) What is the best place to "split" the stream (on an I-frame boundary?) I'd say: Split the file on a Transport Stream frame boundary - i.e., on a 188-byte boundary. >2) Can live555 be instructed to treat these multiple files as a single >logical stream, so that the resultant segmented MPEG-2 data could be >later streamed to clients without significant additional complication >such as manually concatenating the files? While I'm generally disinclined to add hacks to the code to support broken (or archaic) operating systems, in this case there is a mechanism in the code (the "ByteStreamMultiFileSource" class) that could support this. So you're in luck... -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From drobbins at fsmlabs.com Fri Dec 1 14:18:18 2006 From: drobbins at fsmlabs.com (Daniel Robbins) Date: Fri, 01 Dec 2006 15:18:18 -0700 Subject: [Live-devel] Storing MPEG-2 TS data over multple 2GB files In-Reply-To: References: <45705CC2.3070004@fsmlabs.com> Message-ID: <4570AA2A.5060704@fsmlabs.com> In this case, the 2GB limit isn't an operating system or filesystem limitation per se, but is required for other reasons. Thanks for the information. Regards, -Daniel Ross Finlayson wrote: > Is it not possible to upgrade to a more modern operating system that > supports files larger than 2 GBytes? (Note that this will work even > with 32-bit CPUs.) That would be the best solution. > > >> Specifically, I'm interested in knowing: >> >> 1) What is the best place to "split" the stream (on an I-frame boundary?) >> > > I'd say: Split the file on a Transport Stream frame boundary - i.e., > on a 188-byte boundary. > > >> 2) Can live555 be instructed to treat these multiple files as a single >> logical stream, so that the resultant segmented MPEG-2 data could be >> later streamed to clients without significant additional complication >> such as manually concatenating the files? >> > > While I'm generally disinclined to add hacks to the code to support > broken (or archaic) operating systems, in this case there is a > mechanism in the code (the "ByteStreamMultiFileSource" class) that > could support this. So you're in luck... > From morgan.torvolt at gmail.com Sat Dec 2 02:43:46 2006 From: morgan.torvolt at gmail.com (=?ISO-8859-1?Q?Morgan_T=F8rvolt?=) Date: Sat, 2 Dec 2006 14:43:46 +0400 Subject: [Live-devel] Storing MPEG-2 TS data over multple 2GB files In-Reply-To: <4570AA2A.5060704@fsmlabs.com> References: <45705CC2.3070004@fsmlabs.com> <4570AA2A.5060704@fsmlabs.com> Message-ID: <3cc3561f0612020243l35798350ge595450ca61c3ed1@mail.gmail.com> If you need to support random access on the files, you should find a TS packet that contains a sequence header for the video stream. It will be followed by a GOP header, and an I frame. If you don't need random access, then any TS packet boundary should work. -Morgan- On 02/12/06, Daniel Robbins wrote: > In this case, the 2GB limit isn't an operating system or filesystem > limitation per se, but is required for other reasons. > > Thanks for the information. > > Regards, > > -Daniel > > Ross Finlayson wrote: > > Is it not possible to upgrade to a more modern operating system that > > supports files larger than 2 GBytes? (Note that this will work even > > with 32-bit CPUs.) That would be the best solution. > > > > > >> Specifically, I'm interested in knowing: > >> > >> 1) What is the best place to "split" the stream (on an I-frame boundary?) > >> > > > > I'd say: Split the file on a Transport Stream frame boundary - i.e., > > on a 188-byte boundary. > > > > > >> 2) Can live555 be instructed to treat these multiple files as a single > >> logical stream, so that the resultant segmented MPEG-2 data could be > >> later streamed to clients without significant additional complication > >> such as manually concatenating the files? > >> > > > > While I'm generally disinclined to add hacks to the code to support > > broken (or archaic) operating systems, in this case there is a > > mechanism in the code (the "ByteStreamMultiFileSource" class) that > > could support this. So you're in luck... > > > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > From finlayson at live555.com Sun Dec 3 17:56:25 2006 From: finlayson at live555.com (Ross Finlayson) Date: Sun, 3 Dec 2006 17:56:25 -0800 Subject: [Live-devel] Storing MPEG-2 TS data over multple 2GB files In-Reply-To: <3cc3561f0612020243l35798350ge595450ca61c3ed1@mail.gmail.com> References: <45705CC2.3070004@fsmlabs.com> <4570AA2A.5060704@fsmlabs.com> <3cc3561f0612020243l35798350ge595450ca61c3ed1@mail.gmail.com> Message-ID: >If you need to support random access on the files, you should find a >TS packet that contains a sequence header for the video stream. Actually, for the server trick mode support (for TS files) that's currently being developed for the library, that probably won't be necessary. (The fact that the underlying TS media consists of multiple files will be transparent to the indexing mechanism.) Probably all that will be necessary is be that each file begin/end on a Transport Packet (188 byte) boundary. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From liu_ying111 at yahoo.com.cn Sun Dec 3 20:55:27 2006 From: liu_ying111 at yahoo.com.cn (=?gb2312?q?=D3=B0=20=C1=F5?=) Date: Mon, 4 Dec 2006 12:55:27 +0800 (CST) Subject: [Live-devel] error in building livelib In-Reply-To: <389189e20611280340g2a5d12e1kbc007107e741e6e4@mail.gmail.com> Message-ID: <20061204045527.43162.qmail@web15210.mail.cnb.yahoo.com> hello everyone , i want to build the livelib with cross-compiler . i use arm-linux-gcc 3.3.2 .this is my step to build livelib. 1 tar jxvf arm-linux-gcc3.3.2.tar.bz2 2 cp -rf 3.3.2 /usr/local/arm/ 3 tar zxvf live.2006.09.20.tar.gz 4 cd live 5 vi config.armlinux change arm-elf- to arm-linux- 6 make collect2: ld returned 1 exit status make[1]: *** [testMP3Streamer] ?? 1 make[1]: Leaving directory `/root/Desktop/live/testProgs' make: *** [testProgs/testMP3Streamer] ?? 2 i donot know why it fail .is anyone who have build the live success with cross-compiler? can you give me some advice? thank you. --------------------------------- Mp3???-??????? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061203/a0e4d519/attachment.html From ymreddy at ssdi.sharp.co.in Mon Dec 4 00:18:32 2006 From: ymreddy at ssdi.sharp.co.in (Mallikharjuna Reddy (NAVT)) Date: Mon, 4 Dec 2006 13:48:32 +0530 Subject: [Live-devel] Memory Exception while streaming PS files continuously Message-ID: <7FB4685EA93D014C8E30AA087B66E7520337D0D6@ssdimailsrvnt01.ssdi.sharp.co.in> Hello All, We are streaming MPEG 2 PS streams from server to client using the test programs: testMPEG1or2VideoStreamer.cpp and testMPEG1or2VideoReceiver.cpp. When we stream continuously from server to client, we observed that server is crashing after streaming for 45 minutes. This case is observed only in case of PS streams. However, for ES and TS streams, there is no crash. Any clues on this. Thanks and Regards Y. Mallikharjuna Reddy From finlayson at live555.com Mon Dec 4 00:31:31 2006 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 4 Dec 2006 00:31:31 -0800 Subject: [Live-devel] Memory Exception while streaming PS files continuously In-Reply-To: <7FB4685EA93D014C8E30AA087B66E7520337D0D6@ssdimailsrvnt01.ssdi.sharp.co.in > References: <7FB4685EA93D014C8E30AA087B66E7520337D0D6@ssdimailsrvnt01.ssdi.sharp.co.in > Message-ID: >Hello All, > >We are streaming MPEG 2 PS streams from server to client using the test >programs: testMPEG1or2VideoStreamer.cpp and testMPEG1or2VideoReceiver.cpp. > >When we stream continuously from server to client, we observed that server >is crashing after streaming for 45 minutes. This case is observed only in >case of PS streams. However, for ES and TS streams, there is no crash. > >Any clues on this. No idea - this is something that you'll need to track down yourself - e.g., by recompiling with the "-g" flag and then running the server app in "gdb", or using "valgrind". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From rmpg2001 at gmail.com Tue Dec 5 01:17:09 2006 From: rmpg2001 at gmail.com (Ramon Martin de Pozuelo) Date: Tue, 5 Dec 2006 10:17:09 +0100 Subject: [Live-devel] Pause multicast server Message-ID: <389189e20612050117v71ff5782u155f2bdd8d89e4f2@mail.gmail.com> Hi all, Is there any way to stop or pause the streaming in testMPEG4VideoStreamer in server side. I usually stop it using CTRL+C, but is it possible to pause it, or stop it by another way? Thanks in advance, Ramon -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061205/9f81a694/attachment.html From gun at xanboo.com Tue Dec 5 13:15:49 2006 From: gun at xanboo.com (Gun Alppay) Date: Tue, 5 Dec 2006 16:15:49 -0500 Subject: [Live-devel] memory leak problem? Message-ID: <00a901c718b2$89ceb860$6000a8c0@xanboo.corecam.com> i'm testing recording streaming video with openRTSP on two separate linux platforms (x86 and MIPS) and both instances seem to be leaking memory. is this a known problem? i just wanted ask before looking at the code. i'm invoking openRTSP with the following runtime options: -F testmov -4 -H -m -f 20 -b 40000 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061205/5799ef6a/attachment.html From finlayson at live555.com Tue Dec 5 14:53:04 2006 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 5 Dec 2006 14:53:04 -0800 Subject: [Live-devel] memory leak problem? In-Reply-To: <00a901c718b2$89ceb860$6000a8c0@xanboo.corecam.com> References: <00a901c718b2$89ceb860$6000a8c0@xanboo.corecam.com> Message-ID: >i'm testing recording streaming video with openRTSP on two separate >linux platforms (x86 and MIPS) and both instances seem to be leaking >memory. is this a known problem? i just wanted ask before looking at >the code. > >i'm invoking openRTSP with the following runtime options: -F testmov >-4 -H -m -f 20 -b 40000 First, it doesn't make sense to use the -m option with -4 (or -q). The "-m" option means: output each frame into a separate file. If you use -4 (or -q), then the program will accumulate (not 'leak') memory over time, until it finishes reading the input stream, and is ready to complete writing the output file. This is because of the way that MPEG-4 (and MOV) format files are designed. There is nothing that can be done about this. (The problem is that these file formats are ill-designed for recording incoming streams.) -- 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/20061205/afcfdef5/attachment.html From yunfu.qiu at wwcoms.com.cn Tue Dec 5 22:52:18 2006 From: yunfu.qiu at wwcoms.com.cn (Qiuyunfu) Date: Wed, 6 Dec 2006 14:52:18 +0800 Subject: [Live-devel] h264 and ulaw save to mp4 Message-ID: <200612060653.kB66rsJK067507@ns.live555.com> hi, I use the quicktimefilesink save h.264 and ulaw data to a .mp4 file, but there have some errors: the quicktime palyer dont play it ,an report a error: Error -2041:an invalid sample description was found in the movie I try to play the mp4 file with VLC,I can hear the voice but the video is invisible When the VLC playing the mp4 video, it have follow errors: fmpeg warning: Unknown NAL code: 0 (h264 at 00AF7C50) ffmpeg warning: AVC: Consumed only 8 bytes instead of 359 (h264 at 00AF7C50) ffmpeg warning: non existing PPS referenced (h264 at 00AF7C50) ffmpeg warning: decode_slice_header error (h264 at 00AF7C50) ffmpeg warning: AVC: nal size -834895872 (h264 at 00AF7C50) ffmpeg warning: cannot decode one frame (4742 bytes) ffmpeg warning: AVC: Consumed only 1 bytes instead of 2124 (h264 at 00AF7C50) ffmpeg warning: Unknown NAL code: 0 (h264 at 00AF7C50) ffmpeg warning: Unknown NAL code: 26 (h264 at 00AF7C50) ffmpeg warning: AVC: Consumed only 1790 bytes instead of 2113111429 (h264 at 00AF7C50) ffmpeg warning: Unknown NAL code: 30 (h264 at 00AF7C50) ffmpeg warning: cannot decode one frame (2124 bytes) I dont know how to solve these errors,please give a hand. Thank you and best regards From finlayson at live555.com Wed Dec 6 04:53:47 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 6 Dec 2006 04:53:47 -0800 Subject: [Live-devel] h264 and ulaw save to mp4 In-Reply-To: <200612060653.kB66rsJK067507@ns.live555.com> References: <200612060653.kB66rsJK067507@ns.live555.com> Message-ID: >hi, > I use the quicktimefilesink save h.264 and ulaw data to a .mp4 file, >but there have some errors: > > the quicktime palyer dont play it ,an report a error: > Error -2041:an invalid sample description was found in the movie > > I try to play the mp4 file with VLC,I can hear the voice but the >video is invisible > > When the VLC playing the mp4 video, it have follow errors: > > fmpeg warning: Unknown NAL code: 0 (h264 at 00AF7C50) > ffmpeg warning: AVC: Consumed only 8 bytes instead of 359 (h264 at 00AF7C50) > ffmpeg warning: non existing PPS referenced (h264 at 00AF7C50) > ffmpeg warning: decode_slice_header error (h264 at 00AF7C50) > ffmpeg warning: AVC: nal size -834895872 (h264 at 00AF7C50) > ffmpeg warning: cannot decode one frame (4742 bytes) > ffmpeg warning: AVC: Consumed only 1 bytes instead of 2124 > (h264 at 00AF7C50) > ffmpeg warning: Unknown NAL code: 0 > (h264 at 00AF7C50) > ffmpeg warning: Unknown NAL code: 26 > (h264 at 00AF7C50) > ffmpeg warning: AVC: Consumed only 1790 bytes instead of 2113111429 > (h264 at 00AF7C50) > ffmpeg warning: Unknown NAL code: 30 > (h264 at 00AF7C50) > ffmpeg warning: cannot decode one frame (2124 bytes) > > > I dont know how to solve these errors,please give a hand. Unfortunately the support for recording H.264 video in ".mp4" (and ".mov") files was written by someone else as a 'proof of concept', and was never fully completed or debugged. It currently does not work properly. (I assume that you are able to properly play your original RTSP stream using QuickTime Player or VLC.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From gun at xanboo.com Wed Dec 6 07:49:49 2006 From: gun at xanboo.com (Gun Alppay) Date: Wed, 6 Dec 2006 10:49:49 -0500 Subject: [Live-devel] memory leak problem? References: <00a901c718b2$89ceb860$6000a8c0@xanboo.corecam.com> Message-ID: <010d01c7194e$2982cd10$6000a8c0@xanboo.corecam.com> Re: [Live-devel] memory leak problem?if the library was to be modified to provide an option where you could record a stream into a number of files - let's say containing 1min of video each - without terminating the rtsp session, would the problem be fixed? that is to say, is the problem caused by keeping track of mp4 file information for the duration of the stream contained in that file? to implement such a solution, you probably would have to keep and modify some file header information in memory for the duration of the stream but that could just be constant upperbound for memory usage. could I extend the library in this way or does it not make sense either in terms of mpeg-4/mp4 or the way the library is structured? thanks. ----- Original Message ----- From: Ross Finlayson To: LIVE555 Streaming Media - development & use Sent: Tuesday, December 05, 2006 5:53 PM Subject: Re: [Live-devel] memory leak problem? i'm testing recording streaming video with openRTSP on two separate linux platforms (x86 and MIPS) and both instances seem to be leaking memory. is this a known problem? i just wanted ask before looking at the code. i'm invoking openRTSP with the following runtime options: -F testmov -4 -H -m -f 20 -b 40000 First, it doesn't make sense to use the -m option with -4 (or -q). The "-m" option means: output each frame into a separate file. If you use -4 (or -q), then the program will accumulate (not 'leak') memory over time, until it finishes reading the input stream, and is ready to complete writing the output file. This is because of the way that MPEG-4 (and MOV) format files are designed. There is nothing that can be done about this. (The problem is that these file formats are ill-designed for recording incoming streams.) -- 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/20061206/da54b23f/attachment-0001.html From riwanda at yahoo.com Wed Dec 6 08:30:04 2006 From: riwanda at yahoo.com (Gunar Riwanda) Date: Wed, 6 Dec 2006 08:30:04 -0800 (PST) Subject: [Live-devel] Server and client on different machine Message-ID: <20061206163004.9166.qmail@web54605.mail.yahoo.com> i've modified the testonmpeg4videostreamer so that it is fed with frames by an encoder (I'm using devicesource instead bytestreamfilesource), and also modified the openRTSP so that after a frame is received, it will be decoded and visualized immediately(much like what vlc does) . so, when server and client are on the same computer, it works perfectly. But when they are on different machine, it doesn't work or in other word it works very slowly. at first i thought it was firewall problem. But surprise, surprise...after a long wait...i received my 1st frame.. after a couple minutes passed by, i received my 2nd frame.and so on. the distance between one frame to another is random.that means i can receive one frame after 8 minutes then another frame after 20 minutes then another frame after 3 minutes and so on... knowing this, i think that it's not a firewall problem. also with unmodified openRTSP, i got the same result...only 3 kb after 10 minutes. with server and client on the same machine, it doesn't have this problem. did someone have this problem before? or does someone know by any chance why this problem happens? or is my conclusion wrong and i do have firewall problem? i use windows xp and visualstudio 2003. I'm very grateful for any hints. regards, gunar ps: my problem before this with the tittle "problem on my "slightly" modified testmpeg4esvideostreamer" was caused by my fault forgetting some variables to be declared in the header file and not because i didn't read the FAQ. Of course I've read it and the read_from_files_synchronously was already set before i asked the question :-) ____________________________________________________________________________________ Have a burning question? Go to www.Answers.yahoo.com and get answers from real people who know. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061206/e18a8c41/attachment.html From jers at inwind.it Wed Dec 6 09:43:31 2006 From: jers at inwind.it (jers at inwind.it) Date: Wed, 6 Dec 2006 18:43:31 +0100 Subject: [Live-devel] non blocking sockets Message-ID: > > > >I noticed that in the library the RTSPServer as well as the RTPSink > >> >makes use of only blocking read/write system calls. > >> > >> That's not true. Both the TCP sockets (for RTSP control) and UDP > >> sockets (for RTP) are set up as non-blocking. > > > >you are right, they are setup as default non-blocking, > >anyway the real use seems to be blocking. > >I mean: > >The RTSPClientSession receives from the RTSPServer a non blocking > >TCP socket. Then in the incomingRequestHandler1() > >it calls the readSocket (with NULL timeout parameter). > >The readSocket calls the blockUntilReadable() and this function does > >a select() with a single file descriptor (the socket) in its fdset. > >I think that this blocks the process. > >Do you agree? > > No, because the sockets get read only when new readable data becomes > available (within the event loop). (This is what the calls to > "TaskScheduler::turnOnBackgroundReadHandling()" do.) Because of > this, the socket reads end up being non-blocking, because they are > called only when new data is available. (In this case, the > "blockUntilReadable()" call doesn't actually 'block'; blocking > happens only if a socket is read when no incoming data is actually > available (but the RTSP server code never does that).) > -- Dear Ross, Ok, obviously you are right! Sockets generated in the RTSPServer are not blocking but, if during a RTPOverTCP streaming, the connection with the player goes down (I have unplugged the cable), the server stays blocked at the send() call. This problem is due to the accept() function in RTSPServer::incomingConnectionHandler1(). It returns only blocking sockets even if the main socket is not blocking. I solved the problem setting as NONBLOCK the socket after the accept() call it seems to work. Do you think that my solution can cause other uncontrolled mishaps? Moreover, a problem about blocking socket it seems to be also in the RTSPClient. In this case too, I need to use RTPOverTCP connection. In RTSPClient::openConnectionFromURL() is called the setupStreamSocket() with the third argument (i.e. makeNonBlocking) set to False. Is this a free choice or must I keep this setting? Having to write a software that manages more clients, this choose might to be very harmful for my process. Ragards Jers ------------------------------------------------------ Ordina subito la scintillante lampada a forma di Renna di Babbo Natale: lascerai i tuoi ospiti... a bocca aperta ! http://click.libero.it/dmail06dic06 From finlayson at live555.com Wed Dec 6 09:55:00 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 6 Dec 2006 09:55:00 -0800 Subject: [Live-devel] Server and client on different machine In-Reply-To: <20061206163004.9166.qmail@web54605.mail.yahoo.com> References: <20061206163004.9166.qmail@web54605.mail.yahoo.com> Message-ID: >so, when server and client are on the same computer, it works perfectly. >But when they are on different machine, it doesn't work or in other >word it works very slowly. That's the key to your problem. The problem is apparently with your network (between the server and client). Perhaps you simply don't have enough bandwidth on your network for your stream?? But anyway, this is something that you're going to have to figure out yourself - e.g., using a network analyzer. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Dec 6 10:56:25 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 6 Dec 2006 10:56:25 -0800 Subject: [Live-devel] memory leak problem? In-Reply-To: <010d01c7194e$2982cd10$6000a8c0@xanboo.corecam.com> References: <00a901c718b2$89ceb860$6000a8c0@xanboo.corecam.com> <010d01c7194e$2982cd10$6000a8c0@xanboo.corecam.com> Message-ID: >if the library was to be modified to provide an option where you >could record a stream into a number of files - let's say containing >1min of video each - without terminating the rtsp session, would the >problem be fixed? Yes, probably. -- 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/20061206/f9bff4d7/attachment.html From finlayson at live555.com Wed Dec 6 11:01:41 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 6 Dec 2006 11:01:41 -0800 Subject: [Live-devel] non blocking sockets In-Reply-To: References: Message-ID: >This problem is due to the accept() function in >RTSPServer::incomingConnectionHandler1(). It >returns only blocking sockets even if the main >socket is not blocking. I solved the problem >setting as NONBLOCK the socket after the >accept() call it seems to work. Do you think >that my solution can cause other uncontrolled >mishaps? No, I think your solution here is absolutely correct. I will include it in the next release of the code. >Moreover, a problem about blocking socket it >seems to be also in the RTSPClient. In this case >too, I need to use RTPOverTCP connection. In >RTSPClient::openConnectionFromURL() is called >the setupStreamSocket() with the third argument >(i.e. makeNonBlocking) set to False. Is this a >free choice or must I keep this setting? No, because "RTSPClient" currently reads its responses synchronously, its socket must be blocking. (Having "RTSPClient" read its responses synchronously is probably a design flaw, because it prevents having multiple clients - or a client and a server - running in the same event loop. This will probably get fixed someday...) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From xcsmith at rockwellcollins.com Wed Dec 6 11:46:46 2006 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Wed, 6 Dec 2006 13:46:46 -0600 Subject: [Live-devel] Related to -> non blocking sockets Message-ID: >Moreover, a problem about blocking socket it >seems to be also in the RTSPClient. In this case >too, I need to use RTPOverTCP connection. In >RTSPClient::openConnectionFromURL() is called >the setupStreamSocket() with the third argument >(i.e. makeNonBlocking) set to False. Is this a >free choice or must I keep this setting? No, because "RTSPClient" currently reads its responses synchronously, its socket must be blocking. (Having "RTSPClient" read its responses synchronously is probably a design flaw, because it prevents having multiple clients - or a client and a server - running in the same event loop. This will probably get fixed someday...) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ Yes! I discovered that the combination of having a single thread application, a blocking RTSP client, and RTSP server in the same application is not going to work so well if the RTSP client contacts the RTSP server in the same application (or I think an RTSP server that is unavailable). The client gets stuck waiting for the server to respond, but the server can never receive the message because the event loop never moves forward after the client read. (Of course it is odd to contact RTSP server in your own application, but actually my RTSP client starts an RTSP message chain that can eventually result in my RTSP server being called to service the stream.) I have been thinking about how to fix the client, but it seems that if, instead of calling getResponse(), I turn on backgroundReadHandling and return, then the only way to inform the client's user that the RTSP conversation finished is with a callback. Adding a callback would change the interface design, and then all of the test apps would have to be rewritten. Also I would add a timeout function so that the user could regain control if the server never responded or sent only a partial message. The server fix released in the last couple months seemed easier because it is not as important to a server if a client never finishes its message. If I change at least my personal copy of RTSPClient to use callbacks do I need to create the socket in a different way than call openConnectionFromURL()? Do you have a better idea than callbacks? Also: If my comments about issues with related parts of the code are considered thread hijacking plz say so! I can always make my own topic too; I am not sure of the etiquette. Sorry if I've offended. Thanks! ~medra From finlayson at live555.com Wed Dec 6 17:21:55 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 6 Dec 2006 17:21:55 -0800 Subject: [Live-devel] Related to -> non blocking sockets In-Reply-To: References: Message-ID: >Yes! I discovered that the combination of having a single thread >application, a blocking RTSP client, and RTSP server in the same >application is not going to work so well if the RTSP client contacts the >RTSP server in the same application (or I think an RTSP server that is >unavailable). The client gets stuck waiting for the server to respond, but >the server can never receive the message because the event loop never moves >forward after the client read. > >(Of course it is odd to contact RTSP server in your own application No kidding. This is a perfect example of a situation where you could/should use multiple threads - i.e., run your RTSP server in a separate thread (with its own UsageEnvironment, etc. - see the FAQ). This should work OK because the only communication between the RTSP client and the RTSP server is (or at least, should be, if your application is well-designed) via RTSP/RTP (i.e., sockets). Alternatively, spawn and run the RTSP server as a separate *process*, which is even safer. >Do you have a better idea than callbacks? Yes, see above. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From jackymaillist at gmail.com Thu Dec 7 00:26:17 2006 From: jackymaillist at gmail.com (Jacky Cheung) Date: Thu, 07 Dec 2006 16:26:17 +0800 Subject: [Live-devel] does live555 supports streaming 3gp ? Message-ID: <4577D029.2040305@gmail.com> Hi Does live555 supports streaming 3gp? Thx Jacky From armandopoulos at yahoo.fr Thu Dec 7 01:13:46 2006 From: armandopoulos at yahoo.fr (Armando Ko) Date: Thu, 7 Dec 2006 09:13:46 +0000 (GMT) Subject: [Live-devel] live555 transcoding jpeg source file and allows other tasks to run Message-ID: <20061207091346.9661.qmail@web86901.mail.ukl.yahoo.com> Hi, I am using the live555 to stream JPEG and MPEG2 files and to run a second thread in my program, I use a function waitSmallTime for the RTPServer Thread. But I have 2 problems. This is how I configure my waiting function. static char watchVariable; static void checkFunc(void* /*clientData*/) { watchVariable = ~0; } waitSmallTime() { //*m_Env << "i am waiting 2000 ms ...\n"; int uSecsToDelay = 2000000; // (1000 for 1ms) // Delay a short period of time before checking again. m_Env->taskScheduler().scheduleDelayedTask(uSecsToDelay, (TaskFunc*)checkFunc, NULL); watchVariable = 0; m_Env->taskScheduler().doEventLoop(&watchVariable); //return // This allows other tasks to run while we're waiting: } Question 1. I stream a real jpeg image with PAL resolution (768*576) but the quality of the image is not gut on client. I? am using as client the Mplayer and I can see that my PAL jpeg image is deform or distort. I want to know if the live555 trans codes the source for example JPEG to MJPEG or not. An other thesis is that the Mplayer do that. Question 2. I try to stream the MPEG2 files so, one thread send the filename to the RTSPServer (live555) thread, in FAQ I have a tip to use the watchvariable, I do that with my function see at the top if I put the uSecsToDelay = 2000000; I can stream one short video (6 sec) an the RTSPServer crash (bug) if configure so uSecsToDelay = 9000000 the RTSPServer can play the video for a long time and the bug are coming. To stream the JPEG files, I needed to make uSecsToDelay = 2000000; if the waiting time is smaller than 2ms the RTSPServer crash. I should know, where I do a mistake in the using of the waitsmallTime or watchvariable. Thanks! Armand ___________________________________________________________________________ Yahoo! Mail r?invente le mail ! D?couvrez le nouveau Yahoo! Mail et son interface r?volutionnaire. http://fr.mail.yahoo.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061207/ec4017a4/attachment-0001.html From finlayson at live555.com Thu Dec 7 01:15:33 2006 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 7 Dec 2006 01:15:33 -0800 Subject: [Live-devel] does live555 supports streaming 3gp ? In-Reply-To: <4577D029.2040305@gmail.com> References: <4577D029.2040305@gmail.com> Message-ID: >Does live555 supports streaming 3gp? It can *receive* '3gp' RTSP/RTP streams - e.g., the VLC media player will play such a stream, it you enter its "rtsp://" URL. It can also *send* MPEG-4 video and AAC and/or AMR audio RTSP/RTP streams - i.e., those media types that are used in '3gp'. However, there is currently no support in the library for reading/multiplexing MPEG-4 format files (of which '3gp' files are an example), so there is currently no support for streaming from a prerecorded 3gp file. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From liu_ying111 at yahoo.com.cn Thu Dec 7 05:09:46 2006 From: liu_ying111 at yahoo.com.cn (=?gb2312?q?=D3=B0=20=C1=F5?=) Date: Thu, 7 Dec 2006 21:09:46 +0800 (CST) Subject: [Live-devel] error in make live Message-ID: <314775.97086.qm@web15210.mail.cnb.yahoo.com> Hi, I port the mplayer on the arm board .now i have to add the live to the mplayer. I compile the live directory .this is the result. ...... ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.text+0x2c98): In function `BasicHashTable::~BasicHashTable [in-charge deleting]()': : undefined reference to `operator delete[](void*)' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.text+0x2ccc): In function `BasicHashTable::~BasicHashTable [in-charge deleting]()': : undefined reference to `__gxx_personality_sj0' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.text+0x2ec8): In function `HashTable::create(int)': : undefined reference to `operator new(unsigned)' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.text+0x2f20): In function `HashTable::create(int)': : undefined reference to `operator delete(void*)' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.text+0x2f28): In function `HashTable::create(int)': : undefined reference to `__gxx_personality_sj0' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.text+0x2f84): In function `HashTable::Iterator::create(HashTable&)': : undefined reference to `operator new(unsigned)' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.text+0x2fdc): In function `HashTable::Iterator::create(HashTable&)': : undefined reference to `operator delete(void*)' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.text+0x2fe4): In function `HashTable::Iterator::create(HashTable&)': : undefined reference to `__gxx_personality_sj0' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.text+0x30d0): In function `BasicHashTable::insertNewEntry(unsigned, char const*)': : undefined reference to `operator new(unsigned)' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.text+0x3154): In function `BasicHashTable::assignKey(BasicHashTable::TableEntry*, char const*)': : undefined reference to `operator new[](unsigned)' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.text+0x31e4): In function `BasicHashTable::deleteEntry(unsigned, BasicHashTable::TableEntry*)': : undefined reference to `operator delete(void*)' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.text+0x323c): In function `BasicHashTable::deleteKey(BasicHashTable::TableEntry*)': : undefined reference to `operator delete[](void*)' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.text+0x3260): In function `BasicHashTable::rebuild()': : undefined reference to `operator new[](unsigned)' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.text+0x3324): In function `BasicHashTable::rebuild()': : undefined reference to `operator delete[](void*)' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.t._ZN12AlarmHandlerD0Ev+0x1c): In function `AlarmHandler::~AlarmHandler [in-charge deleting]()': : undefined reference to `operator delete(void*)' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.t._ZN14BasicHashTable8IteratorD0Ev+0x1c): In function `BasicHashTable::Iterator::~Iterator [in-charge deleting]()': : undefined reference to `operator delete(void*)' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTV22BasicUsageEnvironment0+0x24): undefined reference to `__cxa_pure_virtual' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTV22BasicUsageEnvironment0+0x28): undefined reference to `__cxa_pure_virtual' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTV22BasicUsageEnvironment0+0x2c): undefined reference to `__cxa_pure_virtual' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTV22BasicUsageEnvironment0+0x30): undefined reference to `__cxa_pure_virtual' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTV22BasicUsageEnvironment0+0x34): undefined reference to `__cxa_pure_virtual' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTV22BasicUsageEnvironment0+0x38): more undefined references to `__cxa_pure_virtual' follow../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTI22BasicUsageEnvironment0+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTI21BasicUsageEnvironment+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTV19BasicTaskScheduler0+0x1c): undefined reference to `__cxa_pure_virtual' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTV19BasicTaskScheduler0+0x20): undefined reference to `__cxa_pure_virtual' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTV19BasicTaskScheduler0+0x28): undefined reference to `__cxa_pure_virtual' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTI19BasicTaskScheduler0+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTI17HandlerDescriptor+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTI10HandlerSet+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTI15HandlerIterator+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTI12AlarmHandler+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTI18BasicTaskScheduler+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTI15DelayQueueEntry+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTI10DelayQueue+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTIN14BasicHashTable8IteratorE+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' ../BasicUsageEnvironment/libBasicUsageEnvironment.a(.gnu.linkonce.r._ZTI14BasicHashTable+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' collect2: ld returned 1 exit status make[1]: *** [testMP3Streamer] 错误 1 make[1]: Leaving directory `/root/Desktop/live/testProgs' make: *** [testProgs/testMP3Streamer] 错误 2 ps: i use arm-linux-gcc3.3.2 . I'm very grateful for any hints. Thanks! liuying --------------------------------- Mp3疯狂搜-新歌热歌高速下 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061207/bdb4e8f4/attachment.html From yunjnz at yahoo.com Sun Dec 10 16:59:30 2006 From: yunjnz at yahoo.com (Sean) Date: Sun, 10 Dec 2006 16:59:30 -0800 (PST) Subject: [Live-devel] Why does Live555 separate the MPEG2PS stream to two streams while streaming? Message-ID: <367892.47550.qm@web35810.mail.mud.yahoo.com> Hi, Why does Live555 separate the MPEG2PS stream to two streams while streaming? is it possible for streaming the MPEG2PS stream(with audio and video) in one stream? Thanks a lot. ____________________________________________________________________________________ Do you Yahoo!? Everyone is raving about the all-new Yahoo! Mail beta. http://new.mail.yahoo.com From finlayson at live555.com Sun Dec 10 21:13:06 2006 From: finlayson at live555.com (Ross Finlayson) Date: Sun, 10 Dec 2006 21:13:06 -0800 Subject: [Live-devel] Why does Live555 separate the MPEG2PS stream to two streams while streaming? In-Reply-To: <367892.47550.qm@web35810.mail.mud.yahoo.com> References: <367892.47550.qm@web35810.mail.mud.yahoo.com> Message-ID: >Why does Live555 separate the MPEG2PS stream to two >streams while streaming? Short answer: Because that's the standard. Slightly longer answer: Please read the FAQ: http://www.live555.com/liveMedia/faq.html#separate-rtp-streams >is it possible for streaming the MPEG2PS stream(with >audio and video) in one stream? This is possible in principle, using the "video/MP2P" RTP payload format. In practice, though, almost noone else implements that payload format, so you would have trouble finding clients (apart from VLC) that would play such a stream. -- 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/20061210/90cb114b/attachment.html From yunjnz at yahoo.com Mon Dec 11 00:32:48 2006 From: yunjnz at yahoo.com (Sean) Date: Mon, 11 Dec 2006 00:32:48 -0800 (PST) Subject: [Live-devel] Why does Live555 separate the MPEG2PS stream to two streams while streaming? In-Reply-To: Message-ID: <217918.66674.qm@web35803.mail.mud.yahoo.com> --- Ross Finlayson wrote: > >Why does Live555 separate the MPEG2PS stream to two > >streams while streaming? > > Short answer: Because that's the standard. > > Slightly longer answer: Please read the FAQ: > > http://www.live555.com/liveMedia/faq.html#separate-rtp-streams > > >is it possible for streaming the MPEG2PS > stream(with > >audio and video) in one stream? > > This is possible in principle, using the > "video/MP2P" RTP payload Can you give me some more detail about how to implement this feature? how to use the "video/MP2P" RTP payload format? an example would be highly appreciated. does I need to add a class similar to MPEG2TransportFileServerMediaSubsession in the library or I can simply use several lines' code similar to testOnDemandRTSPServer? Thanks for your help. > format. In practice, though, almost noone else > implements that > payload format, so you would have trouble finding > clients (apart from > VLC) that would play such a stream. > -- > > 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 > ____________________________________________________________________________________ Any questions? Get answers on any topic at www.Answers.yahoo.com. Try it now. From rmpg2001 at gmail.com Mon Dec 11 00:37:15 2006 From: rmpg2001 at gmail.com (Ramon Martin de Pozuelo) Date: Mon, 11 Dec 2006 09:37:15 +0100 Subject: [Live-devel] Pause Server Message-ID: <389189e20612110037k6fa2eeb6xdbdace082db3f7a6@mail.gmail.com> Hi all, is there any way to stop or pause sending packets by the server in testMPEG4VideoStreamer? I usually use CTRL+C to stop the server but is there a better way? What could I implement to do it? (I want to stop it in server side, not by te client.) Thanks in advance, Ramon -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061211/ef5c27d3/attachment.html From finlayson at live555.com Mon Dec 11 01:25:13 2006 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 11 Dec 2006 01:25:13 -0800 Subject: [Live-devel] Pause Server In-Reply-To: <389189e20612110037k6fa2eeb6xdbdace082db3f7a6@mail.gmail.com> References: <389189e20612110037k6fa2eeb6xdbdace082db3f7a6@mail.gmail.com> Message-ID: >Hi all, >is there any way to stop or pause sending packets by the server in >testMPEG4VideoStreamer? I usually use CTRL+C to stop the server but >is there a better way? Well, there's always CTRL+Z -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From rmpg2001 at gmail.com Mon Dec 11 01:30:38 2006 From: rmpg2001 at gmail.com (Ramon Martin de Pozuelo) Date: Mon, 11 Dec 2006 10:30:38 +0100 Subject: [Live-devel] Pause Server Message-ID: <389189e20612110130k7dae3ba4mc09f5bfd60cc1783@mail.gmail.com> And isn't there any way to do a: VideoSink->StopPlaying(..) manually?? If not, any sugestions on how to implement it?? Ramon -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061211/23216672/attachment.html From finlayson at live555.com Mon Dec 11 01:31:50 2006 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 11 Dec 2006 01:31:50 -0800 Subject: [Live-devel] Why does Live555 separate the MPEG2PS stream to two streams while streaming? In-Reply-To: <217918.66674.qm@web35803.mail.mud.yahoo.com> References: <217918.66674.qm@web35803.mail.mud.yahoo.com> Message-ID: > > >is it possible for streaming the MPEG2PS >> stream(with >> >audio and video) in one stream? >> >> This is possible in principle, using the >> "video/MP2P" RTP payload > >Can you give me some more detail about how to >implement this feature? how to use the "video/MP2P" >RTP payload format? Yes - create a "ByteStreamFileSource" for your input file, and then feed it to a "SimpleRTPSink", which you create using SimpleRTPSink::createNew(envir(), rtpGroupsock, 96, 90000, "video", "MP2P", 1, True, False /*no 'M' bit*/); >does I need to add a class similar to >MPEG2TransportFileServerMediaSubsession Yes. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From riwanda at yahoo.com Mon Dec 11 02:52:52 2006 From: riwanda at yahoo.com (Gunar Riwanda) Date: Mon, 11 Dec 2006 02:52:52 -0800 (PST) Subject: [Live-devel] Pause Server Message-ID: <20061211105252.19193.qmail@web54605.mail.yahoo.com> maybe you can try to use the char* watchVariable in doeventloop function...(see basictaskscheduler0 documentation) not sure whether it actually stops or pause the packets. at least i use it to get out from doeventloop,get my next frame then go back to the doeventloop to send the frame. hope it helps. Gunar Message: 6 Date: Mon, 11 Dec 2006 09:37:15 +0100 From: "Ramon Martin de Pozuelo" Subject: [Live-devel] Pause Server To: live-devel Message-ID: <389189e20612110037k6fa2eeb6xdbdace082db3f7a6 at mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1" Hi all, is there any way to stop or pause sending packets by the server in testMPEG4VideoStreamer? I usually use CTRL+C to stop the server but is there a better way? What could I implement to do it? (I want to stop it in server side, not by te client.) Thanks in advance, Ramon ____________________________________________________________________________________ Cheap talk? Check out Yahoo! Messenger's low PC-to-Phone call rates. http://voice.yahoo.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061211/e7cd5847/attachment.html From weiyutao36 at 163.com Mon Dec 11 04:11:42 2006 From: weiyutao36 at 163.com (weiyutao36 at 163.com) Date: Mon, 11 Dec 2006 20:11:42 +0800 (CST) Subject: [Live-devel] Has anybody developed a H.264 streaming server test progs? Message-ID: <457D4AFE.00006D.25799@bj163app36.163.com> Hello all, I want to know if there is somebody who has written a program like "testh264Streamer" that can stream h.264 files? If yes, can you give me some hints about this? Thanks in advance. Yutao Wei -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061211/88dfd5b6/attachment.html From finlayson at live555.com Mon Dec 11 08:29:09 2006 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 11 Dec 2006 08:29:09 -0800 Subject: [Live-devel] Has anybody developed a H.264 streaming server test progs? In-Reply-To: <457D4AFE.00006D.25799@bj163app36.163.com> References: <457D4AFE.00006D.25799@bj163app36.163.com> Message-ID: >Hello all, > >I want to know if there is somebody who has written a program like >"testh264Streamer" that can stream h.264 files? What is a "H.264 file"? That's the important issue - see -- 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/20061211/55fc80ab/attachment.html From fox at purplegecko.de Mon Dec 11 12:00:42 2006 From: fox at purplegecko.de (Andreas Frisch) Date: Mon, 11 Dec 2006 21:00:42 +0100 Subject: [Live-devel] Get own IP on MIPS Message-ID: <457DB8EA.7070809@purplegecko.de> The code to find out the own server IP address in GroupsockHelper.cpp netAddressBits ourSourceAddressForMulticast(UsageEnvironment& env) always resulted in an "This computer has an invalid IP address: 0x00" error on my MIPS architecture embedded system. i attached a diff of a workaround which discovers a valid IP number on this system. may i remark that i am a linux noob bungler-type student person and this is my first time posting to a mailing list, so feel free to tell me whether there's anything wrong with what i did here. with best regards, andreas -------------- next part -------------- --- /home/andy/GroupsockHelper.cpp 2006-12-08 10:08:15.000000000 +0100 +++ GroupsockHelper.cpp 2006-12-09 20:19:11.000000000 +0100 @@ -31,6 +31,10 @@ #endif #include +// FRISCH 2006-12-09 +#include +#include + // By default, use INADDR_ANY for the sending and receiving interfaces: netAddressBits SendingInterfaceAddr = INADDR_ANY; netAddressBits ReceivingInterfaceAddr = INADDR_ANY; @@ -650,6 +654,37 @@ (netAddressBits)(ntohl(from))); env.setResultMsg(tmp); from = 0; + +// FRISCH 2006-12-09 + // if we get stuck here then the original technique to find out our source IP address didn't work. + // for some reason it fails on our DM7025 Linux, therefore we try to discover it differently... + + int sockfd = socket(PF_INET,SOCK_DGRAM,0); + if (sockfd == -1) { + sprintf(tmp,"frisch: failed to get network socket"); + env.setResultMsg(tmp); + return 0; + } + + char *name = "eth0"; + + struct sockaddr_in *sin; + struct ifreq ifr; + + strncpy(ifr.ifr_name,name,IFNAMSIZ); // Copies the interface name into the buffer + if (ioctl(sockfd,SIOCGIFADDR,&ifr) == -1) { + sprintf(tmp,"frisch: failed to icotl IP address"); + env.setResultMsg(tmp); + return 0; + } + close(sockfd); + + sin = (struct sockaddr_in *) ((struct sockaddr *) &(ifr.ifr_addr)); + + fprintf(stderr, "discovered own IP address: %s\n",inet_ntoa(sin->sin_addr)); + + from = sin->sin_addr.s_addr; +// /FRISCH } ourAddress = from; From finlayson at live555.com Mon Dec 11 16:15:25 2006 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 11 Dec 2006 16:15:25 -0800 Subject: [Live-devel] Get own IP on MIPS In-Reply-To: <457DB8EA.7070809@purplegecko.de> References: <457DB8EA.7070809@purplegecko.de> Message-ID: >The code to find out the own server IP address in GroupsockHelper.cpp >netAddressBits ourSourceAddressForMulticast(UsageEnvironment& env) >always resulted in an "This computer has an invalid IP address: >0x00" error on my MIPS architecture embedded system. >i attached a diff of a workaround Rather than trying to come up with a 'workaround' (which, in this cass, is very non-portable), why not try to figure out why the original code is not working on your system? Remember, You Have Complete Source Code. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From victor_l2000 at hotmail.com Mon Dec 11 17:03:06 2006 From: victor_l2000 at hotmail.com (Victor Lee) Date: Mon, 11 Dec 2006 17:03:06 -0800 Subject: [Live-devel] the purpose of multiFileSource Message-ID: Hi Ross, Thanks for your previous info and suggestions about the use of LiveMedia! While using LiveMedia, i noticed that there is a part called ByteStreamMultiFileSource beside ByteStreamFileSource. I did not find any example or documents about using the ByteStreamMultiFileSource part. Could you please give me some info about this part, such as the cases using it, test examples i can refer to. When Multiple files are used, will they be regarded as the same stream (i.e., will the streamName be the same)? Thank you very much and have a great holiday! Vic _________________________________________________________________ Visit MSN Holiday Challenge for your chance to win up to $50,000 in Holiday cash from MSN today! http://www.msnholidaychallenge.com/index.aspx?ocid=tagline&locale=en-us From yunjnz at yahoo.com Mon Dec 11 17:03:30 2006 From: yunjnz at yahoo.com (Sean) Date: Mon, 11 Dec 2006 17:03:30 -0800 (PST) Subject: [Live-devel] Why does Live555 separate the MPEG2PS stream to two streams while streaming? In-Reply-To: Message-ID: <378188.14088.qm@web35813.mail.mud.yahoo.com> --- Ross Finlayson wrote: > > > >is it possible for streaming the MPEG2PS > >> stream(with > >> >audio and video) in one stream? > >> > >> This is possible in principle, using the > >> "video/MP2P" RTP payload > > > >Can you give me some more detail about how to > >implement this feature? how to use the "video/MP2P" > >RTP payload format? > > Yes - create a "ByteStreamFileSource" for your input > file, and then > feed it to a "SimpleRTPSink", which you create using > SimpleRTPSink::createNew(envir(), rtpGroupsock, > 96, 90000, > "video", "MP2P", > 1, True, False /*no 'M' bit*/); > > > >does I need to add a class similar to > >MPEG2TransportFileServerMediaSubsession > > Yes. Thanks for your help. I added a class similar to MPEG2TransportFileServerMediaSubsession and another class similar to MPEG2TransportStreamFramer, and just modified the createNewRTPSink function. and also modified the createNewStreamSource function to the new streamframer class, in that class, I simply removed the transport stream related code, such as the sync byte and duration estimate part, it seems that the client--openRTSP works good on PC (Windows), but can't work on Embedded linux, there are a lot of packets are lost. can you give me some help for this problem? Thanks a lot. > -- > > 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 > ____________________________________________________________________________________ Any questions? Get answers on any topic at www.Answers.yahoo.com. Try it now. From finlayson at live555.com Mon Dec 11 17:50:22 2006 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 11 Dec 2006 17:50:22 -0800 Subject: [Live-devel] Why does Live555 separate the MPEG2PS stream to two streams while streaming? In-Reply-To: <378188.14088.qm@web35813.mail.mud.yahoo.com> References: <378188.14088.qm@web35813.mail.mud.yahoo.com> Message-ID: >I simply removed the transport stream related code, >such as the sync byte and duration estimate part, No, if you're streaming from a (Program Stream) file, then you can't remove the duration estimate (and assignment to "fDurationInMicroseconds"), otherwise the file data will get streamed as fast as possible, rather than at it's natural rate. (That's why you're seeing packet loss.) You're going to have to figure out yourself what the appropriate duration is for each chunk of file data that you're streaming. You're on your own here... (If you'd just streamed the Program Stream data the proper, standard way - as separate audio/video RTP streams - using the supplied test program code, then you wouldn't be having any of these problems. That's why I won't be giving you any more help here.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From jackymaillist at gmail.com Mon Dec 11 18:01:48 2006 From: jackymaillist at gmail.com (Jacky Cheung) Date: Tue, 12 Dec 2006 10:01:48 +0800 Subject: [Live-devel] MP4 + amr streaming Message-ID: <457E0D8C.9070207@gmail.com> Hi I am exploring on how to use the live555 to stream video and audio data to mobile devices, and playback using their embedded player. However, when I search in the web, I've got this link http://discussion.forum.nokia.com/forum/showthread.php?t=72433 The reply saying that the mobile device needs to receive end of clip command to starting playback, is it the case? And is it possible to do some tricks in live555 to make it works for devices? Thanks a lot Regards, Jacky Cheung From yunjnz at yahoo.com Mon Dec 11 18:20:20 2006 From: yunjnz at yahoo.com (Sean) Date: Mon, 11 Dec 2006 18:20:20 -0800 (PST) Subject: [Live-devel] Why does Live555 separate the MPEG2PS stream to two streams while streaming? In-Reply-To: Message-ID: <888817.11420.qm@web35811.mail.mud.yahoo.com> --- Ross Finlayson wrote: > >I simply removed the transport stream related code, > >such as the sync byte and duration estimate part, > > No, if you're streaming from a (Program Stream) > file, then you can't > remove the duration estimate (and assignment to > "fDurationInMicroseconds"), otherwise the file data > will get streamed > as fast as possible, rather than at it's natural > rate. (That's why > you're seeing packet loss.) > > You're going to have to figure out yourself what the > appropriate > duration is for each chunk of file data that you're > streaming. > You're on your own here... > > (If you'd just streamed the Program Stream data the > proper, standard > way - as separate audio/video RTP streams - using > the supplied test > program code, then you wouldn't be having any of > these problems. > That's why I won't be giving you any more help > here.) Of course I prefer using the existing streaming mode in live555, but my client need to re-multiplex the separated audio/video streams to MPEG2PS since my client still need to stream out MPEG2PS format via another streaming mode. Is there any simple mode for estimating the duration? or is there any good method for the estimation? also any other suggestions are highly appreciated. Thanks. Sean > -- > > 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 > ____________________________________________________________________________________ Do you Yahoo!? Everyone is raving about the all-new Yahoo! Mail beta. http://new.mail.yahoo.com From wenhao_hsieh at huntelec.com.tw Mon Dec 11 22:33:57 2006 From: wenhao_hsieh at huntelec.com.tw (HUNT_wenhao) Date: Tue, 12 Dec 2006 14:33:57 +0800 Subject: [Live-devel] How to integrate ffmpeg to live555 Message-ID: <003101c71db7$904b1990$7801a8c0@huntelec.com.tw> Dear All, After V4L capture video frame, I encode the frame into MPEG4, How can I feed live555 on frame (live video) rather than test.m4e Thanks a lot, olds -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061211/9cd2ff36/attachment.html From mrnikhilagrawal at gmail.com Tue Dec 12 02:06:24 2006 From: mrnikhilagrawal at gmail.com (Nikhil Agrawal) Date: Tue, 12 Dec 2006 15:36:24 +0530 Subject: [Live-devel] Regarding GSM Streaming Message-ID: <733cde3e0612120206g69bd8c7dhf897051c15a7f391@mail.gmail.com> Hi, I am new to streaming and want to stream RTP packets encoded using GSM Codecs. I have decoder for it and I want to stream decoded data. How can i do this? and whether it is possible or not with Live555. There are some files provided with Live555 related to GSM , but i dont no how and what to do.Please help me. Regards, Nikhil Agrawal -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061212/4f8852e8/attachment.html From finlayson at live555.com Tue Dec 12 02:22:12 2006 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 12 Dec 2006 02:22:12 -0800 Subject: [Live-devel] Regarding GSM Streaming In-Reply-To: <733cde3e0612120206g69bd8c7dhf897051c15a7f391@mail.gmail.com> References: <733cde3e0612120206g69bd8c7dhf897051c15a7f391@mail.gmail.com> Message-ID: >I am new to streaming and want to stream RTP packets encoded using >GSM Codecs. I have decoder for it and I want to stream decoded data. Is that really what you mean, or do you really want to stream *encoded* (i.e., GSM) data? Please explain exactly what you wish to do. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From mrnikhilagrawal at gmail.com Tue Dec 12 02:36:47 2006 From: mrnikhilagrawal at gmail.com (Nikhil Agrawal) Date: Tue, 12 Dec 2006 16:06:47 +0530 Subject: [Live-devel] Regarding GSM Streaming In-Reply-To: References: <733cde3e0612120206g69bd8c7dhf897051c15a7f391@mail.gmail.com> Message-ID: <733cde3e0612120236o402c80d4y259743b10ec00b1d@mail.gmail.com> I want to know that does Live555 converts supported formats( like mp3, wav... in testOnDemandRTSPServer application) in some common format before streaming or it sends as it is. Because I have decoder for GSM and ALaw and I can decode my encoded data using these dedoders but i want to stream those decoded data, so can i do these using Live555. What should I do? (Similar to ALaw and GSM I have decoders for other encoders also , so i want to stream all decoded data .) Regards, Nikhil Agrawal On 12/12/06, Ross Finlayson wrote: > > >I am new to streaming and want to stream RTP packets encoded using > >GSM Codecs. I have decoder for it and I want to stream decoded data. > > Is that really what you mean, or do you really want to stream > *encoded* (i.e., GSM) data? > > Please explain exactly what you wish to do. > -- > > 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/20061212/a8e8cddb/attachment.html From finlayson at live555.com Tue Dec 12 07:17:03 2006 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 12 Dec 2006 07:17:03 -0800 Subject: [Live-devel] Regarding GSM Streaming In-Reply-To: <733cde3e0612120236o402c80d4y259743b10ec00b1d@mail.gmail.com> References: <733cde3e0612120206g69bd8c7dhf897051c15a7f391@mail.gmail.com> <733cde3e0612120236o402c80d4y259743b10ec00b1d@mail.gmail.com> Message-ID: >I want to know that does Live555 converts supported formats( like >mp3, wav... in testOnDemandRTSPServer application) in some common >format before streaming or it sends as it is. No, there is no codec (encoding or decoding) software in the library. All streaming is done on encoded data. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Tue Dec 12 11:13:02 2006 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 12 Dec 2006 11:13:02 -0800 Subject: [Live-devel] Introducing the LIVE555 Media Server Message-ID: The LIVE555 Streaming Media source code release now includes code for a new application - the "LIVE555 Media Server". This is a complete RTSP server application, which will stream, upon request, any file (with an appropriate file name suffix) that's present in the current directory. For more information, see http://www.live555.com/mediaServer/ The source code for the LIVE555 Media Server is contained in the "mediaServer" directory. This directory must be built after the other, 'library' directories: "groupsock", "UsageEnvironment", "BasicUsageEnvironment", "liveMedia". (If you generated your Makefiles using "genMakefiles", then this will happen automatically.) Pre-built binaries for some platforms are also available. Note that this initial version (0.1) of the LIVE555 Media Server is somewhat limited in functionality. Future versions of this application will likely have additional functionality - such as enhanced 'trick play' support, and support for encoding/streaming live audio/video feeds. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061212/e6c13a18/attachment.html From msts06 at gmail.com Tue Dec 12 13:22:58 2006 From: msts06 at gmail.com (S ts) Date: Tue, 12 Dec 2006 16:22:58 -0500 Subject: [Live-devel] Vbrick Message-ID: <78cadf9c0612121322v65d1e8aap2dc8df76c2cf131a@mail.gmail.com> Hi, I am trying to use openRTSP to record a video stream from vbrick in fedora linux. For a quicktime stream I use the command: openRTSP -q -f 30 -h 240 -w 320 -V rtsp://vbrick>tst.mov The output is: Sending request: OPTIONS rtsp://vbrick RTSP/1.0 CSeq: 1 User-Agent: ./openRTSP (LIVE555 Streaming Media v2006.12.08) Received OPTIONS response: RTSP/1.0 200 OK CSeq: 1 Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE Sending request: DESCRIBE rtsp://vbrick RTSP/1.0 CSeq: 2 Accept: application/sdp User-Agent: ./openRTSP (LIVE555 Streaming Media v2006.12.08) Received DESCRIBE response: RTSP/1.0 200 OK Server: VBrick VB6000 Server CSeq: 2 Content-Length: 1106 Content-Type: application/sdp Content-Base: rtsp://vbrick/ Need to read 1106 extra bytes Read 1106 extra bytes: v=0 o=- 5699360993 1 IN IP4 192.168.0.0 s=vbrickvideo1 c=IN IP4 0.0.0.0 b=AS:1328 t=0 0 a=control:rtsp://vbrick a=tool:VBrick a=ISMA-compliance:1,1.0,1 a=mpeg4-iod: "data:application/mpeg4-iod;base64,AoIvAE//AQ/3AQOBOgABQJxkYXRhOmFwcGxpY2F0aW9uL21wZWc0LW9kLWF1O2Jhc2U2NCxBVllCS2dVZkF5WUEzaUFBYndRTklCRUJRQUFBRkNSQUFCSlBnQVlRQUVRQUFWK1FBQUFBQUNBQUFBQUFBd0VvQXA4REpBQnZBQVFOUUJVQUgwQUFBZzBBQUFIMEFBWVFBRVFBQUx1QUFBQzdnQ0FnQUFBQUF3PT0EDQEFAADIAAAAAAAAAAAGCQEAAAAAAAAAAANpAAJARmRhdGE6YXBwbGljYXRpb24vbXBlZzQtYmlmcy1hdTtiYXNlNjQsd0JBU2dUQXFCVzBtRUVIOEFBQUIvQUFBQkVLQ0tDbjQEEgINAAAUAAAAAAAAAAAFAwAAYAYJAQAAAAAAAAAA" m=video 0 RTP/AVP 96 b=AS:1200 a=rtpmap:96 MP4V-ES/90000 a=control:trackID=11 a=cliprect:0,0,240,352 a=fmtp:96 profile-level-id=247;config=000001B0f7000001B50d0f0000010000000120008C5D4C285820F0A31F a=mpeg4-esid:222 m=audio 0 RTP/AVP 97 b=AS:128 a=rtpmap:97 mpeg4-generic/48000/2 a=control:trackID=12 a=fmtp:97 streamtype=5; profile-level-id=15; mode=AAC-hbr; config=1190; SizeLength=13; IndexLength=3; IndexDeltaLength=3; Profile=1 a=mpeg4-esid:111 Opened URL "rtsp://vbrick", returning a SDP description: v=0 o=- 5699360993 1 IN IP4 192.168.0.0 s=vbrickvideo1 c=IN IP4 0.0.0.0 b=AS:1328 t=0 0 a=control:rtsp://vbrick a=tool:VBrick a=ISMA-compliance:1,1.0,1 a=mpeg4-iod: "data:application/mpeg4-iod;base64,AoIvAE//AQ/3AQOBOgABQJxkYXRhOmFwcGxpY2F0aW9uL21wZWc0LW9kLWF1O2Jhc2U2NCxBVllCS2dVZkF5WUEzaUFBYndRTklCRUJRQUFBRkNSQUFCSlBnQVlRQUVRQUFWK1FBQUFBQUNBQUFBQUFBd0VvQXA4REpBQnZBQVFOUUJVQUgwQUFBZzBBQUFIMEFBWVFBRVFBQUx1QUFBQzdnQ0FnQUFBQUF3PT0EDQEFAADIAAAAAAAAAAAGCQEAAAAAAAAAAANpAAJARmRhdGE6YXBwbGljYXRpb24vbXBlZzQtYmlmcy1hdTtiYXNlNjQsd0JBU2dUQXFCVzBtRUVIOEFBQUIvQUFBQkVLQ0tDbjQEEgINAAAUAAAAAAAAAAAFAwAAYAYJAQAAAAAAAAAA" m=video 0 RTP/AVP 96 b=AS:1200 a=rtpmap:96 MP4V-ES/90000 a=control:trackID=11 a=cliprect:0,0,240,352 a=fmtp:96 profile-level-id=247;config=000001B0f7000001B50d0f0000010000000120008C5D4C285820F0A31F a=mpeg4-esid:222 m=audio 0 RTP/AVP 97 b=AS:128 a=rtpmap:97 mpeg4-generic/48000/2 a=control:trackID=12 a=fmtp:97 streamtype=5; profile-level-id=15; mode=AAC-hbr; config=1190; SizeLength=13; IndexLength=3; IndexDeltaLength=3; Profile=1 a=mpeg4-esid:111 Created receiver for "video/MP4V-ES" subsession (client ports 32858-32859) Created receiver for "audio/MPEG4-GENERIC" subsession (client ports 32860-32861) Sending request: SETUP rtsp://vbrick/trackID=11 RTSP/1.0 CSeq: 3 Transport: RTP/AVP;unicast;client_port=32858-32859 User-Agent: ./openRTSP (LIVE555 Streaming Media v2006.12.08) Received SETUP response: RTSP/1.0 200 OK Server: VBrick VB6000 Server CSeq: 3 Session: 457f1c060d0a38e4;timeout=30 Transport: RTP/AVP;unicast;client_port=32858-32859;source=192.168.0.0 ;server_port=6966-6967;ssrc=19ad2b5e Setup "video/MP4V-ES" subsession (client ports 32858-32859) Sending request: SETUP rtsp://vbrick/trackID=12 RTSP/1.0 CSeq: 4 Transport: RTP/AVP;unicast;client_port=32860-32861 Session: 457f1c060d0a38e4 User-Agent: ./openRTSP (LIVE555 Streaming Media v2006.12.08) Received SETUP response: RTSP/1.0 200 OK Server: VBrick VB6000 Server CSeq: 4 Session: 457f1c060d0a38e4;timeout=30 Transport: RTP/AVP;unicast;client_port=32860-32861;source=192.168.0.0 ;server_port=6966-6967;ssrc=7ef222b4 Setup "audio/MPEG4-GENERIC" subsession (client ports 32860-32861) Sending request: PLAY rtsp://vbrick/ RTSP/1.0 CSeq: 5 Session: 457f1c060d0a38e4 Range: npt=0.000- User-Agent: ./openRTSP (LIVE555 Streaming Media v2006.12.08) Received PLAY response: RTSP/1.0 200 OK Server: VBrick VB6000 Server CSeq: 5 Session: 457f1c060d0a38e4 RTP-Info: url=trackID=11;seq=1;rtptime=1252187127,url=trackID=12;seq=1;rtptime=954164287 Is the Rtptime right? In Quicktime this video shows a black screen but you can hear the audio. In VLC both audio and video are present but are out of synch. I am new to RTSP so would appreciate any help anyone can give me in trying to solve this problem. Thank you. sts -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061212/8aae8ad4/attachment-0001.html From finlayson at live555.com Tue Dec 12 15:27:37 2006 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 12 Dec 2006 15:27:37 -0800 Subject: [Live-devel] Vbrick In-Reply-To: <78cadf9c0612121322v65d1e8aap2dc8df76c2cf131a@mail.gmail.com> References: <78cadf9c0612121322v65d1e8aap2dc8df76c2cf131a@mail.gmail.com> Message-ID: >Hi, >I am trying to use openRTSP to record a video stream from vbrick in >fedora linux. >For a quicktime stream I use the command: >openRTSP -q -f 30 -h 240 -w 320 -V rtsp://vbrick>tst.mov [...] >Is the Rtptime right? Probably - but it's not relevant here anyway. >In Quicktime this video shows a black screen but you can hear the audio. What you're doing appears correct. (Be sure, though, that you terminate "openRTSP" correctly, either by waiting for the stream to end, or using "kill -HUP" - not by -C) However, you should make sure that the specifed frame rate (30 fps) and screen dimensions (width 320, height 240) really are correct. (You can test this by playing the stream live using QuickTime Player or VLC and looking at the frame rate and screen dimensions.) > In VLC both audio and video are present but are out of synch. Try adding the "-y" option. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From drobbins at fsmlabs.com Tue Dec 12 15:37:30 2006 From: drobbins at fsmlabs.com (Daniel Robbins) Date: Tue, 12 Dec 2006 16:37:30 -0700 Subject: [Live-devel] Introducing the LIVE555 Media Server In-Reply-To: References: Message-ID: <457F3D3A.7060502@fsmlabs.com> From the announcement, it looks that trick mode support for MPEG-2 AV program or transport streams is not yet supported, but I just wanted to confirm... -Daniel Ross Finlayson wrote: > The LIVE555 Streaming Media source code release now includes code for > a new application - the "LIVE555 Media Server". This is a complete > RTSP server application, which will stream, upon request, any file > (with an appropriate file name suffix) that's present in the current > directory. > > For more information, see > http://www.live555.com/mediaServer/ > > The source code for the LIVE555 Media Server is contained in the > "mediaServer" directory. This directory must be built after the > other, 'library' directories: "groupsock", "UsageEnvironment", > "BasicUsageEnvironment", "liveMedia". (If you generated your > Makefiles using "genMakefiles", then this will happen automatically.) > > Pre-built binaries for some platforms are also available. > > Note that this initial version (0.1) of the LIVE555 Media Server is > somewhat limited in functionality. Future versions of this > application will likely have additional functionality - such as > enhanced 'trick play' support, and support for encoding/streaming live > audio/video feeds. > ------------------------------------------------------------------------ > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > From wei.francois at gmail.com Tue Dec 12 19:41:29 2006 From: wei.francois at gmail.com (=?GB2312?B?s8K2q86w?=) Date: Wed, 13 Dec 2006 11:41:29 +0800 Subject: [Live-devel] ./live555MediaServer: can't load library 'libstdc++.so.6' Message-ID: <503760b30612121941i2facd046yc53f01184a103f25@mail.gmail.com> Hi, All. I compile live555MediaServer with the cross-compiler "arm-uclibc-linux-" , then I run it on the ARM(arm926ejs), it shows "./live555MediaServer: can't load library 'libstdc++.so.6 ". Is the Makefile not correct? or some other reasons Following is the Makefile for arm: CROSS_COMPILE= arm-uclibc-linux- COMPILE_OPTS = $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -DNO_STRSTREAM=1 -D_LARGEFILE_SOURCE=1 C = c C_COMPILER = $(CROSS_COMPILE)gcc C_FLAGS = $(COMPILE_OPTS) CPP = cpp CPLUSPLUS_COMPILER = $(CROSS_COMPILE)g++ CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -DBSD=1 OBJ = o LINK = $(CROSS_COMPILE)g++ -o LINK_OPTS = -L. CONSOLE_LINK_OPTS = $(LINK_OPTS) LIBRARY_LINK = $(CROSS_COMPILE)ld -o LIBRARY_LINK_OPTS = $(LINK_OPTS) -r -Bstatic LIB_SUFFIX = a LIBS_FOR_CONSOLE_APPLICATION = LIBS_FOR_GUI_APPLICATION = EXE = -- Regards, francois_wei -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061212/8bb1cabc/attachment.html From finlayson at live555.com Wed Dec 13 00:43:29 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 13 Dec 2006 00:43:29 -0800 Subject: [Live-devel] ./live555MediaServer: can't load library 'libstdc++.so.6' In-Reply-To: <503760b30612121941i2facd046yc53f01184a103f25@mail.gmail.com> References: <503760b30612121941i2facd046yc53f01184a103f25@mail.gmail.com> Message-ID: >Hi, All. > I compile live555MediaServer with the cross-compiler >"arm-uclibc-linux-" , then I run it on the ARM(arm926ejs), it shows >"./live555MediaServer: can't load library 'libstdc++.so.6 ". Is the >Makefile not correct? or some other reasons Do you get the same problem when you try to run the "testProgs"? (I suspect so.) The problem appears to be that your cross-compiled application is dependent upon a dynamic-linked library (in this case, "libstdc++.so.6") that turns out not to be present on your ARM computer. To fix this, you'll either need to make this library available on the ARM computer, or else modify your "config." file (and then rerun "genMakefiles") so that it links the library statically rather than dynamically. You will have to figure out how to do that. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From wei.francois at gmail.com Wed Dec 13 03:02:08 2006 From: wei.francois at gmail.com (=?GB2312?B?s8K2q86w?=) Date: Wed, 13 Dec 2006 19:02:08 +0800 Subject: [Live-devel] ./live555MediaServer: can't load library 'libstdc++.so.6' In-Reply-To: References: <503760b30612121941i2facd046yc53f01184a103f25@mail.gmail.com> Message-ID: <503760b30612130302n5e89a3dco48461c5508d23523@mail.gmail.com> Hi, Ross I have solved this problem, I copy a "so" file (that the cross compile tools provides)to the /lib directory, then rename it to "'libstdc++.so.6". Then it works. But certainly, it isn't a good way . Because I don't know how to modify the config. file. I want to know how to modify the configure file in order to link the ARM Share Object, not the X86. 2006/12/13, Ross Finlayson : > > >Hi, All. > > I compile live555MediaServer with the cross-compiler > >"arm-uclibc-linux-" , then I run it on the ARM(arm926ejs), it shows > >"./live555MediaServer: can't load library 'libstdc++.so.6 ". Is the > >Makefile not correct? or some other reasons > > Do you get the same problem when you try to run the "testProgs"? (I > suspect so.) > > The problem appears to be that your cross-compiled application is > dependent upon a dynamic-linked library (in this case, > "libstdc++.so.6") that turns out not to be present on your ARM > computer. > > To fix this, you'll either need to make this library available on the > ARM computer, or else modify your "config." file (and then > rerun "genMakefiles") so that it links the library statically rather > than dynamically. You will have to figure out how to do that. > -- > > 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 > -- Regards, francois_wei -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061213/3d44e544/attachment.html From phujka at gmail.com Wed Dec 13 05:51:33 2006 From: phujka at gmail.com (Hujka Petr) Date: Wed, 13 Dec 2006 14:51:33 +0100 Subject: [Live-devel] Incoming packets Message-ID: <88b09ad40612130551p3e6c3c89kc28e4a704102e457@mail.gmail.com> Hi all, i'm trying to find out, why isn't jmf communicating with live. To do this, i would like to see incoming RTSP and outcoming packets in MediaServer. Can anyone tell me how to do this? Thx a lot. P -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061213/2eebea45/attachment.html From phujka at gmail.com Wed Dec 13 05:56:48 2006 From: phujka at gmail.com (Hujka Petr) Date: Wed, 13 Dec 2006 14:56:48 +0100 Subject: [Live-devel] LIVE555+JMF In-Reply-To: <9866ce4f0611281815x18c808f3k3daa74034bb79336@mail.gmail.com> References: <88b09ad40611280656y1021f9b5yb7ae0970ce72687f@mail.gmail.com> <9866ce4f0611281815x18c808f3k3daa74034bb79336@mail.gmail.com> Message-ID: <88b09ad40612130556w6d739157i723793351bedf22d@mail.gmail.com> Hi Scott, FMJ has currently no implementation of RTSP, so i'm trying to correct Sun's mistakes. You wrote that you allready made some corrections. Can you tell me what was wrong or even can you provide me corrected code? Thx a lot. Petr 2006/11/29, Scott Hays : > > JMF's RTSP implementation is buggy and does not support the SDP format > generated by LIVE555. Its RTP implementation has bugs > too. I hacked the RTSP code with Sun's I was pretty disappointed with it > when I was evaluating it last year, and it hasn't been updated since. > > There is an opensource project whose goal is to replace Sun's JMF > reference implementation with an opensource implementation: > http://fmj.sourceforge.net/ . I don't know about their support for > RTP/RTSP, but I'd recommend taking a look. > Hopefully their implementation will be much better than Sun's. > > Scott > > On 11/28/06, Hujka Petr wrote: > > > Hi all, > > is there anyone, who knows how to make work JMStudio as client and > > LIVE555 as streaming server? I tried to run testOnDemandRTSPServer.exewith JMstudio, but it's not working. JMStudio says that server is not > > responding. I was trying to find some solution, but i found none. Is there > > please anyone, who has some client's implementation using Java applet, which > > is working with LIVE555? > > Thanks for response. > > Petr > > > > _______________________________________________ > > live-devel mailing list > > live-devel at lists.live555.com > > http://lists.live555.com/mailman/listinfo/live-devel > > > > > > > > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061213/55ef8224/attachment.html From armandopoulos at yahoo.fr Wed Dec 13 06:47:32 2006 From: armandopoulos at yahoo.fr (Armando Ko) Date: Wed, 13 Dec 2006 14:47:32 +0000 (GMT) Subject: [Live-devel] modify the quantization Q in the source ??? Message-ID: <20061213144732.98143.qmail@web86907.mail.ukl.yahoo.com> Hi, does anybody know how i can modify the quantization Q in the Live555 for JPEG Main Header i suppose in the JPEGVideoRTPSink.cpp . if i stream and analyze the frames i remark that the actual value is Q : 255 but i want to set it down (Q: 128) and hope i can have a better image quality on the client. thanks. Armando ___________________________________________________________________________ D?couvrez une nouvelle fa?on d'obtenir des r?ponses ? toutes vos questions ! Profitez des connaissances, des opinions et des exp?riences des internautes sur Yahoo! Questions/R?ponses http://fr.answers.yahoo.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061213/17696b96/attachment-0001.html From msts06 at gmail.com Wed Dec 13 07:07:08 2006 From: msts06 at gmail.com (S ts) Date: Wed, 13 Dec 2006 10:07:08 -0500 Subject: [Live-devel] Vbrick In-Reply-To: References: <78cadf9c0612121322v65d1e8aap2dc8df76c2cf131a@mail.gmail.com> Message-ID: <78cadf9c0612130707s79c56045y1ba5af6d3091800b@mail.gmail.com> Hi, thank you for your reply. I am using kill -hup command to end the program. Tried the -y option and the sync issue gets worse. The stream when played in quick time is 352*240 at 30fps. so I changed the commend to the new dimensions but the problem is still there. Could there be a problem with the sdp? below is the sdp created by vbrick: v=0 o=- 5699360993 1 IN IP4 192.168.96.151 s=MAC0007df008ef9 Program 1 i=VBrick Streaming Video c=IN IP4 230.1.1.3/63 b=AS:1328 t=0 0 a=author:My Author a=copyright:My Copyright, 2004 a=streamID:slot1Destination1 a=tool:VBrick a=ISMA-compliance:1,1.0,1 a=mpeg4-iod: "data:application/mpeg4-iod;base64,AoIvAE//AQ/3AQOBOgABQJxkYXRhOmFwcGxpY2F0aW9uL21wZWc0LW9kLWF1O2Jhc2U2NCxBVllCS2dVZkF5WUEzaUFBYndRTklCRUJRQUFBRkNSQUFCSlBnQVlRQUVRQUFWK1FBQUFBQUNBQUFBQUFBd0VvQXA4REpBQnZBQVFOUUJVQUgwQUFBZzBBQUFIMEFBWVFBRVFBQUx1QUFBQzdnQ0FnQUFBQUF3PT0EDQEFAADIAAAAAAAAAAAGCQEAAAAAAAAAAANpAAJARmRhdGE6YXBwbGljYXRpb24vbXBlZzQtYmlmcy1hdTtiYXNlNjQsd0JBU2dUQXFCVzBtRUVIOEFBQUIvQUFBQkVLQ0tDbjQEEgINAAAUAAAAAAAAAAAFAwAAYAYJAQAAAAAAAAAA" m=video 4444/1 RTP/AVP 96 b=AS:1200 a=rtpmap:96 MP4V-ES/90000 a=control:trackID=11 a=cliprect:0,0,240,352 a=fmtp:96 profile-level-id=247;config=000001B0f7000001B50d0f0000010000000120008C5D4C285820F0A31F a=mpeg4-esid:222 m=audio 4644/1 RTP/AVP 97 b=AS:128 a=rtpmap:97 mpeg4-generic/48000/2 a=control:trackID=12 a=fmtp:97 streamtype=5; profile-level-id=15; mode=AAC-hbr; config=1190; SizeLength=13; IndexLength=3; IndexDeltaLength=3; Profile=1 a=mpeg4-esid:111 Is there something else that I could be doing wrong. Thank you again. sts On 12/12/06, Ross Finlayson wrote: > > >Hi, > >I am trying to use openRTSP to record a video stream from vbrick in > >fedora linux. > >For a quicktime stream I use the command: > >openRTSP -q -f 30 -h 240 -w 320 -V rtsp://vbrick>tst.mov > [...] > >Is the Rtptime right? > > Probably - but it's not relevant here anyway. > > >In Quicktime this video shows a black screen but you can hear the audio. > > What you're doing appears correct. (Be sure, though, that you > terminate "openRTSP" correctly, either by waiting for the stream to > end, or using "kill -HUP" - not by -C) However, you should > make sure that the specifed frame rate (30 fps) and screen dimensions > (width 320, height 240) really are correct. (You can test this by > playing the stream live using QuickTime Player or VLC and looking at > the frame rate and screen dimensions.) > > > In VLC both audio and video are present but are out of synch. > > Try adding the "-y" option. > -- > > 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/20061213/f825b3ae/attachment.html From jhansonxi at gmail.com Wed Dec 13 14:25:16 2006 From: jhansonxi at gmail.com (Jeff Hanson) Date: Wed, 13 Dec 2006 17:25:16 -0500 Subject: [Live-devel] During make: "array type has incomplete element type" in mpegaudiocommon.h Message-ID: Make generates an error during compiliation of wis-streamer (01-Nov-2006 file, with Live 2006.12.08). I'm using gcc 4.1.2 20060928 on Kubuntu 6.10 Edgy Eft and the default make files ("genMakefiles linux" for Live). My fault or ? administrator at dlhanson1:~/wis-streamer$ make g++ -c -I . -I../live/BasicUsageEnvironment/include -I../live/UsageEnvironment/include -I../live/groupsock/include -I../live/liveMedia/include -D_LINUX -g -Wall wis-streamer.cpp -o wis-streamer.o g++ -c -I . -I../live/BasicUsageEnvironment/include -I../live/UsageEnvironment/include -I../live/groupsock/include -I../live/liveMedia/include -D_LINUX -g -Wall Options.cpp -o Options.o g++ -c -I . -I../live/BasicUsageEnvironment/include -I../live/UsageEnvironment/include -I../live/groupsock/include -I../live/liveMedia/include -D_LINUX -g -Wall TV.cpp -o TV.o g++ -c -I . -I../live/BasicUsageEnvironment/include -I../live/UsageEnvironment/include -I../live/groupsock/include -I../live/liveMedia/include -D_LINUX -g -Wall Err.cpp -o Err.o g++ -c -I . -I../live/BasicUsageEnvironment/include -I../live/UsageEnvironment/include -I../live/groupsock/include -I../live/liveMedia/include -D_LINUX -g -Wall WISInput.cpp -o WISInput.o g++ -c -I . -I../live/BasicUsageEnvironment/include -I../live/UsageEnvironment/include -I../live/groupsock/include -I../live/liveMedia/include -D_LINUX -g -Wall WISServerMediaSubsession.cpp -o WISServerMediaSubsession.o g++ -c -I . -I../live/BasicUsageEnvironment/include -I../live/UsageEnvironment/include -I../live/groupsock/include -I../live/liveMedia/include -D_LINUX -g -Wall UnicastStreaming.cpp -o UnicastStreaming.o g++ -c -I . -I../live/BasicUsageEnvironment/include -I../live/UsageEnvironment/include -I../live/groupsock/include -I../live/liveMedia/include -D_LINUX -g -Wall MulticastStreaming.cpp -o MulticastStreaming.o g++ -c -I . -I../live/BasicUsageEnvironment/include -I../live/UsageEnvironment/include -I../live/groupsock/include -I../live/liveMedia/include -D_LINUX -g -Wall DarwinStreaming.cpp -o DarwinStreaming.o g++ -c -I . -I../live/BasicUsageEnvironment/include -I../live/UsageEnvironment/include -I../live/groupsock/include -I../live/liveMedia/include -D_LINUX -g -Wall AudioRTPCommon.cpp -o AudioRTPCommon.o g++ -c -I . -I../live/BasicUsageEnvironment/include -I../live/UsageEnvironment/include -I../live/groupsock/include -I../live/liveMedia/include -D_LINUX -g -Wall WISJPEGStreamSource.cpp -o WISJPEGStreamSource.o g++ -c -I . -I../live/BasicUsageEnvironment/include -I../live/UsageEnvironment/include -I../live/groupsock/include -I../live/liveMedia/include -D_LINUX -g -Wall WISJPEGVideoServerMediaSubsession.cpp -o WISJPEGVideoServerMediaSubsession.o g++ -c -I . -I../live/BasicUsageEnvironment/include -I../live/UsageEnvironment/include -I../live/groupsock/include -I../live/liveMedia/include -D_LINUX -g -Wall WISMPEG1or2VideoServerMediaSubsession.cpp -o WISMPEG1or2VideoServerMediaSubsession.o g++ -c -I . -I../live/BasicUsageEnvironment/include -I../live/UsageEnvironment/include -I../live/groupsock/include -I../live/liveMedia/include -D_LINUX -g -Wall WISMPEG4VideoServerMediaSubsession.cpp -o WISMPEG4VideoServerMediaSubsession.o g++ -c -I . -I../live/BasicUsageEnvironment/include -I../live/UsageEnvironment/include -I../live/groupsock/include -I../live/liveMedia/include -D_LINUX -g -Wall WISPCMAudioServerMediaSubsession.cpp -o WISPCMAudioServerMediaSubsession.o g++ -c -I . -I../live/BasicUsageEnvironment/include -I../live/UsageEnvironment/include -I../live/groupsock/include -I../live/liveMedia/include -D_LINUX -g -Wall MPEGAudioEncoder.cpp -o MPEGAudioEncoder.o gcc -c -I . -I../live/BasicUsageEnvironment/include -I../live/UsageEnvironment/include -I../live/groupsock/include -I../live/liveMedia/include -D_LINUX -g -Wall mpegaudio.c -o mpegaudio.o In file included from avcodec.h:15, from mpegaudio.c:25: mpegaudiocommon.h:68: error: array type has incomplete element type mpegaudiocommon.h:70: error: array type has incomplete element type make: *** [mpegaudio.o] Error 1 From mrnikhilagrawal at gmail.com Wed Dec 13 22:49:11 2006 From: mrnikhilagrawal at gmail.com (Nikhil Agrawal) Date: Thu, 14 Dec 2006 12:19:11 +0530 Subject: [Live-devel] MPEG support Message-ID: <733cde3e0612132249l30b48758g5fa08b6f505fbee5@mail.gmail.com> Hi, I tried to use testOnDemandRTSPServer application to stream test.mpg file but the server stoped ( exit(0) ) because winsock::select() function returned -1. Although all other Audio formats are working fine. Also I want to know does Windows Media Player can be used as streaming client with Live555 Server (if then how , because i couldn't) Regards, Nikhil Agrawal -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061213/99037737/attachment.html From mrnikhilagrawal at gmail.com Wed Dec 13 22:55:21 2006 From: mrnikhilagrawal at gmail.com (Nikhil Agrawal) Date: Thu, 14 Dec 2006 12:25:21 +0530 Subject: [Live-devel] Fwd: MPEG support In-Reply-To: <733cde3e0612132249l30b48758g5fa08b6f505fbee5@mail.gmail.com> References: <733cde3e0612132249l30b48758g5fa08b6f505fbee5@mail.gmail.com> Message-ID: <733cde3e0612132255yb036171ocdc1c984fcd9149a@mail.gmail.com> ---------- Forwarded message ---------- From: Nikhil Agrawal Date: Dec 14, 2006 12:19 PM Subject: MPEG support To: LIVE555 Streaming Media - development & use Hi, I tried to use testOnDemandRTSPServer application to stream test.mpg file but the server stoped ( exit(0) ) because winsock::select() function returned -1. Although all other Audio formats are working fine. Also I want to know does Windows Media Player can be used as streaming client with Live555 Server (if then how , because i couldn't) Regards, Nikhil Agrawal -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061213/56e6e2c7/attachment.html From finlayson at live555.com Thu Dec 14 07:31:11 2006 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 14 Dec 2006 05:31:11 -1000 Subject: [Live-devel] During make: "array type has incomplete element type" in mpegaudiocommon.h In-Reply-To: References: Message-ID: >Make generates an error during compiliation of wis-streamer >(01-Nov-2006 file, with Live 2006.12.08). I'm using gcc 4.1.2 >20060928 on Kubuntu 6.10 Edgy Eft and the default make files >("genMakefiles linux" for Live). My fault or ? I think you tripping over some code (in one of the header files) that probably shouldn't be there. Try removing the lines struct AVOption; #ifdef HAVE_MMX extern const struct AVOption avoptions_common[3 + 5]; #else extern const struct AVOption avoptions_common[3]; #endif extern const struct AVOption avoptions_workaround_bug[11]; from "mpegaudiocommon.h", and recompile. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Dec 14 07:51:41 2006 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 14 Dec 2006 05:51:41 -1000 Subject: [Live-devel] MPEG support In-Reply-To: <733cde3e0612132249l30b48758g5fa08b6f505fbee5@mail.gmail.com> References: <733cde3e0612132249l30b48758g5fa08b6f505fbee5@mail.gmail.com> Message-ID: >I tried to use testOnDemandRTSPServer application to stream test.mpg >file but the server stoped ( exit(0) ) because winsock::select() >function returned -1. Although all other Audio formats are working >fine. Are you running an old version of Windows? You may be running into this problem http://www.live555.com/liveMedia/faq.html#select-no-error > >Also I want to know does Windows Media Player can be used as >streaming client with Live555 Server (if then how , because i >couldn't) Windows Media Player is not standards compliant. Use VLC instead. -- 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/20061214/9128af06/attachment.html From kurutepe at nue.tu-berlin.de Thu Dec 14 08:03:55 2006 From: kurutepe at nue.tu-berlin.de (Engin Kurutepe) Date: Thu, 14 Dec 2006 17:03:55 +0100 Subject: [Live-devel] H.264 Stream Framer Subclass In-Reply-To: <733cde3e0612132249l30b48758g5fa08b6f505fbee5@mail.gmail.com> References: <733cde3e0612132249l30b48758g5fa08b6f505fbee5@mail.gmail.com> Message-ID: <458175EB.6010509@nue.tu-berlin.de> Hello all, The FAQ states that a subclass of the H264VideoStreamFramer must be implemented in order to provide NALU's to the H264VideoRTPSink. The H264VideoStreamFramer source states that subclasses must define the virtual currentNALUnitEndsAccessUnit function. But obviously this is not sufficient. As far as I can tell at least doGetNextFrame must be implemented as well. So, are there other functions that should be implemented besides those two? In other words, what are the necessary and sufficient functions the subclass needs to implement? Thanks, Engin Kurutepe. From xcsmith at rockwellcollins.com Thu Dec 14 09:56:45 2006 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Thu, 14 Dec 2006 11:56:45 -0600 Subject: [Live-devel] RTSPClient::getResponse1() is blocking. Message-ID: I want to change RTSPClient so that it no longer blocks in getResponse1(). I have created a new member variable "struct timeval* fResponseTimeout" which is initialized to NULL. I added a function to allow the user to set the timeout. Now fResponseTimeout is passed as a parameter to readSocket() in RTSPClient::getResponse1(). Also, I changed the call to setupStreamSocket() in RTSPClient::openConnectionFromURL() to try to make the socket non-blocking. I have my own client inherited from RTSPClient, but I think the change is not special to what I am doing and so it should belong in the parent. My child class has its own incomingResponseHandler1() function, so I didn't check if this change breaks the parent incomingResponseHanlder1(). So, my main questions are: 1.) Did I miss anything, or do i have the wrong idea? 2.) Most importantly, what do you recommend for a good timeout on the socket read? Thanks! Xochitl From qolson at posappliance.com Thu Dec 14 12:31:21 2006 From: qolson at posappliance.com (Quentin Olson) Date: Thu, 14 Dec 2006 12:31:21 -0800 Subject: [Live-devel] Stream H.264 Message-ID: <1166128282.3210.10.camel@dhcppc5> Are any of the servers/examples in this project capable of streaming H.264? Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061214/456d5e7f/attachment.html From finlayson at live555.com Thu Dec 14 12:46:24 2006 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 14 Dec 2006 10:46:24 -1000 Subject: [Live-devel] Stream H.264 In-Reply-To: <1166128282.3210.10.camel@dhcppc5> References: <1166128282.3210.10.camel@dhcppc5> Message-ID: >Are any of the servers/examples in this project capable of streaming H.264? The library code supports streaming H.264, although none of the demo applications do. Please read the FAQ to see why. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Dec 14 13:03:39 2006 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 14 Dec 2006 11:03:39 -1000 Subject: [Live-devel] Introducing the LIVE555 Media Server In-Reply-To: <457F3D3A.7060502@fsmlabs.com> References: <457F3D3A.7060502@fsmlabs.com> Message-ID: > From the announcement, it looks that trick mode support for MPEG-2 AV >program or transport streams is not yet supported, but I just wanted to >confirm... No, server 'trick mode' support for Transport Streams is not yet supported, but will be supported around the end of the month. (I will post a message to the mailing list when this is ready.) There are no immediate plans to provide server 'trick mode' support (beyond seeking, which is already partially supported) for Program Streams. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Dec 14 13:08:01 2006 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 14 Dec 2006 11:08:01 -1000 Subject: [Live-devel] H.264 Stream Framer Subclass In-Reply-To: <458175EB.6010509@nue.tu-berlin.de> References: <733cde3e0612132249l30b48758g5fa08b6f505fbee5@mail.gmail.com> <458175EB.6010509@nue.tu-berlin.de> Message-ID: >Hello all, > >The FAQ states that a subclass of the H264VideoStreamFramer must be >implemented in order to provide NALU's to the H264VideoRTPSink. > >The H264VideoStreamFramer source states that subclasses must define the >virtual currentNALUnitEndsAccessUnit function. > >But obviously this is not sufficient. As far as I can tell at least >doGetNextFrame must be implemented as well. > >So, are there other functions that should be implemented besides those >two? In other words, what are the necessary and sufficient functions the >subclass needs to implement? The "necessary and sufficient" member functions are those that are declared 'pure virtual' in superclasses - i.e., the two functions that you mentioned. For hints on how to implement "doGetNextFrame()", see "liveMedia/DeviceSource.cpp" (and the numerous examples in the code). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Dec 14 13:12:43 2006 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 14 Dec 2006 11:12:43 -1000 Subject: [Live-devel] Vbrick In-Reply-To: <78cadf9c0612130707s79c56045y1ba5af6d3091800b@mail.gmail.com> References: <78cadf9c0612121322v65d1e8aap2dc8df76c2cf131a@mail.gmail.com> <78cadf9c0612130707s79c56045y1ba5af6d3091800b@mail.gmail.com> Message-ID: >Hi, >thank you for your reply. >I am using kill -hup command to end the program. Tried the -y option >and the sync issue gets worse. >The stream when played in quick time is 352*240 at 30fps. so I >changed the commend to the new dimensions but the problem is still >there. >Could there be a problem with the sdp? No, the SDP is OK, as far as I can tell. "openRTSP" is correctly receiving the audio and video RTP streams. The problem is basically that the ".mov" (and ".mp4") file format was poorly designed for the purpose of recording incoming streams. As far as I can tell, nothing can be done about this; openRTSP is doing the best it can. (I don't know why you're getting bad a/v/ sync with "-y"; if your server is sending proper RTCP packets, then this should be working.) Sorry I can't help you more. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From kurutepe at nue.tu-berlin.de Thu Dec 14 13:58:34 2006 From: kurutepe at nue.tu-berlin.de (Engin Kurutepe) Date: Thu, 14 Dec 2006 22:58:34 +0100 Subject: [Live-devel] H.264 Stream Framer Subclass In-Reply-To: References: <733cde3e0612132249l30b48758g5fa08b6f505fbee5@mail.gmail.com> <458175EB.6010509@nue.tu-berlin.de> Message-ID: thank you very much. cheers, engin. On 14.12.2006, at 22:08, Ross Finlayson wrote: >> Hello all, >> >> The FAQ states that a subclass of the H264VideoStreamFramer must be >> implemented in order to provide NALU's to the H264VideoRTPSink. >> >> The H264VideoStreamFramer source states that subclasses must >> define the >> virtual currentNALUnitEndsAccessUnit function. >> >> But obviously this is not sufficient. As far as I can tell at least >> doGetNextFrame must be implemented as well. >> >> So, are there other functions that should be implemented besides >> those >> two? In other words, what are the necessary and sufficient >> functions the >> subclass needs to implement? > > The "necessary and sufficient" member functions are those that are > declared 'pure virtual' in superclasses - i.e., the two functions > that you mentioned. > > For hints on how to implement "doGetNextFrame()", see > "liveMedia/DeviceSource.cpp" (and the numerous examples in the code). > -- > > Ross Finlayson > Live Networks, Inc. > http://www.live555.com/ > _______________________________________________ > live-devel mailing list > live-devel at lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel > From PHarper at c-cor.com Fri Dec 15 13:15:40 2006 From: PHarper at c-cor.com (Harper, Paul) Date: Fri, 15 Dec 2006 13:15:40 -0800 Subject: [Live-devel] Patch Submission? Message-ID: Hello, I have created a patch to liveMedia that I would like to submit for consideration that adds support for nCUBE/C-COR RTSP servers. I looked through the web site and FAQ but didn't see information on how to submit a patch. Should I simply attach the patch file to a mail sent to this list? Thanks in advance, Paul Harper Software Engineer Meeting the demands of an on demand world C-COR Incorporated 1825 N.W. 167th Place Beaverton, Oregon 97006 Phone 503 531 6438 Fax 503 645 1737 E-mail pharper at c-cor.com Web http://www.c-cor.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061215/eaebd7fa/attachment.html -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/gif Size: 1176 bytes Desc: ccorlogo.gif Url : http://lists.live555.com/pipermail/live-devel/attachments/20061215/eaebd7fa/attachment.gif From finlayson at live555.com Fri Dec 15 13:45:52 2006 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 15 Dec 2006 11:45:52 -1000 Subject: [Live-devel] Patch Submission? In-Reply-To: References: Message-ID: >Content-class: urn:content-classes:message >Content-Type: multipart/related; type="multipart/alternative"; > boundary="----_=_NextPart_001_01C7208E.2C8DB8DE" > >Hello, > >I have created a patch to liveMedia that I would like to submit for >consideration that adds support for nCUBE/C-COR RTSP servers. I >looked through the web site and FAQ but didn't see information on >how to submit a patch. Should I simply attach the patch file to a >mail sent to this list? Yes, please do. -- 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/20061215/18a005a1/attachment.html From PHarper at c-cor.com Fri Dec 15 14:26:05 2006 From: PHarper at c-cor.com (Harper, Paul) Date: Fri, 15 Dec 2006 14:26:05 -0800 Subject: [Live-devel] Patch to liveMedia for Consideration Message-ID: Attached is a patch file to liveMedia that I would like to submit for consideration. It allows liveMedia to initiate an RTSP session on an nCUBE/C-COR video server. The code that was added is similar to the code currently in place for Kasenna and Microsoft. Paul Harper Software Engineer Meeting the demands of an on demand world C-COR Incorporated 1825 N.W. 167th Place Beaverton, Oregon 97006 Phone 503 531 6438 Fax 503 645 1737 E-mail pharper at c-cor.com Web http://www.c-cor.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061215/f767b598/attachment-0001.html -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/gif Size: 1176 bytes Desc: ccorlogo.gif Url : http://lists.live555.com/pipermail/live-devel/attachments/20061215/f767b598/attachment-0001.gif -------------- next part -------------- A non-text attachment was scrubbed... Name: live.patch Type: application/octet-stream Size: 4685 bytes Desc: live.patch Url : http://lists.live555.com/pipermail/live-devel/attachments/20061215/f767b598/attachment-0001.obj From wei.francois at gmail.com Sun Dec 17 04:48:17 2006 From: wei.francois at gmail.com (=?GB2312?B?s8K2q86w?=) Date: Sun, 17 Dec 2006 20:48:17 +0800 Subject: [Live-devel] live555mediaServer for H.264 Message-ID: <503760b30612170448i7ef127d8o911bfbb84db23c0b@mail.gmail.com> Hi, Alls How to make the live555mediaServer stream the H.264 live video to client or play a H.264 file in the server? -- Regards, francois_wei -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061217/93199ed2/attachment.html From hemwire at gmail.com Mon Dec 18 00:36:02 2006 From: hemwire at gmail.com (Hemanth Kumar) Date: Mon, 18 Dec 2006 08:36:02 +0000 Subject: [Live-devel] full list of files Message-ID: Hi All , I was trying get the all the files from streaming server from console in linux openRTSP rtsp://192.168.1.93/* it is giveing me an error saying Failed to get a SDP description from URL "rtsp://192.168.1.93/*": cannot handle DESCRIBE response: RTSP/1.0 404 Not Found Can we modify the code in openRTSP.cpp getSDPDescriptionFromURL() is this the function which we need to modify or we need to modify any other .cpp files for it can somebody please guide me Regards, Hemanth -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061218/7fc0a23e/attachment.html From kurutepe at nue.tu-berlin.de Mon Dec 18 07:49:53 2006 From: kurutepe at nue.tu-berlin.de (Engin Kurutepe) Date: Mon, 18 Dec 2006 16:49:53 +0100 Subject: [Live-devel] Several video streams to single RTP sink? Message-ID: <4586B8A1.7070208@nue.tu-berlin.de> Hello All, I am in the process of implementing an RTSP server which will serve several streams to clients, such that each client will receive a selected subset of all available streams on demand. I'm writing a class which contains the framed file sources and video stream framers and handles the synchronization between selected streams. My problem is this: should all these parallel streams be fed into a single RTP sink or should each stream have its own sink? thanks, Engin Kurutepe. From xcsmith at rockwellcollins.com Mon Dec 18 08:00:02 2006 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Mon, 18 Dec 2006 10:00:02 -0600 Subject: [Live-devel] full list of files Message-ID: I was trying get the all the files from streaming server from console in linux openRTSP rtsp://192.168.1.93/* it is giveing me an error saying Failed to get a SDP description from URL "rtsp://192.168.1.93 /*": cannot handle DESCRIBE response: RTSP/1.0 404 Not Found RTSP does not support a method by which to obtain a full list of files. If you want a full list of files you will have to use something other protocol. Also, I believe the "*" has a special meaning in RTSP, so cannot be used as you suggest. You can look at sections 6.2 and C.1.1 of RFC2326 for information on the asterisk. Ross can probably tell you whether or not the "*" tends to be used as documented. Xochitl From brainlai at gmail.com Mon Dec 18 18:36:22 2006 From: brainlai at gmail.com (Brain Lai) Date: Tue, 19 Dec 2006 10:36:22 +0800 Subject: [Live-devel] Why not skip(or drop) the remaining packets of a truncated frame? Message-ID: Dear Sir: In MultiFramedRTPSource.cpp, I note if the provided SubsessionIOState::fBuffer is not large enough to hold a complelte frame, the MultiFramedRTPSource will call its afterGetting() to deliver the truncated frame due to fNumTruncatedBytes > 0. However, the remaining packets of this frame is not skipped or dropped but delivered as the next frame with the same timestamp. Is it acceptable in reality? I am trying to record MPEG4 frames and feels a little bit strange... Brain Lai -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061218/d64f4fb5/attachment.html From gxichun at 163.com Mon Dec 18 19:29:18 2006 From: gxichun at 163.com (gxichun at 163.com) Date: Tue, 19 Dec 2006 11:29:18 +0800 (CST) Subject: [Live-devel] How to test the RTSP Multicast server ? Message-ID: <45875C8E.000117.18119@bj163app48.163.com> I want to test the multicast RTSP server with the third-part tools ,eg.RealPlayer or Mplayer ,etc. When I started up the testMpeg1or2VideoStreamer programs in the command-line environment, oh!the system outputs the running information correctly,but when I open the url and receive the RTSP stream with the Mplayer,problem is comming. I didn't know how to do next. Some individual information about my Operating System : RedHat 9.0 with 2.4.20-8 Kernel No Router in the Lan except an ADSL Modem and an 8-ports Switch Playing url I used on Mplayer : rtsp://239.255.42.42:8888 (correctly?) ################################################################ Puzzle: What's wrong with me? Hardware ,software or others? perhaps this test programme is not suit for my lan? Can't local machine receive the multicast stream?or can't the multicast stream be forwarded because no router support in my lan ? but all I did happened on a same local host,it seems that router is useless. Any advice is great! thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061218/af20f32a/attachment.html From mrnikhilagrawal at gmail.com Mon Dec 18 22:55:03 2006 From: mrnikhilagrawal at gmail.com (Nikhil Agrawal) Date: Tue, 19 Dec 2006 12:25:03 +0530 Subject: [Live-devel] Regarding testOnDemandRTSPServer Message-ID: <733cde3e0612182255n99e49f7ie89bd17df53a3bc1@mail.gmail.com> Hi all. I am using testOnDemandRTSPServer application for streaming. I have 5 .Wav files to stream , so am i need to create 5 ServerMediaSession objects for each input file , means 1000 SMS objects for 1000 files streaming? I tried to create single ServerMediaSession object and created 5 ServerMedioaSubSession Objects for each input file and added all in one ServerMediaSession object. Doing this when a request from client arrives SET_UP Packet for all 5 files(track1, track2....) comes and it eventually it shows loading on real player but unable to play. Please tell me what can i do if i want to stream 100's 1000's of files. Regards, Nikhil Agrawal -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061218/4fd62a1c/attachment.html From mrnikhilagrawal at gmail.com Mon Dec 18 22:55:03 2006 From: mrnikhilagrawal at gmail.com (Nikhil Agrawal) Date: Tue, 19 Dec 2006 12:25:03 +0530 Subject: [Live-devel] Regarding testOnDemandRTSPServer Message-ID: <733cde3e0612182255n99e49f7ie89bd17df53a3bc1@mail.gmail.com> Hi all. I am using testOnDemandRTSPServer application for streaming. I have 5 .Wav files to stream , so am i need to create 5 ServerMediaSession objects for each input file , means 1000 SMS objects for 1000 files streaming? I tried to create single ServerMediaSession object and created 5 ServerMedioaSubSession Objects for each input file and added all in one ServerMediaSession object. Doing this when a request from client arrives SET_UP Packet for all 5 files(track1, track2....) comes and it eventually it shows loading on real player but unable to play. Please tell me what can i do if i want to stream 100's 1000's of files. Regards, Nikhil Agrawal -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061218/4fd62a1c/attachment-0001.html From finlayson at live555.com Tue Dec 19 00:54:54 2006 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 18 Dec 2006 22:54:54 -1000 Subject: [Live-devel] How to test the RTSP Multicast server ? In-Reply-To: <45875C8E.000117.18119@bj163app48.163.com> References: <45875C8E.000117.18119@bj163app48.163.com> Message-ID: >I want to test the multicast RTSP server with the third-part tools >,eg.RealPlayer or Mplayer ,etc. RealPlayer is a sick joke - it has been broken for years. MPlayer will work. but you must build it to use the LIVE555 Streaming Media software. Instead, I suggest using VLC: . You can download pre-built binary versions, that have the LIVE555 Streaming Media software built in. This should be able to play streams from the LIVE555 RTSP server. -- 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/20061219/691ed86f/attachment-0001.html From ruru605 at 163.com Tue Dec 19 02:30:46 2006 From: ruru605 at 163.com (ruru605) Date: Tue, 19 Dec 2006 19:30:46 +0900 Subject: [Live-devel] Need help,thanks Message-ID: <200612191930425158743@163.com> Hello, I am a student who just begin learning rtp, rtcp.... I have some questions to ask and hope that you can help me. 1. How can I change the rtp transportation speed? 2. After receiving RR, there must be some adjustment for rtp transportation but I can not find them. I only found the function: noteIncomingRR inside of RTPSink.cpp but it only update some parameters. Thanks very much. Best regards ru ruru605 2006-12-19 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061219/0342dab7/attachment.html From hemwire at gmail.com Tue Dec 19 03:38:59 2006 From: hemwire at gmail.com (Hemanth Kumar) Date: Tue, 19 Dec 2006 11:38:59 +0000 Subject: [Live-devel] full list of files Message-ID: Hi All, I was trying get the all the files from streaming server from console in linux openRTSP rtsp://192.168.1.93/* it is giveing me an error saying Failed to get a SDP description from URL "rtsp://192.168.1.93 /*": cannot handle DESCRIBE response: RTSP/1.0 404 Not Found RTSP does not support a method by which to obtain a full list of files. If you want a full list of files you will have to use something other protocol. Also, I believe the "*" has a special meaning in RTSP, so cannot be used as you suggest. You can look at sections 6.2 and C.1.1 of RFC2326 for information on the asterisk. Ross can probably tell you whether or not the "*" tends to be used as documented. Xochitl Sorry for asking the question again , Can we have "*" wildcard in the describe command will then cause multiple "i=" lines, each is a title to an item on the server. After each "i=" line will be one or more "a=" attribute lines for the file. I'm expecting X-filename: and metadata: strings returned for each file, maybe others. So the "i" line is the title of a new item, and each "a" line is an attribute about that item. Finding a new "i" line means to start a new item with that title string.Those returned items and and the filename and the metadata strings I need put into a list. the metadata can be a pretty long string. A new line separates each line. v=0 s=Storage Server Test c=IN IP4 192.168.1.93 t=0 0m=video 0 RTP/AVP 33 i="Ysong" a=X-filename:1 a=metadata:{value,"pair"} i="Csong" a=X-filename:2 a=metadata:{value,"pair"} Regards. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061219/e8a4d048/attachment.html From mrnikhilagrawal at gmail.com Tue Dec 19 04:12:28 2006 From: mrnikhilagrawal at gmail.com (Nikhil Agrawal) Date: Tue, 19 Dec 2006 17:42:28 +0530 Subject: [Live-devel] Regarding multichannel payload type Message-ID: <733cde3e0612190412o3388a09apcc02d7bcbb96ac3b@mail.gmail.com> Hi, I am trying to stream a 6 channel wav file using testOnDemandRTSPServer application with some changes in WAVAudioMediaFileSource.cpp to handle multichannel file. Ijust want to know in payload type format , what value should i use instead of 10 or 11 which are user for single or dual channel file streaming. Regards, Nikhil Agrawal -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061219/b87d78dd/attachment.html From mrnikhilagrawal at gmail.com Tue Dec 19 04:12:28 2006 From: mrnikhilagrawal at gmail.com (Nikhil Agrawal) Date: Tue, 19 Dec 2006 17:42:28 +0530 Subject: [Live-devel] Regarding multichannel payload type Message-ID: <733cde3e0612190412o3388a09apcc02d7bcbb96ac3b@mail.gmail.com> Hi, I am trying to stream a 6 channel wav file using testOnDemandRTSPServer application with some changes in WAVAudioMediaFileSource.cpp to handle multichannel file. Ijust want to know in payload type format , what value should i use instead of 10 or 11 which are user for single or dual channel file streaming. Regards, Nikhil Agrawal -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061219/b87d78dd/attachment-0001.html From finlayson at live555.com Tue Dec 19 04:30:41 2006 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 19 Dec 2006 02:30:41 -1000 Subject: [Live-devel] full list of files In-Reply-To: References: Message-ID: > Sorry for asking the question again , Can we have "*" >wildcard in the describe command will then cause multiple "i=" >lines, each is a title to an item on the server. No, because the RTSP standard (RFC 2326) does not support this. -- 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/20061219/39e449c7/attachment.html From ymreddy at ssdi.sharp.co.in Tue Dec 19 06:50:33 2006 From: ymreddy at ssdi.sharp.co.in (Mallikharjuna Reddy (NAVT)) Date: Tue, 19 Dec 2006 20:20:33 +0530 Subject: [Live-devel] Use of fBank buffers Message-ID: <7FB4685EA93D014C8E30AA087B66E7520337D108@ssdimailsrvnt01.ssdi.sharp.co.in> Hi Everybody, We are using RTP server and client test programs to stream MPEG II files. On the server side, we observed that it uses two bank buffers fBANK[0] and fBANK[1]. It reads BANK_SIZE of data into fBANK[0] and after parsing and sending the data to the client, it swaps the remaining data from fBANK[0] into fBANK[1] and reads BANK_SIZE of data into fBANK[1]. Any idea why to use two buffers instead of single buffer. Also it is observed that for PS streams, it uses four bank buffers. Any idea why these four buffers are used. Thanks and Regards Y. Mallikharjuna Reddy From TAYK0004 at ntu.edu.sg Tue Dec 19 10:23:00 2006 From: TAYK0004 at ntu.edu.sg (#TAY KOON HWEE#) Date: Wed, 20 Dec 2006 02:23:00 +0800 Subject: [Live-devel] Precompiled Libraries Message-ID: <438567054C073949AEBE5A28B83E7DE133FC7F@MAIL21.student.main.ntu.edu.sg> To anyone who can help, this may be a noob question. I justed started on Visual C++ programming and one of the assignment is to stream live video and audio from PC to a PDA. Question 1: Other than the .cpp files, are there precompiled libraries (.lib) to download? I may only need to customise a few of the .cpp and used the others so it will be easier for me to include the .lib files. Question 2: If no .lib files available, how do we build them with the .cpp files (please forgive me if I sound noob cos I just started on doing Visual C++ programming without any prior programming experience) Many thanks in advance. Kunhui -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061219/bef19c40/attachment.html From xcsmith at rockwellcollins.com Tue Dec 19 10:48:18 2006 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Tue, 19 Dec 2006 12:48:18 -0600 Subject: [Live-devel] How to test the RTSP Multicast server ? Message-ID: When I started up the testMpeg1or2VideoStreamer programs in the command-line environment, oh!the system outputs the running information correctly,but when I open the url and receive the RTSP stream with the Playing url I used on Mplayer : rtsp://239.255.42.42:8888 (correctly?) Re: I don't think you're using the correct RTSP URL. Make sure you are building testMPEG1or2VideoStreamer with IMPLEMENT_RTSP_SERVER defined. testMPEG1or2VideoStreamer should print the correct URL for you when you run it. If the URL is not printed, then you are not building it with RTSP support. A correct URL would look like this: rtsp://:/. You have ommitted the stream Name, and you are using the multicast destination and port for the server address and port. Ex: "rtsp://127.0.0.1:554/testStream" Xochitl From xcsmith at rockwellcollins.com Tue Dec 19 11:11:27 2006 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Tue, 19 Dec 2006 13:11:27 -0600 Subject: [Live-devel] RTSP Server->Client message Message-ID: Can anyone offer advice on how to write a test program which will activate RTSPClient::incomingRequestHandler()? Thanks! Xochitl From xcsmith at rockwellcollins.com Tue Dec 19 11:35:17 2006 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Tue, 19 Dec 2006 13:35:17 -0600 Subject: [Live-devel] Precompiled Libraries Message-ID: Question 1: Other than the .cpp files, are there precompiled libraries (.lib) to download? I may only need to customise a few of the .cpp and used the others so it will be easier for me to include the .lib files. Re: No, I don't think there are any precompiled libraries available. You should build the libraries yourself for whichever Operating System you want to use. If you customize any .cpp files, you will want to rebuild the library anyway to incorporate your changes. Question 2: If no .lib files available, how do we build them with the .cpp files (please forgive me if I sound noob cos I just started on doing Visual C++ programming without any prior programming experience) Re: http://www.live555.com/liveMedia/#config-windows, http://www.live555.com/liveMedia/#config-unix Xochitl From yunjnz at yahoo.com Wed Dec 20 02:28:00 2006 From: yunjnz at yahoo.com (Sean) Date: Wed, 20 Dec 2006 02:28:00 -0800 (PST) Subject: [Live-devel] How does Live555 notify the ending of the streaming Message-ID: <173611.78529.qm@web35811.mail.mud.yahoo.com> Greetings, I'm using Live555 developing a RTSP client and meet two problems: 1) How does live555 notify the end of the streaming to Client? 2) How does Live555 implement KeepAlive RTCP? Can anyone help me? Thanks a lot. Sean. __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From mrnikhilagrawal at gmail.com Wed Dec 20 02:54:41 2006 From: mrnikhilagrawal at gmail.com (Nikhil Agrawal) Date: Wed, 20 Dec 2006 16:24:41 +0530 Subject: [Live-devel] Fwd: Regarding multichannel payload type In-Reply-To: <733cde3e0612190412o3388a09apcc02d7bcbb96ac3b@mail.gmail.com> References: <733cde3e0612190412o3388a09apcc02d7bcbb96ac3b@mail.gmail.com> Message-ID: <733cde3e0612200254x25d5e4a4p2af6caab51871717@mail.gmail.com> ---------- Forwarded message ---------- From: Nikhil Agrawal Date: Dec 19, 2006 5:42 PM Subject: Regarding multichannel payload type To: live-devel at lists.live555.com, LIVE555 Streaming Media - development & use Hi, I am trying to stream a 6 channel wav file using testOnDemandRTSPServer application with some changes in WAVAudioMediaFileSource.cpp to handle multichannel file. Ijust want to know in payload type format , what value should i use instead of 10 or 11 which are user for single or dual channel file streaming. Regards, Nikhil Agrawal -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061220/2a08d18e/attachment.html From xcsmith at rockwellcollins.com Wed Dec 20 07:31:47 2006 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Wed, 20 Dec 2006 09:31:47 -0600 Subject: [Live-devel] Fwd: Regarding multichannel payload type Message-ID: I am trying to stream a 6 channel wav file using testOnDemandRTSPServer application with some changes in WAVAudioMediaFileSource.cpp to handle multichannel file. Ijust want to know in payload type format , what value should i use instead of 10 or 11 which are user for single or dual channel file streaming. Re: If VLC can play the file, you might try to use VLC as an RTSP server and openRTSP (with -V) and see how VLC creates the SDP. You might also try asking on the VLC mail list. In RFC 1889 (RTP/RTCP http://tools.ietf.org/html/rfc1889), page 10 references a side document for information on payload type. Here is a PDF link that I found; the link in the RFC is broken: http://www.potaroo.net/cgi-bin/id2pdf?f1=draft%2dietf%2davt%2dprofile%2d06%2etxt found on http://www.potaroo.net/ietf/idref/draft-ietf-avt-profile/ Page 14 of the PDF has a table with RTP payload types. You could search out the latest version of this document and see if your WAV even has a payload type registered. Xochitl From wweng at kencast.com Wed Dec 20 14:03:39 2006 From: wweng at kencast.com (Wei Weng) Date: Wed, 20 Dec 2006 17:03:39 -0500 Subject: [Live-devel] Problem with Amino set-top box. Message-ID: <1166652219.22449.13.camel@localhost.localdomain> Hi, I am working on a project that requires to get Amino set-top box to work with live media server via RTSP. I can stream the mpeg files from VLC client via RTSP, by using the URL: rtsp://192.168.1.180:8554/test.mpeg (Meaning my live555MediaServer binary has no problem) I compiled liveMediaServer with DEBUG flag, and I can see the sequences of RTSP commands VLC client sent to the live555MediaServer is : OPTIONS, DESCRIBE, SETUP, PLAY... TEARDOWN. But when I tried the same thing with Amino box, it seems that the RTSP commands Amino box sent to the liveMediaServer is the only : SETUP rtsp://rtsp://192.168.1.180:8554/test.mpeg RTSP/1.0. (And since the SETUP was not followed by a track , the above command failed at the server end) What is the trick here? How do I get Amino box to work with Live? (I have the RTPS client set to ncube as well) Thanks! Wei From finlayson at live555.com Wed Dec 20 15:42:27 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 20 Dec 2006 13:42:27 -1000 Subject: [Live-devel] Problem with Amino set-top box. In-Reply-To: <1166652219.22449.13.camel@localhost.localdomain> References: <1166652219.22449.13.camel@localhost.localdomain> Message-ID: >What is the trick here? How do I get Amino box to work with Live? Note that the Amino set-top box can play only MPEG Transport Stream data - not MPEG Program Stream data (or anything else). Therefore, your original file must be a Transport Stream file. If you have a MPEG Transport Stream file - whose picture is the appropriate dimensions to be displayed by the Amino STB - then you can stream it, using either "testOnDemandRTSPServer" (filename "test.ts") or "live555MediaServer" (filename .ts) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From wweng at kencast.com Wed Dec 20 16:17:32 2006 From: wweng at kencast.com (Wei Weng) Date: Wed, 20 Dec 2006 19:17:32 -0500 Subject: [Live-devel] Problem with Amino set-top box. In-Reply-To: References: <1166652219.22449.13.camel@localhost.localdomain> Message-ID: <1166660252.26594.4.camel@localhost.localdomain> On Wed, 2006-12-20 at 13:42 -1000, Ross Finlayson wrote: > >What is the trick here? How do I get Amino box to work with Live? > > Note that the Amino set-top box can play only MPEG Transport Stream > data - not MPEG Program Stream data (or anything else). Therefore, > your original file must be a Transport Stream file. > > If you have a MPEG Transport Stream file - whose picture is the > appropriate dimensions to be displayed by the Amino STB - then you > can stream it, using either "testOnDemandRTSPServer" (filename > "test.ts") or "live555MediaServer" (filename .ts) Ahhhhhh, Thanks a lot for the tip! I am thinking about using VLC to initially read from the mpeg file (the file format would be .mpeg) and stream it out with TS format, my question would be "Is there anyway to take the streaming output from VLC server and pipe it through LiveMediaServer?" Thanks Wei From finlayson at live555.com Wed Dec 20 16:15:40 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 20 Dec 2006 14:15:40 -1000 Subject: [Live-devel] How does Live555 notify the ending of the streaming In-Reply-To: <173611.78529.qm@web35811.mail.mud.yahoo.com> References: <173611.78529.qm@web35811.mail.mud.yahoo.com> Message-ID: >I'm using Live555 developing a RTSP client I hope you're using the "openRTSP" and "VLC" (file: "live555.cpp") code as a model. >1) How does live555 notify the end of the streaming to >Client? The client can set up a function to be called whenever a RTCP "BYE" packet arrives from the server. See the calls to "setByeHandler()" in the "openRTSP" and "VLC" code. >2) How does Live555 implement KeepAlive RTCP? Simply by creating a "RTCPInstance" object for each "RTPSource". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Dec 20 16:31:48 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 20 Dec 2006 14:31:48 -1000 Subject: [Live-devel] Regarding multichannel payload type In-Reply-To: <733cde3e0612190412o3388a09apcc02d7bcbb96ac3b@mail.gmail.com> References: <733cde3e0612190412o3388a09apcc02d7bcbb96ac3b@mail.gmail.com> Message-ID: >Hi, > >I am trying to stream a 6 channel wav file using >testOnDemandRTSPServer application with some changes in >WAVAudioMediaFileSource.cpp to handle multichannel file. Ijust want >to know in payload type format , what value should i use instead of >10 or 11 which are user for single or dual channel file streaming. Because you posted the same question to the mailing list three times, you are now banned from posting any further questions to the list. To answer your question: Because you are using other than 1 or 2 audio channels, you cannot use the static payload type code 10 or 11. Instead, you must use a dynamic payload format code - one >= 96. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Dec 20 16:28:53 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 20 Dec 2006 14:28:53 -1000 Subject: [Live-devel] Problem with Amino set-top box. In-Reply-To: <1166660252.26594.4.camel@localhost.localdomain> References: <1166652219.22449.13.camel@localhost.localdomain> <1166660252.26594.4.camel@localhost.localdomain> Message-ID: >On Wed, 2006-12-20 at 13:42 -1000, Ross Finlayson wrote: >> >What is the trick here? How do I get Amino box to work with Live? >> >> Note that the Amino set-top box can play only MPEG Transport Stream >> data - not MPEG Program Stream data (or anything else). Therefore, >> your original file must be a Transport Stream file. >> >> If you have a MPEG Transport Stream file - whose picture is the >> appropriate dimensions to be displayed by the Amino STB - then you >> can stream it, using either "testOnDemandRTSPServer" (filename >> "test.ts") or "live555MediaServer" (filename .ts) > >Ahhhhhh, Thanks a lot for the tip! > >I am thinking about using VLC to initially read from the mpeg file (the >file format would be .mpeg) and stream it out with TS format, my >question would be "Is there anyway to take the streaming output from VLC >server and pipe it through LiveMediaServer?" No, not really, However, I instead suggest that you use the "testMPEG1or2ProgramToTransportStream" application (distributed in the "testProgs" directory) to convert your Program Stream file to a Transport Stream file. You can then stream this (using our RTSP server applications) to an Amino STB. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Dec 20 16:34:25 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 20 Dec 2006 14:34:25 -1000 Subject: [Live-devel] Fwd: Regarding multichannel payload type In-Reply-To: References: Message-ID: >Re: If VLC can play the file, you might try to use VLC as an RTSP server I don't recommend using VLC as a RTSP server. It (unlike its RTSP client implementation) currently does not use the "LIVE555 Streaming Media" code, and is missing several important features (e.g., RTCP, trick play) that our server code already implements (or will shortly). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Dec 20 16:37:20 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 20 Dec 2006 14:37:20 -1000 Subject: [Live-devel] Regarding testOnDemandRTSPServer In-Reply-To: <733cde3e0612182255n99e49f7ie89bd17df53a3bc1@mail.gmail.com> References: <733cde3e0612182255n99e49f7ie89bd17df53a3bc1@mail.gmail.com> Message-ID: >I am using testOnDemandRTSPServer application for streaming. I have >5 .Wav files to stream , so am i need to create 5 ServerMediaSession >objects for each input file , means 1000 SMS objects for 1000 files >streaming? Instead, use the "LIVE555 Media Server": It was designed for this purpose: streaming from an arbitrary number of existing files. (The "ServerMediaSession" objects are created, on demand, for each incoming client request.) > I tried to create single ServerMediaSession object and created 5 >ServerMedioaSubSession Objects for each input file and added all in >one ServerMediaSession object. Doing this when a request from client >arrives SET_UP Packet for all 5 files(track1, track2....) comes and >it eventually it shows loading on real player but unable to play. Forget 'RealPlayer' - use VLC as your RTSP client. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Dec 20 16:49:06 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 20 Dec 2006 14:49:06 -1000 Subject: [Live-devel] RTSP Server->Client message In-Reply-To: References: Message-ID: >Can anyone offer advice on how to write a test program which will activate >RTSPClient::incomingRequestHandler()? You probably don't want to do this. That code was added in order to 'handle' "GET_PARAMETER" commands that certain RTSP servers send periodically. (This behavior is in the RTSP specification, but few servers actually do this.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Dec 20 16:51:30 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 20 Dec 2006 14:51:30 -1000 Subject: [Live-devel] Several video streams to single RTP sink? In-Reply-To: <4586B8A1.7070208@nue.tu-berlin.de> References: <4586B8A1.7070208@nue.tu-berlin.de> Message-ID: >Hello All, > >I am in the process of implementing an RTSP server which will serve >several streams to clients, such that each client will receive a >selected subset of all available streams on demand. > >I'm writing a class which contains the framed file sources and video >stream framers and handles the synchronization between selected streams. > >My problem is this: should all these parallel streams be fed into a >single RTP sink or should each stream have its own sink? I don't really understand what it is you're trying to do, but - regardless - each stream must have its own "RTPSink" object (because each "RTPSink" encapsulates a destination IP address, port number, and RTP payload type code). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Dec 20 16:55:39 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 20 Dec 2006 14:55:39 -1000 Subject: [Live-devel] Use of fBank buffers In-Reply-To: <7FB4685EA93D014C8E30AA087B66E7520337D108@ssdimailsrvnt01.ssdi.sharp.co.in > References: <7FB4685EA93D014C8E30AA087B66E7520337D108@ssdimailsrvnt01.ssdi.sharp.co.in > Message-ID: >We are using RTP server and client test programs to stream MPEG II files. On >the server side, we observed that it uses two bank buffers fBANK[0] and >fBANK[1]. It reads BANK_SIZE of data into fBANK[0] and after parsing and >sending the data to the client, it swaps the remaining data from fBANK[0] >into fBANK[1] and reads BANK_SIZE of data into fBANK[1]. > >Any idea why to use two buffers instead of single buffer. Basically, because this makes it possible to read - from the input source - in large chunks (to fill an entire bank). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Dec 20 17:04:40 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 20 Dec 2006 15:04:40 -1000 Subject: [Live-devel] Why not skip(or drop) the remaining packets of a truncated frame? In-Reply-To: References: Message-ID: >In MultiFramedRTPSource.cpp, I note if the provided >SubsessionIOState::fBuffer is not large enough to hold a complelte >frame, the MultiFramedRTPSource will call its afterGetting() to >deliver the truncated frame due to fNumTruncatedBytes > 0. However, >the remaining packets of this frame is not skipped or dropped but >delivered as the next frame with the same timestamp. > >Is it acceptable in reality? Well, if incoming frame data is getting truncated (due to insufficiently large buffers at the client), then things are broken - you should really fix that, rather than worryng about what else the code is doing at that point. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From yunjnz at yahoo.com Wed Dec 20 18:35:47 2006 From: yunjnz at yahoo.com (Sean) Date: Wed, 20 Dec 2006 18:35:47 -0800 (PST) Subject: [Live-devel] How does Live555 notify the ending of the streaming In-Reply-To: Message-ID: <206481.11364.qm@web35806.mail.mud.yahoo.com> --- Ross Finlayson wrote: > >I'm using Live555 developing a RTSP client > > I hope you're using the "openRTSP" and "VLC" (file: > "live555.cpp") > code as a model. > > >1) How does live555 notify the end of the streaming > to > >Client? > > The client can set up a function to be called > whenever a RTCP "BYE" > packet arrives from the server. See the calls to > "setByeHandler()" > in the "openRTSP" and "VLC" code. > > >2) How does Live555 implement KeepAlive RTCP? > > Simply by creating a "RTCPInstance" object for each > "RTPSource". Thanks for your help. can you give me more detail about these two questions? I mean, 1) for the first question, how the server notify the client if the session has finished? does the server send a BYE packet via RTCP and the client reply a BYE packet? and then close the connection for the corresponding RTP session? 2) for the second question, how does the RTCPInstance implements the KeepAlive function? Thank you again. Sean > -- > > 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 > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From finlayson at live555.com Wed Dec 20 21:34:45 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 20 Dec 2006 19:34:45 -1000 Subject: [Live-devel] How does Live555 notify the ending of the streaming In-Reply-To: <206481.11364.qm@web35806.mail.mud.yahoo.com> References: <206481.11364.qm@web35806.mail.mud.yahoo.com> Message-ID: >1) for the first question, how the server notify the >client if the session has finished? does the server >send a BYE packet via RTCP Yes. > and the client reply a BYE >packet? No, the RTCP "BYE" packet (from the server to the client) is not acked in any way., >2) for the second question, how does the RTCPInstance >implements the KeepAlive function? Remember, You Have Complete Source Code. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From brainlai at gmail.com Wed Dec 20 23:32:15 2006 From: brainlai at gmail.com (Brain Lai) Date: Thu, 21 Dec 2006 15:32:15 +0800 Subject: [Live-devel] Why not skip(or drop) the remaining packets of a truncated frame? In-Reply-To: References: Message-ID: Of courese, providing a large enough buffer is always the practical solution. However, it is unreasonable to predict how large is an incoming video frame for a general streaming client. That is, a practical streaming client should be smart enough to enlarge its buffer on the detection of a truncated frame. But how to? Take MPEG4 ES video for example and assume the client is able to adjust its buffer size. The video frame size may range from 15KB to 110KB or more which depends on the streaming source. In the registered MultiFramedRTPSource::fAfterGettingFunc(), the client has numTruncatedBytes and presentationTime as the key clues to adjust its buffer size and drop the remaining part of a truncated frame. If the client is unable to change its buffer size(just limited), it still has a chance to drop the remaining part of a truncated frame delivered from MultiFramedRTPSource by itself with the duplicated presentationTime. Actually, a streaming client is made by human rather than God, so it can not predict its buffer size exactly well :-) One more question: Is the argument 'durationInMicroseconds' provided in MultiFramedRTPSource::fAfterGettingFunc() believable for live recording? 2006/12/21, Ross Finlayson : > > >In MultiFramedRTPSource.cpp, I note if the provided > >SubsessionIOState::fBuffer is not large enough to hold a complelte > >frame, the MultiFramedRTPSource will call its afterGetting() to > >deliver the truncated frame due to fNumTruncatedBytes > 0. However, > >the remaining packets of this frame is not skipped or dropped but > >delivered as the next frame with the same timestamp. > > > >Is it acceptable in reality? > > Well, if incoming frame data is getting truncated (due to > insufficiently large buffers at the client), then things are broken - > you should really fix that, rather than worryng about what else the > code is doing at that point. > -- > > 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/20061220/2ba6100b/attachment.html From yunjnz at yahoo.com Thu Dec 21 00:06:13 2006 From: yunjnz at yahoo.com (Sean) Date: Thu, 21 Dec 2006 00:06:13 -0800 (PST) Subject: [Live-devel] How does Live555 notify the ending of the streaming In-Reply-To: Message-ID: <718935.75033.qm@web35812.mail.mud.yahoo.com> --- Ross Finlayson wrote: > >1) for the first question, how the server notify > the > >client if the session has finished? does the server > >send a BYE packet via RTCP > > Yes. > > > and the client reply a BYE > >packet? > > No, the RTCP "BYE" packet (from the server to the > client) is not > acked in any way., > > >2) for the second question, how does the > RTCPInstance > >implements the KeepAlive function? > > Remember, You Have Complete Source Code. Thanks a lot, I just want to make some conception clear, Is the KeepAlive function implemented by the RR packets and SR packets? The client and server will send the RR and SR periodically? Thank you again, Sean > -- > > 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 > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From rmpg2001 at gmail.com Thu Dec 21 01:07:48 2006 From: rmpg2001 at gmail.com (Ramon Martin de Pozuelo) Date: Thu, 21 Dec 2006 10:07:48 +0100 Subject: [Live-devel] New project with Live .lib's Message-ID: <389189e20612210107x84e4227v609d839a96e326d2@mail.gmail.com> Hi all, I created a new project with VC++ 6.0 and I added all Live libraries that I compiled (libliveMedia.lib, libgroupsock.lib, libUsageEnviroment.lib...). My project is very similar to testMPG4VideoStreamer from testProgs on Live but it takes other .lib's from another project too. It compile, but the application program breaks down when it initialize the RTCPInstance. I think it was a problem from my application, but I change my implementation to testMPG4VideoStreamer.cpp, I compile it taking the precompiled .lib as I do with my program and it has the same error. Debugging it I saw the problem was on DelayQueue on TaskScheduler. Do anyone know what's the problem? Is it not possible to take .lib's from Live to make another project? Must I modify the compiler options to run it OK? Thanks in advance, Ramon -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061221/ce4ebe3a/attachment-0001.html From yunjnz at yahoo.com Thu Dec 21 02:05:32 2006 From: yunjnz at yahoo.com (Sean) Date: Thu, 21 Dec 2006 02:05:32 -0800 (PST) Subject: [Live-devel] How to calculate all packet loss rate? Message-ID: <81009.50990.qm@web35814.mail.mud.yahoo.com> Greetings, I meet a problem while using Live555, that is, How to detect RTP packet loss in the RTSP Client and RTSP Server? Thanks a lot. Sean __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From jnitin at ssdi.sharp.co.in Thu Dec 21 03:18:49 2006 From: jnitin at ssdi.sharp.co.in (Nitin Jain) Date: Thu, 21 Dec 2006 16:48:49 +0530 Subject: [Live-devel] How to control Frame rate for MPEG2 TS stream from server side Message-ID: <7FB4685EA93D014C8E30AA087B66E75203DFD9C8@ssdimailsrvnt01.ssdi.sharp.co.in> Hi all, We are using testMPEG1or2VideoStreamer.cpp as a server for streaming MPEG2 ES, PS and TS stream and testMPEG1or2VideoReceiver.cpp as a receiver program. We could able to control frame rate for MPEG2 ES and PS stream from server side by changing the default frame rate (fFrameRate) in MPEGVideoStreamFramer.cpp to change fDurationInMicroseconds ******************************************************************** fDurationInMicroseconds = (fFrameRate == 0.0 || ((int)fPictureCount) < 0) ? 0 : (unsigned)((fPictureCount*1000000)/fFrameRate); ********************************************************************* But in case of TS stream fDurationInMicroseconds is calculated as fDurationInMicroseconds = numTSPackets * (unsigned)(fTSPacketDurationEstimate*1000000); Any idea how to control frame rate for MPEG2 TS. Thanks and Regards Nitin Jain -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061221/4c1e77aa/attachment.html From finlayson at live555.com Thu Dec 21 07:29:12 2006 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 21 Dec 2006 05:29:12 -1000 Subject: [Live-devel] How to calculate all packet loss rate? In-Reply-To: <81009.50990.qm@web35814.mail.mud.yahoo.com> References: <81009.50990.qm@web35814.mail.mud.yahoo.com> Message-ID: >I meet a problem while using Live555, >that is, How to detect RTP packet loss in the RTSP >Client and RTSP Server? You can look at the statistics that are reported in incoming RTCP "RR" messages (sent by clients; received by the server), and RTCP "SR" messages (sent by the server; received by clients). To do this: - At the client end, look at "RTPSource::ReceptionStatsDB" and "RTPSource::ReceptionStats" - At the server end, look at "RTPSink::TransmissionStatsDB" and "RTPSink::TransmissionStats". Look, for example, at how "openRTSP" uses the "RTPSource::ReceptionStats(DB)" information (to implement its "-Q" option). You can use "RTPSink::TransmissionStats(DB)" in a similar way. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Thu Dec 21 07:31:19 2006 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 21 Dec 2006 05:31:19 -1000 Subject: [Live-devel] How to control Frame rate for MPEG2 TS stream from server side In-Reply-To: <7FB4685EA93D014C8E30AA087B66E75203DFD9C8@ssdimailsrvnt01.ssdi.sharp.co.in > References: <7FB4685EA93D014C8E30AA087B66E75203DFD9C8@ssdimailsrvnt01.ssdi.sharp.co.in > Message-ID: > We are using testMPEG1or2VideoStreamer.cpp as a server for >streaming MPEG2 ES, PS and TS stream and >testMPEG1or2VideoReceiver.cpp as a receiver program. We could able >to control frame rate for MPEG2 ES and PS stream from server side by >changing the default frame rate (fFrameRate) in >MPEGVideoStreamFramer.cpp to change fDurationInMicroseconds You shouldn't do this. Each frame's duration, and thus the frame rate, is calculated automatically by parsing the timestamp information in the MPEG ES or TS stream. You should not want or need to change this. -- 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/20061221/9169b18c/attachment.html From xcsmith at rockwellcollins.com Thu Dec 21 07:44:38 2006 From: xcsmith at rockwellcollins.com (xcsmith at rockwellcollins.com) Date: Thu, 21 Dec 2006 09:44:38 -0600 Subject: [Live-devel] RTSP Server->Client message Message-ID: >>Can anyone offer advice on how to write a test program which will activate >>RTSPClient::incomingRequestHandler()? >You probably don't want to do this. That code was added in order to >'handle' "GET_PARAMETER" commands that certain RTSP servers send >periodically. (This behavior is in the RTSP specification, but few >servers actually do this.) >-- >Ross Finlayson I do want to do this. I have a server which can send notification of MPEG user data (000001 B2) appearing in the stream which it's client is receiving. My client won't be receiving the data, so it cannot look for the user data itself. We created a custom RTSP method for this notification, because it was the best solution at the time. Most streams will have been recorded with our system or an identical system, so the user data will typically have a format and meaning which we defined. Xochitl From qolson at posappliance.com Thu Dec 21 11:01:44 2006 From: qolson at posappliance.com (Quentin Olson) Date: Thu, 21 Dec 2006 11:01:44 -0800 Subject: [Live-devel] Develop H.264 Support Message-ID: <1166727704.3199.9.camel@dhcppc5> Hello, I am looking for someone to develop a sample application (possibly more) for streaming H.264 files. I can supply sample files. We are willing to pay, all that is developed will go back into the project under the GPL. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061221/7bcd5123/attachment.html From finlayson at live555.com Thu Dec 21 20:24:59 2006 From: finlayson at live555.com (Ross Finlayson) Date: Thu, 21 Dec 2006 18:24:59 -1000 Subject: [Live-devel] Develop H.264 Support In-Reply-To: <1166727704.3199.9.camel@dhcppc5> References: <1166727704.3199.9.camel@dhcppc5> Message-ID: >I am looking for someone to develop a sample application (possibly >more) for streaming H.264 files. I can supply sample files. Yes, please post the URL of such a sample file. (*Don't* send the file itself via email.) I'm curious as to what you mean by a "H264 file". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From bidibulle at operamail.com Fri Dec 22 01:19:01 2006 From: bidibulle at operamail.com (David Betrand) Date: Fri, 22 Dec 2006 10:19:01 +0100 Subject: [Live-devel] Develop H.264 Support Message-ID: <20061222091901.9FC08CA150@ws5-11.us4.outblaze.com> Hello, My two cents on this : Actually this matter is exactly the same as MPEG4 video handling in liveMedia library. There are several containers existing for encapsulation of H264 codec. Most of them are dialects of the mpeg 4 iso based media file format (ISO/IEC 14496-12). This means at least : ".mp4" extension (ISO MP4, ISMA 2.0) ".3gp" extension (3GPP) ".mov" extension (Apple file format) But of course there are also other -less "recommended" I would say- like ".avi" Most of the time, when no container is used, raw H264 frames are simply put in a ".h264" file. So, the nice thing would be to have in liveMedia demultiplexers for 3gp, mp4 and 3gp file formats. An simpler alternative would have to have support for H264 elementary streams contained in ".h264" files. David. >I am looking for someone to develop a sample application (possibly >>more) for streaming H.264 files. I can supply sample files. Yes, please post the URL of such a sample file. (*Don't* send the file itself via email.) I'm curious as to what you mean by a "H264 file". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ -- _______________________________________________ Surf the Web in a faster, safer and easier way: Download Opera 9 at http://www.opera.com Powered by Outblaze From mrnikhilagrawal at gmail.com Fri Dec 22 02:07:55 2006 From: mrnikhilagrawal at gmail.com (Nikhil Agrawal) Date: Fri, 22 Dec 2006 15:37:55 +0530 Subject: [Live-devel] Streaming Multichannel Message-ID: <733cde3e0612220207l799d0d6dubd5e87372d1bd0b0@mail.gmail.com> Hi, I am using testOnDemandRTSPServer test applicaation for streaming a wave file. Looking into code seems that it supports only max 2 channel of wave file. I have a 4 channel of wave file and i want to stream it . I commented the checks in code which verifies channel no more than 2. Server now seems to stream the file but using VLC as client player , not able to play it properly , it says FrontLeft , FrontRight and lost Centre and Surround voice data. Can anyone tell me where's the problem or how can i stream multichannel ( > 3) files using Live555. Regards, Nikhil Agrawal -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061222/c7cfdee2/attachment-0001.html From TAYK0004 at ntu.edu.sg Fri Dec 22 02:32:37 2006 From: TAYK0004 at ntu.edu.sg (#TAY KOON HWEE#) Date: Fri, 22 Dec 2006 18:32:37 +0800 Subject: [Live-devel] Old and new libraries Message-ID: <438567054C073949AEBE5A28B83E7DE133FC80@MAIL21.student.main.ntu.edu.sg> Greetings to all, I need to improve a program developed by previous students by changing the MPEG4 streaming to support H.264 streaming. The previous students used the livemedia libraries in 2001. I noticed that compared to the libraries now which supported H.264, there are changes to the functions/header names. What are the options I have to implement the H.264 new streaming without major changes to the old program source code. Any suggestion and advise is greatly appreciated. Regards. Kunhui -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061222/3a699a42/attachment.html From qolson at posappliance.com Fri Dec 22 07:32:47 2006 From: qolson at posappliance.com (Quentin Olson) Date: Fri, 22 Dec 2006 07:32:47 -0800 Subject: [Live-devel] Develop H.264 Support In-Reply-To: <20061222091901.9FC08CA150@ws5-11.us4.outblaze.com> References: <20061222091901.9FC08CA150@ws5-11.us4.outblaze.com> Message-ID: <1166801568.2704.9.camel@localhost.localdomain> I think David is describing what I am looking for. Here is a link to a 20 second clip (CIF, low quantization, 10 FPS). The file is built by capturing the frames directly from the encoder card. http://65.40.220.74/downloads/clip.264 There are a number of codec plugins you can use to play this directly in windows media player, here's one. http://www.fastvdo.com/H.264.html -quentin On Fri, 2006-12-22 at 10:19 +0100, David Betrand wrote: > Hello, > My two cents on this : > Actually this matter is exactly the same as MPEG4 video handling in liveMedia library. There are several containers existing for encapsulation of H264 codec. Most of them are dialects of the mpeg 4 iso based media file format (ISO/IEC 14496-12). > This means at least : > ".mp4" extension (ISO MP4, ISMA 2.0) > ".3gp" extension (3GPP) > ".mov" extension (Apple file format) > > But of course there are also other -less "recommended" I would say- like ".avi" > > Most of the time, when no container is used, raw H264 frames are simply put in a ".h264" file. > > So, the nice thing would be to have in liveMedia demultiplexers for 3gp, mp4 and 3gp file formats. An simpler alternative would have to have support for H264 elementary streams contained in ".h264" files. > > David. > > >I am looking for someone to develop a sample application (possibly > >>more) for streaming H.264 files. I can supply sample files. > > > Yes, please post the URL of such a sample file. (*Don't* send the > file itself via email.) I'm curious as to what you mean by a "H264 > file". > -- > > Ross Finlayson > Live Networks, Inc. > http://www.live555.com/ > Quentin Olson qolson at posAppliance.com www.posAppliance.com +1 360 394 3726 Office +1 360 990 3562 Mobile -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061222/61f66b81/attachment.html From TAYK0004 at ntu.edu.sg Fri Dec 22 12:30:42 2006 From: TAYK0004 at ntu.edu.sg (#TAY KOON HWEE#) Date: Sat, 23 Dec 2006 04:30:42 +0800 Subject: [Live-devel] Create Library files for groupsock, usageenvironment, basicusageenvironment, livemedia Message-ID: <438567054C073949AEBE5A28B83E7DE133FC81@MAIL21.student.main.ntu.edu.sg> Deepest thanks to whoever can help, I tried creating .lib files for groupsock, usageenvironment, basicusageenvironment, livemedia so that I can use them to link to one of the test file (testMPEG1or2VideoStreamer). I using Visual C++ to do the programming. However, when I link the libraries file to the test files, there are a lof of error LNK 2001. Method used in creating library files: (Microsoft Visual C++ 6.0) 1) File -> New -> projects -> Win32 Static Lib 2) Did not choose precompiled header and MFC support 3) Add in the source files of groupsock directory 4) Add in all the header files of groupsock, usageenvironment, basicusageenvironment, livemedia 5) Build 6) Under the debug folder, I found the groupsock.lib together with some obj, pch files Question: 1) Is my method of building lib files correct? Do I need those obj, pch files? Can i just use the groupsock.lib file? 2) Some of the errors are: error LNK2001: unresolved external symbol _getsockname at 12 3) Even if i dont use .lib files, I add in all the .cpp .c files to compile and build with the testMPEG1or2VideoStreamer.cpp, the error LNK2001 still exisits. Many many thanks in advanced Kunhui -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061223/b8dc0059/attachment.html From finlayson at live555.com Sun Dec 24 00:33:34 2006 From: finlayson at live555.com (Ross Finlayson) Date: Sun, 24 Dec 2006 00:33:34 -0800 Subject: [Live-devel] Develop H.264 Support In-Reply-To: <20061222091901.9FC08CA150@ws5-11.us4.outblaze.com> References: <20061222091901.9FC08CA150@ws5-11.us4.outblaze.com> Message-ID: >Most of the time, when no container is used, raw H264 frames are >simply put in a ".h264" file. The trouble with this approach is that I'm not sure whether 'raw H.264 frames' - simply concatenated together with nothing separating them - can be parsed into discrete NAL units. (This would be necessary in order to stream the data.) People sometimes overcome this problem by prepending the byte string 0x00 0x00 0x01 to each NAL unit in the file - allowing the NAL units to be parsed from the file later. However, I'm not sure if that's an official file format that's written up anywhere. Once again, this is why there's no "testH264VideoStreamer" - because there just doesn't seem to be an official recognized file format for "H.264 Video Elementary Stream data". -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From kurutepe at nue.tu-berlin.de Sun Dec 24 02:15:09 2006 From: kurutepe at nue.tu-berlin.de (Engin Kurutepe) Date: Sun, 24 Dec 2006 11:15:09 +0100 Subject: [Live-devel] Develop H.264 Support In-Reply-To: References: <20061222091901.9FC08CA150@ws5-11.us4.outblaze.com> Message-ID: <7A6E3A64-804F-4B60-8111-8E9B3D5F43BF@nue.tu-berlin.de> Another option would be using the rtp output format of the reference h.264 encoder. In this format NAL units are written in a file as single-NALU RTP packets. additionally there is 8 byte padding between each packet, which also specifies how large each following packet is. FUA-fragmenter in the live library can handle framing these NAL units to provide non-interleaved h.264 streaming functionality. I think this format can be used to implement a "testH264VideoStreamer". I am trying to do this now. I'd be happy to release the files once they are complete, if they'd be any help to anyone. Which brings another question about H.264. I could not see any subsession class for h.264. I presume this has to be implemented from scratch for an on-demand h.264 test server. is that right? Happy Holidays, Engin. On 24.12.2006, at 09:33, Ross Finlayson wrote: >> Most of the time, when no container is used, raw H264 frames are >> simply put in a ".h264" file. > > The trouble with this approach is that I'm not sure whether 'raw > H.264 frames' - simply concatenated together with nothing separating > them - can be parsed into discrete NAL units. (This would be > necessary in order to stream the data.) > > People sometimes overcome this problem by prepending the byte string > 0x00 0x00 0x01 to each NAL unit in the file - allowing the NAL units > to be parsed from the file later. However, I'm not sure if that's an > official file format that's written up anywhere. > > Once again, this is why there's no "testH264VideoStreamer" - because > there just doesn't seem to be an official recognized file format for > "H.264 Video Elementary Stream data". > -- > > 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 Sun Dec 24 02:50:01 2006 From: finlayson at live555.com (Ross Finlayson) Date: Sun, 24 Dec 2006 02:50:01 -0800 Subject: [Live-devel] Develop H.264 Support In-Reply-To: <7A6E3A64-804F-4B60-8111-8E9B3D5F43BF@nue.tu-berlin.de> References: <20061222091901.9FC08CA150@ws5-11.us4.outblaze.com> <7A6E3A64-804F-4B60-8111-8E9B3D5F43BF@nue.tu-berlin.de> Message-ID: >Another option would be using the rtp output format of the reference >h.264 encoder. In this format NAL units are written in a file as >single-NALU RTP packets. additionally there is 8 byte padding between >each packet, which also specifies how large each following packet is. You're missing the point. Anyone can conjure up their own file format for storing H.264 Elementary Stream data - in which case they can also write their own "H264VideoStreamFramer" class to parse this file format, and write their own "H264VideoFileServerMediaSubsession" class (for unicast, on-demand streaming), and write their own "testH264VideoStreamer" demo application (for multicast streaming). Feel free to do this. But unless there's a single, well-defined file format for H.264 Elementary Stream Video that everyone agrees upon (like there is for MPEG-1, MPEG-2 or (regular) MPEG-4 video), then I won't be writing these things myself. End of story. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From armandopoulos at yahoo.fr Sun Dec 24 05:54:52 2006 From: armandopoulos at yahoo.fr (Armando Ko) Date: Sun, 24 Dec 2006 13:54:52 +0000 (GMT) Subject: [Live-devel] transcode jpeg to mpeg stream flow Message-ID: <20061224135452.627.qmail@web86910.mail.ukl.yahoo.com> hallo, is possible to use the live555 to stream the jpeg to mpeg flow ? thanks ___________________________________________________________________________ Yahoo! Mail r?invente le mail ! D?couvrez le nouveau Yahoo! Mail et son interface r?volutionnaire. http://fr.mail.yahoo.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061224/1f741709/attachment.html From sergey.udaltsov at gmail.com Mon Dec 25 16:33:38 2006 From: sergey.udaltsov at gmail.com (Sergey Udaltsov) Date: Tue, 26 Dec 2006 00:33:38 +0000 Subject: [Live-devel] (no subject) Message-ID: <48890e640612251633gefd421dlb05cde9d2de5556c@mail.gmail.com> Hello all I am trying to get the stream from some site - using first mplayer (using live555) then - openRTSP. I am getting this: Unable to create receiver for "audio/X-ASF-PF" subsession: RTP payload format unknown or not supported Unable to create receiver for "application/X-WMS-RTX" subsession: RTP payload format unknown or not supported Unable to create receiver for "video/X-ASF-PF" subsession: RTP payload format unknown or not supported Even installing win32 codecs does not really help. Why is this ASF stream causes a problem? VLC can decode it (though it does not provide a good quality - it does not support RTSP/UDP). Any workaround? If there is a work in progress, I could be used as beta-tester (or provide any data developers would need). I would appreciated any insight on the matter of the problem. Thanks, Sergey Udaltsov From finlayson at live555.com Mon Dec 25 16:47:20 2006 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 25 Dec 2006 16:47:20 -0800 Subject: [Live-devel] (no subject) In-Reply-To: <48890e640612251633gefd421dlb05cde9d2de5556c@mail.gmail.com> References: <48890e640612251633gefd421dlb05cde9d2de5556c@mail.gmail.com> Message-ID: >Hello all > >I am trying to get the stream from some site - using first mplayer >(using live555) then - openRTSP. I am getting this: > >Unable to create receiver for "audio/X-ASF-PF" subsession: RTP payload >format unknown or not supported >Unable to create receiver for "application/X-WMS-RTX" subsession: RTP >payload format unknown or not supported >Unable to create receiver for "video/X-ASF-PF" subsession: RTP payload >format unknown or not supported Please read the FAQ! It includes an answer specifically to this question. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From yunjnz at yahoo.com Mon Dec 25 16:59:02 2006 From: yunjnz at yahoo.com (Sean) Date: Mon, 25 Dec 2006 16:59:02 -0800 (PST) Subject: [Live-devel] RR and SR mechanism for RTCP on Live555 Message-ID: <103976.27385.qm@web35811.mail.mud.yahoo.com> Greetings, Can anyone help me for the mechanism of RR and SR for RTCP on Live555? Does the RTCP client and server report the RR or SR periodically with the fixed interval? Or the client and server reports the RR or SR in other way? Thanks a lot. Sean __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From finlayson at live555.com Mon Dec 25 17:07:05 2006 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 25 Dec 2006 17:07:05 -0800 Subject: [Live-devel] RR and SR mechanism for RTCP on Live555 In-Reply-To: <103976.27385.qm@web35811.mail.mud.yahoo.com> References: <103976.27385.qm@web35811.mail.mud.yahoo.com> Message-ID: >Greetings, > >Can anyone help me for the mechanism of RR and SR for >RTCP on Live555? >Does the RTCP client and server report the RR or SR >periodically with the fixed interval? Or the client >and server reports the RR or SR in other way? Remember, You Have Complete Source Code. The code implements - using the code in the "rtcp_from_spec.c" file - the exact RTCP retransmission algorithm that is described in the RTP/RTCP specification (RFC 3550). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From yunjnz at yahoo.com Mon Dec 25 18:33:28 2006 From: yunjnz at yahoo.com (Sean) Date: Mon, 25 Dec 2006 18:33:28 -0800 (PST) Subject: [Live-devel] The newer version can't work on Windows Message-ID: <222838.87575.qm@web35803.mail.mud.yahoo.com> Hi, it seems that the newest version can't work on Windows when using the testOnDemandRTSPServer, when using VLC to access the url: rtsp://:8554/mpeg1or2AudioVideoTest, the server complains: BasicTaskScheduler::SingleStep(): select() fails: No such file or directory. and then the program exits. what happened for the newest version? Thank you. Sean __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From nimesh.kanoth at gmail.com Mon Dec 25 18:38:17 2006 From: nimesh.kanoth at gmail.com (Nimesh Kanoth) Date: Mon, 25 Dec 2006 18:38:17 -0800 Subject: [Live-devel] Dear friends.. need help to develop live VOD Message-ID: Hi, Dear friends. I am trying to develop a VOD server using the live. Please give me some suggestion, I am using a sigma based SMP8634 board. I tried to run by keepiing a mpeg2-ts file and run ./testOnDemandRTSPServer I test the link first in windows sytem using vlc and it is playing good. but the same i tried with sigma mrua player it is giving some error like 0_Cannot open file So Is there any setting I need to do to play in the board. Please help me .. i need to some suggestions as early as possible. any work in VOD server.. Please give me some suggestions. -- Nimesh Kanoth -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061225/b740862b/attachment.html From nimesh.kanoth at gmail.com Mon Dec 25 18:39:39 2006 From: nimesh.kanoth at gmail.com (Nimesh Kanoth) Date: Mon, 25 Dec 2006 18:39:39 -0800 Subject: [Live-devel] Help Message-ID: Hi, Dear friends. I am trying to develop a VOD server using the live. Please give me some suggestion, I am using a sigma based SMP8634 board. I tried to run by keepiing a mpeg2-ts file and run ./testOnDemandRTSPServer I test the link first in windows sytem using vlc and it is playing good. but the same i tried with sigma mrua player it is giving some error like 0_Cannot open file So Is there any setting I need to do to play in the board. Please help me .. i need to some suggestions as early as possible. any work in VOD server.. Please give me some suggestions. -- Nimesh Kanoth -- Nimesh Kanoth -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061225/e4988dd6/attachment.html From finlayson at live555.com Mon Dec 25 18:41:46 2006 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 25 Dec 2006 18:41:46 -0800 Subject: [Live-devel] The newer version can't work on Windows In-Reply-To: <222838.87575.qm@web35803.mail.mud.yahoo.com> References: <222838.87575.qm@web35803.mail.mud.yahoo.com> Message-ID: >Hi, >it seems that the newest version can't work on Windows >when using the testOnDemandRTSPServer, >when using VLC to access the url: >rtsp://:8554/mpeg1or2AudioVideoTest, >the server complains: > >BasicTaskScheduler::SingleStep(): select() fails: No >such file or directory. Are you running an old version of Windows? Perhaps you are running to the Windows problem described here http://www.live555.com/liveMedia/faq.html#select-no-error -- 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/20061225/0f49f58b/attachment.html From yunjnz at yahoo.com Mon Dec 25 19:22:44 2006 From: yunjnz at yahoo.com (Sean) Date: Mon, 25 Dec 2006 19:22:44 -0800 (PST) Subject: [Live-devel] RR and SR mechanism for RTCP on Live555 In-Reply-To: Message-ID: <469502.48373.qm@web35813.mail.mud.yahoo.com> --- Ross Finlayson wrote: > >Greetings, > > > >Can anyone help me for the mechanism of RR and SR > for > >RTCP on Live555? > >Does the RTCP client and server report the RR or SR > >periodically with the fixed interval? Or the client > >and server reports the RR or SR in other way? > > > Remember, You Have Complete Source Code. > > The code implements - using the code in the > "rtcp_from_spec.c" file - > the exact RTCP retransmission algorithm that is > described in the > RTP/RTCP specification (RFC 3550). Appreciate for your help. I'm working on the statistics for the transmission, but I find that even if I get the reception statistics just after the BYE packet received in the client, sometimes the packet expected isn't the same as the number the server actually sent. Thus I want to know the mechanism for the RR and SR implementation on Live555. Thanks a lot. Sean > -- > > 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 > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From finlayson at live555.com Mon Dec 25 20:17:13 2006 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 25 Dec 2006 20:17:13 -0800 Subject: [Live-devel] Dear friends.. need help to develop live VOD In-Reply-To: References: Message-ID: >Hi, > >Dear friends. I am trying to develop a VOD server using the live. >Please give me some suggestion, I am using a sigma based SMP8634 >board. I tried to run by keepiing a mpeg2-ts file >and run ./testOnDemandRTSPServer >I test the link first in windows sytem using vlc and it is playing good. >but the same i tried with sigma mrua player it is giving some error >like 0_Cannot open file >So Is there any setting I need to do to play in the board. Please help me .. > >i need to some suggestions as early as possible. >any work in VOD server.. Please give me some suggestions. First, please do *not* send the same message to the mailing list more than once! Try turning on debugging in the RTSP server by adding #define DEBUG 1 to "liveMedia/RTSPServer.cpp", and recompiling. Remember, You Have Complete Source Code.l -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From yunjnz at yahoo.com Mon Dec 25 21:54:25 2006 From: yunjnz at yahoo.com (Sean) Date: Mon, 25 Dec 2006 21:54:25 -0800 (PST) Subject: [Live-devel] The newer version can't work on Windows In-Reply-To: Message-ID: <20061226055425.36116.qmail@web35809.mail.mud.yahoo.com> --- Ross Finlayson wrote: > >Hi, > >it seems that the newest version can't work on > Windows > >when using the testOnDemandRTSPServer, > >when using VLC to access the url: > >rtsp://:8554/mpeg1or2AudioVideoTest, > >the server complains: > > > >BasicTaskScheduler::SingleStep(): select() fails: > No > >such file or directory. > > Are you running an old version of Windows? Perhaps > you are running > to the Windows problem described here > > http://www.live555.com/liveMedia/faq.html#select-no-error Thanks, The problem solved after adding the macro definition, By the way, I'm running the program on Windows XP Professional SP2. Sean > -- > > 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 > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From finlayson at live555.com Mon Dec 25 21:58:15 2006 From: finlayson at live555.com (Ross Finlayson) Date: Mon, 25 Dec 2006 21:58:15 -0800 Subject: [Live-devel] Patch to liveMedia for Consideration In-Reply-To: References: Message-ID: >Attached is a patch file to liveMedia that I would like to submit >for consideration. It allows liveMedia to initiate an RTSP session >on an nCUBE/C-COR video server. The code that was added is similar >to the code currently in place for Kasenna and Microsoft. Thanks for the submission. Unfortunately, however, I'm getting increasingly reluctant to keep adding ugly hacks to the RTSP client code in order to support all sorts of different weird, non-standard servers. (I realize that - for historical reasons - we already have ugly code there to support Kasenna servers; however, I'd like to remove this at some point in the future (as these broken old Kasenna servers fade into irrelevance).) Our installed base (in VLC, MPlayer, and other RTSP clients) is now sufficiently large (far larger than the installed base of any particular RTSP server implementation) that I believe it's now reasonable and appropriate for us to put pressure on these server implementors to clean up their implementations to make them more compliant with standards, and with other existing implementations. With this in mind, rather than add your patch to the code, I ask that the implementors of the "nCUBE/C-COR" video server make the following three simple changes to their implementation. If they do this, their server should - I believe - work with the existing "LIVE555 Streaming Media" RTSP client implementation - and the large existing installed base of VLC (and MPlayer etc.) clients: 1/ Change the SDP description returned in response to a RTSP "DESCRIBE" command to say RAW/RAW/UDP instead of RTP/AVP (reporting "RTP/AVP" is very wrong, because the server is quite clearly *not* sending RTP) 2/ Accept "RAW/RAW/UDP" in the "Transport:" header of RTSP "SETUP" commands (rather than requiring that the string "MP2T/DVBC/UDP" be used). 3/ Make whatever (presumably minor) fixes are necessary to the server so that you don't need to modify the existing implementation of the "constructSubsessionURL()" command. -- 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/20061225/05ff11d4/attachment-0001.html From sergey.udaltsov at gmail.com Tue Dec 26 05:49:19 2006 From: sergey.udaltsov at gmail.com (Sergey Udaltsov) Date: Tue, 26 Dec 2006 13:49:19 +0000 Subject: [Live-devel] (no subject) Message-ID: <48890e640612260549r21bbae17n6b9808b7e1f8b784@mail.gmail.com> Hello Ross > Please read the FAQ! It includes an answer specifically to this question. Sorry for being so lame. I sure read FAQ (http://www.live555.com/liveMedia/faq.html#payload-format-not-supported) but it does not say anything about this particular format. Is the documentation on this format publicly available? Does live555 have any plans to support it? It seems broadcasters using Microsoft-based solutions are going to use it - so iMVVHO it would make sense to be able to handle it somehow... Thanks for the answer, Sergey From finlayson at live555.com Tue Dec 26 06:39:40 2006 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 26 Dec 2006 06:39:40 -0800 Subject: [Live-devel] (no subject) In-Reply-To: <48890e640612260549r21bbae17n6b9808b7e1f8b784@mail.gmail.com> References: <48890e640612260549r21bbae17n6b9808b7e1f8b784@mail.gmail.com> Message-ID: > Is the >documentation on this format publicly available? Does live555 have any >plans to support it? No. Therefore, no. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From shaswata at alumnux.com Tue Dec 26 07:39:29 2006 From: shaswata at alumnux.com (Shaswata Jash) Date: Tue, 26 Dec 2006 21:09:29 +0530 Subject: [Live-devel] transcode jpeg to mpeg stream flow References: <20061224135452.627.qmail@web86910.mail.ukl.yahoo.com> Message-ID: <002401c72904$08056dd0$2e0aa8c0@NITU> I think it's possible, though for that you need third party encoding library like ffmpeg. So a typical steps can be jpeg -> rgb -> mpeg raw frames and then use Live to stream those mpeg raw frames. With regards, Shaswata ----- Original Message ----- From: Armando Ko To: live-devel at ns.live555.com Sent: Sunday, December 24, 2006 7:24 PM Subject: [Live-devel] transcode jpeg to mpeg stream flow hallo, is possible to use the live555 to stream the jpeg to mpeg flow ? thanks ------------------------------------------------------------------------------ Yahoo! Mail r?invente le mail ! D?couvrez le nouveau Yahoo! Mail et son interface r?volutionnaire. ------------------------------------------------------------------------------ _______________________________________________ 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/20061226/e54a2f09/attachment.html From zkunhui at hotmail.com Tue Dec 26 09:57:12 2006 From: zkunhui at hotmail.com (Tay Koon Hwee) Date: Wed, 27 Dec 2006 01:57:12 +0800 Subject: [Live-devel] Streaming of h.264 Message-ID: Hi guys, have anyone done encoding video from webcam using H.264 and streaming using RTP. I tried to create the h.264framer but to no success. I currently using a open source nokia encoder. I believe it is encoding the video in type one. Single NAL in one unit. If anyone has any experience on this or any ready made source code, please email me. I am willingly to offer a small reward for the help. Many thanks and regards. zkunhui _________________________________________________________________ Get an advanced look at the new version of Windows Live Messenger. http://get.live.com/messenger/overview From finlayson at live555.com Tue Dec 26 10:25:53 2006 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 26 Dec 2006 10:25:53 -0800 Subject: [Live-devel] Streaming of h.264 In-Reply-To: References: Message-ID: >I tried to create the h.264framer but to no success. I currently using a >open source nokia encoder. I believe it is encoding the video in type one. >Single NAL in one unit. If your source delivers discrete NAL units, then your subclass of "H264VideoStreamFramer" (which you will write) will be very simple. Just implement the "doGetNextFrame()" virtual function (see "DeviceSource.cpp" for hints on this) to deliver individual NAL units (don't forget to set "fPresentationTime" properly). Also, implement "currentNALUnitEndsAccessUnit()" to return True iff the most recently delivered NAL unit ends a complete video frame. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From mrnikhilagrawal at gmail.com Tue Dec 26 22:28:36 2006 From: mrnikhilagrawal at gmail.com (Nikhil Agrawal) Date: Wed, 27 Dec 2006 11:58:36 +0530 Subject: [Live-devel] Regarding setting default RTSP client player Message-ID: <733cde3e0612262228t30a667cevdc9d6a73ff255762@mail.gmail.com> Hi, When i write rtsp://... in InternetExplorer , it opens real player as default player but i want VLC or any other player to be opened during rtsp request , how can i do this? Regards, Nikhil Agrawal -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061226/7bc4696d/attachment.html From finlayson at live555.com Tue Dec 26 23:20:36 2006 From: finlayson at live555.com (Ross Finlayson) Date: Tue, 26 Dec 2006 23:20:36 -0800 Subject: [Live-devel] Regarding setting default RTSP client player In-Reply-To: <733cde3e0612262228t30a667cevdc9d6a73ff255762@mail.gmail.com> References: <733cde3e0612262228t30a667cevdc9d6a73ff255762@mail.gmail.com> Message-ID: >When i write rtsp://... in InternetExplorer , it opens real player >as default player but i want VLC or any other player to be opened >during rtsp request , how can i do this? Don't use a web browser. Instead, just enter the "rtsp://" URL directly into VLC (e.g., from its "File/Open Network..." menu). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From mrnikhilagrawal at gmail.com Tue Dec 26 23:39:58 2006 From: mrnikhilagrawal at gmail.com (Nikhil Agrawal) Date: Wed, 27 Dec 2006 13:09:58 +0530 Subject: [Live-devel] Regarding setting default RTSP client player In-Reply-To: References: <733cde3e0612262228t30a667cevdc9d6a73ff255762@mail.gmail.com> Message-ID: <733cde3e0612262339yfdfb0f4t5f14c43ec8ce34ea@mail.gmail.com> No but i dont want user to open vlc and write url in it. I want to expose a link on a web page on which when user clicks , default vlc will open and not real player. On 12/27/06, Ross Finlayson wrote: > > >When i write rtsp://... in InternetExplorer , it opens real player > >as default player but i want VLC or any other player to be opened > >during rtsp request , how can i do this? > > Don't use a web browser. Instead, just enter the "rtsp://" URL > directly into VLC (e.g., from its "File/Open Network..." menu). > -- > > 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/20061226/37eda347/attachment.html From finlayson at live555.com Wed Dec 27 00:33:12 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 27 Dec 2006 00:33:12 -0800 Subject: [Live-devel] Regarding setting default RTSP client player In-Reply-To: <733cde3e0612262339yfdfb0f4t5f14c43ec8ce34ea@mail.gmail.com> References: <733cde3e0612262228t30a667cevdc9d6a73ff255762@mail.gmail.com> <733cde3e0612262339yfdfb0f4t5f14c43ec8ce34ea@mail.gmail.com> Message-ID: >No but i dont want user to open vlc and write url in it. I want to >expose a link on a web page on which when user clicks , default vlc >will open and not real player. I don't know. That's a question for a VLC mailing list. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From ymreddy at ssdi.sharp.co.in Wed Dec 27 03:31:24 2006 From: ymreddy at ssdi.sharp.co.in (Mallikharjuna Reddy (NAVT)) Date: Wed, 27 Dec 2006 17:01:24 +0530 Subject: [Live-devel] Number of frames Message-ID: <7FB4685EA93D014C8E30AA087B66E7520337D123@ssdimailsrvnt01.ssdi.sharp.co.in> Hi Everybody, We are using RTP server and client test programs to stream MPEG II files. We need to find out which packet belongs to which frame. In the LIVE555 code base, the frame refers to picture header/GOP header/slice. However, we are looking for the complete video frame (picture). Since one complete frame goes in different packets, we need to find which packet belongs to which frame. Any clues on how to achieve this. Thanks and Regards Y. Mallikharjuna Reddy From lorenooliveira at gmail.com Wed Dec 27 05:48:33 2006 From: lorenooliveira at gmail.com (Loreno Oliveira) Date: Wed, 27 Dec 2006 11:48:33 -0200 Subject: [Live-devel] packet losses streaming within the same host Message-ID: Hi there, I have just made an ad hoc test with openRTSP and testOnDemandRTSPServer and found a strange behavior. I am using only one host for the test. Within this host I start both rtsp server and client. I am using the -Q option of openRTSP for checking QoS oscilations during the streaming session. For my surprise the report of -Q option shows packet losses. Is this really expected? How does packets are being lost within a session from and to the same host? Thanks in advance! Loreno -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061227/ae1bb106/attachment-0001.html From finlayson at live555.com Wed Dec 27 05:56:10 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 27 Dec 2006 05:56:10 -0800 Subject: [Live-devel] packet losses streaming within the same host In-Reply-To: References: Message-ID: >I have just made an ad hoc test with openRTSP and >testOnDemandRTSPServer and found a strange behavior. I am using only >one host for the test. Within this host I start both rtsp server and >client. I am using the -Q option of openRTSP for checking QoS >oscilations during the streaming session. For my surprise the report >of -Q option shows packet losses. Is this really expected? How does >packets are being lost within a session from and to the same host? I'm not sure. Please post the (stderr) output of running "openRTSP" with the "-Q" and "-V" flags. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Dec 27 06:03:43 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 27 Dec 2006 06:03:43 -0800 Subject: [Live-devel] Number of frames In-Reply-To: <7FB4685EA93D014C8E30AA087B66E7520337D123@ssdimailsrvnt01.ssdi.sharp.co.in > References: <7FB4685EA93D014C8E30AA087B66E7520337D123@ssdimailsrvnt01.ssdi.sharp.co.in > Message-ID: >We are using RTP server and client test programs to stream MPEG II files. We >need to find out which packet belongs to which frame. In the LIVE555 code >base, the frame refers to picture header/GOP header/slice. However, we are >looking for the complete video frame (picture). Since one complete frame >goes in different packets, we need to find which packet belongs to which >frame. It wasn't clear from your message whether you are talking about the server end or the client end. I presume you're talking about the client (i.e., receiving) end. In most video RTP payload formats - including MPEG-2 - the RTP "M" (marker) bit is used to mark the last RTP packet for each complete video frame. You can test this bit (at the client end) by calling "RTPSource:: curPacketMarkerBit()". (Note, for example, how the VLC code does this - in its "live555.cpp" code.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From sergey.udaltsov at gmail.com Wed Dec 27 08:04:19 2006 From: sergey.udaltsov at gmail.com (Sergey Udaltsov) Date: Wed, 27 Dec 2006 16:04:19 +0000 Subject: [Live-devel] x-asf-pf Message-ID: <48890e640612270804v1e6676f5qd7be83404af59db7@mail.gmail.com> Ross, Thanks for the straight answer. I am absolutely not in the position to argue with you (and your knowledge) but did you see this: http://www.digitalpreservation.gov/formats/fdd/fdd000067.shtml There are some links on the documentation describing ASF format. Are there legal problems with it? Or is it incomplete? Yours, Sergey > > Is the > >documentation on this format publicly available? Does live555 have any > >plans to support it? > > No. Therefore, no. From lorenooliveira at gmail.com Wed Dec 27 08:14:36 2006 From: lorenooliveira at gmail.com (Loreno Oliveira) Date: Wed, 27 Dec 2006 14:14:36 -0200 Subject: [Live-devel] packet losses streaming within the same host In-Reply-To: References: Message-ID: Hi Ross, here is all the output of openRTSP. Just one tip that I forgot to say in the last mail: I am not using the latest verion of Live555. My version should be three or four months old. I have just fineshed to download the latest version right now. I will try it and post again if something goes diferent. Thanks for the help! Loreno ===================================== Sending request: OPTIONS rtsp://10.10.22.63:8554/mpeg1or2AudioVideoTest RTSP/1.0 CSeq: 1 User-Agent: ./openstream (LIVE555 Streaming Media v2006.10.12) Received OPTIONS response: RTSP/1.0 200 OK CSeq: 1 Date: Wed, Dec 27 2006 16:03:46 GMT Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE Sending request: DESCRIBE rtsp://10.10.22.63:8554/mpeg1or2AudioVideoTest RTSP/1.0 CSeq: 2 Accept: application/sdp User-Agent: ./openstream (LIVE555 Streaming Media v2006.10.12) Received DESCRIBE response: RTSP/1.0 200 OK CSeq: 2 Date: Wed, Dec 27 2006 16:03:46 GMT Content-Base: rtsp://10.10.22.63:8554/mpeg1or2AudioVideoTest/ Content-Type: application/sdp Content-Length: 444 Need to read 444 extra bytes Read 444 extra bytes: v=0 o=- 1167229720207810 1 IN IP4 10.10.22.63 s=Session streamed by "testOnDemandRTSPServer" i=mpeg1or2AudioVideoTest t=0 0 a=tool:LIVE555 Streaming Media v2006.10.12 a=type:broadcast a=control:* a=range:npt=0-36.426 a=x-qt-text-nam:Session streamed by "testOnDemandRTSPServer" a=x-qt-text-inf:mpeg1or2AudioVideoTest m=video 0 RTP/AVP 32 c=IN IP4 0.0.0.0 a=control:track1 m=audio 0 RTP/AVP 14 c=IN IP4 0.0.0.0 a=control:track2 Opened URL "rtsp://10.10.22.63:8554/mpeg1or2AudioVideoTest", returning a SDP description: v=0 o=- 1167229720207810 1 IN IP4 10.10.22.63 s=Session streamed by "testOnDemandRTSPServer" i=mpeg1or2AudioVideoTest t=0 0 a=tool:LIVE555 Streaming Media v2006.10.12 a=type:broadcast a=control:* a=range:npt=0-36.426 a=x-qt-text-nam:Session streamed by "testOnDemandRTSPServer" a=x-qt-text-inf:mpeg1or2AudioVideoTest m=video 0 RTP/AVP 32 c=IN IP4 0.0.0.0 a=control:track1 m=audio 0 RTP/AVP 14 c=IN IP4 0.0.0.0 a=control:track2 Created receiver for "video/MPV" subsession (client ports 32838-32839) Created receiver for "audio/MPA" subsession (client ports 32840-32841) Sending request: SETUP rtsp://10.10.22.63:8554/mpeg1or2AudioVideoTest/track1 RTSP/1.0 CSeq: 3 Transport: RTP/AVP;unicast;client_port=32838-32839 User-Agent: ./openstream (LIVE555 Streaming Media v2006.10.12) Received SETUP response: RTSP/1.0 200 OK CSeq: 3 Date: Wed, Dec 27 2006 16:03:46 GMT Transport: RTP/AVP;unicast;destination=10.10.22.63 ;client_port=32838-32839;server_port=6970-6971 Session: 6 Setup "video/MPV" subsession (client ports 32838-32839) Sending request: SETUP rtsp://10.10.22.63:8554/mpeg1or2AudioVideoTest/track2 RTSP/1.0 CSeq: 4 Transport: RTP/AVP;unicast;client_port=32840-32841 Session: 6 User-Agent: ./openstream (LIVE555 Streaming Media v2006.10.12) Received SETUP response: RTSP/1.0 200 OK CSeq: 4 Date: Wed, Dec 27 2006 16:03:46 GMT Transport: RTP/AVP;unicast;destination=10.10.22.63 ;client_port=32840-32841;server_port=6972-6973 Session: 6 Setup "audio/MPA" subsession (client ports 32840-32841) Created output file: "video-MPV-1" Created output file: "audio-MPA-2" Sending request: PLAY rtsp://10.10.22.63:8554/mpeg1or2AudioVideoTest RTSP/1.0 CSeq: 5 Session: 6 Range: npt=0.000- User-Agent: ./openstream (LIVE555 Streaming Media v2006.10.12) Received PLAY response: RTSP/1.0 200 OK CSeq: 5 Date: Wed, Dec 27 2006 16:03:46 GMT Range: npt=0.000- Session: 6 RTP-Info: url=rtsp://10.10.22.63:8554/mpeg1or2AudioVideoTest/track1;seq=55018;rtptime=2855875734,url=rtsp://10.10.22.63:8554/mpeg1or2AudioVideoTest/track2;seq=13186;rtptime=3220261482 Started playing session Receiving streamed data (for up to 36.425999 seconds)... begin_QOS_statistics server_availability 100 stream_availability 100 subsession video/MPV num_packets_received 5196 num_packets_lost 58 elapsed_measurement_time 36.001369 kBytes_received_total 5344.128000 measurement_sampling_interval_ms 1000 kbits_per_second_min 1122.442510 kbits_per_second_ave 1187.538841 kbits_per_second_max 1759.628689 packet_loss_percentage_min 0.000000 packet_loss_percentage_ave 1.103921 packet_loss_percentage_max 20.422535 inter_packet_gap_ms_min 0.024000 inter_packet_gap_ms_ave 6.937548 inter_packet_gap_ms_max 433.730000 subsession audio/MPA num_packets_received 282 num_packets_lost 0 elapsed_measurement_time 36.001369 kBytes_received_total 295.790000 measurement_sampling_interval_ms 1000 kbits_per_second_min 50.340929 kbits_per_second_ave 65.728612 kbits_per_second_max 108.745669 packet_loss_percentage_min 0.000000 packet_loss_percentage_ave 0.000000 packet_loss_percentage_max 0.000000 inter_packet_gap_ms_min 0.068000 inter_packet_gap_ms_ave 127.450004 inter_packet_gap_ms_max 444.890000 end_QOS_statistics Sending request: TEARDOWN rtsp://10.10.22.63:8554/mpeg1or2AudioVideoTest RTSP/1.0 CSeq: 6 Session: 6 User-Agent: ./openstream (LIVE555 Streaming Media v2006.10.12) Received TEARDOWN response: RTSP/1.0 200 OK CSeq: 6 Date: Wed, Dec 27 2006 16:04:23 GMT ===================================== On 12/27/06, Ross Finlayson wrote: > > >I have just made an ad hoc test with openRTSP and > >testOnDemandRTSPServer and found a strange behavior. I am using only > >one host for the test. Within this host I start both rtsp server and > >client. I am using the -Q option of openRTSP for checking QoS > >oscilations during the streaming session. For my surprise the report > >of -Q option shows packet losses. Is this really expected? How does > >packets are being lost within a session from and to the same host? > > I'm not sure. Please post the (stderr) output of running "openRTSP" > with the "-Q" and "-V" flags. > -- > > 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/20061227/b90bdf2c/attachment.html From darnold at futurec.net Wed Dec 27 08:51:00 2006 From: darnold at futurec.net (Dave Arnold) Date: Wed, 27 Dec 2006 08:51:00 -0800 Subject: [Live-devel] Develop H.264 Support In-Reply-To: Message-ID: <200612271651.kBRGpqUd032562@ns.live555.com> >>Most of the time, when no container is used, raw H264 frames are >>simply put in a ".h264" file. >The trouble with this approach is that I'm not sure whether 'raw >H.264 frames' - simply concatenated together with nothing separating >them - can be parsed into discrete NAL units. (This would be >necessary in order to stream the data.) >People sometimes overcome this problem by prepending the byte string >0x00 0x00 0x01 to each NAL unit in the file - allowing the NAL units >to be parsed from the file later. However, I'm not sure if that's an >official file format that's written up anywhere. I believe the 0x00 0x00 0x01 sequence is defined in Annex B (Byte Stream Format) of DRAFT ITU-T Rec. H.264 (2002 E) which states, "This annex specifies syntax and semantics of a byte stream format for use by application that deliver some or all of the NAL unit stream as an ordered stream of bytes or bits within which the locations of NAL unit boundaries need to be identifiable from patterns in the data..." This "Byte Stream" format would seem suitable as a storage format. Also please note that VLC recognizes this byte stream format. However, since H.264 doesn't specify frame rate and this byte stream format doesn't specify frame rate, there must be some other mechanism to specify it. Dave The information contained in this electronic mail transmission is intended only for the use of the individual or entity named above and is privileged and confidential. If you are not the intended recipient, please do not read, copy, use or disclose this communication to others. Any dissemination, distribution or copying of this communication other than to the person or entity named above is strictly prohibited. If you have received this communication in error, please immediately delete it from your system. From wweng at kencast.com Wed Dec 27 09:23:28 2006 From: wweng at kencast.com (Wei Weng) Date: Wed, 27 Dec 2006 12:23:28 -0500 Subject: [Live-devel] Problem with Amino set-top box. In-Reply-To: References: <1166652219.22449.13.camel@localhost.localdomain> <1166660252.26594.4.camel@localhost.localdomain> Message-ID: <1167240208.32167.0.camel@localhost.localdomain> On Wed, 2006-12-20 at 14:28 -1000, Ross Finlayson wrote: > >On Wed, 2006-12-20 at 13:42 -1000, Ross Finlayson wrote: > >> >What is the trick here? How do I get Amino box to work with Live? > >> > >> Note that the Amino set-top box can play only MPEG Transport Stream > >> data - not MPEG Program Stream data (or anything else). Therefore, > >> your original file must be a Transport Stream file. > >> > >> If you have a MPEG Transport Stream file - whose picture is the > >> appropriate dimensions to be displayed by the Amino STB - then you > >> can stream it, using either "testOnDemandRTSPServer" (filename > >> "test.ts") or "live555MediaServer" (filename .ts) > > > >Ahhhhhh, Thanks a lot for the tip! > > > >I am thinking about using VLC to initially read from the mpeg file (the > >file format would be .mpeg) and stream it out with TS format, my > >question would be "Is there anyway to take the streaming output from VLC > >server and pipe it through LiveMediaServer?" > > No, not really, > > However, I instead suggest that you use the > "testMPEG1or2ProgramToTransportStream" application (distributed in > the "testProgs" directory) to convert your Program Stream file to a > Transport Stream file. You can then stream this (using our RTSP > server applications) to an Amino STB. Thanks for the help so far. I have been looking into the source for all those test applications lately. Is there any way to transcode the program stream on the fly? For the application I am going to use live555 in, I don't really have the luxury of converting the program stream files first, then streaming them out as transport stream files. Any hints would be greatly appreciated. Thanks Wei From finlayson at live555.com Wed Dec 27 10:33:43 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 27 Dec 2006 10:33:43 -0800 Subject: [Live-devel] x-asf-pf In-Reply-To: <48890e640612270804v1e6676f5qd7be83404af59db7@mail.gmail.com> References: <48890e640612270804v1e6676f5qd7be83404af59db7@mail.gmail.com> Message-ID: >Thanks for the straight answer. I am absolutely not in the position to >argue with you (and your knowledge) but did you see this: >http://www.digitalpreservation.gov/formats/fdd/fdd000067.shtml >There are some links on the documentation describing ASF format. Are >there legal problems with it? Or is it incomplete? Unfortunately that describes just a file format. It does not describe the "audio/X-ASF-PF" (or "application/X-WMS-RTX" or "video/X-ASF-PF") RTP payload format, which describes how data from such files (perhaps) are packed into RTP packets. However, if anyone figures this out, and wishes to write code to handle these RTP payload formats, then I would be happy to add it to the "LIVE555 Streaming Media" library code. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Dec 27 10:57:35 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 27 Dec 2006 10:57:35 -0800 Subject: [Live-devel] Develop H.264 Support In-Reply-To: <200612271651.kBRGpqUd032562@ns.live555.com> References: <200612271651.kBRGpqUd032562@ns.live555.com> Message-ID: >This "Byte Stream" format would seem suitable as a storage format. Also >please note that VLC recognizes this byte stream format. However, since >H.264 doesn't specify frame rate and this byte stream format doesn't specify >frame rate, there must be some other mechanism to specify it. For streaming, all we would need to know is: (i) the 'duration' of each NAL unit - i.e., the time that we'd need to wait between sending each one, and (ii) whether or not each NAL unit ends a complete 'access unit' (i.e., video frame). I presume that (ii) is easy to figure out. But what about (i) - are you saying that it's not possible to figure this out just by looking at the NAL unit data? (Is there no timing information there like there is for MPEG-1,2 or 4?) If that's the case, then this would be a show stopper for using that simple byte stream format for streaming. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Dec 27 11:28:37 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 27 Dec 2006 11:28:37 -0800 Subject: [Live-devel] packet losses streaming within the same host In-Reply-To: References: Message-ID: >here is all the output of openRTSP. That's very strange. I was not able to reproduce this (with the RTSP server and openRTSP running on the same host). Perhaps this is an operating system specific problem; what operating system are you running? -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Dec 27 11:37:18 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 27 Dec 2006 11:37:18 -0800 Subject: [Live-devel] Problem with Amino set-top box. In-Reply-To: <1167240208.32167.0.camel@localhost.localdomain> References: <1166652219.22449.13.camel@localhost.localdomain> <1166660252.26594.4.camel@localhost.localdomain> <1167240208.32167.0.camel@localhost.localdomain> Message-ID: > > However, I instead suggest that you use the >> "testMPEG1or2ProgramToTransportStream" application (distributed in >> the "testProgs" directory) to convert your Program Stream file to a >> Transport Stream file. You can then stream this (using our RTSP >> server applications) to an Amino STB. > >Thanks for the help so far. > >I have been looking into the source for all those test applications >lately. Is there any way to transcode the program stream on the fly? Yes. If you look at the code for the "testMPEG1or2ProgramToTransportStream" demo application, you'll see that reads from a "ByteStreamFileSource", and writes to a "FileSink". You can replace the "ByteStreamFileSource" with a source object for your Program Stream (or, if your Program Stream source is accessible as a file, then you can simply continue using a "ByteStreamFileSource", but with a different input file name). Then, replace the "FileSink" with a "MPEG2TransportStreamFramer", chained to a "SimpleRTPSink", as illustrated by the code for "testMPEG2TransportStreamer" (multicast streaming) or "MPEG2TransportFileServerMediaSubsession" (unicast streaming). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From jerry.johns at gmail.com Wed Dec 27 15:21:31 2006 From: jerry.johns at gmail.com (Jerry Johns) Date: Wed, 27 Dec 2006 19:21:31 -0400 Subject: [Live-devel] Develop H.264 Support Message-ID: <550c59e90612271521l4290fef9p36781fa4680783b2@mail.gmail.com> Hi, If there is anything closely definable as a standard H.264 format, it would be that ITU JVT spec pointed out by Dave; the NAL unit delimiter 0x00000001 should be present to identify NAL units, and if ur gonna talk bout elementary stream H.264, then thats the way to go and i dont see the confusion (if ur talking bout container types like mov, and mpeg4, thats not elementary and a different story) also, to get frame rate, you need to find the NAL unit of type SEI (supplemental enhancement information) and there is a picture timing message structure in there that governs current slice timing only problem is most of this data is exp golomb coded so getting at it requires a litlte bitta work (exp golomb is VLC type code i think) i've managed to get a basic H264 VideoStreamFramer going that does RTP packetization of H.264 and it works fine with VLC media player if you use single NAL unit mode + FUA framing, you can implement it quite easily i think Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061227/7dc8503e/attachment.html From darnold at futurec.net Wed Dec 27 15:57:24 2006 From: darnold at futurec.net (Dave Arnold) Date: Wed, 27 Dec 2006 15:57:24 -0800 Subject: [Live-devel] Develop H.264 Support In-Reply-To: <550c59e90612271521l4290fef9p36781fa4680783b2@mail.gmail.com> Message-ID: <200612272357.kBRNvsAH036262@ns.live555.com> I didn't realize SEI contained timing information. I know that not all encoders generate SEI NAL Units, in fact, one that we are using doesn't. But, it should be possible to generate SEI and insert it into the file stream if the encoder doesn't generate it. Dave _____ From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Jerry Johns Sent: Wednesday, December 27, 2006 3:22 PM To: live-devel at ns.live555.com Subject: Re: [Live-devel] Develop H.264 Support Hi, If there is anything closely definable as a standard H.264 format, it would be that ITU JVT spec pointed out by Dave; the NAL unit delimiter 0x00000001 should be present to identify NAL units, and if ur gonna talk bout elementary stream H.264, then thats the way to go and i dont see the confusion (if ur talking bout container types like mov, and mpeg4, thats not elementary and a different story) also, to get frame rate, you need to find the NAL unit of type SEI (supplemental enhancement information) and there is a picture timing message structure in there that governs current slice timing only problem is most of this data is exp golomb coded so getting at it requires a litlte bitta work (exp golomb is VLC type code i think) i've managed to get a basic H264 VideoStreamFramer going that does RTP packetization of H.264 and it works fine with VLC media player if you use single NAL unit mode + FUA framing, you can implement it quite easily i think Jerry The information contained in this electronic mail transmission is intended only for the use of the individual or entity named above and is privileged and confidential. If you are not the intended recipient, please do not read, copy, use or disclose this communication to others. Any dissemination, distribution or copying of this communication other than to the person or entity named above is strictly prohibited. If you have received this communication in error, please immediately delete it from your system. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061227/28d7ae68/attachment.html From zjuchenjun at hotmail.com Wed Dec 27 16:55:25 2006 From: zjuchenjun at hotmail.com (chenjun) Date: Thu, 28 Dec 2006 08:55:25 +0800 Subject: [Live-devel] streaming live h.264 video Message-ID: Hello,everyone. Happy New Year! I want to stream live H.264 video which encoded by a hardware encoder(dsp) and every encoded frame is stored in a buffer( e.g. char *encode_data =(char*)malloc(ENCODE_FRAME_LEN) ). I had read the FAQs of the live555 streaming media libraries, it provides some solutions about how to stream live video. However, I feel it is difficult to fill the code of functions described by FAQs since I didn?t understand the library well. I defined a subclass of ?H264VideoStreamFramer?----?H264VideoStreamDiscreteFramer?, it?s member functions include ?virtual void doGetNextFrame()?, ?void deliverFrame()?, ?virtual Boolean currentNALUnitEndsAccessUnit()? ? how to fill these functions ?(I read the annotate in ?DeviceSource.hh? but puzzled. ) I also defined subclass of ?OnDemandServerMediaSubsession? --- ?H264VideoLiveServerMediaSubsession? followed FAQs about the ?testOnDemandRTSPServer??how to fill the member functions? Just followed the existing ?FileServerMediaSubsession? subclass? Could anyone give me some suggests? Thanks in advance. _________________________________________________________________ Windows Live Safety Center ?????????????????? http://safety.live.com/site/ZH-CN/default.htm -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061227/277df4c8/attachment.html From jerry.johns at gmail.com Wed Dec 27 19:10:58 2006 From: jerry.johns at gmail.com (Jerry Johns) Date: Wed, 27 Dec 2006 22:10:58 -0500 Subject: [Live-devel] Develop H.264 Support Message-ID: <550c59e90612271910p6af7e8d7q3dd0dbcd2cf10437@mail.gmail.com> yup, SEI contains the timing info - if you have a stream like mine which doesn't have SEI in it, then all is not lost you have to compute presentation time yourself, which sorta sucks, but's doable if your encoder is simple enough, if you come across a NAL unit which is a slice unit (type a, b, idr, etc..there's like 4 types listed in the table of NAL types) then first you have to figure out how many slices compose the current frame; there is a variable in the slice (or in the PPS, i'm not sure) that tells how many slices make up the current frame if your framerate is constant (it should be), e.g 30fps, then your fPresentationTime should += 33ms for each frame (so for e.g 3 slices in one frame, all should get same timestamp) this worked for me, but i got problems with drift since i wasn't synced with my video source...if your playing from a file, all's good and dandy, but if your streaming from a live source, then get your 'current frame time' for the dequeued frame you got from the source..that way you never lose sync. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061227/c365bae9/attachment-0001.html From ymreddy at ssdi.sharp.co.in Wed Dec 27 19:49:13 2006 From: ymreddy at ssdi.sharp.co.in (Mallikharjuna Reddy (NAVT)) Date: Thu, 28 Dec 2006 09:19:13 +0530 Subject: [Live-devel] Number of frames Message-ID: <7FB4685EA93D014C8E30AA087B66E7520337D124@ssdimailsrvnt01.ssdi.sharp.co.in> Hi Ross, Thanks for the information. I am looking on the server side for finding which packet belongs to which frame. Thanks and Regards Y. Mallikharjuna Reddy -----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, December 27, 2006 7:34 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] Number of frames >We are using RTP server and client test programs to stream MPEG II files. We >need to find out which packet belongs to which frame. In the LIVE555 code >base, the frame refers to picture header/GOP header/slice. However, we are >looking for the complete video frame (picture). Since one complete frame >goes in different packets, we need to find which packet belongs to which >frame. It wasn't clear from your message whether you are talking about the server end or the client end. I presume you're talking about the client (i.e., receiving) end. In most video RTP payload formats - including MPEG-2 - the RTP "M" (marker) bit is used to mark the last RTP packet for each complete video frame. You can test this bit (at the client end) by calling "RTPSource:: curPacketMarkerBit()". (Note, for example, how the VLC code does this - in its "live555.cpp" code.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel From lorenooliveira at gmail.com Wed Dec 27 19:53:29 2006 From: lorenooliveira at gmail.com (Loreno Oliveira) Date: Thu, 28 Dec 2006 00:53:29 -0300 Subject: [Live-devel] packet losses streaming within the same host In-Reply-To: References: Message-ID: I am using Ubuntu (Dapper). I do not know right now the kernel version because I am using other computer then the used in the tests. I tried the latest version of Live555, with the same problem... Tomorrow I will try to compile and run the code on windows and post the result here along with the kernel version of the machine I was using... Loreno On 12/27/06, Ross Finlayson wrote: > > >here is all the output of openRTSP. > > That's very strange. I was not able to reproduce this (with the RTSP > server and openRTSP running on the same host). Perhaps this is an > operating system specific problem; what operating system are you > running? > > -- > > 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/20061227/3ca40287/attachment.html From TAYK0004 at ntu.edu.sg Wed Dec 27 21:26:13 2006 From: TAYK0004 at ntu.edu.sg (#TAY KOON HWEE#) Date: Thu, 28 Dec 2006 13:26:13 +0800 Subject: [Live-devel] Support for H.264 References: <438567054C073949AEBE5A28B83E7DE133FC83@MAIL21.student.main.ntu.edu.sg> Message-ID: <438567054C073949AEBE5A28B83E7DE133FC84@MAIL21.student.main.ntu.edu.sg> Morning Ross, Thanks for the guidance. I need some extra hints/help from you. 1) Other than doGetNextFrame, fPresentationTime, currentNALUnitEndsAccessUnit, what other functions do I need to implement into the subclass of "H264VideoStreamFramer"? 2) I have read up on writing h.264 RTP. Isit that the payload of the RTP is the same as the payload of the NALU? If not, how do we calculate the payload? My encoder supports NALU type 1-13 which is single NAL unit per frame. Many thanks in advanced. If I managed to write one out, will upload for anyone who needs it as reference. kunhui Message-ID: Content-Type: text/plain; charset="us-ascii" ; format="flowed" >I tried to create the h.264framer but to no success. I currently using a >open source nokia encoder. I believe it is encoding the video in type one. >Single NAL in one unit. If your source delivers discrete NAL units, then your subclass of "H264VideoStreamFramer" (which you will write) will be very simple. Just implement the "doGetNextFrame()" virtual function (see "DeviceSource.cpp" for hints on this) to deliver individual NAL units (don't forget to set "fPresentationTime" properly). Also, implement "currentNALUnitEndsAccessUnit()" to return True iff the most recently delivered NAL unit ends a complete video frame. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061227/bbbdf3f6/attachment.html From ymreddy at ssdi.sharp.co.in Wed Dec 27 21:42:50 2006 From: ymreddy at ssdi.sharp.co.in (Mallikharjuna Reddy (NAVT)) Date: Thu, 28 Dec 2006 11:12:50 +0530 Subject: [Live-devel] Number of frames Message-ID: <7FB4685EA93D014C8E30AA087B66E7520337D125@ssdimailsrvnt01.ssdi.sharp.co.in> Hi Ross, We found that on the server side, we can use setMarkerBit() function to find which packet belongs to which frame. This works fine for ES and PS streams. But for TS streams, this market bit is not set when the frame is complete in doSpecialFrameHandling() function in SimpleRTPSink.cpp file. Any clues on this. Thanks and Regards Y. Mallikharjuna Reddy -----Original Message----- From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com]On Behalf Of Mallikharjuna Reddy (NAVT) Sent: Thursday, December 28, 2006 9:19 AM To: 'LIVE555 Streaming Media - development & use' Subject: Re: [Live-devel] Number of frames Hi Ross, Thanks for the information. I am looking on the server side for finding which packet belongs to which frame. Thanks and Regards Y. Mallikharjuna Reddy -----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, December 27, 2006 7:34 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] Number of frames >We are using RTP server and client test programs to stream MPEG II files. We >need to find out which packet belongs to which frame. In the LIVE555 code >base, the frame refers to picture header/GOP header/slice. However, we are >looking for the complete video frame (picture). Since one complete frame >goes in different packets, we need to find which packet belongs to which >frame. It wasn't clear from your message whether you are talking about the server end or the client end. I presume you're talking about the client (i.e., receiving) end. In most video RTP payload formats - including MPEG-2 - the RTP "M" (marker) bit is used to mark the last RTP packet for each complete video frame. You can test this bit (at the client end) by calling "RTPSource:: curPacketMarkerBit()". (Note, for example, how the VLC code does this - in its "live555.cpp" code.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel _______________________________________________ live-devel mailing list live-devel at lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel From finlayson at live555.com Wed Dec 27 23:13:46 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 27 Dec 2006 23:13:46 -0800 Subject: [Live-devel] packet losses streaming within the same host In-Reply-To: References: Message-ID: >I am using Ubuntu (Dapper). I do not know right now the kernel >version because I am using other computer then the used in the tests. Perhaps you are running into some kernel resource limit - in which case it might be possible to increase it. >Tomorrow I will try to compile and run the code on windows That seems like a step backwards. I suggest sticking with Linux (or else try FreeBSD, which works OK for me). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Wed Dec 27 23:18:48 2006 From: finlayson at live555.com (Ross Finlayson) Date: Wed, 27 Dec 2006 23:18:48 -0800 Subject: [Live-devel] Support for H.264 In-Reply-To: <438567054C073949AEBE5A28B83E7DE133FC84@MAIL21.student.main.ntu.edu.sg> References: <438567054C073949AEBE5A28B83E7DE133FC83@MAIL21.student.main.ntu.edu.sg> <438567054C073949AEBE5A28B83E7DE133FC84@MAIL21.student.main.ntu.edu.sg> Message-ID: >1) Other than doGetNextFrame, fPresentationTime, >currentNALUnitEndsAccessUnit, what other functions do I need to >implement into the subclass of "H264VideoStreamFramer"? None, other than "doGetNextFrame()" and "currentNALUnitEndsAccessUnit()" >2) I have read up on writing h.264 RTP. Isit that the payload of the >RTP is the same as the payload of the NALU? Yes, but you don't need to worry about the RTP payload; the "H264VideoRTPSink" class takes care of the packetization. All you need to do is make sure that your "H264VideoStreamFramer" subclass delivers NAL units (one at a time), with proper "fPresentationTIme"s. -- 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/20061227/1d293286/attachment.html From mrnikhilagrawal at gmail.com Thu Dec 28 04:45:57 2006 From: mrnikhilagrawal at gmail.com (Nikhil Agrawal) Date: Thu, 28 Dec 2006 18:15:57 +0530 Subject: [Live-devel] Regarding wav files archive Message-ID: <733cde3e0612280445l5815596dmb45e8c438aacc45a@mail.gmail.com> Hi, Is there anyone who can help me to get multichannel wave file samples? I want some samples of wave file with multichannels (>2) prefferably 4 , 6 channels . so if anyone knows any archive location from where i can download such files , please tell me . Thanks in anticipation. Regards, Nikhil Agrawal -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061228/f6b095d4/attachment.html From TAYK0004 at ntu.edu.sg Thu Dec 28 11:03:30 2006 From: TAYK0004 at ntu.edu.sg (#TAY KOON HWEE#) Date: Fri, 29 Dec 2006 03:03:30 +0800 Subject: [Live-devel] H.264 encoder Message-ID: <438567054C073949AEBE5A28B83E7DE133FC87@MAIL21.student.main.ntu.edu.sg> Hi guys, upon reading the various posts on h.264, I went to read up more on the encoder I discovered that it is using Annex B file format and supports NALU type 0-13. I using the encoder to encode live video from a webcam and then to stream it to a pda Some of the questions 1) For each encoded frame, do they have different NALU type? 2) For live video, what are the differences in the videoframer compare to a .264 file. The yuv of the captured video from the webcam is stored in a buffer before being encoded. Many thanks from a novice in RTP. kunhui -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061228/3d8c1619/attachment-0001.html From maxcvs at email.it Thu Dec 28 15:17:45 2006 From: maxcvs at email.it (Massimo Cora') Date: Fri, 29 Dec 2006 00:17:45 +0100 Subject: [Live-devel] Working program based on LiveMedia Message-ID: <45945099.4040701@email.it> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi guys, I post this mail just to inform you that there's another open source program out there based on the great LiveMedia libraries! It's called Omnimeeting, hosted on Sourceforge [ http://omnimeeting.sourceforge.net/ ], and it has been written by me. It has some classes that can give you an hint on how to implement something/start to use LiveMedia. In particular here you can found: #1 ffmpeg video encoder/decoder integration with H263+, MJPEG streams and OpenCV. #2 ffmpeg audio encoder for PCM data into MP3 #3 a sort of LinuxAudioInputDevice implementation #4 some subclassing to OnDemandServerMediaSubsession, MediaSink and so on #5 an unicast streamer and receiver example. #6 H263plusVideoSource, MJPEGVideoSource and a filter MP3FromPCM. #7 multistream support and so on.. you can see them more in details from here http://omnimeeting.cvs.sourceforge.net/omnimeeting/omnimeeting/streaming/ or just go and download the sources from the project site. ok it's nothing compared to the possibilities given by LiveMedia, but when I started the project I ever wanted to find some samples like these. I hope they can be useful in some way to someone here. regards, Massimo -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFFlFCZcfVTgMRILk0RAoXEAJ45nXnaXCs8yHN/JBgyXBdsoBgz1gCeL1Fy nP45JEH6M8heAyZK2CwhLJA= =41pQ -----END PGP SIGNATURE----- From TAYK0004 at ntu.edu.sg Fri Dec 29 09:54:47 2006 From: TAYK0004 at ntu.edu.sg (#TAY KOON HWEE#) Date: Sat, 30 Dec 2006 01:54:47 +0800 Subject: [Live-devel] H.264 RTP Message-ID: <438567054C073949AEBE5A28B83E7DE133FC89@MAIL21.student.main.ntu.edu.sg> Hi guys, need more help on h.264 RTP. my encoder will parse the encoded video in Annex B file format. Does this mean i do not need to write a VideoSteamParser? Also, I found in another program which stream MPEG4 video, the programmer did not implement a framer. Instead he modified the ByteStreamFileSource. ////////// ByteStreamVideoSource ////////// ByteStreamVideoSource::ByteStreamVideoSource(UsageEnvironment& env, unsigned preferredFrameSize, float playTimePerFrame) : FramedSource(env), fPreferredFrameSize(preferredFrameSize), fPlayTimePerFrame(playTimePerFrame) { } For my case, where the encoder gets the data from a ring buffer to encode and then pass to another ring buffer for streaming using RTP, can I dont have a framer.cpp and use the h.264video sink directly? Many thanks. zkunhui -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061229/dc09703d/attachment.html From finlayson at live555.com Fri Dec 29 13:50:40 2006 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 29 Dec 2006 13:50:40 -0800 Subject: [Live-devel] H.264 RTP In-Reply-To: <438567054C073949AEBE5A28B83E7DE133FC89@MAIL21.student.main.ntu.edu.sg> References: <438567054C073949AEBE5A28B83E7DE133FC89@MAIL21.student.main.ntu.edu.sg> Message-ID: >For my case, where the encoder gets the data from a ring buffer to >encode and then pass to another ring buffer for streaming using RTP, >can I dont have a framer.cpp and use the h.264video sink directly? No, your "H264VideoRTPSink" *must* be fed by a (subclass of) "MPEG4VideoStreamFramer" (because it needs to call the "currentNALUnitEndsAccessUnit()" virtual function, which your subclass will implement). -- 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/20061229/29073a9b/attachment.html From wweng at kencast.com Fri Dec 29 15:01:12 2006 From: wweng at kencast.com (Wei Weng) Date: Fri, 29 Dec 2006 18:01:12 -0500 Subject: [Live-devel] Problem with Amino set-top box. In-Reply-To: References: <1166652219.22449.13.camel@localhost.localdomain> <1166660252.26594.4.camel@localhost.localdomain> <1167240208.32167.0.camel@localhost.localdomain> Message-ID: <1167433272.13862.11.camel@localhost.localdomain> On Wed, 2006-12-27 at 11:37 -0800, Ross Finlayson wrote: > > > However, I instead suggest that you use the > >> "testMPEG1or2ProgramToTransportStream" application (distributed in > >> the "testProgs" directory) to convert your Program Stream file to a > >> Transport Stream file. You can then stream this (using our RTSP > >> server applications) to an Amino STB. > > > >Thanks for the help so far. > > > >I have been looking into the source for all those test applications > >lately. Is there any way to transcode the program stream on the fly? > > Yes. If you look at the code for the > "testMPEG1or2ProgramToTransportStream" demo application, you'll see > that reads from a "ByteStreamFileSource", and writes to a "FileSink". > You can replace the "ByteStreamFileSource" with a source object for > your Program Stream (or, if your Program Stream source is accessible > as a file, then you can simply continue using a > "ByteStreamFileSource", but with a different input file name). > > Then, replace the "FileSink" with a "MPEG2TransportStreamFramer", > chained to a "SimpleRTPSink", as illustrated by the code for > "testMPEG2TransportStreamer" (multicast streaming) or > "MPEG2TransportFileServerMediaSubsession" (unicast streaming). I started off with a rather simple program: // Open the input file as a 'byte-stream file source': ByteStreamFileSource* fileSource = ByteStreamFileSource::createNew(*env, inputFileName, inputDataChunkSize); if (fileSource == NULL) { *env << "Unable to open file \"" << inputFileName << "\" as a byte-stream file source\n"; exit(1); } // Create a 'framer' for the input source (to give us proper inter-packet gaps): videoSource = MPEG2TransportStreamFramer::createNew(*env, fileSource); // Create an appropriate 'RTP sink' from the RTP 'groupsock': videoSink = SimpleRTPSink::createNew(*env, &rtpGroupsock, 33, 90000, "video", "mp2t", 1, True, False /*no 'M' bit*/); // Basically copied and pasted from source file: testMPEG2TransportStream.cpp // about the videoSink and videoSource. Skip the details to make concise point. // Finally, start playing: *env << "Beginning to read from file...\n"; videoSink->startPlaying(*videoSource, afterPlaying, videoSink); The inputFilename is a MPEG2 Program Stream file. But I kept getting the error message: RTCPInstance[0x949e7a0]::RTCPInstance() schedule(1.798675->1167432428.065084) Beginning to read... Missing sync byte! Missing sync byte! The "Missing sync byte!" would repeat itself for quite a few times, then exit. (I have DEBUG flag turned on, so I can see those error messages pumping out on the console) I was expecting the program stream file transcoded to transport stream, and then output gracefully. What did I miss? Thanks and I greatly appreciate your help! Wei From finlayson at live555.com Fri Dec 29 14:57:22 2006 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 29 Dec 2006 14:57:22 -0800 Subject: [Live-devel] Working program based on LiveMedia In-Reply-To: <45945099.4040701@email.it> References: <45945099.4040701@email.it> Message-ID: >I post this mail just to inform you that there's another open source >program out there based on the great LiveMedia libraries! >It's called Omnimeeting, hosted on Sourceforge [ >http://omnimeeting.sourceforge.net/ ], and it has been written by me. Massimo, Thanks for the announcement; it's great to read about interesting new applications that use our librararies. (I have now added a link to your project in the "Some third-party applications" section of the "liveMedia" web page. If you have any new generic code - not dependent on other special libraries - that you'd like to see added to the "LIVE555 Streaming Media" code, just let us know. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Fri Dec 29 19:55:10 2006 From: finlayson at live555.com (Ross Finlayson) Date: Fri, 29 Dec 2006 19:55:10 -0800 Subject: [Live-devel] Problem with Amino set-top box. In-Reply-To: <1167433272.13862.11.camel@localhost.localdomain> References: <1166652219.22449.13.camel@localhost.localdomain> <1166660252.26594.4.camel@localhost.localdomain> <1167240208.32167.0.camel@localhost.localdomain> <1167433272.13862.11.camel@localhost.localdomain> Message-ID: >The inputFilename is a MPEG2 Program Stream file. There's your problem right there. The code you wrote was for streaming a MPEG-2 *Transport* Stream file. A Program Stream file is very different (and you can't stream it to an Amino STB, without first converting it a Transport Stream). You must add filters - between your "ByteStreamFileSource" and your "MPEG2TransportStreamFramer" - that converts from a Program Stream to a Transport Stream. See the code for the "testMPEG1or2ProgramToTransportStream" demo application to see how to do this. >But I kept getting the error message: > >RTCPInstance[0x949e7a0]::RTCPInstance() >schedule(1.798675->1167432428.065084) >Beginning to read... >Missing sync byte! >Missing sync byte! > >The "Missing sync byte!" would repeat itself for quite a few times, >then exit. grep "Missing sync byte" liveMedia/*.cpp Remember, You Have Complete Source Code. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From vd_mail_id at yahoo.com Sat Dec 30 01:11:13 2006 From: vd_mail_id at yahoo.com (vd mail_id) Date: Sat, 30 Dec 2006 01:11:13 -0800 (PST) Subject: [Live-devel] rtcp and mpeg streaming control Message-ID: <20061230091113.31973.qmail@web59011.mail.re1.yahoo.com> Hello, I am beginner and going through live 555 mailling list to understand the software. How are Receiver and Sender RTCP reports used to control the mpeg-4 stream? Does the software decrease the stream transmission rate in case of packet loss? Thanks in advance --Vikram __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061230/420d5fd0/attachment.html From vd_mail_id at yahoo.com Sat Dec 30 01:13:39 2006 From: vd_mail_id at yahoo.com (vd mail_id) Date: Sat, 30 Dec 2006 01:13:39 -0800 (PST) Subject: [Live-devel] DMIF support? Message-ID: <833821.35456.qm@web59010.mail.re1.yahoo.com> Does the streaming server implement something similar to DMIF for controlling the mpeg-4 streaming? Thanks --Vikram __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.live555.com/pipermail/live-devel/attachments/20061230/35e888a3/attachment.html From finlayson at live555.com Sat Dec 30 01:24:42 2006 From: finlayson at live555.com (Ross Finlayson) Date: Sat, 30 Dec 2006 01:24:42 -0800 Subject: [Live-devel] rtcp and mpeg streaming control In-Reply-To: <20061230091113.31973.qmail@web59011.mail.re1.yahoo.com> References: <20061230091113.31973.qmail@web59011.mail.re1.yahoo.com> Message-ID: >Hello, > >I am beginner and going through live 555 mailling list to understand >the software. How are Receiver and Sender RTCP reports used to >control the mpeg-4 stream? Does the software decrease the stream >transmission rate in case of packet loss? No. RTCP reports are used only to report information; they have no effect on the actual streaming of audio/video data (via RTP). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Sat Dec 30 01:34:22 2006 From: finlayson at live555.com (Ross Finlayson) Date: Sat, 30 Dec 2006 01:34:22 -0800 Subject: [Live-devel] DMIF support? In-Reply-To: <833821.35456.qm@web59010.mail.re1.yahoo.com> References: <833821.35456.qm@web59010.mail.re1.yahoo.com> Message-ID: >Does the streaming server implement something similar to DMIF for >controlling the mpeg-4 streaming? No. (Remember, You Have Complete Source Code.) -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ From finlayson at live555.com Sun Dec 31 17:31:45 2006 From: finlayson at live555.com (Ross Finlayson) Date: Sun, 31 Dec 2006 17:31:45 -0800 Subject: [Live-devel] Initial support for server 'trick play' operations on Transport Stream files Message-ID: The latest version (2006.12.31) of the "LIVE555 Streaming Media" software includes initial support for server 'trick play' operations (seeking, fast forward, reverse play) on MPEG-2 Transport Stream files. The actual RTSP server code itself does not yet support Transport Stream 'trick play' operations; however, that will be added probably for the next release - perhaps within a day or so. To support 'trick play' operations on a Transport Stream file, the server must have a corresponding "index file". This index file describes the position - within the Transport Stream file - of video I-frames (i.e., key frames); these frames are used to produce a fast forward or reverse play stream. Each Transport Stream file that you wish to stream must have a corresponding "index file" (if it doesn't, the the server will still be able to stream the file, but without 'trick play' operations). The index files use the file name suffix ".tsx"; for example, if your Transport Stream file is named "foo.ts", then the corresponding index file will be named "foo.tsx". The current release of the "LIVE 555 Streaming Media" software includes a utility - called "MPEG2TransportStreamIndexer", in the "testProgs" directory - that you can use to generate index files for your Transport Stream files. To generate each index file, run MPEG2TransportStreamIndexer Be warned that this program is currently rather slow, so I suggest running it on the fastest computer that you have. Once you have generated your index files, you can try running a demo application called "testMPEG2TransportStreamTrickPlay" (also in the "testProgs" directory) to simulate the effect of 'trick play' operations on Transport Stream files. To run it: testMPEG2TransportStreamTrickPlay where is the original Transport Stream file name (which must end with ".ts"). There must also be a corresponding index file for this file. is the starting play time in seconds (use 0 to play from the start) is a non-zero integer, representing the playing speed (use a negative number for reverse play) Examples (assume that your original Transport Stream file is named "foo.ts", and that you have already generated an index file, named "too.tsx"): testMPEG2TransportStreamTrickPlay foo.ts 0 8 foo8.ts The output file "foo8.ts" is the original stream, sped up 8x testMPEG2TransportStreamTrickPlay foo.ts 30 -1 foo-1.ts The output file "foo-1.ts" is the original stream, played backwards (at 1x speed), starting from the 30 second point. testMPEG2TransportStreamTrickPlay foo.ts 30 -5 foo-5.ts The output file "foo-5.ts" is the original stream, played backwards (at 5x speed), starting from the 30 second point. If you have any problems with these programs, please let us know, including the URL of the original Transport Stream file, so we can take a look at it. A reminder once again that this 'trick play' functionality will be added to the RTSP server code shortly. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/