지원 지원 문의 | 시스템 상태 시스템 상태

플러그인 레지스트리

이 항목에서는 플러그인 레지스트리를 사용하여 플러그인을 추적하고 관리하는 방법을 배우게됩니다. Brightcove Player 사용 중입니다.

플러그인 레지스트리 란 무엇입니까?

플러그인 레지스트리는 Player Management API Brightcove 플러그인에 대한 정보를 저장하는 데 전념했습니다. 레지스트리는 각각의 저장된 플러그인의 모든 버전에 대한 참조 및 각각과 관련된 스크립트 및 스타일 시트를 제공합니다. Player 구성은 플러그인 레지스트리를 활용하여 현재 플러그인 버전을 표시하며 플러그인 버전을 지정할 수도 있습니다.

장점

플러그인 레지스트리의 장점 Brightcove Player 사용자는 세 배입니다.

  • 어떤 버전의 플러그인이 사용 중인지 정확히 확인할 수 있습니다. player, 특정 플러그인 버전과 관련된 특정 JavaScript 및 CSS 파일.
  • 호환되는 새 버전이 출시되면 플러그인이 자동으로 업데이트되도록 구성 할 수 있습니다 player 번역.
  • 어떤 이유로 든 당신이 player 특정에 player 버전에서 플러그인은 해당 버전과 동일한 특정 버전으로 유지됩니다. player 잠겨있을 때. 플러그인이 호환되지 않는 버전으로 업그레이드되는 것에 대해 걱정할 필요가 없습니다. player 번역.

현재 적격 인 플러그인

다음 표는 플러그인 레지스트리와 함께 작동하는 Brightcove 제공 플러그인을 보여줍니다. 그만큼 플러그인 레지스트리 ID 와 함께 사용됩니다 player 와 함께 구성 Player Management API. 이 문서에는 수많은 예제가 나와 있습니다.

플러그인 이름 플러그인 레지스트리 ID
Adobe Analytics Player @ brightcove / videojs-bc-aa
Chromecast 수신기 @ brightcove / videojs-chromecast- 수신자
사용자 정의 엔드 스크린 @ brightcove / videojs-custom-endscreen
DRM @ 브라이트 코브 / videojs-drm
Google 웹 로그 분석 Player @ brightcove / videojs-bc-ga
IMA3 광고 @ brightcove / videojs-ima3
오버레이 @ brightcove / videojs-overlay
사진 속의 사진 @ brightcove / videojs-pip
재생 목록 UI @ brightcove / videojs-bc-playlist-ui
품질 선택 메뉴 @ brightcove / videojs-quality-menu
Social @ brightcove / videojs-social
SSAI @ brightcove / videojs-ssai
Tealium Player 플러그인 @ brightcove / videojs-bc-tealium

플러그인 사용 지정

플러그인 사용을 지정하려면 player 원하는 플러그인에 대한 레지스트리 ID를 제공하기 만하면됩니다. 자동 업데이트 할 주 버전 인 버전 번호를 지정해야합니다 (예 : 2.x) 또는 부 버전 (예 : 2.0.10) 자동 업데이트되지 않습니다. 버전 설정에 대한 자세한 내용은이 문서 뒷부분에 나와 있습니다. 당신은 또한 options 있는 경우 플러그인을위한

    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
          

생성 된 정보 player 에 의해 반환 Player Management API. 당신은을 사용할 수 있습니다 URL 값이 반환되면 index.html 페이지config.json 해당 URL을 탐색하여 게시 된 구성을 확인하십시오. 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>"
    }

게시 된 구성에서 player 플러그인에 대한 정보가 표시됩니다. JavaScript 및 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"
      }
    }

특정 주요 버전 지정

당신은 구성 할 수 있습니다 player 특정 버전의 플러그인을 사용하려면 주요한 와 호환되는 버전 player 당신은 사용하고 있습니다. 이 작업을 수행하고 마이너 버전의 플러그인이 릴리스되면 플러그인이 자동으로 최신 마이너 버전으로 업데이트됩니다.

예를 들어 원하는 경우 player 최신 호환 버전의 맞춤 엔드 스크린 플러그인을 포함 메이저 버전 2 플러그인을 사용하면 다음을 사용하게됩니다.

    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

결과 구성은 다음과 유사하게 나타납니다.

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

특정 버전 지정

사용할 특정 플러그인 버전을 지정할 수 있습니다. 이렇게하면 어떤 상황에서도 플러그인이 자동으로 업데이트되지 않으므로 필요한 경우 수동으로 업데이트해야합니다.

플러그인 버전을 잠 그려면 플러그인을 만들 때 버전을 지정하십시오. 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
          

그리고, player 구성은 JavaScript 및 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"
    ],
          

호환되지 않는 과제

호환되지 않는 플러그인을 player또는 버전을 변경하십시오. player 이전에 할당 된 플러그인은 더 이상 호환되지 않으므로 오류가 발생합니다. 오류는 여기에 자세히 설명되어 있습니다.

호환되지 않는 플러그인 할당 player

언제라도 player 생성 또는 업데이트 할 때 호환되지 않는 플러그인 버전을 지정하려고합니다. player 버전에 오류가 발생합니다. 예를 들어, 호환되지 않는 오래된 플러그인을 새 플러그인에 할당하려고 할 때 API의 응답입니다. 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",
    }
          

변화 player 플러그인과 호환되지 않는 버전

기존 버전을 변경하려고하면 player및 player 이미 새로 할당 된 버전과 호환되지 않는 플러그인이 있습니다. player, 다음과 유사한 오류가 발생합니다.

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

Studio에서 설정 한 플러그인

Studio를 통해 플러그인이로드 된 경우 플러그인은 플러그인 레지스트리에 새로운 기능을 반영합니다.

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

당신은에서 볼 수 있듯이 player 구성에서 Studio에로드 된 플러그인은 메이저 버전 동작을 사용하여 업데이트됩니다. 즉, 마이너 버전 업데이트가 자동으로 적용됩니다.

레지스트리 정보 업데이트 중

플러그인 레지스트리 정보를 업데이트 할 수 있습니다 player 표준 절차를 사용합니다. 예를 들어 다음 curl 문은 HTTP를 사용합니다. PATCH 플러그인을 특정 버전에서 주요 버전 업데이트 동작으로 변경하는 방법 :

    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
          

기억해야합니다. player 변경 후.

플러그인 레지스트리 API

두 개의 새로운 엔드 포인트가 Player Management API 레지스트리에서 플러그인 정보를 검색 할 수있게 해주는 기능으로, 다음과 같은 기능을 제공합니다.

  • 레지스트리의 모든 플러그인을 검색하십시오.
  • 특정 플러그인에 대한 정보를 검색하십시오.

모든 플러그인 가져 오기

다음을 사용하여 현재 레지스트리에있는 플러그인에 대한 정보를 검색하십시오.

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

반환 된 정보는 다음과 유사하게 나타납니다.

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

특정 플러그인 정보 얻기

다음을 사용하여 특정 플러그인에 대한 정보를 검색하십시오. 플러그인 이름은 인코딩 된 URL이어야하므로 대신 @brightcove/videojs-ima3 사용 %40brightcove%2fvideojs-ima3 .

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

반환 된 정보는 다음과 유사하게 나타납니다.

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

이 응답에는 나와 있지 않지만, before_template-version 속성 및 해당 값. 이전 플러그인에 표시되며 최신 플러그인을 설정합니다 player 해당 플러그인 버전과 호환되는 템플릿 버전. 그만큼 minimum_template_version before_template-version 범위를 설정하기 위해 협력 player 플러그인과 호환되는 템플릿 버전.


12 년 2020 월 XNUMX 일에 마지막으로 업데이트 된 페이지