Активация поддержки видео в 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, они активированы по умолчанию, но мало ли. Это позволяет активировать плагин без бинарных патчей файла.
Вопрос к знатокам компьютеров
Есть такая проблема.Имеется Windows XP, браузер Опера, который не запускает никакое видео.Пишет что не может обнаружить плагин. Удаление и новая загрузка Адобе флеша ничего не дает. Переустановка браузера тоже.Чистил куки и историю.Ничего не помогает. Прошу помочь если есть возможность.Устанавливать Хром не вариант т.к. комп довольно старый и с Хромом дико тормозит. Желательно очень остаться на Опера.Есть какие то идеи?
Поиграем в бизнесменов?
Одна вакансия, два кандидата. Сможете выбрать лучшего? И так пять раз.
Пятничная расчлененка трупа Windows XP
В теме про хакерские атаки из под виртуальных машин я похвастался, что у меня установочный дистрибутив занимал от 300 мегабайт. Решил размять кости и в итоге результат был такой
Установочный дистрибутив весит 228МБ
Установленная система весит после отключения файла подкачки 503МБ
И система использует 55-60МБ и 14 процессов
Дистрибутив можно было сделать еще меньше, но основными критериями были следующие:
- Полная работа в VirtualBox, без установки дополнительных драйверов
- Работа интернета из коробки
- Возможность скачки предустановленным браузером приложений
- Возможность установки приложений
Приложение тестировалось под VirtualBox 5.1.0
Винда автоматически устанавливается, но есть пару затыков.
1) Почему то не работает стандартный DNS сервер, который выдается виртуал боксом, использовал гугловский ДНС 8.8.8.8 айпи адрес получал автоматом
2) Не нашел как не использовать файл подкачки, поэтому это надо убрать самостоятельно
3) Тип сетевого используемого в виртуалбоксе PCnet-FAST III
Ссылка на образ http://www.fayloobmennik.net/6539932 (могу перезалить, только скажите куда и без регистрации) пароль pikabu
Лису можно скачать по ссылке mozilla.org IE ругается на сертификаты,это нормально
Увы рекорд пикабушника @astrobeglec в 32 мегабайта ОЗУ побить не удалось.
Так же этот образ возможно будет интересен @BOMBERuss