[FFmpeg-trac] #9088(avformat:open): HEVC bitstream with alpha layer to mp4
FFmpeg
trac at avcodec.org
Mon Mar 29 19:43:30 EEST 2021
#9088: HEVC bitstream with alpha layer to mp4
-------------------------------------+-------------------------------------
Reporter: johnhe4 | Owner:
Type: defect | Status: open
Priority: normal | Component: avformat
Version: git-master | Resolution:
Keywords: hevc mov | Blocked By:
alpha |
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by johnhe4):
Yes, those links are related but I don't think they affect the scope.
Sorry for not posting.
No, this ticket is not a duplicate of #7965. Perhaps the best way to
explain why is to detail my target use case.
I am looking to segment out video using a Linux instance in the cloud.
This segmentation process will result in two layers: a foreground layer
and a background layer. I want to stream the foreground layer over the
Internet to an Apple device that will render this foreground layer over
whatever background the app chooses.
I know of two traditional methods to accomplish this that make inefficient
use of bandwidth and/or push complexity to the end device. Traditional
method 1 is to send both layers as separate streams, or if possible, as
separate tracks in a single stream. This requires the device to spin up
two decoders, perform post and or pre-decode synchronization, and possibly
deal with multiple-multiple bitrates. Traditional method 2 is to have the
Linux server overwrite the background with a predefined chroma key. This
requires a carefully chosen chroma key that will not unexpectedly occur in
the foreground, and requires custom shaders on the end device.
Alpha support in HEVC seems (to me) a much better solution than the
traditional methods, if it is supported.
This ticket is different than #7965 because it specifically asks for
muxing support only. I would like FFmpeg to mux an existing HEVC bitstream
which includes alpha (encoded with whatever, in this case NVidia but can
be anything) into an MP4 (or TS file) that Apple can decode. From my
limited understanding of FFmpeg, any changes relating to this ticket
wouldn't need to touch the encoder or decoder but would instead touch
muxers and parsers.
Here is a link from Apple that includes more information for HEVC with
alpha, including the profile constraints on Apple devices:
https://developer.apple.com/videos/play/wwdc2019/506/
I noticed some activity on #7965, that is great to see. I imagine this ask
will grow as more non-Apple encoders begin to support HEVC with alpha.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/9088#comment:8>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list