当前位置:首页 » 《关注互联网》 » 正文

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

15 人参与  2024年09月28日 10:00  分类 : 《关注互联网》  评论

点击全文阅读


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

目录

下载Cygwin

安装openssl

安装libevent

安装gcc

安装make

下载Coturn

编译Coturn

进入coturn目录

执行./configure

执行make

执行make install

配置turnserver.conf

开始运行

补充:脱离Cygwin 启动



下载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=eth0listening-ip=内网iplistening-port=3478tls-listening-port=5349relay-ip=内网ipexternal-ip=公网iprelay-threads=50lt-cred-mechmin-port=49152max-port=65535cert=/bin/coturn/bin/turn_server_cert.pempkey=/bin/coturn/bin/turn_server_pkey.pempidfile=/var/run/turnserver.piduser=admin:123456cli-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:123456@112.97.116.2:3478

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

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

补充:脱离Cygwin 启动

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

能!

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

cert=turn_server_cert.pempkey=turn_server_pkey.pem

创建2个批处理

一个启动 start.bat

@echo offrem 检查是否有 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.comecho turnserver start successfullrem 暂停以查看启动信息pause

一个停止stop.bat

@echo offrem 查找并停止 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 >nulecho turnserver 服务已停止。

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

启动

停止


点击全文阅读


本文链接:http://zhangshiyu.com/post/165663.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1