Nginx-rtmp-module 安装与配置指南
1. 项目目录结构及介绍
在下载并解压nginx-rtmp-module
源代码后,你会看到以下基本目录结构:
nginx-rtmp-module/
├── README.md # 项目简介和使用说明
├── CHANGELOG.md # 更新日志
├── src/ # 模块源代码
│ ├── nginx-rtmp-module.h # 头文件,定义模块接口
│ └── ... # 其他C源文件
├── conf/ # 示例配置文件
│ └── nginx.conf.example # 样例Nginx配置文件
└── scripts/ # 构建辅助脚本
└── ... # 如autogen.sh等
src/
目录包含了模块的核心源代码;conf/
提供了配置文件示例,帮助你了解如何设置Nginx以使用该模块;scripts/
则是一些构建过程中的辅助脚本。
2. 项目的启动文件介绍
项目本身不包含启动文件,因为它是作为Nginx的一个模块进行集成。通常,nginx
可执行文件是你的Nginx服务器的启动程序。你可以通过以下命令在终端中启动Nginx(假设nginx
位于PATH路径内):
sudo nginx
要停止或重新加载配置,可以使用:
sudo nginx -s stop # 停止服务
sudo nginx -s reload # 重载配置
确保在启动Nginx之前已经正确地将nginx-rtmp-module
添加到你的Nginx编译选项中,这样模块才会被动态加载。
3. 项目的配置文件介绍
配置Nginx以使用nginx-rtmp-module
,你需要编辑Nginx的主要配置文件(通常是/etc/nginx/nginx.conf
或conf/nginx.conf
)。以下是一个简单的例子:
worker_processes auto;
events {
worker_connections 1024;
}
http {
server {
listen 8080; # 设置HTTP监听端口
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /hls {
root /var/www/html/hls; # 设置HLS目录
types {
application/vnd.apple.mpegurl m3u8;
video/mp4 ts;
}
add_header Cache-Control no-cache;
}
location /vod {
alias /path/to/videos; # 设置视频点播目录
if ($uri ~* ^/(.*).m3u8$) {
set $video_file "$1.mp4";
}
rewrite ^(.*)$ /vod/$video_file break;
}
rtmp {
server {
listen 1935; # 设置RTMP监听端口
chunk_size 4096;
application live {
allow publish 127.0.0.1;
deny publish all;
live on;
record off;
}
application hls {
hls on;
hls_path /var/www/html/hls;
hls_fragment 10s;
hls_playlist_length 60s;
}
}
}
}
}
这个配置创建了两个应用——live
和hls
,分别处理实时流和HLS分片。listen
指令指定端口号,allow
和deny
用于控制谁能发布流,而live
和hls
指令则开启流媒体功能。hls_path
指定了HLS片段的存储位置,hls_fragment
和hls_playlist_length
则设置了HLS分片的时间长度。
请注意,实际配置可能会根据你的具体需求有所不同,包括但不限于权限设置、磁盘路径、安全策略等。
警告:在修改配置文件后,务必先运行nginx -t
检查语法无误,再使用nginx -s reload
来重启Nginx,以加载新的配置。
以上即为nginx-rtmp-module
的基本安装与配置步骤,希望对你有所帮助。如果在实践中遇到任何问题,可以在官方讨论组寻求帮助或者参考项目文档。