Einleitung
Google Chromecast ist ein Gerät, das Sie an den HDMI-Anschluss Ihres Fernsehgeräts anschließen. Mit Ihrem Smartphone oder Computer als Fernbedienung können Sie mit Chromecast auf Videoinhalte zugreifen. Das Chromecast-Plugin ermöglicht es einem Player, Videos von Ihrem Desktop- oder Android-Chrome-Browser mit Brightcove Player an das Chromecast-Gerät zu übertragen.
Das Plugin unterstützt alle Video Cloud-Videos oder externen Streams mit HLS oder DASH, einschließlich DRM-verschlüsselter Streams mit Widevine. Werbung wird durch die serverseitige Anzeigeneinfügung (SSAI) von Video Cloud unterstützt. Clientseitige Anzeigen und Wiedergabelisten werden nicht unterstützt.
Um das Plugin zu verwenden, führen Sie diese Schritte aus:
- Binden Sie das Chromecast-Plugin für Brightcove-Player ein (siehe Abschnitt Implementierung unten).
- Stellen Sie sicher, dass sich das Chromecast-Gerät im selben Netzwerk wie Ihr Gerät befindet, das das Video abspielt.
- Fange an, das Video abzuspielen.
- Klicken Sie auf die Schaltfläche „Besetzung“ und wählen Sie Ihr Chromecast-Gerät aus.
Chromecast-App-Komponenten
Die Software hinter Chromecast besteht aus folgenden Komponenten:
-
Sender-App: Dies ist jede Anwendung, die eine Cast-Sitzung initiieren und mit einem Empfänger kommunizieren kann. Die Absenderanwendung kann als „clientseitiger“ Teil des Chromecast-Ökosystems angesehen werden.
Das Chromecast Plugin für Brightcove Player aktiviert die Absender-App im Brightcove Player. In diesem Thema erfahren Sie darüber.
-
Empfänger-App: Dies ist eine benutzerdefinierte Webanwendung, die im öffentlichen Internet gehostet wird und auf einem Chromecast-Gerät ausgeführt wird. Es übernimmt die Kommunikation zwischen der Absender-App und dem Empfängergerät. Es kann als eine einseitige HTML-App mit CSS- und JavaScript-Assets gedacht werden.
Standardmäßig verwendet das Chromecast-Plugin die Brightcove Cast Receiver-App, die in unserem CDN gehostet wird. Die Empfänger-App ist eine Webanwendung, die während einer Cast-Sitzung auf den Chromecast geladen wird.
Unterstützte Chromecast-Geräte
Die folgenden Geräte werden unterstützt:
- Chromecast (3. Generation)
- Chromecast Ultra
- Chromecast mit Google TV
So funktioniert es
Die aktuelle Implementierung (Plugin/Receiver Version 2.x) verwendet die CAF (Cast Application Framework) API.
Wenn das Chromecast-Empfänger-Plugin hinzugefügt wird, zeigt der Player eine Cast-Taste in der Player-Benutzeroberfläche an, wenn im lokalen Netzwerk ein Chromecast verfügbar ist.
Wenn diese Schaltfläche angeklickt oder angetippt wird, wird eine Casting-Sitzung mit dem aktuellen Video, das in den Player geladen ist, gestartet. So funktioniert es:
- Das Plugin sendet eine Reihe von Parametern an den Empfänger.
- Der Empfänger spiegelt den sendenden Player wider, indem er ihn von Brightcoves CDN lädt.
- Nach dem Laden lädt der empfängerseitige Player die Video-ID von der Playback-API, die zu Beginn der Cast-Sitzung gesendet wurde.
- Dann beginnt der empfängerseitige Spieler die Wiedergabe an der Abspielposition des sendenden Spielers.
Dieser Prozess ist für Nicht-Video-Cloud-Quellen identisch, es sei denn, es gibt keine Playback-API-Anfrage.
Analytik
Derzeit wird die Besetzungssitzung aus Analytics-Perspektive als eine völlig neue Wiedergabesitzung behandelt.
Aus UX-Perspektive sieht der Viewer, wie sein Stream auf dem Absendergerät pausiert und am Empfänger fortgesetzt wird.
Aus Datensicht wird, da unsere Metriken standardmäßig anonymisiert sind, als neuer Viewer protokolliert, der einen neuen Stream auf einem separaten Gerät startet. Das passiert tatsächlich.
Voraussetzungen
Für das Chromecast-Plugin werden folgende Anforderungen benötigt:
- Brightcove Player v6.45.0 oder neuer
- Brightcove Chromecast-Plugin v2.0.0 oder neuer
Implementierung
Das Chromecast Plugin für Brightcove Player wird wie alle anderen Brightcove Player-Plugins verwendet, dh Sie müssen das Plugin in den Player laden.
Verwenden von Studio
Die folgenden Schritte beschreiben die Verwendung von Studio zum Laden des Plugins.
- Öffnen Sie das PLAYERS-Modul und erstellen Sie entweder einen neuen Player oder suchen Sie den Player, dem Sie das Plugin hinzufügen möchten.
- Wähle den Link für den Spieler aus, um die Eigenschaften des Spielers zu öffnen.
- Wählen Sie im linken Navigationsmenü die Option Plugins aus.
-
Wählen Sie als Nächstes die Plugin hinzufügen -Taste und wählen Sie dann Brightcove-Plug-in.
Schaltfläche „Plugin hinzufügen“ -
Erweitern Sie die Brightcove-Plugin-Dropdownliste und wählen Sie Chromecast Receiver aus.
Chromecast-Empfänger -
Optional: Geben Sie die Konfigurationsoptionen im Optionen (JSON) Textfeld. Ein Beispiel für den Standardspieler im 1752604059001-Konto wird angezeigt. Sie müssen natürlich Informationen für Ihren Spieler eingeben.
{ "playerUrl" : "https://players.brightcove.net/1507807800001/default_default/index.min.js" }
Weitere Informationen zu den Optionen finden Sie unten.
-
Wähle aus Speichern Taste. Sie sehen jetzt das Chromecast Receiver-Plugin, das zur Liste der Plugins für Ihren Player hinzugefügt wurde.
Plugin hinzugefügt - Um den Player zu veröffentlichen, wählen Sie Veröffentlichen & Einbetten > Änderungen veröffentlichen aus.
- Um den geöffneten Dialog zu schließen, wählen Sie Schließen aus.
-
Kehren Sie zum MEDIA zurück und veröffentlichen Sie Ihr Video oder Ihre Wiedergabeliste mit dem Player, den Sie gerade für Chromecast aktualisiert haben.
Sobald das Plugin geladen ist, wurde das Video abgespielt und ein verfügbares Chromecast-Gerät ist in Reichweite. Die Cast-Button wird im Player angezeigt, wie hier in diesem Screenshot eines Players gezeigt:
Manuell konfigurieren
Gehen Sie folgendermaßen vor, um das Plugin mit dem JSON-Editor hinzuzufügen:
- Öffnen Sie das PLAYERS-Modul und erstellen Sie entweder einen neuen Player oder suchen Sie den Player, dem Sie das Plugin hinzufügen möchten.
- Wähle den Link für den Spieler aus, um die Eigenschaften des Spielers zu öffnen.
-
Wählen Sie im linken Navigationsmenü den JSON-Editor aus.
JSON-Editor -
Fügen Sie dem
plugins
Array ein Objekt hinzuIhr Code sollte folgendermaßen aussehen:
{ "compatibility": true, "video_cloud": { "policy_key": "your policy key" }, "player": { "template": { "name": "single-video-template", "version": "6.45.4" } }, "studio_configuration": { "player": { "responsive": true, "height": 540, "width": 960, "units": "px" } }, "plugins": [ { "name": "chromecastReceiver", "options": {}, "stylesheets": ["https://players.brightcove.net/videojs-chromecast-receiver/2/videojs-chromecast-receiver.css"], "scripts": ["https://players.brightcove.net/videojs-chromecast-receiver/2/videojs-chromecast-receiver.js"] } ] }
Weitere Informationen zu den Optionen finden Sie unten.
Optionen für die Konfiguration
Egal für welche Methode Sie das Chromecast Plugin für Brightcove Player einrichten möchten, Sie können Optionen zum Ändern des Plugin-Verhaltens übergeben. Während das Festlegen dieser Optionen nicht erforderlich ist, ist für fortgeschrittene Benutzer zusätzliche Anpassungen möglich.
Um Optionen in Code zu übergeben, verwenden Sie etwas Ähnliches wie das Folgende:
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this;
options = {};
options.playerUrl = '//players.brightcove.net/1752604059001/default_default/index.min.js'; myPlayer.chromecastReceiver(options);
});
Ratschläge
Wenn Ihre Webplayer eine große Anzahl von Plugins oder benutzerdefinierten Skripten enthalten, sollten Sie erwägen, einen leichtgewichtigen Player speziell für die Chromecast-Wiedergabe zu erstellen.
Da der Webplayer und seine Playback-Engine etwas ressourcenintensiv sind, kann der Betrieb in einer ressourcenbeschränkten Umgebung (z. B. einem Chromecast) mit zusätzlichen schweren Skripten die Benutzererfahrung negativ beeinflussen!
Optionen
Das Chromecast-Plugin unterstützt die folgenden Optionen:
-
Typ:options.appName
string
Standard: 'Brightcove Chromecast CAF v2.0'Überschreiben Sie den Standardanwendungsnamen mit Ihrem eigenen benutzerdefinierten Namen.
-
Typ:options.playerUrl
string
Standard : ''Standardmäßig wird der absenderseitige Player am Empfänger gespiegelt. Sie können diese Option verwenden, um eine benutzerdefinierte empfängerseitige Brightcove Player-URL bereitzustellen.
Da es sich um einen Brightcove-Spieler handelt, der auf den Empfänger geladen ist, können Sie den Player außerhalb von Chromecast anpassen, stylen und debuggen.
Beachten Sie, dass bei Verwendung der Option
playerUrl
die als Sender und Empfänger verwendeten Player unterschiedlich sind. Wenn Sie Player mit Domänenbeschränkung verwenden, müssen Sie eine Whitelist verwenden. Die Whitelist sollte für den sendenden Player erstellt werden, NICHT für den Player, der als Empfänger verwendet wird (das ist der Player, der in dieser Option angegeben ist). -
Typ:options.splashScreen
string
Standard : ''Der Begrüßungsbildschirm, der vor einem Video und beim Wechsel von Videos angezeigt werden sollte.
-
Typ:options.ssaiDynamicMacros
Array
Standard: undefiniertMit dieser Option können Benutzer eine Reihe von dynamischen Anzeigenmakros vom Webplayer an den Chromecast-Empfänger weitergeben.
Jedes Element dieses Arrays sollte eine Zeichenfolge sein, die dem Namen einer globalen Variablen entspricht (eine Eigenschaft von
window
). Dieser Wert wird dann an den Player auf dem Chromecast weitergegeben und beim Auflösen von Anzeigenmakros in einer VOD-SSAI-URL verwendet.Nehmen wir zum Beispiel an, Ihre SSAI-Implementierung hängt davon ab,
exampleMacro
dass sie global verfügbar ist. Fügen Sie die folgenden Optionen zu Ihrem Chromecast-Plugin hinzu:"ssaiDynamicMacros": ["exampleMacro"]
Wenn der sendende Spieler wirft, leitet er den Wert von
window.exampleMacro
Across an den Empfänger weiter, wo er von der integrierten SSAI- und Makroauflösung automatisch aufgenommen wird.
Ungewöhnliche Optionen
Die folgenden Optionen werden im Allgemeinen nicht verwendet.
-
Typ:options.authRequest
string
object
oderfunction
Standard: {}
Sie können diese Option verwenden, wenn Sie den Chromecast benötigen, um eine Autorisierung zum Abspielen von Inhalten zu erhalten, bevor ein Video angefordert wird.
Sie können dies auch verwenden, um Cookies zu erhalten, aber Ihr Server muss so eingerichtet sein, dass domänenübergreifende Cookies gesetzt werden können, wenn Sie Ihre eigenen Inhalte hosten.
players.brightcove.net
String-Verwendung
Wenn
authRequest
es sich um eine Zeichenfolge handelt, wird eine leere GET-Anfrage an diese URL gestellt.Verwendung von Objekten
Wenn es
authRequest
sich um ein Objekt handelt, kann es verwendet werden, um bestimmte Eigenschaften der Anforderungsnutzlast anzugeben:Eigentum Typ Erforderlich Standardwert Beschreibung url
string
Ja ''
Die anzuforderende URL method
string
Nein GET
Die zu verwendende HTTP-Methode body
string
Nein ''
Der Anforderungstext headers
object
Nein {}
Ein Objekt, das HTTP-Header beschreibt, bei denen die Schlüssel der Header-Name sind und die Eigenschaften die Header-Werte sind withCredentials
boolean
Nein false
Ein Objekt, das HTTP-Header beschreibt, bei denen die Schlüssel der Header-Name sind und die Eigenschaften die Header-Werte sind timeout
number
Nein 15000
Wie viele Millisekunden müssen gewartet werden, bevor die Auth Anfrage aufgegeben wird Verwendung von Funktionen
Wenn es
authRequest
sich um eine Funktion handelt, sollte sie entweder eine Zeichenfolge oder ein Objekt für diese Verwendungen zurückgeben.
Einschränkungen und bekannte Probleme
- HEVC/4K-Inhalte werden nur auf Chromecast Ultra Geräten und neueren Chromecast mit Google TV-Geräten unterstützt.
- Clientseitige Werbung wird derzeit nicht unterstützt, SSAI wird jedoch unterstützt!
- Die Anpassung der Wiedergaberate wird von diesem Plugin derzeit nicht unterstützt.
- Wir haben Probleme mit der Suche nach dem Absender festgestellt, nachdem eine Untertitelspur ausgewählt wurde und im Empfänger angezeigt wird.
- Bei Chromecast mit Google TV-Geräten haben wir Probleme mit der Benutzeroberfläche sowie Wiedergabeprobleme bei der Verwendung von Untertiteln festgestellt.
- Google hat aufgehört, nicht sichere Ursprünge (HTTP) mit Chromecast zu unterstützen, daher funktioniert das Plugin nicht in nicht sicheren Kontexten. In diesen Fällen wird die Chromecast-Schaltfläche des Spielers nicht angezeigt.
-
Da das Chromecast Plugin auf die Unterstützung des Browsers für das Casting angewiesen ist, wird es nur in den folgenden OS/Browser-Kombinationen unterstützt:
- Desktop/Chrom
- Android/Chrom
- Google unterstützt nicht mehrere Instanzen der Chromecast-Absenderschaltfläche auf einer einzigen Seite. Mögliche Problemumgehungen wären, den Brightcove Player mit der Standard- (iframe-) Player-Implementierung einzubetten oder Spieler bei Bedarf dynamisch zu instanziieren und zu zerstören. Siehe das Dokument Brightcove Player Sample: Laden Sie den Player dynamisch, um Informationen über die letztere Möglichkeit zu erhalten.
- Dieses Plugin wird nicht in Google Nest Hub umgewandelt. Das Plugin unterstützt nur tatsächliche Chromecast-Geräte (z.B. Chromecast und Chromecast Ultra).
- Android WebView unterstützt kein Casting mit Chromecast. Weitere Informationen finden Sie im Issue Tracker von Android.
Wechselt von v1.x zu v2.x
Neben internen Änderungen, wie der Verwendung der CAF-API anstelle der v2 Chromecast-API, haben sich die folgenden Schnittstellen geändert:
-
options.css
undoptions.js
werden nicht mehr unterstützt. customData.analyticsParams
wurde hinzugefügtcustomData.catalogData
wurde umbenanntcustomData.catalogParams
, um die Konsistenz mit anderen Verwendungen zu verbesserncustomData.policyKey
wurde ersetzt durchcustomData.catalogParams.policyKey
customData.keySystems
wurde hinzugefügt
Änderungsliste
Siehe Chromecast Receiver und Plugin Release.
Historische Versionshinweise finden Sie im Changelog hier.