1 搭建 RTMP 媒流体服务器
nginx-rtmp 是一个基于 nginx 的 RTMP 服务模块,是一个功能强大的流媒体服务器模块, 它提供了丰富的功能和灵活的配置选项,适用于构建各种规模的流媒体平台和应用。无论是搭建实时视频直播平台、点播系统或多屏互动应用,Nginx-RTMP 都是一个值得考虑的选择。这里我们使用 Nginx 来搭建流媒体服务器。
1.1 Debian/ubuntu 系统
1.安装 nginx+rtmp 运行所要用到的库和依赖环境 apt-get update
apt-get install build-essential libpcre3 libpcre3-dev libssl-dev zlib1g-dev openssl
- 下 载 nginx-1.20.2 源 码和 nginx-rtmp-module(,网盘"iTOP-3568开发板\02_【iTOP-RK3568开发板】开发资料【V1.7版本】\10_Linux系统开发配套资料\06_RTMP开发配套资料"目录下提供了下载好的。
3.将 nginx-1.20.2.tar.gz 和 nginx-rtmp-module-master.zip 拷贝到开发板,使用以下命令解压,
tar -vxf nginx-1.20.2.tar.gz unzip nginx-rtmp-module-master.zip
- 进入 nginx 源码文件夹,使用以下命令进行手动编译安装。
5.新建文件夹,用于保存 nginx 所形成的 web 服务的文件,
6.配置 nginx 服务,主要是设置 web 服务的主目录和推流到的端口、临时文件夹。首先设 定 web 服务的根目录和网页端口,修改usr/local/nginx-1.20.2/conf/nginx.conf 文件,
vim /usr/local/nginx-1.20.2/conf/nginx.conf
7.然后添加以下内容设置 rtmp 服务器的监听端口,推流数据的存储位置等,
8.启动 nginx,使用以下命令启动,
/usr/local/nginx-1.20.2/sbin/nginx -c /usr/local/nginx-1.20.2/conf/nginx.conf
ps -aux | grep nginx
2 使用 FFMpeg 进行推流
Debian/Ubuntu 系统使用以下命令安装 FFMpeg ,
apt-get install ffmpeg
使用 ifconfig 查看开发板 ip 为 192.1368.1.9
使用 FFMpeg 推流一个 mp4 视频进行测试,作者将测试视频 test.mp4 放在了根目录下, 可根据实际目录修改以下命令,
ffmpeg -re -stream_loop -1 -i /test.mp4 -f flv "rtmp://192.168.1.9:1096/live/test"
使用 FFMpeg 采集摄像头(测试 USB 摄像头可以)视频数据将其发送给 nginx 流媒体服务器,执行以下命令:
ffmpeg -f v4l2 -video_size 640x480 -framerate 30 -i /dev/video9 -q 10 -f flv
rtmp://192.168.1.9:1096/live/test
3 使用 VLCplayer 进行拉流
我们将 Windows 主机作为拉流端,使用 VLC 软件进行拉流,VLC 软件可以在网盘资料 "iTOP-3568 开发板\02_【iTOP-RK3568 开发板】开发资料【V1.7 版本】\10_Linux 系统开发 配套资料\06_RTMP 开发配套资料"目录下找到,大家可以自行安装好。安装好之后打开 VLC,点击左上角媒体->打开网络串流,弹出如下界面输入以下内容,点击"播放"既可从 RTMP 流媒体服务器拉取视频数据进行播放。