0


史上最详细的webrtc-streamer搭建windows版coturn教程

在webrtc-streamer流媒体使用公网访问时,一定会用到coturn服务,之前我写的教程无法在window下搭建coturn服务器,都是Linux下搭建的,但是对于很多人来说,Linux并不是首选,因此我今天也研究了一下如何纯windows搭建并配合webrtc-streamer流媒体进行互联网视频播放。


下载Cygwin

这个玩意百度有很多介绍,我就不copy了,大概就是让Linux程序跑在windows下

官网地址:Cygwin

下载文件:setup-x86_64.exe

双击安装

下一步

默认下一步

选择安装的目录 下一步

选择下载的目录 下一步

根据你联网的情况选择,下一步

选择阿里云镜像站点,下一步

重点来了,需要安装的依赖软件就在这里安装,视图:完整

安装openssl

搜索:openssl 我这是已经安装过了,没有安装的时候,双击对应行的操作列,也就是跳过,会自动加载版本就可以安装其他的了,只要版本出来就是准备安装了。

安装libevent

安装gcc

安装make

然后下一步

我这里已经安装过了,这里不显示软件,初次安装,这里会显示你刚才选中的准备安装的软件

下一步

快捷方式都勾上 完成即可。至此,Cygwin安装完毕。

下载Coturn

GitHub地址:coturn/coturn: coturn TURN server project (github.com)

下载完解压后拷贝到D:\ENV\Cygwin\bin

编译Coturn

打开Cygwin的安装目录,有一个Cygwin.bat批处理,双击打开

打开后如下,这个默认目录就是当前Cygwin的目录,所有后面的相对路径都是基于这个目录

进入coturn目录

执行cd /bin/coturn

执行./configure

结尾出现success 说明到这一步没问题,继续

执行make

执行make install

至此,coturn就编译完成了,目录下会出现一个bin文件夹,进入后会看到turnserver.exe

别急,你会发现你比我少几个文件,一个是turnserver.conf 还有2个pem文件,从usr/local/etc目录将turnserver.conf.default文件拷贝过来,并修改文件名去掉default

配置turnserver.conf

我建议直接清空,复制如下内容:

relay-device=eth0
listening-ip=内网ip
listening-port=3478
tls-listening-port=5349
relay-ip=内网ip
external-ip=公网ip
relay-threads=50
lt-cred-mech
min-port=49152
max-port=65535
cert=/bin/coturn/bin/turn_server_cert.pem
pkey=/bin/coturn/bin/turn_server_pkey.pem
pidfile=/var/run/turnserver.pid
user=admin:123456
cli-password=123456

注意:不要无脑copy,配置你自己的内网ip和公网ip

生成签名pem文件

openssl req -x509 -newkey rsa:2048 -keyout /bin/coturn/bin/turn_server_pkey.pem -out /bin/coturn/bin/turn_server_cert.pem -days 99999 -nodes

此时在coturn的bin目录下就会生成turn_server_cert.pem和turn_server_pkey.pem文件

开始运行

turnserver -o -a -f -c /usr/bin/coturn/bin/turnserver.conf -r sdo.com

运行后没有ERROR即可,然后查看本机的3478端口是否被监听

此时我们就可以将webrtc-streamer配置turn服务启动了。

务必:对webrtc-streamer的tcp8000端口,3478的tcp和udp端口映射出去。

webrtc-streamer启动命令:

webrtc-streamer.exe -o -H 内网ip:8000 -S公网ip:公网端口 -Tadmin:123456@公网ip:公网端口

例如:

webrtc-streamer.exe -o -H 192.168.1.27:8000 -S112.97.116.2:3478 -Tadmin:[email protected]:3478

如何仅仅是测试,可以在启动命令后直接跟rtsp地址,注意加空格。

至此公网就可以通过coturn进行转发webrtc的视频了。

补充:脱离Cygwin 启动

如果每次都要使用Cygwin启动也就太依赖了,能不能做成批处理直接拷贝到其他服务器启动呢?

能!

将Cygwin的bin目录下的dll文件全部拷贝到Coturn目录下,然后修改turnserver.conf中的签名文件的路径

cert=turn_server_cert.pem
pkey=turn_server_pkey.pem

创建2个批处理

一个启动 start.bat

@echo off
rem 检查是否有 turnserver.exe 进程运行
tasklist /FI "IMAGENAME eq turnserver.exe" | findstr /I "turnserver.exe"
if %ERRORLEVEL% == 0 (
    echo 正在停止 turnserver.exe 进程...
    taskkill /F /IM turnserver.exe
    echo 进程已停止。
) else (
    echo 没有找到 turnserver.exe 进程。
)

rem 启动 turnserver 服务并显示启动信息
echo 正在启动 turnserver 服务...
turnserver -o -a -f -c turnserver.conf -r sdo.com
echo turnserver start successfull

rem 暂停以查看启动信息
pause

一个停止stop.bat

@echo off
rem 查找并停止 turnserver.exe 进程
tasklist /FI "IMAGENAME eq turnserver.exe" | findstr /I "turnserver.exe"
if %ERRORLEVEL% == 0 (
    echo 正在停止 turnserver.exe 进程...
    taskkill /F /IM turnserver.exe
    echo 进程已停止。
) else (
    echo 未找到 turnserver.exe 进程运行。
)

rem 等待一会儿以确保进程已完全停止
timeout /t 5 /nobreak >nul

echo turnserver 服务已停止。

然后就可以通过批处理启动和停止啦,是不是很容易!

启动

停止

标签: webrtc

本文转载自: https://blog.csdn.net/qq_20937557/article/details/142130087
版权归原作者 吭哧瘪肚的万能工 所有, 如有侵权,请联系我们删除。

“史上最详细的webrtc-streamer搭建windows版coturn教程”的评论:

还没有评论