# demo 用法
该目录下的demo是展现vi、vp及vo 模块的使用示例
## 安装依赖库
1. 安装编译环境
```
apt update
apt install -y gcc g++ make cmake
apt install libdrm-dev libjpeg9-dev
```
2. 安装音频相关模块依赖库
```
apt install libasound2-dev libfdk-aac-dev
```
3. 安装opengl相关模块依赖库。在ubuntu18上没有libgles-dev软件包,可更改成libgles2-mesa-dev软件包
```
apt install libgles-dev libx11-dev
```
4. 如需要支持opencv相关demo,安装下列软件包
```
apt install libopencv-dev
```
## c++ demo
### 编译demo
1. 首先在源码根路径创建编译文件夹并进入
```
$ ls
build CMakeLists.txt demo dist documentation include lib Readme.md rknn
$ mkdir build
$ cd build
```
2. 使用cmake 选择要编译的demo, 默认不编译opencv、rknn的demo
```
# 如果需要编译opencv、rknn的demo,则cmake ../ -DDEMO_OPENCV=ON -DDEMO_RKNN=ON
$ cmake ../
# 编译
$ make -j8
# 把rknn的库路径添加到当前环境;如果是rk356x板子,则把RK3588更改为RK356X。
# 也可以忽略这步使用系统默认的rknn库或自行指定rknn库。
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../rknn/lib/RK3588/
```
**ffmedia默认编译了rknn,如果是rk3399等不支持rknn机型,也是需要指定rknn库的,使其编译时可以找到函数定义**
```
#可以指定任意一个rknn库位置
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../rknn/lib/RK3588/
#或者直接将任意一个rknn库拷贝进系统中
cp ../rknn/lib/RK3588/librknnrt.so /usr/lib/
```
### demo.cpp
该demo展现了大部分模块的基本使用示例。
简单使用示例说明:
```
## 示范:输入是分辨率为 1080p 的tcp流 rtsp 摄像头,把解码图像缩放为 720p 并且旋转 90 度,使用drm显示, 使用同步播放。
./demo rtsp://admin:firefly123@168.168.2.143 --rtsp_transport tcp -o 1280x720 -d 0 -r 90 -s
## 使用rtmp拉流,把解码图像缩放为 720p 并且旋转 180 度,使用x11窗口显示。
./demo rtmp://192.168.1.220:1935/live/0 -o 1280x720 -x -r 180
## 输入是本地视频文件,把解码图像缩放为 720p, 使用x11窗口显示,使用plughw:3,0音频设备进行播放,并使用同步播放。
./demo /home/firefly/test.mp4 -o 1280x720 -x 0 --aplay plughw:3,0 -s
## 输入是本地视频文件,把解码图像缩放为 720p, 使用drm显示,并编码成h264向1935端口进行rtsp推流。####@@@@@@@@@@@@@@@
./demo /home/firefly/test.mkv -o 1280x720 -d 0 -e h264 -p 1935
## 输入是摄像头设备,编码成h265并封装成mp4文件保存。根据文件名后缀封装成mp4、mkv、flv媒体文件或h264、yuv、rgb等裸流文件。
./demo /dev/video0 -e h265 -m out.mp4
```
### demo_simple.cpp demo_opencv.cpp demo_opencv_multi.cpp
- demo_simple.cpp示例展现了使用rtsp模块拉流解码,进行drm显示
- demo_opencv.cpp示例展现了在模块回调函数使用opencv显示
- demo_opencv_multi.cpp 示例展现了通过申请外部模块,达到多个实例使用rga模块输出数据
**需要自行更改示例的rtsp模块的输入地址**
```
./demo_simple
./demo_opencv
./demo_opencv_multi
```
### demo_rgablend.cpp
该示例展现了在rga模块的回调上使用opencv将时间戳生成图片,并将该图片使用rga合成接口与源图像混合输出给drm模块显示。
**需要自行更改示例的rtsp模块的输入地址**
```
./demo_rgablend
```
### demo_memory_read.cpp
该示例展现了使用内存读取模块读取h264文件进行解码播放。
```
## 读取本地h264文件并指定了视频的宽度及高度
./demo_memory_read test.h264 1920 1080
```
### demo_multi_drmplane.cpp demo_multi_window.cpp
这两个示例展现了drm显示模块的特别用法。
**需要自行更改示例的rtsp模块的输入地址。**
```
## 使用四个drm模块并且移动显示其中一个模块
./demo_multi_drmplane
```
### demo_rknn.cpp
该源码在../rknn/src/demo_rknn.cpp 。
该示例展现了使用推理模块进行推理,计算推理结果使用opencv将目标框住并显示。
```
cd build #进入编译目录
cmake ../ -DDEMO_OPENCV=ON -DDEMO_RKNN=ON #打开编译opencv及rknn demo
make -j8 #编译
cp -r ../rknn/model ./ #将rknn下的model目录拷贝到当前目录
taskset -c 3 ./demo_rknn rtsp://xxx ./model/RK3588/yolov5s-640-640.rknn #指定rtsp地址及模型文件路径运行
```
## python demo
c++所展示使用模块接口和python的一一对应。
**py示例使用之前需要安装python版本的ffmedia库运行,使用pip安装dist/目录下的库即可**
如需要更新python版本的ffmedia库需要先卸载旧库再安装新的。
### demo.py
该demo展现了大部分模块的基本使用示例。
简单使用说明:
```
## 示范:输入是分辨率为 1080p 的tcp流 rtsp 摄像头,把解码图像缩放为 720p 并且旋转 90 度,使用drm显示, 使用同步播放
./demo.py -i rtsp://admin:firefly123@168.168.2.143 --rtsp_transport 1 -o 1280x720 -d 0 -r 1 -s 1
## 使用rmtp拉流,把解码图像缩放为 720p 并且旋转 180 度,使用x11窗口显示。
./demo.py -i rtmp://192.168.1.220:1935/live/0 -o 1280x720 -x 1 -r 2
## 输入是本地视频文件,把解码图像缩放为720p,使用x11窗口显示,使用plughw:3,0音频设备进行播放,使用同步播放;
./demo.py -i /home/firefly/test.mp4 -o 1280x720 -x 1 --aplay plughw:3,0 -s 1
## 输入是本地mp4视频文件,把解码图像缩放为 720p,使用drm显示,并编码成h264向1935端口进行rtmp推流。
./demo.py -i /home/firefly/test.mp4 -o 1280x720 -d 0 -e 0 -p 1935 --push_type 1
## 输入是本地mkv视频文件,把解码图像缩放为 720p,转码成BGR24格式使用opengcv显示, 并使用同步播放。
./demo.py -i /home/firefly/test.mkv -o 1280x720 -b BGR24 -c 1 -s 1
## 输入是摄像头设备,编码成h265并封装成mkv文件保存。
./demo.py -i /dev/video0 -e 1 -m out.mkv
```
没有合适的资源?快使用搜索试试~ 我知道了~
rk3588音视频硬件编解码技术资料
共405个文件
make:64个
0:51个
cmake:44个
5 下载量 33 浏览量
2024-03-04
09:51:43
上传
评论
收藏 88.23MB ZIP 举报
温馨提示
调用海康威视相机进行rk3588 ffmedia音视频硬件编解码,在官方ffmedia_release demo的基础上新增功能,包括基于海康威视sdk,读入相机图片,对图片进行单次h264编码,调用ffmedia进行硬件编码,保存为h264裸流文件,可以通过vlc ffplay显示。连续读入海康威视相机图像并进行硬件h264编码保存为h264裸流文件,边采集边压缩边写入h264裸流文件,并能通过ffplay进行播放。同时修改demo例程增加解码数据传输功能,读入rtsp拉流数据,h264解码,后调用回调函数保存为mp4格式数据,可以直接播放。 另外包括交叉编译cmakelists.txt文件的编写与使用方法,包括调用ffmedia需要依赖的第三方库,包括整个工程的建立过程。 工程文件可以直接在rk平台端编译运行使用并测试功能。
资源推荐
资源详情
资源评论
收起资源包目录
rk3588音视频硬件编解码技术资料 (405个子文件)
librockchip_mpp.so.0 1.67MB
libGLdispatch.so.0.0.0 1.45MB
libGLdispatch.so.0 1.45MB
libX11.so.6.3.0 1.21MB
libasound.so.2.0.0 974KB
libjpeg.so.62.2.0 254KB
libxcb.so.1.1.0 154KB
libGLESv2.so.2.1.0 146KB
libGLESv1_CM.so.1.2.0 138KB
libxcb-xinput.so.0.1.0 126KB
libxcb-xinput.so.0 126KB
librga.so.2.1.0 107KB
libxcb-xkb.so.1.0.0 102KB
libbsd.so.0 86KB
libbsd.so.0.10.0 86KB
libEGL.so.1.1.0 78KB
libdrm.so.2.4.0 70KB
librockchip_vpu.so.0 63KB
libxcb-randr.so.0.1.0 62KB
libxcb-randr.so.0 62KB
libxcb-render.so.0 54KB
libxcb-render.so.0.0.0 54KB
libdrm-cursor.so.1.0.0 51KB
libxcb-xfixes.so.0 30KB
libxcb-xfixes.so.0.0.0 30KB
libxcb-sync.so.1.0.0 26KB
libxcb-util.so.1.0.0 22KB
libXdmcp.so.6.0.0 22KB
libxcb-dri2.so.0.0.0 18KB
libxcb-dri2.so.0 18KB
libxcb-icccm.so.4.0.0 18KB
libxcb-render-util.so.0.0.0 14KB
libxcb-render-util.so.0 14KB
libXau.so.6.0.0 14KB
libxcb-image.so.0 14KB
libxcb-image.so.0.0.0 14KB
libxcb-dri3.so.0 14KB
libxcb-dri3.so.0.0.0 14KB
libxcb-shape.so.0.0.0 14KB
libxcb-res.so.0 14KB
libxcb-shape.so.0 14KB
libxcb-res.so.0.0.0 14KB
libxcb-shm.so.0.0.0 10KB
libxcb-shm.so.0 10KB
libxcb-present.so.0.0.0 10KB
libxcb-xinerama.so.0 10KB
libxcb-present.so.0 10KB
libxcb-xinerama.so.0.0.0 10KB
libdrm_rockchip.so.1.0.0 10KB
libxcb-keysyms.so.1.0.0 10KB
libX11-xcb.so.1.0.0 6KB
librockchip_mpp.so.1 1.67MB
libfdk-aac.so.1.0.1 623KB
libfdk-aac.so.1 623KB
libxcb.so.1 154KB
libGLESv1_CM.so.1 138KB
libxcb-xkb.so.1 102KB
libEGL.so.1 78KB
librockchip_vpu.so.1 63KB
libdrm-cursor.so.1 51KB
libxcb-sync.so.1 26KB
libxcb-util.so.1 22KB
libdrm_rockchip.so.1 10KB
libxcb-keysyms.so.1 10KB
libX11-xcb.so.1 6KB
libasound.so.2 974KB
libjpeg.so.8.2.2 255KB
libGLESv2.so.2 146KB
librga.so.2 107KB
libdrm.so.2 70KB
libxcb-icccm.so.4 18KB
libX11.so.6 1.21MB
libXdmcp.so.6 22KB
libXau.so.6 14KB
libjpeg.so.62 254KB
libjpeg.so.8 255KB
libX11.a 2.12MB
libjpeg.a 372KB
libxcb.a 255KB
librknnmrt.a 201KB
libXdmcp.a 28KB
libXau.a 19KB
feature_tests.bin 19KB
feature_tests.bin 19KB
CMakeDetermineCompilerABI_CXX.bin 15KB
CMakeDetermineCompilerABI_CXX.bin 15KB
CMakeDetermineCompilerABI_C.bin 15KB
CMakeDetermineCompilerABI_C.bin 15KB
CMakeCCompilerId.c 18KB
CMakeCCompilerId.c 18KB
feature_tests.c 688B
feature_tests.c 688B
postprocess.cc 10KB
cmake.check_cache 85B
cmake.check_cache 85B
cmake_install.cmake 8KB
cmake_install.cmake 8KB
CMakeCXXCompiler.cmake 6KB
CMakeCXXCompiler.cmake 6KB
CMakeCCompiler.cmake 3KB
共 405 条
- 1
- 2
- 3
- 4
- 5
资源评论
江山如画,佳人北望
- 粉丝: 123
- 资源: 40
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功