Как я могу получить 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 с ускорением HW [1] я получаю ожидаемое 10–20% -ное потребление ресурсов процессора при воспроизведении видео. Если Core i7 с 12 ГБ оперативной памяти не может надежно воспроизводить видео HTML5
Йостейн Кьёнигсен

Ответы:


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 теперь в предложении uptopic и поддерживает gstreamer1.0-libavпакет .h264 thru . В какой-то момент он должен появиться в 14.04, хотя в настоящее время я использую пакет с утопическим предложением в 14.04 без проблем. 0,10-FFmpeg плагин будет оставаться в PPA для приложений , которые еще не портированы GST-1.0
Дуга

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, я предлагаю установить YouTube ALL HTML5 .

Тесты с 14.04.2 и 15.04 виртуальными машинами

Я предположил, что одной лишь установки двоичного файла декодера H.264 будет недостаточно, поэтому я настроил 2 новые виртуальные машины:

  • Ubuntu 14.04.2 с ограниченными дополнениями, установленными во время установки
  • Ubuntu 15.04 без ограниченных надстроек, установленных во время установки

После того, как установка обеих виртуальных машин была завершена, я загрузил системы, снова обновил их, установил гостевые дополнения к виртуальной машине, запустил 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-кодированным звуком. Сообщение об ошибке может быть более понятным, но оно имеет смысл, поскольку в настоящее время у нас не установлен декодер для AAC.
  • Обновление: Снова глядя на эту проблему с Firefox 41, я обнаружил, что OpenH264, кажется, отключен в about: config through:

    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 у вас на самом деле работает html5 youtube player? Для меня видео играет, но нет звука. У меня установлены все упомянутые пакеты. Использование FF 38.
naught101

Очень интересно. Не могли бы вы сообщить нам, влияет ли установка аудиокодека на доступное значение декодирования H264 для about: support?
Мартин Хансен,

2

В настоящее время Firefox использует OpenH264 только для WebRTC, а не для тега video, поскольку OpenH264 пока не поддерживает формат высокого профиля, часто используемый для потоковой передачи видео.

Источник: http://andreasgal.com/2014/10/14/openh264-now-in-firefox/

gstreamer1.0-libav Вероятно, это единственный вариант добавления поддержки HTML5-тега HTML5 в Firefox для Linux.


Этого достаточно для Firefox на Ubuntu 18.04 LTS.
Кубанчик

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.