> 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