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

概要: Dynamic Ingest API

このトピックでは、 Dynamic Ingest API 動的配信を通じて配信できるようにビデオを取り込む。 このガイドはほとんどの Video Cloud Dynamic Delivery取り込みシステムにあるアカウント。 従来の取り込みシステムにまだ古いアカウントがある場合は、 Dynamic Ingest API 代わりにレガシー。

概要

ブライトコーブ Dynamic Ingest API ビデオソースファイルが顧客の保存場所からダウンロードされ、ソースファイルの指定されたレンディションが作成される機能に基づいています。 (オプションもあります ソースファイルをアップロードする Dynamic Ingestがアクセスできる一時的な場所に移動します)。プラットフォームはクラウド中心で、グローバルに分散され、クラスの一貫性とスピードを提供するための最新のプラクティスに基づいています。

また、 APIリファレンス.

ワークフローの概要

多くのシステム/技術は、媒体の全体のトランスコードおよび記憶に使用されている。 彼らです:

  • CMS API:DI APIで使用するビデオオブジェクトを作成します。
  • Zencoder:複数のレンディションを作成するビデオをトランスコードする
  • アマゾンS3:プロファイル設定に基づいて、マスターとレンディションをストレージに移動します
  • カタログ:ビデオに関連する必要な情報を格納する

最初のトランスコード後に、メディアで実行できる操作は次のとおりです。

使用方式

DI APIを使用すると、インジェストプロファイルの読み取りやアカウントへのインジェスト情報の書き込みなど、さまざまな操作を実行します。 以下は、DIタスクに必要な操作の完全なリストです。

    • video-cloud/video/create
    • video-cloud/video/read
    • video-cloud/video/update
    • video-cloud/ingest-profiles/profile/read
    • video-cloud/ingest-profiles/account/read
    • video-cloud/ingest-profiles/account/write
    • video-cloud/ingest-profiles/profile/write
    • video-cloud/upload-urls/read

クライアントの資格情報を取得するには、Studioを使用します 管理ツール または次の文書のいずれかを参照してください。

ベストプラクティス

見る 動的インジェストAPI:ベストプラクティス.

有効なソースの場所

引き込みによる摂取

ダイナミックインジェストは、HTTP / HTTPS、S3、FTPのいずれかからソースビデオファイルをプルすることができます - 認証の有無

例:

  • http://example.com/path/to/input.avi
  • https://dl.dropboxusercontent.com/u/3641457/Bird_Titmouse.mp4
  • s3://my-bucket/video.mp4
  • ftp://server/file.mp4

S3に関する注記

あなたの動画が保護されたS3バケットにある場合は、 ダイナミックインジェストをS3で使用する ダイナミックインジェストがファイルにアクセスするためのアクセス許可を設定する方法の詳細については、

FTPに関する注意

あなたのビデオが保護されたFTPサーバーにある場合は、次のようにURLにユーザー名とパスワードを渡すための標準的な方法を使用します。

    ftp://username:password@server/file.mp4

ソースファイルのアップロード

ダイナミックインジェストが引き出すことができる安全な一時的な場所にファイルをアップロードすることもできます。 詳細は、 ソースファイルのアップロード.

特殊文字

あなたがURLを提供している場合 Video Cloud あなたのビデオを取得し、あなたはURLの一部としてクレデンシャルを送信しています、あなたがする必要が パーセントエンコード 特定の予約済み特殊文字:

特殊文字
文字 パーセントエンコード
] %5B
[ %5D
? %3F
/ %2F
< %3C
~ %7E
# %23
` %6D
! %21
@ %40
$ %24
% %25
^ %5E
%26
* %2A
( %28
) %29
+ %2B
= %3D
} %7D
| %7C
: %3A
" %22
; %3B
' %27
, %2C
> %3E
{ %7B
スペース %20

例として:

    
        /* unencoded */
        ftp://user@example.com:pass!word@example.com/path/to/input.mp3
    
        /* encoded */
        ftp://user%40example.com:pass%21word@example.com/path/to/input.mp3
      

ソースファイル名

すべての入力URLは、 RFC 3986 Brightcoveに送信されたとき。 これはつまり 予約された文字 URLのパスにはエンコードされたパーセントが含まれています(スペースは %20)、URLのクエリで見つかった予約文字はパーセントエンコードされています(スペースはエンコードされています + or %20および + コード化されて %2B).

A 事前に署名された S3(v2 含まれています 署名, 期限AWSAccessKeyIdおよび v4 含まれています X-Amzアルゴリズム, X-Amz-Credential, X-Amz-Date, X-Amz-Expires, X-Amz-SignedHeadersおよび X-Amz-Signature)または GCS (含有 署名, 期限および GoogleAccessId)urlはすでに適切にエンコードされている必要があります。 そのまま使用することができます.

サンプルアセット

Brightcove Learning Servicesには、ダイナミックインジェストを開始する際に試すことができるサンプルアセットがいくつかあります。 これらのアセットには、複数の言語の短いビデオ、画像、およびWebVTTキャプションが含まれています。

インジェストプロファイル

ダイナミック配信動画を作成するには、特殊なインジェストプロファイルが必要です。 あなたはカップルを見つけるでしょう 標準のインジェストプロファイル ダイナミックデリバリーが有効になっているときにアカウントに追加することをお勧めします。

スタジオの管理セクションで、カスタムダイナミック配信プロファイルをインジェストプロファイルに追加することもできます。 動的配信用の取り込みプロファイルの作成 詳細については。

動的配信プロファイルのサンプル

以下は、開始に使用できるDynamic Deliveryプロファイルのサンプルです。 あなたがする必要があるのは、 YOUR_ACCOUNT_ID アカウントIDを入力して、プロファイルをコピーしてインジェストプロファイルエディタに貼り付けることができます。

    {
      "name": "DynamicDeliveryIngestProfile",
      "description": "Dynamic Delivery ingest profile.",
      "account_id": "YOUR_ACCOUNT_ID",
      "digital_master": {
        "rendition": "passthrough",
        "distribute": false
      },
      "dynamic_origin": {
        "renditions": [
          "default/audio64",
          "default/audio96",
          "default/audio128",
          "default/video450",
          "default/video700",
          "default/video900",
          "default/video1200",
          "default/video1700",
          "default/video2000"
        ],
        "images": [
          {
            "label": "poster",
            "height": 720,
            "width": 1280
          },
          {
            "label": "thumbnail",
            "height": 90,
            "width": 160
          }
        ]
      }
    }
    

標準の動的配信プロファイルとレンディションの詳細については、 動的配信の標準受信プロファイル

動画の取り込み

動画の取り込みには、次の2つのAPIリクエストが必要です。

  1. コー​​ル CMS API にビデオオブジェクトを作成する Video Cloud システムとそのIDを得る
  2. コー​​ル Dynamic Ingest API ビデオソースファイルのURLを指定し、必要に応じてインジェストのその他のファイルと設定を指定する

基本リクエストのサンプルセットは、次のようになります。

CMS API 要求

HTTPメソッド
POST
リクエストURL
https://cms.api.brightcove.com/v1/accounts/{account_id}/videos
ボディをリクエストする
    {
    "name": "My First Dynamic Delivery Video"
    }
    
    

応答データには、ビデオ id これは次の要求で使用されます。

インジェストAPIリクエスト

HTTPメソッド
POST
リクエストURL
https://ingest.api.brightcove.com/v1/accounts/{account_id}/videos/{video_id}/ingest-requests
ボディをリクエストする
    {
      "master": {
        "url": "http://host/master.mp4"
      },
      "profile": "DynamicDeliverIngestProfile",
      "callbacks": [
        "http://mydomain.com/di-callbacks.php"
      ]
    }
    

ノート

  • あなたが profile アカウントのデフォルトプロファイルが使用されます。 さまざまな種類の動画に異なるプロファイルを使用する必要がある場合を除き、アカウントのデフォルトを使用することをおすすめします。 アカウントのデフォルトを、あなたが(よく使う)プロファイルに設定してください。
  • 挽き目 callbacks フィールドはオプションですが、取り込みジョブの進行状況をトラッキングするための最良の方法として使用することを強くお勧めします。 見る 以下 通知の詳細については、

レンディションの表示

ビデオのレンディションを表示するには、 スタジオのメディアモジュール.

レンディションの完全なプロパティを表示するには、 CMS API リクエスト詳細.

再生するURLを取得するには、 Playback API リクエスト詳細.

ビデオを置き換える

ビデオを新しいバージョンまたは新しいレンディションセットに置き換えるには、 Dynamic Ingest API コールはまったく同じです 新しい動画を取り込む - 唯一の違いは、あなたが以前に電話をかける必要がないことです CMS API にビデオオブジェクトを作成する Video Cloud システムとIDを取得します。 指定されたURLのソースビデオファイルが最初に取り込まれたものと同じ場合、新しいレンディションセットが取得されます。 ソースファイルが新しい場合は、既存のビデオを置き換えます。 再トランスコーディングが完了するまで、すべてのビデオは既存のレンディションで再生可能なままです。

見ます 作業サンプルはこちら.

ビデオの再トランスコード

あなたが選んだ場合 マスターをアーカイブする 動画を摂取したとき Dynamic Ingest API またはスタジオアップロードモジュールを使用すると、マスターからビデオを再トランスコードすることもできます。 再度、インジェストリクエストのURLは同じになりますが、リクエスト本文には次のものがあります。

    // request
    POST /v1/accounts/{account_id}/videos/{video_id}/ingest-requests
    // request body
    {
      "master": { "use_archived_master": true },
      "profile": "multi-platform-extended-static"
    }
    
    

画像取り込み

トランスコード中にポスター画像とサムネイル画像をキャプチャするのではなく、独自の画像を取り込み要求とともに含めることも、後で別の要求で追加することもできます。

サンプルリクエストボディ

    {
      "profile": "multi-platform-extended-static",
      "poster": {
        "url": "http://bcls@solutions.brightcove.com/bcls/assets/images/great-blue-heron-poster.png",
        "width": 1280,
        "height": 720
      },
      "thumbnail": {
        "url": "http://bcls@solutions.brightcove.com/bcls/assets/images/great-blue-heron-thumbnail.png",
        "width": 160,
        "height": 90
      },
      "callbacks": [
        "http://solutions.brightcove.com/bcls/di-api/di-callbacks.php"
      ]
    }
    

画像アセットの取り込みに関する通知

以下は、画像の取り込みのために特別に取得する通知のサンプルです。

    {
        "entity": "thumbnail",
        "entityType": "ASSET",
        "version": "1",
        "action": "CREATE",
        "jobId": "0c2767c1-19ea-479d-b371-a0f5f3d154f5",
        "videoId": "5209530177001",
        "accountId": "57838016001",
        "status": "SUCCESS"
      }
      {
        "entity": "poster",
        "entityType": "ASSET",
        "version": "1",
        "action": "CREATE",
        "jobId": "0c2767c1-19ea-479d-b371-a0f5f3d154f5",
        "videoId": "5209530177001",
        "accountId": "57838016001",
        "status": "SUCCESS"
    }
    
    

字幕キャプチャ

WebVTT形式のキャプションは、最初の取り込み要求または後の要求でビデオに追加できます。

サンプルリクエストボディ

    {
      "text_tracks": [
        {
          "url": "http://solutions.brightcove.com/bcls/assets/vtt/sample.vtt",
          "srclang": "en",
          "kind": "captions",
          "label": "EN",
          "default": true
        },
        {
          "url": "http://solutions.brightcove.com/bcls/assets/vtt/sample-es.vtt",
          "srclang": "es",
          "kind": "captions",
          "label": "ES",
          "default": false
        }
      ],
      "callbacks": [
        "http://solutions.brightcove.com/bcls/di-api/di-callbacks.php"
      ]
    }
    

サイドカーのテキストトラックは、非ダイナミック配信のビデオと同様にCMSまたは再生応答に表示されます:

    "text_tracks": [
        {
        "id": null,
        "src": "https://bcbolt446c5271-a.akamaihd.net/media/v1/text/vtt/clear/57838016001/3de8c552-74e8-4c53-aa11-2a4375edf658/bce0d3dc-11d9-4ca4-ae1b-a39cb7b88a1c/text.vtt?akamai_token=exp=1479236791~acl=/media/v1/text/vtt/clear/57838016001/3de8c552-74e8-4c53-aa11-2a4375edf658/bce0d3dc-11d9-4ca4-ae1b-a39cb7b88a1c/text.vtt*~hmac=df5b4ba1ef2549a7572346dd36a761534ffafe4b8cfbdf92d89013ec2f95699c",
        "srclang": "en",
        "label": "EN",
        "kind": "captions",
        "mime_type": "text/webvtt",
        "asset_id": null,
        "sources": [
          {
          "src": "https://bcbolt446c5271-a.akamaihd.net/media/v1/text/vtt/clear/57838016001/3de8c552-74e8-4c53-aa11-2a4375edf658/bce0d3dc-11d9-4ca4-ae1b-a39cb7b88a1c/text.vtt?akamai_token=exp=1479236791~acl=/media/v1/text/vtt/clear/57838016001/3de8c552-74e8-4c53-aa11-2a4375edf658/bce0d3dc-11d9-4ca4-ae1b-a39cb7b88a1c/text.vtt*~hmac=df5b4ba1ef2549a7572346dd36a761534ffafe4b8cfbdf92d89013ec2f95699c"
          }
        ],
        "in_band_metadata_track_dispatch_type": "",
        "default": false
      ]
    }
    

テキストトラックは、HLSおよびDASHマニフェストにも表示されます。

HLS

    #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subtitles-0",NAME="Captions",DEFAULT=NO,AUTOSELECT=YES,LANGUAGE="es",URI="https://manifest.prod.boltdns.net/manifest/v1/hls/v5/clear/57838016001/1bd49b7b-df40-414f-bb05-8840624663e1/de8144f4-b7d7-46ca-848f-dd2f7fa453d7/rendition.m3u8?fastly_token=NTg0ZjA5MWZfMzU1N2VhY2Y2MDA3NzkzYWM0ZjU2ZWQwNWE2NTYzMmI4MzMzMmJkZWM5Y2JmNzQ1MjRjM2QxYjI0NTYzODA5Zg%3D%3D"
    #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subtitles-0",NAME="Captions",DEFAULT=NO,AUTOSELECT=YES,LANGUAGE="en",URI="https://manifest.prod.boltdns.net/manifest/v1/hls/v5/clear/57838016001/1bd49b7b-df40-414f-bb05-8840624663e1/6399fcf2-cd27-4d97-ad30-e443f13563bd/rendition.m3u8?fastly_token=NTg0ZjA5MWZfYWMxYjllNDlkYzVlOTJkZWQ3ODk2YjE3MGI5NDlhYTlkOGQ1YzI5ZmI4ZjRlOWMzMzU5YmM1YzZkNTA4MTFmNQ%3D%3D"
    
    

ダッシュ

    <AdaptationSet mimeType="text/vtt" lang="en">
      <Representation bandwidth="256" id="2f4bb3fb-1a7d-4f4c-bf44-00ef0e611131">
      <BaseURL>https://bcbolt446c5271-a.akamaihd.net/media/v1/dash/live/clear/57838016001/785d5ddf-6672-4ece-9191-d105445b2557/2f4bb3fb-1a7d-4f4c-bf44-00ef0e611131.vtt?akamai_token=exp=1484784452~acl=/media/v1/dash/live/clear/57838016001/785d5ddf-6672-4ece-9191-d105445b2557*~hmac=ae568ea5294280968de0a2766afd82922ea9aa83fe23a81b3379a46b8ef13284</BaseURL>
      </Representation>
      </AdaptationSet>
      <AdaptationSet mimeType="text/vtt" lang="hi">
      <Representation bandwidth="256" id="f5875617-40f4-4991-bc5b-7152c6e2a93a">
      <BaseURL>https://bcbolt446c5271-a.akamaihd.net/media/v1/dash/live/clear/57838016001/785d5ddf-6672-4ece-9191-d105445b2557/f5875617-40f4-4991-bc5b-7152c6e2a93a.vtt?akamai_token=exp=1484784452~acl=/media/v1/dash/live/clear/57838016001/785d5ddf-6672-4ece-9191-d105445b2557*~hmac=ae568ea5294280968de0a2766afd82922ea9aa83fe23a81b3379a46b8ef13284</BaseURL>
      </Representation>
    </AdaptationSet>
    
    

テキストトラックアセットの通知

以下は、テキストトラックの取り込みに固有の通知のサンプルです。

    {
      "entity": "en-captions-EN",
      "entityType": "ASSET",
      "version": "1",
      "action": "CREATE",
      "jobId": "ed429284-77c9-4905-a700-4c8edb77be3e",
      "videoId": "5209530177001",
      "accountId": "57838016001",
      "status": "SUCCESS"
    }
    {
      "entity": "es-captions-ES",
      "entityType": "ASSET",
      "version": "1",
      "action": "CREATE",
      "jobId": "ed429284-77c9-4905-a700-4c8edb77be3e",
      "videoId": "5209530177001",
      "accountId": "57838016001",
      "status": "SUCCESS"
    }
    
    

サンプル player テキストトラック付き(英語とスペイン語)

動的配信ビデオ Player

iOSアプリのサイドカーのキャプション

ダイナミックデリバリーサイドカーキャプション
ダイナミックデリバリーサイドカーキャプション

ダイナミックレンディションを取得する

動画のダイナミックレンディションに関する情報を取得するには、GETリクエストを送信します。

    https://cms.api.brightcove.com/v1/accounts/account_id/videos/video_id/assets/dynamic_renditions
    
    

サンプルレスポンス

    [
      {
        "rendition_id": "default/audio128",
        "frame_height": null,
        "frame_width": null,
        "media_type": "audio",
        "size": 506818,
        "created_at": "2016-11-14T15:05:56.209214859Z",
        "updated_at": "2016-11-14T15:05:56.209214859Z",
        "encoding_rate": 125,
        "duration": 31488,
        "audio_configuration": "L_R",
        "language": "en"
      },
      {
        "rendition_id": "default/audio64",
        "frame_height": null,
        "frame_width": null,
        "media_type": "audio",
        "size": 261129,
        "created_at": "2016-11-14T15:05:53.926747456Z",
        "updated_at": "2016-11-14T15:05:53.926747456Z",
        "encoding_rate": 62,
        "duration": 31488,
        "audio_configuration": "L_R",
        "language": "en"
      },
      {
        "rendition_id": "default/audio96",
        "frame_height": null,
        "frame_width": null,
        "media_type": "audio",
        "size": 384568,
        "created_at": "2016-11-14T15:05:59.023381448Z",
        "updated_at": "2016-11-14T15:05:59.023381448Z",
        "encoding_rate": 94,
        "duration": 31488,
        "audio_configuration": "L_R",
        "language": "en"
      },
      {
        "rendition_id": "default/video1200",
        "frame_height": 540,
        "frame_width": 960,
        "media_type": "video",
        "size": 4761241,
        "created_at": "2016-11-14T15:06:10.410020728Z",
        "updated_at": "2016-11-14T15:06:10.410020728Z",
        "encoding_rate": 1206,
        "duration": 31465
      },
      {
        "rendition_id": "default/video1700",
        "frame_height": 540,
        "frame_width": 960,
        "media_type": "video",
        "size": 6712422,
        "created_at": "2016-11-14T15:06:15.593063021Z",
        "updated_at": "2016-11-14T15:06:15.593063021Z",
        "encoding_rate": 1703,
        "duration": 31465
      },
      {
        "rendition_id": "default/video2500",
        "frame_height": 720,
        "frame_width": 1280,
        "media_type": "video",
        "size": 9795721,
        "created_at": "2016-11-14T15:06:12.148783841Z",
        "updated_at": "2016-11-14T15:06:12.148783841Z",
        "encoding_rate": 2486,
        "duration": 31465
      },
      {
        "rendition_id": "default/video4000",
        "frame_height": 1080,
        "frame_width": 1920,
        "media_type": "video",
        "size": 15718943,
        "created_at": "2016-11-14T15:06:15.463012005Z",
        "updated_at": "2016-11-14T15:06:15.463012005Z",
        "encoding_rate": 3992,
        "duration": 31465
      },
      {
        "rendition_id": "default/video450",
        "frame_height": 270,
        "frame_width": 480,
        "media_type": "video",
        "size": 1784858,
        "created_at": "2016-11-14T15:06:20.719400854Z",
        "updated_at": "2016-11-14T15:06:20.719400854Z",
        "encoding_rate": 451,
        "duration": 31465
      },
      {
        "rendition_id": "default/video700",
        "frame_height": 360,
        "frame_width": 640,
        "media_type": "video",
        "size": 2746520,
        "created_at": "2016-11-14T15:06:10.918331816Z",
        "updated_at": "2016-11-14T15:06:10.918331816Z",
        "encoding_rate": 695,
        "duration": 31465
      },
      {
        "rendition_id": "default/video900",
        "frame_height": 360,
        "frame_width": 640,
        "media_type": "video",
        "size": 3561912,
        "created_at": "2016-11-14T15:06:17.295871425Z",
        "updated_at": "2016-11-14T15:06:17.295871425Z",
        "encoding_rate": 902,
        "duration": 31465
      }
    ]
    

再生のためにURLを取得する

動画のダイナミックレンディションに関する情報を取得するには、GETリクエストを送信します。

    https://edge.api.brightcove.com/playback/v1/accounts/account_id/videos/video_id
    
    

サンプルレスポンス

    {
      "description": null,
      "poster_sources": [
      {
        "src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/main/1280x720/24s816ms/match/image.jpg"
      }
      ],
      "tags": [
        "dd-static"
      ],
      "cue_points": [],
      "custom_fields": {},
      "account_id": "57838016001",
      "sources": [
        {
          "ext_x_version": "4",
          "type": "application/x-mpegURL",
          "src": "https://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/10s/master.m3u8?fastly_token=NTk1YmE0ZmZfOGU5Njg0NGU1OWQ3NjI3ZDhmY2FhZTVmNGE0YzI1MWM1NjMyNTZkNzMzZmExMzRkN2ZmYzU0YWU5NzUyZTM2YQ%3D%3D"
        },
        {
          "ext_x_version": "5",
          "type": "application/x-mpegURL",
          "src": "https://manifest.prod.boltdns.net/manifest/v1/hls/v5/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/10s/master.m3u8?fastly_token=NTk1YmE0ZmZfOTBkOThhYmQ5MWM0MmQwYmQwYTM4MGEzMjAzZTgyNDVlMDYzYzNhMzQ1ZWQ3MTMyMzVmM2Q1YjM2N2VlMjM0Yg%3D%3D"
        },
        {
          "type": "application/dash+xml",
          "src": "https://manifest.prod.boltdns.net/manifest/v1/dash/live-baseurl/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/2s/manifest.mpd?fastly_token=NTk1YmE0ZmZfYzQyOWJiOTEzMGJmNGIyMjM1NmMwMzZmNGZkZjlkYjEzMzNmNzFlYmQxODg0Y2YzZDk3ZTljNzVhODg1YzRjMQ%3D%3D",
          "profiles": "urn:mpeg:dash:profile:isoff-live:2011"
        },
        {
          "avg_bitrate": 2129000,
          "width": 1280,
          "src": "https://bcbolt446c5271-a.akamaihd.net/media/v1/pmp4/static/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/high.mp4?akamai_token=exp=1499178239~acl=/media/v1/pmp4/static/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/high.mp4*~hmac=5880698556297bbe2f2f43ac8904c659c61fb9510db1a9bb106037eaea393339",
          "size": 13242064,
          "height": 720,
          "duration": 49690,
          "container": "MP4",
          "codec": "H264"
        },
        {
          "avg_bitrate": 574000,
          "width": 480,
          "src": "https://bcbolt446c5271-a.akamaihd.net/media/v1/pmp4/static/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/mid.mp4?akamai_token=exp=1499178239~acl=/media/v1/pmp4/static/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/mid.mp4*~hmac=75e51439623a41b93d2a234c25683e76d43656f97a9dfb8efe61a5342d5ff2da",
          "size": 3586929,
          "height": 270,
          "duration": 49690,
          "container": "MP4",
          "codec": "H264"
        }
      ],
      "name": "Canada_Geese_Family",
      "reference_id": null,
      "long_description": null,
      "duration": 49633,
      "economics": "AD_SUPPORTED",
      "published_at": "2017-06-05T11:20:52.412Z",
      "text_tracks": [],
      "updated_at": "2017-06-05T12:06:55.121Z",
      "thumbnail": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/main/160x90/24s816ms/match/image.jpg",
      "poster": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/main/1280x720/24s816ms/match/image.jpg",
      "offline_enabled": false,
      "link": null,
      "id": "5459968909001",
      "ad_keys": null,
      "thumbnail_sources": [
        {
          "src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/main/160x90/24s816ms/match/image.jpg"
        }
      ],
      "created_at": "2017-06-05T11:20:52.412Z"
    }
    
    

DRM

DRMはサポートされていますが、通常の動画取り込みとは動作が異なります。 あなたがやる Studio上ではサポートされていません。 インジェストプロファイルでパッケージングを指定する必要があります。 代わりに、パッケージは、お客様のアカウントのDRM設定に基づいて自動的に行われます。 Brightcove カスタマーサポート あなたのビデオのDRMパッケージのデフォルトを設定します。

詳細については、 DRMでコンテンツを取り込む.

ウォーターマーク付きレンディション

ウォーターマーク付きレンディション サポートされています。 動画の一部またはすべてに透かしを追加する必要がある場合は、ブライトコーブサポートにお問い合わせください。

透かし入りのレンディションは静的動的配信プロファイルに追加できますが、 Studio上ではサポートされていません。 Context Aware Encoding(CAE)プロファイルの場合。

インジェストステータス

ダイナミックデリバリのインジェスト処理に関する情報は、コールバックに登録したり、ステータスAPIを照会してジョブのステータスを取得したりできます。

コールバック

インジェストリクエストでは、1つ以上のコールバックURLを指定して、インジェストプロセスの結果の通知を受け取ることができます。 指定するURLは、POSTリクエストを受け入れることができるもの以上のものでなければなりません。 通知はJSON形式で送信されます。

通知の受信と解釈の詳細は、 お知らせ

ステータスAPI

ステータスAPIを使用して、インジェストジョブの現在のステータスを取得することもできます。 ステータスメッセージは、過去7日以内に送信された取り込みジョブに対してのみ使用できます。

エンドポイント

動画のすべてのステータスメッセージ
    https://cms.api.brightcove.com/v1/accounts/:account_id/videos/:video_id/ingest_jobs
    
    
    https://cms.api.brightcove.com/v1/accounts/57838016001/videos/5128433746001/ingest_jobs
    
    
特定のジョブのステータスメッセージ
    https://cms.api.brightcove.com/v1/accounts/:account_id/videos/:video_id/ingest_jobs/:job_id
    
    

回答

以下は、現在処理中のジョブの応答例です。

    {
    "id": "7a196557-56ba-4218-ada5-e107ed554555",
    "state": "processing",
    "account_id": "57838016001",
    "video_id": "5128433746001",
    "error_code": null,
    "error_message": null,
    "updated_at": "2016-09-16T16:51:46.313Z",
    "started_at": "2016-09-16T16:51:22.258Z"
    }
    
    

ここで最も重要な項目は次のとおりです。

  • state :ジョブのステータス( processing | publishing | finished | failed - この仕事が完了し、ビデオの再生準備ができたら、 state なります finished )
  • error_code error_message :成功した仕事のために、これらは null ; 失敗したジョブの場合、エラーコードと説明メッセージが表示されます

比較のために失敗したジョブのステータスメッセージの例を次に示します。

    {
    "id": "bc9dfb58-d502-43d5-97e4-41f3dcd44265",
    "state": "failed",
    "account_id": "57838016001",
    "video_id": "5128710227001",
    "error_code": "NoMediaError",
    "error_message": "Audio-only output was requested on a file that only contains video.",
    "updated_at": "2016-09-16T20:30:58.016Z",
    "started_at": "2016-09-16T20:29:14.139Z"
    }
    
    

コンテキスト認識エンコーディング

Context Aware Encoding(CAE)は、トランスコーディング中にソースビデオを分析し、ビデオの複雑さと提供される一連の境界パラメータ(最小レンディション数、最大ビットレート)に基づいて最適なレンディションとビットレートを生成するためにBrightcoveによって開発された技術です。など)。

CAEプロファイルの使用方法については、 コンテキスト認識エンコーディング.

複数のオーディオトラック

ダイナミック配信用に設定されたアカウントを有効にすると、動画用の複数のオーディオトラックを許可することができます。

複数のオーディオトラックを1つのタイトルに関連付ける機能は、次の2つの重要なシナリオで役立ちます。

  • 同じビデオをさまざまな言語で再生することで、世界中の幅広いリーチに対応
  • 視覚障害者のための説明をオーディオに提供する

この機能の使用の詳細については、 複数のオーディオトラック.

サンプルコード

ラーニングサービスは、Webインターフェースを提供して送信するいくつかのサンプルアプリを提供します。 Dynamic Ingest API PHPプロキシ経由のリクエスト。 サンプルアプリを見る.

さらに、以下のGitHubリポジトリには、Java、Python、およびC#のサンプルコードが含まれています。このサンプルコードは次のとおりです。 サポートされていません ブライトコーブ:

制限事項

  • セグメント化されたビデオタイプ(HLSおよびDASH)の場合 playersは、オーディオとビデオのストリーム長がセグメントの継続時間以上異なる場合は処理しません。 これが発生した場合は、セグメント長を短くしてみてください。

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