本文へスキップ
Esc

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 だけです。