지원 지원 문의 | 시스템 상태 시스템 상태
페이지 내용

    플러그인 레지스트리

    이 항목에서는 플러그인 레지스트리를 사용하여 플러그인을 추적하고 관리하는 방법을 배우게됩니다. 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 플러그인과 호환되는 템플릿 버전.


    페이지 최종 업데이트 28 Sep 2020