On Tue, Mar 6, 2018 at 3:51 PM, Eran Kornblau <eran.kornb...@kaltura.com> wrote:
> Hi all,
>
> The attached patch adds a parameter that enables the user to choose which 
> AVC/HEVC NAL units to include in the output.
> The parameter is supplied as a bitmask in order to keep things simple.
>
> A short background on why we need it - in our transcoding process, we 
> partition the video in chunks, the chunks are
> transcoded in parallel and packaged in MPEG-TS container. The transcoded TS 
> chunks are then concatenated and
> packaged in MP4. These MP4 files are later repackaged on-the-fly to various 
> protocols (HLS/DASH etc.) using our
> JIT packager.
> For performance reasons (can get into more detail if anyone's interested...), 
> when packaging the MP4 to DASH/CENC,
> we configure the packager to assume that each AVC frame contains exactly one 
> NAL unit.
> The problem is that the transition through MPEG-TS adds additional NAL units 
> (NAL AUD before each frame + SPS/PPS
> before each key frame), and this assumption fails.
> Using the attached patch we can pass '-nal_types_mask 0x3e' which will make 
> ffmpeg output only VCL NALs in the stream.
>

Having such logic in one single muxer is not something we really like
around here. Next time someone needs something similar for another
codec, you're stuck re-implementing it.

To achieve the same effect, Mark Thompson quickly wipped up a
Bitstream Filter using his CBS framework which achieves the same
result. He'll be sending that patch to the mailing list in a while.

- Hendrik
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to