[Live-devel] testRTSPClient / H.264 Network Camera Stream

tboonefisher at clear.net tboonefisher at clear.net
Tue Apr 9 13:55:49 PDT 2013


    Reading further on your site I see that you may need the SDP description
from my camera stream. BTW, I am getting some very jerky but clear video 
frames just by passing the NAL units directly to a MS DTV-DVD Video Decoder filter in DirectShow. 
I am soooooo close!

v=0
o=- 1365522147122142 1 IN IP4 192.168.1.2
s=IP Camera Video
i=videoMain
t=0 0
a=tool:LIVE555 Streaming Media v2013.01.25
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:IP Camera Video
a=x-qt-text-inf:videoMain
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:96
a=rtpmap:96 H264/90000
a=control:track1
m=audio 0 RTP/AVP 0
c=IN IP4 0.0.0.0
b=AS:64
a=control:track2

Thanks again for any help.

Tom Fisher




From: tboonefisher at clear.net 
Sent: Tuesday, April 09, 2013 2:41 PM
To: LIVE555 Streaming Media - development & use 
Subject: Re: [Live-devel] testRTSPClient / H.264 Network Camera Stream

THANKS for the help. Reading the FAQ I see:

“ If you are receiving H.264 video data, there is one more thing that you have to do before you start feeding frames to your decoder. H.264 streams have out-of-band configuration information ("SPS" and "PPS" NAL units) that you may need to feed to the decoder to initialize it. To get this information, call "MediaSubsession::fmtp_spropparametersets()" (on the video 'subsession' object). This will give you a (ASCII) character string. You can then pass this to "parseSPropParameterSets()" (defined in the file "include/H264VideoRTPSource.hh"), to generate binary NAL units for your decoder.”

Could you be more specific as to when/where that this needs to be done?
Using the DummySink example, when I attempt to call these methods as shown below I get nada...


DummySink::DummySink(UsageEnvironment& env, MediaSubsession& subsession, char const* streamId)
  : MediaSink(env),
    fSubsession(subsession) 
{
    fStreamId = strDup(streamId);
    fReceiveBuffer = new u_int8_t[DUMMY_SINK_RECEIVE_BUFFER_SIZE];

    const char* sps = fSubsession.fmtp_spropparametersets();    /// returns NULL
    unsigned n_records=0;
    SPropRecord* pSPropRecord = parseSPropParameterSets( fSubsession.fmtp_spropparametersets(), n_records );

}

Thanks again for ANY help...

Tom Fisher



From: Ross Finlayson 
Sent: Friday, April 05, 2013 7:10 PM
To: LIVE555 Streaming Media - development & use 
Subject: Re: [Live-devel] testRTSPClient / H.264 Network Camera Stream


    I am experimenting with the testRTSPClient app to develop a DirectShow source filter to connect to a network camera outputting an H.264
video stream. The app successfully connects to the camera and shows the following continuous output:
... 
Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:        Received 960 bytes.     Presentation time: 1365102232.117119
Stream "rtsp://192.168.1.7:65534/videoSub/"; video/H264:        Received 411 bytes.     Presentation time: 1365102232.186298
Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:        Received 960 bytes.     Presentation time: 1365102232.226244
Stream "rtsp://192.168.1.7:65534/videoSub/"; video/H264:        Received 458 bytes.     Presentation time: 1365102232.375975
Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:        Received 960 bytes.     Presentation time: 1365102232.359869
Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:        Received 960 bytes.     Presentation time: 1365102232.465869
Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:        Received 960 bytes.     Presentation time: 1365102232.585744
Stream "rtsp://192.168.1.7:65534/videoSub/"; video/H264:        Received 950 bytes.     Presentation time: 1365102232.666086
...

    Initially, I am only interested in the video portion of the stream.
Using the library, what is the most efficient way to get access to the H.264 portion of the stream


Because this is a Frequently Asked Question, I have now added an entry for it to the FAQ.  See: 
http://www.live555.com/liveMedia/faq.html#testRTSPClient-how-to-decode-data



Ross Finlayson
Live Networks, Inc.
http://www.live555.com/ 



_______________________________________________
live-devel mailing list
live-devel at lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20130409/2de905c1/attachment-0001.html>


More information about the live-devel mailing list