预置条件
- 配置点播服务器
192.168.246.102
, 配置好网卡使其能上网, 安装nginx和nginx-rtmp-module模块,开放端口80, 1935。 - 配置远程服务器
192.168.246.103
,配置好网卡使其能上网,安装nginx模块,开放端口80。 - 播放测试工具: VLC media player
Nginx点播基本配置
-
配置点播服务器
192.168.246.102
# 配置worker的用户 # 如果不配置此项,默认为nobody,视频因权限问题无法播放 user www; ... rtmp { server { listen 1935; application vod { play /var/rec; } } }
-
添加www用户
# groupadd www # useradd -g www www
-
重启Nginx
# systemctl restart nginx
-
创建
/var/rec
目录# mkdir /var/rec
-
把文件flv或mp4文件放置在
/var/rec
目录下,并修改权限# chown www:www /var/rec -R # cd /var/rec # ls abcd-1703474265-2023-12-25-11_17_45.flv abcd-1703474338-2023-12-25-11_18_58.flv
-
使用 VLC media player
点击菜单 “媒体” - “打开网络串流”, 输入 URL
rtmp://192.168.246.102/vod/abcd-1703474265-2023-12-25-11_17_45.flv
-
注意:如果
/var/rec
有下级目录,播放URL需要使用两个斜杠比如,要播放
/var/rec/flv
下的flv文件abc.flv
输入URL为
rtmp://192.168.246.102/vod//flv/abc.flv
点播远程文件
点播服务器也可以播放远程服务器的资源
-
配置远程服务器
192.168.246.103
http { ... server { listen 8081; server_name localhost; location / { root /www; } } }
-
开放8081端口
# firewall-cmd --zone=public --add-port=8081/tcp --permanent # firewall-cmd --reload
-
创建目录
/www/rec
, 并把视频文件放在此目录下# mkdir /www/rec # ... 此处省略了移动文件步骤 # cd /www/rec # ls abcd-1703474051-2023-12-25-11_14_11.flv abcd-1703474066-2023-12-25-11_14_26.flv
-
配置点播服务器
192.168.246.102
rtmp { server { listen 1935; application vod2 { play http://192.168.246.103:8081/rec; } } }
-
使用 VLC media player
点击菜单 “媒体” - “打开网络串流”, 输入 URL
rtmp://192.168.246.102/vod2/abcd-1703474066-2023-12-25-11_14_26.flv
-
注意:如果
/www/rec
有下级目录, 播放URL需要使用两个斜杠比如,要播放
/var/rec/flv
下的flv文件abc.flv
输入URL为
rtmp://192.168.246.102/vod2//flv/abc.flv
指定多个播放位置
-
配置点播服务器
192.168.246.102
rtmp { server { listen 1935; application vod3 { # /var/abc 目录不存在 play /var/abc /var/rec http://192.168.246.103:8081/rec; } } }
-
使用 VLC media player播放
rtmp://192.168.246.102/vod3/abcd-1703474338-2023-12-25-11_18_58.flv
- 由于目录
/var/abc
不存在, 尝试播放目录/var/rec
下的文件; - 可以成功播放目录
/var/rec
下的文件abcd-1703474338-2023-12-25-11_18_58.flv
, 于是不再从后面位置查找要播放的文件。
- 由于目录
参考
https://github.com/arut/nginx-rtmp-module