可信网站认证申请,西二旗网站建设,网站的性质和主办者,找谁做网站比较好webrtc是google推出的基于浏览器的实时语音-视频通讯架构。其典型的应用场景为#xff1a;浏览器之间端到端(p2p)实时视频对话#xff0c;但由于网络环境的复杂性(比如#xff1a;路由器/交换机/防火墙等#xff09;#xff0c;浏览器与浏览器很多时候无法建立p2p连接浏览器之间端到端(p2p)实时视频对话但由于网络环境的复杂性(比如路由器/交换机/防火墙等浏览器与浏览器很多时候无法建立p2p连接只能通过公网上的中继服务器(也就是所谓的turn服务器)中转。示例图如下 上图中的Relay server即为turn中继服务器而STUN server的作用是通过收集NAT背后peer端(即躲在路由器或交换机后的电脑对外暴露出来的ip和端口找到一条可穿透路由器的链路俗称“打洞”。stun/turn服务器通常要部署在公网上能被所有peer端访问到coturn开源项目同时实现了stun和turn服务的功能是webrtc应用的必备首选。 下面介绍coturn的搭建过程 一、弄一台有公网ip的云主机 对于新手推荐使用国内DaoCloud的免费胶囊主机可免费耍2小时即不花钱又搞了运行环境就是干活时手脚要麻利点等基本概念熟悉了再到阿里云或腾迅云上买一台可长期使用的主云机。 创建成功后在主机详情里可以看到公网及内网ip包括ssh登录方法 二、安装coturn的依赖组件 daocloud提供的免费胶囊主机是ubuntu环境上面啥都没有必须先安装以下组件: sudo su root #先切换到root
apt-get install build-essential #(可选)如果后面的./configure失败时可先安装gcc
apt-get install openssl libssl-dev makewget https://github.com/libevent/libevent/releases/download/release-2.1.10-stable/libevent-2.1.10-stable.tar.gz
tar -zxvf libevent-2.1.10-stable.tar.gz
cd libevent-2.1.10-stable
./configure
make make install
apt-get install sqlite libsqlite3-dev
cd ~/注coturn的用户信息等默认是持久化保存在sqlite中如果想保存到mysql中上面的sqlite安装选项需要改成mysql相关的依赖项。 1 apt-get install mysql-server -y #可选(安装mysql)
2 apt-get install mysql-client -y
3 apt-get -y install libmysqlcppconn-dev libmysqlclient-dev libmysql-dev 三、下载coturn源码并编译 wget https://github.com/coturn/coturn/archive/4.5.1.1.tar.gz
tar -zxvf 4.5.1.1.tar.gz
cd coturn-4.5.1.1
./configure
make make installtips: daoclound的免费主机下载github源码的速度并不快如果本机网速够快可以事先在本机下载好然后用类似 scp ~/Downloads/4.5.1.1.tar.gz ubuntu52.81.17.142:/home/ubuntu直接上传速度要快很多。 注意一定要在./configure前把sqlite或mysq依赖项安装好否则./configure时无法识别出sqlite或mysql最后make成功的版本会显示xxx is not supported。sqlite\mysql正常的版本启用时会有类似下面的显示 如果对sqlite里的表结构感兴趣可以把turndb down到本机用工具打开 四、创建用户并配置coturn turnadmin -a -u yjmyzz -p yjmyzz.cnblogs.com -r cnblogs上面的命令将创建用户yjmyzz密码为yjmyzz.cnblogs.com同时指定realm为cnblogs大家根据实际情况修改 cp /usr/local/etc/turnserver.conf.default /usr/local/etc/turnserver.conf上面的命令将配置模式文件复制一份到/usr/local/etc/下 vim /usr/local/etc/turnserver.conf修改下面几个关键项 listening-port3478 #监听端口
listening-deviceeth0 #监听的网卡
external-ip52.81.17.142 #公网ip
useryjmyzz:yjmyzz.cnblogs.com #用户名:密码
realmcnblogs #一般与turnadmin创建用户时指定的realm一致注如果机器上有多块网卡注意listening-ip与listening-device要匹配参考下图 五、启用coturn并验证 turnserver -o -a -f -v -r cnblogs最后的-r cnblogs意为指定realm要与创建用户时指定的realm一致。可用lsof -i:3478校验下是否启动成功如果看到类似下面的输出说明3478监听正常。 webrtc-samples官网还提供了一个检测ice穿透的在线工具https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ 参考下图把stun和turn地址设置好然后点击最下面的“Gather candidates”(收集候选链路) 如果看到最后的reply那一行address里的ip与turn服务器的公网ip相同说明中继成功。 参考文章 https://www.kancloud.cn/vim26/v1/578933 转载于:https://www.cnblogs.com/yjmyzz/p/how-to-install-coturn-on-ubuntu.html