Jak uzyskać HTML5 h.264 wideo działający w przeglądarce Firefox?

28

Zgodnie z uwagami do wydania dla przeglądarki Firefox 26 wideo w formacie h.264 powinno teraz działać w systemie Linux. Mówi także, że należy zainstalować odpowiednie wtyczki gstreamer. Czy ktoś wie co to jest?

Użyłem tej strony testowej i strony HTML5 YouTube, aby sprawdzić, czy obsługa h.264 działa w Google Chrome na moim Ubuntu 12.04 64-bit, ale nie działa w Firefox 26.

Harlem Wiewiórka
źródło
Mam już zainstalowane gstreamer0.10-plugins-good. Spróbuję zainstalować gstreamer0.10-plugins-bad i gstreamer0.10-plugins-brzydka
HarlemSquirrel
Zauważ, że ta funkcja jest obecna w Firefoksie od wersji 24. Jedyne, co zostało zmienione w 26, że jest teraz domyślnie aktywowane, wcześniej trzeba było ustawić media.gstreamer.enabledna true about:config.
sokolnik
Nie mam tego w about:config@falconer - i mam Firefox 25 ORAZ wszystko, co zaczyna się od gstreamer :-(
Wilf
1
@wilf To ciekawe. Dla mnie działa bez problemu. Ale jak czytałem w google, musiało być włączone w czasie kompilacji i np. Fedora nie zezwoliła na to w swoich kompilacjach. Czy używasz kompilacji FF z oficjalnego repozytorium Ubuntu?
sokolnik
Chociaż zdecydowanie nie jest to odpowiedź na pierwotnie zadane pytanie, nadal uważam, że warto o tym wspomnieć: wideo HTML5, choć ideologicznie lepsze, może skutkować wyjątkowo fatalną wydajnością. Kiedy korzystam z youtube z odtwarzaczem HTML5, konsekwentnie widzę, że procesor uderza w 100% bez względu na to, z której maszyny korzystam, a jąkanie jest częste. Oznacza to, że dzieje się dużo dekodowania oprogramowania. Korzystając z programu Adobe Flash Player z akceleracją HW [1], uzyskuję oczekiwane 10-20% zużycie procesora podczas odtwarzania wideo. Jeśli Core i7 z 12 GB pamięci RAM nie może niezawodnie odtwarzać
wideo

Odpowiedzi:

31

Dla 12.04 / 14.04 / 18.10

Właśnie odwiedziłem test HTML5 na YouTube i sprawdziłem H.264; prawdopodobnie będziesz musiał zainstalować dodatki z ograniczeniami Ubuntu, aby uzyskać kodeki gstreamer.

sudo apt-get install ubuntu-restricted-extras

Może być konieczne ponowne uruchomienie.

wprowadź opis zdjęcia tutaj

Xangua
źródło
2
To załatwiło sprawę! Tak prosty! Myślałem, że już to zainstalowałem ... głupie mnie. Pakiet ubuntu-ograniczony-dodatki zainstalował następujące pakietyflashplugin-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
HarlemSquirrel
To samo dotyczy 14.04
Rael Gugelmin Cunha
1
Pracowałem też 16.04!
Rael Gugelmin Cunha,
Potwierdzono, że działa to również dla 16.04. Pamiętaj, że jeśli zainstalowałeś 32-bitowego Firefoksa (nietypowe), MUSISZ również zainstalować wersję biblioteki gstreamer i386 (32-bitowy Firefox nie może korzystać z 64-bitowej biblioteki): sudo apt-get install libavformat-ffmpeg56:i386 libavfilter-ffmpeg5:i386 gstreamer1.0-libav:i386
Nate Lampton
Jak zdobyć bez instalowania flasha?
Gringo Suave,
14

14.04

Powyższe rozwiązania już nie działają w Trusty Tahr 14.04. Powodem tego jest to, że pakiet gstreamer0.10-ffmpeg został zastąpiony przez gstreamer1.0-libav, ale Firefox planuje wspierać gstreamer 1.0 tylko w wersji 30.

W międzyczasie możesz zainstalować gstreamer0.10-ffmpeg z Saucy dla odpowiedniej architektury tutaj:

Geoffrey Mosini
źródło
4
Link prowadzi teraz do 404
Delapouite
Geoffrey: Czy możesz dodać źródła, aby potwierdzić swoje twierdzenie, że „Firefox planuje wspierać gstreamer 1.0 tylko w wersji 30”. Nie dlatego, że w ciebie wątpię, ale wskazanie autorytatywnego źródła będzie pomocne dla tych z nas, którzy chcą zrozumieć ten problem.
Stefan Lasiewski
@Delapouite Witam, spróbuj użyć tej PPA: launchpad.net/~jon-severinsson/+archive/ffmpeg ściągnąć ffmpeg do 14.04
Akronix
2
Firefox 30 jest teraz w propozycji uptopic i obsługuje gstreamer1.0-libavpakiet .h264 poprzez . W pewnym momencie powinien pojawić się w 14.04, chociaż obecnie używam pakietu propozycji utopicznej w 14.04 bez żadnych problemów. Wtyczka 0.10-ffmpeg pozostanie w ppa dla aplikacji, które nie zostały jeszcze przeniesione do gst-1.0
doug
1
Firefox> 35 współpracuje z h264 bez dodatkowej ppa w Ubuntu 14.04 Instalacja wideo gstreamer1.0-libav Instalacja audio gstreamer1.0-fluendo-mp3
Mariuz
9

Firefox 33 i nowsze wersje

Mozilla dodała obsługę OpenH264 jako wtyczki do przeglądarki Firefox 33 . Aby włączyć tę wtyczkę, Firefox automatycznie pobierze plik binarny ze strony OpenH264 przy pierwszym uruchomieniu programu.

Że dźwięki świetnie, prawda? Poczekaj… to była gra słów.

Chociaż jest to rzeczywiście bardzo wygodne rozwiązanie, powinno ono również budzić obawy dotyczące prywatności i bezpieczeństwa, gdy oprogramowanie automatycznie pobiera pliki binarne ze stron powiązanych z Cisco Systems lub innymi firmami, bez względu na przejrzystość procesu i umowy licencyjnej.

Nie ma to bezpośredniego związku, ale jeśli wolisz automatycznie usuwać pliki cookie, gdy Firefox zostanie zamknięty i nie możesz znaleźć odpowiedniego pliku cookie, aby zachować je przy ciągłym odtwarzaniu HTML5, sugeruję instalację YouTube ALL HTML5 .

Testy z maszynami wirtualnymi 14.04.2 i 15.04

Domyślam się, że samo zainstalowanie dekodera binarnego H.264 nie wystarczy, więc skonfigurowałem 2 nowe maszyny wirtualne:

  • Ubuntu 14.04.2 z ograniczonymi dodatkami instalowanymi podczas instalacji
  • Ubuntu 15.04 bez ograniczonych dodatków instalowanych podczas instalacji

Po zakończeniu instalacji obu maszyn wirtualnych uruchomiłem systemy, zaktualizowałem je ponownie, zainstalowałem dodatki dla gości maszyn wirtualnych, po raz pierwszy uruchomiłem Firefoksa i uruchomiłem ponownie w celu przetestowania.

Ponieważ YouTube oferuje również formaty WebM typu open source , a ja chciałem unikać wchodzenia w szczegółowe informacje na temat metod testowych, musiałem użyć innej witryny obsługującej HTML5 do przetestowania zastrzeżonej obsługi odtwarzania H.264. Wybrałem Vimeo, ponieważ mówią, że domyślnie korzystają z HTML5 i nie wydają się obsługiwać WebM, co uważam za niezbyt dobre.

Ilekroć wprowadzałem jakieś zmiany w teście, takie jak instalowanie pakietu lub włączanie / wyłączanie czegoś w Firefoksie, zamknąłem i ponownie uruchomiłem Firefoksa.

14.04.2 z ograniczonymi dodatkami

wprowadź opis zdjęcia tutaj

Jak widać na tym zrzucie ekranu, w przeglądarce Firefox jest włączona tylko wtyczka OpenH264, wszystkie niezbędne pakiety GStreamer w różnych wersjach są wstępnie zainstalowane, a wideo jest odtwarzane zgodnie z oczekiwaniami.

15.04 bez ograniczonych dodatków

wprowadź opis zdjęcia tutaj

Jak widać na tym zrzucie ekranu, wtyczka OpenH264 jest włączona, nie ma wtyczki Flash, kilka pakietów GStreamer w różnych wersjach jest wstępnie zainstalowanych, ale wideo nie jest odtwarzane! Zamiast tego strona natychmiast informuje nas, że filmu nie można odtworzyć. Dlaczego?

wprowadź opis zdjęcia tutaj

  • Brakuje AAC! - Upraszczając wyjaśnienie, na serwerze znajduje się plik, który jest podawany do naszej przeglądarki. Jeśli szukasz go za pomocą inspektora z menu kontekstowego w przeglądarce Firefox, znajdziesz MP4 z dźwiękiem zakodowanym w AAC. Komunikat o błędzie może być bardziej wyraźny, ale ma sens, ponieważ nie mamy obecnie zainstalowanego dekodera dla AAC.
  • Aktualizacja: Patrząc ponownie na ten problem z Firefoksem 41, zauważyłem, że OpenH264 wydaje się być wyłączony w about: config przez:

    media.fragmented-mp4.exposed;false
    media.fragmented-mp4.gmp.enabled;false
    

    Ustawienie ich na truebezskuteczne. Dalsze ustawienia próbowałem:

    • media.audio_data.enabled;true bez efektu.
    • media.mediasource.enabled;true Vimeo nie używał wcześniej MSE, włączenie tych i powiązanych ustawień nie przyniosło żadnego efektu.
    • media.fragmented-mp4.use-blank-decoder;true wynik: stałe zielone płótno i stały sygnał audio fali sinusoidalnej.

15.04 z ograniczonymi dodatkami

Inteligentnym podejściem byłoby zainstalowanie gstreamer1.0-plugins-bad-faad, ale nie powoduje to pojawienia się konkretnego komunikatu o błędzie w Vimeo, więc zainstalujmy wszystkie ograniczone dodatki.

wprowadź opis zdjęcia tutaj

Zgodnie z oczekiwaniami wszystko działa, jeśli później zainstalujesz ograniczony pakiet dodatków , ale możesz chcieć ustawić wtyczkę Flash na coś innego niż enabledw Firefoksie, aby mieć pewność, że użyjesz wideo HTML5.

Analiza lub po prostu zepsuć

wprowadź opis zdjęcia tutaj

Najwyraźniej gstreamer1.0-libavjest to jedyny pakiet, który musisz usunąć, aby odzyskać komunikat o błędzie. Więc używał dekodera AAC libav? Nie kopałem głębiej, aby znaleźć na to dowód, ani nie szukałem, który dekoder będzie preferowany (np. Czy OpenH264 jest obecnie wykorzystywany w Linuksie) lub jeśli Vimeo wyśle ​​ten komunikat o błędzie z powodu jakiejś innej zależności, która nie została spełniona pomimo H .264 i instalowane dekodery AAC.

Podsumowanie i perspektywy

Podsumowując, odtwarzanie bieżącej zawartości głównego nurtu wymaga nie tylko dekodera H.264, ale także dekodera AAC, a H.265 już przygotowuje się do zastąpienia starszego. Nie widzę też zmiany specyfikacji MP4 z H.264 w kierunku zalecania bardziej przewidywalnego kodera audio w najbliższej przyszłości.

Poważnie, nalegaj na WebM! Dostajesz VP8 + Vorbis jako pretendenta H.264 / AVC i VP9 + Opus jako pretendenta H.265 / HEVC.

LiveWireBT
źródło
Czy 15 kwietnia faktycznie działa odtwarzacz YouTube HTML5? Dla mnie wideo jest odtwarzane, ale nie ma dźwięku. Mam zainstalowane wszystkie wymienione pakiety. Korzystanie z FF 38.
naught101
Bardzo interesujące. Czy możesz nam powiedzieć, czy instalacja kodeka audio ma wpływ na dostępną wartość dekodowania H264 na temat: wsparcie?
Martin Hansen,
2

Firefox używa obecnie OpenH264 tylko do WebRTC, a nie do tagu wideo, ponieważ OpenH264 nie obsługuje jeszcze głośnego formatu często używanego do przesyłania strumieniowego wideo.

Źródło: http://andreasgal.com/2014/10/14/openh264-now-in-firefox/

gstreamer1.0-libav jest prawdopodobnie jedyną opcją dodania obsługi tagu wideo H264 HTML5 w przeglądarce Firefox dla systemu Linux.

Stéphane Tréboux
źródło
Samo to wystarcza dla Firefoksa na Ubuntu 18.04 LTS.
kubańczyk
0

W przeglądarce Firefox30 musisz zainstalować gstreamer 1.0 . Powinieneś także zainstalować większość wtyczek: złe, brzydkie, ...

Nie daj się pomylić z nazwą pakietu, powinieneś zainstalować: gstreamer1 , a nie gstreamer (numer jeden / 1 jest częścią pakietu, a nie „wersją”). Te same zasady dotyczą wszystkich wtyczek: „gstreamer1-plugins -...”

Oto bardziej kompletny adres URL do testowania możliwości HTML5 przeglądarki i obsługi kodeków: http://html5test.com/

Teenage
źródło