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

    概要:Dynamic Ingest API

    このトピックでは、Dynamic Ingest APIの使用して、動画を取り込み、Dynamic Deliveryを通じて配信する方法について説明します。このガイドは、Dynamic Deliveryインジェストシステム上にあるほとんどの Video Cloud アカウントを対象としています。

    はじめに

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

    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:ベストプラクティスを参照して下さい。

    有効なソースロケーション

    プル型のインジェスト

    Dynamic Ingestでは、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 バケットにある場合、ファイルにアクセスするためのDynamic Ingestのアクセス権限を設定する方法の詳細については、「S3 でのDynamic Ingestの使用」を参照してください。

    FTPに関する注意事項

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

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

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

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

    特殊文字

    Video Cloudがビデオをフェッチするための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 は、Brightcove に送信するときに、 RFC 3986 に従って適切に URL エンコードする必要があります。つまり、 URLのパスで見つかった予約文字はパーセントエンコードされ(スペースは%20にエンコードされる)、URLのクエリで見つかった予約文字はパーセントエンコードされます(スペースは+または%20に、+%2Bにエンコードされています)。

    署名付き S3( v2 には、SignatureExpires AWSAccessKeyId が含まれ、 v4 には X-Amz-Algorithm X-Amz-Credential X-Amz-Date X-Amz-Expires、X-AMZ-SignedHeaders 、および X-Amz-Signature)または GCS 署名有効期限、および GoogleAccessID を含む) URL は、すでに適切にエンコードされており、そのまま使用できるはずです

    サンプルアセット

    Brightcove ラーニングサービスには、Dynamic Ingestを始めるにあたり、実験的に使用できるサンプルアセットがいくつか用意されています。これらのアセットには、複数の言語での短い動画、画像、WebVTT キャプションが含まれます。

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

    動的配信ビデオを作成するには、特別な取り込みプロファイルが必要です。動的配信を有効にすると、アカウントにいくつかの標準の取り込みプロファイルが表示されるので、これらを使用することをお勧めします。

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

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

    以下は、動的配信プロファイルのサンプルです。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メソッド
    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": "https://host/master.mp4"
          },
          "profile": "DynamicDeliverIngestProfile",
          "callbacks": [
            "https://mydomain.com/di-callbacks.php"
          ]
        }
        

    • profile フィールドを含めない場合、そのアカウントのデフォルトプロファイルが使用されます。動画の種類によって異なるプロファイルを使用する必要がある場合を除き、アカウントのデフォルトを使用することをお勧めします。アカウントのデフォルトを、(最も頻繁に)使用するプロファイルに設定してください。
    • callbacks フィールドはオプションですが、取り込みジョブの進捗状況を把握するための適切な方法として使用することを強くお勧めします。通知の詳細については以下を参照して下さい。

    レンディションの表示

    ビデオのレンディションは、StudioのMediaモジュールで確認できます。

    レンディションの全プロパティを表示するには、以下に詳述するCMSAPIリクエストを使用します。

    再生用URLを取得するには、以下に詳述する再生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"
        
        

    DASH

        <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アプリのサイドカーキャプション

    動的配信サイドカーキャプション
    動的配信サイドカーキャプション

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

    ビデオのダイナミックレンディションに関する情報を取得するには、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設定に基づいて自動的にパッケージングが行われます。動画のDRMパッケージングのデフォルトを設定するには、Brightcoveサポートにお問合せ下さい。

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

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

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

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

    取り込み状況

    動的配信の取り込み処理に関する情報は、コールバックをサブスクライブするか、Status APIによるジョブのステータス取得によって得ることができます。

    コールバック

    取り込みリクエストでは、取り込みプロセスの結果の通知を受信するために、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インターフェイスを提供して、PHPプロキシを介したDynamic Ingest API リクエストを送信するいくつかのサンプルアプリを提供しています。サンプルアプリを見る

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

    制約事項

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

    ページの最終更新日11 Nov 2022