Firefox 33 і більше
Mozilla додала підтримку OpenH264 як плагіна в Firefox 33 . Щоб увімкнути цей плагін, Firefox автоматично завантажить двійковий файл із веб-сайту OpenH264 при першому запуску програми.
Це звучить чудово, чи не так? Зачекайте ... це був каламбур.
Хоча це дійсно дуже зручне рішення, воно також повинно викликати занепокоєння щодо конфіденційності та безпеки, коли програмне забезпечення автоматично завантажує двійкові файли з сайтів, пов’язаних із Cisco Systems або іншими компаніями, незалежно від того, наскільки прозорим є процес та ліцензійні угоди.
Не пов’язано безпосередньо, але якщо ви віддаєте перевагу автоматично видаляти файли cookie, коли Firefox закривається і не вдається знайти правильний файл cookie, який би зберігався для постійного відтворення HTML5, тоді я пропоную встановити ВСІ HTML5 на YouTube .
Тести з 14.04.2 та 15.04 ВМ
Моя здогадка полягала в тому, що лише встановити двійковий код декодера H.264 буде недостатньо, тому я створив дві нові віртуальні машини:
- Ubuntu 14.04.2 з обмеженими добавками, встановленими під час встановлення
- Ubuntu 15.04 без обмежених добавок, встановлених під час встановлення
Після того, як встановлення обох віртуальних машин було завершено, я завантажив системи, оновив їх ще раз, встановив VM додатки для гостей, запустив Firefox вперше і перезавантажився для фактичного тестування.
Оскільки YouTube також пропонує свої формати WebM з відкритим джерелом, і я хотів уникнути детальної інформації про методи тестування, мені потрібно було використовувати інший веб-сайт, що підтримує HTML5, щоб перевірити власну підтримку відтворення H.264. Я вибрав Vimeo, тому що вони кажуть, що вони за замовчуванням для HTML5, і вони, здається, не підтримують WebM, що я вважаю не доброю справою.
Щоразу, коли я робив якісь зміни в тесті, як-от встановлення пакету або включення / відключення чогось у Firefox, я закривав і запускав Firefox знову.
14.04.2 з обмеженими добавками
Як ви бачите на цьому скріншоті у Firefox увімкнено лише плагін OpenH264, усі необхідні пакети GStreamer у різних версіях попередньо встановлені, а відео відтворюється як очікувалося.
15.04 без обмежених добавок
Як ви бачите на цьому скріншоті плагін OpenH264 увімкнено, плагін Flash немає, кілька пакетів GStreamer в різних версіях попередньо встановлені, але відео не відтворюється! Натомість сайт одразу повідомляє нам, що відео неможливо відтворити. Чому так?
- AAC відсутній! - Якщо пояснити просто, на сервері є файл, який подається в наш браузер. Якщо ви шукаєте його за допомогою інспектора з контекстного меню Firefox, ви знайдете MP4 з аудіо-кодованим аудіо. Повідомлення про помилку може бути більш зрозумілим, але це має сенс, оскільки у нас зараз не встановлений декодер для AAC.
Оновлення: Переглянувши цю проблему з Firefox 41, я виявив, що OpenH264, здається, вимкнено приблизно в: config через:
media.fragmented-mp4.exposed;false
media.fragmented-mp4.gmp.enabled;false
Встановлення їх не true
мало ефекту. Подальші налаштування я спробував:
media.audio_data.enabled;true
ніякого ефекту.
media.mediasource.enabled;true
Vimeo раніше не використовував MSE, включення цих та пов’язаних з цим параметрів не мало ефекту.
media.fragmented-mp4.use-blank-decoder;true
результат: суцільне зелене полотно та постійний синусоїдальний звуковий сигнал.
15.04 з обмеженими добавками
Розумний підхід був би для встановлення gstreamer1.0-plugins-bad-faad
, але це не приводить до конкретного повідомлення про помилку на Vimeo, тому давайте встановимо всі обмежені добавки.
Як і очікувалося, все спрацює, якщо після цього встановити пакет з обмеженими додатками , але ви можете встановити плагін Flash на щось інше, ніж enabled
у Firefox, щоб обов'язково використовувати HTML5 відео.
Аналіз або просто змусити його зламати
Мабуть, gstreamer1.0-libav
це єдиний пакет, який потрібно видалити, щоб повернути повідомлення про помилку. Так він використовував декодер AAC libav? Я не копав глибше, щоб знайти докази для цього, і не шукав, який декодер буде кращим (наприклад, якщо OpenH264 використовує будь-яке використання в Linux) або якщо Vimeo передає це повідомлення про помилку через те, що якась інша залежність не була досягнута, незважаючи на H .264 та декодери AAC, що встановлюються.
Підсумок та прогноз
Підсумовуючи це, для відтворення поточного основного вмісту потрібен не лише декодер H.264, але й декодер AAC, а H.265 вже готується замінити старіший. Крім того, я не бачу, щоб відповідна специфікація для MP4 з H.264 була змінена на рекомендацію більш дружнього аудіокодеку з відкритим кодом у найближчому майбутньому.
Серйозно, натисніть на WebM! Ви отримуєте VP8 + Vorbis як суперник H.264 / AVC та VP9 + Opus як суперник H.265 / HEVC.