assistance Contacter le support | Étatétat du système du système
Contenu de la page

    Intégration de votre CMS avec Video Cloud

    Dans cette rubrique, vous découvrirez les opérations de base liées à l'intégration de Brightcove Video Cloud à un CMS. Il répertorie les fonctions typiques que les utilisateurs exécutent dans le CMS et les opérations d'API Brightcove qui peuvent être utilisées pour fournir cette fonctionnalité.

    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 sélections
    • Modifier les vidéos dans une liste de lecture
    • Supprimer les sélections
    • 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 ou des listes de lecture uniques
    • Fournir des données analytiques sur les charges vidéo, les vues, les taux de lecture, l'engagement, etc.

    Vous ne souhaitez 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 d'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 :

    1. Créez des informations d'identification client avec des autorisations pour les opérations API dont vous avez besoin
    2. Utiliser les informations d'identification du client pour créer un jeton d'accès temporaire pour authentifier une demande d'API

    Création d'informations d'identification 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 . Cependant, 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 . Le client_id et client_secret doit être codé en Base64 et transmis en tant que chaîne Basic d'autorisation.

    Le access_token retourné est transmise dans un en-tête Authorization avec l'appel API :

        >Authorization: Bearer your_access_token
        
        

    Les jetons d'accès sont valables pendant 5 minutes. Sauf si vous effectuez une sorte d'opération par lots qui fera des centaines d'appels d'API successifs, il est logique de simplement demander un nouveau pour chaque appel d'API plutôt que d'essayer de garder une trace du délai d'attente.

    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 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"]
        }
        
        

    Ingestion de 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":"http://learning-services-media.brightcove.com/videos/mp4/Bird_Woodpecker.mp4"
          },
          "profile":"multi-platform-extended-static",
          "capture-images": true
        }
        
        

    profile Voici le profil Ingest qui spécifie les formats associés à 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'ingeste 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'affiche 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 capture-images définir false et ingérer des images à la place, soit en même temps que vous ingérez la vidéo ou plus tard :

        {
        "master":{
        "url":"http://learning-services-media.brightcove.com/videos/mp4/Bird_Woodpecker.mp4"
        },
        "profile":"multi-platform-extended-static",
        "capture-images": false,
        "poster": {
        "url": "http://learning-services-media.brightcove.com/images/for_video/titmouse-poster.png",
        "width": 640,
        "height": 360
        },
        "thumbnail": {
        "url": "http://learning-services-media.brightcove.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 sous-titres 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 permettent d'ajouter des légendes ou des chapitres à une vidéo.

        {
        "master":{
        "url":"http://learning-services-media.brightcove.com/videos/mp4/Bird_Woodpecker.mp4"
        },
        "profile":"multi-platform-extended-static",
        "capture-images": false,
        "poster": {
        "url": "http://learning-services-media.brightcove.com/images/for_video/titmouse-poster.png",
        "width": 640,
        "height": 360
        },
        "thumbnail": {
        "url": "http://learning-services-media.brightcove.com/images/for_video/titmouse-thumbnail.png",
        "width": 160,
        "height": 90
        },
        "text_tracks": [
        {
        "url": "http://learning-services-media.brightcove.com/captions/for_video/Water-in-Motion.vtt",
        "srclang": "en",
        "kind": "captions",
        "label": "English",
        "default": true
        }
        ]
        }
        
        

    Pour plus de détails, reportez-vous à la section Ingesting WebVTT Files .

    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 requête 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 demande en ajoutant un ou plusieurs des paramètres suivants à la demande :

    limit
    cela détermine le nombre d'objets vidéo à retourner, 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é avec pour la page limit à travers le catalogue vidéo - la valeur par défaut est 0
    sort
    cela détermine le champ de métadonnées vidéo pour trier le résultat par - par défaut, les résultats sont triés par updated_at (décroissant, pour afficher d'abord les dernières vidéos 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 à l'aide du q paramètre. Vous pouvez effectuer des recherches par champs spécifiques tels que le nom, la description et les balises, ainsi que les dates et l'état des vidéos :

        https://cms.api.brightcove.com/v1/accounts/account_id/videos?q=tags:sea,mammal
        
        

    Pour plus d'informations et toutes les options de recherche, reportez-vous à la section 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 EXPLICIT( ou)
    contiennent un ensemble de vidéos spécifié - jusqu'à 100 vidéos peuvent être incluses
    Sélections intelligentes
    construit dynamiquement au moment de l'exécution en fonction des critères de recherche - il existe sept variétés de playlists 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 à n'importe quel nombre jusqu'à 100.

    Comme pour les vidéos, vous pouvez récupérer toutes les playlists, à l'aide limit et offset à la page des résultats si le compte dispose d'un grand nombre de playlists :

        https://cms.api.brightcove.com/v1/accounts/account_id/playlists
        
        

    Le tableau renvoyé d'objets de la liste de lecture inclura des métadonnées pour la liste de lecture, y compris celle type correspondant à l'un des types décrits ci-dessus. Si le type est EXPLICIT, il y aura également un video_ids tableau contenant les identifiants des vidéos incluses. Si le type est l'un des types de liste de lecture intelligente, il y aura une 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 seule playlist par son id:

        https://cms.api.brightcove.com/v1/accounts/account_id/playlists/playlist_id
        
        

    Si vous devez récupérer les objets vidéo complets d'une playlist (pour afficher les informations sur les vidéos sur 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 renvoie les vidéos qui correspondent aux critères de recherche actuellement, mais cela peut changer.

    Création de lecteurs

    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 intégré sous la forme d'une URL, d'une iframe balise ou d'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 autant de joueurs que vous en avez absolument besoin. Vous devriez avoir des lecteurs séparés pour lire des vidéos individuelles ou des playlists, mais sinon vous n'avez besoin que de joueurs différents lorsqu'ils seront stylisés différemment ou si des fonctionnalités différentes sont 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 requête, incluez la configuration du joueur - la seule chose requise est un 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 joueur, vous faites une demande au /players point de terminaison, mais ajoutez l'ID de joueur qui est retourné 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 des nouveaux joueurs ou des mises à jour de joueurs, les joueurs nouvellement créés ou mis à jour sont configurés en mode prévisualisation afin de vous permettre de les voir avant d'apporter des modifications aux joueurs existants. Pour introduire des modifications dans la production, vous devez publier le lecteur avec cette demande :

        https://players.api.brightcove.com/v2/accounts/account_id/players/de055fa4-4f09-45af-8531-419c6794ad04/publish
        
        

    Personnalisation des joueurs

    Le lecteur Brightcove est construit avec des technologies web standard : HTML, CSS et JavaScript. Vous pouvez personnaliser le lecteur à l'aide de 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.

    Publier des 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 intégré 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 liste de lecture, vous utilisez le paramètre à la playlistId={playlist_id} place. La modification du code d'intégration dans la page est similaire.

    À moins que les dimensions du joueur ne soient fixées dans la configuration du joueur, vous devrez également dimensionner le joueur en ajoutant de la largeur et de 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 Analytics

    Le vous Analytics API permet de générer des rapports d'analyse par de nombreux différents dimensions. Pour plus d'informations, reportez-vous aux Guides de dimension .

    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 d'engagement détaillés 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
    Permet de créer des informations d'identification client et d'accéder aux jetons 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
    Lecteurs 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 joueurs, et pour obtenir le code d'intégration du lecteur
    Analytics API
    Utilisé pour obtenir des rapports d'analyse sur les performances vidéo