サポート サポート問い合わせ先 | システムステータス システムステータス
ページ内容

    メディアの共有

    このトピックでは、1つのビデオからビデオを共有する方法を学習します Video Cloud を使用して別のアカウントに CMS API.

    賃貸システムの概要

    メディアの共有は、 Video Cloud サイト運営者が他のサイト運営者と動画を共有できるため、複数のアカウントにまたがる動画を簡単に管理できます。 たとえば、サイト運営者はビデオコンテンツのマスターアカウントを保持し、ビデオを他の部門や組織の子会社に共有することができます。

    すべてのメディア共有操作はStudioでも実行できます。 見る メディア共有設定の管理.

    メディアと請求の共有

    共有メディアの課金の仕組みについては、以下を参照してください。 メディアモジュールを使用したメディア共有.

    用語

    メディア共有では、マスターアカウント(動画を共有)と1つ以上のアフィリエイトアカウント(共有ビデオを受け取る)との間には関係があります。

    メディア共有の用語
    アカウント 説明
    マスター 元の動画を作成したアカウント。

    マスターはコンテンツを所有しており、アフィリエイトにコンテンツを設定、管理、提供する責任があります。

    アフィリエイト 動画を受信して​​いるアカウント。

    アフィリエイトは、マスターから共有されたコンテンツを受け入れることができます。

    チャネル コンテンツがマスターから任意の数のアフィリエイトに共有されるパイプライン。 メディア共有が有効になっている場合 default チャンネルがあなたのアカウントに作成されます。
    関係 マスターとアフィリエイトの相互作用について説明します。

    関係は、コンテンツを共有するマスター、コンテンツを共有するチャネル、コンテンツを受け入れる契約、コンテンツを受け取るアフィリエイトから構成されます。

    契約 マスターとアフィリエイトの間の共有関係について説明します。

    契約はマスターによって作成され、共有を有効にするために受け入れなければなりません。 アフィリエイトは、共有ビデオを自動的に受け入れるか、1つずつ承認する必要があるかを指定することもできます。

    ベースURL

    すべてについて CMS API 以下に説明する操作の基本URLは次のとおりです。

          https://cms.api.brightcove.com/v1

    以下で説明するすべてのエンドポイントは、要求を行うときにベースURLに追加されます。

    認証

    要求の認証にはAuthorizationヘッダーが必要です。

              Authorization: Bearer {access_token}

    access_token Brightcove OAuthサービスから取得する必要がある一時的なOAuth2アクセストークンです。 クライアント資格情報を取得し、それを使用してアクセストークンを取得する方法の詳細については、 Brightcove OAuth の概要.

    周囲のすべての操作 の関係 新しい権限が必要です:

          video-cloud/video/all
          video-cloud/sharing-relationships/read
          video-cloud/sharing-relationships/create
          video-cloud/sharing-relationships/update
          video-cloud/sharing-relationships/delete

    代わりに、あなたはちょうど使用することができます:

          video-cloud/sharing-relationships/all

    Studio API認証管理ページには、2つの権限が表示されます。

    • 読書の共有 (に相当します video-cloud/sharing-relationships/read)
    • 共有の読み取り/書き込み (に相当します video-cloud/sharing-relationships/all)

    共有に関する制限

    デフォルトでは、すべてのビデオを共有できます。 ただし、次の場合は共有を防ぐことができます。

    • アフィリエイトアカウントには、マスターアカウントの動画に値が設定されているカスタムフィールドはありません
    • マスターアカウントにはジオフィルタリが有効になっていますが、アフィリエイトアカウントには

    カスタムフィールドマッチング

    チャンネルのカスタムフィールドマッチングを強制することができます。これは、ビデオ共有が失敗することを意味します 動画にアフィリエイトアカウントに存在しないカスタムフィールドの値がある場合。 動画に一致しないカスタムフィールドの値がない場合、動画は引き続き正常に共有されます

    デフォルトでは、カスタムフィールドマッチングは Studio上ではサポートされていません。 強制される。

    ビデオシェアがあるため、一致しないカスタムフィールドを失敗した場合は、応答して、このようなエラーが表示されます。

          {
            "video_id": "5691312273001",
            "affiliate_id": "47509719001",
            "affiliate_video_id": null,
            "status": "PROCESSING",
            "error_message": [{"error_code":"MISSING_CUSTOM_FIELDS","error_message":"Affiliate account is missing custom fields: [subject]"}],
            "shared_at": "2018-01-03T16:29:19.080Z",
            "updated_at": "2018-01-03T16:29:19.080Z"
          }

    ジオフィルタリングマッチング

    ジオフィルタリングの一致がチャネルで有効になっている場合、マスターアカウントでジオフィルタリングが有効になっていて、アフィリエイトアカウントではない場合は、ビデオを共有できません。

    デフォルトでは、ジオフィルタリングのマッチング is 強制される。

    エラーは次のようになります。

          {
            "video_id": "5691312273001",
            "affiliate_id": "47509719001",
            "affiliate_video_id": null,
            "status": "PROCESSING",
            "error_message": [{"error_code":"CONFLICT","error_message":"Affiliate account is not configured for geo restriction."}],
            "shared_at": "2018-01-03T16:29:19.080Z",
            "updated_at": "2018-01-03T16:29:19.080Z"
          
          

    見る チャンネルを更新する カスタムフィールドおよび/またはジオフィルタリングマッチングを適用するためにチャネルを更新する方法をご覧ください。

    共有されるもの

    このセクションでは、何が共有されるのか、それに続くビデオへの変更がどのように処理されるのかについて説明します。

    ビデオが共有されているとき

    ほとんどのビデオメタデータフィールドは、ビデオが共有されるときにマスターからアフィリエイトアカウントにコピーされます。 注目すべき例外は次のとおりです。

    • id - 動画はアフィリエイトアカウントに固有のIDを持ちます
    • 日付フィールド created_atupdated_at

    すべての動画アセット(レンディション、画像、テキスト_トラックなど)は、アフィリエイトアカウントによって再生用に使用されます。

    ビデオが共有された後

    動画が共有された後、マスターアカウントの動画の一部の変更はアフィリエイトアカウントによって自動的に継承されますが、一部は変更されません。

    動画アセット

    画像を除く、マスターの動画アセットの変更は 常に アフィリエイトによって継承されます。 アフィリエイト 資産を変更することはできません マニフェスト、テキストトラック、またはデジタルマスターなどの、さまざまな機能を使用できます。

    マスターによる画像の変更はアフィリエイトによって継承されます アフィリエイトが画像を置き換えた場合を除き、。 アフィリエイトが画像を変更すると、その画像はマスターから継承されなくなります。

    動画メタデータ

    アフィリエイトは、動画のメタデータ(名前、説明、参照IDなど)を変更することができ、マスタービデオの変更は Studio上ではサポートされていません。 アフィリエイトによって継承されます。

    ビデオの再共有

    ただし、マスター 再分配 ビデオ(これは CMS API、スタジオではなく)、すべてのアセットとメタデータ(データ/時間欄を除く)はアフィリエイトに共有されますが、 アフィリエイトが行った変更を上書きする.

    メディア共有手順の概要

    関係を設定する

    下記の関係を設定する(詳細は、操作名をクリックしてください)操作の概要は次のとおりです。

    セットアップ操作
    マスター操作
    操作 メソッド/エンドポイント 説明
    チャンネルを一覧表示する GET /accounts/ master_account_id/channels アカウントのチャンネルのリストを取得する
    チャンネルの詳細を取得する GET /accounts/ master_account_id/channels/ channel_name [2-1] チャンネルの詳細を取得する
    チャンネルを更新する POST /accounts/ master_account_id/channels/ channel_name チャンネル設定を更新する
    チャンネルの関連会社を一覧表示する GET /accounts/ master_account_id/channels/default/members チャンネルのアフィリエイトを取得する
    アフィリエイトを追加 PUT /accounts/ master_account_id/channels/default/members チャネルにアフィリエイトを追加する
    アフィリエイトを削除 DELETE /accounts/ master_account_id/channels/default/members/ affiliate_account_id チャンネルからアフィリエイトを削除する
    アフィリエイト事業
    操作 メソッド/エンドポイント 説明
    利用可能な契約を一覧表示する GET /accounts/ affiliate_account_id/contracts アカウントで利用可能なすべての契約を取得します。
    特定のアカウントの契約を取得する GET /accounts/ affiliate_account_id/contracts/ master_account_id 特定のアカウントから契約があればそれを取得する
    契約を承認する PATCH /accounts/ affiliate_account_id/contracts/ master_account_id 契約の受諾条件を受け入れて設定する

    ノート

    • [2-1] 現在、名前が付けられたチャンネルは1つだけです default

    動画の共有

    ビデオ共有操作は、マスターアカウントによって実行されます。 アフィリエイトアカウントは、シェアを受け入れることができます(if auto_accept に設定されています false)、標準を使用して共有ビデオのメタデータと画像を更新できます ビデオを更新する 操作。

    リレーションシップが設定されると、実行できる共有操作を以下に示します(詳細については、操作名をクリックしてください)。

    共有操作
    マスター操作
    操作 メソッド/エンドポイント 説明
    既存の株式を一覧表示する GET /accounts/ master_account_id/videos/ video_id/shares 動画の既存の共有リストを取得する - これは 重要 の結果のために ビデオを再共有する 既に共有されている場合
    動画を共有する POST /accounts/ master_account_id/videos/ video_id/shares 1つ以上のアフィリエイトに動画を共有する - 動画が既に共有されている場合、この操作は それを再共有する - それはおそらく Studio上ではサポートされていません。 あなたがしたいこと
    アフィリエイトの動画の共有を解除する DELETE /accounts/ master_account_id/videos/ video_id/shares 特定のアフィリエイトの動画を共有解除する - 共有を解除して再共有すると、アフィリエイトアカウントに新しい動画IDを持つ共有動画が作成されます
    アフィリエイト事業
    操作 メソッド/エンドポイント 説明
    共有ビデオを受け入れる PATCH /accounts/ affiliate_account_id/videos/ video_id 共有ビデオを受け入れる(if auto_accept オフ)

    CMS API リクエスト - 設定

    このセクションでは、 CMS API メディア共有の設定に関係する操作

    マスター操作

    チャネルを一覧表示する

    リストチャネル
    方法 GET
    エンドポイント /accounts/ master_account_id/channels
    ボディをリクエストする
    サンプルレスポンス
          [
            {
              "account_id": "57838016001",
              "name": "default",
              "enforce_custom_fields": false,
              "enforce_geo": false,
              "account_name": "BrightcoveLearning",
              "created_at": "2017-08-23T17:11:18.474Z",
              "updated_at": "2017-08-23T17:11:18.474Z"
            }
          ]

    チャンネルの詳細を取得する

    チャンネルの詳細を取得する
    方法 GET
    エンドポイント https://cms.api.brightcove.com/v1/accounts/ master_account_id/channels/ channel_name [5-1]
    ボディをリクエストする
    サンプルレスポンス
          {
            "account_id": "57838016001",
            "name": "default",
            "enforce_custom_fields": false,
            "enforce_geo": false,
            "account_name": "BrightcoveLearning",
            "created_at": "2017-08-23T17:11:18.474Z",
            "updated_at": "2017-08-23T17:11:18.474Z"
          }
    ノート
    • [5-1] 現在、名前が付けられたチャンネルは1つだけです default

    チャンネルを更新する

    チャンネルを作成する
    方法 PATCH
    エンドポイント /accounts/ master_account_id/channels/ channel_name [6-1]
    ボディをリクエストする
          {
            "enforce_custom_fields" : true,
            "enforce_geo" : true
          }
    サンプルレスポンス
          {
            "account_id": "57838016001",
            "name": "default",
            "enforce_custom_fields": true,
            "enforce_geo": true,
            "account_name": "BrightcoveLearning",
            "created_at": "2017-08-23T17:11:18.474Z",
            "updated_at": "2017-12-30T15:06:27.015Z"
          }
    ノート
    • [6-1] 現在、名前が付けられたチャンネルは1つだけです default

    チャンネルのアフィリエイトを一覧表示する

    リストチャネルのアフィリエイト
    方法 GET
    エンドポイント /accounts/ master_account_id/channels/default/members
    ボディをリクエストする
    サンプルレスポンス
          [
            {
              "account_id": "20318290001",
              "approved": false,
              "account_name": "Brightcove Training"
            },
            {
              "account_id": "1485884786001",
              "approved": true,
              "account_name": "Brightcove Learning Doc Samples"
            },
            {
              "account_id": "1752604059001",
              "approved": true,
              "account_name": "BC Training Videos"
            }
          ]

    の値 approved アフィリエイトが契約を承認したかどうかを示します。

    チャネルにアフィリエイトを追加する

    アフィリエイトを追加
    方法 PUT
    エンドポイント /accounts/ master_account_id/channels/default/members/ affiliate_account_id
    ボディをリクエストする
          {
            "account_id":"affiliate_account_id"
          }
    サンプルレスポンス
          {
            "account_id": "1485884786001"
          }

    チャネルからアフィリエイトを削除する

    アフィリエイトを削除する
    方法 DELETE
    エンドポイント /accounts/ master_account_id/channels/default/members/ affiliate_account_id
    ボディをリクエストする
    サンプルレスポンス 204 NO CONTENT (空の応答本体)

    アフィリエイト事業

    利用可能な契約を一覧表示する

    契約を一覧表示する
    方法 GET
    エンドポイント /accounts/ affiliate_account_id/contracts
    ボディをリクエストする
    サンプルレスポンス
          [
            {
              "account_id": "1485884786001",
              "channel": {
                "account_id": "57838016001",
                "name": "default"
              },
              "approved": false,
              "auto_accept": false,
              "approved_at": null,
              "updated_at": "2017-08-23T17:45:41.556Z",
              "created_at": "2017-08-23T17:45:41.556Z"
            }
          ]

    応答の2つの必須フィールドは次のとおりです。

    • approved -trueに設定すると、契約はアフィリエイトによって受け入れられます
    • auto-accept -trueに設定すると、この契約を通じて共有された動画はアフィリエイトによって自動的に受け入れられます。 それ以外の場合は、XNUMXつずつ承認する必要があります

    以下で契約を更新する方法を見ていきます。

    特定のアカウントの契約を取得する

    契約を結ぶ
    方法 GET
    エンドポイント /accounts/ affiliate_account_id/contracts/ master_account_id
    ボディをリクエストする
    サンプルレスポンス
          {
            "account_id": "1485884786001",
            "channel": {
              "account_id": "57838016001",
              "name": "default"
            },
            "approved": false,
            "auto_accept": false,
            "approved_at": null,
            "created_at": "2017-08-23T17:45:41.556Z",
            "updated_at": "2017-08-23T17:45:41.556Z"
          }

    契約を承認する

    契約を承認する
    方法 PATCH
    エンドポイント /accounts/ affiliate_account_id/contracts/ master_account_id
    ボディをリクエストする
          {
            "approved": true,
            "auto_accept": true
          }
    サンプルレスポンス
          {
            "account_id": "1485884786001",
            "channel": {
              "account_id": "57838016001",
              "name": "default"
            },
              "approved": true,
            "auto_accept": true,
            "approved_at": "2017-08-27T12:27:21.582Z",
            "created_at": "2017-08-23T17:45:41.556Z",
            "updated_at": "2017-08-27T12:27:21.582Z"
          }

    あなたが含まれている場合 "approved":true各動画は個別に承認される必要があります。

    CMS API リクエスト - 共有

    このセクションでは、 CMS API 動画の共有に使用されるリクエスト メディア共有操作は、マスターアカウントによって実行されます。 アフィリエイトアカウントは、 auto_accept オフになります。

    マスター操作

    既存の株式を一覧表示する

    動画が他のアカウントと既に共有されているかどうかを確認するには、以下のリクエストを使用します。

    リストの共有
    方法 GET
    エンドポイント /accounts/ master_account_id/videos/ video_id/shares
    ボディをリクエストする
    サンプルレスポンス
          [
            {
              "video_id": "5553744346001",
              "affiliate_id": "1752604059001",
              "affiliate_video_id": "5553754248001",
              "status": "COMPLETE",
              "shared_at": "2017-08-27T14:35:01.890Z",
              "updated_at": "2017-08-27T14:35:25.630Z"
            },
            {
              "video_id": "5553744346001",
              "affiliate_id": "1485884786001",
              "affiliate_video_id": "5553758415001",
              "status": "COMPLETE",
              "shared_at": "2017-08-27T14:34:34.919Z",
              "updated_at": "2017-08-27T14:35:25.212Z"
            }
          ]

    動画の共有(または再共有)

    下記のリクエストは、1つ以上のアフィリエイトアカウントとビデオを共有します。

    動画をシェアする
    方法 POST
    エンドポイント /accounts/ master_account_id/videos/ video_id/shares
    ボディをリクエストする
          [
            { "id": "affiliate_account_id_1" },
            { "id": "affiliate_account_id_2" }
          ]
    サンプルレスポンス

    成功応答

          [
            {
              "video_id": "5553744346001",
              "affiliate_id": "1485884786001",
              "affiliate_video_id": null,
              "status": "PROCESSING",
              "shared_at": "2017-08-27T14:25:55.710Z",
              "updated_at": "2017-08-27T14:25:55.710Z"
            }
          ]

    失敗応答

          {
          "video_id": "5553744346001",
          "affiliate_id": "1485884786001",
          "affiliate_video_id": null,
          "status": "ERROR",
          "error_message": "[{\"error_code\":\"MISSING_CUSTOM_FIELDS\",\"error_message\":\"Affiliate account is missing custom fields: [myfieldname]\"}]",
          "shared_at": "2017-10-23T15:21:38.541Z",
          "updated_at": "2017-10-23T15:22:58.519Z"
          }

    共有すると、アフィリエイトのアカウントに新しい動画が作成されます。 ザ state のビデオ共有の PROCESSING シェアが完了するまで ビデオはアフィリエイトアカウントで作成されます。 アフィリエイトはまだビデオを受け入れる必要があります(if auto_accept に設定されています false アフィリエイトによる契約については、以前の共有設定のセクションを参照してください)。

    アフィリエイトの動画の共有を解除する

    ビデオの共有を解除する
    方法 DELETE
    エンドポイント /accounts/ master_account_id/videos/ video_id/shares/ affiliate_account_id
    ボディをリクエストする
    サンプルレスポンス 202 ACCEPTED (空の応答本体) - 応答は、要求が処理のために受け入れられたことを示しますが、操作は2〜3分間完了することはできません

    アフィリエイト事業

    共有ビデオを受け入れる

    共有ビデオを承認するには、アフィリエイトは共有ビデオを更新し、 state 〜へ ACTIVE。 ( state 〜へ INACTIVE 共有を拒否します。)

    共有ビデオを受け入れる
    方法 PATCH
    エンドポイント /accounts/ affiliate_account_id/videos/ affiliate_video_id
    ボディをリクエストする
          
            {
              "state": "ACTIVE"
            }
          
    サンプルレスポンス
          {
            "id": "5557656136001",
            "account_id": "1485884786001",
            "ad_keys": null,
            "clip_source_video_id": null,
            "complete": true,
            "created_at": "2017-08-30T13:35:51.796Z",
            "cue_points": [
            ],
            "custom_fields": {
            },
            "delivery_type": "dynamic_origin",
            "description": null,
            "digital_master_id": "4728546275001",
            "duration": 11111,
            "economics": "AD_SUPPORTED",
            "folder_id": null,
            "geo": null,
            "has_digital_master": true,
            "images": {
              "thumbnail": {
                "asset_id": "5473683978001",
                "remote": false,
                "src": "http://brightcove.vo.llnwd.net/e1/pd/57838016001/57838016001_5473683978001_4728519374001-th.jpg?pubId=1485884786001&videoId=5557656136001",
                "sources": [
                  {
                    "src": "http://brightcove.vo.llnwd.net/e1/pd/57838016001/57838016001_5473683978001_4728519374001-th.jpg?pubId=1485884786001&videoId=5557656136001",
                    "height": 90,
                    "width": 160
                  },
                  {
                    "src": "https://brightcove.hs.llnwd.net/e1/pd/57838016001/57838016001_5473683978001_4728519374001-th.jpg?pubId=1485884786001&videoId=5557656136001",
                    "height": 90,
                    "width": 160
                  }
                ]
              },
              "poster": {
                "asset_id": "5473684427001",
                "remote": false,
                "src": "http://brightcove.vo.llnwd.net/e1/pd/57838016001/57838016001_5473684427001_4728519374001-vs.jpg?pubId=1485884786001&videoId=5557656136001",
                "sources": [
                  {
                    "src": "http://brightcove.vo.llnwd.net/e1/pd/57838016001/57838016001_5473684427001_4728519374001-vs.jpg?pubId=1485884786001&videoId=5557656136001",
                    "height": 720,
                    "width": 1280
                  },
                  {
                    "src": "https://brightcove.hs.llnwd.net/e1/pd/57838016001/57838016001_5473684427001_4728519374001-vs.jpg?pubId=1485884786001&videoId=5557656136001",
                    "height": 720,
                    "width": 1280
                  }
                ]
              }
            },
            "link": null,
            "long_description": null,
            "name": "oystercatcher.mp4",
            "original_filename": "57838016001_4728546275001_4728519374001.mp4",
            "projection": null,
            "published_at": "2017-08-30T13:41:13.974Z",
            "reference_id": "2016-01-29T21:41:33.225Z-screencast-1280",
            "schedule": null,
            "sharing": {
              "by_external_acct": true,
              "by_id": "57838016001",
              "source_id": "4728519374001",
              "to_external_acct": false,
              "by_reference": true
            },
            "state": "ACTIVE",
            "tags": [
              "newtag",
              "foo"
            ],
            "text_tracks": [
            ],
            "updated_at": "2017-08-30T13:41:14.075Z"
          }

    をセットする state 〜へ INACTIVE シェアを拒否する。

    動画がアカウントに共有されていることを示す特別な通知はありません。 ただし、 動画を検索 for state:pendingこれには、受け入れられない株式が含まれています。 または、Studio Mediaモジュールの[共有の保留中]リストを使用して、保留中の共有を表示して受け入れ/拒否することもできます。

    保留中の株式
    保留中の株式

    エラー

    メディア共有エラーは、APIリクエストに対する個別のエラーレスポンスとして返されるのではなく、 error_message 通常の応答のフィールド:

          [
            {
              "video_id" : "1239817239128",
              "affiliate_id" : "32871239",
              "affiliate_video_id" : "30308254055202",
              "status" : "COMPLETE",
              "shared_at" : "2017-12-11T17:57:45.530Z",
              "updated_at" : "2017-12-11T18:03:32.789Z",
              "error_message" : "[{"error_code":"MISSING_CUSTOM_FIELDS","error_message":"Affiliate account is missing custom fields: [whisky]"}]"
            }
          ]

    見る インクルード CMS API エラーリファレンス 詳細はこちら

    制限事項

    現在、メディアの共有には次の制限があります。

    • DRM:メディア共有 CMS API DRM対応アカウントでは現在サポートされていません。 DRMが有効になっていないアカウントからDRMが有効になっているアカウントへの動画の共有はサポートされていますが、共有動画は Studio上ではサポートされていません。 DRM用にパッケージ化する。
    • マスターアカウントによって定義されたチャネルが設定されている場合 enforce_custom_fields 〜へ trueアフィリエイトアカウントで許可されていない値のカスタムフィールドを持つビデオを共有すると、その共有の試行は失敗します。 共有ステータスは、次のようなエラーメッセージで更新されます。

            [{"error_code": "ILLEGAL_CUSTOM_FIELD_VALUE", "error_message": "Illegal value for custom fields: [topic]"}]
            

      マスターアカウントによって定義されたチャネルが設定されている場合 enforce_custom_fields 〜へ falseその後、アフィリエイトアカウントで許可されていない値のカスタムフィールドを持つビデオを共有すると、共有の試みは機能しますが、値の悪いフィールドはビデオのアフィリエイトコピーには含まれません。

    • SSAIで共有ビデオを再生する場合、SSAIマクロ置換では、子ビデオの代わりに親ビデオのメタデータが使用されます。 SSAIは、親ビデオが次のようにマークされている場合、広告ルックアップもスキップします Advertising='Free'、子のビデオが Ad Supported.

    ページの最終更新日:12年2020月XNUMX日