Paper Contacter le support | état du système L'état du système

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 d'implants dentaires 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