HLS ライブ ストリームのクイックスタート
このページでは、Live Stream API と curl
、PowerShell、またはクライアント ライブラリのデフォルト設定を使用して、基本的な HLS ライブ ストリーム ジョブを作成する方法について説明します。
次のいずれかのプログラミング言語を使用して、Google Cloud Console でこのクイックスタートを直接実行することもできます。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Google Cloud プロジェクトを作成または選択します。
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_ID
は、作成する Google Cloud プロジェクトの名前に置き換えます。 -
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_ID
は、実際の Google Cloud プロジェクト名に置き換えます。
-
-
Live Stream API を有効にします。
gcloud services enable livestream.googleapis.com
-
Create local authentication credentials for your user account:
gcloud auth application-default login
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/livestream.editor, roles/storage.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:[email protected]
. - Replace
ROLE
with each individual role.
- Replace
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Google Cloud プロジェクトを作成または選択します。
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_ID
は、作成する Google Cloud プロジェクトの名前に置き換えます。 -
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_ID
は、実際の Google Cloud プロジェクト名に置き換えます。
-
-
Live Stream API を有効にします。
gcloud services enable livestream.googleapis.com
-
Create local authentication credentials for your user account:
gcloud auth application-default login
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/livestream.editor, roles/storage.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:[email protected]
. - Replace
ROLE
with each individual role.
- Replace
Cloud Storage バケットを作成する
ライブ ストリームのマニフェスト ファイルとセグメント ファイルを保持する Cloud Storage バケットを作成します。
Google Cloud コンソール
- In the Google Cloud console, go to the Cloud Storage Buckets page.
- Click Create bucket.
- On the Create a bucket page, enter your bucket information. To go to the next
step, click Continue.
- For Name your bucket, enter a name that meets the bucket naming requirements.
-
For Choose where to store your data, do the following:
- Select a Location type option.
- Select a Location option.
- For Choose a default storage class for your data, select the following: Standard.
- For Choose how to control access to objects, select an Access control option.
- For Advanced settings (optional), specify an encryption method, a retention policy, or bucket labels.
- Click Create.
コマンドライン
-
Create a Cloud Storage bucket:
gcloud storage buckets create gs://BUCKET_NAMEReplace
BUCKET_NAME
with a bucket name
that meets the bucket naming requirements.
エンコーダをインストールする
API を使用するには、API によって処理される入力ストリームを生成するエンコーダが必要です。
このページでは、ffmpeg
を使用して入力ストリームを生成する方法を説明しているので、ffmpeg
をインストールします。 次のコマンドを使用すると、これを Cloud Shell にインストールできます。
sudo apt install ffmpeg
入力エンドポイントを作成する
ライブ ストリームを開始するには、まず projects.locations.inputs.create
メソッドを使用して入力エンドポイントを作成する必要があります。入力ストリームをこのエンドポイントに送信します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号LOCATION
: 入力エンドポイントを作成するロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-northeast1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
INPUT_ID
: 作成する新しい入力エンドポイントのユーザー定義の識別子(入力ストリームの送信先)。この値は 1~63 文字で、先頭と末尾は[a-z0-9]
で、文字の間にダッシュ(-)を含めることができます。例:my-input
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
C#
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の C# API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Go API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Java API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Node.js API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の PHP API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Python API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Ruby API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
返された OPERATION_ID をコピーして、次のセクションで使用します。
結果を確認する
projects.locations.operations.get
メソッドを使用して、入力エンドポイントが作成されているかどうかを確認します。レスポンスに "done: false"
が含まれている場合は、レスポンスに "done: true"
が含まれるまでコマンドを繰り返します。
リージョンに最初の入力エンドポイントを作成するには、最大 10 分かかることがあります。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号LOCATION
: 入力エンドポイントが配置されているロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-northeast1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
OPERATION_ID
: オペレーションの ID。
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.Input", "name": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "type": "RTMP_PUSH", "uri": INPUT_STREAM_URI, # For example, "rtmp://1.2.3.4/live/b8ebdd94-c8d9-4d88-a16e-b963c43a953b", "tier": "HD" } }
uri
フィールドを探して、返された INPUT_STREAM_URI をコピーし、後で入力ストリームを送信するセクションで使用します。
チャネルを作成する
入力ストリームを出力ストリームにコード変換するには、チャネル リソースを作成する必要があります。
チャネルを作成するには、projects.locations.channels.create
メソッドを使用します。次の例では、単独の高解像度(1280x720)のレンディションで構成される HLS ライブ ストリームを生成するチャネルを作成しています。
REST
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号LOCATION
: チャネルを作成するロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-northeast1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: 作成するチャネルのユーザー定義の識別子。この値は 1~63 文字で、先頭と末尾は[a-z0-9]
で、文字の間にダッシュ(-)を含めることができます。INPUT_ID
: 入力エンドポイントのユーザー定義の識別子BUCKET_NAME
: ライブ ストリームのマニフェスト ファイルとセグメント ファイルを保持するために作成した Cloud Storage バケットの名前
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
C#
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の C# API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Go API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Java API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Node.js API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の PHP API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Python API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Ruby API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
チャネルを取得する
新しいオペレーション ID を使用して、チャネル作成オペレーションの結果を確認できます。
チャネルを作成したら、projects.locations.channels.get
メソッドを使用してチャネルの状態をクエリします。
REST
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号LOCATION
: チャネルがあるロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-northeast1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: チャネルのユーザー定義の識別子。
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "inputAttachments": [ { "key": "INPUT_ID", "input": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID" } ], "activeInput": "INPUT_ID", "output": { "uri": "gs://BUCKET_NAME" }, "elementaryStreams": [ { "videoStream": { "h264": { "widthPixels": 1280, "heightPixels": 720, "frameRate": 30, "bitrateBps": 3000000, "gopDuration": "2s", "vbvSizeBits": 3000000, "vbvFullnessBits": 2700000, "entropyCoder": "cabac", "profile": "high" } }, "key": "es_video" }, { "audioStream": { "codec": "aac", "bitrateBps": 160000, "channelCount": 2, "channelLayout": ["fl", "fr"], "sampleRateHertz": 48000 }, "key": "es_audio" } ], "muxStreams": [ { "key": "mux_video_ts", "container": "ts", "elementaryStreams": ["es_video", "es_audio"], "segmentSettings": { "segmentDuration": "2s" } } ], "manifests": [ { "fileName": "main.m3u8", "type": "HLS", "muxStreams": [ "mux_video_ts", ], "maxSegmentCount": 5, "segmentKeepDuration": "60s" } ], "streamingState": "STOPPED" }
C#
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の C# API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Go API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Java API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Node.js API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の PHP API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Python API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Ruby API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
完全なレスポンスには、次のフィールドが含まれます(上記のサンプルコードの一部はレスポンスの特定のフィールドのみを返しますが、完全なレスポンスを返すように変更できます)。
{
...
"streamingState": "STOPPED"
...
}
このレスポンスは、チャネルを開始できるようになったことを示します。
チャネルを開始する
projects.locations.channels.start
メソッドを使用してチャネルを開始します。入力ストリームを受け入れるか、出力ストリームを生成する前に、チャネルを開始する必要があります。
リージョン内で最初のチャネルを開始するには 10 分ほどかかります。
REST
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号LOCATION
: チャネルがあるロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-northeast1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: チャネルのユーザー定義の識別子。
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID", "verb": "start", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
C#
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の C# API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Go API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Java API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Node.js API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の PHP API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Python API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Ruby API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
入力ストリームを送信する
チャネルが開始されたかどうかを確認するには、以前と同様の方法でチャネル情報を取得します。レスポンスには以下が含まれます。
{
...
"streamingState": "AWAITING_INPUT"
...
}
チャネルの準備が整ったので、テスト入力ストリームを入力エンドポイントに送信してライブ ストリームを生成します。
新しいターミナル ウィンドウを開きます。[結果を確認する] セクションの INPUT_STREAM_URI を使用して、次のコマンドを実行します。
ffmpeg -re -f lavfi -i "testsrc=size=1280x720 [out0]; sine=frequency=500 [out1]" \
-acodec aac -vcodec h264 -f flv INPUT_STREAM_URI
チャネルがストリーミングされていることを確認する
ライブ ストリーミング オペレーションのステータスを確認するには、以前と同様の方法でチャネル情報を取得します。レスポンスには以下が含まれます。
{
...
"streamingState": "STREAMING"
...
}
Cloud Storage バケット内のコンテンツを確認する
Cloud Storage バケットを開きます。次のファイルとディレクトリが含まれていることを確認します。
main.m3u8
mux_video_ts/
- 複数の
segment-segment-number.ts
ファイル - 単独の
index-1.m3u8
ファイル
- 複数の
生成されたライブ ストリームを再生する
Shaka Player で生成されたメディア ファイルを再生するには、次の手順に従います。
- 作成した Cloud Storage バケットを一般公開します。
- Cloud Storage バケットでクロスオリジン リソース シェアリング(CORS)を有効にするには、次のようにします。
- 次の内容を含む JSON ファイルを作成します。
[ { "origin": ["https://shaka-player-demo.appspot.com/"], "responseHeader": ["Content-Type", "Range"], "method": ["GET", "HEAD"], "maxAgeSeconds": 3600 } ]
-
JSON_FILE_NAME を前の手順で作成した JSON ファイルの名前に置き換えてから、次のコマンドを実行します。
gsutil cors set JSON_FILE_NAME.json gs://BUCKET_NAME
- 次の内容を含む JSON ファイルを作成します。
- Cloud Storage バケットで、生成された
main.m3u8
ファイルを探します。ファイルの [公開アクセス] 列で [URL をコピー] をクリックします。 - オンライン ライブ ストリーム プレーヤーの Shaka Player に移動します。
- 上部のナビゲーション バーにある [CUSTOM CONTENT](カスタム コンテンツ)をクリックします。
- [+] ボタンをクリックします。
ファイルの公開 URL を [Manifest URL] ボックスに貼り付けます。
[Name] ボックスに名前を入力します。
[保存] をクリックします。
[Play] をクリックします。
ライブ ストリームとしてテストパターンが再生されます。
ライブ ストリームにミッドロール挿入点マーカーを追加する
ライブ ストリームにミッドロール挿入点マーカーを追加するには、projects.locations.channels.events.create
メソッドを使用します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号LOCATION
: チャネルがあるロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-northeast1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: チャネルのユーザー定義の識別子。EVENT_ID
: イベントのユーザー定義の識別子。
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/events/EVENT_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "adBreak": { "duration": "100s" }, "executeNow": true, "state": "PENDING" }
C#
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の C# API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Go API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Java API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Node.js API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の PHP API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Python API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Ruby API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
ミッドロール挿入点マーカーが存在することを確認する
ミッドロール挿入点マーカーがライブ ストリームに挿入されると、指定した広告時間(100 秒)の間、CUE-OUT
というラベルの付いたイベントが HLS マニフェストに表示されます。
次のコマンドを実行して、生成された HLS マニフェストの内容を表示します。
gsutil cat gs://BUCKET_NAME/mux_video_ts/index-1.m3u8
CUE-OUT
セクションが表示されるまで、gsutil cat
コマンドを複数回実行しなければならない場合があります。
...
#EXTM3U
#EXT-X-VERSION:7
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:40
#EXT-X-DISCONTINUITY-SEQUENCE:0
#EXT-X-CUE-OUT:100.000000
#EXT-X-PROGRAM-DATE-TIME:2021-07-13T19:11:49.956Z
#EXTINF:2.000000
segment-0000000040.ts
#EXT-X-CUE-OUT-CONT:ElapsedTime=2.000000,Duration=100.000000
#EXT-X-PROGRAM-DATE-TIME:2021-07-13T19:11:51.956Z
#EXTINF:2.000000
segment-0000000041.ts
#EXT-X-CUE-OUT-CONT:ElapsedTime=4.000000,Duration=100.000000
#EXT-X-PROGRAM-DATE-TIME:2021-07-13T19:11:53.956Z
#EXTINF:2.000000
segment-0000000042.ts
#EXT-X-CUE-OUT-CONT:ElapsedTime=6.000000,Duration=100.000000
#EXT-X-PROGRAM-DATE-TIME:2021-07-13T19:11:55.956Z
#EXTINF:2.000000
segment-0000000043.ts
#EXT-X-CUE-OUT-CONT:ElapsedTime=8.000000,Duration=100.000000
...
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。
チャネルを停止する
projects.locations.channels.stop
メソッドを使用してチャネルを停止します。チャネルは削除する前に停止する必要があります。
REST
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号LOCATION
: チャネルがあるロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-northeast1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: チャネルのユーザー定義の識別子。
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID", "verb": "stop", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
C#
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の C# API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Go API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Java API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Node.js API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の PHP API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Python API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Ruby API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
結果で "done":true
が得られるまで、OPERATION_ID を使用してオペレーションのステータスを確認します。
入力ストリームを停止する
ffmpeg
を使用して入力ストリームを送信した場合、チャネルを停止すると接続が自動的に切断されます。
再試行メカニズムとともに他のエンコーダを使用した場合、入力ストリームを手動で停止する必要があります。
イベントを削除する
ミッドロール挿入点イベントを削除するには、projects.locations.channels.events.delete
メソッドを使用します。チャネルを削除する前に、チャネル イベントを削除する必要があります。
REST
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号LOCATION
: チャネルがあるロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-northeast1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: チャネルのユーザー定義の識別子。EVENT_ID
: イベントのユーザー定義の識別子。
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{}
C#
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の C# API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Go API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Java API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Node.js API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の PHP API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Python API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Ruby API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
チャネルを削除する
projects.locations.channels.delete
メソッドを使用してチャネルを削除します。チャネルで使用されている入力エンドポイントを削除する前に、そのチャネルを削除する必要があります。
REST
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号LOCATION
: チャネルがあるロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-northeast1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: チャネルのユーザー定義の識別子。
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
C#
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の C# API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Go API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Java API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Node.js API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の PHP API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Python API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Ruby API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
結果で "done":true
が得られるまで、OPERATION_ID を使用してオペレーションのステータスを確認します。
入力エンドポイントを削除する
projects.locations.inputs.delete
メソッドを使用して、入力エンドポイントを削除します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号LOCATION
: 入力エンドポイントが配置されているロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-northeast1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
INPUT_ID
: 入力エンドポイントのユーザー定義の識別子
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
C#
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の C# API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Go API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Java API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Node.js API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の PHP API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Python API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
Live Stream API のクライアント ライブラリをインストールして使用する方法については、Live Stream API クライアント ライブラリをご覧ください。詳細については、Live Stream API の Ruby API リファレンス ドキュメントをご覧ください。
Live Stream API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Cloud Storage バケットを削除する
チャネルを停止すると、Live Stream API によって生成されたバケット内のすべてのファイルとフォルダが削除されます。
Google Cloud コンソールで、Cloud Storage ブラウザページに移動します。
作成したバケットの横にあるチェックボックスをオンにします。
[削除] をクリックします。
表示されるポップアップ ウィンドウで、[削除] をクリックしてバケットとその内容を完全に削除します。
認証情報を取り消す
-
作成した認証情報を取り消して、ローカル認証情報ファイルを削除します。
gcloud auth application-default revoke
-
(省略可)gcloud CLI から認証情報を取り消します。
gcloud auth revoke
次のステップ
- MPEG-DASH ライブ ストリームのクイックスタートの手順を試す。
- バックアップ入力ストリームを構成する方法を学習する。