用于WebRTC的coturn服务器的搭建

这篇具有很好参考价值的文章主要介绍了用于WebRTC的coturn服务器的搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

        自己在研究WebRTC相关内容,在远端连接老是绕不开搭建ICE服务器,搜索了无数文章和方法,还是久久无进展,最后头皮嗯嘛了才成功,故想总结一下我的搭建步骤,供大家参考,避免少走弯路!!!

1、前期准备

准备一个自己的公网服务器,可以是阿里云或其他都可以,记得在部署时将自己的端口打开,特别是3478端口,千万记得UDP和TCP协议都要打开。然后查看你服务器的内网地址和公网ip:

webrtc服务器c,webrtc,服务器

然后安装各种依赖和软件

yum install git
yum install gcc
yum install gcc-c++
yum install openssl
yum install openssl-devel
yum install libevent2
yum install libevent-devel 

安装完毕后安装coturn包。

mkdir langyang
cd langyang
git clone https://github.com/coturn/coturn.git
cd coturn
./configure 
make 
make install

 查看是否安装成功 which turnserver

webrtc服务器c,webrtc,服务器

2、配置文件

进入文件夹:

cd /usr/local/etc/ 

输入命令将turnserver.conf.default备份

cp turnserver.conf.default turnserver.conf 

 然后建议通过命令在当前文件夹生成签名证书

openssl req -x509 -newkey rsa:2048 -keyout /usr/local/etc/turn_server_pkey.pem -out /usr/local/etc/turn_server_cert.pem -days 99999 -nodes 

 在填写信息时

第一个country name填写cn

state or province 填写guangdong

Locality name 填写 shenzhen

其他随便填

完成后可以看到turn_server_cert.pem和turn_server_pkey.pem两个文件。

 webrtc服务器c,webrtc,服务器

 然后在当前文件夹下,通过命令创建一个文件turnuserdb.conf用于存储用户名和信息 

cp turnserver.conf.default turnuserdb.conf 

 全部完成后:

webrtc服务器c,webrtc,服务器

 然后利用命令生成账号密码的md5码

turnadmin -k -u langyang -r guangdong -p 123456 

webrtc服务器c,webrtc,服务器

3、修改与编辑

然后用Xftp 7 连接你的服务器修改文件配置,不用这个软件也可以直接在服务器中打开该文件直接修改

webrtc服务器c,webrtc,服务器

 用记事本编辑方式打开turnuserdb.conf 文件,输入用户名和刚才生成的md5码进行保存

langyang:0xbd6f13018e8ae54ec030226a2ca18f20

然后再打开turnserver.conf进行编辑,输入如下配置信息:

#中继服务器监听的IP地址,NAT环境下直接写私网IP地址,可以指定多个IP
listening-ip= 你自己的内网IP
#中继服务器转发地址(本地IP地址将用于传递数据包的给每个端),和监听地址一样
#relay-ip=你自己的公网ip
#外部IP,NAT环境下直接写:公网IP/私网IP
external-ip=公网ip/内网ip
#cli-password=123456
#打开fingerprint的注释,使用长期证书机制。
fingerprint
#打开密码验证,使用短期证书机制。
lt-cred-mech
#服务器名称,用于OAuth认证,默认和realm相同,直接填公网ip.部分浏览器本段不设可能会引发cors错误。
server-name=公网ip
# TURN REST API的长期凭证机制范围,同样设为ip,同server-name.
realm=公网ip
#移动的ICE(MICE)的规范支持。
mobility
#快捷的添加用户是使用user=XXX:XXXX的方式。
user=langyang:123456

保存后,通过bin文件夹下,输入命令开启服务

 cd /usr/local/bin
 turnserver -v -r 你的公网ip:3478 -a -o -c /usr/local/etc/turnserver.conf 

显示如下画面说明已经开启成功了,有relay返回你的内网地址。 

webrtc服务器c,webrtc,服务器

 4、测试

接下来我们要测试开启的turnserver服务器能否起作用,到测试网址:https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

建议用火狐浏览器访问网址进行测试,chrome浏览器可能会出错

第一栏是 turn:公网ip:端口号 (经测试,如果不填端口号,默认是3478端口)

第二栏是 之前设置的用户名

第三栏是 之前设置的密码

然后点击Add Server 

webrtc服务器c,webrtc,服务器

然后点击下方gather candidates按钮,配置正确返回信息:

webrtc服务器c,webrtc,服务器

 可以看到有服务器所在公网地址返回的信息,能通过turn服务器中转,有relay地址回来说明你的ip穿透成功。

也可以查看turnserver服务器在后台是否运行:

ps -ef|grep turnserver

有多台turnserver服务器在后台,可以用killall turnserver杀掉 。

至此结束,觉得有用可以点个赞哦文章来源地址https://www.toymoban.com/news/detail-819879.html

到了这里,关于用于WebRTC的coturn服务器的搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • coturn服务器的搭建

    准备材料: 1、安装Cygwin,地址:https://cygwin.com/install.html 由于Window无法直接部署coturn,因此需要下载安装Cygwin在Window上部署Linux虚拟环境。 在安装的时候需要安装几下packet:openssl-dev、gcc、libevent-devel、make(bin和source都要选择)。尤其是openssl和libevent这两个配置的时候需要使

    2024年02月07日
    浏览(40)
  • WebRTC | 信令服务器

    目录 一、相关术语 1.NAT 2.STUN服务器 3. TURN服务器 4.打洞 二、WebRTC一对一架构 三、信令 1. 信令传输协议的选择 2. 信令服务器的实现方案 3. 信令服务器的业务逻辑         信令服务器的作用主要有两个:一是实现业务层的管理,如用户创建房间,加入房间,退出房间等;

    2024年02月13日
    浏览(40)
  • Docker搭建coturn穿透服务器

        操作系统:Linux centos7(x86_64)     docker版本:docker-17.03.1 拉取coturn镜像 编写Dockerfile配置文件 编写turnserver.conf配置文件:vim turnserver.conf 打包镜像  运行容器 这里我们需要指定网络模式为host模式 如果运行后出现权限不足的情况,可以在运行容器时添加“--security-o

    2024年04月11日
    浏览(62)
  • Linux中搭建coturn服务器

    1、下载coturn源码 2、进入到coturn路径下,执行一下命令。 出现以下错误: 问题1:ERROR: OpenSSL Crypto development libraries are not installed properly in required location. 解决办法:sudo apt-get install libssl-dev 执行此命令安装libssl 问题2:Libevent2 development libraries are not installed properly in required loc

    2024年02月06日
    浏览(33)
  • 互动直播之WebRTC服务器Kurento实战

    1. Kurento Kurento的主要组件是 Kurento媒体服务器 (KMS),负责媒体传输,处理,记录和播放。KMS建立在出色的GStreamer多媒体库之上,并提供以下功能: 网络流协议,包括HTTP,RTP和WebRTC。 支持媒体混合和媒体路由/调度的组通信(MCU和SFU功能)。 对实现计算机视觉和增强现实算

    2024年02月21日
    浏览(44)
  • 使用Swoole协程实现 WebRTC 信令服务器

    一、 什么是WebRTC WebRTC技术是激烈的开放的Web战争中一大突破-Brendan Eich, inventor of JavaScript。 简单来说,WebRTC 是一个音视频处理+及时通讯的开源库。在实时通信中,音视频的采集和处理是一个很复杂的过程。比如音视频流的编解码、降噪和回声消除等。由Google发起开源,其中

    2024年03月26日
    浏览(52)
  • docker部署SRS实时视频服务器,rtmp推流,用WebRTC播放

    SRS是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181 大家可以先去gitub上面看使用说明,地址是:v4_CN_Home · ossrs/srs Wiki · GitHub 然后我们通过docker去启动SRS,这些文档里面都有,就不用多说了,然后我们可以用rtmp推流 用WebRTC播放,首先要支持WebRTC我们需要

    2023年04月11日
    浏览(57)
  • SRS服务器RTMP2WebRTC外网拉流配置

    将前端服务开放到外网,并且在外网使用WebRTC拉流,要求全部使用同一端口。 外网地址:10.172.59.42(域名:test.com)外网端口为33333 内网SRS服务器地址:192.168.5.177,内网端口为10090 路由器将外网33333端口映射到内网192.168.5.177:10090 一、使用docker搭建SRS服务器 1、编辑~/.bashrc,添

    2024年04月11日
    浏览(34)
  • 华为云云耀云服务器L实例评测|将rtmp延迟降低到500ms以内-srs流媒体服务器测试(rtmp、http-flv、webrtc)

    最近华为云提供华为云-云耀云服务器出了一项 征文活动,可以免费试用。于是本人也迫不及待的白嫖体验一下华为云云耀云服务器L实例,该实例配置如下图,系统版本为 本次测试方向是使用SRS开源服务。SRS是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB2

    2024年04月14日
    浏览(50)
  • WebRTC音视频通话-WebRTC本地视频通话使用ossrs服务搭建

    iOS开发-ossrs服务WebRTC本地视频通话服务搭建 之前开发中使用到了ossrs,这里记录一下ossrs支持的WebRTC本地服务搭建。 ossrs是什么呢? SRS(Simple Realtime Server)是一个简单高效的实时视频服务器,支持RTMP、WebRTC、HLS、HTTP-FLV、SRT等多种实时流媒体协议。 官网地址:https://ossrs.net/lt

    2024年02月12日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包