Serverless Video Streaming API

Roboflow クラウドでライブビデオ上の Workflows を実行します。WebRTC 経由でウェブカメラ、RTSP カメラ、またはビデオファイルから入力をストリームし、推論結果をアプリケーションに受け取ります。

概要

Serverless Streaming API は WebRTC を使用して、ウェブカメラ、RTSP カメラ、またはビデオファイルから Roboflow Cloud にビデオをストリーミングします。あなたの Workflowarrow-up-right は各フレームを処理し、結果をあなたのアプリケーションにストリームで返します。

この API で任意の Workflow を実行できます。単一モデル推論の場合は、モデルをラップする Workflow を作成してください。

サポートされている入力ソース:

  • Webcam:MediaStream API を介したブラウザまたはデバイスのカメラ

  • RTSP:IP カメラや RTSP 対応の任意のソース。クラウド関数が接続できるように URL はインターネットから公開されている必要があります。URL によるユーザー名/パスワードでの認証がサポートされています(例: rtsp://user:pass@host/stream).

  • Video Files:Data Channel を介してアップロードされた事前録画ビデオ

仕組み

ストリーミングセッションを開始すると、SDK は WebRTC 接続を初期化するために Roboflow の API を呼び出します。API はあなたの Workflow を実行するサーバーレス関数を起動します。接続が確立されると、データは 2 つの WebRTC チャネルを通じて流れます:

Video Track

ビデオフレームを双方向にストリームします。あなたはウェブカメラやビデオファイルからフレームを送信し、注釈付き/処理済みのフレームを受信します。Video Track はリアルタイム表示向けに最適化されており、利用可能な帯域幅に応じて解像度を調整しフレームをドロップすることがあります。接続が安定するにつれて品質が向上します。

WebRTC の輻輳制御のため、特に 1920×1080 の 30 FPS のような高解像度では、品質と FPS が最大容量に到達するまでに最大で 1 分ほどかかることがあります。

Data Channel

構造化された推論結果を JSON メッセージとして送信します。これには予測、座標、分類などのすべての Workflow 出力データが含まれます。Video Track と異なり、Data Channel はライブカメラフィードに追随するための最適化を行わず、信頼性が高く順序通りの配信を提供します。ビデオファイルを処理するには、Data Channel を介してファイルをアップロードし、同じ方法で結果を消費してビデオを完全に処理できます。

両方のチャネルを同時に使用できます。例えば注釈付きビデオを表示しつつ、アプリケーションで構造化された予測データを処理することが可能です。

リージョンと GPU プラン

次を指定してください requested_region および requested_plan を設定で指定すると、ストリームがどこでどのように処理されるかを制御できます。

リージョン: us (アメリカ合衆国)、 eu (ヨーロッパ)、 ap (アジア太平洋)

ユーザーまたはビデオソースに最も近いリージョンを選択してレイテンシを最小化してください。

GPU プラン:

  • webrtc-gpu-medium:デフォルトで、ほとんどの Workflow に推奨されます

  • webrtc-gpu-small:コストが低め。Medium がユースケースで問題なく動作することを確認した後に試してください。

  • webrtc-gpu-large:SAM3 および SAM3 を使用する Rapid Models に必要(おおよそ約 5 FPS を予想)

価格

選択した GPU プランに基づいて時間単位で課金されます。サーバーレス関数が起動し WebRTC 接続が確立されると課金が開始されます。現在の料金は roboflow.com/creditsarrow-up-right をご覧ください。

SDKs

JavaScript

ウェブブラウザと React Native アプリケーション向け。

フロントエンドのコードに API キーを公開しないでください。セキュリティを保つためにバックエンドのプロキシエンドポイントを使用してください。

Python

バックエンドアプリケーション、RTSP ストリーム、およびビデオファイル処理向け。

構成

ストリーミングセッションを作成する際に、次の StreamConfig オブジェクトを渡して動作を制御します:

  • stream_output:Video Track 経由でストリームする Workflow 出力名のリスト

  • data_output:Data Channel で送信する Workflow 出力名のリスト

  • requested_plan:GPU プラン(上記参照)

  • requested_region:リージョンコード(us, eu、または ap)

  • realtime_processing:もし True (デフォルト)で、処理が追いつかない場合はフレームを落とします

  • workflow_parameters:Workflow に渡すパラメータの辞書

コード不要でのテスト

Roboflow のウェブインターフェースで直接ストリーミングをテストできます:

  1. を開きます Workflows タブ

  2. Workflow を選択してクリックします Test Workflow

  3. ソース(Webcam、RTSP、または Video File)を選択し、GPU/リージョン設定を構成します

  4. クリック Run

Last updated

Was this helpful?