SENCA(センカ)は、ライブ配信・録画・ビデオ会議をまとめて扱う映像のシステムです。複数のカメラや PC の映像を組み合わせ、字幕を付けて届け、そのまま録画として残します。Apache License 2.0 で公開しているので、無料で使えます。

SENCA とは

映像を受けて、組み合わせて、届けて、残す。

映像を配信するには、受け取る仕組み、合成や字幕を加える仕組み、視聴者に届ける仕組み、録画を残す仕組みが要ります。ふつうは別々の製品を組み合わせて作りますが、SENCA はこれを 1 つのソフトウェアでこなします。

ビデオ会議のルームも同じサーバーで動くので、会議をそのまま配信したり録画したりするのも簡単です。操作は管理画面からも、REST API からも行えます。

画面はイメージです。

取り込む

  • 配信ソフト・エンコーダーRTMP / RTMPS · SRT
  • ネットワークカメラ・他のサーバーRTSP · RTMP · SRT · HLS(取りに行く)
  • ブラウザー・アプリWHIP(WebRTC)· MoQ
  • つないだカメラ・キャプチャカードV4L2 · DeckLink · ALSA

SENCA で処理する

  • ストリームハブ接続が切れても 30 秒待ち、再接続すれば続きから
  • 加工合成・板書の補正・音声ミックス・変換
  • 字幕・翻訳外部の音声認識・翻訳サービスと連携
  • 録画ライブと同時に録画・VOD・MP4・予約

1 台でも、複数台のサーバーでも同じ仕組みで動きます。

届ける

  • ブラウザー・スマホHLS · LL-HLS
  • 遅れを小さく届けたいときWebRTC(WHEP)· MoQ / HTTP/3
  • 機材・他のサーバーRTMP · SRT · RTSP(再生)
  • ほかの配信サービスRTMP / SRT の送信 · Cloudflare Stream · Amazon IVS · MediaLive

止められない映像配信

1 台が止まっても、
配信は続きます。

SENCA は複数のサーバーで動かせます。どこかのサーバーが止まると、そこで動いていた合成やビデオ通話のルームは、残りのサーバーへ自動で移って動き続けます。サーバーを足せば、扱える配信の数も増やせます。

複数のサーバーを 1 つにまとめるこの仕組みを、SENCA では「グリッド」と呼んでいます。詳しくはアーキテクチャのページで説明しています。

サーバーが 1 台止まったとき
応答が 5 秒途絶えたら停止と判断し、そこで動いていた合成やルームを空いているサーバーへ移します。3 台での実測では、停止から移動まで約 6〜9 秒でした。
配信者の回線が切れたとき
既定では 30 秒のあいだ同じ配信の続きとして待ちます。再接続すれば、視聴者側はそのまま見続けられます。
処理が追いつかないとき
優先度の低いものから順に、決めておいた手順で処理を減らして動かし続けます。たとえば板書の画面を外し、講師の映像だけにします。
カメラの映像が途切れたとき
最後の画をしばらく映したまま待ち、その後はあらかじめ用意した画面(スレート)に切り替えます。

ただし、配信者が直接つないでいるサーバーが止まった場合は、その配信はいったん途切れます。配信者がほかのサーバーへつなぎ直せば、そこから続きます。

複数のソースを組み合わせる

カメラも、PC の画面も、ネットワークカメラも。

会場のカメラ、スライドを映した PC、天井のネットワークカメラ。いま使っている機材をそのまま SENCA につなげます。受け取った映像はサーバーの上で 1 つの画面に合成し、切り替えながら配信できます。

合成はサーバーで動くので、操作する人のパソコンが止まっても配信は止まりません。

  • 配信ソフト・エンコーダー

    OBS や FFmpeg、RTMP・SRT に対応した機材から。PC の画面やスライドもこの経路で送れます。

    RTMP / RTMPS · SRT

  • ネットワークカメラ

    RTSP のカメラや、ほかのサーバーの映像を SENCA のほうから取りに行きます。

    RTSP · RTMP · SRT · HLS

  • スマートフォン・ブラウザー

    Android・iPhone・iPad の配信アプリから送れます。アプリを入れなくても、ブラウザーから WebRTC で配信できます。

    SRT · RTMP · WHIP(WebRTC)

  • サーバーにつないだ機器

    USB カメラやキャプチャカード、音声機器を、そのまま入力に使えます。

    V4L2 · DeckLink · ALSA

画面はイメージです。

画面づくりも、サーバーの上で

シーンとレイヤー
入力は 32 本、シーンは 64 個まで。映像ごとに位置・大きさ・透明度・角丸・枠線を決められ、ロゴなどの画像も重ねられます。
プレビューから本番へ
次に出すシーンを確かめてから、ボタン 1 つで本番に切り替えます。カット・フェード・ワイプから選べます。
音声ミキサー
入力ごとに音量・ミュート・ソロ・左右の位置・遅延を調整できます。音割れを防ぐリミッターもあります。
板書の補正
斜めから撮った黒板やホワイトボードを正面から見た形に直し、照明のむらや反射を抑えて文字を読みやすくします。

リッチな表現をリアルタイムに

字幕も翻訳も、その場で。
遅れの少ない配信も。

合成した画面に、話した言葉の字幕と翻訳を重ね、遅れの小さい方式で届けます。双方向のビデオ会議も同じシステムで扱えます。

では、遅延の小さい配信の仕組みを見ていきます。 Now, let's look at how low-latency streaming works.
字幕と翻訳を重ねた配信のイメージです。音声認識は OpenAI の API(と互換のサーバー)か whisper.cpp、翻訳は Claude・DeepL・OpenAI から選べます。
ライブ字幕と翻訳
話した言葉を音声認識で字幕にし、最大 8 つの言語へ翻訳します。視聴者はプレイヤーで言語を選べます。音声を社外に出したくなければ、社内に置いた whisper.cpp で認識できます。
遅れの小さい配信
ビデオ通話と同じ WebRTC(WHEP)なら、遅れが最も小さくなります。HLS を細かく区切った LL-HLS や、新しい方式の MoQ でも届けられます。
ビデオ会議のルーム
ブラウザーやアプリの参加者どうしが映像・音声をやり取りするビデオ会議を作れます。話している人を大きく映すスポットライトやブラウザー用の SDK があり、会議を録画したり、そのまま配信に流したりもできます。
重い処理は GPU で
受け取った映像は、変換せずにそのまま配信や録画に回せます。変換が要るときは NVIDIA・Intel・AMD の GPU を使い、高速に処理します。

見る人と目的に合わせた届け方

1 つの配信を、複数の方式で同時に届けられます。

方式向いている相手特徴
HLSブラウザー・スマホなど、多くの機器最も広く使われている方式です。普通の Web ページと同じ HTTP で届けます。
LL-HLSHLS で遅れを小さくしたいときHLS をさらに細かく区切った方式です。
WebRTC(WHEP)やり取りのある配信・遠隔での確認ビデオ通話と同じ技術で、遅れが最も小さい方式です。
RTMP・SRT・RTSP放送機材・ほかのサーバー受け取った形のまま転送します。
MoQ・HTTP/3新しい方式を試したいとき標準化が進んでいる Media over QUIC です(対応している仕様は draft-22)。
配信サービスへの同時送信YouTube などでも同時に流したいときRTMP・SRT で受け付けるサービスへ送れます。Cloudflare Stream・Amazon IVS・AWS Elemental MediaLive では、受け付け先の作成と削除まで SENCA が行います。

アーカイブ

配信しながら録画して、
あとから見返せる形に。

ライブ配信と同時に録画し、終わればすぐ VOD として見られます。保存する期間や保管先も決めておけるので、講義や社内放送のアーカイブをそのまま運用できます。

ライブと同時に録画
配信中の映像をそのまま保存します。録画の処理が遅れても、ライブは止まりません。開始と停止は自動でも API からでも。
VOD で見返す
録画は HLS で再生できます。視聴用の URL には期限と署名が付くので、期限を過ぎた URL では見られません。
MP4 に書き出す
再エンコードせずに MP4 にまとめます。時刻の範囲を指定して、必要な部分だけを書き出すこともできます。
予約録画
「毎週火曜の 10 時から」のような繰り返しの録画を、タイムゾーンを付けて予約できます。実行の履歴も残ります。
保存期間と法的保全
保存する日数を過ぎた録画は自動で削除します。消してはいけない録画には法的保全(legal hold)をかけておけます。
外部のストレージにも
AWS S3・MinIO・Cloudflare R2 などの S3 互換ストレージへ保存できます。停電で途中だった録画も、それまでの分は残ります。

管理画面

配信の準備から録画の管理まで、ブラウザーの画面で。

SENCA には管理画面が付いています。配信の作成と状態の確認、ライブのプレビュー、合成のパイプラインづくり、スイッチャー、録画と予約まで、ブラウザーから操作できます。同じことは REST API でもできるので、自社のシステムに組み込むときも同じ考え方で扱えます。

管理画面の配信の詳細。概要、取り込みの URL、カラーバーのライブのプレビュー
配信の詳細 状態・ビットレート・トラックと、ライブのプレビュー。送り先の URL もここで確かめられます。
管理画面のパイプラインの編集。2 台のカメラを復号して合成と音声ミキサーへつないだ図
パイプライン 入力・復号・合成・音声ミキサー・符号化などの部品を、線でつないで組み立てます。
管理画面のダッシュボード。配信・録画・予約・ノードの数と、配信中のストリームの一覧
ダッシュボード 配信中のストリーム、これからの予約、ノードの状態をひと目で。
管理画面の録画の一覧。録画中と確定済みの録画、長さと大きさ、保持期限
録画 ライブと同時に残った録画の一覧。長さ・大きさ・保持期限を確認できます。

組み合わせの例

条件を組み合わせて、1 つのシステムに。

止まりにくさ、複数のソース、字幕やリアルタイム性、アーカイブ。必要な条件を選んで組み合わせられます。下は使い方の例で、特定のお客さまの事例ではありません。

大学・研修の講義配信

講師のカメラと、補正した板書の映像を 1 つの画面に合成して配信します。字幕と翻訳を付け、講義はそのまま録画して後から見返せるようにします。

  • 合成
  • 板書の補正
  • 字幕・翻訳
  • 予約録画

イベント・ライブの中継

複数のカメラを取り込み、スイッチャーでシーンを切り替えます。自社のサイトに配信しながら、同時に外部の配信サービスへも送ります。

  • 複数カメラ
  • シーンの切り替え
  • 同時配信

社内放送・説明会

期限付きの URL で社内だけに配信し、録画は保存期間を決めて管理します。残すべき録画には法的保全をかけます。

  • 期限付きの URL
  • 保存期間
  • 法的保全

ビデオ会議システム・アプリへの組み込み

社内のビデオ会議システムとして使ったり、自社のアプリにビデオ会議のルームを組み込んだりできます。会議は参加者ごとの映像と、1 画面にまとめた映像の両方で録画できます。

  • ビデオ会議
  • 会議の録画
  • 外部への配信

カメラの集約と記録

拠点のネットワークカメラの映像を集め、決まった時間に録画します。一定の間隔で静止画も保存できます。

  • ネットワークカメラ
  • 予約録画
  • 静止画

自社の設備でも、クラウドでも

どこに置くかは、用途と予算で決められます。

自社の設備(オンプレミス)
1 つの実行ファイルで動き、Docker のコンテナでも動きます。映像や録画は自社のディスクに置き、外へ送るのは設定したものだけです。
クラウド
大勢への配信はクラウドの配信サービスに任せ、録画は S3 互換のストレージに置く、といった使い分けができます。
両方を組み合わせる
カメラのある現場のサーバーで映像を受けて加工し、届けるのはクラウドから。拠点ごとに「この処理はこのサーバーで」と指定もできます。

オープンソースと導入サポート

無料で使えるオープンソース。
導入は神戸ソフトがお手伝いします。

SENCA は Apache License 2.0 で公開しています。ライセンス料はかからず、ソースコードはすべて GitHub で読めます。

自分たちで組み上げることもできますし、機材選びから構築、アプリへの組み込みまで、神戸ソフトに任せていただくこともできます。

ハードウェアの選定
サーバーや GPU、カメラ、キャプチャカードなど、用途と予算に合う機材を選びます。
機器構成の設計
会場や拠点のカメラから、サーバー、配信先、録画の保存先までのつなぎ方を設計します。
クラウドの構築
クラウドの上に SENCA の環境を作り、配信サービスやストレージとつなぎます。
アプリの構築
ビデオ会議のアプリや配信のアプリに SENCA を組み込み、運用の画面まで作ります。

現在の版

現在の版は v0.0.1 です。サーバー本体に加えて、管理画面、ブラウザーの配信ページ、Android と iOS・iPadOS・macOS の配信アプリをリポジトリで公開しています。版ごとの変更は、変更履歴にまとめています。

変更履歴を見る ↗

コーデックと特許について

H.264・H.265・AAC には特許プール(特許の権利をまとめて扱う団体)があるため、SENCA はこれらを変換するソフトウェアを同梱していません。H.264・H.265 の変換は、実行時に GPU メーカーの SDK(NVIDIA・Intel・AMD・VA-API)を読み込んで行います。受け取った H.264・AAC をそのまま配信・録画するだけなら、GPU は要りません。AV1・VP8・VP9・Opus はソフトウェアで変換します。配信するコンテンツにかかるライセンス料は、利用する側でご確認ください。

コーデックと特許の方針を詳しく →
次のページ できること