Вопрос или проблема
Я использую браузер Chromium версии 81.0.4032.0 (разработка) (64-бит) на своем компьютере с Windows 10. На Facebook видео и некоторые гифки не работают. Поэтому я открыл консоль и нашел следующие журналы:
Uncaught (in promise) DOMException: Не удалось выполнить 'addSourceBuffer' в 'MediaSource': Предоставленный тип ('video/mp4; codecs="avc1.42C01E"') не поддерживается.
Uncaught (in promise) DOMException: Не удалось выполнить 'addSourceBuffer' в 'MediaSource': Предоставленный тип ('audio/mp4; codecs="mp4a.40.5"') не поддерживается.
Я проверил это на сайте и получил 11 неудачных тестов; см. ниже:
Как я могу добавить недостающие кодеки в Chromium?
Вот список неудачных тестов:
Тест недействительного MIME-формата "audio/webm;aaacodecsbbb=opus"
Тест действительного типа WebM "audio/webm;codecs=vorbis;test="6""
Тест действительного типа MP4 "video/mp4;codecs="avc1.4d001e""
Тест действительного типа MP4 "video/mp4;codecs="avc1.42001e""
Тест действительного типа MP4 "audio/mp4;codecs="mp4a.40.2""
Тест действительного типа MP4 "audio/mp4;codecs="mp4a.40.5""
Тест действительного типа MP4 "audio/mp4;codecs="mp4a.67""
Тест действительного типа MP4 "video/mp4;codecs="mp4a.40.2""
Тест действительного типа MP4 "video/mp4;codecs="avc1.4d001e,mp4a.40.2""
Тест действительного типа MP4 "video/mp4;codecs="mp4a.40.2 , avc1.4d001e ""
Тест действительного типа MP4 "video/mp4;codecs="avc1.4d001e,mp4a.40.5""
По умолчанию Chromium не поддерживает проприетарные кодеки (такие как h.264, aac). Официальная информация: https://www.chromium.org/audio-video
Так что на macOS вам нужно самому скомпилировать Chromium с поддержкой проприетарных кодеков; или скачать предварительно скомпилированные версии с поддержкой проприетарных кодеков (https://chromium.woolyss.com/ – я администратор этого сайта много лет).
Ответ или решение
Вопрос о недостающих видеокодеках в браузере Chromium может возникнуть у многих пользователей, особенно когда они сталкиваются с проблемами воспроизведения медиа-контента. В данной статье мы проанализируем причины этого явления, а также предложим пути его решения.
Факторы, способствующие отсутствию кодеков в Chromium
-
Лицензионные ограничения: Chromium по умолчанию не поддерживает проприетарные кодеки, такие как H.264 и AAC. Это связано с лицензионными ограничениями, так как эти кодеки требуют оплаты роялти от разработчиков, что не согласуется с философией открытого программного обеспечения, на которой основан проект Chromium.
-
Стандарты веб-разработки: Chromium разрабатывается с акцентом на поддержку открытых стандартов в индустрии. Это включает в себя поддержку кодеков, таких как VP8 и WebM (VP9), которые являются свободными и открытыми альтернативах.
-
Различия в сборках Chromium: Ваша версия браузера (Version 81.0.4032.0) является сборкой для разработчиков и может не включать все необходимые библиотеки для поддержки проприетарных кодеков. В частности, такие сборки часто не включают поддержку мультимедийных кодеков, которые доступны в стабильных релизах браузеров, таких как Google Chrome.
Анализ ошибок
Вы обнаружили сообщения об ошибках в консоли браузера, которые указывают на то, что кодеки "video/mp4; codecs=’avc1.42C01E’" и "audio/mp4; codecs=’mp4a.40.5’" не поддерживаются. Это подтверждает, что ваш экземпляр Chromium не может обработать такие форматы из-за отсутствия необходимых кодеков.
Также вы упомянули о проваленных тестах на странице https://w3c-test.org/media-source/mediasource-is-type-supported.html. Эти результаты наглядно демонстрируют, что ваш браузер не может корректно идентифицировать и обрабатывать указанные форматы, что также связано с отсутствием поддержки проприетарных кодеков.
Решение проблемы
-
Сборка Chromium с поддержкой кодеков: Если вы хотите использовать Chromium с поддержкой H.264 и AAC, вы можете самостоятельно скомпилировать его с включением данных кодеков. Этот процесс может быть сложным и потребует соответствующих знаний, но руководство по сборке можно найти на официальном сайте Chromium.
-
Использование предкомпилированных версий: как было упомянуто, вы можете загрузить предварительно собранные версии Chromium с поддержкой проприетарных кодеков. Один из таких ресурсов – Woolyss Chromium, где доступна версия Chromium с включенными необходимыми кодеками.
-
Перейти на альтернативные браузеры: Если использование Chromium с поддержкой проприетарных кодеков не является обязательным, стоит рассмотреть другие браузеры, такие как Google Chrome или Microsoft Edge, которые по умолчанию включают поддержку H.264 и AAC. Это может быть самым простым и быстрым решением.
Заключение
Отсутствие поддержки определенных видеокодеков в браузере Chromium, очевидно, вызвано как лицензионными вопросами, так и принципами разработки. Тем не менее, с помощью описанных выше подходов вы сможете решить проблемы с воспроизведением медиа-контента и получить полноценный доступ к видео на платформах, таких как Facebook.