作者:喵喵方小幺 | 来源:互联网 | 2024-11-18 18:26
本文详细介绍了如何在Ubuntu18.04上使用Nginx和nginx-rtmp-module模块搭建RTMP流媒体服务器,包括环境搭建、配置文件修改和推流拉流操作。适用于需要搭建流媒体服务器的技术人员。
本文详细介绍了如何在Ubuntu 18.04上使用Nginx和nginx-rtmp-module模块搭建RTMP流媒体服务器。通过本文,你可以学习到环境搭建、配置文件修改以及推流和拉流的具体操作。
环境搭建
1. 安装依赖库
首先,确保你的系统已经安装了必要的依赖库,包括OpenSSL、PCRE和Zlib。这些库对于Nginx的编译和运行至关重要。
# 安装OpenSSL依赖库
sudo apt-get install openssl libssl-dev
# 安装PCRE
sudo apt-get install libpcre3 libpcre3-dev
# 安装Zlib
sudo apt-get install zlib1g-dev
2. 下载并编译Nginx和nginx-rtmp-module
接下来,下载Nginx和nginx-rtmp-module的源码,并进行编译。
mkdir /home/rtmp
cd /home/rtmp
git clone https://github.com/nginx/nginx.git
git clone https://github.com/arut/nginx-rtmp-module.git
设置Nginx编译参数,确保包含RTMP模块。
./auto/configure --with-http_ssl_module --with-http_v2_module --with-http_flv_module --with-http_mp4_module --add-module=../nginx-rtmp-module
编译并安装Nginx。
make -j4
sudo make install
安装完成后,可以通过以下命令检查Nginx版本,确认安装成功。
/usr/local/nginx/sbin/nginx -v
配置RTMP服务
1. 修改Nginx配置文件
编辑Nginx配置文件,添加RTMP模块的相关配置。
vi /usr/local/nginx/conf/nginx.conf
在配置文件中添加以下内容,确保开启root权限并设置正确的播放路径。
user root;
rtmp {
server {
listen 1935; # RTMP服务器端口
chunk_size 4096; # 分块大小
application vod {
play /home/ffmpeg_learn/test_sources/test-av; # 媒体文件路径
}
}
}
保存并退出编辑器,然后重启Nginx以应用新的配置。
/usr/local/nginx/sbin/nginx -s reload
2. 测试推流和拉流
确保播放路径正确,并且视频文件格式为H264编码的视频和AAC编码的音频。例如,添加一个名为test.mp4的文件。
使用VLC播放器测试RTMP流。
rtmp://your_ubuntu_ip/vod/test.mp4
视频效果如下所示:
实时推流
1. 配置直播节点
修改Nginx配置文件,添加一个新的直播应用节点。
application live {
live on;
}
保存并退出编辑器,然后重启Nginx。
/usr/local/nginx/sbin/nginx -s reload
2. 使用FFmpeg进行推流
使用FFmpeg将本地视频文件推送到RTMP服务器。
ffmpeg -re -i /home/ffmpeg_learn/test_sources/test-av/Titanic.mp4 -c copy -f flv rtmp://192.168.88.180/live/Titanic
使用VLC播放器查看推流效果。
拉流操作
除了使用VLC播放器进行拉流外,还可以使用FFmpeg命令行工具进行拉流操作。
# 使用ffplay直接观看
ffplay rtmp://192.168.88.180/vod/Titanic.mp4
# 使用FFmpeg下载到文件
ffmpeg -i rtmp://192.168.88.180/vod/Titanic.mp4 test.mp4
本文《在Ubuntu 18.04上使用Nginx搭建RTMP流媒体服务器》版权归响箭零零一所有,引用时需遵循CC 4.0 BY-SA版权协议。