賃貸システムの概要
ブライトコーブ Dynamic Ingest API ビデオソースファイルが顧客の保存場所からダウンロードされ、ソースファイルの指定されたレンディションが作成される機能に基づいています。 (オプションもあります ソースファイルをアップロードする Dynamic Ingestがそれらにアクセスできる一時的な場所に移動します。)プラットフォームはクラウド中心であり、グローバルに分散されており、最新の手法に基づいています。liverクラス最高の一貫性と速度。
また、 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を使用します 管理ツール または次の文書のいずれかを参照してください。
ベストプラクティス
有効なソースの場所
引き込みによる摂取
ダイナミックインジェストは、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 Deを作成するには、特別な取り込みプロファイルが必要ですliveryビデオ。 あなたはいくつかを見つけるでしょう 標準のインジェストプロファイル DynamicDeのときにアカウントにliveryが有効になっているため、これらをお勧めします。
カスタムDynamicDeを追加することもできますliveStudioの[管理]セクションでプロファイルを取り込みプロファイルに変換します-を参照してください 動的Deの取り込みプロファイルの作成livery 詳細については。
サンプルダイナミックデliveryプロファイル
以下はDynamicDeのサンプルですlive開始するために使用できるryプロファイル。 あなたがする必要があるのは交換することだけです 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
}
]
}
}
標準の動的deの詳細についてはliveryプロファイルとレンディションを参照してください 動的Deの標準取り込みプロファイルlivery
動画の取り込み
動画の取り込みには、次の2つのAPIリクエストが必要です。
- コール CMS API にビデオオブジェクトを作成する Video Cloud システムとそのIDを得る
- コール 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
フィールドはオプションですが、取り込みジョブの進行状況をトラッキングするための最良の方法として使用することを強くお勧めします。 見る 以下 通知の詳細については、
レンディションの表示
ビデオのレンディションを表示するには、 スタジオのメディアモジュール.
レンディションの完全なプロパティを表示するには、 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": "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"
]
}
サイドカーのテキストトラックは、Dynamic De以外の場合と同様に、CMSまたは再生応答に表示されます。liveryビデオ:
"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 テキストトラック付き(英語とスペイン語)
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でコンテンツを取り込む.
ウォーターマーク付きレンディション
ウォーターマーク付きレンディション サポートされています。 動画の一部またはすべてに透かしを追加する必要がある場合は、ブライトコーブサポートにお問い合わせください。
透かし入りのレンディションを静的ダイナミックデに追加できることに注意してくださいliveryプロファイル、しかし Studio上ではサポートされていません。 Context Aware Encoding(CAE)プロファイルの場合。
インジェストステータス
DynamicDeに関する情報を受け取ることができますliveコールバックをサブスクライブするか、ステータス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プロファイルの使用方法については、 コンテキスト認識エンコーディング.
複数のオーディオトラック
DynamicDe用に設定されたアカウントliveryを有効にして、ビデオに複数のオーディオトラックを許可することができます。
複数のオーディオトラックを1つのタイトルに関連付ける機能は、次の2つの重要なシナリオで役立ちます。
- 同じ動画を異なる言語で再生して、世界中に広める
- 視覚障害者のための説明をオーディオに提供する
この機能の使用の詳細については、 複数のオーディオトラック.
サンプルコード
ラーニングサービスは、Webインターフェースを提供して送信するいくつかのサンプルアプリを提供します。 Dynamic Ingest API PHPプロキシ経由のリクエスト。 サンプルアプリを見る.
さらに、以下のGitHubリポジトリには、Java、Python、およびC#のサンプルコードが含まれています。このサンプルコードは次のとおりです。 サポートされていません ブライトコーブ:
制限事項
- セグメント化されたビデオタイプ(HLSおよびDASH)の場合 playersは、オーディオとビデオのストリーム長がセグメントの継続時間以上異なる場合は処理しません。 これが発生した場合は、セグメント長を短くしてみてください。