2021 年の WebRTC Native Client Momo への投資
定期的に更新していきます。
2020 年振り返り
2020 年の Momo は企業からのサポートを受けた機能実装が多く行えました。本当にありがとうございます。自社 OSS のサポート以外で利益を上げるを目標にしていたのでとても嬉しいです。
元々予定していた機能は一通り対応できて、順調な対応だったと思います。後半は意図的にリリースをゆっくりめにしたのもうまくいったように感じます。
Jetson Xavier シリーズへの対応や NVIDIA NVCODEC への対応、画面共有対応、Ubuntu 20.04 対応、Simulcast 対応、Windows 対応、DataChannel 対応、Jetson Nano VP8 HWA 対応と盛りだくさんでした。
本来は libwebrtc のアップデートだけに絞りたいのですが、そうも行かないのが現状でいろいろ機能対応をした 1 年だったと思います。
2021 年は少しゆっくりめで行きたいと考えています。libwebrtc のアップデートや Sora 機能への追従はやっていきますのでご安心ください。
Apple Silicon 対応 (対応済み、ただし HWA はまだ)
Apple M1 対応はやっていきます。M1 はなんと H.264/H.265/VP8/VP9/AV1 (AV1 だけはデコードのみです) の HWA がのっており、Momo にとっては夢のような環境です。
対応はいつになるかわかりませんがなんとかしたいと思っています。もし優先実装な依頼をしたい場合はご連絡ください。
MP4 録画対応 (優先実装可能)
実は Sora の録画合成ツール Hisui で利用するため C++ な MP4 ライブラリを開発中です。shiguredo/cpp-mp4 として Apache License 2.0 で公開しますので、お待ちください。
そしてこのライブラリを利用して MP4 な録画ファイルをローカルに出力させる仕組みを用意しようかと考えています。
ただ、コストはとても高いので優先実装以外ではやる予定はありませんおで、ご相談お待ちしております。
NVIDIA VIDEO CODEC SDK (NVDEC + CUDA) への対応 (優先実装可能)
スロースネットワークス様からの支援により Sora Unity SDK で実現しているものをポーティング予定です。
macOS や Windows バイナリへの GitHub Actions による署名(優先実装可能)
macOS や Windows 向けに署名をして、いろいろな手間を減らす仕組みです。いろいろ調べたところノウハウがありそうなので、実現したいなと考えています。
v4l2loopback (共有済み)
加工済みの音声や映像を Momo から出力したいという要望がよくあるのですがそのために Momo をカスタマイズするのはコストが高いので v4l2loopback を有効活用して行く方法を共有していけたらなと思っています。
実際 Jetson で Tensorflow と v4l2loopback を使って背景ぼかしを実現したりもできています。
Momo の開発を手伝って貰っている めるぽん に記事を書いて貰いました。
まとめ
来年は以下のようなパッケージが追加されるはずです。
- raspberry-pi-os_armv6.tar.gz
- raspberry-pi-os_armv7.tar.gz
- raspberry-pi-os_armv8.tar.gz
- ubuntu-18.04_armv8_jetson_xavier.tar.gz
- ubuntu-18.04_armv8_jetson_nano.tar.gz
- ubuntu-18.04_x86_64.tar.gz
- ubuntu-20.04_x86_64.tar.gz
- macos-11.2_x86_64.tar.gz (名前の変更)
- macos-11.2_arm64.tar.gz (Apple Silicon)
- windows-10.1809_x86_64.zip
来年はメンテナンスに力を入れていこうと思っていますので、いろいろな場所で積極的に使ってもらえればと思います。