当前位置: 首页 > 工具软件 > kvs > 使用案例 >

用mosquitto替换AWS KVS(Kinesis Video Streams)之WebRTC-C库的信令控制

水麒
2023-12-01

目录

1、搭建自己的turn服务器

2、搭建自己的mosquitto服务器

3、利用自己的服务器,用kvs webrtc c-sdk实现打洞


1、搭建自己的turn服务器

1.1、coturn 服务器搭建记录

          turn 服务器的搭建大家也可以参考网上的一些教程,也可以根据本文的一些粗略步骤来搭建验证

1.1.1 ubuntu安装 命令(网上有一些编译源码安装的,本人不想太折腾,直接apt 安装省时省力)

apt-get install coturn

安装成功后,ps -ef | grep turn  可以查看到turnserver 是否自动运行

turnser+     579       1  0 Dec01 ?        00:03:33 /usr/bin/turnserver --daemon -c /etc/turnserver.conf --pidfile /run/turnserver/turnserver.pid

如果启动了将其停下来 systemctl stop coturn  停下后进行下面的修改配置

1.1.2 corturn 配置修改

配置目录,/etc/turnserver.conf  拷贝一份conf 

cp  /etc/turnserver.conf /etc/turnserver.confbak

turnadmin 命令添加用户名,密码,域:

turnadmin -a -u youname -p yourpasswd -r yourdomain

修改内容

listening-port=3478 #监听端口

listening-device=eth0 #监听的网卡

external-ip=xx.xx.xx.xx/kk.kk.kk.kk     #xx公网ip/kk内网ip ip映射,如果不填可能后面测试ice server 的时候会失败

user=name:passwd #用户名:密码 (上面turnadmin 命令创建的)

realm=域名 #一般与turnadmin创建用户时指定的realm一致 (域名,配合servername=,可以在添加用户密码的时候指定)

1.1.3  服务测试小知识

安装成功后,修改完配置,(重启脚本 /etc/init.d/coturn)重启服务之后测试通路

 turnserver -h

上面的命令查看turnserver支持参数

手动拉起Server 端 

turnserver -v --syslog -L xx.xx.xx.xx -E xx.xx.xx.xx  --max-bps=3000000 -f -m 3 --min-port=32355 --max-port=65535 --no-tls --no-dtls --no-auth

-L 监听ip (server local 本地ip)

-E relayip (server local ip)

--min-port=32355 --max-port=65535

端口范围,要在控制台加入白名单(如果启用了防火墙要在防火墙中设置端口范围udp/tcp port 范围)

注:以上配置信息可在turnserver.conf 中配置

turnutils_uclient -t -n 1000 -m 2 –l(length) 3037 -e kk.kk.kk.kk -g -X xx.xx.xx.xx -r 49153

-t : tcp(default udp)

-r 端口, 控制台白名单端口(此必要参数)

-e :peer ip  (client 要连接的, client 本地ip)

-X relay ip ( relay server ip) 重要的参数

-n  Number of messages to send (Default: 5).

-m Number of clients (default is 1).

-l      Message length (Default: 100 Bytes).

-g      Include DONT_FRAGMENT option.

以上测试基本可以确认turn 服务器已经具备使用条件,具体的数据库等配置还需要进一步的补充;

Trickle ICE  

该测试网页,测试默认走的udp, 所以一定要开放udp 端口

今天先记录到这里,mosquitto 服务器搭建网上有说明,这里就不再多说了,后面有空再整理如何替换信令服务器的方法

2、搭建自己的mosquitto服务器

3、利用自己的服务器,用kvs webrtc c-sdk实现打洞

 类似资料: