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

    Registre des plugins

    Dans cette rubrique, vous apprendrez comment le registre de plug-ins peut être utilisé pour suivre et gérer les plug-ins de votre Brightcove Player utilise.

    Qu'est-ce que le registre des plugins?

    Le registre de plug-in est une section du Player Management API consacré au stockage d'informations sur les plugins Brightcove. Le registre sert de référence pour toutes les versions de chaque plugin stocké, ainsi que les scripts et les feuilles de style associés à chacun. Player la configuration utilise le Registre des plugins, affichant la version actuelle du plugin et vous permettant également de spécifier une version du plugin.

    Avantages

    Les avantages du plug-in Registry for Brightcove Player les utilisateurs sont trois fois:

    • Vous pouvez voir exactement quelle version du plugin est utilisée avec votre player, ainsi que les fichiers JavaScript et CSS spécifiques associés à cette version de plug-in spécifique.
    • Vous pouvez configurer des plugins pour qu'ils soient automatiquement mis à jour lorsque de nouvelles versions sont compatibles avec votre player version.
    • Si, pour une raison quelconque, vous choisissez de player sur un spécifique player version, vos plugins resteront sur les mêmes versions spécifiques pour cette player quand il était verrouillé. Vous n'avez pas à vous soucier de la mise à niveau d'un plugin vers une version qui n'est pas compatible avec votre player version.

    Plugins éligibles actuels

    Le tableau suivant montre les plug-ins fournis par Brightcove qui fonctionnent avec le registre de plug-ins. le ID de registre de plugin sera utilisé avec player configuration en conjonction avec le Player Management API. De nombreux exemples seront présentés dans ce document.

    Nom Plugin ID de registre de plugin
    Adobe Analytics Player @ brightcove / videojs-bc-aa
    Récepteur Chromecast @ brightcove / videojs-chromecast-receiver
    Écran d'extrémité personnalisé @ brightcove / videojs-custom-endscreen
    DRM @ brightcove / videojs-drm
    Google Analytics Player @ brightcove / videojs-bc-ga
    IMA3 Publicité @ brightcove / videojs-ima3
    Recouvrir @ brightcove / videojs-overlay
    Picture-In-Picture @ brightcove / videojs-pip
    Playlist UI @ brightcove / videojs-bc-playlist-ui
    Menu de sélection de la qualité @ brightcove / videojs-qualité-menu
    Social @ brightcove / videojs-social
    SSAI @ brightcove / videojs-ssai
    Tealium Player Brancher @ brightcove / videojs-bc-tealium

    Préciser l'utilisation d'un plugin

    Pour spécifier l'utilisation d'un plugin, dans votre player création, vous fournissez simplement l'ID de registre pour le plugin souhaité. Vous devez spécifier un numéro de version, soit une version majeure qui se mettra à jour automatiquement (par exemple 2.x) ou une version mineure (par exemple 2.0.10) qui ne met pas à jour automatiquement. Les détails sur la configuration de la version apparaissent plus loin dans ce document. Vous pouvez également fournir options pour le plugin, le cas échéant.

        curl \
          --header "Content-Type: application/json" \
          --user $EMAIL \
          --request POST \
          --data '{
            "name": "Plugin Registry Test Player",
            "configuration": {
              "video_cloud": {
                "video": "4093372393001"
              },
              "plugins": [
               {
                  "registry_id": "@brightcove/videojs-custom-endscreen",
                  "version": "2.x",
                  "options": { "content": "<strong>Content</strong> for <em>custom</em> end screen" }
               }
              ]
            }
          }' \
          https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players
              

    Informations sur le créé player est retourné par le Player Management API. Vous pouvez utiliser le url valeur retournée, changez le index.html à config.json et parcourez cette URL pour voir la configuration de la publication player.

        {
          "id": "rkGD9W22Ob",
          "url": "http://players.brightcove.net/1507807800001/rkGD9W22Ob_default/index.html",
          "embed_code": "<iframe src='//players.brightcove.net/1507807800001/rkGD9W22Ob_default/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>",
          "embed_in_page": "http://players.brightcove.net/1507807800001/rkGD9W22Ob_default/in_page.embed",
          "preview_url": "http://preview-players.brightcove.net/v2/accounts/1507807800001/players/rkGD9W22Ob/preview/embeds/default/master/index.html",
          "preview_embed_code": "<iframe src='//preview-players.brightcove.net/v2/accounts/1507807800001/players/rkGD9W22Ob/preview/embeds/default/master/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>"
        }

    Dans la configuration de la publication player vous voyez les informations sur le plugin. Notez qu'une version spécifique du plugin s'affiche, ainsi que les valeurs correspondantes pour les fichiers JavaScript et CSS.

        {
          "account_id": "1507807800001",
          "compatibility": true,
          "embed_id": "default",
          "player": {
            "template": {
              "name": "single-video-template",
              "version": "6.7.0"
            }
          },
          "player_id": "SyITgzdjb",
          "player_name": "Plugin Registry Test Player",
          "plugins": [{
            "injected_version": "2.0.10",
            "name": "customEndscreen",
            "registry_id": "@brightcove/videojs-custom-endscreen",
            "version": "2.x"
          }],
          "scripts": [
            "//players.brightcove.net/videojs-custom-endscreen/2.0.10/videojs-custom-endscreen.min.js"
          ],
          "stylesheets": [
            "//players.brightcove.net/videojs-custom-endscreen/2.0.10/videojs-custom-endscreen.css"
          ],
          "updated_at": "2017-09-26T17:39:10.080Z",
          "video_cloud": {
            "policy_key": "BCpkADawqM3hOj9I_wRb6jx7SLoklIm8eiW-MH1C0CO5xnf8ndABL7WJQOVdWIusPlnfKUD5EZvjHyJOQGeCFndODaM7CRz4h4GxUTLN3OmO7dTcLnxS3cYrXOZx4eaqaSbVFDx1yFTvWX7m",
            "video": "4093372393001"
          }
        }

    Spécifiez une version majeure spécifique

    Vous pouvez configurer un player d'utiliser la dernière version du plugin pour un majeur version compatible avec le player vous utilisez. Lorsque vous effectuez cette opération et que des versions mineures du plug-in sont publiées, le plug-in sera automatiquement mis à jour vers la dernière version mineure.

    Par exemple, si vous voulez que votre player pour contenir la dernière version compatible du plug-in d'écran personnalisé pour version majeure 2 du plugin vous utiliseriez ce qui suit:

        curl \
          --header "Content-Type: application/json" \
          --user $EMAIL \
          --request POST \
          --data '{
            "name": "Plugin Registry Test Player",
            "configuration": {
              "video_cloud": {
                "video": "4093372393001"
              },
              "plugins": [
                {
                  "registry_id": "@brightcove/videojs-custom-endscreen",
                  "version": "2.x"
                }
              ]
            }
          }' \
          https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players

    La configuration résultante ressemblera à ceci:

        "plugins": [{
          "injected_version": "2.0.10",
          "name": "customEndscreen",
          "registry_id": "@brightcove/videojs-custom-endscreen",
          "version": "2.x"
        }],
        "scripts": [
          "//players.brightcove.net/videojs-custom-endscreen/2.0.10/videojs-custom-endscreen.min.js"
        ],
        "stylesheets": [
          "//players.brightcove.net/videojs-custom-endscreen/2.0.10/videojs-custom-endscreen.css"
        ],

    Spécifiez une version spécifique

    Vous pouvez spécifier une version spécifique du plugin à utiliser. Si vous faites cela, le plugin ne sera pas mis à jour automatiquement, vous devrez donc le mettre à jour manuellement si nécessaire.

    Pour verrouiller une version du plugin, spécifiez simplement la version lors de la création du player:

        curl \
          --header "Content-Type: application/json" \
          --user $EMAIL \
          --request POST \
          --data '{
            "name": "Plugin Registry Test Player",
            "configuration": {
              "video_cloud": {
                "video": "4093372393001"
              },
              "plugins": [
                {
                  "registry_id": "@brightcove/videojs-overlay",
                  "version": "1.0.2"
                }
              ]
            }
          }' \
          https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players
              

    Le système player la configuration reflétera la version spécifique, ainsi que dans les fichiers JavaScript et CSS:

        "plugins": [{
          "name": "overlay",
          "registry_id": "@brightcove/videojs-overlay",
          "version": "1.0.2"
        }],
        "scripts": [
          "//players.brightcove.net/videojs-overlay/1.0.2/videojs-overlay.min.js"
        ],
        "stylesheets": [
          "//players.brightcove.net/videojs-overlay/1.0.2/videojs-overlay.css"
        ],
              

    Missions non compatibles

    Si vous essayez d'assigner un plugin incompatible à un playerou modifiez la version d'un player donc un plugin précédemment attribué n'est plus compatible, des erreurs se produiront. Les erreurs sont détaillées ici.

    Attribuer un plugin à un non compatible player

    Si à tout moment, soit dans player création ou mise à jour, vous essayez de spécifier une version de plugin non compatible avec un player version, vous obtiendrez une erreur. Par exemple, voici une réponse de l'API lorsque vous essayez d'attribuer un ancien plugin non compatible à un nouveau player:

        {
          "message": "There are no versions of the plugin that match the specified major version. The major version specified was 1.x for plugin @brightcove/videojs-bc-playlist-ui",
          "error_code": "PLAYER_MANAGEMENT_ERROR",
        }
              

    Modifier player version non compatible avec le plugin

    Si vous essayez de changer la version d'un fichier existant player, et le player possède déjà un plugin qui n'est pas compatible avec la nouvelle version du player, vous obtiendrez une erreur similaire à la suivante:

        {
          "error_code":"APPLICATION_ERROR",
          "message":"plugin \"@brightcove/videojs-ima3\" is not compatible with template 5.28.1"
        }
        

    Studio configuré plugin

    Si un plugin est chargé via Studio, le plugin reflétera les nouvelles fonctionnalités du plugin Registry:

        {
          "account_id": "1507807800001",
          "compatibility": true,
          "embed_id": "default",
          "player": {
            "template": {
              "name": "single-video-template",
              "version": "6.7.0"
            }
          },
          "player_id": "SJajDfuiW",
          "player_name": "Plugin Registry Studio Configuration",
          "plugins": [{
            "injected_version": "2.0.10",
            "name": "customEndscreen",
            "options": {
              "content": "<h3>This is the endscreen content</h3>"
            },
            "registry_id": "@brightcove/videojs-custom-endscreen",
            "version": "2.x"
          }],
          "scripts": [
            "//players.brightcove.net/videojs-custom-endscreen/2.0.10/videojs-custom-endscreen.min.js"
          ],
          "stylesheets": [
            "//players.brightcove.net/videojs-custom-endscreen/2.0.10/videojs-custom-endscreen.css"
          ],
          "updated_at": "2017-09-26T18:09:31.940Z",
          "video_cloud": {
            "policy_key": "BCpkADawqM3YPJvvfxBgJNEGrPjTPoOw0LyCbiTPnDGtAVExTzXeAW3hcRtPpS8tNeSiA9MosLG076eMXWO8E2Lxv-V7mq1oTIgqK7Xf0HBP_TEm1i-e5zRN_VIW_SjFagYpRxuoM8btiEoD",
            "video": null
          }
        }
              

    Comme vous pouvez le voir dans le player configuration, un plugin chargé dans Studio sera mis à jour en utilisant le comportement de la version principale, c'est-à-dire que les mises à jour de version mineures seront automatiquement appliquées.

    Mise à jour des informations de registre

    Vous pouvez mettre à jour les informations de registre du plugin pour un player en utilisant des procédures standard. Par exemple, l'instruction curl suivante utilise HTTP PATCH méthode pour changer un plugin d'une version spécifique au comportement de mise à jour de version majeure:

        curl \
          --header "Content-Type: application/json" \
          --user $EMAIL \
          --request PATCH \
          --data '{
            "plugins": [{
              "registry_id": "@brightcove/videojs-custom-endscreen",
              "version": "2.x"
            }]
          }' \
          https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/configuration
              

    N'oubliez pas, vous devez publier votre player après avoir fait un changement.

    API de registre de plugin

    Deux nouveaux terminaux ont été ajoutés à la Player Management API qui permettent la récupération des informations de plug-in à partir du registre, qui fournissent des fonctionnalités pour:

    • Récupérer tous les plugins dans le registre.
    • Récupérer des informations sur un plugin spécifique.

    Obtenez tous les plugins

    Utilisez ce qui suit pour récupérer des informations sur les plugins actuellement dans le registre.

        curl \
          --header "Content-Type: application/json" \
          --user $EMAIL \
          --request GET \
          https://players.api.brightcove.com/v2/plugins
              

    L'information retournée ressemblera à ceci:

        [{
          "documentation": "https://support.brightcove.com/configuring-adobe-analytics-event-tracking",
          "description": "Adobe Analytics Player Plugin",
          "id": "@brightcove/videojs-bc-aa",
          "name": "bcAa",
          "current_version": "1.x"
        }, {
          "documentation": "https://support.brightcove.com/configuring-google-analytics-event-tracking",
          "description": "Google Analytics Player Plugin",
          "id": "@brightcove/videojs-bc-ga",
          "name": "bcGa",
          "current_version": "1.x"
        }, {
          "documentation": "https://support.brightcove.com/google-tag-manager-plugin-brightcove-player",
          "description": "Google Tag Manager Player Plugin",
          "id": "@brightcove/videojs-bc-gtm",
          "name": "bcGtm",
          "current_version": "1.x"
        }, {
          "documentation": "https://support.brightcove.com/playlist-ui-plugin",
          "description": "Brightcove customizations to videojs-playlist-ui",
          "id": "@brightcove/videojs-bc-playlist-ui",
          "name": "bcPlaylistUi",
          "current_version": "3.x"
        }, {
          "documentation": "https://support.brightcove.com/tealium-plugin-brightcove-player",
          "description": "Tealium Player Plugin",
          "id": "@brightcove/videojs-bc-tealium",
          "name": "bcTealium",
          "current_version": "1.x"
        }, {
          "documentation": "https://support.brightcove.com/beta-chromecast-plugin-brightcove-player",
          "description": "A Chromecast Receiver plugin for the Brightcove Player",
          "id": "@brightcove/videojs-chromecast-receiver",
          "name": "chromecastReceiver",
          "current_version": "1.x"
        }, {
          "documentation": "https://support.brightcove.com/custom-endscreen-plugin",
          "description": "Custom endscreens for video.js.",
          "id": "@brightcove/videojs-custom-endscreen",
          "name": "customEndscreen",
          "current_version": "2.x"
        }, {
          "documentation": "https://support.brightcove.com/configuring-brightcove-player-drm",
          "description": "Cross-browser support for MPEG-DASH w/ DRM using dash.js and silverlight and HLS Fairplay DRM",
          "id": "@brightcove/videojs-drm",
          "name": "eme",
          "current_version": "5.x"
        }, {
          "documentation": "https://support.brightcove.com/advertising-ima3-plugin",
          "description": "Google Interactive Media Ads (IMA) v3 support for video.js",
          "id": "@brightcove/videojs-ima3",
          "name": "ima3",
          "current_version": "3.x"
        }, {
          "documentation": "https://support.brightcove.com/display-overlay-plugin",
          "description": "Overlay for video.js.",
          "id": "@brightcove/videojs-overlay",
          "name": "overlay",
          "current_version": "2.x"
        }, {
          "documentation": "https://support.brightcove.com/picture-picture-plugin-aka-floating-or-pinned",
          "description": "A plugin for enabling a Picture-In-Picture mode for the Brightcove Player",
          "id": "@brightcove/videojs-pip",
          "name": "pip",
          "current_version": "1.x"
        }, {
          "documentation": "https://support.brightcove.com/manual-rendition-selection-plugin",
          "description": "Quality Selection Menu UI",
          "id": "@brightcove/videojs-quality-menu",
          "name": "qualityMenu",
          "current_version": "1.x"
        }, {
          "documentation": "https://support.brightcove.com/social-media-plugin",
          "description": "Social sharing integrations for video.js.",
          "id": "@brightcove/videojs-social",
          "name": "social",
          "current_version": "3.x"
        }, {
          "documentation": "https://support.brightcove.com/advertising-ssai-plugin",
          "description": "A plugin for the Brightcove Player implementing playback of SSAI streams.",
          "id": "@brightcove/videojs-ssai",
          "name": "ssai",
          "current_version": "1.x"
        }]
              

    Obtenir des informations spécifiques sur le plugin

    Utilisez ce qui suit pour récupérer des informations sur un plugin spécifique. Notez que le nom du plugin doit être codé en URL, donc au lieu de @brightcove/videojs-ima3 utilisation %40brightcove%2fvideojs-ima3 .

        curl \
          --header "Content-Type: application/json" \
          --user $EMAIL \
          --request GET \
          https://players.api.brightcove.com/v2/plugins/%40brightcove%2fvideojs-ima3
              

    L'information retournée ressemblera à ceci:

        {
          "versions": [{
            "scripts": ["//players.brightcove.net/videojs-ima3/3/videojs.ima3.min.js"],
            "stylesheets": ["//players.brightcove.net/videojs-ima3/3/videojs.ima3.min.css"],
            "version_number": "3.x",
            "minimum_template_version": "6.0.0"
          }, {
            "minimum_template_version": "5.0.0",
            "version_number": "2.x",
            "stylesheets": ["//players.brightcove.net/videojs-ima3/2/videojs.ima3.min.css"],
            "scripts": ["//players.brightcove.net/videojs-ima3/2/videojs.ima3.min.js"]
          }, {
            "minimum_template_version": "1.14.0",
            "version_number": "1.x",
            "stylesheets": ["//players.brightcove.net/videojs-ima3/1/videojs.ima3.min.css"],
            "scripts": ["//players.brightcove.net/videojs-ima3/1/videojs.ima3.min.js"]
          }],
          "documentation": "https://support.brightcove.com/advertising-ima3-plugin",
          "description": "Google Interactive Media Ads (IMA) v3 support for video.js",
          "id": "@brightcove/videojs-ima3",
          "name": "ima3",
          "current_version": "3.x"
        }

    Bien que non montré dans cette réponse, vous pouvez également voir un before_template-version propriété et valeur correspondante. Cela apparaîtra pour les anciens plugins et définit la dernière player version du modèle avec laquelle cette version du plugin est compatible. le minimum_template_version et before_template-version travailler ensemble pour définir la gamme de player versions de modèle avec lesquelles le plugin est compatible.


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