Serverless Video Streaming API
Roboflow Cloud でライブビデオ上で Workflows を実行します。WebRTC 経由でウェブカメラ、RTSP カメラ、またはビデオファイルから入力をストリームし、推論結果をアプリケーションに受け取ります。
概要
Serverless Streaming API は WebRTC を使用して、ウェブカメラ、RTSP カメラ、またはビデオファイルから Roboflow Cloud にビデオをストリーミングします。あなたの Workflow は各フレームを処理し、結果をあなたのアプリケーションにストリームで返します。
この 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/credits をご覧ください。
SDKs
JavaScript
ウェブブラウザと React Native アプリケーション向け。
フロントエンドのコードに API キーを公開しないでください。セキュリティを保つためにバックエンドのプロキシエンドポイントを使用してください。
Python
バックエンドアプリケーション、RTSP ストリーム、およびビデオファイル処理向け。
サンプルスクリプト (webcam、RTSP、video file)
構成
ストリーミングセッションを作成する際に、次の 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 のウェブインターフェースで直接ストリーミングをテストできます:
次へ移動 app.roboflow.com
を開きます Workflows タブ
Workflow を選択してクリックします Test Workflow
ソース(Webcam、RTSP、または Video File)を選択し、GPU/リージョン設定を構成します
クリック Run
Last updated
Was this helpful?