GSP154

概要
Google Cloud Video Intelligence は、使いやすい REST API でメタデータを抽出することで、動画の検索や検出を可能にします。また、カタログ内のすべての動画ファイルのあらゆる瞬間を検索することもできます。Cloud Storage に格納されている動画にすばやくアノテーションが付けられるため、ユーザーはこれを使用して動画の主要エンティティ(名詞)とそれらが動画内に出現するタイミングを特定することができます。動画全体、ショットごと、あるいはフレームごとに関連情報を取り出すことで、シグナルとノイズを区別します。
演習内容
このラボでは、次の方法について学びます。
- カスタム サービス アカウントの認可を設定する
- Video Intelligence API にアノテーション付き動画のリクエストを送信する
設定と要件
[ラボを開始] ボタンをクリックする前に
こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。
このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
- 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。
- ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、このラボでは使用しないでください。アカウントへの追加料金が発生する可能性があります。
ラボを開始して Google Cloud コンソールにログインする方法
-
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。
左側の [ラボの詳細] パネルには、以下が表示されます。
- [Google Cloud コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
-
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
{{{user_0.username | "Username"}}}
[ラボの詳細] パネルでも [ユーザー名] を確認できます。
-
[次へ] をクリックします。
-
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
{{{user_0.password | "Password"}}}
[ラボの詳細] パネルでも [パスワード] を確認できます。
-
[次へ] をクリックします。
重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。
注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
-
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後、このタブで Google Cloud コンソールが開きます。
注: Google Cloud のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニューをクリックします。
Cloud Shell をアクティブにする
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
- Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン
をクリックします。
接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。
Your Cloud Platform project in this session is set to YOUR_PROJECT_ID
gcloud
は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
- (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
-
[承認] をクリックします。
-
出力は次のようになります。
出力:
ACTIVE: *
ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project
出力:
[core]
project = <project_ID>
出力例:
[core]
project = qwiklabs-gcp-44776a13dea667a6
注: Google Cloud における gcloud
ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
タスク 1. 認可を設定する
このラボでは、認可のために Google Cloud プロジェクトに関連付けられたサービス アカウントを作成して使用します。
- Cloud Shell で次のコマンドを実行して、
quickstart
という名前の新しいサービス アカウントを作成します。
gcloud iam service-accounts create quickstart
- サービス アカウント キーファイルを作成します。
<your-project-123>
は、プロジェクト ID で置き換えてください。
gcloud iam service-accounts keys create key.json --iam-account quickstart@<your-project-123>.iam.gserviceaccount.com
- サービス アカウント キーファイルの場所を渡してサービス アカウントを認証します。
gcloud auth activate-service-account --key-file key.json
- サービス アカウントを使用して認可トークンを取得します。
gcloud auth print-access-token
トークンが出力に表示されます。このトークンは後のステップで使用します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
認可を設定する
タスク 2. アノテーション付き動画のリクエストを行う
注: このラボでは、Cloud Video Intelligence API があらかじめ有効になっています。
- 次のコマンドを実行して、その後に続くテキストが含まれる JSON リクエスト ファイルを作成し、
request.json
という名前で保存します。
cat > request.json <<EOF
{
"inputUri":"gs://spls/gsp154/video/train.mp4",
"features": [
"LABEL_DETECTION"
]
}
EOF
注:
プロセスをシンプルにするために、一般公開されている列車の動画をプロジェクトの inputUri
の値として使用しています。必要に応じて、個人のプロジェクトで実行する場合、任意の動画を代わりに使用できます。その場合、使用する動画を Cloud Storage にアップロードし、その Cloud Storage URI(形式は gs://bucket/object)を inputUri
の値として指定します。
-
curl
を使用して videos:annotate
リクエストを作成し、エンティティ リクエストのファイル名を渡します。
curl -s -H 'Content-Type: application/json' \
-H 'Authorization: Bearer '$(gcloud auth print-access-token)'' \
'https://videointelligence.googleapis.com/v1/videos:annotate' \
-d @request.json
Video Intelligence API で、リクエストを処理するオペレーションが作成されます。次のようなオペレーション名を含むレスポンスを確認できるはずです。
{
"name": "projects/474887704060/locations/asia-east1/operations/16366331060670521152"
}
このオペレーション名、ロケーション、プロジェクトは、この後のステップで使用します。
- 次のスクリプトを使用して、
v1.operations
エンドポイントを呼び出し、このオペレーションの情報をリクエストします。次のように PROJECTS
、LOCATIONS
、OPERATION_NAME
を、前のコマンドで取得した値に置き換えます。
curl -s -H 'Content-Type: application/json' \
-H 'Authorization: Bearer '$(gcloud auth print-access-token)'' \
'https://videointelligence.googleapis.com/v1/projects/PROJECTS/locations/LOCATIONS/operations/OPERATION_NAME'
オペレーションに関連する情報が表示されます。オペレーションが完了すると、done
フィールドが true
に設定されます。
{
"name": "projects/425437283751/locations/asia-east1/operations/17938636079131796601",
"metadata": {
"@type": "type.googleapis.com/google.cloud.videointelligence.v1.Annota
tionProgressMetadata",
"progressMetadata": [
{
"inputUri": "gs://spls/gsp154/video/train.mp4",
"startTime": "2016-09-22T21:41:56.766091Z",
"lastUpdateTime": "2016-09-22T21:42:03.889743Z"
}
]
},
...
}
- リクエストを送信して一定時間(通常は約 1 分)が経過してからコマンドを再実行すると、同じリクエストがアノテーション付きの結果を返します。
{
"name": "projects/425437283751/locations/asia-east1/operations/17938636079131796601",
"metadata": {
"@type": "type.googleapis.com/google.cloud.videointelligence.v1.AnnotateVideoProgress",
"annotationProgress": [
{
"inputUri": "/spls/gsp154/video/train.mp4",
"progressPercent": 100,
"startTime": "2017-02-17T22:39:00.333942Z",
"updateTime": "2017-02-17T22:39:11.414399Z"
}
]
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.videointelligence.v1.AnnotateVideoResponse",
"annotationResults": [
{
"inputUri": "/spls/gsp154/video/train.mp4",
"segmentLabelAnnotations": [
{
"entity": {
"entityId": "/m/01yrx",
"languageCode": "en-US"
},
"segments": [
{
"segment": {
"startTimeOffset": "0s",
"endTimeOffset": "14.833664s"
},
"confidence": 0.98509187
}
]
},
...
Cloud Video Intelligence API に対して最初のリクエストを送信する方法を学習しました。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
アノテーション付き動画のリクエストを行う
お疲れさまでした
Video Intelligence API にアノテーション付き動画のリクエストを送信し、結果を受け取りました。
次のステップと詳細情報
このラボは、Google Cloud が提供する多くの機能を体験できる「Qwik Start」と呼ばれるラボシリーズの一部です。Google Cloud Skills Boost カタログで「Qwik Start」を検索し、興味のあるラボを探してみてください。
Google Cloud トレーニングと認定資格
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2024 年 2 月 4 日
ラボの最終テスト日: 2023 年 12 月 22 日
Copyright 2025 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。