Introduction
Google Chromecast est un appareil que vous branchez sur le port HDMI de votre téléviseur. À l'aide de votre smartphone ou de votre ordinateur comme télécommande, vous pouvez utiliser Chromecast pour accéder au contenu vidéo. Le plugin Chromecast permet à un lecteur de diffuser des vidéos depuis votre application mobile à l'aide des SDK natifs de Brightcove vers le périphérique Chromecast.
Le plugin prend en charge toutes les vidéos Video Cloud ou les flux externes utilisant HLS ou DASH, y compris les flux cryptés DRM utilisant Widevine. La publicité est prise en charge par l'insertion d'annonces côté serveur Video Cloud (SSAI). Les annonces et les listes de lecture côté client ne sont pas prises en charge.
Pour utiliser le plugin, procédez comme suit :
- Inclure le plugin Chromecast pour le SDK natif pour Android et/ou iOS (voir la section Mise en œuvre ci-dessous).
- Assurez-vous que le Chromecast se trouve sur le même réseau que votre appareil qui va lire la vidéo.
- Commencez à lire la vidéo.
- Cliquez sur le bouton Cast et sélectionnez votre appareil Chromecast.
Composants d'application Chromecast
Le logiciel derrière Chromecast comprend les composants suivants :
-
Application Sender: Il s'agit de toute application pouvant lancer une session de diffusion et communiquer avec un récepteur. L'application de l'expéditeur peut être considérée comme la partie « côté client » de l'écosystème Chromecast.
Le plugin Chromecast active l'application émettrice dans les SDK natifs. Vous en apprendrez plus sur ce sujet.
-
Application récepteur: Il s'agit d'une application Web personnalisée hébergée sur Internet public et exécutée sur un appareil Chromecast. Il gère la communication entre l'application de l'expéditeur et l'appareil récepteur. Il peut être considéré comme une application HTML d'une seule page avec des ressources CSS et JavaScript.
Par défaut, le plugin Chromecast utilise l'application Brightcove Cast Receiver, qui est hébergée sur notre CDN. L'application du récepteur est une application web qui est chargée sur le Chromecast lors d'une session de diffusion.
Appareils Chromecast pris en charge
Les appareils suivants sont pris en charge :
- Chromecast (3e génération)
- Chromecast Ultra
- Chromecast avec Google TV
Comment ça fonctionne
L'implémentation actuelle (plugin / receiver version 2.x) utilise l'API CAF (Cast Application Framework).
Lorsque le plug-in de récepteur Chromecast est ajouté, le lecteur affichera un bouton de diffusion dans l'interface utilisateur du lecteur lorsqu'un Chromecast est disponible sur le réseau local.
Lorsque l'on clique sur ce bouton, une session de diffusion est lancée avec la vidéo en cours de chargement dans le lecteur. Voici comment cela fonctionne :
- Le plugin envoie un ensemble de paramètres au récepteur.
- Le récepteur reflète le lecteur émetteur en le chargeant à partir du CDN de Brightcove.
- Une fois chargé, le lecteur côté récepteur charge l'ID vidéo de l'API de lecture qui a été envoyé au début de la session de diffusion.
- Ensuite, le lecteur côté récepteur commence la lecture à la position de la tête de lecture du lecteur émetteur.
Ce processus est identique pour les sources non-Video Cloud, sauf qu'il n'y a pas de demande d'API Playback.
Analytique
Actuellement, du point de vue analytique, la session de distribution est traitée comme une session de lecture entièrement nouvelle.
Du point de vue UX, le spectateur verra son flux en pause sur le périphérique émetteur et reprendre sur le récepteur.
Du point de vue des données, comme nos métriques sont anonymisées par défaut, elles sont enregistrées en tant que nouveau spectateur en commençant un nouveau flux sur un appareil distinct. C'est ce qui se passe réellement.
Mise en œuvre
Pour plus de détails sur la mise en œuvre, consultez les informations suivantes :
- Android - Plugin Cast pour le SDK natif pour Android
- iOS - Plugin Google Cast pour SDK natif pour iOS
Données personnalisées
L' customData
interface fournit une méthode par laquelle les expéditeurs peuvent transmettre des données arbitraires à un récepteur Chromecast personnalisé, tel que l'application de réception de Brightcove.
Pour l'expéditeur (Web) du lecteur Brightcove, customData
il est entièrement géré par le plugin. Les intégrateurs n'ont rien à faire.
Pour tous les autres expéditeurs, tels que le SDK natif pour Android ou iOS, customData
doit être créé par l'expéditeur.
customData.accountId
(obligatoire)
Type : string
Lors de la diffusion à partir d'un lecteur web, cette opération est automatique. Tous les autres expéditeurs (par exemple, les SDK natifs) doivent définir explicitement ce paramètre.
customData.analyticsParams
Type : object
Cette propriété doit être un objet, qui peut être utilisé pour transmettre des paramètres à l'implémentation analytique sur le récepteur pour les balises envoyées à l'API de collecte de données. Il prend en charge les propriétés suivantes :
Propriété | Type | Description |
---|---|---|
analyticsParams.application |
string |
Permet de définir un identifiant d'application en texte clair. Ceci est utile pour des applications telles que Engage. |
analyticsParams.user |
string |
Permet de définir un identifiant en texte clair pour les balises envoyées à l'API de collecte de données. C'est utile pour des fonctions telles que le Cross Device Resume (XDR). |
customData.catalogParams
Type : object
Il devrait s'agir d'un catalogue d'objets de paramètres
Toutes les valeurs transmises à l'API de lecture sur le récepteur doivent provenir de cet objet.
customData.keySystems
Type : object
Lorsque vous fournissez du contenu multimédia via un objet d'informations multimédia, celui-ci peut être utilisé pour fournir des paramètres DRM dans un format identique à celui renvoyé par l'API Playback :
keySystems: {
'com.widevine.alpha': {
url: 'https://url/to/widevine/license'
}
}
customData.playerUrl
Type : string
Elle peut être utilisée pour fournir une URL de lecteur personnalisée à charger.
Lors de la diffusion à partir d'un lecteur web, le lecteur de l'expéditeur est reflété par défaut. Ce comportement peut être modifié en transmettant "playerUrl": "default"
des options (voir ci-dessus). Ceci est utile pour les tests.
Lors du casting à partir de SDK natifs, le lecteur par défaut (disponible dans le compte Players Prod) sera utilisé.