カメラとマイクとエンコーダー

WebRTC に超えられない壁としてカメラとマイクとエンコーダーがある。これらの壁についてダラダラと書いていきたい。

Web カメラ

4K での配信を実現するには当たり前だが Web カメラ(以降カメラ)が対応していなければならない。当たり前の話。

良いカメラ悪いカメラが色いろある。360 度のカメラというのもある。

WebRTC に関わってから カメラ最低でも20 台は買ったと思う。思ったより壊れやすいし、不安定。

最強は組み込みのカメラ。つまりスマホのカメラは強い。かなり安定している。

4K@60 というスペックのカメラは今の所ウェブカメラでは存在しない。つまり検証ができない。力技でなんとかできるのかすらもわからない。

高画質な Web カメラが来てほしい。

マイク

マイクは内蔵マイクからヤマハの会議システム用のマイクまでピンキリ。ただし、このピンキリの差が大きすぎる。

内蔵マイクは基本ダメでハウリング起こしやすい。ヤマハの会議システム用マイクは巨大だが最高の音質を提供してくれる。

iPhone のマイクは流石に電話ということもありそこそこ音質が良い。

ノイズやハウリングは完全にマイク依存になる。ソフトウェア側でも頑張ってくれているが、圧倒的にハードウェアパワー。

たまに顧客から「音質が悪いです」と相談されるが 100% マイクが悪い。高いマイクを買えば解決する。ただそこはハードルが高い場合もある。

libwebrtc はいろいろ音質に対して頑張っているがまだまだハードに頼らざるを得ない。

より高性能なソフトウェア処理でのノイズリダクションやエコーキャンセラーが来てほしい。

エンコーダー

高画質を実現しようとするとエンコーダーが頑張るしかない。4K@60 はエンコーダーが頑張る、つまり CPU が頑張るしかない。

ただもちろんハードウェアアクセラレーター(以降 HWA) を利用して頑張れる場合もある。たとえば libwebrtc の iOS 実装は H.264 はソフトウェア処理がすでに削除されており、HWA が前提になる。

HWA はとにかく WebRTC とってはありがたい。まず CPU 利用率が下がることで熱暴走しづらくなる。またスマートフォンにおいては電池の持ちが良くなる。

ただ HWA はほぼほぼ H.264 でしか利用できない。VP8 は稀に、VP9 は存在なんかほぼしない。

CPU では 4K@60 は実現が難しい。ブラウザでは VP9 な 4K@60 は実現できない。そのためブラウザレスで WebRTC を実現し QSV を利用して VP9 な 4K@60 を実現できないか模索している。

エンコーダーはハードに依存する、ただハードを作ったりするのは難しい、であれば様々なハードでエンコーダーを利用できる仕組みを提供していきたい。

HWA がもっと気軽に利用できる世界が WebRTC に来てほしい。

Written by

Erlang/OTP / 時雨堂 / WebRTC / E2EE

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