必要なもの
このチュートリアルを完了するには、次のものが必要です。
- Live API 用にセットアップされたアカウント
- Live API の API キー (アカウントの設定時に提供されます)
- Video Cloud アカウント(ライブストリームジョブの作成には必要ありませんが、Brightcove Player での再生の設定には必要)
- を使用する場合CMS API StudioではなくVideoCloudビデオを作成するには、ビデオ/読み取りおよびビデオ/書き込み権限を持つクライアントクレデンシャルが必要です。クライアントクレデンシャルを取得するプロセスに慣れていない場合は、を参照してください。認証以下のセクション。
- cURL または Insomnia や Postman などの REST クライアントを介して REST API 要求を行う機能。
お手伝いするために、エクササイズに使用できる不眠症と郵便配達の輸入品を用意しました(Brightcoveラーニングサービスでは、不眠症を好み、使用していますが、それがあれば郵便配達も機能します)。
各zipファイルには、あなたを助けるためのreadmeページがあります。
- 実際のライブストリームを作成するには、ライブストリーミング用のソフトウェアまたはハードウェアエンコーダが必要です。以下の手順には、Wirecast(トライアルにサインアップ)を使用してライブ配信を設定する手順が含まれます。別のエンコーダを使用している場合、プロセスは異なりますが、Live API レスポンスから必要な情報の点で類似している必要があります。
CMS API の認証情報を取得する
ライブジョブの作成
まず、ライブジョブを作成します。
- このステップでは、
POST
次の宛てにリクエストを送信します。https://api.bcovlive.io/v1/jobs
リクエスト本文として以下を使用します。
{ "live_stream": true, "region": "us-west-2", "reconnect_time": 1800, "outputs": [ { "label": "hls720p", "live_stream": true, "width": 1280, "height": 720, "video_codec": "h264", "h264_profile": "high", "video_bitrate": 2100, "segment_seconds": 4, "keyframe_interval": 60 }, { "label": "hls540p", "live_stream": true, "width": 960, "height": 540, "video_codec": "h264", "h264_profile": "main", "video_bitrate": 1500, "segment_seconds": 4, "keyframe_interval": 60 }, { "label": "hls360p", "live_stream": true, "width": 640, "height": 360, "video_codec": "h264", "h264_profile": "main", "video_bitrate": 800, "segment_seconds": 4, "keyframe_interval": 60 } ] }
- Insomnia や Postman などの REST クライアントを使用している場合は、リクエストに次のヘッダーを追加する必要があります。
キー 値 X-API-KEY あなたの API キー コンテンツタイプ アプリケーション/json 上記の手順 1 で示したリクエスト本文を使用し、必ず POST メソッドを使用してリクエストを送信してください。
- API からの応答は、次のようになります。
レスポンスの例
{ "id": "15981d93877e490185e6ebc9af2c79a3", "outputs": [ { "id": "0-15981d93877e490185e6ebc9af2c79a3", "playback_url": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_0/chunklist.m3u8", "playback_url_dvr": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_0/chunklist_dvr.m3u8", "playback_url_vod": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_0/chunklist_vod.m3u8", "label": "hls720p" }, { "id": "1-15981d93877e490185e6ebc9af2c79a3", "playback_url": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_1/chunklist.m3u8", "playback_url_dvr": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_1/chunklist_dvr.m3u8", "playback_url_vod": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_1/chunklist_vod.m3u8", "label": "hls540p" }, { "id": "2-15981d93877e490185e6ebc9af2c79a3", "playback_url": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_2/chunklist.m3u8", "playback_url_dvr": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_2/chunklist_dvr.m3u8", "playback_url_vod": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_2/chunklist_vod.m3u8", "label": "hls360p" }, { "id": "3-15981d93877e490185e6ebc9af2c79a3", "playlist_type": "defaultS3", "type": "playlist", "filename": "playlist.m3u8", "dvr_filename": "playlist_dvr.m3u8", "playback_url": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/playlist.m3u8", "playback_url_dvr": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/playlist_dvr.m3u8", "ssai_playback_urls": { "685b239f582c42fca49da33be4f2328e": { "playback_url": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/685b239f582c42fca49da33be4f2328e/playlist_ssaiM.m3u8", "playback_url_dvr": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/685b239f582c42fca49da33be4f2328e/playlist_dvr_ssaiM.m3u8", "playback_added_cdns": [], "description": "House Ads - a95ac581551b4478b27910e5675db1f8", "type": "ads" }, "c96e2d00d6744c65a3eddb15425e4a51": { "playback_url": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/counter/playlist_ssaiM.m3u8", "playback_url_dvr": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/counter/playlist_dvr_ssaiM.m3u8", "playback_added_cdns": [], "description": "House Counter - a95ac581551b4478b27910e5675db1f8", "type": "counter" } } } ], "stream_url": "rtmp://ep1-apse2.bcovlive.io:1935/15981d93877e490185e6ebc9af2c79a3", "stream_name": "alive", "encryption": {}, "playback_url": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/playlist.m3u8", "playback_url_dvr": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/playlist_dvr.m3u8", "ssai_playback_urls": { "685b239f582c42fca49da33be4f2328e": { "playback_url": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/685b239f582c42fca49da33be4f2328e/playlist_ssaiM.m3u8", "playback_url_dvr": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/685b239f582c42fca49da33be4f2328e/playlist_dvr_ssaiM.m3u8", "playback_added_cdns": [], "description": "House Ads - a95ac581551b4478b27910e5675db1f8", "type": "ads" }, "c96e2d00d6744c65a3eddb15425e4a51": { "playback_url": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/counter/playlist_ssaiM.m3u8", "playback_url_dvr": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/counter/playlist_dvr_ssaiM.m3u8", "playback_added_cdns": [], "description": "House Counter - a95ac581551b4478b27910e5675db1f8", "type": "counter" } } }
- 私たちの目的のために、応答の重要なフィールドは次のとおりです。
- stream_url (51 行目)
- ストリーム名 (52 行目)
- playback_url (54行目)
以下の手順では、ユーザー独自の応答から、これらのフィールドの値が必要になります。
Video Cloud ビデオを設定する
ライブストリーム情報を入手したので、Video Cloud にリモート動画を設定し、Brightcove Player で再生できるようにします。
Insomnia または Postman を使用している場合は、クライアントの資格情報を使用して OAuth2 認証を設定する必要があります。ヘルプが必要な場合は、次のいずれかのガイドを参照してください。
-
まず、
POST
次のことをリクエストして、新しいビデオを作成する必要があります。https://cms.api.brightcove.com/v1/accounts/account_id/videos
-
リクエスト本文には複数のメタデータを含めることができます(詳細については API リファレンスを参照してください)が、
name
必要なのは以下だけです。{ "name": "some name for your live stream" }
-
応答にはすべての動画メタデータが含まれますが、
id
重要なフィールドはです。リモートアセットを追加する必要があります。 -
HLS ストリームを追加するには、
POST
次のことを要求します。https://cms.api.brightcove.com/v1/accounts/account_id/videos/video_id/assets/hls_manifest
-
今回は、リクエスト本文は次のようになります。
{ "remote_url": "playback_url for your live stream" }
プレーヤーにビデオを追加する
今度は、単純なHTMLページを作成し、作成したばかりのビデオでそれにプレーヤーを追加します。
- ライブストリームプレーヤーをテストするための単純な HTML ページを作成します。あなたが好きな他のコンテンツを含めることもできますし、まったく含まないこともできます。
- Studio Media モジュールで、前の手順で作成したビデオを選択し、[ > Web プレーヤーを公開して埋め込む ] をクリックします。
- [パブリッシュ] ダイアログで、プレーヤーを選択します (Brightcove のデフォルトプレーヤーは問題ありません)。
- 下にスクロールし、必要に応じてプレーヤーのサイズを設定し、コードブロックをクリックして標準プレーヤーコードを選択します。このコードをコピーして、htmlページの本文に貼り付けます。
- HTML ページをリモートまたはローカルの Web サーバに保存して、参照できるようにします。
- Web ブラウザでページを開きます。蒸しを開始していないので、メディアエラーが表示されます。
cURL コマンド
このセクションでは、Insomnia や Postman などの REST クライアントを使用しないユーザー向けの代替の cURL コマンドを提供します。
ライブジョブを作成するためのcURL
## Create Job - Simple
curl -X "POST" "https://api.bcovlive.io/v1/jobs" \
-H "X-API-KEY: YOUR_API_KEY_HERE" \
-H "Content-Type: application/json" \
-d $'{
"outputs": [
{
"height": 720,
"video_bitrate": 2100,
"segment_seconds": 4,
"keyframe_interval": 60,
"width": 1280,
"video_codec": "h264",
"label": "hls720p",
"h264_profile": "high",
"live_stream": true
},
{
"height": 540,
"video_bitrate": 1500,
"segment_seconds": 4,
"keyframe_interval": 60,
"width": 960,
"video_codec": "h264",
"label": "hls540p",
"h264_profile": "main",
"live_stream": true
},
{
"height": 360,
"video_bitrate": 800,
"segment_seconds": 4,
"keyframe_interval": 60,
"width": 640,
"video_codec": "h264",
"label": "hls360p",
"h264_profile": "main",
"live_stream": true
}
],
"region": "us-west-2",
"reconnect_time": 1800,
"live_stream": true
}'
コードをテキストエディタにコピーし、置き換えますYOUR_API_KEY_HERE
独自のAPIキーを使用します。次に、コードをコマンドラインにコピーして貼り付けて実行します。
Studio を使用してビデオを作成する
Studio でビデオを作成する別の手順を次に示します。
- Video Cloud Studioにログインします。
- メディアモジュールに移動します。
- 左側のオプションで、[ リモートビデオを追加 ] をクリックします。
- [ リモートビデオを追加 ] ダイアログで、ビデオ名を追加し、Live API
playback_url
レスポンスからのの値をコピーして [URL] フィールドに貼り付けます。次に、[ レンディションを追加 ] をクリックし、[ 保存 ] をクリックします。
Wirecast を使用してイベントをストリーミングする
このセクションでは、ライブストリーミングイベントをサポートするようにTelestream Wirecastエンコーダーを設定し、使用します。Telestream Wirecastソフトウェアは、カメラから入力を取り込み、CDNによって配信できるストリームを生成するデスクトップアプリケーションです。ハードウェアベースおよび他のソフトウェアベースのエンコーディングソリューションには、ご利用のライブストリーミングイベントの配信に、より適したものが存在する可能性があります。Wirecastソフトウェアの体験版を TelestreamのWebサイトからダウンロードすることができます。
注:先へ進む前に、ご利用のコンピューターにWirecastソフトウェアをインストールし、カメラを接続しておく必要があります。
ライブイベント用にWirecastを設定するには、次の手順を行います。
- Wirecastを開きます。
- + にカーソルを合わせ、 [ キャプチャデバイス ] をクリックし、カメラを選択します。
- 矢印ボタンをクリックします( )カメラショットをライブショットにする。
- クリックストリームボタン ( )。出力設定を構成するように求められます。
- 配信先を RTMPサーバーに設定します。[OK]をクリックします。
- アドレスには、Live API から返された stream_url を使用します (ステップ 3)。
- ストリームの場合は、生きているを使用してください。
- (オプション)追加の出力ストリームを作成するには、[追加...]をクリックします。追加の出力ストリームを作成するとき、出力ビットレートを制御するため、独自のカスタムエンコーディングプロファイルを作成したいと思うかもしれません。ストリーム名が新しいビットレートを反映していることを確認します。
- [OK]をクリックし、出力設定を保存します。
- クリックストリームボタン ( )。ライブストリームが始まるはずです。
結論
これで、ライブストリーミングセッションを作成する準備ができました。エンコーダ設定に以下を追加する必要があります。
stream_url
:stream_url
ジョブから追加 (rtmp
住所)stream_name
: ストリーム名はalive
ライブストリームを開始すると、前の手順で作成した Brightcove プレーヤーにライブストリームが表示されます。