28 Reaktionen

Mozilla integriert OpenH264 Video Codec von Cisco in Firefox 33

Geschätzte Lesedauer:

Mozilla integriert Ciscos OpenH264-Codec für WebRTC-Kommunikation in Firefox 33, genauer gesagt in Form eines automatischen Downloads eines sogenanntes Gecko Media Plugins, einer neuen Form von Plugins in Firefox.

Als Cisco vor einigen Monaten bekannt gegeben hat, dass man seine Implementierung des H.264-Codecs unter einer Open Source-Lizenz veröffentlichen wird, hatte Mozilla angekündigt, den OpenH264 Codec in Firefox für WebRTC bereitzustellen. Dem folgen nun Taten, kurz nach dem Start der aktuellen Nightly-Version von Firefox 33 lädt Firefox automatisch ein Plugin mit dem Namen OpenH264 Video Codec provided by Cisco Systems, Inc. 1.0 herunter, welches als Video-Codec für WebRTC-Kommunikation zur Verfügung steht. Bei diesem Plugin handelt es sich um ein sogenanntes Gecko Media Plugin (GMP). Ein GMP ist eine neue Art von Plugins in Firefox für autorisierte Drittanbieter-Codecs wie eben OpenH264 sowie Encrypted Media Extensions Content Decryption Modules (EME CDMs) wie das von Adobe, für welches sich Mozilla entschieden hat. Das OpenH264 Plugin kann über den Add-on Manager aktiviert respektive deaktiviert werden und erhält automatische Updates über die Server von Cisco Systems. Für Cisco ist die kostenlose Bereitstellung des Codecs nicht ohne Kosten, die Kosten dafür liegen aktuell bei um die 6,5 Millionen Dollar pro Jahr.

[lightbox style=“modern“ image_path=“https://www.soeren-hentzschel.at/wp-content/uploads/openh264.png“ popup=“https://www.soeren-hentzschel.at/wp-content/uploads/openh264.png“ link_to_page=““ target=““ description=““ size=“two_col_small“]

Dieser Artikel wurde von Sören Hentzschel verfasst.

Sören Hentzschel ist Webentwickler aus Salzburg. Auf soeren-hentzschel.at informiert er umfassend über Neuigkeiten zu Mozilla. Außerdem ist er Betreiber von camp-firefox.de, der ersten Anlaufstelle im deutschsprachigen Raum für Firefox-Probleme aller Art. Weitere Projekte sind firefox.agenedia.com, mozilla.de, firefoxosdevices.org sowie sozone.de.

25 Kommentare - bis jetzt!

Eigenen Kommentar verfassen
  1. Antares
    schrieb am :

    Kann der neue Codec auch mit zur Lösung des Problems beitragen, was Google letztens angezettelt hat bzgl. kein Sound auf YouTube, da spielt ja auch H.264 ne Rolle?

  2. stfischr
    schrieb am :

    Huhu.

    Was mich wundert, mit x264 gibt es seit Jahren einen (wahrscheinlich sogar den besten) H264 Encoder, warum wird der nicht genutzt?

  3. Anon
    schrieb am :

    In wieweit unterscheiden sich GMP denn technisch von den alten Plugins?

  4. Anon
    schrieb am :

    Ich verwende Firefox in sicherheitskritischen Umgebungen. Ich vertraue Cisco deutlich weniger als Mozilla. Kann ich den Download verhindern? Irgendwo gezielt vor dem Download verhindern, dass der Code ausgeführt wird? Gibt es irgendeinen Schutz seitens Mozilla, der mich vor einem theoretisch bösartigen Cisco schützt?

    Vielen Dank für deinen Blogpost.

  5. Vinz
    schrieb am :

    Moin,

    mich würde mal interessieren wieso Cisco so eine Aktion ins Leben ruft. Immerhin ist das doch ein gewinnorientiertes Unternehmen. Und 6,5 Mio Dollar per anno ist jetzt auch kein Klacks. Ich würde gerne die Absicht dahinter verstehen. Immerhin sind die ja eher für Netzwerke zuständig und haben auch haufenweise proprietäre Protokoll und STandards entwickelt. Warum auf einmal Open Source?

  6. Simon
    schrieb am :

    Frag mich warum dafür ein PluginCodec nötig wird. Hat Mozilla nicht längere Zeit daran gearbeitet, installierte Codecs der Betriebssysteme für das abspielen von medien zu nutzen.
    H264 kriegt doch auch gstreamer oder ffmpeg hin, oder nicht?

  7. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    @Antares:

    Kann der neue Codec auch mit zur Lösung des Problems beitragen, was Google letztens angezettelt hat bzgl. kein Sound auf YouTube, da spielt ja auch H.264 ne Rolle?

    Ich weiß jetzt nicht, worauf genau du dich beziehst, aber es ist soweit ich weiß derzeit nicht geplant, den Codec für andere Dinge als WebRTC einzusetzen.

  8. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    @stfischr:

    Was mich wundert, mit x264 gibt es seit Jahren einen (wahrscheinlich sogar den besten) H264 Encoder, warum wird der nicht genutzt?

    Ehrliche Antwort: Keine Ahnung. Ich habe von x264 vorhin zum ersten Mal gelesen. 😉

  9. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    @Anon:

    In wieweit unterscheiden sich GMP denn technisch von den alten Plugins?

    Ich werfe zwei Links in den Raum:

    https://wiki.mozilla.org/GeckoMediaPlugins
    https://bugzilla.mozilla.org/show_bug.cgi?id=957928#c0

    Zu technischen Details kann ich nichts sagen. 😉

  10. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    @Anon:

    Ich verwende Firefox in sicherheitskritischen Umgebungen. Ich vertraue Cisco deutlich weniger als Mozilla. Kann ich den Download verhindern? Irgendwo gezielt vor dem Download verhindern, dass der Code ausgeführt wird? Gibt es irgendeinen Schutz seitens Mozilla, der mich vor einem theoretisch bösartigen Cisco schützt?

    Vielleicht gibt es einen about:config-Schalter, allerdings solltest du bedenken, dass Firefox noch einige Komponenten mehr beinhaltet, welche nicht von Mozilla stammen. Dieses Prinzip hat einen Namen: Open Source. Und du kannst davon ausgehen, dass bösartiger Code im Cisco-Part nicht weniger wahrscheinlich gefunden wird als wäre es Code aus dem Mozilla-Repository. Es gibt in jedem Fall keinen Grund, anderes anzunehmen.

  11. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    @Vinz:

    mich würde mal interessieren wieso Cisco so eine Aktion ins Leben ruft. Immerhin ist das doch ein gewinnorientiertes Unternehmen. Und 6,5 Mio Dollar per anno ist jetzt auch kein Klacks. Ich würde gerne die Absicht dahinter verstehen. Immerhin sind die ja eher für Netzwerke zuständig und haben auch haufenweise proprietäre Protokoll und STandards entwickelt. Warum auf einmal Open Source?

    Ich kenne die Motivation von Cisco nicht, aber für Cisco sind das Peanuts und so überraschend ist der Zusammenhang zwischen Cisco und Open Source auch gar nicht: Cisco ist auch an der Entwicklung von Daala beteiligt, dem Open Source Video Codec der nächsten Generation von Mozilla.

  12. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    @Simon:

    Frag mich warum dafür ein PluginCodec nötig wird. Hat Mozilla nicht längere Zeit daran gearbeitet, installierte Codecs der Betriebssysteme für das abspielen von medien zu nutzen.
    H264 kriegt doch auch gstreamer oder ffmpeg hin, oder nicht?

    Das wird noch nicht auf allen Plattformen unterstützt, ich denke in erster Linie an OS X, es setzt in jedem Fall voraus, dass der Codec auf dem System vorhanden ist, was auch nicht immer der Fall ist. Ob es darüber hinaus Vorzüge für OpenH264 gibt, wenn auf dem System ein Codec vorhanden ist und genutzt werden kann, kann ich nicht sagen.

  13. Julian
    schrieb am :

    Wenn ich das richtig in Erinnerung habe, gewährt Cisco bei der Nutzung rechtlichen Schutz. Das ist mit x264 nicht gegeben.

    Cisco ist im Bereich Videokonferenzen stark vertreten und favorisiert H.264 für WebRTC. Entsprechend das Anliegen, dass hier auch Firefox mitzieht.

    Ansonsten frage ich mich, ob man denn nicht wirklich vorher gefragt wird, ob man das Plugin installieren will. Plugin und dann doch eigentlich fest integrierter Bestandteil klingt doch nach einem umständlichen Verfahren.

    Das Plugin kommt ja anscheinend direkt von Ciscos Servern. Wird dann bei Updates gleichzeitig auch der Quellcode zusammen mit den Informationen zu Buildumgebung freigegeben? Letzteres ist ja essentiell um wirklich nachzuvollziehen, ob man da binär das bekommen wird, was Cisco im Quellcode angibt.* Cisco ist ja prominent als NSA-Einfalltor bekannt. Und auch wenn der Chef öffentlich protestiert hat, heißt das ja für die interne Praxis noch nichts. Damit will ich Cisco nicht unterstellen, dass sie mit dem Engagement explizit Spionage im Blick haben. Das hat sicherlich einen geschäftlichen Hintergrund(siehe oben). Aber ein Risiko bleibt.

    *Und darum ist das schon ein Unterschied, ob es direkt von Mozilla aus dem eigenen Repository kompiliert und ausgeliefert wird oder halt von Dritten. Es ist fraglich, warum Cisco den Quellcode schon freigibt und unbedingt selber ausliefern will. Das würde Mozilla ja nicht überfordern.

    Weiterhin stellt sich natürlich die Frage, ob damit wirklich nur WebRTC zu nutzen ist. Wenn man so ein Plugin schon hat, wäre es ja blödsinnig für den gemeinen Youtube-Betrieb nutzen zu müssen.Siehe auch die angespochene OS X-Problematik.

    Und kann man andersherum einen System-Codec auch für WebRTC nutzen, wenn man das Cisco-Plugin deaktiviert?

  14. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Cisco ist im Bereich Videokonferenzen stark vertreten und favorisiert H.264 für WebRTC. Entsprechend das Anliegen, dass hier auch Firefox mitzieht.

    Ergibt Sinn. Danke.

    Ansonsten frage ich mich, ob man denn nicht wirklich vorher gefragt wird, ob man das Plugin installieren will. Plugin und dann doch eigentlich fest integrierter Bestandteil klingt doch nach einem umständlichen Verfahren.

    Das Plugin wird automatisch nach einer Minute heruntergeladen. Es ist aber auch eine Möglichkeit über about:config vorhanden, das zu deaktivieren soweit ich weiß.

    Der Vorgang klingt auf den ersten Blick umständlich, aber im Endeffekt ist das eigentlich eine ziemlich praktische Möglichkeit, mit einer Drittanbieter-Komponente umzugehen, denke ich.

    Das Plugin kommt ja anscheinend direkt von Ciscos Servern. Wird dann bei Updates gleichzeitig auch der Quellcode zusammen mit den Informationen zu Buildumgebung freigegeben? Letzteres ist ja essentiell um wirklich nachzuvollziehen, ob man da binär das bekommen wird, was Cisco im Quellcode angibt.

    Der Quellcode ist öffentlich:
    http://www.openh264.org/

    Was den anderen Punkt betrifft, Brendan Eich sagte dazu vor einigen Monaten:

    you and others can verify the compiled bits come from that source, no malware or spyware added. We will organize community auditing of this sanity check, and the binary modules will be cryptographically signed so Firefox can verify their integrity.

    Und darum ist das schon ein Unterschied, ob es direkt von Mozilla aus dem eigenen Repository kompiliert und ausgeliefert wird oder halt von Dritten. Es ist fraglich, warum Cisco den Quellcode schon freigibt und unbedingt selber ausliefern will. Das würde Mozilla ja nicht überfordern.

    Das würde wohl darauf hinauslaufen, dass Mozilla die über sechs Millionen Dollar im Jahr bezahlen müsste. Die binäre Auslieferung muss über Cisco erfolgen.

    Was den NSA-Punkt betrifft, da sehe ich keinen Unterschied, ob das nun aus dem Repository von Cisco oder Mozilla kommt. Beide sind an US-Recht gebunden und die NSA wird sich sowohl als auch an dieselben Gesetze halten (oder diese umgehen). Die Vergangenheit hat gezeigt, dass die NSA immer Mittel und Wege finden wird, wenn sie das wollen. 😉

    Weiterhin stellt sich natürlich die Frage, ob damit wirklich nur WebRTC zu nutzen ist. Wenn man so ein Plugin schon hat, wäre es ja blödsinnig für den gemeinen Youtube-Betrieb nutzen zu müssen.Siehe auch die angespochene OS X-Problematik.

    Derzeit ist das in jedem Fall so. Ob sich das noch ändern wird, kann ich nicht sagen. Ich kenne die Gründe dafür nicht. Es könnte einfach ein erster Schritt sein, dies nur für WebRTC anzuwenden und später dann , es kann aber auch eine ganz bewusste Entscheidung sein, es nur dafür anbieten zu wollen.

    Und kann man andersherum einen System-Codec auch für WebRTC nutzen, wenn man das Cisco-Plugin deaktiviert?

    Kann ich nicht sagen.

  15. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Ich möchte noch um einen weiteren Kommentar von Brendan Eich ergänzen, der quasi explizit auffordert, Open Source-Projekten nicht blind zu vertrauen, was auch Mozilla mit einschließt, sondern zu kontrollieren. Kontrolle ist eben der einzige Weg sicherzustellen, dass NSA & Co. nicht ihre Finger im Spiel haben.

    But in the case of Firefox for Linux at least, and for Cisco’s OpenH264 binary modules, we can audit: get matching revision of the open source, compile with the same (bootstrapped from open source) clang or gcc toolchain, and compare bits.

    Profile-guided link optimization and cryptographic signatures complicate things slightly, but nothing is fatal here. Even MSVC can probably be trusted not to inject a trojan targeted only at one or another Firefox or OpenH264 binary.

    Topic for a near-term blog post. It’s important that communities around the world audit products built from open source. Don’t (just) trust us, audit us! Open source (including compilers and runtime libs) matters.

  16. Marco
    schrieb am :

    Kurzer Erklärungsversuch:

    Cisco hat einen großes Interesse an einem starken und etablierten WebRTC-Standard, den sie gerne in ihren Produkten verwenden würden. Dies wird aber nur der Fall sein, wenn sich alle Browser-hersteller auf einen (oder mehrere) Codec einigen können. Momentan stehen sich zwei Lager gegenüber: Die einen möchten VP8 und die anderen h264. Wieso ist dies für Mozilla wichtig? Der Codec muss nativ im Browser unterstützt werden, so dass man die Videofunktion von WebRTC garantieren kann. Dies ist nicht der Fall, wenn der Browser auf die Codecs des Betriebssystems (x264 via gstreamer) zurückgreift. Eine Kompromisslösung wäre, dass beide Codecs unterstüzt werden müssen. Dann hätten aber Opera/Mozilla & Co das Problem, dass diese nicht das Geld für die h264 Lizenzen ausgeben können. Dementsprechend hat Cisco nun entschlossen diese Lizenzgebühren zu übernehmen, um eine Lösung für den Konflikt zu finden.

    Noch haben sich die Browserhersteller aber nicht geeinigt. Bei Audio wurde zumindest schonmal mit Opus eine akzeptierte Lösung gefunden.

  17. schrieb am :

    Übrigens kann man die Automatischen Updates für dieses Plugin separat deaktivieren, was ansonsten ja bei Plugins nicht so viel Sinn macht – aus Sicherheits-Gründen. Warum verfährt Mozilla hier eigentlich anders, es kann ja auch hier ‚Löcher‘ geben.

  18. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Es ist genau anders herum. Dieses Plugin kann über Firefox aktualisiert werden und darum können Updates dafür deaktiviert werden. Bei allen anderen Plugins kannst du keine Updates deaktivieren, weil diese überhaupt nicht über Firefox aktualisiert werden können.

    Dieses Plugin ist übrigens eine vollkommen neue Kategorie von Plugin, nämlich ein Gecko Media Plugin. Alle anderen Plugins sind NPAPI-Plugins. Ohne sehr auf technische Details eingehen zu können, da beginnen bereits die Unterschiede. 😉

  19. Antares
    schrieb am :

    Ich hab da mal ne blöde Frage:

    Ich gehe mal davon aus, dass OpenH264 genau wie die anderen Plugins, eben weil ein Plugin, der C2P-Regelung unterliegen wird. Wird der Codec denn nachgeladen, sobald ich eine WebRTC-Sitzung starte, oder wird er nur nachgeladen, wenn er wirklich gebraucht wird, nämlich bei VoIP mit Webcambild? Es ist ja nunmal ein Videocodec und wenn ich nur einen Audiochat wie im Teamspeak mache oder in einem normalen Textchat einen Filetransfer mache, brauche ich den ja strenggenommen eigentlich nicht. Kann ich den also ruhigen Gewissens abschalten, wenn ich beim Chatten sowieso keine Webcam bzw. nicht mal Audio, sondern nur Text verwende, oder hat das irgendwelche Nachteile, sodass WebRTC in Firefox bzw. anderen Programmen wie Thunderbird und Instantbird auf Gecko-Basis nicht mehr (richtig) funktioniert? Zumindest bei Instantbird geht es ja derzeit in großen Schritten gen WebRTC….

  20. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Ich gehe mal davon aus, dass OpenH264 genau wie die anderen Plugins, eben weil ein Plugin, der C2P-Regelung unterliegen wird.

    Dafür wird es kein Click-to-Play geben. Muss es auch nicht, da OpenH264 nur für WebRTC zum Einsatz kommt und es dafür sehr wenig Sinn hätte, der Benutzer muss dafür ja bereits eine andere Berechtigung erteilen, welche den eindeutigen Wunsch ausdrückt, das Gespräch zu führen.

    An welcher Stelle der Codec geladen wird, kann ich nicht direkt beantworten, so sehr bin ich mit den technischen Details nicht vertraut. Hilfreich wäre eine Testseite, auf der das nachvollzogen werden könnte, ich kenne leider keine. 😉

    Kann ich den also ruhigen Gewissens abschalten, wenn ich beim Chatten sowieso keine Webcam bzw. nicht mal Audio, sondern nur Text verwende

    Das kannst du, ja.

    oder hat das irgendwelche Nachteile, sodass WebRTC in Firefox bzw. anderen Programmen wie Thunderbird und Instantbird auf Gecko-Basis nicht mehr (richtig) funktioniert? Zumindest bei Instantbird geht es ja derzeit in großen Schritten gen WebRTC….

    Einstellungen in Firefox haben keinen Einfluss auf Programme außerhalb von Firefox, insofern entstehen in anderen Programmen auch keine Nachteile dadurch.

  21. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Weiterhin stellt sich natürlich die Frage, ob damit wirklich nur WebRTC zu nutzen ist. Wenn man so ein Plugin schon hat, wäre es ja blödsinnig für den gemeinen Youtube-Betrieb nutzen zu müssen.Siehe auch die angespochene OS X-Problematik.

    Derzeit ist das in jedem Fall so. Ob sich das noch ändern wird, kann ich nicht sagen. Ich kenne die Gründe dafür nicht. Es könnte einfach ein erster Schritt sein, dies nur für WebRTC anzuwenden und später dann , es kann aber auch eine ganz bewusste Entscheidung sein, es nur dafür anbieten zu wollen.

    Firefox currently uses OpenH264 only for WebRTC and not for the <video> tag, because OpenH264 does not yet support the high profile format frequently used for streaming video. We will reconsider this once support has been added.

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

  22. Andreas
    schrieb am :

    @all habe heute update zu firefox33 gemacht und es gibt die funktion „immer aktiviert“ und „nie aktivieren“ also immer locker durch die hose atmen 😉

  23. schrieb am :

    Hallo,

    ich habe da ein kleines Proble,! Ich habe ein Video von Youtube runtergeladen, bei mir wieder raufgeladen und nun klappt das nicht mehr so richtig!

    Denn das Video fängt einfach an zu laufen obwohl ich das gar nicht will!

    Wo finde ich ein Tag Manuell damit ich nachlesen kann wie ich das Video Pausieren lassen kann?

     

    Gruß

  24. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Hallo,

    zunächst einmal hat YouTube überhaupt nichts mit dem Thema OpenH264 zu tun. Darüber hinaus sehe ich nicht einmal, was die Frage überhaupt mit Mozilla oder Firefox zu tun hat. Ich bin mir nicht sicher, ob ich die Anfrage richtig verstehe, aber für mich klingt das, als hättest du entweder ein Problem mit der Einbettung in eine Webseite oder mit YouTube. So oder so ist das leider nichts, wobei ich helfen kann. Ich kann versuchen, Fragen zu Mozilla oder Firefox zu beantworten, aber das lese ich aus der Anfrage nicht heraus.

Und jetzt du! Deine Meinung?

Erforderliche Felder sind mit einem Asterisk (*) gekennzeichnet. Die E-Mail-Adresse wird nicht veröffentlicht.
  1. Nach Absenden des Kommentar-Formulars erfolgt eine Verarbeitung der von Ihnen eingegebenen personenbezogenen Daten durch den datenschutzrechtlich Verantwortlichen zum Zweck der Bearbeitung Ihrer Anfrage auf Grundlage Ihrer durch das Absenden des Formulars erteilten Einwilligung.
    Weitere Informationen