工作需要搭建一个流媒体服务器,用来接收前端推过来的视频流,达到实时保存的目的。
具体步骤网上已经比较详细了 可以参考下面这个文档
参考文档 https://www.cnblogs.com/monjeo/p/8492357.html
注意事项:网址提供的nginx版本最好自己去下载最新的 不然后面和OpenSSL版本会对不上 make出错
提前安装一些软件
yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel
如果 ./configure 一步 如果提示./configure: error: SSL modules require the OpenSSL library.
将./configure --prefix=/usr/local/src/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module
--with-http_ssl_module这一段改成 --with-openssl=/OpenResty/package/openssl-1.1.0e (后面的地址改成自己下载openssl解压后地址)
参考文档https://www.cnblogs.com/Guhongying/p/11636369.html
自动将视频流保存为视频文件
https://blog.csdn.net/u011242657/article/details/79954269
关键nginx配置
rtmp {
server {
listen 1935; #监听的端口
chunk_size 4000;
application cctvf {#rtmp推流请求路径 (切记路径错了会推不上流)
live on; #开启实时
hls on; #开启hls
hls_path /usr/local/src/nginx/html/cctvf; #rtmp推流请求路径,文件存放路径
hls_fragment 5s; #每个TS文件包含5秒的视频内容
recorder rec1{
record all;
record_unique on;
record_path /usr/local/src/nginx/html/record;
record_suffix -%Y-%m-%d-%H_%M_%S.mp4;
}
}
}
可以用来做测试流媒体服务连接 rtmp://172.31.194.26:1935/cctvf