Як змусити HTML5 h.264 відео працювати на Firefox?


28

Відповідно до приміток до випуску для Firefox 26 , відео h.264 зараз має працювати в Linux. Він також говорить про необхідність встановлення відповідних плагінів gstreamer. Хтось знає, що це?

Я використовував цей тестовий сайт та сторінку HTML5 YouTube для перевірки того, що підтримка h.264 працює в Google Chrome на моєму 64-розрядному Ubuntu 12.04, але не працює на Firefox 26.


У мене вже встановлено gstreamer0.10-plugins-good. Я спробую встановити gstreamer0.10-plugins-bad та gstreamer0.10-plugins-ugly
HarlemSquirrel

Зауважте, що ця функція присутня у Firefox з версії 24. Єдине, що було змінено в 26, що вона тепер активована за замовчуванням, раніше вам довелося встановити media.gstreamer.enabledзначення true about:config.
сокольниця

У мене цього немає в about:config@falconer - і у мене Firefox 25 І все, що починається з gstreamer :-(
Wilf

1
@wilf Це цікаво. Для мене це працює без проблем. Але коли я читав у google, його потрібно було ввімкнути під час компіляції, і, наприклад, Fedora не допустив цього у своїх складах. Ви використовуєте збірки FF з офіційного репорта ubuntu?
сокольниця

Хоча це, безумовно, не є відповіддю на запитання, яке було задано спочатку, я все ж думаю, що варто згадати: HTML5-відео, хоча ідеологічно краще, може призвести до надзвичайно жахливої ​​продуктивності. Під час використання youtube з програвачем HTML5 я послідовно бачу, як процесор вдарився на 100% незалежно від того, якою машиною я користуюся, і заїкання часто. Це вказує на те, що відбувається багато розшифровки програмного забезпечення. Під час використання Adobe Flash Player w / HW акселерація [1], я отримую очікуване 10-20% споживання процесора під час відтворення відео. Якщо Core i7 з 12 ГБ оперативної пам’яті не може надійно відтворити HTML5 відео
Jostein Kjønigsen

Відповіді:


31

За 12.04 / 14.04 / 18.10

Щойно відвідав тест HTML5 Youtube, і я перевірив H.264; вам, можливо, знадобиться встановити додаткові програми з обмеженими можливостями Ubuntu, щоб отримати кодеки gstreamer.

sudo apt-get install ubuntu-restricted-extras

Можливо, вам доведеться перезапустити.

введіть тут опис зображення


2
Це зробив трюк! Так просто! Я думав, що це вже встановив ... дурний мене. Пакет ubuntu- flashplugin-installer gstreamer0.10-ffmpeg gstreamer0.10-fluendo-mp3 gstreamer0.10-plugins-bad-multiverse libfaac0 libmjpegtools-1.9 libnspr4-0d libnss3-1d liboil0.3 ubuntu-restricted-addons
limited

Те саме стосується 14.04
Раель Гугельмін Кунья

1
Працювали теж 16.04!
Раель Гугельмін Кунья

Підтверджено це працює також 16.04. Зауважте, що якщо ви встановили 32-розрядний Firefox (незвично), ВАМ ПОВИНЕН встановити i386 версію бібліотеки gstreamer (32-розрядна Firefox не може використовувати 64-бітну бібліотеку): sudo apt-get install libavformat-ffmpeg56:i386 libavfilter-ffmpeg5:i386 gstreamer1.0-libav:i386
Нейт Лемптон,

Як отримати його без встановлення спалаху?
Gringo Suave

14

За 14.04

Наведені вище рішення більше не працюють з Trusty Tahr 14.04. Причиною цього є те, що пакет gstreamer0.10-ffmpeg був замінений на gstreamer1.0-libav, але Firefox планує підтримувати gstreamer 1.0 лише з версією 30.

Тож тим часом ви можете встановити gstreamer0.10-ffmpeg з saucy для відповідної архітектури тут:


4
Зараз посилання веде до 404
Делапуйте,

Джеффрі: Чи можете ви додати джерела для резервного копіювання вашої заяви про те, що "Firefox планує підтримувати gstreamer 1.0 лише з версією 30." Не в тому, що я сумніваюся у вас, але вказівка ​​на авторське джерело буде корисною для тих із нас, хто хоче зрозуміти цю проблему.
Стефан Ласєвський

@Delapouite Привіт, спробуйте скористатися цією програмою ppa: launchpad.net/~jon-severinsson/+archive/ffmpeg, щоб завантажити ffmpeg за 14.04
Akronix

2
Firefox 30 зараз знаходиться в нагорі та підтримує .h264 через gstreamer1.0-libavпакет. У якийсь момент він повинен з’явитися в 14.04, хоча в даний час я використовую пакет, запропонований утопією в 14.04, без проблем. Плагін 0.10-ffmpeg залишиться в ppa для додатків, які ще не перенесені на gst-1.0
doug

1
Firefox> 35 працює з h264 без будь - яких додаткових PPA в Ubuntu 14.04 для відео установки gstreamer1.0-libav Для аудіо установки gstreamer1.0-Fluendo-mp3
Mariuz

9

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.


15.04. Чи справді працює програвач youtube html5? Для мене відео відтворюється, але звуку немає. У мене встановлені всі згадані пакети. Використання FF 38.
naught101

Дуже цікаво. Чи можете ви сказати нам, чи встановлення аудіокодека впливає на доступне значення декодування H264 приблизно на: support?
Мартін Хансен

2

На даний момент Firefox використовує OpenH264 лише для WebRTC, а не для відеотегів, оскільки OpenH264 ще не підтримує формат високого профілю, який часто використовується для потокової передачі відео.

Джерело: http://andreasgal.com/2014/10/14/openh264-now-in-firefox/

gstreamer1.0-libav це, мабуть, єдиний варіант додати підтримку відео тегів H264 HTML5 у Firefox для Linux.


Одного лише достатньо для Firefox на Ubuntu 18.04 LTS.
kubanczyk

0

З Firefox30 вам слід встановити gstreamer 1.0 . Ви також повинні встановити більшість плагінів: погано, негарно, ...

Чи не отримати плутають ім'я пакета, ви повинні встановити: gstreamer1 , що не GStreamer ( один / 1 номер як частина пакету і не «версія»). Ті ж правила діють для всіх плагінів: "gstreamer1-plugins -..."

Ось більш повна URL-адреса для тестування можливостей браузера html5 та підтримки кодеків: http://html5test.com/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.