瑞芯微RK3576芯片平台实现多路RTMP视频推流,基于触觉智能RK3576开发板Purple Pi OH2演示。
RTMP视频推流
- RTMP视频推流简介
使用RTMP流媒体服务来实现视频推流,核心优势是低延迟+稳定推流。
推流端负责将视频数据通过RTMP流媒体协议传输给RTMP流媒体服务器;
拉流端从流媒体服务器中通过RTMP协议获取到视频数据;
流媒体服务器负责接收推流端的视频数据、当有客户端(拉流端)想要获取视频数据时,再将其发给相对应的客户端。

实现RTMP视频推流,需要三部分:推流端、流媒体服务器以及拉流端。本次演示使用RK3576作为推流端,使用FFmpeg工具进行推流,流媒体服务器则使用Nginx来搭建,而拉流端使用PC端的VLC播放器来实现。
- 应用场景
触觉智能RK3576开发板采用核心板+底板设计,支持二次开发底板。其高性能AIoT核心板,凭借其8核CPU+4K编解码+16M ISP的强大性能,可轻松实现RTMP视频推流,可应用于以下领域:工业监控&远程运维、医疗实时会诊、安防监控、车载实时监控直播。
- 演示环境
演示设备为触觉智能RK3576开发板Purple Pi OH2,系统固件为Ubuntu22.04。其配套RK3576核心板,拥有40.5×40.5mm极致小尺寸,邮票孔封装,支持LPDDR4或LPDDR5高速内存,率先适配开源鸿蒙OpenHarmony5.0国产操作系统,100%全国产,支持最高-40~85℃工业级环境。

Nginx流媒体配置
- 前期准备
需在RK3576开发板搭建Nginx流媒体服务器,同时推流端也是开发板上,需烧录网盘提供Ubuntu固件,详细数据可关注触觉智能公众号,联系客服13423856106获取。
- 安装Nginx
安装命令:
sudo apt update
sudo apt install nginx
执行命令验证Nginx是否安装成功:
nginx -V

执行以下命令安装Nginx的rtmp模块并重启Nginx服务:
sudo apt-get install libnginx-mod-rtmp
sudo service nginx restart
实打开电脑Windows自带的浏览器,输入开发板的IP地址按下回车,显示如下表示Nginx服务器已经正常工作

- 配置Nginx支持RTMP
打开/etc/nginx/nginx.conf配置文件添加以下内容:
rtmp {
server {
listen 1935; #监听端口
chunk_size 4096; #上传 flv 文件块大小
application live {
live on; #开启 live
hls on; #开启 hls
hls_path /tmp/hls; #rtmp推流请求路径,文件存放路径
hls_fragment 5s; #每个 TS 文件包括 5s 的视频内容
}
}
}

修改完配置文件后重启Nginx服务:
sudo service nginx restart
sudo systemctl status nginx.service
#查看Nginx服务是否处于运行状态
FFmpeg推流
- 推送本地视频
触觉智能RK3576配套Ubuntu系统,已安装FFmpeg工具。
使用 FFmpeg进行推流,需要将视频流数据通过RTMP推流给Nginx流媒体服务器,再执行命令将本地视频流通过 RTMP 推给流媒体服务器。
ffmpeg -stream_loop -1 -re -i /home/industio/avatar_h264_5s.mp4 -c copy -f flv -flvflags no_duration_filesize rtmp://192.168.0.74:1935/live/test


FFmpeg成功推流后,可以使用Windows主机作为拉流端,使用 VLC 软件进行拉流。输入流媒体服务器的 IP(开发板的IP)以及路径,点击<播放>即可从RTMP流媒体服务器拉取视频数据进行播放,如下所示:


- 推送摄像头视频
使用USB摄像头输入,视频节点为/dev/video36,查看USB摄像头分辨率信息:
v4l2-ctl -d /dev/video36 --list-formats-ext

视频分辨率为:1024×576
ffmpeg -f v4l2 -video_size 1024x576 -framerate 30 -i /dev/video36 -q 10 -f flv rtmp://192.168.0.74:1935/live/test


说明:
(1) 由于FFmpeg内部对视频进行了很多处理,譬如对视频、算法的处理以及网络传输等,导致会耗费相当大的时间, 且作为Demo还有优化的空间,实测画面会有3秒左右的延时。
(2)由于FFmpeg的v4l2输入模块仅支持标准V4L2视频捕获设备不兼容MIPI摄像头,因此无法使用MIPI摄像头进行推流。
-
芯片
+关注
关注
462文章
53574浏览量
459405 -
nginx
+关注
关注
0文章
181浏览量
12975 -
ffmpeg
+关注
关注
0文章
50浏览量
7869 -
rtmp
+关注
关注
0文章
9浏览量
1767 -
rk3576
+关注
关注
1文章
230浏览量
1374
发布评论请先 登录
RK3576 vs RK3588:为何越来越多的开发者转向RK3576?
Mpp支持RK3576么
12路1080P高清视频流,米尔RK3576 开发板赋能车载360环视
如何调用mpp硬解+ffmpeg本地播放视频,RK3576
【作品合集】米尔RK3576开发板测评
【作品合集】灵眸科技EASY EAI Orin Nano(RK3576)开发板测评
12 路低延迟推流!米尔 RK3576 赋能智能安防 360° 环视
360环视硬件平台为什么推荐使用米尔RK3576开发板?
车载360环视平台:米尔RK3576开发板支持12路低延迟推流
【昉·星光 2 高性能RISC-V单板计算机体验】使用nginx、ffmpeg和VLC搭建简单视频直播系统
【风火轮YY3568开发板免费体验】FFMPEG的软编码、RTMP直播服务、以及板上直播服务器搭建
【悟空派H3开发板免费体验】03.在悟空派上搭建RTMP服务器并实现RTSP转RTMP流
RK3576单板发布倒计时:RK3399与RK3576对比
RK3576有多强?实测三屏八摄像头轻松搞定
瑞芯微RK3576平台FFmpeg硬件编解码移植及性能测试实战攻略 触觉智能RK3576开发板演示

RK3576轻松搭建RTMP视频推流,基于FFmpeg+Nginx协同
评论