webrtc学习(一)重要的几大特点

一.网络质量

网络质量是webrtc非常突出的一点,主要表现在:

1.数据传输的实施性(<500ms)

2.可以试试准确的评估出带宽(REMB,TCC),通过丢包率以及包延迟的增长速度对带宽进行评估。

3.优秀的防拥塞控制算法(GCC)

4.可以保证网络带宽使用的公平性(TCP GCC)

 一方面保证内部多个GCC连接的公平性,另考虑与TCP共存时使用带宽的公平性

5.抗丢包(NACK, FEC)

6.防抖动 防乱序(jitterBuffer NetEq)

7.可以传输各种数据(音视频 文本 二进制数)

二.音视频引擎

三.3A模块

webrtc支持通过开关切换软3a能力以及硬件3a能力:回声消除,降噪,增益。

四.安全传输

1.通过动态分配用户名/密码的保证用户的有效性

2.通过指纹保证证书的真实性

3.通过DTLS-SRTP

4.支持端到端的加密,音视频加密之后,分包之后再进行二次加密。

五.跨平台

webrtc支持多个平台

六.优秀的架构设计

优秀的线程模型 优秀的设计模式 有很多值得学习借鉴的地方

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抱歉,作为AI语言模型,我无法为您提供视频。但是,我可以提供一些关于WebRTC的信息和代码示例: WebRTC是一种用于实时通信的开放式网络技术,可以在浏览器和移动设备之间实现视频、音频和数据传输。以下是一个基本的WebRTC视频聊天代码示例: HTML代码: ``` <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>WebRTC Video Chat</title> </head> <body> <div> <video id="localVideo" autoplay muted></video> <video id="remoteVideo" autoplay></video> </div> <script src="main.js"></script> </body> </html> ``` JavaScript代码: ``` const localVideo = document.getElementById('localVideo'); const remoteVideo = document.getElementById('remoteVideo'); let localStream, remoteStream; // 获取本地视频流 navigator.mediaDevices.getUserMedia({ video: true, audio: true }) .then(stream => { localStream = stream; localVideo.srcObject = stream; }) .catch(error => { console.error('Error getting user media', error); }); // 创建PeerConnection对象 const peerConnection = new RTCPeerConnection(); // 添加本地视频流到PeerConnection peerConnection.addStream(localStream); // 监听远程视频流 peerConnection.onaddstream = event => { remoteStream = event.stream; remoteVideo.srcObject = remoteStream; }; // 创建SDP交换 peerConnection.createOffer() .then(offer => { return peerConnection.setLocalDescription(offer); }) .then(() => { // 将SDP交换发送给另一个端点 }) .catch(error => { console.error('Error creating offer', error); }); ``` 这只是一个基本的示例,WebRTC还有许多其他功能和配置选项。如果您想深入了解WebRTC,请查看相关文档和教程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值