metaRTC5.0实现webrtc的TURN支持
概述
音视频通信时为了节省服务器带宽,通信效率最好的就是p2p,但是在现实的应用场景中,我们的客户端都是在大局域网内部的,stun协议就是要解决如何穿透这些局域网实现p2p。但在有些网络中不支持穿透就需要使用TURN或者SFU进行转发。
metaRTC5.0新版实现对TURN支持。metaRTC5.0提供有metaRTC客户端和浏览器TURN的demo。
源码下载
GitHub - metartc/metaRTC: A cross-platform WebRTC SDKA cross-platform WebRTC SDK. Contribute to metartc/metaRTC development by creating an account on GitHub.https://github.com/metartc/metaRTCmetaRTC: metaRTC为纯C版本的webrtc 可与谷歌webrtc类库互通,支持Webrtc/SRT/RTMPhttps://gitee.com/metartc/metaRTC
浏览器TURN
如果浏览器使用turn,如ipc等客户端则不需要配置
在metaipc5_html中js/srs.sdk.p2p.js文件中,用下面代码替换280行代码
const config = {bundlePolicy: 'balanced',// certificates?: RTCCertificate[];// iceCandidatePoolSize?: number;iceTransportPolicy: "relay",// allrtcpMuxPolicy : 'negotiate',iceServers: [{urls: "turn:192.168.1.102:3478",username: "metartc",credential: "metartc"}]};self.pc = new RTCPeerConnection(config);
metaRTC Turn配置
配置文件yang_config.ini中
iceCandidateType参数可以在配置文件中配置,也可以在程序中赋值。
typedef enum{YangIceHost,YangIceStun,YangIceTurn
}YangIceCandidateType;
配置参数后metaRTC会根据参数进行ice处理。
coturn配置
编辑配置文件/etc/turnserver.conf
# Uncomment if extra security is desired,
# with nonce value having a limited lifetime.
# The nonce value is unique for a session.
# Set this option to limit the nonce lifetime.
# Set it to 0 for unlimited lifetime.
# It defaults to 600 secs (10 min) if no value is provided. After that delay,
# the client will get 438 error and will have to re-authenticate itself.去掉#stale-nonce=600注释
改为 stale-nonce = 0
#设置用户名密码 user=username2:password2
user=metartc:metartc
#设置realm
realm=metartc.cn
#设置侦听端口,默认为3478
listening-port=3478
metaRTC5.0实现webrtc的TURN支持相关推荐
- Spring3.0.5源码扩展支持AOP 获取HttpServletResponse
Spring3.0.5源码扩展支持AOP 获取HttpServletResponse.老项目直接升级Spring版本风险无法评估,所以直接扩展Spring包支持低版本没有的功能. 目录 Spring扩 ...
- ZLMS教学管理平台系统V1.2.0最新版本发布,支持纯Web视频直播点播,还带运营在线支付功能!完全免费提供!...
ZLMS教学管理平台系统V1.2.0最新版本发布,支持纯Web视频直播,点播!还带在线支付功能! ZLMS 开发团队在综合参考了各方面的合理建议之后,经过两个多月的紧张开发及测试,终于发布V1.2.0 ...
- ASP.NET Core 6.0对热重载的支持
.NET 热重载技术支持将代码更改(包括对样式表的更改)实时应用到正在运行的程序中,不需要重启应用,也不会丢失应用状态. 一.整体介绍 目前 ASP.NET Core 6.0 项目都支持热重载.在以下 ...
- JeeWx捷微3.0多触点版本发布,支持微信公众号,微信企业号,支付窗——喜迎双“旦”
喜迎双旦,JeeWx捷微3.0多触点版本发布^_^ JeeWx捷微V3.0--多触点版本管理平台(支持微信公众号,微信企业号,支付窗) JeeWx捷微V3.0.0版本是一个颠覆和跨时代版本,官方团队历 ...
- Magento支付宝手机网站支付插件V6.0旗舰版发布,支持在微信中使用支付宝支付,订单重新支付功能!...
2019独角兽企业重金招聘Python工程师标准>>> 功能 严格按照支付宝接口文档编写代码. 支付宝异步通知机制,确保订单状态及时更新,无丢失遗漏. 订单完美对接:支付后即使关掉支 ...
- IT66311 是一款单输入、单输出 HDMI 2.0 重新定时缓冲器,支持高达 6.0Gbps 的信令速率。
IT66311 是一款单输入.单输出 HDMI 2.0 重新定时缓冲器,支持高达 6.0Gbps 的信令速率.它符合最新的HDMI 2.0a规范,并向后兼容HDMI1.4规范.凭借6.0Gbps功能, ...
- FreeSwitch(CentOs7.0)+WebRTC(web)+座机呼叫(带SSL注册证书)
FreeSwitch(CentOs7.0)+WebRTC(web)+座机呼叫完成版带SSL注册证书 前言 1.freeswitch的安装,CentOS7原本yum安装起来比较慢,提倡更换yum源会快许 ...
- 流媒体服务器开发——SRS 4.0与WebRTC音视频通话丨音视频开发丨嵌入式开发丨FFmpeg丨iOS音视频开发
SRS 4.0与WebRTC音视频通话 1. 音视频高薪岗位都需要什么技能点 2. WebRTC的技术点分析 3. SRS 4.0如何使用WebRTC 视频讲解如下,点击观看: 流媒体服务器开发--S ...
- LT6711A-HDMI2.0到eDP / DP1.2支持4K 60Hz
LT6711AHDMI2.0到eDP / DP1.2支持4K 60Hz LT6711A 制造商:Lontium LT6711A 封装:QFN64 7.5*7.5 LT6711A 最小包装:2600/包 ...
- yuml 保存为图片_Towxml 3.0 让微信小程序支持 LaTex 数学公式及 yuml 流程图
Towxml 3.0 让微信小程序支持 LaTex 数学公式及 yuml 流程图 Towxml 是一个让小程序可以解析 Markdown,html 的解析库. 能够使小程序完美解析 Markdown ...
最新文章
- 那些总是写“烂代码”的同学,强烈推荐你用这款IDEA插件!
- 一些数字:全球企业的人工智能应用进展
- 10 个有用的 PHP 代码
- cx+oracle+sql含中文,sql 判断字段值是是否包含中文字符
- 分析:Java的好处究竟在哪里?
- python位运算符_详细介绍Python语言中的按位运算符
- 你真的了解Python吗?这篇文章可以让你了解90%,赶紧收藏!
- android 自定义 打包文件类型,Android设置apk打包文件名报错
- U811.1接口EAI系列之二-BOM构成-委外BOM构成--VB语言
- 挑战王者荣耀“绝悟” AI,会进化的职业选手太恐怖了!
- 842. 将数组拆分成斐波那契序列
- Choosing Capital for Treeland codeforce 219-D
- php绘制甘特图,如何用excel做甘特图?甘特图制作方法图解
- ThinkPad Win7更改鼠标滚轮设置问题
- 生信分析电脑推荐_生信工程师的个人计算机配置推荐
- java-php-python-ssm无人智慧药柜系统设计计算机毕业设计
- 悲观锁、乐观锁以及分布式锁
- java之自定义注解的完整使用
- clearWState(WState_Polished)编译出错
- Frontend 当前前端的三种渲染方式