coturn服务器的搭建

Window下搭建coturn服务器:

准备材料:

1、安装Cygwin,地址:https://cygwin.com/install.html

由于Window无法直接部署coturn,因此需要下载安装Cygwin在Window上部署Linux虚拟环境。

在安装的时候需要安装几下packet:openssl-dev、gcc、libevent-devel、make(bin和source都要选择)。尤其是openssl和libevent这两个配置的时候需要使用必须添加正确才能正常生成Makefile。

2、下载coturn源码,地址:https://codeload.github.com/coturn/coturn/zip/4.5.0.4

安装步骤:
  1. 安装Cygwin的步骤网上有很多,除了需要选择几个packet之外,其他的没有需要特别注意的点,所以这里不在追叙。可以参考链接:Cygwin安装教程-CSDN博客
  2. 编译coturn源码
  • 2.1 Cygwin安装完整之后,打开Cygwin窗口,进入到coturn代码所在路径

  • 2.2 到coturn代码路径之后执行以下命令

./configure  //使用此命令更具configure生成makefile

此过程可能会遇到一下问题:

问题1:ERROR: OpenSSL Crypto development libraries are not installed properly in required location.

出现此问题是由于Cygwin中没有安装openssl,如果在编译之前添加了openssl应该不会出现此问题,如果添加了还出现此问题,建议再添加openssllib。

问题2:Libevent2 development libraries are not installed properly in required location.

出现此问题是由于在Cygwin中没有安装libevent,添加之后应该就会出现此问题。

  • 2.3 编译完成之后,会在coturn文件下生成Makefile文件。之后执行make
make//编译生成可以执行的文件

编辑完成如下图:

在这里插入图片描述

  • 2.4 编译完成之后会在文件夹下生成一下几个文件

在这里插入图片描述

之后使用make install 安装即可

make install

安装完成如下:

install -d sqlite
rm -rf sqlite/turndb
echo sqlite/turndb < turndb/schema.sql
sqlite/turndb
install -d /usr/local
install -d /usr/local/bin
install -d /usr/local/var/db
install -d /usr/local/man/man1
install -d /usr/local/etc
install -d /usr/local/lib
install -d /usr/local/share/examples/turnserver
install -d /usr/local/share/doc/turnserver
install -d /usr/local/share/turnserver
install -d /usr/local/include/turn
install -p bin/turnserver /usr/local/bin
install -p bin/turnadmin /usr/local/bin
install -p bin/turnutils_uclient /usr/local/bin
install -p bin/turnutils_peer /usr/local/bin
install -p bin/turnutils_stunclient /usr/local/bin
install -p bin/turnutils_oauth /usr/local/bin
install -p bin/turnutils_natdiscovery /usr/local/bin
install -p -m 0644 man/man1/turnserver.1 /usr/local/man/man1/
install -p -m 0644 man/man1/turnadmin.1 /usr/local/man/man1/
install -p -m 0644 man/man1/turnutils.1 /usr/local/man/man1/
install -p -m 0644 man/man1/turnutils_uclient.1 /usr/local/man/man1/
install -p -m 0644 man/man1/turnutils_stunclient.1 /usr/local/man/man1/
install -p -m 0644 man/man1/turnutils_oauth.1 /usr/local/man/man1/
install -p -m 0644 man/man1/turnutils_natdiscovery.1 /usr/local/man/man1/
install -p -m 0644 man/man1/turnutils_peer.1 /usr/local/man/man1/
install -p -m 0644 man/man1/coturn.1 /usr/local/man/man1/
install -p lib/libturnclient.a /usr/local/lib
install -p LICENSE /usr/local/share/doc/turnserver
install -p README.turnserver /usr/local/share/doc/turnserver
install -p README.turnadmin /usr/local/share/doc/turnserver
install -p README.turnutils /usr/local/share/doc/turnserver
install -p INSTALL /usr/local/share/doc/turnserver
install -p postinstall.txt /usr/local/share/doc/turnserver
install -p turndb/schema.sql /usr/local/share/doc/turnserver
install -p turndb/schema.sql /usr/local/share/turnserver
install -p turndb/schema.mongo.sh /usr/local/share/doc/turnserver
install -p turndb/schema.mongo.sh /usr/local/share/turnserver
install -p turndb/testredisdbsetup.sh /usr/local/share/turnserver
install -p turndb/testmongosetup.sh /usr/local/share/turnserver
install -p turndb/testsqldbsetup.sql /usr/local/share/turnserver
install -p turndb/schema.userdb.redis /usr/local/share/doc/turnserver
install -p turndb/schema.userdb.redis /usr/local/share/turnserver
install -p turndb/schema.stats.redis /usr/local/share/doc/turnserver
install -p turndb/schema.stats.redis /usr/local/share/turnserver
if [ -f sqlite/turndb ] ; then install -p sqlite/turndb /usr/local/var/db/turndb; fi
install -p examples/etc/turnserver.conf /usr/local/etc/turnserver.conf.default
cp -rpf examples/etc /usr/local/share/examples/turnserver
cp -rpf examples/scripts /usr/local/share/examples/turnserver
rm -rf /usr/local/share/examples/turnserver/scripts/rfc5769.sh
cp -rpf include/turn/client /usr/local/include/turn
install -p include/turn/ns_turn_defs.h /usr/local/include/turn
cat /usr/local/share/doc/turnserver/postinstall.txt
See docs folder or go to https://github.com/coturn/coturn/docs/PostInstall.md

至此Window中coturn安装完成。

服务器配置:

1、切换目录到 /usr/local/etc 路径中,将turnserver.conf.default拷贝一份命名为turnserver.conf。

2、在turnserver.conf中添加一下配置

#与前ifconfig查到的网卡名称一致(如果无法运行ifconfig,可以在windows的cmd窗口中使用ipconfig,如果只有一块网卡,可以默认使用如下值)
relay-device=eth0
#内网IP(ipconfig查到的IP地址)
listening-ip=192.168.1.188
#公网IP(局域网可以使用与上面相同的ip地址)
external-ip=113.119.27.xx
#第1步创建的用户名密码,创建IceServer时用
user=your_username:your_password
#一般与turnadmin创建用户时指定的realm一致
realm=xxx.com
#端口号
listening-port=3478
#不开启会报CONFIG ERROR: Empty cli-password, and so telnet cli interface is disabled! Please set a non empty cli-password!错误
cli-password=qwerty
cert=/etc/turn_server_cert.pem
pkey=/etc/turn_server_pkey.pem

至此将自己的信息对应填写之后配置结束。

启动服务:
 turnserver -o -a -f -c /usr/local/coturn/etc/turnserver.conf -r sdo.com 
检测:

打开一下网址,此网址是webRTC提供测试coturn服务器的网址:Trickle ICE (webrtc.github.io)

打开之后填写自己coturn服务器的配置文件信息,如下所示:

在这里插入图片描述

参考链接:

WebRTC之搭建coturn服务遇到的问题_k8s 部署webrtc服务coturn-CSDN博客

coTurn 运行在Windows平台的方法-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/176308.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第18期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练 Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大型语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以…

框架安全-CVE 漏洞复现DjangoFlaskNode.jsJQuery框架漏洞复现

目录 服务攻防-框架安全&CVE复现&Django&Flask&Node.JS&JQuery漏洞复现中间件列表介绍常见语言开发框架Python开发框架安全-Django&Flask漏洞复现Django开发框架漏洞复现CVE-2019-14234&#xff08;Django JSONField/HStoreField SQL注入漏洞&#xff…

实用篇-Linux

一、Linux介绍 linux特点 免费开源多用户多任务 Linux系统版本分为内核版和发行版 发行版是基于内核版进行扩展&#xff0c;由各个Linux厂商开发和维护&#xff0c;因为我们真正使用linux最终安装的其实是linux的发行版 下面以CentOS为例来学习Linux 二、Linux安装 安装方式…

编写Groovy Hello World 程序

使用 IntelliJ IDEA 打开 IntelliJ IDEA&#xff0c;并创建一个新的 Groovy 项目。 在项目中创建一个新的 Groovy 类文件&#xff0c;命名为 HelloWorld.groovy。 在 HelloWorld.groovy 文件中&#xff0c;编写以下代码&#xff1a; class HelloWorld {static void main(Stri…

NLP实践——中文指代消解方案

NLP实践——中文指代消解方案 1. 参考项目2. 数据2.1 生成conll格式2.2 生成jsonline格式 3. 训练3.1 实例化模型3.2 读取数据3.3 评估方法3.4 训练方法 4. 推理5. 总结 1. 参考项目 关于指代消解任务&#xff0c;有很多开源的项目和工具可以借鉴&#xff0c;比如spacy的基础模…

万字解析设计模式之工厂方法模式与简单工厂模式

一、概述 1.1简介 在java中&#xff0c;万物皆对象&#xff0c;这些对象都需要创建&#xff0c;如果创建的时候直接new该对象&#xff0c;就会对该对象耦合严重&#xff0c;假如我们要更换对象&#xff0c;所有new对象的地方都需要修改一遍&#xff0c;这显然违背了软件设计的…

同步盘简介及功能解析:了解同步盘是什么及其实用性

数字化时代&#xff0c;办公中用户对于文件协同的需求越来越高。同步盘无疑是近几年最热门的文件协同工具。什么是同步盘&#xff1f;同步盘有什么用&#xff1f; 什么是同步盘&#xff1f; 同步盘是一种可以将文件存储至云端&#xff0c;然后同步至用户的各个设备的文件存储协…

MySQL创建数据库和创建数据表

二、创建数据库 1. 连接 MySQL 输入 mysql -u root -p 命令&#xff0c;回车&#xff0c;然后输入 MySQL 的密码(不要忘记了密码)&#xff0c;再回车&#xff0c;就连接上 MySQL 了。 mysql -u root -p 最初&#xff0c;都是使用 root 用户登录&#xff0c;工作中如果一直用…

【spring boot】

作用 极大地简化了spring的搭建和开发 开发方法 idea开发springboot 必须联网 结构 parent&#xff1a;装多次使用的依赖&#xff0c;还能管理版本 starter&#xff1a;SpringBoot中常见项目名称&#xff0c;定义了当前项目使用的所有依赖坐标&#xff0c;以达到减少依赖…

Azure - 机器学习:使用 Apache Spark 进行交互式数据整理

目录 本文内容先决条件使用 Apache Spark 进行交互式数据整理Azure 机器学习笔记本中的无服务器 Spark 计算从 Azure Data Lake Storage (ADLS) Gen 2 导入和整理数据从 Azure Blob 存储导入和处理数据从 Azure 机器学习数据存储导入和整理数据 关注TechLead&#xff0c;分享AI…

数据结构与算法-(7)---栈的应用拓展-前缀表达式转换+求值

&#x1f308;write in front&#x1f308; &#x1f9f8;大家好&#xff0c;我是Aileen&#x1f9f8;.希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流. &#x1f194;本文由Aileen_0v0&#x1f9f8; 原创 CSDN首发&#x1f412; 如…

带IV的分组加密下密文分散存储且存在混淆密文片段的多项式时间解密方案

在使用带IV的分组加密模式下&#xff0c;考虑这样一个场景&#xff1a;分组加密后&#xff0c;每组密文都被分散保存&#xff0c;且在恢复的时候&#xff0c;每组密文会和n个混淆的密文一起提供&#xff0c;此时&#xff0c;若想完整的恢复明文&#xff0c;需要一个多项式时间的…

UDP 协议

UDP协议特点&#xff1a; 无连接&#xff1a;只需要知道对方的IP和端口就可以向对方发送数据。 不可靠&#xff1a;没有确认应答机制&#xff0c;没有重传机制。 面向数据报&#xff1a;每调用一次sendto() &#xff0c;就直接将这些数据交给网络层了&#xff0c;不能控制数据读…

双十一限时优惠!沃通SSL证书、代码签名证书年度好价

2023年11月01日至11月11日&#xff0c;沃通2023“双十一限时特惠”活动&#xff0c;精选9款SSL证书、国密SSL证书、代码签名证书产品推出年度好价&#xff0c;部分SSL证书产品低至5折&#xff0c;更有EV代码签名证书爆款特惠&#xff01;多种数字证书一站式采购&#xff0c;解决…

改进YOLOv3!IA-YOLO:恶劣天气下的目标检测

恶劣天气条件下从低质量图像中定位目标还是极具挑战性的任务。现有的方法要么难以平衡图像增强和目标检测任务&#xff0c;要么往往忽略有利于检测的潜在信息。本文提出了一种新的图像自适应YOLO (IA-YOLO)框架&#xff0c;可以对每张图像进行自适应增强&#xff0c;以提高检测…

电源控制系统架构(PCSA)之电源管理软件

下图显示了电源管理软件栈的简化表示。该图说明了OS电源管理框架、具有直接从SCP请求操作功能的组件以及它们与SCP固件之间的关系。 一个重要的方面是&#xff0c;所有硬件电源管理操作都是由SCP代表这些请求者执行的。 这种OS电源管理(OSPM)的简化表示可以分为两部分&#xff…

MySQL -- 表的增删查改

MySQL – 表的增删查改 文章目录 MySQL -- 表的增删查改一、Create创建1.插入数据2.插入否则更新3.替换 二、Retrieve查找1.select列1.1.全列查询1.2.指定列查询1.3.查询字段为表达式1.4.为查询结果指定别名1.5.结果去重 2.where条件2.1.英语不及格的同学&#xff08;英语<6…

数字孪生三剑客!云渲染及虚拟仿真服务器产品MapGIS Server for Unreal来了

10月18日&#xff0c;新一代全空间智能GIS平台的升级之作——MapGIS 10.6 Pro在深圳正式发布&#xff0c;整场发布会全空间GIS、智能GIS、信创GIS、全栈开发各维度创新一一揭晓&#xff0c;全空间一体化、深度融合云端的全系产品全面升级&#xff0c;科技盛宴、高潮迭起。其中尤…

STM智能小车——OLED实现测速小车

目录 1. 测速模块 2. 测试原理和单位换算 3. 定时器和中断实现测速开发和调试代码 4. 小车速度显示在OLED屏 1. 测速模块 用途&#xff1a;广泛用于电机转速检测&#xff0c;脉冲计数,位置限位等。有遮挡&#xff0c;输出高电平&#xff1b;无遮挡&#xff0c;输出低电平接线…