Windows Nginx+RTMP流媒体服务器搭建以及测试
RTMP是Real Time Messaging Protocol(实时消息传输协议)的缩写。基于TCP,是一种用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。RTMP与HTTP一样,都属于TCP/IP四层模型的应用层。
用白话说,就是:服务器和客户端实时串流音视频和其他数据
RTMP有很多变种:
RTMPT:对RTMP进行HTTP包装
RTMPS:对RTMP进行SSL加密以保护内容(类似于HTTPS)
RTMPE:对RTMP进行进一步加密(比SSL快)
软件下载、安装
Software downloading&Installation
需要准备的软件:
| 序号 | 名称 | 下载链接 | 用途 |
| 1 | Nginx集成版 | 上方捐赠 后下载 | 集成RTMP模块,无需手动编译,提供直播服务 |
| 2 | OBS | 推流客户端 | |
| 3 | VLC | 拉流客户端 | |
| 4 | Notepad++ | 配置编辑器 |
解压Nginx集成版到无中文路径(有中文会报错Non-Ascii characters found),完成安装。安装OBS、VLC、Notepad++即可。
服务端配置
Server side config
重命名nginx-win.conf为nginx.conf,用Notepad++追加如下配置到最后(不要用记事本,会有BOM头导致报错在第一行(有的版本写第0行)):
rtmp{ server{ listen 1935; chunk_size 4000; application live{ live on; } }}保存文件,启动Nginx,查看logs目录
这一步部分机器防火墙会报警,点击允许,否则服务无法外网访问。
查看logs目录,出现 nginx.pid 即为成功。如果出现error.log但是没有nginx.pid,检查文件内容,根据提示找到错误原因。
推流测试
Streaming Test
打开安装好的OBS程序,会提示进行自动配置向导,按照下文操作


(注:基础(画布)分辨率可以设置为显示器的分辨率)

(注:如果显卡性能好,可以勾选优先选择硬件编码,服务器后面一定要有反斜杠,不是正斜杠!应该是退格键下面的)

点是,我们不用公共串流服务,不用管它。

确定就行
把下面的两个全部静音(齿轮图标左边的小喇叭,点一下会变红就对了)

接下来给我们的直播加点料吧,先试一试纯色,点击来源窗口的加号,选择“色源”


点击选择颜色,选择你喜欢的颜色,点确定。
点击“开始推流”,正式开始直播
配置好的OBS:


右下角出现如图绿条即为成功。
接下来测试播放,打开VLC,Ctrl+N,输入rrtmp://【IP】:1935/live/a

可以看到画面就成功了,延迟大概2-3秒,可能有波动。





