Paper Contacter le support | état du système L'état du système
Contenu de la page

    Intégrer des API

    Cette rubrique vous aidera à décider quand et comment utiliser les API d'intégration. La décision de choisir entre l’utilisation du Player Les API de configuration par rapport aux API intégrées sont importantes et le contenu de ce document vous guidera dans ces décisions.

    Pourquoi utiliser les API intégrées?

    Les API intégrées vous permettent de créer plusieurs instances d'un particulier player. Une bonne façon de penser à ça player/ la relation d'instance est une relation parent / enfant. Le seul player est le parent, et players créés avec les API intégrées sont des enfants du parent player. Le parent player a la majeure partie des propriétés que vous souhaitez player avoir, puis vous pouvez utiliser les API intégrées pour personnaliser des sous-ensembles de propriétés sur différents enfants players. Par exemple, vous pouvez charger différents médias ou utiliser différents plugins et styles avec différents enfants players.

    Les diagrammes suivants aident à clarifier la fonctionnalité. Ci-dessous le parent est montré à gauche, et deux enfants players à droite. Observe ceci:

    • L'affiche est héritée par les deux enfants
    • La forme du bouton de lecture est héritée par l'enfant supérieur, tandis qu'elle est remplacée dans l'enfant du bas
    • L'enfant supérieur ajoute une propriété, dans ce cas une superposition, que le parent n'a pas
    L'enfant ajoute une propriété
    L'enfant ajoute une propriété

    Une autre caractéristique puissante de cette relation parent / enfant est que l'héritage est en cours. Le diagramme suivant montre une nouvelle affiche affectée au parent, et les deux enfants hériteront de ce changement de configuration.

    Enfants héritent des modifications
    Enfants héritent des modifications

    Quand ne pas utiliser les API d'intégration

    Bien qu'il existe de bonnes raisons d'utiliser les API intégrées si votre cas d'utilisation en a besoin, il existe également de bonnes raisons de s'en tenir à players. Voici quelques-uns:

    • Enfant players ne peuvent pas être modifiés à l'aide de Video Cloud Studio. Vous ne pouvez modifier que l'enfant players à travers le Player Management API. Vous pouvez modifier le parent player d'un enfant player in Video Cloud Studio, cependant, une modification apportée au parent player affecte tous les enfants players.
    • Publication d'un parent player peut prendre beaucoup de temps si vous avez beaucoup d'enfants players associé à ce parent player. Chaque enfant player est publié séparément et si vous avez plus de 30 enfants players, vous pouvez vous attendre à des retards chez votre enfant player édition. Ce serait exactement le même cas que la publication de 30 publications régulières players en même temps.

    Compte tenu des raisons ci-dessus, il peut être judicieux de commencer par utiliser régulièrement players, puis essayer les intégrations lorsque vous voyez le besoin d'un enfant players.

    intégration de données de balise vidéo

    Il existe des différences notables entre les parents et les enfants players. Intégré sur la page standard player le code apparaît dans ce format:

        <video-js
          data-account="1507807800001"
          data-player="HiAdwRZ7kK"
          data-embed="default"
          controls=""
          data-application-id=""
          class="vjs-fluid"></video-js>

    Le système data-embed L'attribut détermine si le player est un parent ou un enfant. Si la valeur est default, player est un parent. Si la player est un enfant, le data-embed l'attribut contiendra l'ID du parent player. Un exemple de cela suit:

    Le système data-embed L'attribut détermine si le player est un parent ou un enfant. Si la valeur est default, player est un parent. Si la player est un enfant, le data-embed l'attribut contiendra l'ID du parent player. Un exemple de cela suit:

        <video-js
          data-account="1507807800001"
          data-player="HiAdwRZ7kK"
          data-embed="NURK56ZSV"
          data-application-id=""
          class="video-js" controls></video-js>

    Notez que le data-player, C'est le player ID, est le même, mais le data-embed a changé de default à l'enfant playerID de.

    Enfant player URL

    Comment différenciez-vous le parent player et enfant players? Les URL seront différentes. Par exemple, un parent playerL'URL est:

        //players.brightcove.net/1507807800001/HiAdwRZ7kK_default/index.min.js

    Après avoir utilisé les API intégrées pour créer un enfant player, l'enfant playerL'identifiant a été ajouté à l'URL du parent, comme indiqué ici:

        //players.brightcove.net/1507807800001/HiAdwRZ7kK_NURK56ZSV/index.min.js

    Cas d'utilisation parent / enfant

    Supposons que vous utilisez plusieurs vidéos players. Souvent, les caractéristiques communes players sont à peu près les mêmes, mais dans certains cas, vous souhaitez modifier le player pour des cas particuliers. Vous pouvez créer plusieurs players en utilisant le Player API de configuration avec POST et PATCH méthodes, mais cela pourrait entraîner des problèmes de maintenance importants. Par exemple, supposons que vous vouliez changer l'affiche pour tous les players. Cela signifierait utiliser PATCH sur tous les différents players. Alors que si vous avez créé un enfant players, vous ne feriez que PATCH le parent player, et tout l'enfant players aurait automatiquement la nouvelle affiche.

    Processus de création

    Si vous avez fait le Pas à pas: Player des programmes vous avez vu le processus d'utilisation d'instructions curl pour communiquer des méthodes HTTP au Player Management API. La même approche sera utilisée ici.

    Créer un player vous avez probablement utilisé quelques méthodes HTTP avec le Player API de configuration, telles que:

    • Créez la player à l'aide d'un POST à https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players
    • Mettre à jour le player à l'aide d'un PATCH à https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/configuration
    • Publier la mise à jour player à l'aide d'un POST à https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/publish

    Une approche similaire sera utilisée pour les enfants players en utilisant les API intégrées. À un niveau très élevé, vous:

    • Créer un enfant player à l'aide d'un POST à https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/embarque. Remarque: enfant players créés avec les API intégrées s'auto-publient lors de la création, il n'est donc pas nécessaire de publier player création, uniquement sur enfant player mettre à jour.
    • Mettre à jour l'enfant player à l'aide d'un PATCH à https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/Embeds / $ EMBED_ID / configuration
    • Publier l'enfant player à l'aide d'un POST à https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/incorpore / $ EMBED_ID / publie

    Le contenu suivant décrit le processus en détail.

    Créer un enfant player

    Pour créer un enfant player vous utilisez un HTTP POST méthode, comme montré ici:

        curl /
        --header "Content-Type: application/json" /
        --user $EMAIL /
        --request POST /
        --data '{
        "media": {
        "sources": [
          {
            "src":"http://solutions.brightcove.com/bcls/assets/videos/BirdsOfAFeather.mp4",
            "type":"video/mp4"
          }
        ],
        "poster": {
          "highres":"http://solutions.brightcove.com/bcls/assets/images/BirdsOfAFeather.jpg"
        }
        }
          }' /
        https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/embeds

    Un exemple de réponse à l'enfant player la création est la suivante:

        {
            "id": "be864624-8d85-4dfc-8fe6-4e9dd4c70417",
            "url": "http://players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c_be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html",
            "embed_code": "<iframe src='//players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c_be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>",
            "embed_in_page": "http://players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c_be864624-8d85-4dfc-8fe6-4e9dd4c70417/in_page.embed",
            "preview_url": "http://preview-players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c/be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html",
            "preview_embed_code": "<iframe src='//preview-players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c/be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>"
        }

    Remarque: l'enfant player auto-publie à la création, il n'est donc pas nécessaire de publier l'enfant player après la création. Vous devez toujours publier l'enfant player s'il est modifié avec un PATCH méthode. À ce stade, les informations d'aperçu ne sont pas utiles car vous pouvez utiliser l'enfant publié player immédiatement après la création.

    Vous pouvez maintenant utiliser le url propriété de l'enfant player pour voir les résultats. Dans l'exemple ci-dessous l'enfant player a été ajouté au parent player créé à l'étape par étape: Player La gestion. Vous voyez la nouvelle affiche et la nouvelle vidéo, mais le plugin de superposition du parent player est toujours présent.

    Enfant Player avec superposition des parents
    Enfant Player avec superposition des parents

    Mettre à jour l'enfant player

    Pour mettre à jour l'enfant player vous utilisez un HTTP PATCH méthode. L'instruction curl suivante met à jour le poster propriété. Il est supposé que vous avez défini le $EMBED_ID variable d'environnement appropriée:

        curl
        --header "Content-Type: application/json"
        --user $EMAIL
        --request PATCH
        --data '{
        "media": {
        "poster": {
          "highres":"http://solutions.brightcove.com/bcls/assets/images/Water-Splashing.jpg"
        }
        }
          }'
        https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/embeds/$EMBED_ID/configuration
        

    La réponse fournit des informations d'aperçu à la fois pour preview_url et preview_embed_code code:

        {
            "preview_url": "http://preview-players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c/be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html",
            "preview_embed_code": "<iframe src='//preview-players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c/be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>"
        }

    Publier un enfant player

    Une fois l'enfant player est modifié, vous devrez le publier. Assurez-vous que $EMBED_ID variable d'environnement est définie et vous pouvez ensuite publier l'enfant nouvellement modifié player:

        curl
        --header "Content-Type: application/json"
        --user $EMAIL
        --request POST
        https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/embeds/$EMBED_ID/publish

    La réponse fournit les informations vitales nécessaires pour utiliser l'enfant player, un peu comme publier un player Est-ce que:

        {
            "id": "be864624-8d85-4dfc-8fe6-4e9dd4c70417",
            "url": "http://players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c_be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html",
            "embed_code": "<iframe src='//players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c_be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>",
            "embed_in_page": "http://players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c_be864624-8d85-4dfc-8fe6-4e9dd4c70417/in_page.embed"
        }

    Afficher les informations sur l'enfant

    Vous pouvez utiliser le HTTP GET méthode pour récupérer les informations sur un enfant player. Un exemple d'instruction curl est:

        curl
          --header "Content-Type: application/json"
          --user $EMAIL
          --request GET
          https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/embeds

    Une quantité assez importante de données JSON est renvoyée.

    Supprimer l'enfant players

    Vous pouvez également supprimer un enfant player En utilisant le DELETE méthode. Voici un exemple d'instruction curl pour supprimer un enfant player:

        curl
        --header "Content-Type: application/json"
        --user $EMAIL
        --request DELETE
        https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/embeds/$EMBED_ID

    Bien sûr, cela n'affectera que l'enfant player et non le parent player.


    Dernière mise à jour de la page le 12 juin 2020