Window下SRS服务器的搭建
---2023.7.23
准备材料
srs下载:GitHub - ossrs/srs at 3.0release
目前srs release到5.0版本。
srs官方文档:Introduction | SRS (ossrs.net)
Docker下载:Download Docker Desktop | Docker
进入docker官网选择window版本直接下载。由于srs无法直接部署在Window中,因此需要使用docker容器。
搭建步骤
2.1 安装docker
Docker 并非是一个通用的容器工具,它依赖于已存在并运行的 Linux 内核环境。
Docker 实质上是在已经运行的 Linux 下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署的 Linux 主机。
在安装docker之前先要打开window的虚拟机。
2.2.1 安装 Hyper-V
Hyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10。这是 Docker Desktop for Windows 所使用的虚拟机。
但是,这个虚拟机一旦启用,QEMU、VirtualBox 或 VMWare Workstation 15 及以下版本将无法使用!如果你必须在电脑上使用其他虚拟机(例如开发 Android 应用必须使用的模拟器),请不要使用 Hyper-V!
1、开启 Hyper-V
1)鼠标移动到window图标上,有机鼠标右键。点击选择“应用和功能”。
2)下拉弹出框右边的滑动条到最底下,点击“程序和功能”。
3)点击“启动或者关闭window功能”
4)勾选Hyper-V
至此Hyper-v打开完成,启动可以使用命令也可以点击鼠标右键启动。
启动命令如下:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
2.2.2 安装docker
双击下载的 Docker for Windows Installer 安装文件,一路 Next,点击 Finish 完成安装。
在cmd中输入docker出现docker 命令格式则说明安装成功了。
2.2、编译安装srs服务器
1、启动window中的cmd控制台窗口。
2、启动docker并映射srs文件的命令。
docker run -it --name=srs -v /G/srs:/tmp/srs -w /tmp/srs/trunk -p 1935:1935 -p 1985:1985 -p 8080:8080 -p 8085:8085 registry.cn-hangzhou.aliyuncs.com/ossrs/srs:dev bash
这个命令我是链接的G:\srs\路径。
这里不能使用pwd和window的路径格式。例如G:\srs要修改为/G/srs。
执行完成之后,执行ls命令,出现srs的文件结构就说明映射成功了。
3、docker启动映射成功之后执行./configure。
此处可能出现问题:
bad interpreter: No such file or directory
解决方法如下:
vi configure
:set ff
:set fileformat=unix
:wq
4、修改问题之后继续执行 ./configure。出现如下界面说明./configure执行成功。
5、 执行make命令。出现如下界面说明make成功了。
6、执行 ./objs/srs -c conf/srs.conf命令启动srs服务。出现如下界面说明启动成功了。
至此,srs服务启动成功。
SRS测试使用方法
一、ffmpeg推拉流测试
1、使用ffmpeg命令推流
ffmpeg -re -i C:\Users\admin\Desktop\ship\pasf2.flv -vcodec copy -acodec copy -f flv -y rtmp://192.168.10.103/live/livestream
以上命令中的ip地址是服务器所在的window系统的ip地址。
使用ffmpeg命令拉流
ffplay rtmp:///live/livestream
二、WebRTC推拉流
1、使用ffmpeg命令推流
ffmpeg -re -i C:\Users\admin\Desktop\ship\pasf2.flv -vcodec copy -acodec copy -f flv -y rtmp://192.168.10.103/live/livestream
以上命令中的ip地址是服务器所在的window系统的ip地址。
2、使用WebRTC拉流
推送流成功之后,使⽤srs⾃带的rtc_player播放器进⾏播放,直接请求srs服务的8080端⼝即可。
在浏览器中输入如下网址:
http://192.168.10.103:8080/players/srs_player.html
三、VLC推拉流
四、docker命令
1、查看decker中运行的容器
docker ps -a
2、 获取容器/镜像的元数据
docker inspect [OPTIONS] NAME|ID
docker inspect registry.cn-hangzhou.aliyuncs.com/ossrs/srs:dev
3、连接到正在运行中的容器
docker attach [OPTIONS] CONTAINER
问题:Error response from daemon: No such container: registry.cn-hangzhou.aliyuncs.com/ossrs/srs:dev
解决办法:出现此问题的原因是由于docker容器没有启动,需要启动docker容器。
链接命令:docker attach 39031b94cb0e
4、启动docker容器
docker start 39031b94cb0e
5、停止docker容器
docker stop 39031b94cb0e
6、直接关闭容器
docker kill 容器ID或容器名
7、重启docker容器
docker restart 容器ID或容器名
五、srs命令
1、指定配置文件,即可启动srs
./objs/srs -c conf/srs.conf
2、启动srs
./etc/init.d/srs start
3、查看SRS状态
./etc/init.d/srs status
4、停止SRS
./etc/init.d/srs stop
5、重启SRS
./etc/init.d/srs restart
6、Reload SRS
./etc/init.d/srs reload