附上最简单的配置
events {
worker_connections 8192;
}
rtmp {
server {
listen 1935;#监听端口,若被占用,可以更改
chunk_size 4000;#上传flv文件块儿的大小
application live {
live on;
}
}
}
1)events是nginx的配置项,不属于RTMP的配置范畴
2)rtmp {...} 保存所有RTMP配置的信息
3)server{...} 声明了一个RTMP的实例,可以声明多个实例,只要端口不冲突,所以可以通过下面方式生成两个RTMP实例,一个监听1935端口,一个监听1936端口
rtmp {
server {
listen 1935;#监听端口,若被占用,可以更改
chunk_size 4000;#上传flv文件块儿的大小
application live {
live on;
}
}
server {
listen 1936;#监听端口,若被占用,可以更改
chunk_size 4000;#上传flv文件块儿的大小
application live {
live on;
}
}
}
注意:server不能另外命名,例如server1,server2
4)listen
语法:listen (addr[:port]|port|unix:path) [bind] [ipv6only=on|off] [so_keepalive=on|off|keepidle:keepintvl:keepcnt]
上下文:server
描述:给 nginx 添加一个监听端口以接收 RTMP 连接。
5)application
语法:application name { ... }
上下文:server
描述:创建一个 RTMP 应用。application 名的模式并不类似于 http location。
server {
listen 1935;
application live{
}
}
注意:当前创建一个名叫live的应用,当我们访问资源的时候,就需要携带上这个应用的名字,例如:
rtmp://192.168.11.172:1936/live/home,1936说明访问RTMP的其中一个实例,然后请求live应用下的home资源
如果没有创建live的应用,就会提示rtmp://192.168.11.172:1936/live/home: I/O error
6)live
语法:live on|off
上下文:rtmp, server, application
描述:切换直播模式,即一对多广播。
live on;
说明
Nginx-rtmp 对 rtmp{...} 内的配置项划分了几个级别:
- 直接隶属于 rtmp{} 块内的配置项称为 main 配置项。
- 直接隶属于 server{} 块内的配置项称为 srv 配置项。
- 直接隶属于 application{} 块内的配置项称为 app 配置项。
- 直接隶属于 record{} 块内的配置项称为 rec 配置项。