ffmpeg rtsp转rtmp_流媒体开发学习5 CentOS搭建Nginx+Rtmp服务端

704dc5a7cbb0245909a49003f8cc8aa4.png

流媒体服务功能说明:

nginx实现rtmp服务端,可以接受推流,然后将流分发出去。

一般接受rtsp推流,可输出rtmp或flv等多种格式。 在安防领域典型的应用场景:

将摄像机的rtsp推流到流媒体服务器,网页端可使用flash或无插件观看视频。

下载nginx-rtmp-module

git clone https://github.com/arut/nginx-rtmp-module.git

下载安装nginx

wget http://nginx.org/download/nginx-1.8.1.tar.gz tar -zxvf nginx-1.8.1.tar.gz cd nginx-1.8.1 ./configure --prefix=/usr/local/nginx  --add-module=../nginx-rtmp-module  --with-http_ssl_module   make && make install

设置nginx

vi /usr/local/nginx/conf/nginx.conf

内容:

worker_processes  1;events {    worker_connections  1024;}http {    include       mime.types;    default_type  application/octet-stream;    sendfile        on;    keepalive_timeout  65;    server {        listen       809;        server_name  localhost;        location / {            root   html;            index  index.html index.htm;        }        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    }}    rtmp {        out_queue 4096;        out_cork 8;        max_streams 4096;        server {            listen 90;            drop_idle_publisher 30s;            application live {                live on;            }        }    }

启动:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

卸载

# 如果有自启动,则删除 Nginx 的自启动chkconfig nginx off服务 nginx 信息读取出错:没有那个文件或目录# 查找nginx的安装目录whereis nginxnginx: /usr/local/nginx# 停止nginx服务/usr/local/nginx/sbin/nginx -s stop# 删除安装目录rm -rf /usr/local/nginx/# 查找是否还有残余的find / -name nginx/usr/local/lib64/nginx-1.15.7/objs/nginxrm -rf /usr/local/lib64/nginx-1.15.7/

使用ffmpeg推流测试:

ffmpeg -hwaccel cuvid -c:v h264_cuvid -i "视频资源源地址"  -c:v h264_nvenc -an  -crf 20 -b:a 96k -b:v 2048k -preset medium -tune animation -vf scale_npp=1024:-1 -f flv rtmp://ip:90/live/test

拉流测试

使用:

rtmp://ip:90/live/test

地址播放即可。

Flv配置

https://github.com/winshining/nginx-http-flv-modulenginx flv是基于nginx-rtmp-module的流媒体服务器

功能对比:

f3dfe270093e83a1484e245fb16d0992.png

安装

yum install https://extras.getpagespeed.com/release-el$(rpm -E %{rhel})-latest.rpmyum install nginx-module-flv

1. 通过nginx.conf引用

安装完毕后,HTTP-FLV功能的配置文件http-flv.conf和RTMP功能的配置文件rtmp.conf会被放在/etc/nginx/http-flv目录下,通过include手工将它们添加到/etc/nginx/nginx.conf,以开启HTTP-FLV和RTMP功能:

http {    ...    include /etc/nginx/http-flv/http-flv.conf;}include /etc/nginx/http-flv/rtmp.conf;添加以下配置到/etc/nginx/nginx.conf,启动或者重启NGINX来启用本模块:load_module modules/ngx_http_flv_live_module.so;注意上述的配置必须位于events配置项之前,否则NGINX不能启动。更新可以通过yum update来完成。关于其他NGINX模块的详情见GetPageSpeed。对于其他操作系统,见下面源码编译安装的说明。

2. 源码编译安装

cd rootgit clone https://github.com/winshining/nginx-http-flv-modulewget http://nginx.org/download/nginx-1.8.1.tar.gz tar -zxvf nginx-1.8.1.tar.gz cd nginx-1.8.1 ./configure --add-module=/root/nginx-http-flv-module  --with-http_ssl_module   make && make install
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值