webrtc项目笔记 博客分类: webrtc
1.WebRtc介绍
这个网上一大堆,主要是谷歌开源的技术,实时通信技术。
废话不多说,主要是涉及两个服务器:
- 信令服务器(Signal Server)
信令服务器主要是将两个或多个需要通信的拉到一起然后帮他们握手连接,相当于大家先认识一下。
然后,大家在进行通信。
- STUN/TURN服务器
在通过信令服务器的引导握手后就需要将webrtc接口提供的数据传输给对方,此时如何将处于不同网络里的双方进行连接就需要TURN/STUN服务器,网上俗称打洞服务器,其实这个turn/stun是一个网络协议可以参见ref5766,但是主要是配置问题,不好配置正确,下面说明turnserver下载,安装,配置过程:
(1)下载turnserver
http://turnserver.open-sys.org/downloads/
自己选择版本,针对不同的Linux下载不同的包(我使用的是centos7)
http://www.blogjava.net/linli/archive/2015/06/18/418935.html
(2)安装turnserver
下载好后,直接通过Linux命令安装,此处我使用yum 进行安装
如果有依赖包未安装,安装即可。
(3)配置turnserver[关键]
turnserver的默认配置放到/etc/turnserver/turnserver.conf里面
修改配置如下:
turnserver监听端口
listening-port=3478
turnserver监听ip地址(默认本机)
listening-ip=192.168.11.1
udp模式自动优化
udp-self-balance
同一私有网段的不需要turnserver
relay-ip=192.168.88.203
如果网络架构是nat模式需要配置为外网的那个ip
external-ip=11.22.33.44
长回话必须开启,同时需要配置用户名密码
lt-cred-mech
user=username:password或者user=username:签名后的password(签名方法在/usr/bin/下运行turnadmin -k -u username-r 会话范围如baidu.com -p password)
sqlite数据库存放路径,主要存放用户名及密码到用户表,可将上面的username,password加到表中,添加方式自己百度sqlite3使用
userdb=/var/db/turndb
会话范围
realm=baidu.com
客户端配置
'iceServers': [ { 'url': 'turn:192.168.11.1:3478', 'credential': 'password', 'username': 'username' } ]
提醒一下如果使用phonertc时,phonertc的browser版本有bug,其中的password改为credential即可
turnserver 启动:
systemctl start turnserver.service
推荐阅读
-
webrtc项目笔记 博客分类: webrtc
-
react-native windows环境搭建笔记 博客分类: react-native react-native
-
Swift 学习笔记 博客分类: swift Swift
-
Swift 学习笔记 博客分类: swift Swift
-
Android仿微信界面--使用Fragment实现(慕课网笔记) 博客分类: Android android
-
spring boot项目相关配置 博客分类: 编程语言 spring-boot
-
mysql笔记 博客分类: 数据库
-
创建typescript项目 博客分类: AngularJS
-
Java保证程序结束时调用释放资源函数 博客分类: 我的笔记 java程序结束释放资源虚拟机
-
内存数据库简介 博客分类: 我的笔记 sql数据库