23
16

More than 5 years have passed since last update.

WebRTCとコーデックの関係

Last updated at Posted at 2018-02-05
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使用可能

デモ


23
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
16