用mosquitto替换AWS KVS(Kinesis Video Streams)之WebRTC-C库的信令控制
目录
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实现打洞
用mosquitto替换AWS KVS(Kinesis Video Streams)之WebRTC-C库的信令控制相关推荐
- AWS KVS(Kinesis Video Streams)之WebRTC的C库
作为小白用户编译就卡出各种问题.各种环境问题各种bug调试. 针对亚马逊的kvs 的vs2019编译去除kvs的信令服务器代码,实现自己的mqtt信令控制.最终可以p2p发送视频数据和音频数据. 编译 ...
- AWS KVS(Kinesis Video Streams)之WebRTC的C库测试
想要验证AWS KVS with WebRTC的嵌入式C库,我们将其源码编译(详见WebRTC编译过程)后,可以运行其提供的sample,注:该过程是在Linux环境上. 1.编译结束后,我们在bui ...
- AWS KVS(Kinesis Video Streams)之WebRTC集成过程(六)
因为我们的实际的使用过程是智能摄像头设备(门铃/Camera)和Echoshow(实际上是Alexa)对接,实现语音全双工,我们计划集成AWS提供的完整的WebRTC的方案(SDK),因此在所有依赖库 ...
- AWS KVS(Kinesis Video Streams)之WebRTC移植编译(五)
在使用KVS完整的WebRTC的SDK(包括信令.STUN/TURN等),我们还需要编译(详见SDK的依赖项)如下两个库 1.amazon-kinesis-video-streams-producer ...
- AWS KVS(Kinesis Video Streams)之WebRTC集成过程报错问题整理(七)
在前面我已经将君正T31X平台的WebRTC相关的依赖库编译完成,且现在将kvsWebrtcClientMaster测试用例也需要编译出来,在Camera中运行,验证依赖库的正确性. 根据自己编写的C ...
- AWS KVS(Kinesis Video Streams)之WebRTC集成过程报错问题整理(八)
1.用例情况: [1]第一组 master:君正平台的 kvsWebrtcClientMaster viewer:https://us-west-2.console.aws.amazon.com/ki ...
- AWS KVS(Kinesis Video Streams)之WebRTC移植编译(一)
本文在于记录amazon-kinesis提供的设备端WebRTC SDK的依赖项编译过程,该过程在嵌入式设备君正平台验证 1.首先我们可能需要一个墙外的服务器拉取代码,我是在开启了一个AWS的美国环境 ...
- AWS KVS(Kinesis Video Streams)之WebRTC移植编译(三)
继上一篇文章后,中途被其他事情耽误两周,现在继续... 编译第三方库: 一.[君正平台:编译usrsctp] 1.下载源码 git clone https://github.com/sctplab/u ...
- AWS KVS(Kinesis Video Streams)之WebRTC依赖项
KVS WebRTC依赖于openssl.srtp.usrsctp.kvspic.我们挨个来编译,如果我们需要往嵌入式设备中移植,需要移植这些依赖项,因此在编译移植前,我们需要得到源码. 先下载所有代 ...
最新文章
- 开发日记-20190427
- java越权发送邮件_已登录用户 越权 访问action方法怎么解决?
- C专家编程-Chapter6 运行时数据结构(转)
- 多晶硅价格已处于阶段性高点
- 怎么使用ar打包静态库
- idea报错 电脑死机蓝屏
- 用gdb调试nasm汇编程序
- ibm v3700添加硬盘_机 · 科普帖丨从大到小又从小到大,硬盘这些年是怎么过来的...
- UEFI+GPT安装Win10和RHEL6.5双系统
- python句柄无效_python免注册调用大漠出现错误句柄无效
- 通信教程 | USB、HDMI、DP接口及速度
- 计算机不能上网查找原因的步骤,电脑能连接上wifi但不能上网的原因_电脑能连接上wifi但不能上网的解决方法...
- 烟花背景的3D打字魔方相册(末尾附加下载地址)
- 读书百客:《小星》赏析
- 图片延迟加载对seo有什么影响呢?
- VBA开发:设置单元格数据有效性
- 工具及方法 - 电子烟开发中使用温度测试工具
- Python第五章序列,集合,字典
- 国家计算机技术与软件专业技术资格(水平)考试与职称有何对应关系?
- asp.net zero 8.2 学习-11-Metronic替换google字体,加速网页加载速度