> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/roboflow/roboflow-jp/deploy/serverless-video-streaming-api.md).

# Serverless Video Streaming API

### 概要

Serverless Streaming API は WebRTC を使用して、Webカメラ、RTSP カメラ、または動画ファイルから Roboflow Cloud へ動画をストリーミングします。あなたの [Workflow](https://docs.roboflow.com/workflows/what-is-workflows) は各フレームを処理し、結果をアプリケーションへストリーミングで返します。

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

**対応する入力ソース:**

* **Webカメラ**: MediaStream API を介したブラウザまたはデバイスのカメラ
* **RTSP**: IP カメラ、または RTSP 対応のソース。クラウド関数が接続できるように、URL はインターネットから公開アクセス可能である必要があります。URL 内でのユーザー名/パスワードによる認証がサポートされています（例: `rtsp://user:pass@host/stream`).
* **動画ファイル**: Data Channel 経由でアップロードされた事前録画済みの動画

### 仕組み

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

#### Video Track

動画フレームを双方向にストリーミングします。Webカメラまたは動画ファイルからフレームを送信し、注釈付き/処理済みフレームを受け取ります。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 を想定）

### 同時実行数の上限

現在、各 Workspace は **10 同時ストリーム** にデフォルトで制限されています。これは悪用を防ぎ、サービス全体の信頼性を確保するためです。

より高い上限が必要な場合は、営業チームまでご連絡ください。ご要望に応じて調整いたします。

### Pricing

選択した GPU プランに基づいて時間単位で課金されます。課金はサーバーレス関数が起動し、WebRTC 接続が確立された時点で開始されます。現在の料金は [roboflow.com/credits](https://roboflow.com/credits) をご覧ください。

### SDK

#### JavaScript

Web ブラウザおよび React Native アプリケーション向け。

```bash
npm install @roboflow/inference-sdk
```

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

* [NPM パッケージ](https://www.npmjs.com/package/@roboflow/inference-sdk)
* [サンプルアプリケーション](https://github.com/roboflow/inferenceSampleApp)
* [ドキュメント](https://docs.roboflow.com/deploy/sdks/web-browser/web-inference-sdk)

#### Python

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

```bash
pip install inference-sdk[webrtc]
```

* [PyPI パッケージ](https://pypi.org/project/inference-sdk/)
* [サンプルスクリプト](https://github.com/roboflow/inference/tree/main/examples/webrtc_sdk) （Webカメラ、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 の Web インターフェースで直接ストリーミングをテストできます:

1. へ移動 [app.roboflow.com](https://app.roboflow.com)
2. を開く **Workflows** タブ
3. Workflow を選択して **Test Workflow**
4. ソース（Webカメラ、RTSP、または Video File）を選択し、GPU/リージョン設定を構成します
5. クリック **Run**


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.roboflow.com/roboflow/roboflow-jp/deploy/serverless-video-streaming-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
