Video streaming 在Ubuntu for WebRTC上安装TURN服务器
如何在我的ubuntu 12.04上安装TURN服务器?你们能分享教程吗?我读了这个教程:。但我不明白的是,如何在我的ubuntu 12.04上安装我自己的TURN服务器 我正在使用下面的代码创建Video streaming 在Ubuntu for WebRTC上安装TURN服务器,video-streaming,html5-video,webrtc,rfc5766turnserver,coturn,Video Streaming,Html5 Video,Webrtc,Rfc5766turnserver,Coturn,如何在我的ubuntu 12.04上安装TURN服务器?你们能分享教程吗?我读了这个教程:。但我不明白的是,如何在我的ubuntu 12.04上安装我自己的TURN服务器 我正在使用下面的代码创建rtpeerconnection const pc_config={“iceServers”:[{“url”:“stun:stun.l.google.com:19302”}, {“url”:“turn:my_username@”,“credential:“my_password”}]}; const p
rtpeerconnection
const pc_config={“iceServers”:[{“url”:“stun:stun.l.google.com:19302”},
{“url”:“turn:my_username@”,“credential:“my_password”}]};
const pc_new=新的WebKitRTPeerConnection(pc_配置);
我想填充上面代码的参数,以使用不同的网络
当我想安装turn服务器时,我得到
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package resiprocate-turn-server
我使用了
apt-get-install-resiprocate-turn服务器
。我也使用了这个教程 我认为指南有点过时了
看看这个谷歌开源TURN服务器。安装非常简单,工作非常好。
它很容易安装在linux机器上,而不是在其他操作系统上尝试 简单方法: 如果你说不,我想要最新的尖端技术,你可以从他们的网站下载源代码,自己安装,例如:
sudo-i#如果您已经处于管理模式,则忽略
apt get update&&apt get install libssl dev libevent dev libhiredis dev make-y#安装依赖项
wget-O turn.tar.gzhttp://turnserver.open-sys.org/downloads/v4.5.0.3/turnserver-4.5.0.3.tar.gz #下载源tar
tar-zxvf turn.tar.gz#解压缩
光盘服务器-*
/配置
制作和制作安装(&M)
运行TURN服务器的示例命令:
sudo turnserver -a -o -v -n --no-dtls --no-tls -u test:test -r "someRealm"
命令说明:
- -a-使用长期凭证机制
- -o-将服务器进程作为守护进程运行
- -v-“中等”详细模式
- -n-没有配置文件
- --无dtls-不启动dtls侦听器
- --无tls-不启动tls侦听器
- -u-要使用的用户凭据
- -r-要使用的默认域,需要使用TURN REST API
var peerConnectionConfig = {
iceServers: [{
urls: YOUR_IP:3478,
username: 'test',
password: 'test'
}]
}
转向服务器安装 根据您的服务器更改包
wget http://turnserver.open-sys.org/downloads/v3.2.4.4/turnserver-3.2.4.4-debian-wheezy-ubuntu-mint-x86-64bits.tar.gz
tar -zxvf turnserver-3.2.4.4-debian-wheezy-ubuntu-mint-x86-64bits.tar.gz
wget http://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar -zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable/
./configure
make && make install
dpkg -i rfc5766-turn-server_3.2.4.4-1_amd64.deb
cd /etc/
vi turnserver.conf
添加以下内容以打开server.conf
listening-device=eth0
listening-ip=YOUR_IP_HERE
listening-port=3478
userdb=turnuserdb.conf
relay-device=eth0
realm=YOUR_REALM_IP_HERE
lt-cred-mech
log-file=/var/log/turnserver.log
vi turnuserdb.conf
在turnuserdb.conf上添加用户名和密码
listening-device=eth0
listening-ip=YOUR_IP_HERE
listening-port=3478
userdb=turnuserdb.conf
relay-device=eth0
realm=YOUR_REALM_IP_HERE
lt-cred-mech
log-file=/var/log/turnserver.log
vi turnuserdb.conf
按以下格式
testuser:pass0wrd
要启动Turn服务器,请执行以下操作:
sh /data/start_turn_server.sh
要添加新回合用户,请执行以下操作:
sh /data/ addTurnUser.sh
要查看Turn服务器是否正在运行,请执行以下操作:
ps aux | grep –I turn
如果TURN server正常运行,上述命令应将一些进程列为turnserver。此链接将提供有关TURN server安装和配置的所有详细信息
这家伙有很好的WebRtc演示库。在你的ubuntu服务器上,设置、配置并运行。对于基本设置,请执行以下操作:
#设置
sudo apt get install——假设是coturn
#配置并运行
USERNAME=“一些用户名”
PASSWORD=“一些密码”
端口=3478
#-n:仅使用命令行参数,不使用配置文件
sudoturnserver\
-n\
--冗长的\
--中尉信用机械师\
--用户$USERNAME:$PASSWORD\
--领域“某个领域”\
--没有DTL\
--无tls\
--侦听端口$port
添加--daemon
以使其在后台运行。
有关turnserver
的选项列表,请参阅,并查看是否要将其与-c CONFIGFILE
一起使用,而不是像上面那样使用-n
并在命令行上传递所有选项
在Google Chrome中,在安全来源的任何页面(例如stackoverflow.com)上,要检查它是否工作,请在开发人员控制台中运行以下命令:
功能检查TurnServer(turnConfig,超时){
返回新承诺(功能(解决、拒绝){
setTimeout(函数(){
如果(承诺人解决)返回;
决议(假);
promisersolved=真;
},超时| | 5000);
var promiseResolved=false
,myPeerConnection=window.rtpeerconnection | | | window.mozrtpeerconnection | | | window.webkirtpeerconnection//与firefox和chrome的兼容性
,pc=new myPeerConnection({iceServers:[turnConfig]})
,noop=function(){};
pc.createDataChannel(“”;//创建虚假数据通道
pc.createOffer(功能(sdp){
如果(sdp.sdp.indexOf('typ relay')>-1{//有时sdp包含ice候选项。。。
promisersolved=真;
决心(正确);
}
pc.setLocalDescription(sdp、noop、noop);
},noop);//创建报价并设置本地描述
pc.onicecandidate=函数(ice){//侦听候选事件
如果(promisersolved | | | | |!ice.candidate | |!ice.candidate.candidate | |!(ice.candidate.candidate.indexOf('typ relay')>-1))返回;
promisersolved=真;
决心(正确);
};
});
}
const USERNAME=“一些用户名”
const PASSWORD=“一些密码”
常数端口=3478
const IP=“10.11.0.115”//您必须更改此选项
console.log('TURN server reachable on TCP?',等待checkTURNServer({
url:`turn:${IP}:${PORT}?传输=tcp`,
用户名:用户名,
凭证:密码,
}))
log('TURN server ACCABLE on UDP?',等待checkTURNServer({
url:`turn:${IP}:${PORT}?传输=udp`,
用户名:用户名,
凭证:密码,
}))
你应该
TURN server reachable on TCP? true
TURN server reachable on UDP? true
这表明在实际尝试安装一个简单的turn服务器时所做的努力很小……是否可以使用TCP?或者它只适用于UDP。是的,它可以只与TCP一起工作,但担心性能可能会变差。谢谢您提供了很棒的解决方案。我在mozilla firefox上遇到此错误
未捕获异常:buildPeerConnection失败,调用未完成
我正在使用easyRTC。你能帮我吗?要跳过IPv6问题,请输入服务器IP。这对我来说非常有用:turnserver-L-a-o-f-n——没有DTL——没有tls-u用户名:password-r yourdomain.com
我在一个EC2实例中遵循了这个过程,找到了