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

相关推荐

  1. FFMPEG到RTMP服务器命令

    2024-05-12 08:24:02       41 阅读
  2. 【GIT】代码仓库服务器变更本地修改

    2024-05-12 08:24:02       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-12 08:24:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-12 08:24:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-12 08:24:02       87 阅读
  4. Python语言-面向对象

    2024-05-12 08:24:02       96 阅读

热门阅读

  1. 生活中的网络

    2024-05-12 08:24:02       29 阅读
  2. HarmonyOS应用开发者高级认证 试题+答案

    2024-05-12 08:24:02       30 阅读
  3. 1-k8s常见注意事项

    2024-05-12 08:24:02       26 阅读
  4. KubeKey 部署 K8s v1.28.8 实战

    2024-05-12 08:24:02       29 阅读
  5. 从零开始精通RTSP之传输AAC音频流

    2024-05-12 08:24:02       34 阅读
  6. 【GitHub】将本地VueCLI项目关联到GitHub远程仓库

    2024-05-12 08:24:02       31 阅读