支持 聯繫支持 | 系統狀況 系統狀態
頁面內容

    嵌入API

    本主題將幫助您確定何時以及如何使用Embed API。 選擇使用 Player 配置API與嵌入式API是很重要的一個,本文檔中的內容將指導您做出這些決定。

    為什麼要使用嵌入API?

    嵌入API允許您創建特定實例的多個實例 player。 想到這一點的好方法 player/ instance關係作為父/子關係。 單 player 是父母,並且 player使用embed API創建的s是父級的子級 player。 父母 player 擁有您希望擁有的大部分屬性 player 擁有,然後您可以使用嵌入API來自定義不同子項上的屬性子集 players。 例如,您可以加載不同的媒體,也可以使用不同的插件和不同的子元素樣式 players.

    下圖有助於闡明功能。 父母的下方顯示在左側,兩個孩子 players在右邊。 注意:

    • 海報由兩個孩子繼承
    • 播放按鈕的形狀由頂部的子項繼承,而在底部的子項中覆蓋
    • 頂級子級添加一個屬性,在本例中為疊加層,父級沒有
    兒童增加財產
    兒童增加財產

    父/子關係的另一個強大功能是繼承正在進行。 下圖顯示了分配給父級的新海報,兩個子級都將繼承該配置更改。

    孩子們繼承變化
    孩子們繼承變化

    何時不使用嵌入API

    雖然有很多很好的理由可以在您的用例需要時使用嵌入的API,但也有一些很好的理由可以堅持使用常規API。 players。 這裡有一些:

    • 孩子 player不能使用編輯 Video Cloud 工作室。 您只能編輯子級 player通過 Player Management API。 您可以編輯父項 player 一個孩子 player in Video Cloud Studio,但對父項進行了更改 player 影響所有孩子 players.
    • 發布父母 player 如果你有很多孩子可能會花費很長時間 player與該父級關聯的 player。 每個孩子 player 是單獨出版的,如果您的孩子超過30個 players,您可以預期您的孩子會有一些延誤 player 出版。 這與發布30個常規規則完全相同 player在同一時間。

    鑑於上述原因,開始使用常規 players,然後在發現需要孩子時嘗試嵌入 players.

    視頻標籤數據嵌入

    父母與子女在符號上有差異 players。 標準頁內嵌入 player 代碼以以下格式顯示:

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

    data-embed 屬性確定是否 player 是父母或孩子。 如果值為 default中, player 是父母。 如果 player 是個孩子, data-embed 屬性將包含父級的ID player。 一個例子如下:

    data-embed 屬性確定是否 player 是父母或孩子。 如果值為 default中, player 是父母。 如果 player 是個孩子, data-embed 屬性將包含父級的ID player。 一個例子如下:

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

    請注意 data-player, 那就是 player ID,相同,但 data-embed 已從 default 給孩子 player的ID。

    孩子 player 網址

    你如何區分父母 player 和孩子 players? URL將不同。 例如,父母 player的網址是:

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

    使用嵌入的API創建子級後 player,孩子 player的ID添加到父母的URL中,如下所示:

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

    父母/孩子用例

    假設您使用多個視頻 players。 通常, player幾乎是相同的,但是在某些情況下,您需要調整 player 對於特殊情況。 您可以創建多個 player使用 Player 配置API POSTPATCH 方法,但這可能會導致重大的維護問題。 例如,假設您要更改所有 players。 這意味著使用 PATCH 在所有不同的地方 players。 而如果您創建了孩子 players,你只會 PATCH 父母 player和所有孩子 player會自動擁有新的海報。

    創作過程

    如果您已完成 一步步: Player 管理 您已經看到了使用curl語句將HTTP方法傳遞給 Player Management API。 此處將使用相同的方法。

    創建一個 player 您最有可能在其中使用了一些HTTP方法 Player 配置API,例如:

    • 創建 player 使用 POSThttps://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players
    • 更新 player 使用 PATCHhttps://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/configuration
    • 發布更新的 player 使用 POSThttps://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/publish

    兒童將採用類似的方法 player使用嵌入的API。 在很高的級別上,您將:

    • 創建一個孩子 player 使用 POSThttps://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/嵌入視頻。 注意:兒童 player使用embed API創建的s會在創建時自行發布,因此無需在child上發布 player 創作,僅在孩子身上 player 更新。
    • 更新孩子 player 使用 PATCHhttps://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/嵌入/ $ EMBED_ID /配置
    • 發布孩子 player 使用 POSThttps://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/嵌入/ $ EMBED_ID /發布

    以下內容詳細描述了該過程。

    創建子 player

    創造一個孩子 player 您使用HTTP POST 方法,如下所示:

        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

    對孩子的回應示例 player 創建如下:

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

    注意:孩子 player 自我在創作時發布,因此無需發布孩子 player 創建後。 您仍然必鬚髮布孩子 player 如果用 PATCH 方法。 此時,預覽信息無濟於事,因為您可以使用已發布的子級 player 創建後立即。

    您現在可以使用 url 孩子的財產 player 看結果。 在下面的示例中,孩子 player 被添加到父項 player 在分步中創建: Player 管理。 您會看到新的海報和視頻,但父級的疊加插件 player 仍然存在。

    孩子 Player 與父母的疊加
    孩子 Player 與父母的疊加

    更新孩子 player

    更新孩子 player 您使用HTTP PATCH 方法。 以下curl語句更新了 poster 屬性。 假設您已經設置了 $EMBED_ID 適當的環境變量:

        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
        

    響應提供了兩個 preview_urlpreview_embed_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>"
        }

    發布子 player

    一旦孩子 player 被更改,您將需要發布它。 確保 $EMBED_ID 設置了環境變量,然後可以發布新更改的子級 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

    響應提供了使用孩子所需的重要信息 player,就像發布一個 player 確實:

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

    顯示孩子信息

    您可以使用HTTP GET 檢索有關孩子的信息的方法 player。 curl語句的示例是:

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

    返回了大量的JSON數據。

    刪除子 players

    您也可以刪除一個孩子 player 通過使用 DELETE 方法。 這是刪除子項的curl語句示例 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

    當然,這只會影響孩子 player 而不是父母 player.


    頁面最後更新於12年2020月XNUMX日