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
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
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?
- 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 true
bezskuteczne. 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.
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ż enabled
w Firefoksie, aby mieć pewność, że użyjesz wideo HTML5.
Analiza lub po prostu zepsuć
Najwyraźniej gstreamer1.0-libav
jest 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.