Ubuntu18.04搭建本地RTMP服务器librtmp+nginx
1.依赖:openssl,zlib
2.安装依赖
apt-get install libssl-dev
apt-get install zlib1g-dev
3.编译安装librtmp
git clone git://git.ffmpeg.org/rtmpdump
cd rtmpdump/
make
make install
make过程中可能会报错,一些变量或者结构体未定义或者未引用的问题,类似以下情况:
出现上述问题的原因是openssl版本太新,和当前rtmp版本不兼容,需要降低openssl版本,我这使用的是openssl1.1.1版本,降低到了openssl1.0版本。直接执行以下语句安装即可降低openssl版本:
apt-get install libssl1.0-dev
这样重新执行make->make install成功。
默认安装在/usr/local目录下,安装成功以后可以到相应文件夹找到库文件和头文件。
我安装后的库文件和头文件路径分别是:
/usr/local/lib
/usr/local/include/librtmp
安装完成以后需要执行以下两个命令,使系统可以找到librtmp库文件的路径:
vim /etc/ld.so.conf
ldconfig
安装完后执行以下语句,看到如下显示表明安装成功。
ldd rtmpdump
4.需要模块:nginx-rtmp-module
下载地址:https://github.com/arut/nginx-rtmp-module
下载后解压。
5.下载nginx:
官网地址:http://nginx.org/en/download.html
版本随意,我下载的是nginx-1.18.0
将压缩包和前面下载好的nginx-rtmp-module压缩包放到同一个目录下,执行解压命令:
tar -zvxf nginx-1.18.0.tar.gz
进入解压目录,打开终端,开始编译安装,配置安装路径和添加nginx-rtmp-module模块编译:
./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module-master/
make -j4
make install
安装在 /usr/local/nginx/目录下。
配置rtmp服务:
cd /usr/local/nginx/conf
vim nginx.conf
在文件中输入以下内容来配置本地rtmp服务:
开启服务和监听:
./sbin/nginx -c ./conf/nginx.conf
播放推流到rtmp服务器的视频流:
ffplay rtmp://localhost/live/room
推流:
ffmpeg -re -i pushtest.flv -c copy -f flv rtmp://localhost/live/room
执行到此,推流的视频即可播放。