Активация поддержки видео в h264 на Firefox 49 на Windows XP

З.Ы. Кому лень читать сначала, читайте с конца.


Почему Firefox никогда не поддерживал видео в h264 на Windows XP, или экскурс в историю.

Сначала Mozilla отказывалась поддерживать проприетарный и защищённый патентами формат h264, продвигая использование открытых кодеков, потом, когда стало понятно, что без поддержки h264 в современном вебе никуда, реализовала её при при помощи компонента Windows Media Foundation, отсутствующего в Windows XP. Когда Cisco предоставила открытые и лицензионно чистые кодеки OpenH264, было слишком поздно — никто не хотел переписывать рабочий код, использующий WMF, ради ОС, поддержка производителем которой была окончена, и внедрение OpenH264 ограничили видео по WebRTC.


Но многие (в том числе и я) всё ещё используют эту ОС по разным причинам, и не стоит им отказывать в просмотре видео в h264 в самом лучшем (по моему скромному мнению) браузере Firefox.


Помощь, откуда не ждали

После обновления на Firefox 48 я внезапно для себя обнаружил, что видео в h264 прекрасно работает.

Небольшое расследование привело меня к тому, что это стало возможно благодаря плагину Adobe Primetime, ориентированному на воспроизведение DRM видео.


На скриншоте ниже, полученном при помощи Process Explorer, видно, что процесс plugin-container, появившийся после загрузки страницы с видео, использует файл eme-adobe.dll из профиля текущего пользователя.

Зайдя в настройку плагинов Firefox, я нашёл там Adobe Primetime, отключение которого приводило к тому, что FF переставал воспроизводить h264, что доказывало, что именно он виновник этого торжества.

Но радость моя была не долгой.


Всё опять сломали

При очередном обновлении до Firefox 49 я с грустью обнаружил, что h264 опять не играется. Я не нашёл Adobe Primetime в списке плагинов, я не нашёл его файлов в профиле, а попытка их подсунуть ни к чему не привела.


В поисках по интернету я наткнулся на обсуждение предложения по скрытию Adobe Primetime на ОС ниже Vista. Оттуда я узнал, что этот плагин официально не поддерживает Windows XP, и на некоторых конфигурациях наблюдались проблемы со стабильностью. Но у меня же проблем не было!


В багтрекере была ссылка на «исправление» проблемы отображения плагина Primetime на XP. Опираясь на код из него, я сделал исправление, которое откатывает вредный эффект данных изменений.


Исправление

Обновление: более простой и корректный способ указан в P.S, файлы править не нужно. Предыдущий вариант исправления остаётся в исторических целях.

Необходимо разархивировать файл omni.ja из корневой директории браузера, найти там файл /jsloader/resource/gre/modules/GMPUtils.jsm, открыть в любом шестнадцатеричном редакторе, и заменить там байты


6973506C6174666F726D416E6456657273696F6E41744C656173740700000077696E0300000036

на

6973506C6174666F726D416E6456657273696F6E41744C656173740700000077696E0300000035


Тем самым мы включим работу плагина на ядре NT 5.0 и выше, вместо NT 6.0. После исправления необходимо упаковать файлы обратно в omni.ja. Архивация с обычными параметрами тут не подойдёт, нужно использовать консоль:


zip -qr9XD omni.ja *


После замены им оригинала всё опять заработало.


Замечу, что необходимо так же активировать поддержку воспроизведения видео при помощи плагинов, в about:config необходимо media.gmp.decoder.enabled выставить в true:


У меня эта настройка была давно включена, в надежде на работу h264 через OpenH264. После этого можно наслаждаться видео в h264 на любых сайтах, в том числе YouTube, Vimeo, сервисах онлайн-трансляций и т.д.

Я создал запрос в Bugzilla на возврат поддержки плагина Primetime на Windows XP, но что-то мне подсказывает, что это закончится ничем.

Предлагаю помочь в исправлении описания запроса, так как я косноязычен даже на русском языке (если вы не заметили), а уж на английском понятность моих пояснений полностью теряется, что ещё более снижает шансы на официальное исправление этой проблемы в будущих версиях Firefox.


Послесловие

Для тех, кому лень возиться с HEX- редакторами и архиватором, прикладываю ссылку на каталог на Яндекс.диске, куда я буду сбрасывать свои исправленные файлы omni.ja после обновлений. Пока там лежит один файл из актуальной версии.


Замечание для параноиков:

Плагины в Firefox запускаются в изолированном процессе, не имеющим доступ к странице, поэтому ничего страшного в использовании плагина с закрытым кодом нет. Хоть я и предлагаю скачать исправленный файл, я также даю инструкции по его самостоятельному исправлению выше.

Получившийся у вас файл omni.ja при бинарном сравнении может отличатся от моего даже на одной версии FF, так как используются разные архиваторы, его версии и параметры сжатия по умолчанию.


Но есть решение и проще

На Bugzilla подсказали более простой и корректный способ активации плагина. Достаточно создать в about:config настройку media.gmp-eme-adobe.forceSupported  и выставить её в true. Так же необходимо выставить в true уже существующий параметр media.gmp.decoder.enabled, и проверить на всякий случай параметры media.gmp-eme-adobe.visible и media.gmp-eme-adobe.enabled, они активированы по умолчанию, но мало ли. Это позволяет активировать плагин без бинарных патчей файла.

0
Автор поста оценил этот комментарий

Архив можно запаковать обычно, просто перетащив изменённый файл в архив через WinRAR, а файл изменить обычным блокнотом.

(Найдите строку типа "win[] 6[] WIDEVINE_ID" и замените цифру 6 на 5, что бы стало как-то так "win[] 5[] WIDEVINE_ID". Строку удобно искать по слову "win" и запомнить легко и мало оно там встречается)

0
Автор поста оценил этот комментарий
Гуглом мало пользуетесь, это уже пол года как известно. На пример http://www.msfn.org/board/topic/175591-enable-mp4-h264-aac-html5-video-in-firefox-on-windows-xp-without-flash/
раскрыть ветку
0
Автор поста оценил этот комментарий

Без ссылки на "adobe primetime" эту портянку текста можешь засунуть себе в задницу.

0
Автор поста оценил этот комментарий

А на 3.11 так можно?

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества