Fonctions utilisateur
Vous trouverez ci-dessous les fonctions liées à Nuage vidéo que vous pourriez vouloir fournir aux utilisateurs de votre CMS :
- Ajouter de nouvelles vidéos à Nuage vidéo
- Remplacer un Nuage vidéo vidéo avec 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 Nuage vidéo avec votre CMS plutôt que de laisser les utilisateurs accéder directement à Nuage vidéo Studio est que vous pouvez choisir exactement les fonctionnalités à 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 Nuage vidéo Studio ou la API OAuth . 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 API OAuth . 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 à l'aide du 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 Nuage vidéo système par le biais d'un processus en deux étapes décrit ci-dessous.
Ajout d'un objet vidéo à Nuage vidéo
La première étape consiste à créer un objet vidéo dans le système Video Cloud en faisant une POST
demande à l'API CMS :
https://cms.api.brightcove.com/v1/accounts/:account_id/videos
Le corps de la requête inclura les propriétés vidéo de base dans un objet JSON - au minimum, la vidéo name
, mais vous pouvez également inclure des métadonnées supplémentaires telles qu'une description
et 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, le CMS API renvoie un objet JSON contenant les propriétés vidéo. Vous allez extraire la vidéo id
du 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 précisant l'emplacement du fichier vidéo :
{
"master":{
"url":"http://some.site.com/videos/mp4/Bird_Woodpecker.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
Cependant, vous pouvez créer des profils d'ingestion personnalisés supplémentaires, si nécessaire, à l'aide de la Ingérer l'API des profils ou en utilisant Nuage vidéo Studio.
Ajout d'images d'affiches et de vignettes
Les capture-images
option dans le code ci-dessus indique Nuage vidéo pour capturer des affiches et des vignettes pour la vidéo à mi-parcours pendant le 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":"http://some.site.com/videos/mp4/Bird_Woodpecker.mp4"
},
"profile":"multi-platform-extended-static",
"capture-images": false,
"poster": {
"url": "http://some.site.com/images/for_video/titmouse-poster.png",
"width": 640,
"height": 360
},
"thumbnail": {
"url": "http://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":"http://some.site.com/videos/mp4/Bird_Woodpecker.mp4"
},
"profile":"multi-platform-extended-static",
"capture-images": false,
"poster": {
"url": "http://some.site.com/images/for_video/titmouse-poster.png",
"width": 640,
"height": 360
},
"thumbnail": {
"url": "http://some.site.com/images/for_video/titmouse-thumbnail.png",
"width": 160,
"height": 90
},
"text_tracks": [
{
"url": "http://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 requête 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 vignette, 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. Noter que Nuage vidéo prend en charge huit types de listes de lecture 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 l' API Player Management. 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 à l'API Player Management :
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": "http://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": "http://preview-players.brightcove.net/v1/accounts/57838016001/players/de055fa4-4f09-45af-8531-419c6794ad04/preview/embeds/default/master/index.html",
"url": "http://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 lecteur, en mettant à jour le lecteur via une PATCH
requête à l'API de gestion du lecteur comme expliqué dans la section précédente.
Vous pouvez également ajouter des fonctionnalités et des fonctionnalités supplémentaires au lecteur via JavaScript plug-ins , et il existe une vaste API de lecteur 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 le Section Création de joueurs ci-dessus, nous avons vu que lorsque vous obtenez l'objet de configuration du lecteur en utilisant le API de gestion des joueurs , les données renvoyées incluent une balise iframe pour intégrer le lecteur dans une page HTML, ainsi qu'une URL pour le code HTML complet si vous souhaitez intégrer le lecteur directement dans une page.
Quelle que soit l'intégration que vous choisissez, vous devrez ajouter un Nuage vidéo l'identifiant de la vidéo ou l'identifiant de la liste de lecture au code d'intégration 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 mesures à renvoyer, et vous pouvez obtenir les données dans JSON
, <code">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 Nuage vidéo.
- API OAuth
- 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
-
- Ingérer l'API des profils
- Utilisé pour créer des profils d'ingestion personnalisés spécifiant les rendus à créer pour les vidéos ajoutées à Nuage vidéo
- API d'ingestion dynamique
- Utilisé pour ajouter des vidéos et des ressources multimédias connexes à Nuage vidéo
- API CMS
- 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 comprend un JavaScript API pour interagir avec le lecteur lors de l'exécution
- API de gestion des joueurs
- Utilisé pour créer et configurer des lecteurs, et pour obtenir le code d'intégration du lecteur
- API d'analyse
- Utilisé pour obtenir des rapports d'analyse sur les performances vidéo