Wie bringe ich HTML5 h.264-Videos in Firefox zum Laufen?


27

Gemäß den Versionshinweisen für Firefox 26 sollte h.264-Video nun unter Linux funktionieren. Es heißt auch, dass die entsprechenden Gstreamer-Plug-Ins installiert werden müssen. Weiß jemand, was das sind?

Ich habe diese Testseite und die YouTube-HTML5-Seite verwendet , um zu überprüfen, ob die h.264-Unterstützung in Google Chrome auf meinem 64-Bit-Ubuntu 12.04 funktioniert, aber nicht in Firefox 26.


Ich habe gstreamer0.10-plugins-good schon installiert. Ich werde versuchen, gstreamer0.10-plugins-bad und gstreamer0.10-plugins-ugly
HarlemSquirrel

Beachten Sie, dass diese Funktion in Firefox seit Version 24 verfügbar ist. Das Einzige, was in Version 26 geändert wurde, ist, dass sie jetzt standardmäßig aktiviert ist. Zuvor mussten Sie media.gstreamer.enabledauf true setzen about:config.
Falkner

Ich habe das nicht in about:config@falconer - und ich habe Firefox 25 UND alles, was mit gstreamer beginnt :-(
Wilf

1
@wilf Das ist interessant. Bei mir klappt es problemlos. Aber wie ich auf Google gelesen habe, musste es zur Kompilierungszeit aktiviert werden, und Fedora hat es zB in ihren Builds nicht zugelassen. Verwenden Sie FF-Builds aus dem offiziellen Ubuntu-Repo?
Falkner

Obwohl dies definitiv keine Antwort auf die ursprünglich gestellte Frage ist, halte ich es dennoch für erwähnenswert: HTML5-Videos können, obwohl sie ideologisch besser sind, zu einer äußerst schrecklichen Leistung führen. Bei der Verwendung von YouTube mit dem HTML5-Player wird die CPU unabhängig von der verwendeten Maschine immer zu 100% ausgelastet, und es kommt häufig zu Stottern. Dies deutet darauf hin, dass eine Menge Software-Dekodierung stattfindet. Wenn ich den Adobe Flash Player mit HW-Beschleunigung [1] verwende, erhalte ich während der Videowiedergabe den erwarteten CPU-Verbrauch von 10 bis 20%. Wenn ein Core i7 mit 12 GB RAM HTML5-
Videos

Antworten:


30

Für den 12.04 / 14.04 / 18.10

Habe gerade den HTML5 Youtube Test besucht und H.264 überprüft; Sie müssen wahrscheinlich Ubuntu-eingeschränkte Extras installieren, um die gstreamer-Codecs zu erhalten.

sudo apt-get install ubuntu-restricted-extras

Möglicherweise müssen Sie neu starten.

Bildbeschreibung hier eingeben


2
Das hat den Trick gemacht! So einfach! Ich dachte, ich hätte das schon installiert ... dumm von mir. Das ubuntu-restricted- 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
extras

Gleiches gilt für 14.04
Rael Gugelmin Cunha

1
Arbeitete auch am 16.04!
Rael Gugelmin Cunha

Bestätigt, dass dies auch für 16.04 funktioniert. Beachten Sie, dass Sie, wenn Sie den 32-Bit-Firefox (ungewöhnlich) installiert haben, auch die i386-Version der gstreamer-Bibliothek installieren MÜSSEN (32-Bit-Firefox kann die 64-Bit-Bibliothek nicht verwenden): sudo apt-get install libavformat-ffmpeg56:i386 libavfilter-ffmpeg5:i386 gstreamer1.0-libav:i386
Nate Lampton

Wie bekomme ich es ohne Installation von Flash?
Gringo Suave

14

Für den 14.04

Die oben genannten Lösungen funktionieren nicht mehr mit Trusty Tahr 14.04. Der Grund dafür ist, dass das Paket gstreamer0.10-ffmpeg durch gstreamer1.0-libav ersetzt wurde, Firefox jedoch plant, gstreamer 1.0 nur mit Version 30 zu unterstützen.

In der Zwischenzeit können Sie den gstreamer0.10-ffmpeg von saucy für Ihre entsprechende Architektur hier installieren:


4
Der Link führt jetzt zu einer 404
Delapouite

Geoffrey: Können Sie Quellen hinzufügen, um Ihre Behauptung zu untermauern, dass Firefox plant, gstreamer 1.0 nur mit Version 30 zu unterstützen? Nicht, dass ich Sie bezweifle, aber der Verweis auf eine Referenzquelle wird für diejenigen von uns hilfreich sein, die dieses Problem verstehen wollen.
Stefan Lasiewski

@Delapouite Hallo, versuchen Sie es mit diesem ppa: launchpad.net/~jon-severinsson/+archive/ffmpeg , um ffmpeg für 14.04
Akronix

2
Firefox 30 ist jetzt in uptopic-vorgeschlagen und unterstützt .h264 bis gstreamer1.0-libavPaket. Irgendwann sollte es in 14.04 erscheinen, obwohl ich derzeit das Paket utopic -proposed in 14.04 ohne Probleme verwende. Das 0.10-ffmpeg-Plugin bleibt in ppa für Apps, die noch nicht auf gst-1.0 portiert wurden
Doug

1
Firefox> 35 funktioniert mit h264 ohne zusätzliche ppa in Ubuntu 14.04 Für Video installieren Sie gstreamer1.0-libav Für Audio installieren Sie gstreamer1.0-fluendo-mp3
Mariuz

9

Firefox 33 und höher

Mozilla hat die Unterstützung für OpenH264 als Plugin in Firefox 33 hinzugefügt . Um dieses Plugin zu aktivieren, lädt Firefox beim ersten Start des Programms automatisch eine Binärdatei von der OpenH264-Website herunter .

Das hört sich toll an, nicht wahr? Warten Sie ... das war ein Wortspiel.

Dies ist in der Tat eine sehr praktische Lösung, die auch Datenschutz- und Sicherheitsbedenken aufwirft, wenn Software automatisch Binärdateien von Websites herunterlädt, die mit Cisco Systems oder anderen Unternehmen verbunden sind, unabhängig davon, wie transparent der Prozess und die Lizenzvereinbarung sind.

Nicht direkt verwandt, aber wenn Sie es vorziehen, Cookies automatisch zu löschen, wenn Firefox geschlossen wird und nicht das richtige Cookie für die dauerhafte HTML5-Wiedergabe finden, empfehle ich, YouTube ALL HTML5 zu installieren .

Tests mit 14.04.2 und 15.04 VMs

Ich schätze, dass die Installation einer H.264-Decoder-Binärdatei nicht ausreicht. Deshalb habe ich zwei neue virtuelle Maschinen eingerichtet:

  • Ubuntu 14.04.2 mit eingeschränkten Addons, die während der Installation installiert wurden
  • Ubuntu 15.04 ohne eingeschränkte Addons während der Installation installiert

Nachdem die Installation beider VMs abgeschlossen war, habe ich die Systeme gebootet, erneut aktualisiert, VM-Gastzusätze installiert, Firefox zum ersten Mal gestartet und zum eigentlichen Testen neu gestartet.

Da YouTube auch ihre Open-Source- WebM- Formate anbietet und ich nicht zu sehr auf Testmethoden eingehen wollte, musste ich eine andere HTML5-fähige Site zum Testen der proprietären H.264-Wiedergabeunterstützung verwenden. Ich habe mich für Vimeo entschieden, weil sie sagen, dass sie standardmäßig HTML5 verwenden und dies nicht der Fall zu sein scheinen WebM unterstützen, was meiner Meinung nach keine gute Sache ist.

Immer, wenn ich im Test Änderungen vorgenommen habe, z. B. ein Paket installiert oder etwas in Firefox aktiviert / deaktiviert habe, habe ich Firefox geschlossen und erneut gestartet.

14.04.2 mit eingeschränkten Addons

Bildbeschreibung hier eingeben

Wie Sie in diesem Screenshot sehen können, ist in Firefox nur das OpenH264-Plugin aktiviert. Alle erforderlichen GStreamer-Pakete in verschiedenen Versionen sind vorinstalliert und das Video wird wie erwartet wiedergegeben.

15.04 ohne eingeschränkte Addons

Bildbeschreibung hier eingeben

Wie Sie in diesem Screenshot sehen können, ist das OpenH264-Plugin aktiviert, es gibt kein Flash-Plugin, einige GStreamer-Pakete in verschiedenen Versionen sind vorinstalliert, aber das Video wird nicht abgespielt! Stattdessen teilt uns die Site sofort mit, dass das Video nicht abgespielt werden kann. Warum das?

Bildbeschreibung hier eingeben

  • AAC fehlt! - Zur Vereinfachung befindet sich auf dem Server eine Datei, die in unseren Browser eingespeist wird. Wenn Sie es mit dem Inspektor aus dem Kontextmenü in Firefox suchen, finden Sie einen MP4 mit AAC-codiertem Audio. Die Fehlermeldung könnte klarer sein, ist aber sinnvoll, da derzeit kein Decoder für AAC installiert ist.
  • Update: Als ich mich noch einmal mit diesem Problem in Firefox 41 befasste, stellte ich fest, dass OpenH264 in about: config über: deaktiviert zu sein scheint.

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

    Das Setzen auf truehatte keine Wirkung. Weitere Einstellungen, die ich ausprobiert habe:

    • media.audio_data.enabled;true keine Wirkung.
    • media.mediasource.enabled;true Vimeo hat MSE zuvor nicht verwendet. Das Aktivieren dieser und der zugehörigen Einstellungen hatte keine Auswirkungen.
    • media.fragmented-mp4.use-blank-decoder;true Ergebnis: eine solide grüne Leinwand und ein konstantes Sinus-Audiosignal.

15.04 mit eingeschränkten Addons

Ein kluger Ansatz wäre gewesen, zu installieren gstreamer1.0-plugins-bad-faad, aber das bringt die spezielle Fehlermeldung auf Vimeo nicht zum Erliegen. Lassen Sie uns also alle eingeschränkten Addons installieren.

Bildbeschreibung hier eingeben

Wie erwartet funktioniert alles, wenn Sie das eingeschränkte Add-On-Paket nachträglich installieren , aber möglicherweise möchten Sie das Flash-Plug-In auf etwas anderes als einstellenenabled in Firefox , um sicherzugehen, dass HTML5-Video verwendet wird.

Analyse oder lass es einfach kaputt gehen

Bildbeschreibung hier eingeben

Anscheinend gstreamer1.0-libav ist dies das einzige Paket, das Sie entfernen müssen, um die Fehlermeldung wieder zu erhalten. Also wurde der AAC-Decoder von libav verwendet? Ich habe nicht tiefer gegraben, um Beweise dafür zu finden, und auch nicht nach dem Decoder gesucht, der bevorzugt wird (z. B. wenn OpenH264 unter Linux von Nutzen ist) oder wenn Vimeo diese Fehlermeldung ausgibt, weil eine andere Abhängigkeit trotz H nicht erfüllt ist .264- und AAC-Decoder werden installiert.

Zusammenfassung und Ausblick

Zusammenfassend ist zu sagen, dass für die Wiedergabe von aktuellen Mainstream-Inhalten nicht nur ein H.264-Decoder, sondern auch ein AAC-Decoder erforderlich ist, und H.265 bereitet bereits den Ersatz des älteren vor. Ich sehe auch keine Möglichkeit, die entsprechende Spezifikation für MP4s mit H.264 dahingehend zu ändern, dass in absehbarer Zukunft ein Open-Source-freundlicherer Audio-Codec empfohlen wird.

Im Ernst, drängen Sie auf WebM! Sie erhalten VP8 + Vorbis als H.264 / AVC-Anwärter und VP9 + Opus als H.265 / HEVC-Anwärter.


Hast du am 15.04. Tatsächlich den HTML5-Youtube-Player? Für mich spielt das Video aber keinen Ton. Ich habe alle genannten Pakete installiert. Mit FF 38.
naught101

Sehr interessant. Können Sie uns mitteilen, ob die Installation des Audio-Codecs Auswirkungen auf den verfügbaren Wert für die H264-Decodierung hat?
Martin Hansen

2

Firefox verwendet OpenH264 derzeit nur für WebRTC und nicht für das Video-Tag, da OpenH264 das für das Streamen von Videos häufig verwendete High-Profile-Format noch nicht unterstützt.

Quelle: http://andreasgal.com/2014/10/14/openh264-now-in-firefox/

gstreamer1.0-libav ist wahrscheinlich die einzige Option, die Unterstützung für das H264 HTML5-Videotag in Firefox für Linux hinzufügt.


Für Firefox unter Ubuntu 18.04 LTS ist das allein ausreichend.
Kubanczyk

0

Mit Firefox30 müssen Sie gstreamer 1.0 installieren . Sie sollten auch die meisten Plugins installieren: schlecht, hässlich, ...

Lassen Sie sich nicht durch den Paketnamen verwirren, Sie sollten Folgendes installieren: gstreamer1 , nicht gstreamer (die 1/1- Nummer ist Teil des Pakets und keine "Version"). Für alle Plugins gelten die gleichen Regeln: "gstreamer1-plugins -..."

Hier ist eine vollständigere URL zum Testen der HTML5-Funktionen Ihres Browsers und der Codec-Unterstützung: http://html5test.com/

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.