サポート問い合わせ先| システムステータス
ページコンテンツ

    概要:Dynamic Ingest API

    このトピックでは、の使用方法を学習しますDynamic Ingest API動的配信を通じて配信できるように動画を取り込む。

    入門

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

    API リファレンス」も参照してください。

    ワークフローの概要

    メディア全体のトランスコーディングと保存には、多くのシステム/テクノロジーが使用されています。非対応形式:

    • CMS API:DI API で使用するビデオオブジェクトを作成します。
    • Zencoder :複数のレンディションを作成するビデオをトランスコードします
    • Amazon 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管理ツールを使用するか、次のいずれかのドキュメントを参照してください。

    ベストプラクティス

    見るDynamic Ingest 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

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

    DynamicIngestがファイルをプルできる安全な一時的な場所にファイルをアップロードすることもできます。詳細については、を参照してください。ソースファイルのアップロード

    特殊文字

    ビデオクラウドがビデオをフェッチするためのURLを提供していて、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エンコード

    処理前にURLが1回デコードされる場合は常に、取り込みジョブを送信する前に、入力URLを2回URLエンコードする必要があります。

    例は次のとおりです。

    A master.url

    https://some.file.storage.com/path/to/video.mp4?Signature=some%2Bcool%2B%25sig

    処理前に次のように変換されます。

    https://some.file.storage.com/path/to/video.mp4?Signature=some+cool+%sig

    代わりに、次のように二重エンコードする必要があります。

    https://some.file.storage.com/path/to/video.mp4?Signature=some%252Bcool%252B%2525sig

    URLをエンコードするには、を参照してください。文字列エンコーダ資料。

    ソースファイル名

    すべての入力 URL は、Brightcoveに送信するときに、 RFC 3986 に従って適切に URL エンコードする必要があります。つまり、 URLのパスで見つかった予約文字はパーセントエンコードされ(スペースがエンコードされる%20)、URLのクエリで見つかった予約文字はパーセントエンコードされます(スペースは+または%20+にエンコードされています%2B)。

    NS 事前署名 S3( v2含まれています サイン, 有効期限が切れます かつ AWSAccessKeyId、 とv4含まれています X-Amz-アルゴリズム, X-Amz-クレデンシャル, X-Amz-日付, X-Amz-有効期限, X-Amz-SignedHeaders、 と X-Amz-署名) またGCS(含む サイン, 有効期限が切れます、 と GoogleAccessId)URLはすでに適切にエンコードされている必要がありますそのまま使用できます

    サンプルアセット

    Brightcove ラーニングサービスには、ダイナミックインジェストの開始時に試すためのサンプルアセットがいくつか用意されています。これらのアセットには、複数の言語での短い動画、画像、WebVTT キャプションが含まれます。

    トランスコードプロファイル

    動的配信ビデオを作成するには、特別な取り込みプロファイルが必要です。あなたはいくつかを見つけるでしょう標準の取り込みプロファイル動的配信が有効になっている場合はアカウントで、これらをお勧めします。

    Studioの管理セクションで取り込みプロファイルにカスタムDynamicDeliveryプロファイルを追加することもできます-を参照してください動的配信用の取り込みプロファイルの作成詳細については。

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

    以下は、開始に使用できる動的配信プロファイルのサンプルです。あなたがする必要があるのは交換することだけです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
              }
            ]
          }
        }
        

    標準の動的配信プロファイルとレンディションの詳細については、を参照してください。動的配信用の標準の取り込みプロファイル

    ビデオの取り込み

    動画の取り込みに必要なAPIリクエストは2つあります。

    1. を呼び出すCMS API Video Cloudシステムでビデオオブジェクトを作成し、そのIDを取得します
    2. を呼び出すDynamic Ingest APIビデオソースファイルのURLを提供し、必要に応じて他のファイルと取り込みの設定を指定します

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

    CMS API リクエスト

    HTTPメソッド
    役職
    URL をリクエスト
    https://cms.api.brightcove.com/v1/accounts/ {account_id} /ビデオ
    リクエスト本文
        {
        "name": "My First Dynamic Delivery Video"
        }
        
        

    応答データにはid 、次のリクエストで使用されるビデオが含まれます。

    API リクエストを取り込み

    HTTPメソッド
    役職
    URL をリクエスト
    https://ingest.api.brightcove.com/v1/accounts/ {account_id} / videos / {video_id} / ingest-リクエスト
    リクエスト本文
        {
          "master": {
            "url": "https://host/master.mp4"
          },
          "profile": "DynamicDeliverIngestProfile",
          "callbacks": [
            "https://mydomain.com/di-callbacks.php"
          ]
        }
        

    • あなたが含まない場合profile フィールドでは、そのアカウントのデフォルトプロファイルが使用されます。さまざまな種類のビデオにさまざまなプロファイルを使用する必要がない限り、アカウントのデフォルトを使用することをお勧めします。アカウントのデフォルトは、(ほとんどの場合)使用するプロファイルに設定してください。
    • ザ・callbacks フィールドはオプションですが、取り込みジョブの進行状況を追跡するための最良の方法として使用することを強くお勧めします。見る未満通知の詳細については。

    レンディションの表示

    に移動すると、ビデオのレンディションを表示できます。スタジオのメディアモジュール

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

    再生用のURLを取得するには、以下に詳述するPlayback APIリクエスト

    ビデオを置き換える

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

    ここで作業サンプルを参照してください

    動画を再トランスコードする

    あなたがすることを選択した場合マスターをアーカイブするを介してビデオを取り込んだときDynamic Ingest APIまたはStudioUpload Moduleの場合、マスターからビデオを再トランスコードすることもできます。この場合も、取り込みリクエストの 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": "https://bcls@solutions.brightcove.com/bcls/assets/images/great-blue-heron-poster.png",
            "width": 1280,
            "height": 720
          },
          "thumbnail": {
            "url": "https://bcls@solutions.brightcove.com/bcls/assets/images/great-blue-heron-thumbnail.png",
            "width": 160,
            "height": 90
          },
          "callbacks": [
            "https://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": "https://solutions.brightcove.com/bcls/assets/vtt/sample.vtt",
              "srclang": "en",
              "kind": "captions",
              "label": "EN",
              "default": true
            },
            {
              "url": "https://solutions.brightcove.com/bcls/assets/vtt/sample-es.vtt",
              "srclang": "es",
              "kind": "captions",
              "label": "ES",
              "default": false
            }
          ],
          "callbacks": [
            "https://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"
        }
        
        

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

    ダイナミックデリバリービデオプレーヤー

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

    Dynamic Delivery Sidecar Captions
    動的配信サイドカーキャプション

    動的レンディションを取得する

    ビデオのダイナミックレンディションに関する情報を取得するには、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はサポートされていますが、通常のビデオ取り込みとは動作が異なります。あなたがやるない取り込みプロファイルでパッケージを指定する必要があります。代わりに、パッケージはアカウントのDRM設定に基づいて自動的に行われます。Brightcoveサポートに連絡するビデオのDRMパッケージのデフォルトを設定します。

    詳細については、を参照してください。 DRMによるコンテンツの取り込み

    透かし入りのレンディション

    透かし入りのレンディションサポートされています。一部またはすべての動画に透かしを追加する必要がある場合は、Brightcoveサポートにお問い合わせください。

    透かし入りのレンディションは静的な動的配信プロファイルに追加できますが、ないコンテキストアウェアエンコーディング(CAE)プロファイル用。

    摂取ステータス

    コールバックをサブスクライブするか、Status APIにクエリを実行してジョブのステータスを取得することにより、DynamicDeliveryの取り込み処理に関する情報を受け取ることができます。

    コールバック

    取り込みリクエストでは、取り込みプロセスの結果の通知を受信するために1つ以上のコールバックURLを指定できます。指定する URL は、POST リクエストを受け付けることができるアプリ用のものである必要があります。通知は JSON 形式で送信されます。

    通知の受信と解釈の詳細については、通知

    ステータスAPI

    Status 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 つのタイトルに関連付ける機能は、いくつかの重要なシナリオで役立ちます。

    • 同じビデオを異なる言語で再生し、グローバルに幅広いリーチに対応 
    • 視覚障害者の説明を音声で提供

    この機能の使用の詳細については、を参照してください。複数のオーディオトラック

    サンプルコード

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

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

    制約事項

    • セグメント化されたビデオタイプ(HLSおよびDASH)の場合、一部のプレーヤーは、オーディオおよびビデオストリームの長さがセグメントの継続時間よりも大きく異なる場合を処理しません。この問題が発生した場合は、短いセグメント長を使用してみてください。

    ページの最終更新日22 Sep 2021