RingCast

FEATURES & SYSTEM

RingCastの機能と、
その裏側。

少人数だからできる会話、端末間で運ぶライブ映像、中央へ置く情報を絞った公開のしくみ。使う人に見える機能から、動かしている技術まで順番に解説します。

中央Web接続先だけあなたのRingCast輪と権限配信者リスナートーク参加者
P2PVIDEO · VOICE · FILE

WHAT YOU CAN DO

輪の中で、できること。

配信を見るだけで終わらず、話す、つながる、次の輪を作るための機能をひとつにまとめています。

01SMALL CIRCLE

1〜30席の、小さなライブ配信

配信者が視聴上限を決め、誰がいるかを感じられる人数で話せます。満員時は優先パスを持つ大切なリスナーの席を確保できます。

  • 公開/招待制を配信ごとに選択
  • ゲスト参加の許可/メールアカウント限定
  • 段階的な再入場制限と退場管理
  • 視聴人数と配信経過時間を常時表示
02LIVE VIDEO

カメラでも、RTMPでも配信

PCのカメラ・マイク、カメラなしのRingCastエフェクト、OBSなどからのRTMP入力を選べます。スマホは前後カメラ、横画面、超広角から望遠までのズームに対応します。

  • 自動画質はFull HDから開始して回線に合わせて調整
  • ミュート・映像OFFを配信中に切替
  • 配信・視聴中もカメラ/マイク/スピーカーを変更
03GROUP TALK

見る人も、同じ輪で話せる

配信者がリスナーや別の配信者をトークへ招待。参加者全員の映像・音声・コメントを共有し、Web会議のように会話できます。

  • Androidはトーク映像を全画面表示
  • Windows/macOSはサイズを変えられる別ウインドウ
  • 発話中を穏やかな色変化で表示
  • 配信者による参加者ミュート
04CHAT & FILES

コメントとファイルを、その場で共有

読み上げ対応のコメントと、最大1GBのファイルを輪のメンバーへ直接送れます。配信者・優先パス利用者はアイコンの装飾で見分けられます。

  • トーク中は複数配信のコメントを統合
  • ファイル本体はP2Pで端末間転送
  • 受信中もメモリを圧迫しにくい保存方式
05SOCIAL

輪から、次のつながりへ

一度訪れた人、フォロー、サークルを手がかりに関係を残します。全ユーザーを無差別に並べるのではなく、自分が出会った範囲から輪を広げます。

  • サークルごとの配信中人数を表示
  • 作成者によるメンバー管理
  • 公開中の輪を「見つける」で発見
06DM & PROFILE

サーバーを越えて、固有IDでDM

相手が別のRingCastにいても、オフラインでも、固有識別IDから暗号化DMを送れます。受信後の履歴とファイルは利用端末へ保存します。

  • オンライン時はWebSocket通知とP2P接続でリアルタイム化
  • 未受信本文は受信者だけが復号できる暗号文で短期保管
  • 複数アカウント切替とメールプロフィール
  • アイコン・自己紹介・配信バナー
07PUBLIC ACCESS

自宅PCやAndroidから外部公開

Dockerなしで同梱サーバーを起動し、外部から参加できるHTTPS URLを発行します。固定IPや独自ドメインがなくてもゲートウェイ公開を選べます。

  • WindowsはCaddy・TURN・SFUを同梱
  • Android単体サーバーモード
  • 公開一覧への掲載とRC招待コード
08MULTI PLATFORM

同じ輪を、どの端末からでも

Windows、macOS、Android、iPhoneなど、どの端末でも同じ一覧・ルームID・入場画面を使えます。利用者が接続方式を選ぶ必要はありません。

  • ダーク/ライトテーマ
  • 端末に合わせたレスポンシブUI
  • PWA・APK・DMG・EXE・iOS Simulatorで検証

HOW IT WORKS

どうやって
実現しているか。

中央の巨大な動画サーバーへすべてを集めるのではなく、中央Web、輪の所有サーバー、参加端末の役割を分けています。

01 · CENTRAL DIRECTORY

中央Web

見つけるための最小情報

公開URL、配信概要、人数、短期招待コード、有効期限

02 · OWNER SERVER

あなたのRingCast

輪と権限を管理

アカウント、在室、サークル、モデレーション、接続シグナル

03 · PARTICIPANT DEVICES

参加端末

重いデータを送受信

映像、音声、グループトーク、最大1GBの添付ファイル

01

映像・音声はWebRTCで端末間へ

配信開始時、RingCastサーバーは参加者同士を結ぶためのシグナリングだけを行います。ブラウザはICE候補を交換し、到達できる場合はWebRTCで直接接続します。中央Webへ映像や音声をアップロードし続ける構成ではありません。

直接接続できないネットワークだけTURNを利用するため、通常時の中央帯域を抑えます。
02

人数が増えたら、自宅SFUで中継

スマホ回線から複数人へ同じ映像を送り続けると上り帯域が人数分必要です。そこで任意で自宅のRingCast SFUへ1本だけ送信し、自宅回線から各視聴者へ複製できます。通常は直接接続を優先し、必要な時だけTURNへ自動フォールバックします。

自動画質では回線統計を見ながらビットレートと解像度を段階的に調整し、急なコマ落ちを避けます。
03

RTMPをWebRTCの輪へ変換

PC版は同梱MediaMTXでOBSなどのRTMP入力を受け、HLSとして取り出します。RingCast画面がその映像をMediaStreamへ変換し、通常のカメラ配信と同じWebRTC/SFU経路へ載せます。

配信キーは配信枠ごとに発行し、RTMP待受はPC内部の入力用途に限定します。
04

1GBファイルはDataChannelで分割転送

チャットに添付したファイル本体はサーバーへ保存せず、WebRTC DataChannelで32KBずつ送ります。受信側はOrigin Private File Systemへ順次書き込み、対応しない環境だけメモリ上の代替処理を使います。

送信者が退室した後の新規ダウンロードはできません。サーバーが保持するのは在室中の提供情報と転送シグナルだけです。
05

中央Webは公開先を見つける案内所

Netlify側には、公開中サーバーのURL、配信者・タイトル・人数、短期招待コード、有効期限など接続に必要な最小情報だけを置きます。ハートビートが止まると一覧から期限切れになり、配信終了時はすぐ削除を要求します。

映像・音声・コメント履歴・添付ファイル・録画は中央Webへ保存しません。オフラインDMは復号できない暗号文だけを短期保管し、受信後に削除します。
06

固定IPがなくても外向きトンネルで公開

CGNATや共有IPv4で受信ポートを開けない場合、PC/AndroidからCloudflare Gatewayへ暗号化WSSトンネルを張ります。利用者のHTTPS/WebSocket要求だけを、そのトンネル経由で所有者のRingCastへ届けます。

直接公開できるPCでは同梱CaddyがHTTPSを担当し、回線条件に合わせて公開方式を切り替えられます。
07

部屋・アカウント・権限は所有サーバーで判定

ログイン、プロフィール、サークル、優先パス、退場制限、在室情報は、その輪を動かすRingCastサーバーが管理します。ソケットイベントごとに在室と権限を検証し、配信者だけが使える操作を分離しています。

大量登録対策として、接続元を生IPのまま保存せずHMAC化し、時間・日・全体件数の上限を適用します。
08

端末の履歴と、短期データを分けて管理

DM履歴やダウンロード済みファイルは利用者の端末へ残します。中央の公開情報、招待情報、未受信DM暗号文は短いTTLで自動失効し、DM暗号文は受信確認後にも削除します。ローカルサーバー側のデータは所有者が自分で保全できます。

『中央は接続を助ける、重いデータと長期履歴は端末側』という境界を基本にしています。

DATA BOUNDARY

中央に置くものは少なく。
会話の中身は、輪の内側に。

中央Webへ短期で置く
  • 公開中サーバーの接続先
  • 一覧に必要な配信概要
  • 期限付きの招待コード
  • 未受信DMの暗号文と短期認証
中央Webへ置かない
  • 映像・音声・録画
  • 復号済みDMとコメント履歴
  • 添付ファイル本体
  • プロフィールのログイン秘密情報

START A SMALL CIRCLE

仕組みが分かったら、
自分の輪を開く。

ブラウザ版RingCastをそのまま開くか、自分の端末にアプリを入れて始められます。

RingCastを開くアプリを入手