내 질문은 다음과 비슷합니다이 하나그것은 거의 3년 전에 요청되었습니다.
Mac OS X(저는 10.11.6 El Capitan을 사용하고 있습니다)에서 MP3, AAC 등을 지원하는 Chromium을 컴파일하고 싶습니다. 지금까지는 표준 설정에 따라 컴파일했습니다.chromium.org의 지침. 실행 후HTML5테스트기본적으로 MP3와 같은 독점 코덱 지원으로 컴파일되지 않는다는 것을 깨달았습니다.
몇번의 구글링 끝에 찾은이 페이지일부 컴파일러 플래그를 언급한 Chromium.org 웹사이트:
ffmpeg_branding
Overrides which version of FFmpeg to use
Default: $(branding)
Values:
Chrome - includes additional proprietary codecs (MP3, etc..) for use with Google Chrome
Chromium - builds default set of codecs
proprietary_codecs
Alters the list of codecs Chromium claims to support, which affects <source> and canPlayType() behaviour
Default: 0(gyp)/false(gn)
Values:
0/false - <source> and canPlayType() assume the default set of codecs
1/true - <source> and canPlayType() assume they support additional proprietary codecs
args.gn을 사용하여 두 가지를 모두 추가했지만 gn args out/gn
다음과 같이 수십 줄로 빌드할 때 링커 오류가 발생했습니다.
duplicate symbol in:
obj/components/policy/proto/libproto_internal.a(device_management_backend.pb.o)
첫 번째 플래그를 제거하고 ninja
다시 실행했는데, 단 몇 초 후에 동일한 링커 오류가 발생했습니다. 상황을 바꿔서 추가한 두 번째 플래그를 생략하고 다시 컴파일을 시작했습니다.
한 시간 더 성공적으로 컴파일한 후에는 이전에 MP3/AAC를 지원하지 않는다는 동일한 HTML5Test 결과를 제공한 것과 동일한 버전이 생성됩니다.
내 질문은 이제 이러한 코덱을 지원하도록 Chromium을 어떻게 컴파일할 수 있습니까?입니다.
답변1
완료하려면공식 지침, 다음에 대한 다른 정보가 표시됩니다.이 github 페이지모든 코덱(기본 코덱 + AAC, H264/AVC, H265/HEVC, MPEG-4)으로 Chromium을 컴파일합니다. Windows OS에 중점을 두지만 MacOS에서도 비슷합니다. GN 플래그를 사용하세요. 참고 H265/HEVC 컴파일은 더 복잡합니다.
예를 들어, 우리는 이 설정을 사용하여 Windows 및 MacOS(이 웹사이트에서 사용 가능한 바이너리). 따라서 비슷한 Chromium 버전을 직접 만들 수 있습니다! ;)