NATIVES BRIGHTCOVE-SDK MIT EXOPLAYER 2

Bild von JESS R
JESS R
blog-platzhalter bild

Wenn Sie das Brightcove Native Player-SDK für Android verwenden, ist es sehr wahrscheinlich, dass Sie derzeit das Google ExoPlayer-Framework für Ihre Videowiedergabe nutzen. Im Jahr 2016 veröffentlichte das Google ExoPlayer-Team die zweite Hauptversion des Players und nahm eine umfangreiche Umstrukturierung des Codes vor. Wir haben dann beschlossen, uns etwas Zeit zu lassen, bevor wir auf das ExoPlayer 2-Schiff springen, damit der Code zum Zeitpunkt des Upgrades stabiler ist.

Im Jahr 2017 haben wir ExoPlayer 2 evaluiert und sind zu dem Schluss gekommen, dass es Zeit für ein Upgrade ist, das eine großartige Ergänzung für das Brightcove-SDK und seine Benutzer darstellt.

AUFRÜSTUNG AUF EXOPLAYER 2

Bei der Aktualisierung auf ExoPlayer 2 haben wir uns entschieden, beide ExoPlayer-Versionen im Brightcove Native Player SDK für Android beizubehalten, sodass Sie mit minimalem Aufwand auf das SDK v6.0.1+ aktualisieren und gleichzeitig den Legacy-Player beibehalten können.

Sie können mit der Erkundung von ExoPlayer 2 beginnen, indem Sie Ihre build.gradle Datei zu ersetzen compile project(':players:exoplayer') mit compile project(':players:exoplayer2') im Block Abhängigkeiten.

Vielleicht sind Sie bereits mit den architektonischen Änderungen vertraut, die das Google ExoPlayer-Team in der zweiten Version seines Players vorgenommen hat. Falls nicht, sollten Sie wissen, dass die Überarbeitung im Vergleich zur ersten Version erheblich war und dass es eine Reihe von Änderungen gab. Einige öffentlich zugängliche Klassen wurden umbenannt, einige andere wurden entfernt und es gab einige Ergänzungen. Sie können ExoPlayer 2 - Neue Paket- und Klassennamen lesen, um mehr darüber zu erfahren.

Es wurden große Anstrengungen unternommen, um diese architektonischen Änderungen im Brightcove Native Player SDK für Android zu verwalten, damit der Upgrade-Prozess auf ExoPlayer 2 so mühelos wie möglich ist. Wenn Ihre Anwendung nur die Brightcove-Klassen verwendet, sollte der Aufwand für das Upgrade minimal sein. Wenn Sie jedoch exponierte ExoPlayer-Legacy-Klassen oder einige der ExoPlayerVideoDisplayComponent internen Listenern, die von ExoPlayer-Callbacks abhängen, ist es wahrscheinlich, dass Sie auf einige Änderungen stoßen werden.

Wenn Sie auf Fehler stoßen, überprüfen Sie bitte den Abschnitt "Änderungen" im Dokument Migration zum ExoPlayer 2 Framework.

VORTEILE EINES UPGRADES AUF EXOPLAYER 2

Der ExoPlayer 2 im Brightcove Native SDK für Android bietet die gleichen Funktionen wie der alte ExoPlayer. Dazu gehören die einfache Wiedergabe von Video On-Demand (VOD) mit Unterstützung für mehrere Audiospuren und Untertitel wie WebVTT und EIA-608, die Wiedergabe von geschütztem Widevine Modular-Content, clientseitige Werbung mit Google Interactive Media Ads (IMA) und FreeWheel, Unterstützung für Android TV und Fire TV, Video 360 und Offline-Wiedergabe. Außerdem ist eine vollständige Integration mit Brightcove-Services wie VideoCloud und Dynamic Delivery möglich.

Mit ExoPlayer 2 hat das Google ExoPlayer-Team sein Framework um neue Funktionen erweitert, die Unterstützung für bestehende Funktionen verbessert und viele Fehler behoben, was ExoPlayer 2 robuster und zuverlässiger macht. Dies ermöglichte uns die Abkehr von der ExoPlayer-Version, die wir im alten Player verwendet haben und die eine Menge benutzerdefinierten Code enthielt, insbesondere im Bereich HTTP Live Streaming (HLS) für VOD und Live-Wiedergabe. Unser Ziel ist es, den Google ExoPlayer weiterhin direkt zu verwenden, anstatt einen Fork zu nutzen, damit zukünftige Updates schneller und häufiger eingespielt werden können.

Es gab viele Verbesserungen und Ergänzungen in wichtigen Bereichen des ExoPlayer 2 Frameworks.

  • Volle Unterstützung für DASH-Multiperioden.
  • Zusätzliche Krypto-Verfahren für DRM und Unterstützung für Offline-Lizenzen.
  • Bessere Behandlung von ID3-Metadaten mit falscher Form wurde aufgenommen.
  • Bessere Unterstützung für WebVTT und EIA608 Untertitel.
  • Verbesserung beim Vorwärtssuchen in gepufferten Inhalten, wodurch es wirklich schnell und effizient wird.

Wenn Sie das Brightcove Native SDK für Android mit ExoPlayer 2 verwenden, macht Ihre App automatisch von all diesen Erweiterungen Gebrauch.

Wie bereits erwähnt, hat ExoPlayer auch seine Unterstützung für HLS erheblich verbessert.

  • Hinzufügung oder Verbesserung der Unterstützung für HLS-Tags wie EXT-X-DISCONTINUITY, EXT-X-START, EXT-X-DISCONTINUITY-SEQUENCE und EXT-X-PROGRAM-DATE-TIME.
  • Es wurde Unterstützung für die Nutzung der durchschnittlichen Bandbreite hinzugefügt, wenn diese in der HLS-Master-Playliste verfügbar ist.
  • Bessere Unterstützung für MPEG-TS in mehreren Aspekten.
  • Verschiedene Methoden zur Identifizierung von und Arbeit mit Live-Inhalten.
  • Bessere Handhabung der BehindLiveWindowException, eine Verbesserung, die vom Brightcove Native Player SDK für Android genutzt wurde, um ein besseres Erlebnis mit HLS Live zu bieten.

Sie können die vollständige Liste der Ergänzungen und Korrekturen in der ExoPlayer 2-Bibliothek in den Versionshinweisen einsehen.

Es gibt bestimmte andere Funktionen, die Sie nutzen können, indem Sie direkt auf das ExoPlayer 2 Player-Objekt zugreifen. Sie müssen sich jedoch darüber im Klaren sein, dass bei der direkten Arbeit mit ExoPlayer 2-Klassen die Wahrscheinlichkeit steigt, dass Sie Änderungen an Ihrem Code vornehmen, wenn neue ExoPlayer-Versionen veröffentlicht werden. Sie können auf die ExoPlayer-Instanz über die getExoPlayer() Methode in der ExoPlayerVideoDisplayComponent Klasse. Wir verwenden derzeit die SimpleExoplayerInstanceSie können es also in dieses Objekt umwandeln und seine Hilfsmethoden verwenden, wie unten gezeigt.

ExoPlayerVideoDisplayComponent displayComponent = (ExoPlayerVideoDisplayComponent) brightcoveVideoView.getVideoDisplay();
ExoPlayer exoPlayer = displayComponent.getExoPlayer();
if (exoPlayer instanceof SimpleExoPlayer) {
   SimpleExoPlayer simpleExoPlayer = (SimpleExoPlayer) exoPlayer;
}

Ein Beispiel für eine Funktion, die Sie interessieren könnte, ist die Einstellung einer variablen Abspielgeschwindigkeit mit ExoPlayer.

Falls Sie dies noch nicht getan haben, empfehlen wir Ihnen dringend, ein Upgrade auf ExoPlayer 2 in Betracht zu ziehen, da wir die Unterstützung für das alte ExoPlayer-Framework eingestellt haben.

Teilen Sie

Brightcove half einem Hersteller von Diagnosegeräten dabei, die Unterrichtszeit und die Kosten zu reduzieren und gleichzeitig den Erfolg ...
Brightcove unterstützte den bekanntesten Automobilmarktplatz bei der Verwaltung seiner umfangreichen, älteren Videobibliothek und deren Monetarisierung...
Um die Markenintegrität zu wahren, benötigen Einzelhandelsmarken anpassbare Videoplayer, die es ihnen ermöglichen, die Farben, die Schriftart...

SIND SIE BEREIT, LOSZULEGEN?

Setzen Sie sich mit uns in Verbindung, um zu erfahren, wie wir Ihre Videomarketing-Bemühungen verbessern und Ihnen dabei helfen können, die gewünschten Ergebnisse und den gewünschten ROI zu erzielen.