本文へスキップ

オープンソースについて

最終更新:

Rerinku は複数のコンポーネントで構成されています。デバイス側とツール類はオープンソース、配信プラットフォームのサーバーは非公開です。

この境界は意図的なものです。ファームウェアに組み込まれ、お使いのデバイス上で動くコードは、読めて、改変できて、監査できなければなりません。一方、プラットフォームのサーバーは当社が提供するサービスであり、ソースコードは公開していません。

オープンソースのコンポーネント

rerinku-client —— 組み込み配信 SDK

カメラメーカーが Rerinku プラットフォームに対応する際に組み込むのは、このライブラリだけです。libdatachannel をベースに、エンコード済みのフレームを WHIP/WebRTC で配信します。キャプチャとエンコードは対象外で、それらはデバイス側のプラットフォーム(V4L2、ハードウェアエンコーダ)の役割です。

  • リポジトリ:github.com/akarineren/relink
  • 言語:C++(安定した C ABI を提供:<rerinku/rerinku_c.h>)
  • ライセンス:Apache License 2.0
  • 機能:WHIP シグナリング、H.264/H.265/Opus の RTP パケット化、ビットストリーム形式の自動正規化、パラメータセットの補完、マルチチャンネル(複数カメラ/メイン・サブストリーム/マイク)

リソースの限られたデバイス向けに、MQTT とデバイスエージェントを除いた rerinku_core ターゲットのみをビルドすることもできます。

rerinku-cli —— ローカルカメラ探索ツール

ネットワーク内の ONVIF・GB28181 デバイスとローカルの USB カメラを検出し、スナップショット取得、機能の確認、配信の検証を行うコマンドラインツールです。出力は認証情報を含まない安定した機械可読 JSON で、自動化パイプラインや AI エージェントからの利用に適しています。

  • リポジトリ:github.com/akarineren/relink-cli
  • 言語:Go
  • ライセンス:Apache License 2.0
  • 機能:デバイス検出、機能プローブ(三状態)、スナップショット、配信検証、PTZ 制御、ONVIF イベント、録画の検索と再生
git clone https://github.com/akarineren/relink-cli
cd rerinku-cli && make build
./build/rerinku-cli discover

非公開のコンポーネント

配信プラットフォームのサーバー —— メディアエンジン、連続録画と再生、クラウド共有、コンソール —— のソースコードは公開していません。

コントリビュート

  • 不具合や互換性の問題は Issue でご報告ください。カメラ関連の場合は、機種名・ファームウェアバージョン・rerinku-cli info <n> -json の出力を添えてください。
  • rerinku-cli に PR を送る前に、リポジトリ内の docs/ARCHITECTURE.md をお読みいただき、CLI と SDK の境界を守ってください(CLI が internal/ のプロトコル実装に直接依存してはいけません)。
  • カメラの互換性を追加する場合は、リグレッションテストのため testdata/ 配下にキャプチャまたは機能スナップショットを添えてください。

サードパーティ依存

Rerinku は libdatachannel、Pion WebRTC、FFmpeg、modernc.org/sqlite、Solid.js、Astro をはじめとする多くのプロジェクトの上に成り立っています。メンテナの皆さまに感謝します。