Skip to content

Instantly share code, notes, and snippets.

@voluntas
Last active February 18, 2020 05:13
Show Gist options
  • Save voluntas/2ef7c523ca1a5c850a5063a170c465d0 to your computer and use it in GitHub Desktop.
Save voluntas/2ef7c523ca1a5c850a5063a170c465d0 to your computer and use it in GitHub Desktop.
WebRTC SFU Sora で AV1 対応準備中

WebRTC SFU Sora で AV1 対応準備中

WebRTC SFU Sora

AV1 が WebRTC に来そうなので、準備中です。

Sora のデモ機能で AV1 の指定を可能にする

Image from Gyazo

Sora からの Offer SDP への対応

AV1 を Chrome に話させるための SDP を投げるようにしてあります。

v=0
o=Shiguredo...Sora-19.10.8 9155470339764905721 0 IN IP4 0.0.0.0
s=-
t=0 0
a=sendrecv
a=fingerprint:sha-256 ED:44:9B:B0:DB:1F:63:EC:81:1C:E0:F5:F9:7D:8F:9E:9A:9B:A0:79:A8:FF:C2:AA:3A:52:35:02:76:14:27:52
a=group:BUNDLE audio_82U5IP video_cqvecP
a=extmap-allow-mixed
a=msid-semantic:WMS *
a=ice-options:trickle
m=audio 9 UDP/TLS/RTP/SAVPF 109
c=IN IP4 0.0.0.0
a=candidate:0 1 UDP 2114002687 192.168.1.6 56889 typ host
a=end-of-candidates
a=recvonly
a=rtcp-rsize
a=rtcp-mux
a=ice-ufrag:xrb55V6RRSoI
a=ice-pwd:j3uPBaBdyjApegdr90P5dXQjUJ1nM5l0BCCX
a=mid:audio_82U5IP
a=msid:B4WYXPVTC52NK8N0YYA45Q6WXC CXQ0ZS9VHX2YK5DVRVBP5S8MN4
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:13 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:14 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=rtpmap:109 opus/48000/2
a=fmtp:109 maxplaybackrate=48000;stereo=1;sprop-stereo=1;minptime=10;ptime=20;useinbandfec=1;usedtx=0
a=setup:actpass
a=ssrc:3530550300 cname:B4WYXPVTC52NK8N0YYA45Q6WXC
m=video 9 UDP/TLS/RTP/SAVPF 120 96
c=IN IP4 0.0.0.0
b=TIAS:500000
b=AS:500
a=candidate:0 1 UDP 2114002687 192.168.1.6 56889 typ host
a=end-of-candidates
a=recvonly
a=rtcp-rsize
a=rtcp-mux
a=ice-ufrag:xrb55V6RRSoI
a=ice-pwd:j3uPBaBdyjApegdr90P5dXQjUJ1nM5l0BCCX
a=mid:video_cqvecP
a=msid:B4WYXPVTC52NK8N0YYA45Q6WXC RKPFXE48BX13F2PY6Q45XAQXE8
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:10 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
a=extmap:13 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:14 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=extmap:15 https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension
a=rtpmap:120 AV1/90000
a=fmtp:120 profile=2; level-idx=8; tier=1;
a=rtcp-fb:120 ccm fir
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 goog-remb
a=rtpmap:96 rtx/90000
a=fmtp:96 apt=120
a=setup:actpass
a=ssrc:2945067417 cname:B4WYXPVTC52NK8N0YYA45Q6WXC

AV1 関連はこの辺です。

a=extmap:15 https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension
a=rtpmap:120 AV1/90000
a=fmtp:120 profile=2; level-idx=8; tier=1;

AV1 RTP 拡張への対応

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment