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

クイックスタート:Brightcove Live APIを使用してライブストリームを作成する

このチュートリアルでは、Live APIを使用してライブストリームジョブを作成する方法について説明します。

必要なもの

このチュートリアルを完了するには、次のものが必要です。

  • 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 の認証情報を取得する

を使用するにはCMS API適切な資格情報が必要になります。

ほとんどの場合、資格情報を取得する最も簡単な方法は、Studioの管理API認証セクションを使用することです(アカウントに対する管理者権限が必要です)。詳細については、「 API 認証資格情報の管理」を参照してください。この場合、必要な権限は共有関係です。読み取りと書き込みの両方の権限が必要です。

Sharing Relationship Permissions
リレーションシップのアクセス許可の共有

必要な権限が Studio で使用できない場合、または OAuth API から直接取得する場合は、以下に示す [ クライアント認証情報の取得 ] ドキュメントを選択します。どちらのオプションを選択しても、正しい操作権限を要求する必要があります。cURL または Postman で次のものを使用すると、適切な権限を取得できます。

    "operations": [
    "video-cloud/videos/read",
    "video-cloud/videos/create",
    "video-cloud/videos/update"]
JSON

ライブジョブの作成

まず、ライブジョブを作成します。

  1. このステップでは、POST 次の宛てにリクエストを送信します。
    https://api.bcovlive.io/v1/jobs
    
    
    HTTP

    リクエスト本文として以下を使用します。

    {
        "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
            }
        ]
    }
    
    
    JSON
  2. Insomnia Postman などの REST クライアントを使用している場合は、リクエストに次のヘッダーを追加する必要があります。
    キー
    X-API-KEY あなたの API キー
    コンテンツタイプ アプリケーション/json

    上記の手順 1 で示したリクエスト本文を使用し、必ず POST メソッドを使用してリクエストを送信してください。

  3. 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"
    						}
    				}
    		}
    		
    		
    JSON
  4. 私たちの目的のために、応答の重要なフィールドは次のとおりです。
    • stream_url (51 行目)
    • ストリーム名 (52 行目)
    • playback_url (54行目)

    以下の手順では、ユーザー独自の応答から、これらのフィールドの値が必要になります。

Video Cloud ビデオを設定する

ライブストリーム情報を入手したので、Video Cloud にリモート動画を設定し、Brightcove Player で再生できるようにします。

これらのステップでは、 CMS API を使用してビデオを設定しますが、必要に応じて Video Cloud Studio でも実行できます。以下の代替手順を参照してください

Insomnia または Postman を使用している場合は、クライアントの資格情報を使用して OAuth2 認証を設定する必要があります。ヘルプが必要な場合は、次のいずれかのガイドを参照してください。

  1. まず、POST次のことをリクエストして、新しいビデオを作成する必要があります。

    https://cms.api.brightcove.com/v1/accounts/account_id/videos
    HTTP
  2. リクエスト本文には複数のメタデータを含めることができます(詳細については API リファレンスを参照してください)が、name必要なのは以下だけです。

    {
        "name": "some name for your live stream"
    }
    JSON
  3. 応答にはすべての動画メタデータが含まれますが、id重要なフィールドはです。リモートアセットを追加する必要があります。

  4. HLS ストリームを追加するには、POST次のことを要求します。

    https://cms.api.brightcove.com/v1/accounts/account_id/videos/video_id/assets/hls_manifest
    HTTP
  5. 今回は、リクエスト本文は次のようになります。

    {
        "remote_url": "playback_url for your live stream"
    }
    JSON

プレーヤーにビデオを追加する

今度は、単純なHTMLページを作成し、作成したばかりのビデオでそれにプレーヤーを追加します。

  1. ライブストリームプレーヤーをテストするための単純な HTML ページを作成します。あなたが好きな他のコンテンツを含めることもできますし、まったく含まないこともできます。
  2. Studio Media モジュールで、前の手順で作成したビデオを選択し、[ > Web プレーヤーを公開して埋め込む ] をクリックします。
    Publish Video
    動画の公開
  3. [パブリッシュ] ダイアログで、プレーヤーを選択します (Brightcove のデフォルトプレーヤーは問題ありません)。
    Select Player
    プレーヤーの選択
  4. 下にスクロールし、必要に応じてプレーヤーのサイズを設定し、コードブロックをクリックして標準プレーヤーコードを選択します。このコードをコピーして、htmlページの本文に貼り付けます。
    Get Publishing Code
    発行コードを取得
  5. HTML ページをリモートまたはローカルの Web サーバに保存して、参照できるようにします。
  6. Web ブラウザでページを開きます。蒸しを開始していないので、メディアエラーが表示されます。
    Media Error
    メディアエラー

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
	}'
Bash

コードをテキストエディタにコピーし、置き換えますYOUR_API_KEY_HERE 独自のAPIキーを使用します。次に、コードをコマンドラインにコピーして貼り付けて実行します。

Studio を使用してビデオを作成する

Studio でビデオを作成する別の手順を次に示します。

  1. Video Cloud Studioにログインします。
  2. メディアモジュールに移動します。
  3. 左側のオプションで、[ リモートビデオを追加 ] をクリックします。
    Add Remote Video Menu Item
    リモートビデオメニュー項目の追加
  4. [ リモートビデオを追加 ] ダイアログで、ビデオ名を追加し、Live API playback_urlレスポンスからのの値をコピーして [URL] フィールドに貼り付けます。次に、[ レンディションを追加 ] をクリックし、[ 保存 ] をクリックします。
    Add Rendition Dialog
    レンディションの追加ダイアログ

Wirecast を使用してイベントをストリーミングする

このセクションでは、ライブストリーミングイベントをサポートするようにTelestream Wirecastエンコーダーを設定し、使用します。Telestream Wirecastソフトウェアは、カメラから入力を取り込み、CDNによって配信できるストリームを生成するデスクトップアプリケーションです。ハードウェアベースおよび他のソフトウェアベースのエンコーディングソリューションには、ご利用のライブストリーミングイベントの配信に、より適したものが存在する可能性があります。Wirecastソフトウェアの体験版を TelestreamのWebサイトからダウンロードすることができます。

注:先へ進む前に、ご利用のコンピューターにWirecastソフトウェアをインストールし、カメラを接続しておく必要があります。

ライブイベント用にWirecastを設定するには、次の手順を行います。

  1. Wirecastを開きます。
  2. + にカーソルを合わせ、 [ キャプチャデバイス ] をクリックし、カメラを選択します。
    Select camera
    カメラを選択する
  3. 矢印ボタンをクリックします( )カメラショットをライブショットにする。
    Camera setup
    Wirecast カメラ設定
  4. クリックストリームボタン ( )。出力設定を構成するように求められます。
  5. 配信先RTMPサーバーに設定します。[OK]をクリックします。
  6. アドレスには、Live API から返された stream_url を使用します (ステップ 3)。
  7. ストリームの場合は、生きているを使用してください。
    Output settings
    Wirecast 出力設定
  8. (オプション)追加の出力ストリームを作成するには、[追加...]をクリックします。追加の出力ストリームを作成するとき、出力ビットレートを制御するため、独自のカスタムエンコーディングプロファイルを作成したいと思うかもしれません。ストリーム名が新しいビットレートを反映していることを確認します。
  9. [OK]をクリックし、出力設定を保存します。
  10. クリックストリームボタン ( )。ライブストリームが始まるはずです。

結論

これで、ライブストリーミングセッションを作成する準備ができました。エンコーダ設定に以下を追加する必要があります。

  • stream_url : stream_urlジョブから追加 ( rtmp住所)
  • stream_name : ストリーム名はalive

ライブストリームを開始すると、前の手順で作成した Brightcove プレーヤーにライブストリームが表示されます。


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