> On May 29, 2015, at 1:52 AM, Stas Tsymbalov <[email protected]> wrote:
> 
>> Yes, but the way to deliver these is through the “*DiscreteFramer” classes.  
>> Specifically, if your input source consists of H.264 NAL units - each with a 
>> known presentation time - then you should feed your input source into a 
>> “H264VideoStreamDiscreteFramer” (and from there into a “H264VideoRTPSink”).  
>> Note, BTW, that each H.264 NAL unit that you feed into a 
>> “H264VideoStreamDiscreteFramer” must *not* begin with a ‘start code’.
> 
> In my case encoder provides all NAL units corresponding for 1 frame of video 
> in a byte stream

OK, it sounds like it doesn’t really provide a ‘byte stream’, but instead 
provides a chunk of data - for each frame - that consists of multiple NAL 
units, each with a ‘start code’ in front.  If that’s the case, then you don’t 
need the full parsing overhead of “H264VideoStreamFramer”.  Instead, you can 
parse this chunk of code much easier, with just a handful of lines of code.

What I would suggest in this case is define your own filter (a subclass of 
“FramedFilter”) that receives each chunk of data from the encoder, and then 
delivers, one at a time, the NAL units that it contains - with presentation 
times, but without ‘start codes’ - to a downstream 
“H264VideoStreamDiscreteFramer”.  This will be a lot more efficient that using 
a “H264VideoStreamFramer”.


> Thanks for advise, but passing presentation times separately from frames and 
> around H264VideoStreamFramer seems far more complicated and clunky than this 
> small change to framer, so I will stick with my solution.

OK, but remember this would complicate your obligations under the LGPL, because 
you would need to distribute your patch along with your product (so that your 
customers could - whenever they wished - replace the LIVE555 libraries with 
their own version).  Whereas if instead you use the existing, unmodified 
LIVE555 code with your own subclasses, then you wouldn’t need to distribute any 
of your own code.
        See http://live555.com/liveMedia/faq.html#copyright-and-license


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

_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to