音视频服务器搭建
流程
nginx_13">查看当前nginx版本,并下载对应的源代码
-
下载对应源码:将以下两个文件安装到同一个路径下(如新建一个/cml路径)
nginx_26">重新编译并配置nginx
-
进入nginx-1.18目录,执行configure可执行文件
./configure --prefix=/home/ubuntu/cml/nginx-1.18.0/build --add-module=/home/ubuntu/cml/nginx-rtmp-module
参数说明:
第一个参数
--prefix=/home/ubuntu/cml/nginx-1.18.0/build
指明安装路径第二个参数
--add-module=/home/ubuntu/cml/nginx-rtmp-module
指明导入的模块再执行
make install
指令生成build目录 -
配置nginx.conf文件
rtmp {server {listen 1935;chunk_size 4096;# live onapplication rtmp_live {live on;# hls on; #这个参数把直播服务器改造成实时回放服务器。# wait_key on; #对视频切片进行保护,这样就不会产生马赛克了。# hls_path ./sbin/html; #切片视频文件存放位置。# hls_fragment 10s; #每个视频切片的时长。# hls_playlist_length 60s; #总共可以回看的时间,这里设置的是1分钟。# hls_continuous on; #连续模式。# hls_cleanup on; #对多余的切片进行删除。# hls_nested on; #嵌套模式。}# play videosapplication rtmp_play{play ./videos; #build directory}} }
-
启动nginx服务
sudo ./sbin/nginx
-
打开端口防火墙
sudo ufw allow 1935/tcp
-
通过ffmpeg客户端命令测试服务器是否搭建成功
-
ffmpeg -i test.flv -vcodec libx264 -acodec aac -f flv rtmp://8.134.156.7:1935/rtmp_live/mystream
出现以下画面则服务器搭建成功。
-
如果出现以下错误:
Connection to tcp://8.134.156.7:1935 failed: Error number -138 occurred [rtmp @ 00000202d836e940] Cannot open connection tcp://8.134.156.7:1935 rtmp://8.134.156.7:1935/rtmp_live/mystream: Unknown error
测试服务器直播效果
打开
VLC
视频测试工具,选择媒体->打开网络串流 -> 输入网络地址 rtmp://xxx.xxx.xxx:1935/rtmp_live/mystream*
,再客户端推送rtmp流到服务器推送成功
测试rtmp服务器的点播效果
在系统中准备好测试的点播文件
-
打开网络流:rtmp://xxx.xxx.xxx:1935/rtmp_play/test.flv
,点播打开成功。
参考文献
[1] https://mp.weixin.qq.com/s/axPKe2m2Cn6W17v56j-UQQ
[2] 视频教程
[3] https://www.cnblogs.com/Naylor/p/18070047