当前位置:网站首页>Webrtc M96 release notes (SDP abolishes Plan B and supports opus red redundant coding)
Webrtc M96 release notes (SDP abolishes Plan B and supports opus red redundant coding)
2022-07-03 05:12:00 【Jiangnan - crossing the river with a reed】
https://groups.google.com/g/discuss-webrtc/c/Bp8OzBzipSc

Switch to M96 Branch
git checkout branch-heads/4664
PSAs

Plan B and Unified Plan
Plan B yes Chrome/Chromium Unique implementation ,Safari and Firefox Always support Unified Plan,Chrome stay M72 Has supported Unified Plan. To some extent, if it is redeveloped later WebRTC Not to be considered Plan B The support of , because Unified Plan Your support has been very good .
Plan B and Unified Plan Each have advantages and disadvantages , When there is only one way of audio and video, there is no difference between the two schemes , In multi-channel audio and video Unified Plan Every audio and video will have a Mline, This provides a lot of flexibility , Different capabilities can be negotiated for each channel of audio and video , For example, we have a camera and a screen to share , You can let the screen share av1 code , And the camera uses h264. As years with SDP Developers dealing with have to say SDP Sucks,SDP It's really a bad design , It is a standard, but it is also a relatively flexible standard , The implementation of each family may be different , Have to spend a lot of energy on SDP The adaptation of , If you haven't been SDP Your adaptation has plagued you in a sense that you may not fully understand WebRTC. But once standards are established , It's hard for others to shake it , Microsoft once made it ORTC Standard to shield SDP The question of consultation , Finally failed .
be used for SCTP Transmission of DcSCTP library

SCTP(Stream Control Transmission Protocol, Streaming control transport protocol ) RFC 4960
It is a transmission protocol , By default 5000 port , stay TCP/IP The location in the protocol stack and TCP、UDP similar , At the same time have TCP and UDP Characteristics of .
DcSCTP library for the SCTP transport used by WebRTC’s Data Channels
Connection oriented. Similar to TCP, SCTP is connection oriented. It also offers a multi-homing capability that isn’t used by WebRTC Optional reliability. Reliability is optional in SCTP and is up to the implementer using SCTP to decide if he needs this capability or not Optional ordering. Ordering of packets sent via SCTP is optional and is left for the implementer to decide if this is necessary for him or not Message oriented. SCTP makes sure that each message sent is properly parsed on the receiver end in the same manner in which it was sent Flow control. Similar to TCP, SCTP provides a flow control mechanism that makes sure the network doesn’t get congested SCTP is not implemented by all operating systems. In such cases, an application level implementation of SCTP will usually be used.
SCTP is used in WebRTC for the implementation and delivery of the Data Channel.
--force-fieldtrials="WebRTC-DataChannel-Dcsctp/Enabled/“
Opus+Red Redundancy coding
Support for RFC 2198 redundancy
Audio redundancy for OPUS using RED is now available. See the PSA for details.
Before that WebRTC If you want to improve the weak network resistance of audio , What can be done is to increase NACK( Retransmission ) And on Opus Of FEC. Now we have more options , stay M96 Of WebRTC Supported the adoption of red To send audio redundancy packets to improve the resistance of audio weak network .RTP Of RED Norms existed long before , It was proposed more than 20 years ago , The basic idea is to send redundant packets , Use RED Put one or two redundant audio frames into each packet , Sometimes it's called “ Out of band FEC”.
Of course , There's a price to this , You can change your audio bit rate from 30kbps Add to 60kbps perhaps 90kbps, However, compared with video, these bit rate increases are not large , Very suitable for audio priority scenes .
Using RED to put one or two redundant audio frames into each packet would give much more resilience to packet loss than Opus FEC. It comes at a cost however, doubling or tripling the audio bitrate from 30kbps to 60kbps or 90kbps (with an additional 10 kbps for the header). Compared to more than one megabit per second of video data it does not seem so bad however.
stay M96 Through setCodecPreferences Method adjustment opus+red In order to open , Default Chrome Only one will be encoded in red Redundant packages , This can improve the weak network resistance without increasing the bandwidth . In addition, you can use WebRTC Encoded Insertable stream To adjust redundancy .
github There are already on how to use demo https://github.com/fippo/opus-fec, In addition, open source Janus The media server already supports .
opus+red Not on by default , Can pass setCodecPreferences Method to adjust the coding order , hold red Put it in opus Before .
opus+red is not active by default but can be activated through the setCodecPreferences API by changing the order of codecs such that red appears before opus. Note that in getStats opus+red will still be identified as “opus”.
webrtc::field_trial::FindFullName("WebRTC-Audio-Red-For-Opus");
m=audio 9 UDP/TLS/RTP/SAVPF 96 111
a=rtpmap:96 red/48000/2
a=rtpmap:111 opus/48000/2

- First packet was Opus (payload type 111);
- Second packet was RED (payload type 96), but “smallish”;
- Other packets were RED as well, but all larger and similar in size.


边栏推荐
- JS dynamic table creation
- Bluebridge cup real topic 2020 palindrome date simulation construction provincial competition
- Introduction to deep learning (II) -- univariate linear regression
- leetcode435. Non overlapping interval
- Congratulations to musk and NADELLA on their election as academicians of the American Academy of engineering, and Zhang Hongjiang and Fang daining on their election as foreign academicians
- 大学校园IP网络广播-厂家基于校园局域网的大学校园IP广播方案设计指南
- Class loading mechanism (detailed explanation of the whole process)
- 5-36v input automatic voltage rise and fall PD fast charging scheme drawing 30W low-cost chip
- 在PyCharm中配置使用Anaconda环境
- Self introduction and objectives
猜你喜欢

【批处理DOS-CMD命令-汇总和小结】-CMD窗口的设置与操作命令-关闭cmd窗口、退出cmd环境(exit、exit /b、goto :eof)

5-36v input automatic voltage rise and fall PD fast charging scheme drawing 30W low-cost chip

Make your own dataset
![[set theory] relation properties (reflexivity | reflexivity theorem | reflexivity | reflexivity theorem | example)](/img/2a/362f3b0491f721d89336d4f468c9dd.jpg)
[set theory] relation properties (reflexivity | reflexivity theorem | reflexivity | reflexivity theorem | example)
![[set theory] relation properties (transitivity | transitivity examples | transitivity related theorems)](/img/c2/87358af6b2b2892a6eceb751b3b60c.jpg)
[set theory] relation properties (transitivity | transitivity examples | transitivity related theorems)

Botu uses peek and poke for IO mapping

Gbase8s unique index and non unique index
![[research materials] 2021 China's game industry brand report - Download attached](/img/b7/a377b0b7c742078e2feb28ebfbca62.jpg)
[research materials] 2021 China's game industry brand report - Download attached

Automatic voltage rise and fall 5-40v multi string super capacitor charging chip and solution

es7创建索引容易犯的错误
随机推荐
Common methods of JS array
Ueditor, FCKeditor, kindeditor editor vulnerability
小学校园IP网络广播-基于校园局域网的小学IP数字广播系统设计
Webapidom get page elements
Differences among bio, NiO and AIO
Yolov5 network structure + code + application details | CSDN creation punch in
Esp32-c3 learning and testing WiFi (II. Wi Fi distribution - smart_config mode and BlueIf mode)
BTC-密码学原理
Coordinatorlayout appbarrayout recyclerview item exposure buried point misalignment analysis
Yolov5 input (II) | CSDN creative punch in
[backtrader source code analysis 5] rewrite several time number conversion functions in utils with Python
Prepare for 2022 and welcome the "golden three silver four". The "summary of Android intermediate and advanced interview questions in 2022" is fresh, so that your big factory interview can go smoothly
Problems encountered in fuzzy query of SQL statements
What is UUID
Realize file download through the tag of < a > and customize the file name
Review the configuration of vscode to develop golang
Pan details of deep learning
Redis 过期淘汰机制
Go practice -- gorilla/rpc (gorilla/rpc/json) used by gorilla web Toolkit
1111 online map (30 points)