宝塔linux 搭建rtmp+ffmpeg转流直播服务器

这两天项目有用到直播服务器,结合网上的一些教程和自己踩的坑,记录一下

安装git,后续需要使用到git下载Nginx-rtmp包,

yum -y install git

下载rtmp模块源码

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

由于是外网,速度可能很慢不一定能下载下来,需要修改一下git的缓存配置和最低下载时间配置,如果可以正常下载跳过这一步。配置命令如下:

git config --global http.postBuffer 524288000
git config --global http.postBuffer 1048576000
 

下载成功后的rtmp模块就到了/www/server/nginx_plus/nginx-rtmp-module/这个路径下,此时模块就已经下载好了,后面就是Nginx的配置了。

我用的是宝塔面板,宝塔提供了两种安装Nginx的方式,一种是急速安装,一种是编译安装,在这里建议使用编译安装,如果已经安装了Nginx但是不确定是否使用编译安装的可以先卸载后重新安装。宝塔的Nginx安装在/www/server/nginx 目录下。

安装完Nginx之后进入到/www/server/panel/install/目录下,编辑Nginx.sh文件,这里用命令行vi或者宝塔编辑都可以,大概在两百多行

宝塔linux 搭建rtmp+ffmpeg转流直播服务器_第1张图片

在./configure后面添加--add-module=/www/server/nginx_plus/nginx-rtmp-module,后面的路径对应上面的模块安装路径,保存后运行脚本重新安装Nginx,命令行运行命令

sh /www/server/panel/install/nginx.sh install

安装完成后进入Nginx安装目录运行nginx -V命令,查看安装信息,如果找到对应模块就说明安装完啦

宝塔linux 搭建rtmp+ffmpeg转流直播服务器_第2张图片 

这一步我踩的坑主要是原有的Nginx不是通过编译安装的,它没有一些编译信息,可能是因为自己水平不够,没有去深究,后面通过编译安装找到了对应的代码,然后成功了,第二个坑就是Nginx版本的问题,一般来说宝塔上的版本普遍支持上面的安装方式。不过我执行nginx.sh文件手动设置安装的版本有两次出现了问题,也是头疼。

nginx安装后后就只剩下nginx.cof的配置问题了,编辑/www/server/nginx/conf/nginx.conf文件,在events下添加同级代码

rtmp {

          server { 

             listen 1935;  #监听的端口

           chunk_size 4000;

          application hls { #使用rtmp 协议播放 (例如:播放器访问地址 rtmp://localhost:1935/hls/test)

            live on; 

            hls on;
                #视频流存放地址,建议填写自己网站的目录
             hls_path /www/wwwroot/home/video;

            hls_fragment 8s; 

            hls_continuous on; #连续模式。

            hls_cleanup on;    #对多余的切片进行删除。 

           

        } 

    }

  }

保存后在宝塔面板重载nginx配置,或者通过命令重启nginx都可以

nginx -s reload

这一步踩的坑就是保存配置时报错:“nginx:[emerg] unknown directive "rtmp" ”,这里的错我总结了一下原因

1.rtmp端口没有开放,需要去配置安全组

2.rtmp路径和nginx.sh里面的不一致,需要自己去核对

保存完配置重载配置后nginx正常启动就说明rtmp模块安装完了,到这一步直播服务器基本搭建完成。

测试工具我用力obs和vlc播放器,

obs做推流

宝塔linux 搭建rtmp+ffmpeg转流直播服务器_第3张图片

 

在设置中输入 自己的服务器地址

rtmp://服务器ip:1935/hls/test

/hls:这个是自己在nginx.conf里面添加的路径(这个一定要一致,不然会导致推流失败),后面的串流密钥这个自己可以随便填写,推流视频来源可以选择本地视频(媒体源)或者显示器采集,点击推流后如果obs底部出现了绿色小方块,就说明推流成功了

宝塔linux 搭建rtmp+ffmpeg转流直播服务器_第4张图片

播放:

vlc播放器,输入你的推流地址rtmp://服务器ip:1935/hls/test

让子弹飞一会,显示成功就说明没有问题,直播服务器搭建完成。

你可能感兴趣的:(服务器,linux,音视频)