Windows Nginx 服务器部署并推流

环境

开发环境:windows
开发工具:ffmpeg、nginx、nginx-rmtp-module、vlc media player

 Nginx

Nginx是一个高性能的HTTP和反向代理web服务器,并且支持rtmp,不过rtmp是作为一个nginx的一个模块。

对于linux系统,需要另外编译安装rtmp模块;

而对于windown系统有带rtmp的nginx的版本。

下载Nginx-rtmp-win64
Nginx github地址
修改配置文件(conf/nginx.conf)

rtmp {
    server {
        listen 1935;
 
        application live {
            live on;
        }
		
        application hls {
            live on;
            hls on;  
            hls_path temp/hls;  
            hls_fragment 8s;  
        }
    }
}

这里的配置参数及其含义
listen代表监听端口
application live 跟的是推流请求路径
live on 代表开启实时
hls on 代表开启hls
hls_path 代表rtmp推流请求路径,文件存放路径
hls_fragment 8s 代表每个TS文件包含8秒的视频内容

修改server端口号

修改完成后保存,使用以下命令检查一下配置文件是否正确,后面是nginx.conf文件的路径,successful就说明正确了

nginx -t -c /nginx/conf/nginx.conf

代表运行成功

关闭 nginx 指令

taskkill /f /t /im nginx.exe

如果程序没启动就直接start nginx启动,如果已经启动了就使用以下命令重新加载配置文件并重启

nginx -s reload

之后就打开浏览器访问刚才的域名及端口http://localhost:8800,或者http://127.0.0.1:8800出现欢迎页就说明部署成功了 

前面下载也可以下载下面版本: 

windows版nginx下载地址:Index of /download/

 我是下载后并在C盘建一个目录如下:

ffmpeg 

  1. ffmpeg version 5.1.2   (可用最新的)    下载地址   Builds - CODEX FFMPEG @ gyan.dev

FFmpeg官方下载地址

下载后解压,进入bin目录下:

然后在文件夹下打开cmd命令:

推流:

 .\ffmpeg.exe -thread_queue_size 1000 -r 30 -f dshow -i video='FULL HD 1080P Webcam' -vcodec libx264 -acodec copy -preset:v ultrafast -tune:v zerolatency -max_delay 10 -g 50 -sc_threshold 0 -f flv rtmp://127.0.0.1:1935/live/home

拉流:

.\ffplay.exe -fflags nobuffer rtmp://127.0.0.1:1935/live/home

 摄像头推流测试命令

摄像头推流
ffmpeg -f dshow -i video="USB2.0 PC CAMERA" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/home
麦克风推流
ffmpeg -f dshow -i audio="麦克风 (2- USB2.0 MIC)" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/123
摄像头&麦克风推流
ffmpeg -f dshow -i video="USB2.0 PC CAMERA" -f dshow -i audio="麦克风 (2- USB2.0 MIC)" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/123
或者
ffmpeg -f dshow -i video="USB2.0 PC CAMERA":audio="麦克风 (2- USB2.0 MIC)" -vcodec libx264 -r 25 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/123

屏幕推流

首先需要安装一个软件,screen capture recorder
编译好的下载地址是:http://sourceforge.net

屏幕推流

ffmpeg -f gdigrab -i desktop -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/home
屏幕&麦克风推流
ffmpeg -f gdigrab -i "1:0" -vcodec libx264 -preset ultrafast -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://127.0.0.1:1935/rtmplive/home
屏幕&麦克风&摄像头
ffmpeg -f avfoundation -framerate 30 -i "1:0" \-f avfoundation -framerate 30 -video_size 640x480 -i "0" \-c:v libx264 -preset ultrafast \-filter_complex 'overlay=main_w-overlay_w-10:main_h-overlay_h-10' -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:1935/rtmplive/home

或者用VLC查看效果 

 将转换的  rtmp://127.0.0.1/live/xxx  复制到如下所示:

参考链接:windows系统下利用Nginx搭建rtmp流媒体服务器_nginx rtmp-CSDN博客 

Windows 搭建 nginx rtmp服务器 - microsoftzhcn - 博客园 (cnblogs.com)

https://www.cnblogs.com/ni666/p/17953882

  • 29
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值