基于nginx-rtmp搭建点播平台
序言
RTMP(Real Time Message Protocol,实时信息传输协议)协议属于应用层协议,靠底层的 TCP 来保证信息传输的可靠性。它由 Adobe 公司提出,用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题。nginx-rtmp 是由俄罗斯人开发的 NGINX 模块,该模块完善了 NGINX 对视频的支持,并且实现了对 HLS 的支持。
本次实验在滴滴云上完成,基于 nginx-rtmp 搭建一个点播平台。
准备
| 工具名称 | 描述 |
|---|---|
| 操作系统 | CentOS Linux release 7.4.1708 |
| nginx | release-1.15.0 |
| nginx-rtmp-module | 1.2.1 |
| VLC | 播放器 |
搭建流程
- 安装依赖库
sudo yum install git gcc make pcre-devel openssl-devel
- Build nginx with nginx-rtmp
sudo ./auto/configure --with-http_ssl_module --add-module=../nginx-rtmp-module-1.2.1
sudo make
sudo make install
- Start nginx Server
sudo /usr/local/nginx/sbin/nginx
- 新建放置视频文件的目录
sudo mkdir /nginxData/mp4
sudo chmod -R 777 /nginxData/mp4
由于 NGINX 的子进程属于 nobody(权限极低),所以本次实验将视频文件的所有权限都放开。
- 移动 stat.xsl 文件
将 nginx-rtmp 源码中的 stat.xsl 文件复制到 nginxData 目录中,并将其权限改为 664。
sudo cp /home/dc2-user/nginx-rtmp-module-1.2.1/stat.xsl /nginxData/stat.xsl
sudo chmod 644 /nginxData/stat.xsl
配置详解
NGINX 的所有配置都在其 conf 目录下(也就是安装完成后的 /usr/local/nginx/conf 中),最主要的配置文件 nginx.conf 文件具体配置样本文件见 nginx.conf.md 文件。
配置文件
#user nobody;
worker_processes 1;
error_log logs/error.log debug;events {worker_connections 1024;
}http {...server {listen 80;server_name localhost;location /stat {rtmp_stat all;rtmp_stat_stylesheet stat.xsl;}location /stat.xsl {# you can move stat.xsl to a different locationroot /nginxData/;}location /control {rtmp_control all;}...}
}rtmp {server {listen 1935;ping 30s;application vod {play /nginxData/mp4;}}
}
使用
查看状态
通过访问 http:///stat,可以查看点播平台的状态。
访问视频
- 在 /nginxData/mp4 目录下放置一个名为 test.mp4 的视频文件
- 在本地通过 VLC 播放该视频, 点击 VLC 播放器 file -> open network, 填写地址 rtmp://:/vod/test.mp4
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
