ドキュメント一覧
Rerinku View SDK
このページの内容
Rerinku View SDK は、2 種類の開発者を対象としています。カメラを作るメーカーと、自分の Web ページやプログラムで Rerinku View を使いたいインテグレーターです。SDK は 2 つのライブラリと 1 組の HTTP API からなり、いずれも Apache-2.0 のオープンソースです。
| 構成要素 | 対象 | できること |
|---|---|---|
| デバイス SDK(C) | カメラ、ドアホン、開発ボードのファームウェア | デバイスから Rerinku View に接続します:登録、コマンドの受信、ハードウェアエンコーダーの出力を WebRTC で送信 |
Web SDK(@rerinku/player) |
Web ページ、Electron などのブラウザー環境 | デバイスの一覧とサムネイルの取得、<video> でのライブ映像と録画の再生、切断時の自動再接続 |
| オープン API(HTTP) | サーバー側のプログラム、ネイティブアプリ、スクリプト | SDK を使わず、REST API で直接デバイス情報を読み取り、ライブストリームを取得 |
システム内での位置づけ
カメラのファームウェア ──デバイス SDK──▶ Rerinku View(自分のマシン)◀──Web SDK / オープン API── Web ページ、プログラム、アプリ
登録:HTTP デバイス一覧、サムネイル:HTTP
コマンド:MQTT ライブ映像:WebRTC
映像:WebRTC(WHIP)
- デバイスから Rerinku View に接続します。 デバイス SDK を使えば、カメラ側でポートを開く必要も、ONVIF や RTSP も要りません。デバイスは登録するとすぐコンソールに表示され、誰かが見ているときにだけストリームの送信を始めます。
- 送るのは 1 本だけです。 何人が見ていても、デバイスは Rerinku View に 1 本だけ送り、Rerinku View がそれを各視聴者に配信します。視聴者が増えても、カメラの上り帯域は増えません。
- ライブ映像は直接接続です。 ライブ映像は WebRTC でデバイス、Rerinku View、視聴側の間を直接やり取りされ、全経路で暗号化されます。クイック接続をオンにしていて、なおかつ直接接続できない場合にだけ、TURN リレーを経由して転送されます。
選び方
- カメラのファームウェアを作っている場合:デバイス SDK を使います。エンコーダーが H.264 か H.265 を出力できれば、接続に必要なのはおよそ 200 行の C です。ONVIF や RTSP にすでに対応しているカメラには SDK は不要で、Rerinku View から直接接続できます。
- Web ページを作っている場合:Web SDK を使います。再生、再接続、コーデックの判定はすべて SDK が処理するので、用意するのは
<video>だけです。 - サーバー側のプログラムやネイティブアプリを書いている場合:オープン API を直接呼び出します。実行環境にブラウザーの機能がある場合(Electron など)は、Web SDK も使えます。
バージョンとライセンス
| バージョン | ライセンス | 入手方法 | |
|---|---|---|---|
| デバイス SDK | 0.5.0 | Apache-2.0 | ソースからビルド。デバイス SDKを参照 |
| Web SDK | 0.1.0 | Apache-2.0 | npm パッケージ @rerinku/player(未公開) |
どちらの SDK もセマンティックバージョニングに従います。1.0 より前は、マイナーバージョンの更新(0.5 → 0.6 など)で互換性のない変更が入ることがありますが、パッチバージョンの更新(0.5.0 → 0.5.1)では入りません。変更はすべて、それぞれの CHANGELOG.md に記録されます。
Rerinku View サーバー自体はオープンソースではありません。SDK が依存しているのは、Rerinku View が公開しているプロトコルと API だけです。