概要
このチュートリアルでは、API レベルで Brightcove ライブでライブストリーミングジョブを作成し、そこからフレーム正確なクリップを作成する方法について説明します。
フレーム精度のクリッピングでは、エンコーダが SMPTE タイムコードを送信する必要があります。
このチュートリアルではカール APIリクエストを作成しますが、簡単に作成できます不眠症、郵便配達員または代わりに他のRESTクライアント。
ライブジョブを作成する
まず、ライブジョブを作成します。Live API API-KEY
にはが必要です。アクセスできない場合は、アカウントマネージャーにお問い合わせください。
- 私たちはあなたがすでにBrightcoveのアカウントを持っていて、彼らはあなたがあなたのAPI-KEYを持っていると仮定します、それを呼んでみましょう
bcov-live-api-key
-
以下をコピーして貼り付けますカールテキストエディタへのコマンド:
curl -X POST \ https://api.bcovlive.io/v1/jobs \ -H 'Content-Type: application/json' \ -H 'x-api-key: ' \ -d '{ "live_stream": true, "region": "", "outputs": [{ "label": "hls360p", "live_stream": true, "height": 360, "video_bitrate": 365, "segment_seconds": 6, "keyframe_interval": 60 }, { "label": "hls432p", "live_stream": true, "height": 432, "video_bitrate": 730, "segment_seconds": 6, "keyframe_interval": 60 }, { "label": "hls540p", "live_stream": true, "height": 540, "video_bitrate": 2000, "segment_seconds": 6, "keyframe_interval": 60 }, { "label": "hls720p3M", "live_stream": true, "height": 540, "video_bitrate": 2000, "segment_seconds": 6, "keyframe_interval": 60 }, { "label": "hls720p4.5M", "live_stream": true, "height": 540, "video_bitrate": 4500, "segment_seconds": 6, "keyframe_interval": 60 }] }'
-
置換:
をエンコーダに最も近い利用可能なリージョンとすると、エンコーダに最も近い利用可能なリージョンが表示されます。例えば:
us-west-2
をBrightcoveのLive API キーで使ってください。例:
abcdfeg-this-is-a-fake-api-key-FgJajjasd12hJHsZ
- これらの変更を行ったら、ターミナルまたは使用するコマンドラインアプリにコードをコピーして貼り付けて実行します。
-
応答は次のようなものでなければなりません:
{ "id": "3b6871bf2f344acaa6b397d09b476018", "outputs": [... removed for simplicity ...], "stream_url": "rtmp://ep1-usw2.bcovlive.io:1935/3b6871bf2f344acaa6b397d09b476018", "stream_name": "alive", "static": false, "encryption": {}, "playback_url": "https://bcovlive-a.akamaihd.net/3b6871bf2f344acaa6b397d09b476018/us-west-2/NA/playlist.m3u8", "playback_url_dvr": "https://bcovlive-a.akamaihd.net/3b6871bf2f344acaa6b397d09b476018/us-west-2/NA/playlist_dvr.m3u8" }
このジョブは5つのレンディションを作成しますベースオンAppleの推奨事項。
エンコーダーを設定する
ここで示す手順は、このチュートリアルの手順をテストするために使用された Elemental ライブボックスエンコーダを想定しています。別のエンコーダを使用している場合は、設定が似ているはずです。
この場合の最も重要な設定は次のとおりです。
- タイムコードソースを「システムクロック」として設定
- 「OnFi タイムコード周波数」を 1 に設定します
- ビデオ内の「タイムコード挿入」を確認する
- 強く推奨:フレームレート = ソースに従う
これは、この実験で使用した設定です:
テスト再生
この VideoJS HLS デモページを使用して再生をテストできます。playback_url
返された値を作成ジョブの応答に貼り付けるだけです。
フレーム精度が高いクリップを作成する
このチュートリアルでは、クリップを Video Cloud ライブラリに送信することを前提としています。クリップを S3 バケットまたは他の場所に送信する場合、プロセスは同じです。API リクエストのリクエスト本文にはわずかな違いがあります。
認証情報
ライブアカウントで Video Cloud の認証情報を作成していない場合は、以下の手順に従って作成することができます。これは 1 回限りの操作です。
Video Cloud へのビデオのダイナミックインジェストのクライアント認証情報をまだ持っていない場合は、それらを作成する必要があります。Studioでこれを行う方法については、「 API認証資格情報の管理」を参照してください。
- 次の curl コマンドをテキストエディタにコピーします。
curl -X POST \ https://api.bcovlive.io/v1/credentials \ -H 'Content-Type: application/json' \ -H 'x-api-key: ' \ -d '{ "credential_default_for_type": true, "credential_label": "Video_Cloud_Uploads", "credential_private": "", "credential_public": "", "credential_type": "videocloud" }'
-
置換:
Live APIキーを使用
あなたのクライアントの秘密で
クライアントIDを使用
- 編集したコマンドをコピーしてターミナルまたはコマンドラインアプリに貼り付け、実行します。
- レスポンスは次のようになります。
{ "credential_id": "1e0180330b724dfbbcaf6b28b6c5d517", "user_id": "c2691d4d039040be96c190a949d754a7", "credential_label": "Video_Cloud_Uploads" }
クリップを作成する
Video Cloud 認証情報を取得したら、クリップを作成する準備が整います。
- 以下のカールリクエストをコピーし、テキストエディタに貼り付けます。
curl -X POST \ https://api.bcovlive.io/v1/vods \ -H 'Content-Type: application/json' \ -H 'x-api-key: ' \ -d '{ "live_job_id":"", "outputs":[{ "label": "Trim by SMPTE TC 17:33:11:12 to 17:34:00:00", "stream_start_timecode": "", "stream_end_timecode": "", "videocloud":{"ingest":{"capture-images":true},"video":{"name":"test-frame-accurate-clip"}}, "credentials": "" }] }'
-
置換:
をBrightcoveのLive API キーで使ってください。例えば:
abcdfeg-this-is-a-fake-api-key-FgJajjasd12hJHsZ
ライブジョブを作成するリクエストへの応答にジョブIDを使用します。この例では、この値はになります
3b6871bf2f344acaa6b397d09b476018
-あなたの値は異なります。そして
ライブストリームで意味のある(存在する)値である必要があります。私たちの例では、使用しました:
17:33:11:12
と17:34:00:00
VideoCloudクレデンシャルのラベル付き。すでにそれらを持っていないし、上記の手順を使用して作成した場合、これは
Video_Cloud_Uploads
- 編集したコードをターミナルまたはコマンドラインアプリにコピーして貼り付け、実行します。
- レスポンスは次のようになります。
{ "vod_jobs": [ { "jvod_id": "0b14a4ba326d4dd08f15053ca2a403b7", "label": "Trim by SMPTE Timecodes" } ], "live_job_id": "3b6871bf2f344acaa6b397d09b476018" }
クリップをダウンロードした実験の精度をテストし、 Adobe Premiereを使用して最初と最後のフレームをチェックしました。タイムコードがオーバーレイされているため、入力ポイントと出力ポイントでの精度を確認するには簡単な視覚的なチェックで十分です。