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

    ライブAPI:VODクリップの作成

    このトピックでは、ライブストリームからビデオオンデマンド(VOD)クリップを作成する方法を説明します。

    概要

    クリップは、ライブストリームから抽出された動画です。それらは、S3バケット、FTPサイト、またはビデオクラウドアカウント。クリップはMP4ビデオとして作成され、それはすべてのケースで宛先に送信されるものです。の場合ビデオクラウド、MP4は取り込みシステムによってトランスコードされ、ビデオ用に作成されるレンディションの種類は、使用される取り込みプロファイルによって異なります。

    クリップの定義は、/vodsエンドポイントを使用して作成されます。

    クリップはいくつかの方法で作成できます。

    • ライブストリームイベントの SMPTE タイムコードで、stream_start_timecodestream_end_timecodeおよび/または定義されている- これにはエンコーダが必要であることに注意してくださいタイムコード情報を送信する
    • start_timeend_time開始時刻を基準に定義されたおよび/または定義 ( stream_start_time )ライブストリームイベント全体の
    • エポック (Unix) 時間 (秒) start_timeend_timeで定義されたおよび/または定義
    • duration
    • VOD API できるで使用する暗号化またはDRM保護仕事。現在、ライブモジュールはこれをサポートしていませんが、将来のリリースでサポートされる予定です。

    1. クリップをできるだけ早く使用できるようにするには、セグメント精度が高いクリップを最初に作成してから、使用可能な次第、フレーム精度のクリップに置き換えます。
    2. を指定した場合duration、作成されるクリップは次のようになります。
      • ジョブがアクティブでまだ有効な場合:(要求時間-期間) ~ (要求時間)
      • ジョブが終了した場合:( finished_at -期間) ~ ( finished_at )
    3. 両方を指定するとstart_timeend_time次のようになります。
      • ジョブがアクティブでまだライブの場合:created_atエポックタイムウィンドウが完全にその範囲内にあり、リクエスト時間内に収まる限り、クリップが作成されます
      • ジョブが終了した場合: created_atエポックタイムウィンドウが完全におよび内に収まる限りfinished_at、クリップが作成されます。
    4. SSAI を使用したライブストリームのクリップには広告は含まれません。
    5. クリップは、イベントの 7 日後まで作成できます。にとって9月、次のアクティベーションまたは7日(どちらか短い方)まで作成できます。
    6. VOD API は、ストリーム内に存在するコンテンツ以外のコンテンツを追加しません。300 秒の長さのライブストリームで 350 を指定すると、出力の長さは 300 秒になります。
    7. ライブストリームはブロードキャストされた状態で保存され、イベント終了後の 7 日間すぐに利用できるため、クリッピング機能に DVR 対応のライブストリームを使用する必要はありません。
    8. Brightcove Live クリッピングでは、最高解像度の出力と同じ解像度のクリップしか生成されません。ソース入力解像度とは一致しません(最高解像度の出力と同じでない限り)。

    クリップを複数の宛先に送信することもできます。

    • NS ビデオクラウドアカウント
    • FTPサーバ
    • S3 バケット

    クリップを指定すると、出力しなければならない含むまた NS url行き先また NS videocloudビデオの作成とクリップの取り込みを詳細に説明するオブジェクトビデオクラウド

    注: ライブストリームの実行中にクリップを作成できます。これを行うには、クリップの開始時間と終了時間をエポック時間、またはライブストリームの開始時刻を基準に定義する必要があります

    認証情報

    クリップの送信先でアクセスする認証情報が必要な場合は、Live API の認証情報操作を使用して認証情報を作成できます。詳細については、Live API の認証情報の管理を参照してください

    終点

    クリップは、POST次の宛てにリクエストを送信することによって作成されます。

    https://api.bcovlive.io/v1/vods
    
    

    リクエスト本文- ビデオクラウド

    例 1: ストリーム開始を基準とした開始/終了時間

    リクエスト本文には、開始時刻と終了時刻、およびクリップを送信する場所の詳細が含まれます。これは、ストリームの3分の1分のクリップを作成し、それをに送信するサンプルリクエスト本文です。ビデオクラウドアカウント:

    {
      "live_job_id":"PUT-LIVE-JOB-ID-HERE",
      "outputs":[
        {
          "label": "60 secs by stream from min 2 to min 3",
          "stream_start_time": 120,
          "stream_end_time": 180,
          "credentials": "USER_VIDEOCLOUD_CREDENTIAL_LABEL",
          "videocloud": {
            "video": {
            "name": "One Minute Clip",
            "tags": ["live", "clip"]
            },
              "ingest": {
                "capture-images": true
            }
          }
        }
      ]
    }
    
    

    この例では、1分間のクリップを作成し、に送信しています。ビデオクラウド。クリップに名前といくつかのタグを付けていますが、取り込みプロファイルアカウントのデフォルトが使用されるように再トランスコーディングし、指示しますビデオクラウドトランスコーディング中にクリップからサムネイルとポスターの画像をキャプチャします。

    例 2: エポック時間での開始/終了時間

    リクエスト本文には、開始時刻と終了時刻をエポック時間で表し、クリップを送信する場所の詳細が含まれます。これは、ストリームの3分の1分のクリップを作成し、それをに送信するサンプルリクエスト本文です。ビデオクラウドアカウント:

    {
      "live_job_id":"PUT-LIVE-JOB-ID-HERE",
        "outputs":[
          {
            "label": "60 secs - epoch time",
            "start_time": 1516652694,
            "end_time": 1516652754,
            "credentials": "USER_VIDEOCLOUD_CREDENTIAL_LABEL",
            "videocloud": {
              "video": {
              "name": "One Minute Clip",
              "tags": ["live", "clip"]
              },
                "ingest": {
                "capture-images": true
            }
          }
        }
      ]
    }
    
    

    この例では、特定のエポック時間(この例では 2018 年 1 月 22 日 08:24:54 GMT)に 1 分のデュレーションのクリップを作成しています。

    例 3: ストリームの開始を基準とした開始時間を持つ期間

    リクエスト本文には、デュレーションと stream_start_time、およびクリップを送信する場所の詳細が含まれます。これは、ストリームの3分の1分のクリップを作成し、それをに送信するサンプルリクエスト本文です。ビデオクラウドアカウント:

    {
      "live_job_id":"PUT-LIVE-JOB-ID-HERE",
      "outputs":[
        {
          "label": "60 secs from start time",
          "stream_start_time": 300,
          "duration": 60,
          "credentials": "USER_VIDEOCLOUD_CREDENTIAL_LABEL",
          "videocloud": {
            "video": {
            "name": "One Minute Clip",
            "tags": ["live", "clip"]
            },
            "ingest": {
            "capture-images": true
            }
          }
        }
      ]
    }
    
    

    この例では、ライブストリームの開始から 5 分後に開始する 1 分のデュレーションのクリップを作成します。

    例 4: 開始時間または終了時間がない期間

    リクエスト本文には、開始時刻と終了時刻をエポック時間で表し、クリップを送信する場所の詳細が含まれます。これは、ストリームの3分の1分のクリップを作成し、それをに送信するサンプルリクエスト本文です。ビデオクラウドアカウント:

    {
      "live_job_id":"PUT-LIVE-JOB-ID-HERE",
      "outputs":[
        {
          "label": "60 secs - duration",
          "duration": 60,
          "credentials": "USER_VIDEOCLOUD_CREDENTIAL_LABEL",
          "videocloud": {
            "video": {
            "name": "One Minute Clip",
            "tags": ["live", "clip"]
            },
            "ingest": {
              "capture-images": true
            }
          },
          "notifications": ["http://myserver.com/api/notification_listener?type=jvod"]
        }
      ]
    }
    
    

    この例では、1 分のデュレーションのクリップを作成します。開始時間や終了時間を指定していないため、クリップはライブストリームの最後の 60 秒から取得されます。

    例 5: stream_start_timecodeとを使用するstream_end_timecode

    リクエスト本文には、HH: MM: SS: FF タイムコードの開始時間と終了時間/フレーム、およびクリップを送信する場所の詳細が含まれます。タイムコードを使用するには、エンコーダがタイムコードを送信している必要があります。これは、ストリームの50分のクリップを作成し、それをに送信するサンプルリクエスト本文です。ビデオクラウドアカウント:

    {
      "live_job_id":"PUT-LIVE-JOB-ID-HERE",
      "outputs":[
        {
          "label": "Clipping using Timecode from-01:10:18:15 to-01:11:08:15",
          "stream_start_timecode": "01:10:18:15",
          "stream_end_timecode": "01:11:08:15",
          "credentials": "USER_VIDEOCLOUD_CREDENTIAL_LABEL",
          "videocloud": {
            "video": {
              "name": "Fifty Minute Clip",
              "tags": ["live", "clip"]
            },
            "ingest": {
            "capture-images": true
            }
          }
        },
        "notifications": ["http://myserver.com/api/notification_listener?type=jvod"]
      ]
    }
    
    

    クリップの送信に関する一般情報ビデオクラウド

    どのフィールドをに含めることができるかを確認するにはvideoingestオブジェクト、を参照してくださいDynamic Ingest APIリファレンス

    リクエストボディ-S3

    リクエスト本文には、開始時刻と終了時刻、およびクリップを送信する場所の詳細が含まれます。ストリームの 3 分間のクリップを作成し、それを S3 バケットに送信するリクエストボディの例を次に示します。

    {
      "live_job_id":"",
      "outputs":[
        {
          "label": "last_30",
          "duration": 30,
          "url": "s3://YOUR_BUCKET_NAME/file_name.mp4",
          "credentials": "s3-credentials",
          "notifications": ["http://myserver.com/api/notification_listener?type=jvod"]
        }
      ],
    }
    
    

    この例では、30 秒のデュレーションのクリップを作成し、S3 バケットに送信しています。クリップ用のファイル名を含むバケット URL と、保存された S3 バケット認証情報の名前を示す文字列を提供します。認証情報は、Brightcove サポートがお客様のアカウントに対して設定できます。

    リクエスト本文フィールド

    リクエスト本文フィールドの完全な表を次に示します。

    リクエスト本文フィールド
    フィールド タイプ 説明
    live_job_id 文字列

    VOD クリップの作成元となるライブストリームジョブの ID。

    outputs オブジェクト []

    VOD 出力の配列

    outputs.label 文字列

    出力のラベル

    outputs.duration 数値

    クリップの持続時間 (秒)。durationを単独で使用して、{duration}ストリームの最後の秒で構成されるクリップを定義できます。durationいずれでも使用できstream_start_timestream_end_time , start_time , end_time , stream_end_timecode、またはstream_start_timecode

    outputs.stream_start_time 数値

    ライブストリームの開始時間に対するクリップの開始時間(秒単位)。stream_start_timeは、stream_end_timeまたはdurationのいずれかとともに使用する必要があります。

    outputs.stream_end_time 数値

    ライブストリームの開始時間に対するクリップの終了時間(秒)は、stream_end_time次のいずれかとともに使用する必要があります。stream_start_timeまたはduration

    outputs.start_time 数値

    クリップの開始時間はエポック (Unix) 時間 (秒) で表されます。start_timeend_timeまたはduration

    outputs.end_time 数値

    クリップの終了時刻をエポック (Unix) 時間 (秒) end_timeで指定します。start_timeまたはduration

    outputs.stream_start_timecode 数値

    ストリームの先頭からの SMPTE 形式 (HH: MM: SS: FF) タイムコード内のクリップの開始時刻は、stream_start_timecode次のいずれかとともに使用する必要があります。stream_end_timecodeまたはduration

    outputs.stream_end_timecode 数値

    ストリームの終わりからのSMPTEフォーマット(HH:MM:SS:FF)タイムコードでのクリップの終了時間。outputs.stream_end_timecodeは、stream_start_timecodeまたはdurationのいずれかとともに使用する必要があります。

    outputs.url 文字列

    クリップのリンク先URL、出力に注意してくださいしなければならない含むまたこれurl分野また NS videocloudのビデオプロパティと取り込みオプションを定義するオブジェクトビデオクラウド

    outputs.credentials 文字列

    このアドレスに対してアカウントで設定された認証情報の名前

    outputs.videocloud オブジェクト

    の入力を含むオブジェクトビデオクラウド摂取

    outputs.videocloud.video オブジェクト

    の入力を含むオブジェクトビデオクラウドビデオオブジェクトの作成-を参照してくださいビデオを作成するためのCMS APIリファレンス

    outputs.videocloud.ingest オブジェクト

    の入力を含むオブジェクトビデオクラウドビデオの取り込み-を参照してください動的取り込みリファレンス - NS いいえ含めるmasterその情報はLive APIによって提供されるためです。取り込みプロファイルが指定されていない場合は、アカウントのデフォルトプロファイルが使用されます。

    のビデオフィールドビデオクラウド摂取

    詳細については、 CMS API リファレンスを参照してください

    動画フィールド
    フィールド タイプ 説明
    ad_keys 文字列 動画に割り当てられた広告キーと値のペアを表す文字列。キーと値のペアは、キー=値としてフォーマットされ、アンパサンドで区切られます。例: "adKeys": "category=sports&live=true"
    cue_points マップの配列 キューポイントマップの配列
    custom_fields フィールドと値のペアのマップ (文字列) fieldname:valueビデオのカスタムセット-このビデオの値を持たないカスタムフィールドはこのマップに含まれないことに注意してください。カスタムフィールド値の最大長は 1024 シングルバイト文字です
    description 文字列。古い shortDescription の代わりになります ビデオの簡単な説明 (最大長:248 バイト文字)
    economics 文字列。有効な列挙値の 1 つでなければなりません 「AD_SUPPOPTED」(デフォルト)または「無料」
    geo プロパティと値のペアのマップ 動画の地上制限プロパティ
    link プロパティと値のペアのマップ 関連リンクプロパティのマップ
    long_description 文字列 長い説明 (5000 文字まで)
    name 文字列 ビデオの名前(最大長:248 シングルバイト文字)が必要です
    offline_enabled ブール値 ビデオがオフライン再生可能かどうか
    projection 文字列 360°動画のマッピング投影(例:「エクイレクタングラーン」)
    reference_id 文字列 動画を一意に識別するユーザー指定の ID。150 文字に制限されています。referenceId は、他のシステムでこの動画を識別するために、外部キーとして使用できます。参照 ID には、スペース、カンマ、特殊文字を含めることはできません。
    schedule プロパティと値のペアのマップ ビデオの空室状況のための開始日と終了日のマップ
    state 文字列 アクティブ、非アクティブ
    tags タグの配列 (文字列) 動画に割り当てられたタグの配列
    text_tracks HTML5スタイルのテキストトラックの配列 ビデオに割り当てられたテキストトラック(WebVTT ファイル)の配列

    ビデオキューポイントフィールド

    次の表に、video.cuepoints

    キューポイントフィールド
    フィールド タイプ 説明
    id 文字列 キューポイントのシステム ID
    force_stop ブール値 ビデオがキューポイントで停止するかどうか
    metadata 文字列; コードポイントのみ キューポイントに関連付けられたメタデータ文字列
    name 文字列 キューポイント名
    time フロート ビデオの開始位置から測定されたキューポイントの時間(秒)
    type 文字列 キューポイントタイプ ( ADまたはDATA )

    ビデオジオフィールド

    次の表に、video.geoオブジェクトフィールドを示します。

    地理フィルタリングフィールド
    フィールド タイプ 説明
    countries 国コード文字列の配列 ビデオの再生が許可または許可されていない国の2文字または4文字のコードのISO3166リストの配列(https://www.iso.org/obp/ui/)
    exclude_countries ブール値 trueの場合、国配列は表示から除外された国のリストとして扱われます
    restricted ブール値 この動画で地理フィルタリングが有効になっているかどうか

    次の表に、video.linkオブジェクトフィールドを示します。

    リンクフィールド
    フィールド タイプ 説明
    url 文字列 関連リンク URL
    text 文字列 関連リンクテキスト

    ビデオスケジュールフィールド

    次の表は、video.scheduleオブジェクト

    video.scheduleフィールド
    フィールド タイプ 説明
    ends_at ISO-8601 日付形式の文字列 ビデオが視聴できなくなる日時
    starts_at ISO-8601 日付形式の文字列 ビデオが視聴可能になる日時です。

    ビデオクラウドフィールドを取り込む

    ビデオクラウドフィールドの取り込み
    フィールド タイプ 説明
    audio_tracks オプショナル 動的配信のみ オブジェクト []

    オーディオトラックオブジェクトの配列-を参照してくださいAPIを使用した複数のオーディオトラックの実装詳細については。

    audio_tracks.merge_with_existing オプショナル ブール値

    既存のオーディオトラックを置き換えるか、新しいオーディオトラックを追加するか(現在のみfalseサポートされています)動的配信のみ

    デフォルト値:false

    audio_tracks.masters オプショナル オブジェクト []

    オーディオトラックオブジェクトの配列動的配信のみ

    audio_tracks.masters.url オプショナル 文字列

    オーディオファイルのURL 動的配信のみ

    audio_tracks.masters.language オプショナル 文字列

    のサブタグからのオーディオトラックの言語コードhttps://www.iana.org/assignments/language-subtag-registry/language-subtag-registry(Brightcoveサポートに連絡することでアカウントにデフォルトを設定できます)動的配信のみ

    audio_tracks.masters.variant オプショナル 文字列

    オーディオトラックのタイプ(デフォルトはBrightcoveサポートに連絡することでアカウントに設定できます)動的配信のみ

    許容値:"main""alternate""commentary""dub""descriptive"

    profile オプショナル 文字列

    トランスコーディングに使用する取り込みプロファイル。存在しない場合は、デフォルトのプロファイルが使用されます

    text_tracks オプショナル オブジェクト []

    の配列text_tracksオブジェクト-参照WebVTTファイル(テキストトラック)の取り込み

    text_tracks.url Url

    WebVTT ファイルの URL

    text_tracks.srclang 文字列

    ISO 639 テキストトラックの 2 文字 (アルファ-2) 言語コード

    text_tracks.kind オプショナル 文字列

    vtt ファイルの使用方法について

    デフォルト値:captions

    許容値:"captions""subtitles""chapters""metadata"

    text_tracks.label オプショナル 文字列

    ユーザーが読めるタイトル

    text_tracks.default オプショナル ブール値

    キャプション/字幕のデフォルト言語を設定します

    capture-images オプショナル ブール値

    トランスコーディング中にポスターとサムネイルをキャプチャする必要があるかどうか。デフォルトはtrueプロファイルに画像レンディションがある場合、falseそうでない場合-を参照してください画像とDynamicIngest API詳細については

    poster オプショナル オブジェクト

    摂取するビデオポスター-参照画像とDynamicIngest API詳細については

    poster.url Url

    動画ポスター画像のURL

    poster.height オプショナル 整数

    画像のピクセル高さ

    poster.width オプショナル 整数

    画像のピクセル幅

    thumbnail オプショナル オブジェクト

    取り込むビデオサムネイル-を参照画像とDynamicIngest API詳細については

    thumbnail.url Url

    動画のサムネイル画像の URL

    thumbnail.height オプショナル 整数

    画像のピクセル高さ

    thumbnail.width オプショナル 整数

    画像のピクセル幅

    callbacks オプショナル 文字列 [] そのURLの配列通知に送信する必要があります

     

    API レスポンス

    クリップの作成リクエストへの応答には、ジョブのIDとリクエスト本文に設定したラベル、およびライブジョブIDが含まれます。

    {
      "vod_jobs": [
        {
          "jvod_id": "9582606c50d84be5ad4bc104f2aa3360",
          "label": "last 60 secs of live job"
        }
      ],
      "live_job_id": "88ba5d87b61a4ef3a6dddabd0c38d319"
    }
    
    

    応答フィールド

    応答ボディフィールド
    フィールド タイプ 説明
    vod_jobs オブジェクト

    クリップ応答オブジェクト

    jvod_id 文字列

    クリップジョブID

    label 文字列

    クリップラベル(入力から)

    live_job_id 文字列

    ライブジョブID(入力から)


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