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

2. 下 载 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 拷贝到开发板,使用以下命令解压,

推流监控_开发板_02

tar -vxf nginx-1.20.2.tar.gz unzip nginx-rtmp-module-master.zip

  1. 进入 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 流媒体服务器拉取视频数据进行播放。

推流监控_开发板_03