[Live-devel] Buffering an H264 Video Stream

Ross Finlayson finlayson at live555.com
Tue Nov 4 12:19:05 PST 2014


> I get this part now, but what I still don't get is how to pass incoming data from RSTPClient to H264VideoStreamFramer. The constructor for it is:
>  
> H264VideoStreamDiscreteFramer::createNew(UsageEnvironment& env, FramedSource* inputSource) {
>  
> A FramedSource input, but RSTPClient is not a FramedSource. Don't see any framed source in it.

Several times now, I have pointed you at code (‘testRTSPClient.cpp”) that illustrates how to do this.  If you look at this code, you’ll see that you don’t feed a “RTSPClient” into anything.  Instead, you use a “RTSPClient” to create a “MediaSession” object (which in turn will contain “MediaSubsession” objects - one for each audio or video track in the stream).  Once you’ve used the “RTSPClient” to create these objects (using the RTSP protocol, as illustrated by the “testRTSPClient” application code (yet again :-(), you then feed each “MediaSubsession::readSource()” object into whatever you want.

So, you *could*, in principle, feed the “MediaSubsession::readSource()” object into a “H264VideoStreamDiscreteFramer” (*not* into a “H264VideoStreamFramer”, because that’s for unstructured byte-stream input).  I’m not sure why you’d want to do this, though.  You’d need to do this *only* if you plan to re-transmit the H.264 video (by feeding it into a “H264VideoRTPSink”).


> I'm sure this is this is a lame question as you all are familiar with live555 and this seems every day simple, but to me it seems somewhat insurmountable. What makes a framed source a framed source?

A “Framed Source” is simply an object that delivers chunks of data (which we call ‘frames’ in the code).


> If it's a FramedSource, then why does it need a framer?

It usually doesn’t.  I don’t know where you got the idea that you need to feed your incoming H.264 video data into a ‘Framer’.  As I noted above, you would do this only if you plan to re-transmit the incoming H.264 video NAL units.


But in any case, this thread has gone on long enough.  (Note that this mailing list has more than 2000 members.)  So this will be my - and your - last posting on this subject.

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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20141104/281a0b5a/attachment-0001.html>


More information about the live-devel mailing list