Fonctions utilisateur
Voici des fonctions liées à Video Cloud ce que vous pourriez souhaiter fournir aux utilisateurs de votre CMS :
- Ajoutez de nouvelles vidéos à Video Cloud
- Remplacer une Video Cloud vidéo par une nouvelle version
- Mettre à jour les métadonnées des vidéos, telles que le titre, la description et les balises
- Supprimer des vidéos
- Créer des listes de lecture
- Changer les vidéos dans une playlist
- Supprimer des listes de lecture
- Créer des lecteurs vidéo
- Modifier les propriétés du lecteur vidéo, telles que les dimensions ou le style
- Ajouter des fonctionnalités spéciales aux lecteurs vidéo via des plugins
- Publier des vidéos uniques ou des listes de lecture
- Fournissez des données d'analyse sur les charges vidéo, les vues, les taux de lecture, l'engagement, etc.
Vous ne voudrez peut-être pas exposer toutes ces fonctionnalités à vos utilisateurs finaux. Vous ne voudrez peut-être pas les laisser supprimer des vidéos, par exemple. L'un des avantages de l'intégration Video Cloud à votre CMS plutôt que de laisser les utilisateurs aller directement à Video Cloud Studio est que vous pouvez choisir exactement quelle fonctionnalité exposer aux utilisateurs via les API Brightcove.
Authentification
Pour toutes les demandes de l'API Brightcove, l'authentification est basée sur des jetons d'accès OAuth2. Il existe un processus en deux étapes pour obtenir des jetons d'accès :
- Créez des informations d'identification client avec des autorisations pour les opérations d'API dont vous avez besoin
- Utilisez les informations d'identification du client pour créer un jeton d'accès temporaire afin d'authentifier une demande d'API
Création des identifiants client
La création d'informations d'identification client est une opération unique qui peut être effectuée via Video Cloud Studio ou le OAuth API . Quoi que vous fassiez, un client_id
et client_secret
sont renvoyés, que vous devez enregistrer pour demander des jetons d'accès.
Création d'un jeton d'accès
Les jetons d'accès temporaires sont créés à l'aide du OAuth API . Les client_id
et client_secret
doit être encodé en BASE64 et passé en tant que Basic
Chaîne d'autorisation.
Les access_token
retourné est à son tour passé dans un en-tête d'autorisation avec l'appel d'API :
Authorization: Bearer your_access_token
Les jetons d'accès sont valables 5 minutes. À moins que vous n'effectuiez une opération par lots qui effectuera des centaines d'appels d'API successifs, il est logique d'en demander simplement un nouveau pour chaque appel d'API plutôt que d'essayer de suivre le délai d'expiration.
Ajout de vidéos
Si vous souhaitez permettre aux utilisateurs d'ajouter des vidéos à Video Cloud partir de votre CMS, vous pouvez le faire en utilisant le Dynamic Ingest API . Nous vous recommandons de demander aux utilisateurs de télécharger des vidéos dans votre référentiel, qui peut être un compartiment S3 ou simplement un serveur public. Le système Dynamic Ingest peut extraire les vidéos et les ajouter au Video Cloud système grâce à un processus en deux étapes décrit ci-dessous.
Ajout d'un objet vidéo à Video Cloud
La première étape consiste à créer un objet vidéo dans le Video Cloud système en faisant une POST demande au CMS API:
https://cms.api.brightcove.com/v1/accounts/:account_id/videos
Le corps de la requête inclura des propriétés vidéo de base dans un JSON objet - au minimum, la vidéo name
, mais vous pouvez également inclure des métadonnées supplémentaires telles que description
tags
:
{
"name": "Woodpecker",
"description": "A bird that hunts insects inside wood",
"reference_id": "Bird_Woodpecker.mp4",
"tags": ["bird", "air", "nature"]
}
Ingérer la vidéo
Lorsque vous créez l'objet vidéo, l' CMS API renvoie un JSON objet contenant les propriétés vidéo. Vous allez extraire la vidéo id
de la JSON , et l'utiliser pour faire un appel Dynamic Ingest API à la demande d'ingestion et de transcodage de la vidéo :
https://ingest.api.brightcove.com/v1/accounts/ACCOUNT_ID/videos/VIDEO_ID/ingest-requests
Encore une fois, vous enverrez JSON dans le corps de la requête en spécifiant l'emplacement du fichier vidéo :
{
"master":{
"url":"https://support.brightcove.com/test-assets/videos/Great_Blue_Heron.mp4"
},
"profile":"multi-platform-extended-static",
"capture-images": true
}
Les profile
voici le profil d'ingestion qui spécifie les rendus à créer dans le processus de transcodage. Dans la plupart des cas, l'un des profils standard suivants devrait être adéquat :
Profils de livraison dynamique
multi-platform-extended-static
multi-platform-standard-static
Profils d'ingestion hérités
videocloud-default-v1 (the default)
screencast-1280
smart-player-transition
single-bitrate-high
audio-only
single-bitrate-standard
high-resolution
Toutefois, vous pouvez créer des profils d'ingeste personnalisés supplémentaires, si nécessaire, à l'aide de Ingest Profiles API ou à l'aide de Video Cloud Studio.
Ajout d'images d'affiches et de vignettes
L' capture-images
option dans le code ci-dessus indique de Video Cloud capturer des images d'affiches et de vignettes pour la vidéo au milieu du processus de transcodage. Alternativement, vous pouvez définir capture-images
à false
et ingérez des images à la place, soit en même temps que vous ingérez la vidéo, soit plus tard :
{
"master":{
"url":"https://support.brightcove.com/test-assets/videos/Great_Blue_Heron.mp4"
},
"profile":"multi-platform-extended-static",
"capture-images": false,
"poster": {
"url": "https://some.site.com/images/for_video/titmouse-poster.png",
"width": 640,
"height": 360
},
"thumbnail": {
"url": "https://some.site.com/images/for_video/titmouse-thumbnail.png",
"width": 160,
"height": 90
}
}
Voir Images et la Dynamic Ingest API pour plus de détails.
Ajout de pistes de texte pour les légendes ou les chapitres
Vous pouvez également utiliser Dynamic Ingest API pour ajouter des pistes de texte dans des fichiers WebVTT à des vidéos, que ce soit au moment de l'ingestion ou ultérieurement. Les pistes de texte sont utilisées pour ajouter légendes ou chapitres à une vidéo.
{
"master":{
"url":"https://some.site.com/videos/mp4/Bird_Woodpecker.mp4"
},
"profile":"multi-platform-extended-static",
"capture-images": false,
"poster": {
"url": "https://some.site.com/images/for_video/titmouse-poster.png",
"width": 640,
"height": 360
},
"thumbnail": {
"url": "https://some.site.com/images/for_video/titmouse-thumbnail.png",
"width": 160,
"height": 90
},
"text_tracks": [
{
"url": "https://some.site.com/captions/for_video/Water-in-Motion.vtt",
"srclang": "en",
"kind": "captions",
"label": "English",
"default": true
}
]
}
Voir Ingestion de fichiers WebVTT pour plus de détails.
Gestion des vidéos
Le vous CMS API permet de récupérer des données vidéo pour un compte. (Comme indiqué ci-dessus, il est également utilisé pour créer des objets vidéo dans le cadre du processus d'ingestion vidéo.) La demande la plus basique est la suivante :
https://cms.api.brightcove.com/v1/accounts/account_id/videos
Par défaut, cette demande renvoie un JSON tableau de 20 objets vidéo contenant une multitude de métadonnées, y compris le nom, la description, les balises, les champs personnalisés, les dates de création et de dernière modification, les URL de l'affiche et de la miniature, et bien plus encore.
Vous pouvez affiner les résultats de la requête en ajoutant un ou plusieurs des paramètres suivants à la requête :
limit
- cela détermine le nombre d'objets vidéo à renvoyer et peut être défini sur n'importe quel nombre jusqu'à 100 - la valeur par défaut est 20
offset
- cela détermine le nombre d'éléments à ignorer et est donc utilisé conjointement avec
limit
le catalogue vidéo. La valeur par défaut est 0 sort
- Cela détermine le champ de métadonnées vidéo par lequel trier le résultat - par défaut, les résultats sont triés par
updated_at
(décroissant, pour afficher d'abord les vidéos les plus récentes mises à jour)
Pour obtenir des informations détaillées sur ces paramètres, reportez-vous à la section CMS API Présentation - Paramètres.
Recherche de vidéos
Vous pouvez également rechercher des vidéos selon un large éventail de critères en utilisant le q
paramètre. Vous pouvez effectuer une recherche par champs spécifiques tels que le nom, la description et les tags, ainsi que les dates et le statut des vidéos :
https://cms.api.brightcove.com/v1/accounts/account_id/videos?q=tags:sea,mammal
Pour plus de détails et toutes les options de recherche, voir Rechercher des vidéos.
Obtenir et mettre à jour une vidéo spécifique
Pour récupérer une vidéo spécifique par son identifiant ou son identifiant de référence :
https://cms.api.brightcove.com/v1/accounts/account_id/videos/id
or
https://cms.api.brightcove.com/v1/accounts/account_id/videos/ref:reference_id
Une GET requête renvoie l'objet vidéo. Pour le mettre à jour, modifiez le JSON et renvoyez le à l'aide d'une PATCH requête à la même URL.
Listes de lecture
Les informations de liste de lecture sont également gérées CMS API à l'aide de la même manière que les informations vidéo. Notez que Video Cloud prend en charge huit types de playlists dans deux catégories :
- Listes de lecture manuelles (ou
EXPLICIT
) - contiennent un ensemble de vidéos spécifié - jusqu'à 100 vidéos peuvent être incluses
- Listes de lecture intelligentes
- créées dynamiquement à l'exécution en fonction de critères de recherche - il existe sept variétés de listes de lecture intelligentes correspondant à la façon dont les vidéos sont classées dans la liste :
ACTIVATEDOLDESTTONEWEST
ACTIVATEDNEWESTTOOLDEST
ALPHABETICAL
PLAYSTOTAL
PLAYSTRAILINGWEEK
STARTDATEOLDESTTONEWEST
STARTDATENEWESTTO_OLDEST
La limite du nombre de vidéos peut être définie sur n'importe quel nombre jusqu'à 100.
Comme pour les vidéos, vous pouvez récupérer toutes les listes de lecture, en utilisant limit
et offset
pour parcourir les résultats si le compte a un grand nombre de playlists :
https://cms.api.brightcove.com/v1/accounts/account_id/playlists
Le tableau d'objets de liste de lecture renvoyé inclura des métadonnées pour la liste de lecture, y compris le type
correspondant à l'un des types décrits ci-dessus. Si le genre est EXPLICIT
, il y aura aussi un video_ids
tableau contenant les identifiants des vidéos incluses. Si le type est l'un des types de listes de lecture intelligentes, il y aura un search
propriété contenant la chaîne de recherche qui récupère les vidéos, quelque chose comme ceci :
q=tags:fish,birds
Vous pouvez également récupérer une liste de lecture unique à l'aide des éléments id
suivants :
https://cms.api.brightcove.com/v1/accounts/account_id/playlists/playlist_id
Si vous avez besoin de récupérer l'intégralité des objets vidéo d'une playlist (pour afficher des informations sur les vidéos d'une page), il vous suffit d'ajouter /videos
à cette URL :
https://cms.api.brightcove.com/v1/accounts/account_id/playlists/playlist_id/videos
Notez que pour une liste de lecture intelligente, la demande renverra les vidéos qui correspondent actuellement aux critères de recherche, mais cela peut changer.
Création de joueurs
Les joueurs Brightcove peuvent être créés via le Player Management API . L'API vous permet de créer des lecteurs, de mettre à jour leurs propriétés et d'obtenir le code d'intégration sous la forme d'une URL, d'un iframe
balise, ou un bloc de HTML à intégrer dans la page.
Vous pouvez jusqu'à 200 joueurs par compte, mais il est généralement moins déroutant pour les utilisateurs d'avoir aussi peu de joueurs que nécessaire. Vous devriez avoir des lecteurs séparés pour lire des vidéos ou des listes de lecture uniques, mais sinon, vous n'avez besoin de lecteurs différents que lorsqu'ils seront stylisés différemment ou auront des fonctionnalités différentes ajoutées via des plugins.
Pour créer un joueur, il vous suffit de faire une POST demande au Player Management API:
https://players.api.brightcove.com/v2/accounts/account_id/players
Dans le corps de la demande, incluez la configuration du lecteur - la seule chose requise est name
:
{
"name": "Single video player for blog posts"
}
La réponse vous donnera l'identifiant du joueur, ainsi que le code d'intégration sous plusieurs formes :
{
"embed_code": "<iframe src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>",
"embed_in_page": "https://players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/in_page.embed",
"id": "de055fa4-4f09-45af-8531-419c6794ad04",
"preview_embed_code": "<iframe src='//preview-players.brightcove.net/v1/accounts/57838016001/players/de055fa4-4f09-45af-8531-419c6794ad04/preview/embeds/default/master/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>",
"preview_url": "https://preview-players.brightcove.net/v1/accounts/57838016001/players/de055fa4-4f09-45af-8531-419c6794ad04/preview/embeds/default/master/index.html",
"url": "https://players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html"
}
Pour obtenir la configuration complète du lecteur, vous faites une demande au /players
point de terminaison, mais ajoutez l'ID du joueur qui est renvoyé dans la réponse ci-dessus :
https://players.api.brightcove.com/v2/accounts/account_id/players/de055fa4-4f09-45af-8531-419c6794ad04
Vous pouvez faire une PATCH demande au même point de terminaison pour mettre à jour la configuration du lecteur.
Vous remarquerez dans la réponse ci-dessus, le preview_embed_code
et preview_url
. Pour permettre le test de nouveaux lecteurs ou de mises à jour de lecteurs, les lecteurs nouvellement créés ou mis à jour sont définis en mode aperçu pour vous permettre de le voir avant d'appliquer les modifications aux lecteurs existants. Pour pousser les changements dans la production, vous devez publier le joueur avec cette demande :
https://players.api.brightcove.com/v2/accounts/account_id/players/de055fa4-4f09-45af-8531-419c6794ad04/publish
Personnalisation des lecteurs
Les Lecteur Brightcove est construit avec des technologies Web standard : HTML, CSS et JavaScript. Vous pouvez personnaliser le lecteur en utilisant ces mêmes technologies. Cela peut être fait dans la page où le lecteur est publié, mais la meilleure pratique consiste à ajouter vos personnalisations au joueur lui-même via la configuration du joueur, en mettant à jour le lecteur via une PATCH requête au Player Management API comme expliqué dans la section précédente.
Vous pouvez également ajouter des fonctionnalités et des fonctionnalités supplémentaires au lecteur via des JavaScript plugins , et il existe une API Player étendue pour vous aider à intégrer votre code avec le lecteur. Brightcove propose un certain nombre de plugins prêts à l'emploi pour des choses telles que l'activation de la publicité, la personnalisation de l'écran de fin et l'ajout de superpositions.
Publication de vidéos
Dans la section Création de lecteurs ci-dessus, nous avons vu que lorsque vous obtenez l'objet de configuration du lecteur en utilisant le Player Management API , les données renvoyées incluent une balise iframe pour intégrer le lecteur dans une page HTML, ainsi qu'une URL pour le HTML complet si vous veulent incorporer le lecteur directement dans une page.
Pour l'intégration que vous choisissez, vous devrez ajouter un identifiant Video Cloud vidéo ou un identifiant de playlist au code intégré pour ajouter du contenu au lecteur. Le code d'intégration iframe ressemble à ceci :
<iframe
src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html'
allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
À l'URL du lecteur, vous devez ajouter le paramètre videoId={}video_id
, de sorte que le code d'intégration complet ressemblera à ceci :
<iframe
src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html?videoId=4483119716001'
allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
S'il s'agit d'un lecteur de playlist, vous utilisez le paramètre playlistId={playlist_id}
au lieu. La modification du code d'intégration dans la page est similaire.
À moins que les dimensions du lecteur ne soient fixées dans la configuration du lecteur, vous devrez également dimensionner le lecteur en ajoutant la largeur et la hauteur dans un style
attribut:
<iframe
src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html?videoId=4483119716001'
allowfullscreen webkitallowfullscreen mozallowfullscreen
style=width:640px;height:360px;></iframe>
Obtenir des rapports d'analyse
Le vous Analytics API permet de générer des rapports d'analyse par de nombreux différents dimensions
. Consultez les guides de dimensions pour plus d'informations.
Vous pouvez spécifier la plage de dates du rapport, les métriques à renvoyer et vous pouvez obtenir les données dans JSON , csv , ou xlxs format
Pour les périodes du dernier mois, vous pouvez également générer des Rapports de mission qui affichent des vues pour chaque centième partie de la vidéo.
Résumé des API
Voici un résumé des API utiles pour l'intégration avec Video Cloud.
- OAuth API
- Utilisé pour créer des informations d'identification client et des jetons d'accès pour accéder aux autres API.
- Gestion des médias
-
- Ingest Profiles API
- Utilisé pour créer des profils d'ingest personnalisés spécifiant les formats associés à créer pour les vidéos ajoutées à Video Cloud
- Dynamic Ingest API
- Utilisé pour ajouter des vidéos et des ressources multimédias connexes à Video Cloud
- CMS API
- Utilisé pour créer des objets vidéo pour l'ingestion et pour gérer des vidéos et des playlists
- Joueurs de Brightcove
-
- Le joueur de Brightcove
- Le lecteur inclut une JavaScript API pour interagir avec le lecteur lors de l'exécution
- Player Management API
- Utilisé pour créer et configurer des lecteurs, et pour obtenir le code d'intégration du lecteur
- Analytics API
- Utilisé pour obtenir des rapports d'analyse sur les performances vidéo