shiguredo
Published in

shiguredo

Sora C++ SDK を作った理由

WebRTC Native Client Momo が Sora にリアルタイムなメッセージング機能を搭載したタイミングでメッセージングを気楽に扱うのが難しくなってしまったというのがきっかけです。

それ以外にもいろいろありますが、Momo のノウハウを使って C++ SDK を作ることで最終的には JavaScript SDK 以外をすべて C++ SDK ベースにできるのではないか?という思惑もありました。

Sora C++ SDK の強み

「ブラウザを除いたすべての環境で利用できる」を目標として開発しました。今回のリリースで Windows / macOS / Linux (Ubuntu) / iOS / Android に対応しています。さらに NVIDIA Jetson (Ubuntu 20.04 arm64) への対応もしています。

プラットフォームごとのハードウェア処理への対応も強みの一つです。

macOS であれば Video Toolbox 、Intel であれば Intel Media SDK 、NVIDIA であれば VIDEO CODEC SDK といったようにそれぞれに対応しています。

Apache License 2.0

組み込み系の映像ツールは LGPL ライセンスが多いですが、Sora C++ SDK は Apache License 2.0 として提供しています。企業でも採用しやすいライセンスかと思います。

サンプル

SDL を利用した音声や映像の受信、cpp-mp4 ライブラリを利用した音声や映像の MP4 からの WebRTC 配信、クライアント側での mp4 への録画などを追加していく予定です。

今後

積極的なメンテナンスをしていきます。とにかく WebRTC を使い倒したい人にとっては理想の SDK だと思います。

まずは Unity SDK を C++ SDK ベースに切り替える予定です。これで Unity SDK のメンテナンスコストがぐっと減る予定です。

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store