見出し画像

WebRTC最新情報 #2 ~libwebrtc M90リリースなど~

こんにちは、SkyWay TechSol(テクニカルソリューション)チームの@monmeeです。

WebRTC最新情報マガジンでは、WebRTC業界の最新情報やブラウザのWebRTC実装状況について定期的に皆様にお届けします。
主な調査元サイトは以下です。

WebRTC Discuss: WebRTC全般についての議論が行われるGoogle Groupです。
Chromium bugs: Chromiumブラウザに関する不具合情報が集約するサイトです。
Bugzilla: Firefoxブラウザに関する不具合情報が集約するサイトです。
Safari Webkit Bugs: Safariブラウザに関する不具合情報が集約するサイトです。
BlogGeek.me: testRTCの創業者Tsahi氏が運営するWebRTC情報サイトです。
WebRTC Weekly: Tsahi氏が運営するWebRTC関連ニュースをまとめたサイトです。
webrtcHacks: WebRTC愛好家が運営するWebRTC開発者向けブログです。
rtcsec: リアルタイム通信(特にSIP、VoIP、WebRTC)のセキュリティに特化して言及するブログです。

【免責事項】
 本調査は素早く幅広い調査を目的としており、本記事にて提供する情報の正確性・妥当性につきましてはその保証をするものではありません。
ご意見があれば以下までお問い合わせください。
https://support.skyway.io/hc/ja/requests/new

------------

[libwebrtc] M90リリース

4/13にlibwebrtc M90がリリースされました。
主な変更点は以下です。

1. Plan B SDP Deprecation

M89よりDeprecation WarningになったPlan B SDPがDeprecationになりました。

2. getCurrentBrowsingContextMedia APIのオリジントライアルが開始

現在のタブを共有するためのAPIです。
基本的にはgetDisplayMedia APIと同様、ディスプレイ画面をMediaStreamとして返しますが、画面全体を取得するか現在のブラウザタブを取得するかという違いがあります。
画面共有する際に迷わず現在のタブを選択できるなどのユーザ体験向上効果が期待できそうです。

3. MediaStreamTrack Insertable Streams(通称Breakout Box)のオリジントライアルが開始

エンコード前のMediaStreamTrackを操作可能なAPI「MediaStreamTrack Insertable Streams」のオリジントライアル提供が開始されました。
M92から正式提供予定です。

※エンコード後のメディアを操作可能なAPIであるWebRTC Insertable Streamsとは別物です。
※後述しますが、エンコード後のメディアを操作可能なAPIであるWebRTC Insertable StreamsはWebRTC Encoded Transformに名称変更されました。

4. AV1エンコーダ・デコーダが実装完了

M90からビデオコーデックのAV1が利用できるようになりました。
今後、WebRTC界隈でもAV1の活用が本格化してくると予想されます。

[libwebrtc] WebRTC Insertable StreamsがWebRTC Encoded Transformに名称変更

WebRTC界隈で「Insertable Streams」というと、一般的にはエンコード後のメディアを操作できるAPI「WebRTC Insertable Streams」を指していました。
3/19より、このAPIは「WebRTC Encoded Transform」という名称に変更されました。

[Chromium,Firefox] RTCRtpEncodingParametersにadaptivePtimeが追加予定

RTCRtpEncodingParameters.adaptivePtimeがChromium、Firefoxブラウザに追加予定です。
RTCPeerConnectionのsender側でアダプティブパケットレートを有効化することが可能になります。
ChromiumはM92から追加予定ですが、Firefoxの追加時期は不明です。

音声のパケット送信レートを動的に調整することにより音声のビットレートを最適化することがアダプティブパケットレートの目的です。
低帯域のネットワークでも高音質なリアルタイム通信システムを構築できる可能性が示唆されています。

[Chromium] ブラウザのリリースサイクルを4週間ごとに変更予定

Chrome、Edgeブラウザのリリースサイクルが6週間から4週間に変更されます。
2021年9月頃リリース予定のChrome 94からリリースサイクルが変更開始予定で、Edgeもその時期に合わせてリリースサイクルを変更予定です。

[Chromium] M88以降で複数のVideoStreamを表示するとメモリリークが発生する

Chrome、EdgeブラウザのM88以降において、複数のビデオ映像を表示する際にメモリ使用量が増大し、最終的にメモリリークが発生しタブがクラッシュする事象が報告されています。
このバグは監視業務など、ブラウザで長時間映像ストリームを表示するユースケースにおいて問題となる可能性が高いです。

Firefoxでは本事象は発生していないため、上記バグが解決するまでは、必要に応じてFirefoxブラウザをお使いいただく等の対応をお願いします。

[Chromium] M91からステレオで音声送信できるようになる

2018年からこのissueは作られており議論され続けていましたが、ようやく修正が完了したようです。
次期リリースのM91より実装予定です。

[Reading] 音声コーデックLyraがOSS化

GoogleがLyraという音声コーデックをOSS化しました。
WebRTCではまだLyraを使えませんが、将来的にWebRTCでLyraコーデックを使えるようになる可能性があります。

Lyraは機械学習を利用することで、低ビットレートでも高い音声品質を実現できる音声コーデックです。
3kbpsでOpus 6kbpsより高品質な音声を提供できます。
以下ページに音声サンプルも用意されているので、興味があれば覗いてみてください。

------------

最後までお読みいただきありがとうございました。
今後もWebRTCに関する最新情報をお届けしていくので、お楽しみに!

▼SkyWayサービスサイトはこちら▼
https://webrtc.ecl.ntt.com/

この記事が気に入ったらサポートをしてみませんか?