FFmpeg+Nginx-RTMP Windows详细搭建教程
-
- 一、前言
- 二、核心工具介绍与技术选型
-
- [2.1 FFmpeg 工具作用与选型](#2.1 FFmpeg 工具作用与选型)
- [2.2 Nginx-RTMP 工具作用与选型](#2.2 Nginx-RTMP 工具作用与选型)
- 三、工具下载与安装
-
- [3.1 FFmpeg 下载与安装](#3.1 FFmpeg 下载与安装)
- [3.2 Nginx-RTMP 1.2.1下载与安装](#3.2 Nginx-RTMP 1.2.1下载与安装)
- [四、Nginx-RTMP 核心配置(nginx-rtmp-win32-1.2.1)](#四、Nginx-RTMP 核心配置(nginx-rtmp-win32-1.2.1))
- 五、全流程环境验证
-
- [5.1 Nginx-RTMP服务启动验证](#5.1 Nginx-RTMP服务启动验证)
- [5.2 FFmpeg流可用性命令验证](#5.2 FFmpeg流可用性命令验证)
- [5.3 监控页面访问](#5.3 监控页面访问)
- 六、本篇小结
一、前言
在Windows平台开发RTMP流媒体录制业务,绝大多数启动报错、本地正常线上翻车、服务异常闪退、录制功能失效等问题,根源基本集中在版本选型错误、工具包残缺、环境配置不规范、路径兼容异常四大核心问题。
相较于Linux成熟的编译与运行环境,Windows平台的Nginx-RTMP无官方编译包、FFmpeg精简版功能阉割、高版本参数兼容性差,存在很多问题。本文作为系列专栏开篇,专注零基础标准化环境搭建,统一工具版本、规范安装流程、提供配置与完整环境验证,为后续SpringBoot工程集成、业务功能的实现打下基础。
二、核心工具介绍与技术选型
本项目依赖FFmpeg与Nginx-RTMP两款核心工具,分工明确、协同完成RTMP流接收、转发、录制、转码全流程。本节详细说明工具核心作用与选型依据。
2.1 FFmpeg 工具作用与选型
核心作用:FFmpeg是开源通用的音视频处理工具,是本项目核心录制工具。主要负责拉取RTMP直播流,或点播流、实时录制视频、FLV临时文件转标准MP4、修复视频时间戳异常、处理音视频编码异常等核心业务能力。
选型避坑:
- 禁止使用精简版:精简版阉割RTMP编解码、faststart转封装、时间戳修复等核心功能,无法完成双流录制与可拖拽标准MP4生成,直接导致功能失效。
- 优先官方认证编译渠道:选用FFmpeg官网公示的gyan.dev、BtbN合规编译源,保证程序无篡改、无捆绑、功能完整、运行稳定,适配Windows全系统版本。
- 固定稳定完整版选型:优先选用7.x、8.x系列完整版(full_build),现在最新版本**FFmpeg 8.1.2(2026年6月27号官方稳定版)**兼容性、稳定性最优,完美适配本项目全部录制、转码、修复命令。
2.2 Nginx-RTMP 工具作用与选型
核心作用:Nginx-RTMP是基于Nginx拓展的流媒体服务模块,承担流媒体传输调度核心工作。负责接收设备/客户端RTMP推流、分发实时直播流、读取本地点播视频、提供HLS流媒体切片、可视化流状态监控,是整个流媒体业务的服务端底座。
选型避坑:
- 舍弃官方原版:arut/nginx-rtmp-module官方仅提供Linux源码,无Windows可执行程序,本地开发、Windows生产环境直接弃用。
- 固定1.2.1稳定版:Windows第三方编译版中,1.2.1版本适配性最强,无高版本冗余不兼容参数,彻底规避wait_keyframe、tcp_nodelay等启动报错,是Windows环境相比优秀版本。
- 自带完整监控模块:该版本内置stat状态监控模块,无需额外编译,开箱即用,满足流状态监控、异常排查、并发统计需求。
三、工具下载与安装
3.1 FFmpeg 下载与安装
- 官方下载主页 :https://ffmpeg.org/download.html

两个下载源区别:
| 选项 | 地址 | 特点 | 适用人群 |
|---|---|---|---|
| Windows builds from gyan.dev(优先推荐) | https://www.gyan.dev/ffmpeg/builds/ | 独立站点,国内访问速度更快;提供正式稳定版(release)和开发版 (git),分为精简版 / 完整版 | 普通开发、Windows 本地调试、不想依赖 Github、国内网络环境 |
| Windows builds by BtbN | Github 仓库:https://github.com/BtbN/FFmpeg-Builds/releases | 托管在 GitHub Release,更新频率极高,纯 Git 主干每日构建;国内访问容易慢 / 打不开 | 能稳定访问 Github、需要最新开发版本的开发者 |
👉 如果你在国内上网,优先选择第一个:gyan.dev
- 正式稳定版下载:https://www.gyan.dev/ffmpeg/builds/

- 安装说明 :下载后是压缩包,放到合适目录下直接解压,然后可配置系统全局环境变量,也可项目内直接配置exe绝对路径(可避免多版本冲突、全局权限异常、服务器环境错乱等问题,更适配生产部署)。

安装完整性校验 :解压完成后,确认bin目录下包含 ffmpeg.exe、ffplay.exe、ffprobe.exe 三大核心程序,即为安装完整、功能无缺失。

3.2 Nginx-RTMP 1.2.1下载与安装
-
版本说明:推荐 nginx-rtmp-module 1.2.1 预编译 Windows 绿色包(illuspas/nginx-rtmp-win32)。
-
下载说明:内置 RTMP、HLS、流媒体状态监控模块,开箱即用。
-
开源原始仓库地址 :https://github.com/illuspas/nginx-rtmp-win32
Release 1.2.1 原版下载链接:https://github.com/illuspas/nginx-rtmp-win32/releases/tag/v1.2.1

-
安装说明 :下载后放到合适的目录下,直接解压到纯英文、无空格、无中文、无特殊字符的短路径,杜绝路径报错、端口监听失败、服务启动异常等问题。

四、Nginx-RTMP 核心配置(nginx-rtmp-win32-1.2.1)
以下是1.2.1版本专属极简稳定配置nginx.conf,剔除所有高版本不兼容参数,兼容LIVE直播、VOD点播、HLS流媒体输出,内置状态监控模块,可直接复制复用,启动无任何报错。
java
worker_processes 1;
error_log logs/error.log;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
chunk_size 4096;
# 实时直播应用(适配摄像头、设备实时RTMP推流)
application live {
live on;
record off;
}
# 【VOD点播】本地视频文件回放(适配本地视频调试)
application vod {
play E:/disk_software/IT/video/ffmpeg/test_video;
}
# 【HLS直播输出】HLS流媒体输出配置(适配移动端、网页端播放)
application hls {
live on;
hls on;
hls_path temp/hls;
hls_fragment 8s;
}
}
}
http {
server {
listen 8080;
location / {
root html;
}
# RTMP状态监控页面核心配置
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root html;
}
# HLS资源访问配置
location /hls {
types{
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
alias temp/hls;
expires -1;
}
}
}
五、全流程环境验证
配置完成后,需要启动服务,CMD命令行测试验证,确保流媒体环境完全可用。
5.1 Nginx-RTMP服务启动验证
进入Nginx根目录,执行启动命令:start nginx.exe,无弹窗报错、任务管理器中显示进程正常后台运行,即为服务启动成功。


5.2 FFmpeg流可用性命令验证
打开CMD终端,进入FFmpeg解压bin目录,执行以下命令,验证直播、点播流传输正常:
- 模拟直播实时推流测试 :
ffmpeg -re -i "E:\disk_software\IT\video\ffmpeg\test_video\test.mp4" -c copy -f flv rtmp://127.0.0.1:1935/live/test001

访问验证:使用VLC工具验证(rtmp://127.0.0.1:1935/live/test001):

- 直播流是否流畅验证 :
ffmpeg -i rtmp://127.0.0.1:1935/live/test001 -f null -

- 点播流是否流畅验证 :
ffmpeg -i rtmp://127.0.0.1:1935/vod/test.mp4 -f null -

命令运行后,持续再跑、无报错、正常输出帧数据,代表流媒体环境搭建完全成功。
5.3 监控页面访问
监控页面访问地址:http://127.0.0.1:8080/stat

六、本篇小结
本篇完整说明了Windows平台FFmpeg + Nginx-RTMP流媒体基础环境的标准化搭建流程,明确两款核心工具的选型逻辑、版本规范与部署标准,提供Windows专属零报错配置与完整环境验证流程,彻底解决新手环境搭建、版本兼容、服务启动等基础问题。
本次搭建完成的基础环境,是后续流媒体录制、转码、切片、直播分发业务的核心底座,也为下一阶段SpringBoot工程集成流媒体服务、实现自动化推拉流与视频录制业务做好了完整铺垫。后续将持续更新业务层实操教程,实现从基础环境搭建到完整项目落地的全流程闭环。
本文属于【Windows流媒体实战专栏】系列第一篇
第一篇:FFmpeg+Nginx-RTMP Windows超详细搭建教程