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 Ihrer Mobilgeräte-App mithilfe der nativen SDKs von Brightcove 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 das Native SDK für Android und/oder iOS 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 aktiviert die Sender-App in den Native SDKs. 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.
Implementierung
Einzelheiten zur Implementierung finden Sie im Folgenden:
Benutzerdefinierte Daten
Die customData
Schnittstelle bietet eine Methode, mit der Absender beliebige Daten an einen benutzerdefinierten Chromecast-Empfänger, z. B. die Empfänger-App von Brightcove, weitergeben können.
Für den Brightcove Player (Web) -Absender customData
wird das vollständig vom Plugin verwaltet. Für die Integratoren gibt es nichts zu tun.
Für alle anderen Absender, z. B. das Native SDK für Android oder iOS, customData
muss das vom Absender erstellt werden.
customData.accountId
(erforderlich)
Typ: string
Bei der Übertragung über einen Webplayer geschieht dies automatisch. Alle anderen Absender (z.B. die Native SDKs) müssen dies explizit einstellen.
customData.analyticsParams
Typ: object
Bei dieser Eigenschaft sollte es sich um ein Objekt handeln, das zur Übergabe von Parametern an die Analyseimplementierung auf dem Empfänger für an die Datenerfassungs-API gesendete Beacons verwendet werden kann. Es unterstützt die folgenden Eigenschaften:
Eigentum | Typ | Beschreibung |
---|---|---|
analyticsParams.application |
string |
Ermöglicht die Einstellung einer Klartext-Anwendungs-ID. Dies ist nützlich für Anwendungen wie Engage. |
analyticsParams.user |
string |
Ermöglicht die Einstellung einer Klartext-Benutzer-ID für Beacons, die an die Datenerfassungs-API gesendet werden. Dies ist nützlich für Funktionen wie Cross Device Resume (XDR). |
customData.catalogParams
Typ: object
Dies sollte ein Katalog Parameter Objekte sein
Alle Werte, die an die Wiedergabe-API des Empfängers übergeben werden, müssen von diesem Objekt stammen.
customData.keySystems
Typ: object
Wenn Medien über ein Medieninformationsobjekt bereitgestellt werden, kann dies verwendet werden, um DRM-Einstellungen in einem Format bereitzustellen, das mit dem von der Wiedergabe-API zurückgegebenen identisch ist:
keySystems: {
'com.widevine.alpha': {
url: 'https://url/to/widevine/license'
}
}
customData.playerUrl
Typ: string
Dies kann verwendet werden, um eine benutzerdefinierte Player-URL zum Laden bereitzustellen.
Beim Casting von einem Webplayer wird standardmäßig der Player des Senders gespiegelt. Dieses Verhalten kann durch die Übergabe "playerUrl": "default"
von Optionen außer Kraft gesetzt werden (siehe oben). Dies ist für Tests nützlich.
Beim Casting von nativen SDKs wird auf den Standardplayer zurückgegriffen (der im Players Prod-Konto verfügbar ist).