Help us understand the problem. What is going on with this article?

WebRTCとコーデックの関係

More than 1 year has passed since last update.

WebRTCとコーデックの関係

by yusuke84
1 / 12

この資料はなに?

SkyWay UG Tokyo #2のLT資料です。


自己紹介

なかゆうすけ(@yusuke84

  • Twitter: @Tukimikage
  • 仕事:
  • コミュニティ:
    • WebRTC Meetup Tokyo 主催
    • WebRTC Beginners Tokyo 主催

WebRTCで利用される主要なコーデック

Audio

  • Opus
  • G.711

Video

  • VP8
  • VP9
  • H.264
  • AV1

今日は映像コーデックのはなしをします


コーデックの比較

コーデックの種類 管理組織 ライセンス 備考
VP8 Google ロイヤリティフリー
VP9 Google ロイヤリティフリー VP8の半分程度のビットレートで同品質を実現
CPU使用20%〜30%高め
H264 MPEG LA ライセンス料がかかるが、Ciscoがライセンス費用を全て負担してOpenH264を出している iOSデバイスはHW Accelerationに対応
Androidデバイスは機種依存がやばめ…
AV1 AOM Alliance for Open Media ロイヤリティフリー

対応ブラウザ

ブラウザ コーデック
Chrome VP8,VP9,H264,AV1(Canaryのみデコードに対応)
Firefox VP8,VP9,H264,AV1(Nightlyのみ)
Safari H264
Edge VP8,H264UC(Skype用です…),VP9(今後対応される見通し)

CPU使用率の差

Caller Callee コーデック CalleeのCPU使用率の変化
OSX Chrome M64 Android Chrome M64 VP8 約65%
OSX Chrome M64 Android Chrome M64 VP9 約70%
OSX Chrome M64 Android Chrome M64 H264 (映像表示されず…)
OSX Chrome M64 OSX Chrome M64 VP8 約60%
OSX Chrome M64 OSX Chrome M64 H264 約50%
  • 通信環境: wifi
  • ビデオサイズ: 640x480
  • フレームレート 30fps
  • 端末: HUAWEI P9

コーデックを選択するには?

  • 通常はSDPを書き換える必要があります
v=0
(…中略…)
a=group:BUNDLE audio video
m=audio 54321 RTP/SAVPF 111 103 104 0 8 106 105 13 126
(…中略…)
c=IN IP4 100.1.2.3
a=rtcp:54321 IN IP4 100.1.2.3
a=candidate:4022866446 1 udp 2113937151 192.168.0.1 34567 typ host generation 0
a=candidate:4022866446 2 udp 2113937151 192.168.0.1 34567 typ host generation 0
(…中略…)
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
(…以下略…)

SkyWayを利用する

// Caller
const call = peer.call('peerID', localStream, {
  videoCodec: 'H264',
});
// Callee
peer.on('call', call => {
    call.answer(localStream, {
        videoCodec: 'H264'
    });
});
  • VP8,VP9,H264使用可能

デモ

https://goo.gl/FWALhV


yusuke84
WebRTCに関わり7年目。NTTコミュニケーションズでWebRTCプラットフォームSkyWayのプロダクトマネージャーをやっています。
https://twitter.com/Tukimikage
nttcommunications
NTTコミュニケーションズは、お客さまのデジタルトランスフォーメーション実現に貢献する「DX Enabler™」として、ICTの活用によるお客さまの経営課題の解決やスマートな社会の実現に取り組みます。
https://www.ntt.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away