Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add --proprietary-codecs flag to automate.py to enable H264, AAC, H265, AC3, EAC3, MPEG-4 and MPEG2-TS codecs/formats #471

Open
cztomczak opened this issue Sep 9, 2018 · 2 comments

Comments

@cztomczak
Copy link
Owner

Default cefpython builds will not have this flag enabled.

This flag could do the following:

  • set proprietary_codecs=true ffmpeg_branding=Chrome GN args that would enable proprietary codecs such as H264 and AAC
  • maybe enable H265 (HEVC) video codec (requires an additional patch)
  • maybe enable AC3 and EAC3 audio codecs (Dolby Digital/Plus) (requires an additional patch)
  • maybe enable MPEG-4 ASP (MPEG-4 Visual) support (requires an additional patch)
  • maybe enable MPEG2-TS streaming (requires an additional patch)

On a side note the enable_av1_decoder=true GN arg can enable the AV1 video codec (a free codec) and this flag will be enabled by default in Chromium v70+.

@cztomczak cztomczak changed the title Add --proprietary-codecs flag to automate.py to enable H264 and other codecs Add --proprietary-codecs flag to automate.py to enable H264, AAC and other codecs Sep 9, 2018
@cztomczak cztomczak changed the title Add --proprietary-codecs flag to automate.py to enable H264, AAC and other codecs Add --proprietary-codecs flag to automate.py to enable H264, AAC, H265, AC3, EAC3, MPEG-4 and MPEG2-TS codecs Sep 9, 2018
@cztomczak cztomczak changed the title Add --proprietary-codecs flag to automate.py to enable H264, AAC, H265, AC3, EAC3, MPEG-4 and MPEG2-TS codecs Add --proprietary-codecs flag to automate.py to enable H264, AAC, H265, AC3, EAC3, MPEG-4 and MPEG2-TS codecs/formats Sep 9, 2018
@jakogut
Copy link
Contributor

jakogut commented Oct 3, 2018

@cztomczak Is there currently any way to selectively apply patches, such as your example of enabling the HEVC video codec when the proprietary_codecs option is enabled?

EDIT: Same thing w/ issue #472 and VAAPI support. The patch has to be rebased for almost every version, and the upstream Chromium developers have made it known that the patch will never be merged, as they have no desire to support it.

Consequently, the patch should only be applied when the use_vaapi option is enabled.

@cztomczak
Copy link
Owner Author

cztomczak commented Oct 3, 2018

@jakogut In patch.py you can use env variables to decide whether patch should be applied. For example with such code: if "proprietary_codecs=true" in os.environ["GN_DEFINES"]. To enable HEVC you need to set enable_hevc_demuxing=true GN variable, and apply a patch to include hevc ffmpeg codecs/demuxers and also add support for hevc codec in media/base/decode_capabilities.cc and media/base/mime_util_internal.cc files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants