アプリケーションで動画データを分析する最初のステップは、データの連続的な流れのためのパイプラインを作成することです。ストリームでは、リアルタイムの動画データを取り込むことができます。取り込んだ動画データは、モデルの入力として使用したり、ウェアハウスに保存したりできます。
ストリームを作成する
動画データをストリーミングするには、まずストリームを作成する必要があります。
新しいプロジェクトで初めてライブ配信を作成する場合、ライブ配信の作成に時間がかかることがあります。この時間は約 30 分です。この時間は、後続の計算のためにシステムがコンピューティング クラスタを初期化する必要があるためです。
Console
Google Cloud コンソールでストリームを作成します。
Vertex AI Vision ダッシュボードの [ストリーム] タブを開きます。
[
登録] をクリックします。ストリーム名を入力し、リージョンを選択します。[行を追加] をクリックして、複数のストリームを同時に登録できます。
[登録] ボタンをクリックして、1 つ以上のストリームを作成します。
動画を取り込む
ストリームを作成したら、そのストリームを使用してデータの取り込みを開始できます。
取り込まれた動画には、次の制限と考慮事項が適用されます。
- 入力動画ソースは、次の仕様を満たしている必要があります。
- H.264 エンコード
- 解像度 1080p 以下
- 25 FPS 程度
動画がこれらの仕様を満たしていない場合、Vertex AI Vision で入力が適切に処理されないことがあります。
- 取り込み中に音声が途切れる。
- ストリームが倉庫に接続されたアプリの一部である場合、動画パラメータ(FPS や解像度など)はストリーム全体で同じである必要があります。RTSP 動画データ パラメータやローカル動画データ パラメータの違いはサポートされていません。
- モデルの起動レイテンシにより、取り込まれた動画の最初の数秒間のコンテンツが欠落することがあります。この時間は最大で 15 秒に達することがあります。
- 長時間の接続(平均で 5 時間)後に取り込みが終了することがあります。
vaictl
ツールには再接続機能がないため、ユーザーは手動で再接続する必要があります。 vaictl
は動画データを取り込むのに便利なツールですが、ネットワーク エラーからの復旧は自動的に処理されません。これらのエラーは、データソース側または Cloud 取り込み側から発生する可能性があります。予期しないvaictl
オペレーションの終了を処理する再起動スクリプトを作成するのはユーザーの責任です。
Vertex AI Vision SDK
既存のストリーミングを使用して動画データを取り込むリクエストを送信するには、Vertex AI Vision SDK をインストールする必要があります。
次の変数を置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- LOCATION_ID: ロケーション ID。例:
us-central1
詳細サポートされているリージョン。 - LOCAL_FILE.EXT: ローカル動画ファイルのファイル名。例:
my-video.mp4
- STREAM_ID: クラスタで作成したストリーム ID(例:
input-1
)。 - RTSP_ADDRESS: リアルタイム ストリーミング プロトコル(RTSP)フィードのアドレス。例:
rtsp://my-ip-camera
ローカル動画データ:
# This command streams a video file to a stream. Streaming ends when the video ends.
vaictl -p PROJECT_ID \
-l LOCATION_ID \
-c application-cluster-0 \
--service-endpoint visionai.googleapis.com \
send video-file to streams STREAM_ID --file-path LOCAL_FILE.EXT
ローカル動画データ(ループ再生):
# This command streams a video file to a stream. Video is looped into the stream until you stop the command.
vaictl -p PROJECT_ID \
-l LOCATION_ID \
-c application-cluster-0 \
--service-endpoint visionai.googleapis.com \
send video-file to streams STREAM_ID --file-path LOCAL_FILE.EXT --loop
リアルタイム ストリーミング プロトコル(RTSP)フィードデータ:
# This command will send an RTSP feed into the stream.
# This command has to run in the network that has direct access to the RTSP feed.
vaictl -p PROJECT_ID \
-l LOCATION_ID \
-c application-cluster-0 \
--service-endpoint visionai.googleapis.com \
send rtsp to streams STREAM_ID --rtsp-uri RTSP_ADDRESS
取り込まれた動画を再生する
ストリームを作成して動画コンテンツをストリームに送信したら、動画コンテンツを再生できます。
ストリーミング ビューのタブを開いたまま 1 時間以上放置すると、動画コンテンツの読み込みを続行するにはページを更新する必要があります。
Console
取り込まれた動画を Google Cloud コンソールで再生する。
Vertex AI Vision ダッシュボードの [ストリーム] タブを開きます。
ストリームリストでストリーム名をクリックします。
動画ストリームの詳細ページに、取り込まれた動画のライブビューが自動的に読み込まれます。