- 本次测试安装使用的是CentOS 8.2版。
- 具体安装办法最自行百度。
- 宝塔面板是一个非常不错的管理面板,可以方便我们对Linux系统的管理。
- 宝塔面板官网:宝塔面板 – 简单好用的Linux/Windows服务器运维管理面板
- CentOS安装面板命令是:
yum install -y wget && wget -O install.sh http:
-
编译Nginx-http-flv-module模块环境
- 登录面板——软件商店——运行环境——Nginx——安装

- 选择版本——编译安装——自定义模块

- 自定义编译模块参数
模块名称:nginx_http_flv_module模块描述:nginx_http_flv_module模块参数:–add-module=/www/server/nginx/src/nginx-http-flv-module前置脚本:
-
-
git clone https://gitee.com/mirrors/nginx-http-flv-module.git
- 点击“提交”。第四步,返回前面一个页面

- 点击“提交”进行编译并安装。

- 终端中运行nginx -v,查看是否编译成功,看到上图中的参数就表示编译成功。
- 在宝塔面板的软件商店中,安装MySQL与PHP 7.4版
- 下载视频网站源码到/www/wwwroot下,打开宝塔面板上的终端后输入:
-
-
git clone https://gitee.com/yhssdl/SeaCMS.git
-

成功后,在/www/wwwroot下出现SeaCMS文件夹,内含视频网站各种文件。
- 添加一个新的站点

- 先在宝塔面板的文件管理中,将SeaCMS的权限改为777

- 在浏览器中输入http://服务器IP地址或域名,就可以开始安装视频网站,安装完成后可以看到

- 在宝塔面板中的文件管理进入/www/server/nginx/conf文件夹,然后新建一个空白文件,文件名为:rtmp.conf

- 选中rtmp.conf文件,右键进入编辑界面

- 将以下内容,复制到rtmp.conf文件编辑窗口中
-
-
rtmp_auto_push_reconnect 1s;
-
-
-
-
-
max_streams 64; #Nginx能接受的最大的推流数
-
-
-
-
-
-
-
-
#HLS 直播流配置
-
-
-
-
hls_path /www/wwwroot/SeaCMS/hls;#HLS视频流存放地址
-
-
-
-
hls_continuous on; #连续模式。
-
hls_cleanup on; #对多余的切片进行删除。
-
-
-
-
-
-
-
dash_path /www/wwwroot/SeaCMS/dash;#DASH视频流存放地址
-
-
-
dash_playlist_length 10s;
-
-
-
-
gop_cache on; #开启GOP缓存,播放解码时收到完整的GOP才开始播放,减少延迟的选项
-
-
-

复制后,保存文件。
- 打开文件夹中的nginx.conf文件,找到以下内容
-
-
-
-
worker_connections 51200;
-
-
-
在第13行左右 http 的上方,添加内容 include rtmp.conf;

然后保存文件。
- 配置视频网站,在面板上网站上,点击网站的设置按钮,进入网站的配置界面

- 修改网站配置文件
-
-
-
-
-
-
-

-
-
-
chunked_transfer_encoding on; #open ‘Transfer-Encoding: chunked’ response
-
add_header ‘Access-Control-Allow-Credentials’ ‘true’; #add additional HTTP header
-
add_header ‘Access-Control-Allow-Origin’ ‘*’; #add additional HTTP header
-
add_header Access-Control-Allow-Headers X-Requested-With;
-
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
-
add_header ‘Cache-Control’ ‘no-cache’;
-
添加内容后,保存。
- 打开终端,重启gninx服务:service nginx restart

- 面板上的安全界面,把1935的TCP端口放行,因为直播推流需要用到该端口。

- OBS是目前最好用的直播推流软件,网站地址:Open Broadcaster Software | OBS

- HTTP-FLV直播流的推流与播放地址
OBS中进入设置界面的“推流”,推流地址为:rtmp://192.168.10.25:1935/live (后面涉及的IP地址,在使用时要根据实际修改)串流密钥可以自定义,在播放时使用对应的值即可。
RTMP播放地址:rtmp://192.168.10.25:1935/live/vod (优点是延时低,一般几秒左右,推荐使用PotPlayer来打开这个地址播放,视频网站上可以调用Ckplayer 来进行网页播放,但是需要Flash支持,目前不推荐)HTTP-FLV播放地址:http://192.168.10.25/live?app=live&stream=vod (延时比RTMP要高,但是比HSL与DASH要低,视频网站上可以调用Xgplayer来进行网页播放,效果不错,推荐)
这是视频网站中调用播放的地址,地址最后增加的&ext=.flv是为了让Xgplayer播放器识别为FLV文件,从而调用flv.js来播放直播,如果不添加,则会直播失败。
这是网页上直播的效果。
- HLS直播流的推流与播放地址
OBS中进入设置界面的“推流”,推流地址为:rtmp://192.168.10.25:1935/hls串流密钥可以自定义,在播放时使用对应的值即可。RTMP播放地址:rtmp://192.168.10.25:1935/hls/vod (优点是延时低,一般几秒左右,推荐使用PotPlayer来打开这个地址播放,视频网站上可以调用Ckplayer 来进行网页播放,但是需要Flash支持,目前不推荐)HTTP播放地址:http://192.168.10.25/hls/vod/index.m3u8 (延时较高,视频网站上可以调用Xgplayer来进行网页播放)
这是在视频网站上添加影片时填写的内容。
- DASH直播流的推流与播放地址
OBS中进入设置界面的“推流”,推流地址为:rtmp://192.168.10.25:1935/dash串流密钥可以自定义,在播放时使用对应的值即可。RTMP播放地址:rtmp://192.168.10.25:1935/dash/vod (优点是延时低,一般几秒左右,推荐使用PotPlayer来打开这个地址播放,视频网站上可以调用Ckplayer 来进行网页播放,但是需要Flash支持,目前不推荐)HTTP播放地址:http://192.168.10.25/dash/vod/index.mpd (延时较高,视频网站上可以调用Xgplayer来进行网页播放)
这是在视频网站上添加影片时填写的内容。
「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」