From Marlon at scansoft.co.za Tue Nov 1 00:51:29 2011
From: Marlon at scansoft.co.za (Marlon Reid)
Date: Tue, 1 Nov 2011 09:51:29 +0200
Subject: [Live-devel] Payload attributes
Message-ID: <002962EA5927BE45B2FFAB0B5B5D67970A897E@SSTSVR1.sst.local>
Hi,
I want my application to be able to stream different streams of the same
type, but with different attributes. For example, I want to stream a
44100khz PCM and a 22050khz PCM. The application that receives the
stream will play the one selected by the user. The question is how can
I add this information to the SDP description. Should I create one for
every type e.g. PCM 16 44100 stereo, PCM 8 22050 mono and add it to the
lookupPayloadFormat function in MediaSession.cpp? What about the
information not provided for in the function, such as kpbs?
I hope the question is clear.
Thanks
___________________________________
Marlon Reid
Web: www.scansoft.co.za
Tel: +27 21 913 8664
Cell: +27 72 359 0902
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 32497 bytes
Desc: SST Logo with Shadow.png
URL:
From finlayson at live555.com Tue Nov 1 01:17:56 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Tue, 1 Nov 2011 01:17:56 -0700
Subject: [Live-devel] Payload attributes
In-Reply-To: <002962EA5927BE45B2FFAB0B5B5D67970A897E@SSTSVR1.sst.local>
References: <002962EA5927BE45B2FFAB0B5B5D67970A897E@SSTSVR1.sst.local>
Message-ID: <53ADB73A-96ED-4D40-8D4C-556284591732@live555.com>
> I want my application to be able to stream different streams of the same type, but with different attributes. For example, I want to stream a 44100khz PCM and a 22050khz PCM. The application that receives the stream will play the one selected by the user. The question is how can I add this information to the SDP description. Should I create one for every type e.g. PCM 16 44100 stereo, PCM 8 22050 mono and add it to the lookupPayloadFormat function in MediaSession.cpp? What about the information not provided for in the function, such as kpbs?
You (the server developer) don't deal with SDP descriptions directly; our software takes care of this for you.
Because you want your server to support streaming different streams (selected by the user), these should be separate "ServerMediaSession" objects (each with a separate stream name). Each of these "ServerMediaSession" objects will have a single "ServerMediaSubsession" (subclass) member.
You, as a server developer, will need to define and implement your own "ServerMediaSubsession" subclass for your PCM streams. You may find it useful to use the "WAVAudioFileServerMediaSubsession" code as a model for this. As always, you will need to implement the virtual functions "createNewStreamSource()" and "createNewRTPSink()". In particular, you will implement "createNewRTPSink()" by calling
SimpleRTPSink::createNew()
with appropriate parameters (again, you may find it useful to use the "WAVAudioFileServerMediaSubsession" code as a model). Our server code will automatically generate an appropriate SDP description for each stream, based on the parameters that you gave to "SimpleRTPSink::createNew()".
Your RTSP client can then access the desired stream by including the desired stream name in the "rtsp://" URL.
Note that you should not need to modify *any* of our library code to develop your server or client.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From Marlon at scansoft.co.za Tue Nov 1 01:38:42 2011
From: Marlon at scansoft.co.za (Marlon Reid)
Date: Tue, 1 Nov 2011 10:38:42 +0200
Subject: [Live-devel] Payload attributes
In-Reply-To: <53ADB73A-96ED-4D40-8D4C-556284591732@live555.com>
References: <002962EA5927BE45B2FFAB0B5B5D67970A897E@SSTSVR1.sst.local>
<53ADB73A-96ED-4D40-8D4C-556284591732@live555.com>
Message-ID: <002962EA5927BE45B2FFAB0B5B5D67970A8980@SSTSVR1.sst.local>
Hi Ross,
Thanks for the reply.
I have already created my own ServerMediaSubsession subclasses for my
application. One for PCM and one for MP3. By doing this, the listener
is able to see if it is receiving a PCM stream or a MP3 stream and play
it correctly. The problem however is that I need to send attributes
along, for example the bits, frequency and channels of the PCM sample so
that the listener knows how to play it. The bits, frequency and
channels can be changed on the streamer side and this is the information
that I want in the SDPDescription or any other appropriate place.
I guess the main point is if I can put bits, channels and frequency in
the RTP stream so that the listening application can get it out and play
the sample correctly.
I hope that this is more clear.
___________________________________
Marlon Reid
Web: www.scansoft.co.za
Tel: +27 21 913 8664
Cell: +27 72 359 0902
________________________________
From: live-devel-bounces at ns.live555.com
[mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson
Sent: 01 November 2011 10:18 AM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] Payload attributes
I want my application to be able to stream different streams of
the same type, but with different attributes. For example, I want to
stream a 44100khz PCM and a 22050khz PCM. The application that receives
the stream will play the one selected by the user. The question is how
can I add this information to the SDP description. Should I create one
for every type e.g. PCM 16 44100 stereo, PCM 8 22050 mono and add it to
the lookupPayloadFormat function in MediaSession.cpp? What about the
information not provided for in the function, such as kpbs?
You (the server developer) don't deal with SDP descriptions directly;
our software takes care of this for you.
Because you want your server to support streaming different streams
(selected by the user), these should be separate "ServerMediaSession"
objects (each with a separate stream name). Each of these
"ServerMediaSession" objects will have a single "ServerMediaSubsession"
(subclass) member.
You, as a server developer, will need to define and implement your own
"ServerMediaSubsession" subclass for your PCM streams. You may find it
useful to use the "WAVAudioFileServerMediaSubsession" code as a model
for this. As always, you will need to implement the virtual functions
"createNewStreamSource()" and "createNewRTPSink()". In particular, you
will implement "createNewRTPSink()" by calling
SimpleRTPSink::createNew()
with appropriate parameters (again, you may find it useful to use the
"WAVAudioFileServerMediaSubsession" code as a model). Our server code
will automatically generate an appropriate SDP description for each
stream, based on the parameters that you gave to
"SimpleRTPSink::createNew()".
Your RTSP client can then access the desired stream by including the
desired stream name in the "rtsp://" URL.
Note that you should not need to modify *any* of our library code to
develop your server or client.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 32497 bytes
Desc: SST Logo with Shadow.png
URL:
From finlayson at live555.com Tue Nov 1 01:55:04 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Tue, 1 Nov 2011 01:55:04 -0700
Subject: [Live-devel] Payload attributes
In-Reply-To: <002962EA5927BE45B2FFAB0B5B5D67970A8980@SSTSVR1.sst.local>
References: <002962EA5927BE45B2FFAB0B5B5D67970A897E@SSTSVR1.sst.local>
<53ADB73A-96ED-4D40-8D4C-556284591732@live555.com>
<002962EA5927BE45B2FFAB0B5B5D67970A8980@SSTSVR1.sst.local>
Message-ID: <2FEF6270-F554-447A-ABC0-1AE89FB47FFF@live555.com>
> I have already created my own ServerMediaSubsession subclasses for my application. One for PCM and one for MP3. By doing this, the listener is able to see if it is receiving a PCM stream or a MP3 stream and play it correctly. The problem however is that I need to send attributes along, for example the bits, frequency and channels of the PCM sample so that the listener knows how to play it. The bits, frequency and channels can be changed on the streamer side and this is the information that I want in the SDPDescription or any other appropriate place.
The sampling frequency and number of channels will sometimes appear in the SDP description (in the a=rtpmap: line), if the RTP payload type is dynamic. If the RTP payload type is static, however, then these parameters are implied. For example, payload type 10 is defined to mean 44100 Hz 2-channel PCM (16-bit) audio.
I agree, however, that this won't be enough for you, because you want this information to always appear explicitly in the SDP description. What you can do, however, is create a string - describing the stream's parameters - and pass it as either the "info" or the "description" parameter to "ServerMediaSession::createNew()". Then, this string will automatically appear in the SDP description, as the "i=" or the "s=" line, respectively.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From david.myers at panogenics.com Wed Nov 2 01:11:20 2011
From: david.myers at panogenics.com (David J Myers)
Date: Wed, 2 Nov 2011 08:11:20 -0000
Subject: [Live-devel] Request for help
Message-ID: <001e01cc9937$020d7870$06286950$@myers@panogenics.com>
Hi,
I'm not sure if this sort of request is allowed on the list but I'm looking
for someone to help us modify and debug a Live555 embedded implementation.
Specifically we have RTSP working/streaming with MPEG4 but when we switch to
H.264 compression, it just won't hack it.
We are based in the UK near Gatwick airport. If any of you Live555 gurus are
free to come down and help us with this for a couple of weeks, please let me
know.
Thanks in advance.
David Myers
Panogenics Ltd
David.myers at panogenics.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From kvishnath at ymail.com Tue Nov 1 22:38:33 2011
From: kvishnath at ymail.com (Viswanatha Reddy)
Date: Wed, 2 Nov 2011 11:08:33 +0530 (IST)
Subject: [Live-devel] RTSP Server Crash with Milestone Client
In-Reply-To: <2FEF6270-F554-447A-ABC0-1AE89FB47FFF@live555.com>
References: <002962EA5927BE45B2FFAB0B5B5D67970A897E@SSTSVR1.sst.local>
<53ADB73A-96ED-4D40-8D4C-556284591732@live555.com>
<002962EA5927BE45B2FFAB0B5B5D67970A8980@SSTSVR1.sst.local>
<2FEF6270-F554-447A-ABC0-1AE89FB47FFF@live555.com>
Message-ID: <1320212313.41925.YahooMailNeo@web95006.mail.in2.yahoo.com>
Dear Ross,
I have developed an (mpeg4)RTSP streamer(server) using live555 libs. It's unicast based on OnDemandServer example module.
Thanks for your priceless contribution to the media community.
The application takes rgb frames from a buffer, encodes it, and passes it to the derived FramedSource module.
I ran without any issues with vlc and mplayer client for weeks together.
The application was now tested with Milestone Client(used Onvif standard to make the Streamer to be seen as a virtual camera by this client).
But it's crashing frequently inside the eventloop.
I thoroughly checked whether it's crashing in my development. It's not. Surely it's crashing at the step of eventloop.
This never happens with vlc/mplayer !!.
Please let me know, if the RTSP Server implementation is client dependent.
Or give me a direction to solve this issue.
Thanks in advance,
K.Viswanatha Reddy,
Bangalore,
India.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Wed Nov 2 12:39:40 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Wed, 2 Nov 2011 12:39:40 -0700
Subject: [Live-devel] RTSP Server Crash with Milestone Client
In-Reply-To: <1320212313.41925.YahooMailNeo@web95006.mail.in2.yahoo.com>
References: <002962EA5927BE45B2FFAB0B5B5D67970A897E@SSTSVR1.sst.local>
<53ADB73A-96ED-4D40-8D4C-556284591732@live555.com>
<002962EA5927BE45B2FFAB0B5B5D67970A8980@SSTSVR1.sst.local>
<2FEF6270-F554-447A-ABC0-1AE89FB47FFF@live555.com>
<1320212313.41925.YahooMailNeo@web95006.mail.in2.yahoo.com>
Message-ID:
> I have developed an (mpeg4)RTSP streamer(server) using live555 libs. It's unicast based on OnDemandServer example module.
> Thanks for your priceless contribution to the media community.
>
> The application takes rgb frames from a buffer, encodes it, and passes it to the derived FramedSource module.
> I ran without any issues with vlc and mplayer client for weeks together.
>
> The application was now tested with Milestone Client(used Onvif standard to make the Streamer to be seen as a virtual camera by this client).
> But it's crashing frequently inside the eventloop.
> I thoroughly checked whether it's crashing in my development. It's not. Surely it's crashing at the step of eventloop.
> This never happens with vlc/mplayer !!.
Unfortunately, because the problem seems to happen only with your custom server, we can't reproduce it ourselves, so you're going to have to identify precisely where - in our code - your server is crashing, and why.
(BTW, almost everything within a LIVE555 application happens "inside the event loop", so that's probably not significant.)
For starters, I suggest turning on debugging printing in the "RTSPServer" code by adding
#define DEBUG 1
near the top of "liveMedia/RTSPServer.cpp", and recompiling. This should help tell you what's going wrong.
It's conceivable that your new client has somehow (perhaps by using slightly different RTSP command syntax) uncovered an error in our server code - in which case I'd be very interested in discovering this.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From isambhav at gmail.com Thu Nov 3 01:36:58 2011
From: isambhav at gmail.com (Sambhav)
Date: Thu, 3 Nov 2011 14:06:58 +0530
Subject: [Live-devel] error (ARM) : terminate called after throwing an
instance of 'int'
Message-ID:
Hi,
I cross compiled the live555 media server for ARM linux using the
montavista toolchain. The compilation was successful. When I run the test
programs the following error occurs and the program gets aborted.
terminate called after throwing an instance of 'int'
terminate called recursively
Aborted
Any solutions for the error ?
Regards,
Sambhav
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From felix at embedded-sol.com Thu Nov 3 03:46:37 2011
From: felix at embedded-sol.com (Felix Radensky)
Date: Thu, 03 Nov 2011 12:46:37 +0200
Subject: [Live-devel] Combining live h.264 and AAC
Message-ID: <4EB2710D.4050003@embedded-sol.com>
Hello,
I'm trying to figure out whether it's possible to produce combined
h.264 and AAC
stream using live555. Both video and audio are coming from hardware
encoders.
Video only is streamed successfully using H264VideoStreamDiscreteFramer.
I did not find any examples of reading framed AAC data and combining
h.264 and AAC
elementary streams. There's an example of MPEG-1 or 2 audio+video
program stream,
but I doubt it can help me.
Any feedback is highly appreciated.
Thanks.
Felix.
From finlayson at live555.com Thu Nov 3 07:43:36 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Thu, 3 Nov 2011 07:43:36 -0700
Subject: [Live-devel] Combining live h.264 and AAC
In-Reply-To: <4EB2710D.4050003@embedded-sol.com>
References: <4EB2710D.4050003@embedded-sol.com>
Message-ID: <606986B2-33A3-4841-901A-901AC460E03C@live555.com>
> I'm trying to figure out whether it's possible to produce combined h.264 and AAC
> stream using live555.
Yes, you can do this, using separate RTP streams ('subsessions') within a single media 'session'.
I.e., in your RTSP server, after you've created a "ServerMediaSession" object, you will add *two* separate "ServerMediaSubsession" (subclass) objects: One for your video (H.264) stream; the other for your audio (AAC) stream.
Just make sure that the presentation times for your video and audio frames are 'in sync', and aligned with 'wall clock' time (i.e., times that are generated by "gettimeofday()").
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From tinitus.rockt at gmx.de Fri Nov 4 01:00:52 2011
From: tinitus.rockt at gmx.de (Simon Helwig)
Date: Fri, 04 Nov 2011 09:00:52 +0100
Subject: [Live-devel] Compiling a test program
Message-ID: <20111104080052.27340@gmx.net>
Hallo,
I'm a student from Germany and yesterday I tried to compile one of your test programs, but it didn't work. So I hope you can help me with these problems, because it's very important.
First I will tell you, which steps I made, and in which order, to make the program work. So here we go (I use a Windows XP Professional System (32 Bit) with Microsoft Visual Studio 2010):
First I downloaded the package from your homepage (live555-latest.tar.gz 01-Nov-2011 19:01 508K) and extracted the files in a new folder on my Desktop. Then I changed the path of the 'tools' directory in the file "win32config". The new path I entered was C:\Programme\Microsoft Visual Studio 10.0\VC
Afterwards I opened the commando line and went to the new folder, where I extracted the files of the package. I typed the commando "genWindowsMakefiles" to generate the *.mak files in the library folders. And always on the first try it goes wrong. But right after the first attempt (in the second try) it works. So I only repeat the commando right after the first attempt. It seems strange...
But the PC generated the whole *.mak files in folders.
In addition to that I opened a new "Makefile Project" in Visual Studio. In this project I imported all the *.mak files I generated before. There are four files: BasicUsageEnviornment.mak, groupsok.mak, liveMedia.mak and UsageEnviornment.mak
Then I built successively each of the four files (projects) first.
Now I opened C++ project and took one of the test programms (testMPEG2TransportStreamer.cpp) and copied the code in it.
Thereafter I tried to compile the code, but then I got a lot of mistakes.
I guess, that I have made a fundamental error in my steps before.
So long and best greetings
Simon
--
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
From felix at embedded-sol.com Fri Nov 4 01:26:32 2011
From: felix at embedded-sol.com (Felix Radensky)
Date: Fri, 04 Nov 2011 10:26:32 +0200
Subject: [Live-devel] Combining live h.264 and AAC
In-Reply-To: <606986B2-33A3-4841-901A-901AC460E03C@live555.com>
References: <4EB2710D.4050003@embedded-sol.com>
<606986B2-33A3-4841-901A-901AC460E03C@live555.com>
Message-ID: <4EB3A1B8.2000006@embedded-sol.com>
Hi Ross,
On 11/03/2011 04:43 PM, Ross Finlayson wrote:
>> I'm trying to figure out whether it's possible to produce combined
>> h.264 and AAC
>> stream using live555.
>
> Yes, you can do this, using separate RTP streams ('subsessions')
> within a single media 'session'.
>
> I.e., in your RTSP server, after you've created a
> "ServerMediaSession" object, you will add *two* separate
> "ServerMediaSubsession" (subclass) objects: One for your video
> (H.264) stream; the other for your audio (AAC) stream.
>
> Just make sure that the presentation times for your video and audio
> frames are 'in sync', and aligned with 'wall clock' time (i.e.,
> times that are generated by "gettimeofday()").
>
>
Thanks a lot. Assuming my audio comes from encoder in ADTS, do I need
to implement
a framer class, similar to H264VideoStreamDiscreteFramer ?
Felix.
From francisco at j2kvideo.com Fri Nov 4 05:43:54 2011
From: francisco at j2kvideo.com (Francisco Feijoo)
Date: Fri, 4 Nov 2011 13:43:54 +0100
Subject: [Live-devel] Segmentation fault in
DelayQueue::removeEntry(DelayQueueEntry*)
Message-ID: <55D3C50F-B844-468E-8EDB-20CEF267F19B@j2kvideo.com>
Hello,
We have developed a RTSP client using live555.
#0 0x006f253d in DelayQueue::removeEntry(DelayQueueEntry*) () from /usr/lib/libvideosource.so.1
#1 0x006f2c4f in DelayQueue::handleAlarm() () from /usr/lib/libvideosource.so.1
#2 0x006f1f70 in BasicTaskScheduler::SingleStep(unsigned int) () from /usr/lib/libvideosource.so.1
#3 0x006f3920 in BasicTaskScheduler0::doEventLoop(char*) () from /usr/lib/libvideosource.so.1
Looking at the code here http://www.live555.com/liveMedia/doxygen/html/DelayQueue_8cpp-source.html I see this:
00153 void DelayQueue::removeEntry(DelayQueueEntry* entry) {
00154 if (entry == NULL || entry->fNext == NULL) return;
00155
00156 entry->fNext->fDeltaTimeRemaining += entry->fDeltaTimeRemaining;
00157 entry->fPrev->fNext = entry->fNext;
00158 entry->fNext->fPrev = entry->fPrev;
00159 entry->fNext = entry->fPrev = NULL;
00160 // in case we should try to remove it again
00161 }
I think the first if could produce a wrong memory access if entry is NULL. Is that correct?
Thanks in advance.
--
Francisco Feijoo
Software Engineer
J2K Video Limited
T: +44 020 8133 9388
E: francisco at j2kvideo.com
W: www.j2kvideo.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Fri Nov 4 07:10:39 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Fri, 4 Nov 2011 07:10:39 -0700
Subject: [Live-devel] Segmentation fault in
DelayQueue::removeEntry(DelayQueueEntry*)
In-Reply-To: <55D3C50F-B844-468E-8EDB-20CEF267F19B@j2kvideo.com>
References: <55D3C50F-B844-468E-8EDB-20CEF267F19B@j2kvideo.com>
Message-ID:
> Looking at the code here http://www.live555.com/liveMedia/doxygen/html/DelayQueue_8cpp-source.html I see this:
>
> 00153 void DelayQueue::removeEntry(DelayQueueEntry* entry) {
> 00154 if (entry == NULL || entry->fNext == NULL) return;
> 00155
> 00156 entry->fNext->fDeltaTimeRemaining += entry->fDeltaTimeRemaining;
> 00157 entry->fPrev->fNext = entry->fNext;
> 00158 entry->fNext->fPrev = entry->fPrev;
> 00159 entry->fNext = entry->fPrev = NULL;
> 00160 // in case we should try to remove it again
> 00161 }
>
> I think the first if could produce a wrong memory access if entry is NULL. Is that correct?
No, because the statement at line 154 quite clearly tests for "entry == NULL", and returns if it is.
The "DelayQueue" code is very widely used and has been tested for a long time, so I don't understand why you would be seeing an error there. (I hope you're not doing something stupid like trying to use multiple threads?)
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From francisco at j2kvideo.com Fri Nov 4 07:42:56 2011
From: francisco at j2kvideo.com (Francisco Feijoo)
Date: Fri, 4 Nov 2011 15:42:56 +0100
Subject: [Live-devel] Segmentation fault in
DelayQueue::removeEntry(DelayQueueEntry*)
In-Reply-To:
References: <55D3C50F-B844-468E-8EDB-20CEF267F19B@j2kvideo.com>
Message-ID:
Ross, thanks for the quick answer.
We are connecting to one camera which needs a keep-alive command continuously. Apart from the doEventLoop() we call this function periodically (60s):
void RtspConnection::timeout()
{
if ( client && session && this->getParameterSupported )
{
char * psz_bye = NULL;
((RTSPClient*)client)->getMediaSessionParameter( *session, NULL, psz_bye );
}
}
getParameterSupported comes from:
char * options = ((RTSPClient*)client)->sendOptionsCmd( this->host );
if ( strstr(options, "GET_PARAMETER") != NULL )
{
this->getParameterSupported = true;
}
Is this a wrong way to maintain the connection to the camera? Could this be the cause of the crash?
Thanks in advance.
--
Francisco Feijoo
Software Engineer
J2K Video Limited
T: +44 020 8133 9388
E: francisco at j2kvideo.com
W: www.j2kvideo.com
El 04/11/2011, a las 15:10, Ross Finlayson escribi?:
>> Looking at the code here http://www.live555.com/liveMedia/doxygen/html/DelayQueue_8cpp-source.html I see this:
>>
>> 00153 void DelayQueue::removeEntry(DelayQueueEntry* entry) {
>> 00154 if (entry == NULL || entry->fNext == NULL) return;
>> 00155
>> 00156 entry->fNext->fDeltaTimeRemaining += entry->fDeltaTimeRemaining;
>> 00157 entry->fPrev->fNext = entry->fNext;
>> 00158 entry->fNext->fPrev = entry->fPrev;
>> 00159 entry->fNext = entry->fPrev = NULL;
>> 00160 // in case we should try to remove it again
>> 00161 }
>>
>> I think the first if could produce a wrong memory access if entry is NULL. Is that correct?
>
> No, because the statement at line 154 quite clearly tests for "entry == NULL", and returns if it is.
>
> The "DelayQueue" code is very widely used and has been tested for a long time, so I don't understand why you would be seeing an error there. (I hope you're not doing something stupid like trying to use multiple threads?)
>
>
> Ross Finlayson
> Live Networks, Inc.
> http://www.live555.com/
>
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Fri Nov 4 08:05:56 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Fri, 4 Nov 2011 08:05:56 -0700
Subject: [Live-devel] Segmentation fault in
DelayQueue::removeEntry(DelayQueueEntry*)
In-Reply-To:
References: <55D3C50F-B844-468E-8EDB-20CEF267F19B@j2kvideo.com>
Message-ID: <94521E97-11AA-4438-A240-9F1F361FE2D2@live555.com>
> Is this a wrong way to maintain the connection to the camera? Could this be the cause of the crash?
No, I don't think so. What you're doing looks OK. Just make sure, though, that you stop the periodic calls to timeout() if/when the session ends. (You can do this using "TaskScheduler::unscheduleDelayedTask()".) If you try to call your "RtspConnection::timeout()" after "client" and/or "session" have been deleted, then bad things will definitely happen.
Also (although this is not the cause of your problem) you should really be using the asynchronous "RTSPClient" interface rather than the old synchronous interface. E.g., you should be calling "sendGetParameterCommand()" instead of "getMediaSessionParameter()", and "sendOptionsCommand()" instead of "sendOptionsCmd()". Etc. The synchronous "RTSPClient" interface is now deprecated, and will likely be removed completely sometime in the future.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From francisco at j2kvideo.com Fri Nov 4 09:33:13 2011
From: francisco at j2kvideo.com (Francisco Feijoo)
Date: Fri, 4 Nov 2011 17:33:13 +0100
Subject: [Live-devel] Segmentation fault in
DelayQueue::removeEntry(DelayQueueEntry*)
In-Reply-To: <94521E97-11AA-4438-A240-9F1F361FE2D2@live555.com>
References: <55D3C50F-B844-468E-8EDB-20CEF267F19B@j2kvideo.com>
<94521E97-11AA-4438-A240-9F1F361FE2D2@live555.com>
Message-ID: <9BAA26DE-5CDE-4D66-B618-F884FD003996@j2kvideo.com>
OK, thanks your help.
--
Francisco Feijoo
Software Engineer
J2K Video Limited
T: +34 654967246
T: +44 020 8133 9388
E: francisco at j2kvideo.com
W: www.j2kvideo.com
El 04/11/2011, a las 16:05, Ross Finlayson escribi?:
>> Is this a wrong way to maintain the connection to the camera? Could this be the cause of the crash?
>
> No, I don't think so. What you're doing looks OK. Just make sure, though, that you stop the periodic calls to timeout() if/when the session ends. (You can do this using "TaskScheduler::unscheduleDelayedTask()".) If you try to call your "RtspConnection::timeout()" after "client" and/or "session" have been deleted, then bad things will definitely happen.
>
>
> Also (although this is not the cause of your problem) you should really be using the asynchronous "RTSPClient" interface rather than the old synchronous interface. E.g., you should be calling "sendGetParameterCommand()" instead of "getMediaSessionParameter()", and "sendOptionsCommand()" instead of "sendOptionsCmd()". Etc. The synchronous "RTSPClient" interface is now deprecated, and will likely be removed completely sometime in the future.
>
>
> Ross Finlayson
> Live Networks, Inc.
> http://www.live555.com/
>
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From kidjan at gmail.com Fri Nov 4 11:50:40 2011
From: kidjan at gmail.com (Jeremy Noring)
Date: Fri, 4 Nov 2011 11:50:40 -0700
Subject: [Live-devel] Segmentation fault in
DelayQueue::removeEntry(DelayQueueEntry*)
In-Reply-To:
References: <55D3C50F-B844-468E-8EDB-20CEF267F19B@j2kvideo.com>
Message-ID:
On Fri, Nov 4, 2011 at 7:10 AM, Ross Finlayson wrote:
> Looking at the code here
> http://www.live555.com/liveMedia/doxygen/html/DelayQueue_8cpp-source.html I
> see this:
>
> 00153 void DelayQueue::removeEntry (DelayQueueEntry * entry) {00154 if (entry == NULL || entry->fNext == NULL ) return;00155 00156 entry->fNext ->fDeltaTimeRemaining += entry->fDeltaTimeRemaining ;00157 entry->fPrev ->fNext = entry->fNext ;00158 entry->fNext ->fPrev = entry->fPrev ;00159 entry->fNext = entry->fPrev = NULL ;00160 // in case we should try to remove it again00161 }
>
>
> I think the first if could produce a wrong memory access if entry is NULL.
> Is that correct?
>
>
> No, because the statement at line 154 quite clearly tests for "entry ==
> NULL", and returns if it is.
>
Is it possible that entry->fPrev is null? I notice it checks entry and
fnext, but not fprev. But on line 157, it pretty clearly attempts to
dereference both fPrev and fPrev->fNext. Also, it dereferences
entry->fNext->fPrev, which could (in theory) be null.
Not familiar with the code, so maybe there's no problem with any of this,
but seems like ample opportunities for segmentation fault that aren't
caught by the statement at like 154.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Fri Nov 4 14:35:54 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Fri, 4 Nov 2011 14:35:54 -0700
Subject: [Live-devel] Segmentation fault in
DelayQueue::removeEntry(DelayQueueEntry*)
In-Reply-To:
References: <55D3C50F-B844-468E-8EDB-20CEF267F19B@j2kvideo.com>
Message-ID:
> Is it possible that entry->fPrev is null?
No, I don't think so, because the delay queue is maintained as a doubly-linked list, and delay queue entries are initialized with their "fNext" and "fPrev" links both pointing to themself. The only place where "fPrev" is set to NULL is at line 159 (quoted earlier), which we do to protect against attempting to remove the same entry more than once. But at that same line, we also set "fNext" to NULL, so the test at line 154 will catch that.
I'm fairly sure that Francisco's crash was a side effect of attempting to access an object that had already been deleted. That's why I asked him to make sure that he had stopped his periodic "GET_PARAMETER" request once the stream had ended.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From kevinhilman at hotmail.com Sun Nov 6 06:32:08 2011
From: kevinhilman at hotmail.com (HilmanKevin)
Date: Sun, 6 Nov 2011 14:32:08 +0000
Subject: [Live-devel] about multiplexing audio and h264 video into ts file
Message-ID:
hi,everyone
i want to revise live/testprogs/testH264VideoToTransportStream.cpp to add the function of multiplexing audio and h264 video into ts file.i add some code here like red code below.Am i right to complete my goal?any light would be appreciated.thanks a lot.
int main(int argc, char** argv) {
// Begin by setting up our usage environment:
TaskScheduler* scheduler = BasicTaskScheduler::createNew();
env = BasicUsageEnvironment::createNew(*scheduler);
// Open the input file as a 'byte-stream file source':
FramedSource* inputSource = ByteStreamFileSource::createNew(*env, inputFileName);
if (inputSource == NULL) {
*env << "Unable to open file \"" << inputFileName
<< "\" as a byte-stream file source\n";
exit(1);
}
H264VideoStreamFramer* framer = H264VideoStreamFramer::createNew(*env, inputSource, True/*includeStartCodeInOutput*/);
MPEG2TransportStreamFromESSource* tsFrames = MPEG2TransportStreamFromESSource::createNew(*env);
tsFrames->addNewVideoSource(framer, 5/*mpegVersion: H.264*/);
tsFrames->addNewaudioSource(audiofileinputsource,?) ;
// Open the output file as a 'file sink':
MediaSink* outputSink = FileSink::createNew(*env, outputFileName);
if (outputSink == NULL) {
*env << "Unable to open file \"" << outputFileName << "\" as a file sink\n";
exit(1);
}
// Finally, start playing:
*env << "Beginning to read...\n";
outputSink->startPlaying(*tsFrames, afterPlaying, NULL);
env->taskScheduler().doEventLoop(); // does not return
return 0; // only to prevent compiler warning
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From Marlon at scansoft.co.za Mon Nov 7 02:15:25 2011
From: Marlon at scansoft.co.za (Marlon Reid)
Date: Mon, 7 Nov 2011 12:15:25 +0200
Subject: [Live-devel] Heap corruption in AudioInputDevice::createNew()
Message-ID: <002962EA5927BE45B2FFAB0B5B5D67970A899E@SSTSVR1.sst.local>
Hi everyone,
I have successfully used live555 in the past for various test programs.
I am now trying to incorporate live555 into another application.
Live555 forms part of a plugin, which is loaded by our client
application.
The problem is that when loading this plugin that uses live555, I get a
heap corruption. I spent quite sometime on this and I discovered that
if I remove my call to "AudioInputDevice::createNew()" then my
application does not suffer a heap corruption when loading the plugin
the uses live555. With this line, a heap corruption while loading the
plugin.
I am using Windows 7 64bit, Visual Studio 2008 and the newest version of
live555 (1st November). Any suggestions will be most appreciated.
The call that trashes my heap is:
FramedSource *micInput =
(WindowsAudioInputDevice*)AudioInputDevice::createNew( envir(), 0, 16
/*BIT_RATE*/, 2 /*NUM_CHANNELS*/, 22050/*SAMPLE_RATE*/,
2/*GRANULARITY*/);
Please note:
My application never gets to this call. Simply having it in my code
breaks the heap at startup
Regards.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bsaintmartin at mediabroadcast-t.com Mon Nov 7 03:18:09 2011
From: bsaintmartin at mediabroadcast-t.com (Boris Saint-Martin)
Date: Mon, 7 Nov 2011 12:18:09 +0100
Subject: [Live-devel] Build openRTSP
Message-ID: <999059AD90FC4CF4B15FFE4CB1DC771A@Boris>
Hello,
I would like to record IP camera streams by using openRTSP.
My problem is to compile the source with Visual Studio 2008.
I have built the makefile but I can't load it in VS. It trying to convert the project but it failed...
Is someone can help me to build it or simply give me the windows executable or a correct VS 2008 project?
Thank you so much.
Boris
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From belloni at imavis.com Mon Nov 7 09:41:38 2011
From: belloni at imavis.com (Cristiano Belloni)
Date: Mon, 07 Nov 2011 18:41:38 +0100
Subject: [Live-devel] Inhibit UDP/RTP streaming
Message-ID: <4EB81852.8040604@imavis.com>
Hi Ross,
I got an RTSP server based on liveMedia, and a problem with some (third
party, black-box) buggy clients that have problems with RTP on UDP
streaming, while they work fine in RTP/TCP.
The problem is that they first request UDP streams to the server, then,
if UDP is not available, they fall back on TCP.
What I wanted to know was if our server could always force the client to
connect in TCP. As far as I know that would imply altering the m= line(s
) in the SDP description, am I correct? Would it be possible to do that
easily in LiveMedia?
Thank you,
Cristiano.
--
Belloni Cristiano
Imavis Srl.
www.imavis.com
belloni at imavis.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From ghostjackyo at gmail.com Mon Nov 7 18:12:09 2011
From: ghostjackyo at gmail.com (=?UTF-8?B?4piG5bCP6a2a5YWS4piG?=)
Date: Tue, 8 Nov 2011 10:12:09 +0800
Subject: [Live-devel] Some question with openRTSP!
In-Reply-To:
References:
Message-ID:
Hello,
I have some question with openRTSP.
I want to play rtsp url, and use the openRTSP , then which vedio stream can
i choose?( Need use VLC ? or Live555 have the vedio stream to play RTSP?)
And how to use the openRTSP?
Thanks for you to see my question.
--
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Mon Nov 7 18:28:06 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Mon, 7 Nov 2011 18:28:06 -0800
Subject: [Live-devel] about multiplexing audio and h264 video into ts
file
In-Reply-To:
References:
Message-ID: <4843D8FC-6727-4B85-AC5A-AA9E585301FB@live555.com>
> i want to revise live/testprogs/testH264VideoToTransportStream.cpp to add the function of multiplexing audio and h264 video into ts file.i add some code here like red code below.Am i right to complete my goal?any light would be appreciated.thanks a lot.
[...]
> MPEG2TransportStreamFromESSource* tsFrames = MPEG2TransportStreamFromESSource::createNew(*env);
>
> tsFrames->addNewVideoSource(framer, 5/*mpegVersion: H.264*/);
> tsFrames->addNewaudioSource(audiofileinputsource,?) ;
Yes, that should work, depending upon what kind of audio (i.e., what audio codec) you plan to add.
What kind of audio will this be?
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Mon Nov 7 19:39:54 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Mon, 7 Nov 2011 19:39:54 -0800
Subject: [Live-devel] Heap corruption in AudioInputDevice::createNew()
In-Reply-To: <002962EA5927BE45B2FFAB0B5B5D67970A899E@SSTSVR1.sst.local>
References: <002962EA5927BE45B2FFAB0B5B5D67970A899E@SSTSVR1.sst.local>
Message-ID: <60338F68-5121-4888-8876-ED9D6D14F927@live555.com>
On Nov 7, 2011, at 2:15 AM, Marlon Reid wrote:
> The call that trashes my heap is:
>
> FramedSource *micInput = (WindowsAudioInputDevice*)AudioInputDevice::createNew( envir(), 0, 16 /*BIT_RATE*/, 2 /*NUM_CHANNELS*/, 22050/*SAMPLE_RATE*/, 2/*GRANULARITY*/);
> Please note:
>
> My application never gets to this call. Simply having it in my code breaks the heap at startup
>
>
If your application "never gets to this call", then it can't be "The call that trashes my heap".
I suspect that this code is just a 'red herring', and that the memory smash is caused by something else that happened earlier.
Unfortunately I can't really offer any suggestions, except to first try putting the code in its own application, rather than making it a 'plugin'. That might make it easier to figure out what's going wrong (or it might not...).
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From homepuh at yandex.ru Mon Nov 7 20:11:12 2011
From: homepuh at yandex.ru (homepuh)
Date: Tue, 08 Nov 2011 08:11:12 +0400
Subject: [Live-devel] RTSPClient, raw udp streaming
Message-ID: <492121320725472@web2.yandex.ru>
Hi there.
RTSPServer now support raw udp streaming only if client sent SETUP command contains one client port, but RTSPClient always add second port number, even if it works with raw udp subsession. Could you fix that, please?
Regards,
Ivan.
From Marlon at scansoft.co.za Mon Nov 7 22:07:54 2011
From: Marlon at scansoft.co.za (Marlon Reid)
Date: Tue, 8 Nov 2011 08:07:54 +0200
Subject: [Live-devel] Heap corruption in AudioInputDevice::createNew()
In-Reply-To: <60338F68-5121-4888-8876-ED9D6D14F927@live555.com>
References: <002962EA5927BE45B2FFAB0B5B5D67970A899E@SSTSVR1.sst.local>
<60338F68-5121-4888-8876-ED9D6D14F927@live555.com>
Message-ID: <002962EA5927BE45B2FFAB0B5B5D67970A89A2@SSTSVR1.sst.local>
Hi,
The problem was that several functions like delete and new where defined
in msvcrtd.lib instead of libcmtd. Ignoring msvcrt.lib in my project
solved the issue.
Regards.
________________________________
From: live-devel-bounces at ns.live555.com
[mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson
Sent: 08 November 2011 05:40 AM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] Heap corruption in
AudioInputDevice::createNew()
On Nov 7, 2011, at 2:15 AM, Marlon Reid wrote:
The call that trashes my heap is:
FramedSource *micInput =
(WindowsAudioInputDevice*)AudioInputDevice::createNew( envir(), 0, 16
/*BIT_RATE*/, 2 /*NUM_CHANNELS*/, 22050/*SAMPLE_RATE*/,
2/*GRANULARITY*/);
Please note:
My application never gets to this call. Simply having it in my
code breaks the heap at startup
If your application "never gets to this call", then it can't be "The
call that trashes my heap".
I suspect that this code is just a 'red herring', and that the memory
smash is caused by something else that happened earlier.
Unfortunately I can't really offer any suggestions, except to first try
putting the code in its own application, rather than making it a
'plugin'. That might make it easier to figure out what's going wrong
(or it might not...).
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Mon Nov 7 22:16:30 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Mon, 7 Nov 2011 22:16:30 -0800
Subject: [Live-devel] Inhibit UDP/RTP streaming
In-Reply-To: <4EB81852.8040604@imavis.com>
References: <4EB81852.8040604@imavis.com>
Message-ID:
> I got an RTSP server based on liveMedia, and a problem with some (third party, black-box) buggy clients that have problems with RTP on UDP streaming, while they work fine in RTP/TCP.
>
> The problem is that they first request UDP streams to the server, then, if UDP is not available, they fall back on TCP.
>
> What I wanted to know was if our server could always force the client to connect in TCP.
No, because it's the client, not the server, that chooses whether to stream via RTP/UDP or RTP/TCP. If the client asks for RTP/UDP, then that is what the server delivers. (Even if you were to modify the server code so that it tried to stream via RTP/TCP even if the client requested RTP/UDP, then it's unlikely that your client would be able to deal with this, because it's not what the client requested.)
If you can't find a way to tell your client to request RTP/TCP only, then I suggest contacting your 'third party' to get them to fix it.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Mon Nov 7 23:43:02 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Mon, 7 Nov 2011 23:43:02 -0800
Subject: [Live-devel] Some question with openRTSP!
In-Reply-To:
References:
Message-ID: <60E09C4C-54A9-4CCC-BEB9-1AC0650F7739@live555.com>
> I have some question with openRTSP.
> I want to play rtsp url, and use the openRTSP , then which vedio stream can i choose?( Need use VLC ? or Live555 have the vedio stream to play RTSP?)
> And how to use the openRTSP?
The "openRTSP" application merely records incoming audio/video data (from a RTSP/RTP stream) into files; it does not decode or 'play' this data at all.
If you want to play such a stream, then just use a media player - such as VLC - and give it the "rtsp://" URL. You don't need "openRTSP" at all for this.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Mon Nov 7 23:54:51 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Mon, 7 Nov 2011 23:54:51 -0800
Subject: [Live-devel] RTSPClient, raw udp streaming
In-Reply-To: <492121320725472@web2.yandex.ru>
References: <492121320725472@web2.yandex.ru>
Message-ID: <32484BE3-4087-4942-8169-55BC20A85C74@live555.com>
> RTSPServer now support raw udp streaming only if client sent SETUP command contains one client port, but RTSPClient always add second port number, even if it works with raw udp subsession. Could you fix that, please?
No, because there's nothing to 'fix'.
There is no single defined standard for how to request raw UDP streaming using RTSP; the IETF standard media streaming protocol is RTP. However, clients that wish to request raw UDP streaming typically do so in one of two ways:
1/ By specifying a protocol of "RAW/RAW/UDP" (or perhaps "MP2T/H2221/UDP") in the "Transport:" RTSP header, or
2/ Specifying only a single client port in the "client_port=" part of the "Transport:" header.
Our server recognizes either of these as being a request for raw UDP streaming.
Note that the usual, standard requested protocol is RTP-over-UDP (or perhaps RTP-over-TCP). For RTP-over-UDP, the "Transport:" header will contain a pair of port numbers (in the "client_port=" part of the header): One port number for RTP, and a second port number for RTCP.
If a client specifies two port numbers in this way, then it is implicitly requesting RTP(and RTCP)-over-UDP. Specifying two port numbers would make no sense for requesting raw UDP streaming.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From kevinhilman at hotmail.com Tue Nov 8 01:02:11 2011
From: kevinhilman at hotmail.com (HilmanKevin)
Date: Tue, 8 Nov 2011 09:02:11 +0000
Subject: [Live-devel] about h264 trick play in live555
Message-ID:
hi,everyone
i want to add trick play func for h264.And i know i should add some code on H264VideoFileServerMediaSubsession.cpp?reload func OnDemandServerMediaSubsession::seekStreamSource.
at beginning,i think i could compute seek position of h264 according to seekNPT parameter.of course, i use file lenghth to get a rough estimate.
then, from the rough estimate ,i search i frame in h264 file
at last ,return the nearest I frame position.(i have a way to get I frame that is "if slice_type ==2 or 7 ,it is i frame")
however,i have some troubles on the ideas:
1,except for seeking file position,which enviroment vars should be cleared for new stream on H264VideoFileServerMediaSubsession::seekStreamSource func?
if no enviroment vars be cleared,could testOnDemandRTSPServer play new stream sucessfully?
2,how to compute fFileDuration for h264,and how to estimate seek position roughly?
thanks for any comment and reply.
if someone have h264 trick play code for live555,could show me a little?
regards
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From tinitus.rockt at gmx.de Tue Nov 8 05:54:59 2011
From: tinitus.rockt at gmx.de (Simon Helwig)
Date: Tue, 08 Nov 2011 14:54:59 +0100
Subject: [Live-devel] Compatibility with Visual Studio 10.0
Message-ID: <20111108135459.257830@gmx.net>
Hallo,
could somebody tell me, if the whole libraries of LIVE555 Streaming Media are compatible to Microsoft Visual Studio 10.0? Because I've many problems, when I compile the libraries and it seems very strange.
So if anybody knows an answer to this problem, please tell me and perhaps you have an instruction for me, how to build these libraries step by step in Visual Studio 10.0?
I would be very happy about an answer...
Best greetings
Simon
--
NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zur?ck-Garantie!
Jetzt informieren: http://www.gmx.net/de/go/freephone
From norris.j at gmail.com Tue Nov 8 06:44:59 2011
From: norris.j at gmail.com (James Norris)
Date: Tue, 8 Nov 2011 14:44:59 +0000
Subject: [Live-devel] H264DiscreteFramer from custom source
Message-ID:
Hey all,
Quick question I wonder if you could help with. I would like to send
H.264 frames from a custom source over RTSP, most of my code is
working, just have a query with regards to the framer behaviour.
>From what I gather the H264DiscreteFramer expects individual NALs
(that might not individually translate to a complete frame, e.g.
non-VCL NALs like SPS). Inside the DeviceSource template code I have
implemented, libx264 generates a number of NALs for each frame (i.e.
it contains the odd SPS/PPS), and I would like to feed these into the
framer for sending. Pretty standard.
Should I schedule a deliverFrame (and FramedSource::afterGetting( ..)
for each NAL, i.e. making a queue of NALs and repeatedly scheduling
deliverFrame in order to send a single frame. Or should I package the
NALs into a single buffer somehow, and call FramedSource::afterGetting
( .. ) only once. Or something else.
Much appreciated, thanks,
James
From norris.j at gmail.com Tue Nov 8 07:41:23 2011
From: norris.j at gmail.com (James Norris)
Date: Tue, 8 Nov 2011 15:41:23 +0000
Subject: [Live-devel] Compatibility with Visual Studio 10.0
In-Reply-To: <20111108135459.257830@gmx.net>
References: <20111108135459.257830@gmx.net>
Message-ID:
What are the problems? I'm sure I did manage it when using VS10, but
moved back to 9 now (its better)
James
On Tue, Nov 8, 2011 at 1:54 PM, Simon Helwig wrote:
> Hallo,
>
> could somebody tell me, if the whole libraries of LIVE555 Streaming Media are compatible to Microsoft Visual Studio 10.0? Because I've many problems, when I compile the libraries and it seems very strange.
> So if anybody knows an answer to this problem, please tell me and perhaps you have an instruction for me, how to build these libraries step by step in Visual Studio 10.0?
> I would be very happy about an answer...
>
> Best greetings
>
> Simon
> --
> NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zur?ck-Garantie!
> Jetzt informieren: http://www.gmx.net/de/go/freephone
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel
>
From finlayson at live555.com Tue Nov 8 08:37:04 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Tue, 8 Nov 2011 08:37:04 -0800
Subject: [Live-devel] H264DiscreteFramer from custom source
In-Reply-To:
References:
Message-ID:
> Should I schedule a deliverFrame (and FramedSource::afterGetting( ..)
> for each NAL, i.e. making a queue of NALs and repeatedly scheduling
> deliverFrame in order to send a single frame.
Yes, a "H264VideoStreamDiscreteFramer" expects to be fed one NAL unit at a time - *not* one frame at a time.
In fact, this is especially important for SPS and PPS NAL units, because the "H264VideoStreamDiscreteFramer" code recognizes and saves a copy of those NAL units (for use in the stream's SDP 'config' string).
If you can, try to make the SPS and PPS NAL units the first NAL units that come from your encoder, for each new stream. This is not essential (as long as SPS and PPS NAL units appear eventually), but it will make the server more efficient.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Tue Nov 8 12:32:17 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Tue, 8 Nov 2011 12:32:17 -0800
Subject: [Live-devel] New support for sending/receiving Vorbis audio and VP8
video, and streaming from WebM (.webm) files
Message-ID:
FYI, the latest version (2011.11.08) of the "LIVE555 Streaming Media" software implements the RTP payload formats for (sending and receiving) Vorbis audio and VP8 video.
Our RTSP server implementation - including the "LIVE555 Media Server" and "testOnDemandRTSPServer" applications - supports streaming from WebM (".webm") files, which are a special kind of Matroska file that contain Vorbis audio and VP8 video tracks.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From homepuh at yandex.ru Tue Nov 8 19:20:16 2011
From: homepuh at yandex.ru (homepuh)
Date: Wed, 09 Nov 2011 07:20:16 +0400
Subject: [Live-devel] RTSPClient, raw udp streaming
In-Reply-To: <32484BE3-4087-4942-8169-55BC20A85C74@live555.com>
References: <492121320725472@web2.yandex.ru>
<32484BE3-4087-4942-8169-55BC20A85C74@live555.com>
Message-ID: <544621320808817@web83.yandex.ru>
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Tue Nov 8 20:04:36 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Tue, 8 Nov 2011 20:04:36 -0800
Subject: [Live-devel] RTSPClient, raw udp streaming
In-Reply-To: <544621320808817@web83.yandex.ru>
References: <492121320725472@web2.yandex.ru>
<32484BE3-4087-4942-8169-55BC20A85C74@live555.com>
<544621320808817@web83.yandex.ru>
Message-ID: <38F93270-0923-4D37-941D-987680E0891D@live555.com>
> Please, see file OnDemandServerMediaSubsession.cpp
>
> if (clientRTCPPort.num() == 0) {
> // We're streaming raw UDP (not RTP). Create a single groupsock:
> NoReuse dummy; // ensures that we skip over ports that are already in use
> for (serverPortNum = fInitialPortNum; ; ++serverPortNum) {
> struct in_addr dummyAddr; dummyAddr.s_addr = 0;
>
> if the second port number was specified, you answer to client - Transport: RAW/RAW/UDP etc, but create RTPSink instead BasicUDPSink.
> Server create BasicUDPSink _only_ if transport raw-udp requested and _one_ port specified.
OK, I understand now what you're asking for. I find it strange, however, that a client would ask for "RAW/RAW/UDP", but also specify two port numbers in the "client_port=" part of the header. However, to support clients like this, please change line 714 of "liveMedia/RTSPServer.cpp" from
clientRTCPPortNum = p2;
to
clientRTCPPortNum = streamingMode == RAW_UDP ? 0 : p2;
This change will be included in the next version of the software.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From tinitus.rockt at gmx.de Tue Nov 8 23:00:07 2011
From: tinitus.rockt at gmx.de (Simon Helwig)
Date: Wed, 09 Nov 2011 08:00:07 +0100
Subject: [Live-devel] Compatibility with Visual Studio 10.0
In-Reply-To:
References: <20111108135459.257830@gmx.net>
Message-ID: <20111109070007.135660@gmx.net>
Ok, it would be very nice, if I could use VS10. May you could tell me, what you did, to compile one of the test programs step by step, because I'm a beginner and it's long ago, since I've worked with VS and I got so much mistakes, that I think, that I've made a fundamental error before. In the thread "Compiling a test program", which I posted last friday, I explained the steps I've made to make one of the test programs running. I would be very grateful for your help!
Best greetings
Simon
-------- Original-Nachricht --------
> Datum: Tue, 8 Nov 2011 15:41:23 +0000
> Von: James Norris
> An: "LIVE555 Streaming Media - development & use"
> Betreff: Re: [Live-devel] Compatibility with Visual Studio 10.0
> What are the problems? I'm sure I did manage it when using VS10, but
> moved back to 9 now (its better)
>
> James
>
>
>
> On Tue, Nov 8, 2011 at 1:54 PM, Simon Helwig wrote:
> > Hallo,
> >
> > could somebody tell me, if the whole libraries of LIVE555 Streaming
> Media are compatible to Microsoft Visual Studio 10.0? Because I've many
> problems, when I compile the libraries and it seems very strange.
> > So if anybody knows an answer to this problem, please tell me and
> perhaps you have an instruction for me, how to build these libraries step by step
> in Visual Studio 10.0?
> > I would be very happy about an answer...
> >
> > Best greetings
> >
> > Simon
> > --
> > NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zur?ck-Garantie!
> > Jetzt informieren: http://www.gmx.net/de/go/freephone
> > _______________________________________________
> > 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
--
NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zur?ck-Garantie!
Jetzt informieren: http://www.gmx.net/de/go/freephone
From bsaintmartin at mediabroadcast-t.com Wed Nov 9 11:13:51 2011
From: bsaintmartin at mediabroadcast-t.com (Boris Saint-Martin)
Date: Wed, 9 Nov 2011 20:13:51 +0100
Subject: [Live-devel] openRTSP beginner needs help
Message-ID: <9C2BA9A8232241EF9E7E4CCE2700CC76@Boris>
Hello,
Beginner in openRTSP usage, I have many questions :D
I'm trying to capture a RTSP stream from my internet modem.
The URL is "rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=202&flavour=hd".
I can view the stream using VLC but not with openRTSP.
Here is the log :
Microsoft Windows [version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Tous droits r?serv?s.
C:\Users\BobaL>C:\Users\BobaL\Documents\live\testProgs\openRTSP\Release\openRTSP
.exe rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=202&flavou
r=hd
Opening connection to 212.27.38.253, port 554...
...remote connection opened
Sending request: OPTIONS rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=
1 RTSP/1.0
CSeq: 2
User-Agent: C:\Users\BobaL\Documents\live\testProgs\openRTSP\Release\openRTSP.ex
e (LIVE555 Streaming Media v2011.10.27)
Received 127 new bytes of response data.
Received a complete OPTIONS response:
RTSP/1.0 200 OK
Cseq: 2
Server: fbxrtspd/1.2 Freebox RTSP server
Public: DESCRIBE, OPTIONS, SETUP, TEARDOWN, PLAY, PAUSE
Sending request: DESCRIBE rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace
=1 RTSP/1.0
CSeq: 3
User-Agent: C:\Users\BobaL\Documents\live\testProgs\openRTSP\Release\openRTSP.ex
e (LIVE555 Streaming Media v2011.10.27)
Accept: application/sdp
Received 392 new bytes of response data.
Received a complete DESCRIBE response:
RTSP/1.0 200 OK
Cseq: 3
Server: fbxrtspd/1.2 Freebox RTSP server
Public: DESCRIBE, OPTIONS, SETUP, TEARDOWN, PLAY, PAUSE
Content-Length: 191
Content-Type: application/sdp
Content-Language: fr
v=0
o=leCDN 1320865755 1320865755 IN IP4 kapoueh.proxad.net
s=unknown
i=unknown
c=IN IP4 0.0.0.0
t=0 0
m=video 0 RTP/AVP 33
a=control:rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1
Opened URL "rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1", returning
a SDP description:
v=0
o=leCDN 1320865755 1320865755 IN IP4 kapoueh.proxad.net
s=unknown
i=unknown
c=IN IP4 0.0.0.0
t=0 0
m=video 0 RTP/AVP 33
a=control:rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1
Created receiver for "video/MP2T" subsession (client ports 65366-65367)
Sending request: SETUP rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1
RTSP/1.0
CSeq: 4
User-Agent: C:\Users\BobaL\Documents\live\testProgs\openRTSP\Release\openRTSP.ex
e (LIVE555 Streaming Media v2011.10.27)
Transport: RTP/AVP;unicast;client_port=65366-65367
Received 146 new bytes of response data.
Received a complete SETUP response:
RTSP/1.0 500 Internal Server Error
Cseq: 4
Server: fbxrtspd/1.2 Freebox RTSP server
Public: DESCRIBE, OPTIONS, SETUP, TEARDOWN, PLAY, PAUSE
Failed to setup "video/MP2T" subsession: 500 Internal Server Error
'service' n'est pas reconnu en tant que commande interne
ou externe, un programme ex?cutable ou un fichier de commandes.
'flavour' n'est pas reconnu en tant que commande interne
ou externe, un programme ex?cutable ou un fichier de commandes.
An idea about the problem ?
If I can connect openRTSP to this stream does it will create a file ?
I read this in the usage "Extracting a single stream (to 'stdout')" but I don't understand how create a file...
Otherwise a have Eneo IP camera but I can't found the http or rtsp stream url.
Does anyone know this kind of camera ?
Thank you all.
Boris Saint-Martin
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Wed Nov 9 22:19:01 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Thu, 10 Nov 2011 14:19:01 +0800
Subject: [Live-devel] openRTSP beginner needs help
In-Reply-To: <9C2BA9A8232241EF9E7E4CCE2700CC76@Boris>
References: <9C2BA9A8232241EF9E7E4CCE2700CC76@Boris>
Message-ID: <875C6CAB-888A-4104-8D5E-4F6F0FF7F2BB@live555.com>
> I'm trying to capture a RTSP stream from my internet modem.
> The URL is "rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=202&flavour=hd".
> I can view the stream using VLC but not with openRTSP.
[...]
> Received a complete SETUP response:
> RTSP/1.0 500 Internal Server Error
> Cseq: 4
> Server: fbxrtspd/1.2 Freebox RTSP server
> Public: DESCRIBE, OPTIONS, SETUP, TEARDOWN, PLAY, PAUSE
Only your server manufacturer can explain why it returns "500 Internal Server Error".
However, you noted that you were able to play the stream using VLC. This suggests that the problem might be that your server does not handle requests to stream using RTP/UDP, but can handle requests to stream using RTP/TCP. (Note that VLC first tries requesting RTP/UDP, but, if that fails, then tries requesting RTP/TCP.)
So, I suggest adding the "-t" option to "openRTSP", to request RTP/TCP streaming.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From norris.j at gmail.com Wed Nov 9 01:42:11 2011
From: norris.j at gmail.com (James Norris)
Date: Wed, 9 Nov 2011 09:42:11 +0000
Subject: [Live-devel] Compatibility with Visual Studio 10.0
In-Reply-To: <20111109070007.135660@gmx.net>
References: <20111108135459.257830@gmx.net>
<20111109070007.135660@gmx.net>
Message-ID:
Less excuses more throwing me bones. What are the problems
specifically? It sounds like you're building the test programs, which
I'm assuming means you've already built the libraries (in VS10)? If
that's true it should link/work.
James
On Wed, Nov 9, 2011 at 7:00 AM, Simon Helwig wrote:
> Ok, it would be very nice, if I could use VS10. May you could tell me, what you did, to compile one of the test programs step by step, because I'm a beginner and it's long ago, since I've worked with VS and I got so much mistakes, that I think, that I've made a fundamental error before. In the thread "Compiling a test program", which I posted last friday, I explained the steps I've made to make one of the test programs running. I would be very grateful for your help!
>
> Best greetings
>
> Simon
> -------- Original-Nachricht --------
>> Datum: Tue, 8 Nov 2011 15:41:23 +0000
>> Von: James Norris
>> An: "LIVE555 Streaming Media - development & use"
>> Betreff: Re: [Live-devel] Compatibility with Visual Studio 10.0
>
>> What are the problems? ?I'm sure I did manage it when using VS10, but
>> moved back to 9 now (its better)
>>
>> James
>>
>>
>>
>> On Tue, Nov 8, 2011 at 1:54 PM, Simon Helwig wrote:
>> > Hallo,
>> >
>> > could somebody tell me, if the whole libraries of LIVE555 Streaming
>> Media are compatible to Microsoft Visual Studio 10.0? Because I've many
>> problems, when I compile the libraries and it seems very strange.
>> > So if anybody knows an answer to this problem, please tell me and
>> perhaps you have an instruction for me, how to build these libraries step by step
>> in Visual Studio 10.0?
>> > I would be very happy about an answer...
>> >
>> > Best greetings
>> >
>> > Simon
>> > --
>> > NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zur?ck-Garantie!
>> > Jetzt informieren: http://www.gmx.net/de/go/freephone
>> > _______________________________________________
>> > 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
>
> --
> NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zur?ck-Garantie!
> Jetzt informieren: http://www.gmx.net/de/go/freephone
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel
>
From norris.j at gmail.com Wed Nov 9 01:44:11 2011
From: norris.j at gmail.com (James Norris)
Date: Wed, 9 Nov 2011 09:44:11 +0000
Subject: [Live-devel] New support for sending/receiving Vorbis audio and
VP8 video, and streaming from WebM (.webm) files
In-Reply-To:
References:
Message-ID:
This is great, I would be quite interested in using!
Do you know if there will need to be a VP8DiscreteVideoFramer class to
support this (for instance if wanting to stream a live source via
libvpx). Is it on the roadmap?
James
On Tue, Nov 8, 2011 at 8:32 PM, Ross Finlayson wrote:
> FYI, the latest version (2011.11.08) of the "LIVE555 Streaming Media"
> software implements the RTP payload formats for (sending and receiving)
> Vorbis audio and VP8 video.
> Our RTSP server implementation - including the "LIVE555 Media Server" and
> "testOnDemandRTSPServer" applications - supports streaming from WebM
> (".webm") files, which are a special kind of Matroska file that contain
> Vorbis audio and VP8 video tracks.
>
> 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 norris.j at gmail.com Wed Nov 9 03:17:31 2011
From: norris.j at gmail.com (James Norris)
Date: Wed, 9 Nov 2011 11:17:31 +0000
Subject: [Live-devel] H264DiscreteFramer from custom source
In-Reply-To:
References:
Message-ID:
Thanks Ross. The stream seems to be sending ok now, but I'm having
some problems receiving. For as far as I can tell the stream appears
to be correctly formatted, but neither VLC or OpenRTSP is able to
create valid output from it.
I'm pretty confident that the frames are encoded correctly, if I use a
non-discrete framer with the startcodes attached, VLC can display the
stream (but it's inefficient, dropping frames and the frameloader
buffer keeps getting truncated here), anyway from the FAQ & to my
knowledge the discrete framer is correct.
I've put an avi of the stream here:
http://www.cs.nott.ac.uk/~jzn/live/test.avi
Which was generated using the command line:
openRTSP.exe -4 -w 256 -h 64 -f 30 -d 10 rtsp://.... > test.avi
I've also got a wireshark trace that was able to interpret the H264
stream (using an RTP filter & setting H264 protocol from preferences),
here the NAL type order is shown as:
SPS (7)
PPS (8)
IDR Picture (5)
(6 packets)
Slice (1)
Slice (1)
....
And in the footer of this e-mail there's a VLC log, it seems to buffer
twice, but doesn't show any errors or display anything. Do you have
any pointers for me? Realise this is a tricky one, but are there any
'common' or likely causes of these problems? Happy to provide
whatever extra information might be helpful.
Thanks again,
James
main debug: processing request item rtsp://127.0.0.1:49990/CamBlend
node Playlist skip 0
main debug: resyncing on rtsp://127.0.0.1:49990/CamBlend
main debug: rtsp://127.0.0.1:49990/CamBlend is at 2
main debug: starting new item
main debug: creating new input thread
main debug: Creating an input for 'rtsp://127.0.0.1:49990/CamBlend'
main debug: thread (input) created at priority 1 (../.././src/input/input.c:220)
main debug: thread started
main debug: using timeshift granularity of 50 MiB
main debug: using timeshift path 'C:\Users\jzn\AppData\Local\Temp'
main debug: `rtsp://127.0.0.1:49990/CamBlend' gives access `rtsp'
demux `' path `127.0.0.1:49990/CamBlend'
main debug: creating demux: access='rtsp' demux=''
path='127.0.0.1:49990/CamBlend'
main debug: looking for access_demux module: 1 candidate
live555 debug: RTP subsession 'video/H264'
qt4 debug: IM: Setting an input
main debug: selecting program id=0
live555 debug: setup start: 0.000000 stop:0.000000
live555 debug: We have a timeout of 60 seconds
live555 debug: spawned timeout thread
live555 debug: play start: 0.000000 stop:0.000000
main debug: using access_demux module "live555"
main debug: TIMER module_need() : 27.000 ms - Total 27.000 ms / 1
intvls (Avg 27.000 ms)
main debug: looking for decoder module: 34 candidates
avcodec debug: libavcodec already initialized
avcodec debug: trying to use direct rendering
avcodec debug: ffmpeg codec (H264 - MPEG-4 AVC (part 10)) started
main debug: using decoder module "avcodec"
main debug: TIMER module_need() : 1.000 ms - Total 1.000 ms / 1 intvls
(Avg 1.000 ms)
main debug: looking for packetizer module: 21 candidates
main debug: using packetizer module "packetizer_h264"
main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls
(Avg 0.000 ms)
main debug: thread (decoder) created at priority 0
(../.././src/input/decoder.c:301)
main debug: thread started
main debug: looking for meta reader module: 2 candidates
lua debug: Trying Lua scripts in \\keats\rapg$\jzn\Application
Data\vlc\lua\meta\reader
lua debug: Trying Lua scripts in C:\Program Files (x86)\vlc\lua\meta\reader
lua debug: Trying Lua playlist script C:\Program Files
(x86)\vlc\lua\meta\reader\filename.lua
main debug: no meta reader module matching "any" could be loaded
main debug: TIMER module_need() : 4.000 ms - Total 4.000 ms / 1 intvls
(Avg 4.000 ms)
main debug: `rtsp://127.0.0.1:49990/CamBlend' successfully opened
main debug: Buffering 0%
packetizer_h264 debug: found NAL_SPS (sps_id=0)
main debug: Buffering 1%
packetizer_h264 debug: found NAL_PPS (pps_id=0 sps_id=0)
main debug: Buffering 4%
main debug: Buffering 7%
main debug: Buffering 9%
main debug: Buffering 12%
main debug: Buffering 15%
main debug: Buffering 17%
main debug: Buffering 20%
main debug: Buffering 22%
main debug: Buffering 25%
main debug: Buffering 28%
main debug: Buffering 30%
main debug: Buffering 33%
main debug: Buffering 36%
main debug: Buffering 38%
main debug: Buffering 41%
main debug: Buffering 43%
main debug: Buffering 46%
main debug: Buffering 49%
main debug: Buffering 51%
main debug: Buffering 54%
main debug: Buffering 56%
main debug: Buffering 59%
main debug: Buffering 62%
main debug: Buffering 64%
main debug: Buffering 67%
main debug: Buffering 69%
main debug: Buffering 72%
main debug: Buffering 75%
main debug: Buffering 77%
main debug: Buffering 80%
main debug: Buffering 82%
main debug: Buffering 85%
main debug: Buffering 88%
main debug: Buffering 90%
main debug: Buffering 93%
main debug: Buffering 96%
main debug: Buffering 98%
main debug: Stream buffering done (1217 ms in 1218 ms)
main debug: Decoder buffering done in 0 ms
live555 debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP()
main debug: ES_OUT_RESET_PCR called
main debug: Buffering 0%
main debug: Buffering 2%
main debug: Buffering 5%
main debug: Buffering 7%
main debug: Buffering 10%
main debug: Buffering 13%
main debug: Buffering 15%
main debug: Buffering 18%
main debug: Buffering 20%
main debug: Buffering 23%
main debug: Buffering 26%
main debug: Buffering 28%
main debug: Buffering 31%
main debug: Buffering 33%
main debug: Buffering 36%
main debug: Buffering 39%
main debug: Buffering 41%
main debug: Buffering 44%
main debug: Buffering 47%
main debug: Buffering 49%
main debug: Buffering 52%
main debug: Buffering 54%
main debug: Buffering 57%
main debug: Buffering 60%
main debug: Buffering 62%
main debug: Buffering 65%
main debug: Buffering 68%
main debug: Buffering 70%
main debug: Buffering 73%
main debug: Buffering 75%
main debug: Buffering 78%
main debug: Buffering 81%
main debug: Buffering 83%
main debug: Buffering 86%
main debug: Buffering 89%
main debug: Buffering 91%
main debug: Buffering 94%
main debug: Buffering 97%
main debug: Buffering 99%
main debug: Stream buffering done (1227 ms in 1227 ms)
main debug: Decoder buffering done in 0 ms
On Tue, Nov 8, 2011 at 4:37 PM, Ross Finlayson wrote:
> Should I schedule a deliverFrame (and FramedSource::afterGetting( ..)
> for each NAL, i.e. making a queue of NALs and repeatedly scheduling
> deliverFrame in order to send a single frame.
>
> Yes, a "H264VideoStreamDiscreteFramer" expects to be fed one NAL unit at a
> time - *not* one frame at a time.
> In fact, this is especially important for SPS and PPS NAL units, because
> the?"H264VideoStreamDiscreteFramer" code recognizes and saves a copy of
> those NAL units (for use in the stream's SDP 'config' string).
> If you can, try to make the SPS and PPS NAL units the first NAL units that
> come from your encoder, for each new stream. ?This is not essential (as long
> as SPS and PPS NAL units appear eventually), but it will make the server
> more efficient.
>
> 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 czf86123 at gmail.com Wed Nov 9 04:41:50 2011
From: czf86123 at gmail.com (Zhaofei Chen)
Date: Wed, 9 Nov 2011 13:41:50 +0100
Subject: [Live-devel] Question about buffer when streaming mp3 files and wav
(raw pcm) files
Message-ID:
Hello,
I've tried to use live media libraries with MPlayer for streaming audio
files over RTSP and it is successful.
However there's something that I'm not sure with. When a wav file or raw
pcm audio data is streamed, I found that a buffer will be used to preload
some data (few seconds, related with audio file's bitrate) before MPlayer
starts playing. And if it is a mp3 file, there is no preloading. I would
like to ask what this buffer could be and why it is used only for some
specific formats. Anyone can give me some advice? Thanks!
Zhaofei Chen
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From amir.yung at gmail.com Thu Nov 10 02:31:36 2011
From: amir.yung at gmail.com (Amir Yungman)
Date: Thu, 10 Nov 2011 12:31:36 +0200
Subject: [Live-devel] RTSP to iPhone iPad and so...
In-Reply-To: <4eba47c1.8bcbe30a.48b2.ffffbb78@mx.google.com>
References: <4eba47c1.8bcbe30a.48b2.ffffbb78@mx.google.com>
Message-ID: <4ebba761.8307df0a.17c0.fffffc3f@mx.google.com>
Hello,
I've read that iPhone does not support the native RTP/RTSP protocol.
Is it so? how to stream it a video without writing a special app on the iPhone.
I've implemented RTSP server and it is working with any "normal" RTSP client like RealPlayer/VLC and so.
Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Thu Nov 10 08:28:10 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Fri, 11 Nov 2011 00:28:10 +0800
Subject: [Live-devel] New support for sending/receiving Vorbis audio and
VP8 video, and streaming from WebM (.webm) files
In-Reply-To:
References:
Message-ID: <3EF11A5C-97BE-4A1F-8610-F96D4190085E@live555.com>
> This is great, I would be quite interested in using!
>
> Do you know if there will need to be a VP8DiscreteVideoFramer class to
> support this (for instance if wanting to stream a live source via
> libvpx).
No, you should be able to feed VP8 frames (one at a time) directly into a "VP8VideoRTPSink", with no separate 'framer' object required. (Just make sure that your VP8 frames have proper presentation times.)
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Thu Nov 10 08:41:31 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Fri, 11 Nov 2011 00:41:31 +0800
Subject: [Live-devel] H264DiscreteFramer from custom source
In-Reply-To:
References:
Message-ID:
> I've put an avi of the stream here:
>
> http://www.cs.nott.ac.uk/~jzn/live/test.avi
>
> Which was generated using the command line:
>
> openRTSP.exe -4 -w 256 -h 64 -f 30 -d 10 rtsp://.... > test.avi
This is incorrect. The "-4" option generates a ".mp4"-format file, not an AVI file.
In any case, I suggest not using this option (or "-i"). Instead, don't use any options at all (other than "-d "). You will get a raw H.264 video output file. Rename this as "test.h264", and check whether or not VLC will play it.
If VLC can't play your file, then put it on a web server, and send us the URL, so I can download and look at it myself.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Thu Nov 10 08:46:05 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Fri, 11 Nov 2011 00:46:05 +0800
Subject: [Live-devel] Question about buffer when streaming mp3 files and
wav (raw pcm) files
In-Reply-To:
References:
Message-ID: <51E835D4-67A3-4ADA-BE64-EAA15B29DC1B@live555.com>
> However there's something that I'm not sure with. When a wav file or raw pcm audio data is streamed, I found that a buffer will be used to preload some data (few seconds, related with audio file's bitrate) before MPlayer starts playing.
This is a MPlayer issue; there is no such buffering within our libraries.
In any case, I suggest using VLC rather than MPlayer.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From tinitus.rockt at gmx.de Thu Nov 10 08:41:51 2011
From: tinitus.rockt at gmx.de (Simon Helwig)
Date: Thu, 10 Nov 2011 17:41:51 +0100
Subject: [Live-devel] Compatibility with Visual Studio 10.0
In-Reply-To:
References: <20111108135459.257830@gmx.net>
<20111109070007.135660@gmx.net>
Message-ID: <20111110164151.155430@gmx.net>
Yes, that's correct. I've already built the libraries in VS10.
First I downloaded the package (live555-latest.tar.gz 01-Nov-2011 19:01 508K) and extracted the files in a new folder on my Desktop. Then I changed the path of the 'tools' directory in the file "win32config". The new path I entered was C:\Programme\Microsoft Visual Studio 10.0\VC
Afterwards I opened the commando line and went to the new folder, where I extracted the files of the package. Then I generated the .mak files with the commando "genWindowsMakefiles".
In addition to that I opened a new "Makefile Project" in Visual Studio. In this project I imported all the *.mak files I generated before. There are four files: BasicUsageEnviornment.mak, groupsok.mak, liveMedia.mak,UsageEnviornment.mak and testProgs.mak.
Then I built successively each of the four files (projects) first.
Now I opened C++ project and took one of the test programms (testMPEG2TransportStreamer.cpp) and copied the code in it.
Thereafter I tried to compile the code, but then I got a lot of mistakes.
Are my steps I explained correct?
Do you still want to know the exact wording of the error messages? Because I'm now sitting on the wrong computer, so I could tell you the wording of the mistakes only on Monday, because then I'm again at work and there are so many errors, that I'm not able to tell you one of them now. Sorry for that, but maybe you can already narrow the problem?
Best greetings from Germany
Simon
-------- Original-Nachricht --------
> Datum: Wed, 9 Nov 2011 09:42:11 +0000
> Von: James Norris
> An: "LIVE555 Streaming Media - development & use"
> Betreff: Re: [Live-devel] Compatibility with Visual Studio 10.0
> Less excuses more throwing me bones. What are the problems
> specifically? It sounds like you're building the test programs, which
> I'm assuming means you've already built the libraries (in VS10)? If
> that's true it should link/work.
>
> James
>
>
>
> On Wed, Nov 9, 2011 at 7:00 AM, Simon Helwig wrote:
> > Ok, it would be very nice, if I could use VS10. May you could tell me,
> what you did, to compile one of the test programs step by step, because I'm
> a beginner and it's long ago, since I've worked with VS and I got so much
> mistakes, that I think, that I've made a fundamental error before. In the
> thread "Compiling a test program", which I posted last friday, I explained
> the steps I've made to make one of the test programs running. I would be very
> grateful for your help!
> >
> > Best greetings
> >
> > Simon
> > -------- Original-Nachricht --------
> >> Datum: Tue, 8 Nov 2011 15:41:23 +0000
> >> Von: James Norris
> >> An: "LIVE555 Streaming Media - development & use"
>
> >> Betreff: Re: [Live-devel] Compatibility with Visual Studio 10.0
> >
> >> What are the problems? ?I'm sure I did manage it when using VS10, but
> >> moved back to 9 now (its better)
> >>
> >> James
> >>
> >>
> >>
> >> On Tue, Nov 8, 2011 at 1:54 PM, Simon Helwig
> wrote:
> >> > Hallo,
> >> >
> >> > could somebody tell me, if the whole libraries of LIVE555 Streaming
> >> Media are compatible to Microsoft Visual Studio 10.0? Because I've many
> >> problems, when I compile the libraries and it seems very strange.
> >> > So if anybody knows an answer to this problem, please tell me and
> >> perhaps you have an instruction for me, how to build these libraries
> step by step
> >> in Visual Studio 10.0?
> >> > I would be very happy about an answer...
> >> >
> >> > Best greetings
> >> >
> >> > Simon
> >> > --
> >> > NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zur?ck-Garantie!
> >> > Jetzt informieren: http://www.gmx.net/de/go/freephone
> >> > _______________________________________________
> >> > 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
> >
> > --
> > NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zur?ck-Garantie!
> > Jetzt informieren: http://www.gmx.net/de/go/freephone
> > _______________________________________________
> > 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
--
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
From finlayson at live555.com Thu Nov 10 12:26:13 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Fri, 11 Nov 2011 04:26:13 +0800
Subject: [Live-devel] RTSP to iPhone iPad and so...
In-Reply-To: <4ebba761.8307df0a.17c0.fffffc3f@mx.google.com>
References: <4eba47c1.8bcbe30a.48b2.ffffbb78@mx.google.com>
<4ebba761.8307df0a.17c0.fffffc3f@mx.google.com>
Message-ID: <85CC2142-DCDB-482D-8DDA-E4524CD87259@live555.com>
> I've read that iPhone does not support the native RTP/RTSP protocol.
> Is it so?
Yes, that's true.
> how to stream it a video without writing a special app on the iPhone.
Our 'RTSP server' implementation supports - in addition to RTSP - the "HTTP Live Streaming" protocol that Apple uses to stream to Safari on iPhones and iPads. I.e., it uses the HTTP protocol, not RTSP - even though it's part of the "RTSPServer".
For details, see
http://www.live555.com/mediaServer/#http-live-streaming
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From live555 at timshackleton.com Thu Nov 10 12:28:11 2011
From: live555 at timshackleton.com (Tim J Shackleton)
Date: Fri, 11 Nov 2011 09:28:11 +1300
Subject: [Live-devel] Opportunity for unpredictable behaviour in
MPEG2TransportStreamFramer
In-Reply-To: <4E9C8CB6.8040906@timshackleton.com>
References: <4E9B5B29.9040002@timshackleton.com>
<2C8117BE-A9E2-4276-AE81-4127A131B108@live555.com>
<4E9C8CB6.8040906@timshackleton.com>
Message-ID: <4EBC33DB.6010004@timshackleton.com>
On 18/10/11 09:14, Tim J Shackleton wrote:
> On 17/10/11 17:54, Ross Finlayson wrote:
>> Yes, but are you sure that a wrap-around is, in fact happening (and
>> is the cause of your problem)? A rough calculation shows that - at 10
>> Mbps - the "fTSPacketCount" variable (which counts 188-byte Transport
>> Stream 'packets') will wrap around in around 7 days. But anyway, if
>> this is a plausible occurrence, then it's probably something we
>> should allow for.
>
> Fantastic. I am going to run side by side binaries, one with the
> existing unsigned, and one with the u_int64_t. I have been playing
> out content with a mux rate of 8,000kbit/sec and I was seeing the
> problem occur after about a week and a half and by my math that seems
> to agree with a calculated value of 9.3 days.
Hi Ross,
My test was thwarted by an unexpected shortage of electrons about
halfway through, but has now completed. I have run both a task based on
the current live555 source, and a task with a modified source tree using
u_int64_t side by side, playing out a loop of MPEG2 content that never
closes or ends via a DeviceSource.
The task that isn't using 64bit integers has, as expected, lost it's
mind and is spending a lot of time blocking and using every scrap of CPU
available as it tries to play out the MPEG at a ridiculously high rate.
The modified version is still working as per normal.
The only modifications I have made are as follows:
In MPEG2TransportStreamFramer.cpp, class 'PIDStatus' I have changed
lastPacketNum to u_int64_t.
In include/MPEG2TransportStreamFramer.hh I have changed tsPacketCount,
fTSPacketCount and fTSPCRCount types to u_int64_t.
Regards,
Tim Shackleton
From finlayson at live555.com Thu Nov 10 14:11:31 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Fri, 11 Nov 2011 06:11:31 +0800
Subject: [Live-devel] Opportunity for unpredictable behaviour in
MPEG2TransportStreamFramer
In-Reply-To: <4EBC33DB.6010004@timshackleton.com>
References: <4E9B5B29.9040002@timshackleton.com>
<2C8117BE-A9E2-4276-AE81-4127A131B108@live555.com>
<4E9C8CB6.8040906@timshackleton.com>
<4EBC33DB.6010004@timshackleton.com>
Message-ID:
Thanks for the testing. These changes will appear in the next release of the software.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From yuri.timenkov at itv.ru Thu Nov 10 20:04:23 2011
From: yuri.timenkov at itv.ru (Yuri Timenkov)
Date: Fri, 11 Nov 2011 08:04:23 +0400
Subject: [Live-devel] Basic HTTP authentication in liveMedia
Message-ID: <4EBC9EC7.6090808@itv.ru>
Dear Ross,
In our server app we already have user database with encrypted (one-way)
passwords. So only chance to support authentication for current users is
use basic (not digest) authentication scheme.
Is it possible to implement it in current liveMedia releases without
modifying existing code?
Regards,
Yuri
From finlayson at live555.com Fri Nov 11 00:21:08 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Fri, 11 Nov 2011 16:21:08 +0800
Subject: [Live-devel] Basic HTTP authentication in liveMedia
In-Reply-To: <4EBC9EC7.6090808@itv.ru>
References: <4EBC9EC7.6090808@itv.ru>
Message-ID:
> In our server app we already have user database with encrypted (one-way) passwords. So only chance to support authentication for current users is use basic (not digest) authentication scheme.
>
> Is it possible to implement it in current liveMedia releases without modifying existing code?
Yes, our RTSP client implementation should already be able to handle servers that do basic authentication. (You can verify this by running "openRTSP" on one of your server's streams.)
Our RTSP server implementation, however, supports digest authentication only (or else no authentication at all).
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From giac.dinh at l-3com.com Fri Nov 11 08:36:11 2011
From: giac.dinh at l-3com.com (giac.dinh at l-3com.com)
Date: Fri, 11 Nov 2011 11:36:11 -0500
Subject: [Live-devel] old source code
Message-ID: <910E82F60F64E34D8388CAFCE988965B027D5C2F1A@mail>
Does anyone have old source code release on 2007-10-31?
Giac
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From kevinhilman at hotmail.com Thu Nov 10 19:49:35 2011
From: kevinhilman at hotmail.com (HilmanKevin)
Date: Fri, 11 Nov 2011 03:49:35 +0000
Subject: [Live-devel] about DeviceSource::eventTriggerId
Message-ID:
hi,kind expert
i want to use DeviceSource.i read code of DeviceSource,DeviceSource is incomplete.i have a trouble to use it.
here in DeviceSource.cpp
void DeviceSource::signalNewFrameData() {//i define signalNewFrameData as a public member function of DeviceSource class in my test
TaskScheduler* ourScheduler = NULL; //%%% TO BE WRITTEN %%%
DeviceSource* ourDevice = NULL; //%%% TO BE WRITTEN %%%
if (ourScheduler != NULL) { // sanity check
ourScheduler->triggerEvent(DeviceSource::eventTriggerId, ourDevice);
}
}
when i call myDeviceSource->signalNewFrameData from seperate thread,what happened in DeviceSource after ourScheduler->triggerEvent(DeviceSource::eventTriggerId, ourDevice); ? that is ,which function in DeviceSource would be excute after ourScheduler->triggerEvent(DeviceSource::eventTriggerId, ourDevice);?
any light or any example are much appreciated. thanks a lot.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From norris.j at gmail.com Fri Nov 11 00:02:27 2011
From: norris.j at gmail.com (James Norris)
Date: Fri, 11 Nov 2011 08:02:27 +0000
Subject: [Live-devel] Compatibility with Visual Studio 10.0
In-Reply-To: <20111110164151.155430@gmx.net>
References: <20111108135459.257830@gmx.net>
<20111109070007.135660@gmx.net>
<20111110164151.155430@gmx.net>
Message-ID:
Hey,
On Thu, Nov 10, 2011 at 4:41 PM, Simon Helwig wrote:
> Yes, that's correct. I've already built the libraries in VS10.
> First I downloaded the package (live555-latest.tar.gz ? 01-Nov-2011 19:01 ?508K) and extracted the files in a new folder on my Desktop. Then I changed the path of the 'tools' directory in the file "win32config". The new path I entered was C:\Programme\Microsoft Visual Studio 10.0\VC
> Afterwards I opened the commando line and went to the new folder, where I extracted the files of the package. Then I generated the .mak files with the commando "genWindowsMakefiles".
> In addition to that I opened a new "Makefile Project" in Visual Studio. In this project I imported all the *.mak files I generated before. There are four files: BasicUsageEnviornment.mak, groupsok.mak, liveMedia.mak,UsageEnviornment.mak and testProgs.mak.
You've listed 5 (not 4) make files here, and if you build the
testProgs.mak as you have done with the other 4, you should get a
testMPEG2...exe. Do that and let us know what the *specific* errors
are if any appear.
> Then I built successively each of the four files (projects) first.
> Now I opened C++ project and took one of the test programms (testMPEG2TransportStreamer.cpp) and copied the code in it.
> Thereafter I tried to compile the code, but then I got a lot of mistakes.
No need for all this, testProgs.mak builds it
>
> Are my steps I explained correct?
> Do you still want to know the exact wording of the error messages? ?Because I'm now sitting on the wrong computer, so I could tell you the wording of the mistakes only on Monday, because then I'm again at work and there are so many errors, that I'm not able to tell you one of them now. Sorry for that, but maybe you can already narrow the problem?
>
> Best greetings from Germany
>
> Simon
>
> -------- Original-Nachricht --------
>> Datum: Wed, 9 Nov 2011 09:42:11 +0000
>> Von: James Norris
>> An: "LIVE555 Streaming Media - development & use"
>> Betreff: Re: [Live-devel] Compatibility with Visual Studio 10.0
>
>> Less excuses more throwing me bones. ?What are the problems
>> specifically? ?It sounds like you're building the test programs, which
>> I'm assuming means you've already built the libraries (in VS10)? ?If
>> that's true it should link/work.
>>
>> James
>>
>>
>>
>> On Wed, Nov 9, 2011 at 7:00 AM, Simon Helwig wrote:
>> > Ok, it would be very nice, if I could use VS10. May you could tell me,
>> what you did, to compile one of the test programs step by step, because I'm
>> a beginner and it's long ago, since I've worked with VS and I got so much
>> mistakes, that I think, that I've made a fundamental error before. In the
>> thread "Compiling a test program", which I posted last friday, I explained
>> the steps I've made to make one of the test programs running. I would be very
>> grateful for your help!
>> >
>> > Best greetings
>> >
>> > Simon
>> > -------- Original-Nachricht --------
>> >> Datum: Tue, 8 Nov 2011 15:41:23 +0000
>> >> Von: James Norris
>> >> An: "LIVE555 Streaming Media - development & use"
>>
>> >> Betreff: Re: [Live-devel] Compatibility with Visual Studio 10.0
>> >
>> >> What are the problems? ?I'm sure I did manage it when using VS10, but
>> >> moved back to 9 now (its better)
>> >>
>> >> James
>> >>
>> >>
>> >>
>> >> On Tue, Nov 8, 2011 at 1:54 PM, Simon Helwig
>> wrote:
>> >> > Hallo,
>> >> >
>> >> > could somebody tell me, if the whole libraries of LIVE555 Streaming
>> >> Media are compatible to Microsoft Visual Studio 10.0? Because I've many
>> >> problems, when I compile the libraries and it seems very strange.
>> >> > So if anybody knows an answer to this problem, please tell me and
>> >> perhaps you have an instruction for me, how to build these libraries
>> step by step
>> >> in Visual Studio 10.0?
>> >> > I would be very happy about an answer...
>> >> >
>> >> > Best greetings
>> >> >
>> >> > Simon
>> >> > --
>> >> > NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zur?ck-Garantie!
>> >> > Jetzt informieren: http://www.gmx.net/de/go/freephone
>> >> > _______________________________________________
>> >> > 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
>> >
>> > --
>> > NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zur?ck-Garantie!
>> > Jetzt informieren: http://www.gmx.net/de/go/freephone
>> > _______________________________________________
>> > 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
>
> --
> Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
> belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel
>
From finlayson at live555.com Sat Nov 12 07:03:05 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Sat, 12 Nov 2011 23:03:05 +0800
Subject: [Live-devel] about DeviceSource::eventTriggerId
In-Reply-To:
References:
Message-ID: <3FB2D320-D2D0-4D00-BFDF-E99B2DB181F6@live555.com>
> when i call myDeviceSource->signalNewFrameData from seperate thread,what happened in DeviceSource after ourScheduler->triggerEvent(DeviceSource::eventTriggerId, ourDevice); ? that is ,which function in DeviceSource would be excute after ourScheduler->triggerEvent(DeviceSource::eventTriggerId, ourDevice);?
The function that you gave - as a parameter - to the call to "createEventTrigger()" that returned "DeviceSource::eventTriggerId". In the "DeviceSource.cpp" code, this is the function "deliverFrame0()".
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From isambhav at gmail.com Mon Nov 14 04:06:49 2011
From: isambhav at gmail.com (Sambhav)
Date: Mon, 14 Nov 2011 17:36:49 +0530
Subject: [Live-devel] OnDemand Server application Callbacks
Message-ID:
Hi,
I have an application with live555 server (OnDemand) integrated.
How can this application know when clients sends PLAY and TEARDOWN requests
?
Is there any application level callbacks for the same ?
Regards,
Sambhav
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Mon Nov 14 04:41:18 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Mon, 14 Nov 2011 20:41:18 +0800
Subject: [Live-devel] OnDemand Server application Callbacks
In-Reply-To:
References:
Message-ID: <2D1A7786-7D43-4AFF-9FCA-4B2847276C51@live555.com>
> I have an application with live555 server (OnDemand) integrated.
> How can this application know when clients sends PLAY and TEARDOWN requests ?
> Is there any application level callbacks for the same ?
Yes, the way to do this is to subclass "RTSPServer", and - in your subclass - redefine the virtual functions "handleCmd_PLAY()" and "handleCmd_TEARDOWN()". Your subclassed versions of these functions can do whatever they like, and then call the original, base-class version (defined for "RTSPServer").
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From emile.semmes at e6group.com Mon Nov 14 18:02:38 2011
From: emile.semmes at e6group.com (Emile Semmes)
Date: Mon, 14 Nov 2011 18:02:38 -0800
Subject: [Live-devel] Stopping an RTP stream safely/Deleting objects
Message-ID: <4EC1C83E.2090403@e6group.com>
Hi all,
I'm streaming an MPEG-2 TS file using code very similar to
testMPEG2TransportStreamer.cpp. In one of my use cases, I need to stop
the stream immediately instead of allowing it to complete. I'm doing
this currently by passing a watch variable to the
taskScheduler().doEventLoop() call and allowing another thread to set
that variable when I need to stop playback.
My question is what do I need to do after that to safely stop and delete
my related objects (UsageEnvironment, RTPSink, etc) if I leave the
doEventLoop() early? I'm assuming calling Medium::close() on the object
created by MPEG2TransportStreamFramer::createNew() is correct, but I'm
not sure what I should call to destroy the object created by
SimpleRTPSink::createNew(). The destructor is protected so delete is
forbidden.
Also, should I make a call to RTPSink::stopPlaying() and if so, when?
I'd like to reuse the RTPsink but give it different parameters on a
subsequent use.
Thanks,
Emile
--
--
Emile Semmes
Software Engineer
e6 Group, LLC
www.e6group.com
From finlayson at live555.com Mon Nov 14 19:33:53 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Tue, 15 Nov 2011 11:33:53 +0800
Subject: [Live-devel] Stopping an RTP stream safely/Deleting objects
In-Reply-To: <4EC1C83E.2090403@e6group.com>
References: <4EC1C83E.2090403@e6group.com>
Message-ID:
> I'm streaming an MPEG-2 TS file using code very similar to testMPEG2TransportStreamer.cpp. In one of my use cases, I need to stop the stream immediately instead of allowing it to complete. I'm doing this currently by passing a watch variable to the taskScheduler().doEventLoop() call and allowing another thread to set that variable when I need to stop playback.
FYI (and this is unrelated to your question below), you might find it simpler to use the new 'event trigger' mechanism instead; see "UsageEnvironment/include/UsageEnvironment.hh"
> My question is what do I need to do after that to safely stop and delete my related objects (UsageEnvironment, RTPSink, etc) if I leave the doEventLoop() early?
First, you can always just call "exit(0)" to leave and destroy the process (i.e., address space, i.e., application). The OS will take care of closing/reclaiming its sockets. This is by far the simplest thing to do, and it's what you should do - unless you have a very good reason for wanting to keep the process around.
But, if you really want to keep the process around, you can reclaim the LIVE555 objects by doing the following (generally speaking, you're reclaiming objects in the reverse order from the order that you created them):
videoSink->stopPlaying();
Medium::close(videoSource);
Medium::close(videoSink);
delete rtpGroupsock;
delete rtcpGroupsock;
env->reclaim();
delete scheduler;
(I'm basing this on the "testMPEG2TransportStreamer" code, because you said you used that code as a model.)
> I'd like to reuse the RTPsink but give it different parameters on a subsequent use.
No, you can't do that. Just delete it (using "Medium::close()"), and create a new one next time.
But again, why not just exit the process (application), and launch a new one next time?
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From kvishnath at ymail.com Tue Nov 15 01:12:33 2011
From: kvishnath at ymail.com (Viswanatha Reddy)
Date: Tue, 15 Nov 2011 14:42:33 +0530 (IST)
Subject: [Live-devel] RTSP Server Crash with Milestone Client
Message-ID: <1321348353.68250.YahooMailNeo@web95012.mail.in2.yahoo.com>
Dear Ross,
Thanks for your reply.
I collected the debug information while running with Milestone client and VLC client.
The snapshot of the crash pointing the crash inside the Server is also given.
Please find the attachment, which contains all the debug info.
Thank you,
K.Viswanatha Reddy,
Bangalore,
India
?
Wed, 02 Nov 2011 12:48:43 -0700
> I have developed an (mpeg4)RTSP streamer(server) using live555 libs. It's
> unicast based on OnDemandServer example module.
> Thanks for your priceless contribution to the media community.
>
> The application takes rgb frames from a buffer, encodes it, and passes it to
> the derived FramedSource module.
> I ran without any issues with vlc and mplayer client for weeks together.
>
> The application was now tested with Milestone Client(used Onvif standard to
> make the Streamer to be seen as a virtual camera by this client).
> But it's crashing frequently inside the eventloop.
> I thoroughly checked whether it's crashing in my development. It's not.
> Surely it's crashing at the step of eventloop.
> This never happens with vlc/mplayer !!. Unfortunately, because the problem seems to happen only with your custom
server, we can't reproduce it ourselves, so you're going to have to identify
precisely where - in our code - your server is crashing, and why. (BTW, almost everything within a LIVE555 application happens "inside the event
loop", so that's probably not significant.) For starters, I suggest turning on debugging printing in the "RTSPServer" code
by adding #define DEBUG 1 near the top of "liveMedia/RTSPServer.cpp", and recompiling. This should help
tell you what's going wrong. It's conceivable that your new client has somehow (perhaps by using slightly
different RTSP command syntax) uncovered an error in our server code - in which
case I'd be very interested in discovering this.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ross.rar
Type: application/octet-stream
Size: 78919 bytes
Desc: not available
URL:
From raffin at ermes-cctv.com Tue Nov 15 04:02:56 2011
From: raffin at ermes-cctv.com (Mario Raffin)
Date: Tue, 15 Nov 2011 13:02:56 +0100
Subject: [Live-devel] VLC needs to send the PLAY command twice
Message-ID: <4EC254F0.8020700@ermes-cctv.com>
Dear developer(s),
thank you for this great code. I am developing an IP camera which
streams H.264 video via rtp in UNICAST. I use VLC to receive the stream.
At the beginning I used the multicast SSM and all was fine. Then I
implemented the unicast as described in the FAQ starting from the
testOnDemandRTSPServer.cpp. Here I noticed that when using VLC under
linux the stream was quite slow to start while with the VLC windows
version it did not start at all. So looking at the session init, I
noticed that the session never start after the first PLAY but VLC needs
to close the first session and call PLAY again.
When I start playing all seems OK, I see the the OPTIONS,DESCRIBE, SETUP
and PLAY from the VLC client. After the PLAY the source always replies
with the OK. Then, immediatly after this *first *PLAY the VLC client
sends a GET_PARAMETER request, the server answers but the streams does
not starts and after about 10s the client sends a TEARDOWN and closes
the session (in the middle I see a couple of RTCP packets).
After the *second *PLAY, the GET_PARAMETER request is not sent and the
stream starts immediatly.
I attached the packet description I get with Wireshark.
Some idea or suggestion about the possible cause of this strange
behaviour will be very appeciated.
Thank you.
M. Raffin
--
*Mario Raffin *
Development Engineer
Ermes Elettronica s.r.l.
via Treviso, 36
31020 San Vendemiano (TV) Italy (Map
)
Mail: raffin at ermes-cctv.com
Web:http://www.ermes-cctv.com/
/Tel. +39 0438 308470/
/Fax. +39 0438 492340/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MARCHIO ERMES.jpg
Type: image/jpeg
Size: 3980 bytes
Desc: not available
URL:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rtpsessionscollapsed2.zip
Type: application/x-zip-compressed
Size: 1601 bytes
Desc: not available
URL:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: raffin.vcf
Type: text/x-vcard
Size: 266 bytes
Desc: not available
URL:
From sebastien-devel at celeos.eu Tue Nov 15 04:42:11 2011
From: sebastien-devel at celeos.eu (=?ISO-8859-1?Q?S=E9bastien?= Escudier)
Date: Tue, 15 Nov 2011 13:42:11 +0100
Subject: [Live-devel] VLC needs to send the PLAY command twice
In-Reply-To: <4EC254F0.8020700@ermes-cctv.com>
References: <4EC254F0.8020700@ermes-cctv.com>
Message-ID: <1321360931.25208.7.camel@stim-desktop>
On Tue, 2011-11-15 at 13:02 +0100, Mario Raffin wrote:.
> When I start playing all seems OK, I see the the OPTIONS,DESCRIBE,
> SETUP and PLAY from the VLC client. After the PLAY the source always
> replies with the OK. Then, immediatly after this first PLAY the VLC
> client sends a GET_PARAMETER request, the server answers but the
> streams does not starts and after about 10s the client sends a
> TEARDOWN and closes the session (in the middle I see a couple of RTCP
> packets).
> After the second PLAY, the GET_PARAMETER request is not sent and the
> stream starts immediatly.
Look at vlc logs : that's because vlc does not receive any data and
fallback to TCP.
From finlayson at live555.com Tue Nov 15 05:03:58 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Tue, 15 Nov 2011 21:03:58 +0800
Subject: [Live-devel] RTSP Server Crash with Milestone Client
In-Reply-To: <1321348353.68250.YahooMailNeo@web95012.mail.in2.yahoo.com>
References: <1321348353.68250.YahooMailNeo@web95012.mail.in2.yahoo.com>
Message-ID: <2A3D9DE1-F378-4D89-8B6F-F79A1C64316E@live555.com>
I can't figure out exactly why your server is crashing with the "Milestone" client, but it appears to be related to the fact that this client is behaving in a very strange and non-standard way. For some reason, it is sending two different copies of each "DESCRIBE" request.
In particular, it is sending, in order:
- a RTSP "DESCRIBE" command, with CSeq 1. The server (correctly) responds to this with a "401 Unauthorized" response.
- a different RTSP "DESCRIBE", but also with CSeq 1. This is wrong. The server also responds to this with "401 Unauthorized"
- a RTSP "DESCRIBE" request, with CSeq 2, that follows up to the first "DESCRIBE", including proper cryptographic credentials.
- a different RTSP "DESCRIBE" request, with CSeq 2, that follows up to the second "DESCRIBE", including proper cryptographic credentials. Again, this is wrong.
I.e., this "Milestone" client is behaving in an incorrect, non-standard way. That doesn't excuse the server crashing; even incorrect client behavior should never cause the server to crash. However, you should contact your client's manufacturer, asking them to fix their client.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Tue Nov 15 05:32:23 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Tue, 15 Nov 2011 21:32:23 +0800
Subject: [Live-devel] VLC needs to send the PLAY command twice
In-Reply-To: <1321360931.25208.7.camel@stim-desktop>
References: <4EC254F0.8020700@ermes-cctv.com>
<1321360931.25208.7.camel@stim-desktop>
Message-ID: <74549F0B-D571-4578-BC3A-86904CE301D7@live555.com>
> Look at vlc logs : that's because vlc does not receive any data and
> fallback to TCP.
Yes, you have a firewall somewhere - between your server and client - that is blocking UDP traffic. That's why VLC, after failing to receive any RTP/UDP packets, retries, this time requesting RTP/TCP.
You can get rid of this delay by having VLC request RTP/TCP only, or by fixing your firewall.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From Charles.Baudouin at cobham.com Tue Nov 15 08:57:10 2011
From: Charles.Baudouin at cobham.com (Baudouin, Charles)
Date: Tue, 15 Nov 2011 16:57:10 +0000
Subject: [Live-devel] unsubsribe
Message-ID: <2AA7930B7DFE3B49A6CB2D982917C1DC09078CE527@NHC0-PUR-MXC001.purple.cobham.local>
This E-mail and any files transmitted with it ("E-mail") is intended solely for the addressee(s) and may contain confidential and/or legally privileged information. If you are not the addressee(s), any disclosure, reproduction, copying, distribution or other use of the E-mail is prohibited. If you have received this E-mail in error, please delete it and notify the sender immediately via our switchboard or return e-mail.
Neither the company nor any subsidiary or affiliate or associated company nor any individual sending this E-mail accepts any liability in respect of the content (including errors and omissions) nor shall this e-mail be deemed to enter the company or any subsidiary or affiliate or associated company into a contract or to create any legally binding obligations unless expressly agreed to in writing under separate cover and timeliness of the E-mail which arise as a result of transmission. If verification is required, please request a hard copy version from the sender.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From tayeb.dotnet at gmail.com Mon Nov 14 13:14:18 2011
From: tayeb.dotnet at gmail.com (Meftah Tayeb)
Date: Mon, 14 Nov 2011 23:14:18 +0200
Subject: [Live-devel] RTSP DVB streaming
Message-ID:
hello folks,
i'm new to this list:)
please can someone tel me how to stream dvb-S channels using RTSP?
thank you
Meftah Tayeb
IT Consulting
http://www.tmvoip.com/
phone: +21321656139
Mobile: +213660347746
__________ Information from ESET NOD32 Antivirus, version of virus signature database 6633 (20111115) __________
The message was checked by ESET NOD32 Antivirus.
http://www.eset.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From achraf.gazdar at gmail.com Tue Nov 15 16:41:25 2011
From: achraf.gazdar at gmail.com (Achraf Gazdar)
Date: Wed, 16 Nov 2011 01:41:25 +0100
Subject: [Live-devel] Relaying transport Stream UDP source to an RTPsink
Message-ID:
Hi,
I want to know if is it possible to relay a transport stream streamed from
a source using udp to a destination using RTP. The chain is :
UDPSource> (TransportStream(H264 + AAC)) to be relayed to >RTPSink. Is it
possible to setup an RTSP server serving this RTP stream.
Thanks.
--
Achraf Gazdar
Associate Professor on Computer Science
Hana Research Unit, CRISTAL Lab.
http://www.hana-uma.org
Tunisia
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Tue Nov 15 17:31:24 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Wed, 16 Nov 2011 09:31:24 +0800
Subject: [Live-devel] Relaying transport Stream UDP source to an RTPsink
In-Reply-To:
References:
Message-ID: <2C5B91AC-2157-4569-95C5-10A185934305@live555.com>
> I want to know if is it possible to relay a transport stream streamed from a source using udp to a destination using RTP. The chain is :
> UDPSource> (TransportStream(H264 + AAC)) to be relayed to >RTPSink. Is it possible to setup an RTSP server serving this RTP stream.
Yes, you can use the "testOnDemandRTSPServer" application code as a model for this. You can define your own subclass of "OnDemandServerMediaSubsession", and redefine the "createNewStreamSource()" virtual function to return a "BasicUDPSource", fed into a "MPEG2TransportStreamFramer" object.
See http://www.live555.com/liveMedia/faq.html#liveInput-unicast
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From tinitus.rockt at gmx.de Tue Nov 15 23:10:45 2011
From: tinitus.rockt at gmx.de (Simon Helwig)
Date: Wed, 16 Nov 2011 08:10:45 +0100
Subject: [Live-devel] Compatibility with Visual Studio 10.0
In-Reply-To:
References: <20111108135459.257830@gmx.net>
<20111109070007.135660@gmx.net>
<20111110164151.155430@gmx.net>
Message-ID: <20111116071045.285650@gmx.net>
Hey,
I tried to built the .mak files, but I don't get an .exe file. Maybe I started the Makefile project in a wrong way, because when you create such a project, you will be asked, to set some settings for the Debug configuration and the release configuration, but I have omitted these steps and let the lines empty. This could be the mistake, or it doesn't matter?
Best greetings
Simon
-------- Original-Nachricht --------
> Datum: Fri, 11 Nov 2011 08:02:27 +0000
> Von: James Norris
> An: "LIVE555 Streaming Media - development & use"
> Betreff: Re: [Live-devel] Compatibility with Visual Studio 10.0
> Hey,
>
> On Thu, Nov 10, 2011 at 4:41 PM, Simon Helwig
> wrote:
> > Yes, that's correct. I've already built the libraries in VS10.
> > First I downloaded the package (live555-latest.tar.gz ? 01-Nov-2011
> 19:01 ?508K) and extracted the files in a new folder on my Desktop. Then I
> changed the path of the 'tools' directory in the file "win32config". The new
> path I entered was C:\Programme\Microsoft Visual Studio 10.0\VC
> > Afterwards I opened the commando line and went to the new folder, where
> I extracted the files of the package. Then I generated the .mak files with
> the commando "genWindowsMakefiles".
> > In addition to that I opened a new "Makefile Project" in Visual Studio.
> In this project I imported all the *.mak files I generated before. There
> are four files: BasicUsageEnviornment.mak, groupsok.mak,
> liveMedia.mak,UsageEnviornment.mak and testProgs.mak.
>
> You've listed 5 (not 4) make files here, and if you build the
> testProgs.mak as you have done with the other 4, you should get a
> testMPEG2...exe. Do that and let us know what the *specific* errors
> are if any appear.
>
> > Then I built successively each of the four files (projects) first.
> > Now I opened C++ project and took one of the test programms
> (testMPEG2TransportStreamer.cpp) and copied the code in it.
> > Thereafter I tried to compile the code, but then I got a lot of
> mistakes.
>
> No need for all this, testProgs.mak builds it
>
> >
> > Are my steps I explained correct?
> > Do you still want to know the exact wording of the error messages?
> ?Because I'm now sitting on the wrong computer, so I could tell you the wording
> of the mistakes only on Monday, because then I'm again at work and there
> are so many errors, that I'm not able to tell you one of them now. Sorry for
> that, but maybe you can already narrow the problem?
> >
> > Best greetings from Germany
> >
> > Simon
> >
> > -------- Original-Nachricht --------
> >> Datum: Wed, 9 Nov 2011 09:42:11 +0000
> >> Von: James Norris
> >> An: "LIVE555 Streaming Media - development & use"
>
> >> Betreff: Re: [Live-devel] Compatibility with Visual Studio 10.0
> >
> >> Less excuses more throwing me bones. ?What are the problems
> >> specifically? ?It sounds like you're building the test programs, which
> >> I'm assuming means you've already built the libraries (in VS10)? ?If
> >> that's true it should link/work.
> >>
> >> James
> >>
> >>
> >>
> >> On Wed, Nov 9, 2011 at 7:00 AM, Simon Helwig
> wrote:
> >> > Ok, it would be very nice, if I could use VS10. May you could tell
> me,
> >> what you did, to compile one of the test programs step by step, because
> I'm
> >> a beginner and it's long ago, since I've worked with VS and I got so
> much
> >> mistakes, that I think, that I've made a fundamental error before. In
> the
> >> thread "Compiling a test program", which I posted last friday, I
> explained
> >> the steps I've made to make one of the test programs running. I would
> be very
> >> grateful for your help!
> >> >
> >> > Best greetings
> >> >
> >> > Simon
> >> > -------- Original-Nachricht --------
> >> >> Datum: Tue, 8 Nov 2011 15:41:23 +0000
> >> >> Von: James Norris
> >> >> An: "LIVE555 Streaming Media - development & use"
> >>
> >> >> Betreff: Re: [Live-devel] Compatibility with Visual Studio 10.0
> >> >
> >> >> What are the problems? ?I'm sure I did manage it when using VS10,
> but
> >> >> moved back to 9 now (its better)
> >> >>
> >> >> James
> >> >>
> >> >>
> >> >>
> >> >> On Tue, Nov 8, 2011 at 1:54 PM, Simon Helwig
> >> wrote:
> >> >> > Hallo,
> >> >> >
> >> >> > could somebody tell me, if the whole libraries of LIVE555
> Streaming
> >> >> Media are compatible to Microsoft Visual Studio 10.0? Because I've
> many
> >> >> problems, when I compile the libraries and it seems very strange.
> >> >> > So if anybody knows an answer to this problem, please tell me and
> >> >> perhaps you have an instruction for me, how to build these libraries
> >> step by step
> >> >> in Visual Studio 10.0?
> >> >> > I would be very happy about an answer...
> >> >> >
> >> >> > Best greetings
> >> >> >
> >> >> > Simon
> >> >> > --
> >> >> > NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zur?ck-Garantie!
> >> >> > Jetzt informieren: http://www.gmx.net/de/go/freephone
> >> >> > _______________________________________________
> >> >> > 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
> >> >
> >> > --
> >> > NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zur?ck-Garantie!
> >> > Jetzt informieren: http://www.gmx.net/de/go/freephone
> >> > _______________________________________________
> >> > 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
> >
> > --
> > Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
> > belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
> > _______________________________________________
> > 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
--
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
From isambhav at gmail.com Wed Nov 16 00:05:30 2011
From: isambhav at gmail.com (Sambhav)
Date: Wed, 16 Nov 2011 13:35:30 +0530
Subject: [Live-devel] Stopping an RTP stream safely/Deleting objects
In-Reply-To:
References: <4EC1C83E.2090403@e6group.com>
Message-ID:
I have a similar use case in which the application has to start and stop
the OnDemandRTSPServer before the EOF without the process being killed.
I am using the code of h264ESVideoTest of testOnDemandRTSPServer
To stop the server i set the watchVariable to a non null value.
when the doEventLoop(&watchVariable); returns
I am doing the following.
rtspServer->removeServerMediaSession(sms);
delete sms;
env->reclaim();
delete scheduler;
Next time when I start the server, port binding is failing.
Anything I am missing here ?
On Tue, Nov 15, 2011 at 9:03 AM, Ross Finlayson wrote:
> I'm streaming an MPEG-2 TS file using code very similar to
> testMPEG2TransportStreamer.cpp. In one of my use cases, I need to stop the
> stream immediately instead of allowing it to complete. I'm doing this
> currently by passing a watch variable to the taskScheduler().doEventLoop()
> call and allowing another thread to set that variable when I need to stop
> playback.
>
>
> FYI (and this is unrelated to your question below), you might find it
> simpler to use the new 'event trigger' mechanism instead; see
> "UsageEnvironment/include/UsageEnvironment.hh"
>
>
> My question is what do I need to do after that to safely stop and delete
> my related objects (UsageEnvironment, RTPSink, etc) if I leave the
> doEventLoop() early?
>
>
> First, you can always just call "exit(0)" to leave and destroy the process
> (i.e., address space, i.e., application). The OS will take care of
> closing/reclaiming its sockets. This is by far the simplest thing to do,
> and it's what you should do - unless you have a very good reason for
> wanting to keep the process around.
>
> But, if you really want to keep the process around, you can reclaim the
> LIVE555 objects by doing the following (generally speaking, you're
> reclaiming objects in the reverse order from the order that you created
> them):
>
> videoSink->stopPlaying();
> Medium::close(videoSource);
> Medium::close(videoSink);
> delete rtpGroupsock;
> delete rtcpGroupsock;
> env->reclaim();
> delete scheduler;
>
> (I'm basing this on the "testMPEG2TransportStreamer" code, because you
> said you used that code as a model.)
>
>
> I'd like to reuse the RTPsink but give it different parameters on a
> subsequent use.
>
>
> No, you can't do that. Just delete it (using "Medium::close()"), and
> create a new one next time.
>
> But again, why not just exit the process (application), and launch a new
> one next time?
>
>
> Ross Finlayson
> Live Networks, Inc.
> http://www.live555.com/
>
>
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From nunzianteantonio at gmail.com Wed Nov 16 00:41:47 2011
From: nunzianteantonio at gmail.com (antonio nunziante)
Date: Wed, 16 Nov 2011 09:41:47 +0100
Subject: [Live-devel] Live555 in a Browser Plugin
Message-ID:
Hi all,
I built a widget in Qt that play a rtsp audio/video stream with Live555 and
FFMPEG.
It works and now I want to include it inside a Qt BrowserPlugin.
My plugin at the moment is able to start the RTSP session (i can see
packets start to arrive from the camera with WireShark) but an error occurs
and plugin stops with an error.
Could anyone say me anything about this kind of problem?
Thank you
-Antonio
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Wed Nov 16 02:06:17 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Wed, 16 Nov 2011 18:06:17 +0800
Subject: [Live-devel] Stopping an RTP stream safely/Deleting objects
In-Reply-To:
References: <4EC1C83E.2090403@e6group.com>
Message-ID:
> I have a similar use case in which the application has to start and stop the OnDemandRTSPServer before the EOF without the process being killed.
Why? It would be much better to just leave the server running, but add/remove "ServerMediaSubsession" objects as appropriate.
> I am using the code of h264ESVideoTest of testOnDemandRTSPServer
>
> To stop the server i set the watchVariable to a non null value.
> when the doEventLoop(&watchVariable); returns
>
> I am doing the following.
> rtspServer->removeServerMediaSession(sms);
> delete sms;
> env->reclaim();
> delete scheduler;
>
> Next time when I start the server, port binding is failing.
> Anything I am missing here ?
A lot, unfortunately.
First, after you call "removeServerMediaSubsession(sms)", you *must not* then do "delete sms" (or "Medium::close(sms)"), because that will cause the object to be deleted twice.
Second, you shouldn't reclaim the "UsageEnvironment" object, unless you first delete all of the objects that use it. In particular, you must first do
Medium::close(rtspServer);
but note that if you do that, then this will automatically remove all "ServerMediaSession" objects, so you won't need to do that yourself.
But once again: Rather than doing all this, why not just exit() and then recreate a new process? This would be much simpler.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From jshanab at smartwire.com Wed Nov 16 08:44:17 2011
From: jshanab at smartwire.com (Jeff Shanab)
Date: Wed, 16 Nov 2011 16:44:17 +0000
Subject: [Live-devel] Access violation crash in rtspclient
Message-ID: <615FD77639372542BF647F5EBAA2DBC20B18AD48@IL-BOL-EXCH01.smartwire.com>
I have been using the live555 client in our project for about a year and it has been working great for most devices.
I just got a new device that does something wrong and causes a crash of the entire app. Since it handles multiple cameras this is a real problem.
It is a 4 channel h264 encoder and when the server is still connected but video stops coming in, something happens in incomingReportHandler that it cannot handle.
I am in windows and debugging shows at that point that it is trying to call RTCPInstance::numMembers() and all pointers are "bad pointers"
Call stack
BasicTaskScheduler::SingleStep-->SocketDescriptor::tcpReadHandler--> SocketDescriptor::tcpReadHandler1-->RTCPInstance::incomingReportHandler--> RTCPInstance::incomingReportHandler1-->onRecieve-->numMembers
On the line
Return fNumMembers It shows "access Violation and all pointers in the object are "bad pointers 0xddddddde5"
Another symptom of this command is if I start the app with no video on the channel, it fails in the exact same spot.
The RTSP conversation goes thru all the steps of acquiring the session and subsession but receives a BYE request which triggers a TEARDOWN. The TEARDOWN seems to go partially or completely unanswered and that causes the access violation.
If you read this far, THANKS! Any help would be appreciated. I would like to just exit gracefully
I am on 3/14/2011 version of live555
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From achraf.gazdar at gmail.com Wed Nov 16 06:34:01 2011
From: achraf.gazdar at gmail.com (Achraf Gazdar)
Date: Wed, 16 Nov 2011 15:34:01 +0100
Subject: [Live-devel] Relaying HTTP source into RTPSink
Message-ID:
>> I want to know if is it possible to relay a transport stream streamed
from a source using >>udp to a destination using RTP. The chain is :>
UDPSource> (TransportStream(H264 + >>AAC)) to be relayed to >RTPSink. Is it
possible to setup an RTSP server serving this >>RTP stream.
>Yes, you can use the "testOnDemandRTSPServer" application code as a model
for this. >You can define your own subclass of
"OnDemandServerMediaSubsession", and redefine >the
"createNewStreamSource()" virtual function to return a "BasicUDPSource",
fed into a >"MPEG2TransportStreamFramer" object.
> See http://www.live555.com/liveMedia/faq.html#liveInput-unicast
>
What about http source relaying ?
--
Achraf Gazdar
Associate Professor on Computer Science
Hana Research Unit, CRISTAL Lab.
http://www.hana-uma.org
Tunisia
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From norris.j at gmail.com Wed Nov 16 09:29:42 2011
From: norris.j at gmail.com (James Norris)
Date: Wed, 16 Nov 2011 17:29:42 +0000
Subject: [Live-devel] H264DiscreteFramer from custom source
In-Reply-To:
References:
Message-ID:
Hey Ross,
Sorry for slow reply, now back at my desk. I've put the video up at:
http://www.cs.nott.ac.uk/~jzn/live/test.h264
Unfortunately VLC doesn't play it. Any idea what's wrong with the
file? I also saved the SDP description via a log of OpenRTSP running
(this also shows exact params used to openrtsp if there was any
doubt):
http://www.cs.nott.ac.uk/~jzn/live/log.txt
Am I correct in saying that there should be an extra line in this SDP
which translates to an interpreted SPS/PPS NAL via the discrete
framer? Even without this line in the SDP, VLC should still be able
to understand the stream as the SPS/PPS are inline though?
Thanks again,
James
On Thu, Nov 10, 2011 at 4:41 PM, Ross Finlayson wrote:
> I've put an avi of the stream here:
>
> http://www.cs.nott.ac.uk/~jzn/live/test.avi
>
> Which was generated using the command line:
>
> openRTSP.exe -4 -w 256 -h 64 -f 30 -d 10 rtsp://.... > test.avi
>
> This is incorrect. ?The "-4" option generates a ".mp4"-format file, not an
> AVI file.
> In any case, I suggest not using this option (or "-i"). ?Instead, don't use
> any options at all (other than "-d "). ?You will get a raw H.264
> video output file. ?Rename this as "test.h264", and check whether or not VLC
> will play it.
> If VLC can't play your file, then put it on a web server, and send us the
> URL, so I can download and look at it myself.
>
> Ross Finlayson
> Live Networks, Inc.
> http://www.live555.com/
>
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel
>
>
From finlayson at live555.com Wed Nov 16 14:20:57 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Thu, 17 Nov 2011 06:20:57 +0800
Subject: [Live-devel] Relaying HTTP source into RTPSink
In-Reply-To:
References:
Message-ID: <3321B6D7-1009-44B2-BE43-407A5FDA0D50@live555.com>
> What about http source relaying ?
OK, I missed that, because your original message talked about using a "UDPSource" for input. Obviously, for HTTP, you can't do this.
If your input is a HTTP source, then the easiest way to handle this is to use a 3rd-party application - like "wget" - to retrieve it, and then pipe its output into our server code (which will read from "stdin"). This is described in the FAQ.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Wed Nov 16 14:23:39 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Thu, 17 Nov 2011 06:23:39 +0800
Subject: [Live-devel] Access violation crash in rtspclient
In-Reply-To: <615FD77639372542BF647F5EBAA2DBC20B18AD48@IL-BOL-EXCH01.smartwire.com>
References: <615FD77639372542BF647F5EBAA2DBC20B18AD48@IL-BOL-EXCH01.smartwire.com>
Message-ID: <2785FF9F-E209-4A68-B2A8-81C24E2DE3B3@live555.com>
> I am on 3/14/2011 version of live555
Sorry, but no support is given for old versions of the code.
Please upgrade to the latest version. It contains many bugfixes since 3/14/2011, and might (or might not) end up fixing your problem.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From jshanab at smartwire.com Wed Nov 16 15:05:44 2011
From: jshanab at smartwire.com (Jeff Shanab)
Date: Wed, 16 Nov 2011 23:05:44 +0000
Subject: [Live-devel] Access violation crash in rtspclient
In-Reply-To: <2785FF9F-E209-4A68-B2A8-81C24E2DE3B3@live555.com>
References: <615FD77639372542BF647F5EBAA2DBC20B18AD48@IL-BOL-EXCH01.smartwire.com>
<2785FF9F-E209-4A68-B2A8-81C24E2DE3B3@live555.com>
Message-ID: <615FD77639372542BF647F5EBAA2DBC20B18AF2C@IL-BOL-EXCH01.smartwire.com>
While waiting for a reply I updated to 11/8/2011. The problem is exactly the same.
I am however still using the async interface, the re-write would kill me right now.
I do have more info.
I have an encoder that has 4 streams. I wiresharked the connection and it connects fine when there is video.
When there is no video the conversation is the same up to the PLAY
DESCRIBE --> 200ok and a SDP
SETUP --> 200ok and a sessionID
PLAY --> No response for a period of time. Then a few bytes that causes the TEARDOWN to be sent.
The TEARDOWN goes un answered and then the library crashes and in the debug session I find that It has tried to execute SingleStep() in SingleStep it fails with numMembers() as indicated before. The funny part is the guard in doEventLoop has a non-null watchVariable and it points to valid data.
By this time the pointers inside the session all are invalid.
From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson
Sent: Wednesday, November 16, 2011 4:24 PM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] Access violation crash in rtspclient
I am on 3/14/2011 version of live555
Sorry, but no support is given for old versions of the code.
Please upgrade to the latest version. It contains many bugfixes since 3/14/2011, and might (or might not) end up fixing your problem.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
________________________________
No virus found in this message.
Checked by AVG - www.avg.com
Version: 2012.0.1869 / Virus Database: 2092/4620 - Release Date: 11/16/11
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Wed Nov 16 16:14:47 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Thu, 17 Nov 2011 08:14:47 +0800
Subject: [Live-devel] Access violation crash in rtspclient
In-Reply-To: <615FD77639372542BF647F5EBAA2DBC20B18AF2C@IL-BOL-EXCH01.smartwire.com>
References: <615FD77639372542BF647F5EBAA2DBC20B18AD48@IL-BOL-EXCH01.smartwire.com>
<2785FF9F-E209-4A68-B2A8-81C24E2DE3B3@live555.com>
<615FD77639372542BF647F5EBAA2DBC20B18AF2C@IL-BOL-EXCH01.smartwire.com>
Message-ID: <873E8673-32F0-48A2-850E-AA9850B611E3@live555.com>
> While waiting for a reply I updated to 11/8/2011. The problem is exactly the same.
> I am however still using the async interface, the re-write would kill me right now.
Do you mean "still using the *synchronous* interface" (i.e., the old, now-deprecated interface)? But in any case, that's OK; either interface is supposed to be working without error.
First, I suggest running our "openRTSP" command-line RTSP client to access the server that's causing you problems. If "openRTSP" also crashes for you (with that server), then the job will be easier, because it shows that there's a problem even with our unmodified released code.
If, however, the problem happens only with your client application, then I suggest looking at what happens - in your code - after a RTCP "BYE" arrives from the server. I presume that you have set a 'BYE handler' - using the function "RTCPInstance::setByeHandler()". Do any other of your servers send RTCP "BYE" packets (thereby triggering the calling of your 'BYE handler'), or does only your new, troublesome server send a RTCP "BYE"? If it's only your new server that sends this, then this suggests that there is a problem with your 'BYE handler' (because it had not been called before). Perhaps you are closing/deleting objects in the wrong order, or trying to delete some objects more than once?
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From finlayson at live555.com Wed Nov 16 16:25:51 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Thu, 17 Nov 2011 08:25:51 +0800
Subject: [Live-devel] H264DiscreteFramer from custom source
In-Reply-To:
References:
Message-ID:
> Am I correct in saying that there should be an extra line in this SDP
> which translates to an interpreted SPS/PPS NAL via the discrete
> framer? Even without this line in the SDP, VLC should still be able
> to understand the stream as the SPS/PPS are inline though?
Not necessarily - depending upon how smart VLC's H.264 decoder is (or isn't).
But the problem here is that the SPS and PPS NAL units are *not* appearing in the stream, because the "H264VideoStreamDiscreteFramer" is not recognizing them. That's why there isn't a separate "a=fmtp:" line in the SDP description.
You can verify this yourself by reviewing the code for "H264VideoStreamDiscreteFramer::afterGettingFrame1()" (in "liveMedia/H264VideoStreamDiscreteFramer.cpp"). Note the "if" statement beginning at line 67, where the code checks the "nal_unit_type". In your case, it is apparently never seeing a SPS or PPS NAL unit. That's the problem (with your input data) that you need to address.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From norris.j at gmail.com Thu Nov 17 02:27:26 2011
From: norris.j at gmail.com (James Norris)
Date: Thu, 17 Nov 2011 10:27:26 +0000
Subject: [Live-devel] H264DiscreteFramer from custom source
In-Reply-To:
References:
Message-ID:
Hey Ross,
I've duplicated some code from H264VideoFileServerMediaSubsession
which streams into a 'dummy' RTP sink to get the SPS/PPS. Now the SDP
contains the SDP description:
a=fmtp:96 packetization-mode=1;profile-level-id=42C00B;sprop-parameter-sets=Z0LA
C9oECaEAAAMAAQAAAwA8jxQqoA==,aM4fIA==
The entire log including the full SDP is inside the same location:
http://www.cs.nott.ac.uk/~jzn/live/log.txt
Unfortunately I'm getting the same symptoms, the h264 file created is
in-readable and VLC buffers twice, produces no errors and cannot
display anything. I also checked that the discrete framer is
interpreting the SPS/PPS via a couple of println's alongside
'saveCopyOfPPS'. Seems fine!
I'm at a complete loss here, as far as I can see the stream is
correct, but still nothing is able to interpret it. I've put another
.h264 file in the same place:
http://www.cs.nott.ac.uk/~jzn/live/test.h264
Thanks again,
James
On Thu, Nov 17, 2011 at 12:25 AM, Ross Finlayson wrote:
> Am I correct in saying that there should be an extra line in this SDP
> which translates to an interpreted SPS/PPS NAL via the discrete
> framer? ?Even without this line in the SDP, VLC should still be able
> to understand the stream as the SPS/PPS are inline though?
>
> Not necessarily - depending upon how smart VLC's H.264 decoder is (or
> isn't).
> But the problem here is that the SPS and PPS NAL units are *not* appearing
> in the stream, because the "H264VideoStreamDiscreteFramer" is not
> recognizing them. ?That's why there isn't a separate "a=fmtp:" line in the
> SDP description.
> You can verify this yourself by reviewing the code for
> "H264VideoStreamDiscreteFramer::afterGettingFrame1()" (in
> "liveMedia/H264VideoStreamDiscreteFramer.cpp"). ?Note the "if" statement
> beginning at line 67, where the code checks the "nal_unit_type". ?In your
> case, it is apparently never seeing a SPS or PPS NAL unit. ?That's the
> problem (with your input data) that you need to address.
>
> Ross Finlayson
> Live Networks, Inc.
> http://www.live555.com/
>
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel
>
>
From finlayson at live555.com Thu Nov 17 02:42:42 2011
From: finlayson at live555.com (Ross Finlayson)
Date: Thu, 17 Nov 2011 18:42:42 +0800
Subject: [Live-devel] H264DiscreteFramer from custom source
In-Reply-To:
References:
Message-ID: <5BE91CD8-D2B7-41B5-9A9F-DBF57BA9DCF7@live555.com>
> I'm at a complete loss here, as far as I can see the stream is
> correct, but still nothing is able to interpret it.
Yes, that's what it looks like to me as well. At this point I suspect that there's a problem with your encoder.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From norris.j at gmail.com Thu Nov 17 03:22:26 2011
From: norris.j at gmail.com (James Norris)
Date: Thu, 17 Nov 2011 11:22:26 +0000
Subject: [Live-devel] H264DiscreteFramer from custom source
In-Reply-To: <5BE91CD8-D2B7-41B5-9A9F-DBF57BA9DCF7@live555.com>
References: