Window下SRS流媒体服务器的搭建+RTMP视频推流

一、前期准备

  SRS 流媒体服务器无法直接在 Windows 上运行,依赖于 Linux 内核环境,一般需要下载虚拟机。

  本文采用Docker作为容器,打开win自带的 Hyper-V 虚拟机。

  在安装docker之前先要打开window的虚拟机。

1.1 开启 Hyper-V

 (1) “控制面板” ——“程序”——“启动或关闭windows功能”

 (2)至此Hyper-v打开完成,以管理员身份运行PowerShell:

  启动命令如下:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

  运行结果如下:

1.2 安装 Docker

  Docker下载:www.docker.com/products/docker-desktop/

  在cmd中输入docker出现docker 命令格式则说明安装成功了。

二、下载并启动SRS服务器

  srs下载:https://gitee.com/ossrs/srs

2.1 启动window中的cmd控制台窗口。

2.2 启动docker并映射srs文件的命令。

docker run -it --name=srs -v /G/SRSC/srs.oschina/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:\SRSC\srs.oschina\srs\路径,需要修改为SRS文件下载的路径

  这里不能使用pwd和window的路径格式。例如G:\srs要修改为/G/srs。

  成功后docker界面会出现srs服务器。

2.3 执行完成之后,执行ls命令,出现srs的文件结构就说明映射成功了。


2.4 docker启动映射成功之后执行

./configure

2.5 执行make命令。出现如下界面说明make成功了。

make

2.6 执行 ./objs/srs -c conf/srs.conf命令启动srs服务。出现如下界面说明启动成功了。

./objs/srs -c conf/srs.conf

三、摄像头RTMP推流

3.1 我们购买的是这一款相机,自带RTMP推流功能。

  在RTMP推流设置中填写推流地址:rtmp://192.168.5.6/live/livestream


3.2 利用VLC媒体播放器拉流测试。

打开VLC播放器——点击 “媒体”——“打开网络串流”——输入推流地址:rtmp://192.168.5.6/live/livestream

出现画面,推流成功


四、RTMP推流+webRTC拉流(RTMP to RTC)

4.1 打开SRS控制台网页

  http://192.168.5.6:8080/
  可以在外网的浏览其中输入网址:http://公网IP:8080/ 出现网页,表示服务器成功启动

  点击“SRS播放器”——选择“RTC播放器”——填写拉流地址“webrtc://192.168.5.6/live/livestream”

粉丝福利, 免费领取C++音视频学习资料包+学习路线大纲、技术视频/代码,内容包括(音视频开发,面试题,FFmpeg ,webRTC ,rtmp ,hls ,rtsp ,ffplay ,编解码,推拉流,srs)↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓ 

  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建RTMP流媒体服务,你需要完成以下两个步骤: 1. 安装Nginx和RTMP模块 2. 配置Nginx和RTMP模块 下面我将为你详细介绍如何完成这两个步骤。 ## 安装Nginx和RTMP模块 ### 安装Nginx 首先,你需要安装Nginx。在Ubuntu系统上,可以使用以下命令进行安装: ``` sudo apt-get update sudo apt-get install nginx ``` 安装完成后,你可以使用以下命令验证Nginx是否成功安装: ``` nginx -v ``` 如果成功安装,你应该可以看到Nginx的版本信息。 ### 安装RTMP模块 安装Nginx后,你需要安装RTMP模块。RTMP模块可以让Nginx支持RTMP协议,从而实现流媒体服务。 在Ubuntu系统上,你可以使用以下命令下载RTMP模块: ``` sudo apt-get install libnginx-mod-rtmp ``` 安装完成后,你需要启用RTMP模块。可以使用以下命令启用: ``` sudo ln -s /usr/share/nginx/modules-available/mod-rtmp.conf /etc/nginx/modules-enabled/ sudo ln -s /usr/share/nginx/modules-available/mod-rtmp.load /etc/nginx/modules-enabled/ ``` ## 配置Nginx和RTMP模块 安装完成Nginx和RTMP模块后,你需要配置Nginx和RTMP模块以实现流媒体服务。 ### 配置Nginx 首先,你需要编辑Nginx的配置文件。可以使用以下命令打开默认Nginx配置文件: ``` sudo nano /etc/nginx/nginx.conf ``` 在文件末尾添加以下代码: ``` rtmp { server { listen 1935; chunk_size 4096; application live { live on; record off; } } } ``` 这里我们定义了一个RTMP服务器,它将监听1935端口并支持流媒体服务。在application块中,我们定义了一个名为live的应用程序,它将允许直播,并关闭录制。 ### 启动Nginx 完成Nginx配置后,你需要启动Nginx。可以使用以下命令启动: ``` sudo service nginx start ``` ### 配置推流和拉流 现在,你可以使用推流软件将视频流推送到服务器上。例如,可以使用OBS Studio或FFmpeg进行推流。 在OBS Studio中,你需要配置以下设置: - 流类型:自定义流服务器 - URL:rtmp://your-server-ip:1935/live - 流关键字:随意命名 在FFmpeg中,你可以使用以下命令进行推流: ``` ffmpeg -re -i input.mp4 -c copy -f flv rtmp://your-server-ip:1935/live/stream-name ``` 这里我们将本地input.mp4文件推流服务器上,流名称为stream-name。 完成推流后,你可以使用以下命令进行拉流: ``` ffplay rtmp://your-server-ip:1935/live/stream-name ``` 这里我们使用ffplay命令进行拉流。你也可以使用其他支持RTMP协议的播放器进行拉流。 到这里,你已经成功搭建RTMP流媒体服务。祝你好运!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值