nginx支持rtmp

1 nginx安装

我这里使用nginx-1.20.2版本,此版本已经将 mp4和hls做成内置模块,只需要增加

  --with-http_flv_module             enable ngx_http_flv_module
  --with-http_mp4_module             enable ngx_http_mp4_module

配置选项即可。需要注意的是,nginx的配置文件读取,需要用到正则表达式,而正则表达式依赖于 pcre库,这里使用pcre-8.45,注意nginx依赖的是pcre而不是pcre2

另外若是需要支持rtmp的话,则需要下载独立的nginx-rtmp-module-master源码,使用--add-module进行联合编译。

具体安装命令如下:

./configure --prefix=$(pwd)/install  --with-threads  --with-http_flv_module  --with-http_mp4_module --with-pcre=/data1/pengchao6/work/nginx/pcre-8.45 --add-module=../nginx-rtmp-module-master`
make
make install

2 ffmpeg安装

2.1 安装 yasm

搭建视频点播系统,需要涉及到视频处理。为了方便,需要安装ffmpeg,安装ffmpeg需要依赖于yasm软件,方才能支持ffmpeg部分汇编命令。这里使用yasm-1.3.0,其安装也无特殊之处,使用命令:

./configure --prefix=$HOME/usr/local/yasm
make
make install

安装完成之后,需要将路径$HOME/usr/local/yasm/bin添加到PATH环境变量中,让系统能够找到yasm命令。

2.2 安装ffmpeg

下载ffmpeg源码后,解压,执行命令

./configure --prefix=$HOME/usr/local/ffmpeg
make
make install

安装完成后将l路径$HOME/usr/local/ffmpeg/bin添加到PATH环境变量中。

3 支持rtmp直播

3.1 增加rtmp配置

首先在nginx.conf中添加rtmp配置:


rtmp {
    server {
        listen 1935;
        chunk_size 4000;
        application live {
            live on;
            record off;
            allow play all;
        }
    }
}

其中 application 为关键字,live表示rtmp直播名称,其中的内容表示rtmp直播的属性。此配置会为nginx添加一个1935监听端口。
注意:修改此配置后,需要执行 nginx -s stop先停止nginx,然后在启动。不能直接使用 nginx -s reload

3.2 rtmp推流

使用ffmpeg 进行想rtmp服务进行推流:

ffmpeg -re -i test.mp4 -c copy -f flv rtmp://localhost:1935/live

3.3 rtmp拉流

在vlc中使用如下命令拉流:

rtmp://localhost:1935/live 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值