Firefly开源社区

firefly_rkmedia_demo 使用手册

198

积分

1

威望

0

贡献

技术小白

积分
198
发表于 2021-8-24 14:46:13     
本帖最后由 799959745 于 2021-9-4 16:34 编辑

由于有的用户提出 firefly_rkmedia_demo 编译失败或者部署失败等问题。所以特写了一份 firefly_rkmedia_demo 使用手册。sdk 代码仓库已经更新。可直接上手。

firefly_rkmedia_demo 路径:sdk/app/firefly_rkmedia_demo
* 请保证 buildroot 开启以下配置
  1. # OPENCV3
  2. BR2_PACKAGE_OPENCV3=y
  3. BR2_PACKAGE_OPENCV3_LIB_CALIB3D=y
  4. BR2_PACKAGE_OPENCV3_LIB_FEATURES2D=y
  5. BR2_PACKAGE_OPENCV3_LIB_FLANN=y
  6. BR2_PACKAGE_OPENCV3_LIB_HIGHGUI=y
  7. BR2_PACKAGE_OPENCV3_LIB_IMGCODECS=y
  8. BR2_PACKAGE_OPENCV3_LIB_IMGPROC=y
  9. BR2_PACKAGE_OPENCV3_LIB_ML=y
  10. BR2_PACKAGE_OPENCV3_LIB_OBJDETECT=y
  11. BR2_PACKAGE_OPENCV3_LIB_PHOTO=y
  12. BR2_PACKAGE_OPENCV3_LIB_SHAPE=y
  13. BR2_PACKAGE_OPENCV3_LIB_STITCHING=y
  14. BR2_PACKAGE_OPENCV3_LIB_SUPERRES=y
  15. BR2_PACKAGE_OPENCV3_LIB_TS=y
  16. BR2_PACKAGE_OPENCV3_LIB_VIDEOIO=y
  17. BR2_PACKAGE_OPENCV3_LIB_VIDEO=y
  18. BR2_PACKAGE_OPENCV3_LIB_VIDEOSTAB=y
  19. BR2_PACKAGE_OPENCV3_WITH_FFMPEG=y
  20. BR2_PACKAGE_OPENCV3_WITH_GSTREAMER1=y
  21. BR2_PACKAGE_OPENCV3_WITH_JASPER=y
  22. BR2_PACKAGE_OPENCV3_WITH_JPEG=y
  23. BR2_PACKAGE_OPENCV3_WITH_PNG=y
  24. BR2_PACKAGE_OPENCV3_WITH_PROTOBUF=y
  25. BR2_PACKAGE_OPENCV3_WITH_TIFF=y
  26. BR2_PACKAGE_OPENCV3_WITH_V4L=y
  27. BR2_PACKAGE_OPENCV3_WITH_WEBP=y

  28. BR2_PACKAGE_FIREFLY_RKMEDIA_DEMO=y
  29. BR2_PACKAGE_ZBAR=y
复制代码

* aio-1126-jd4 / aio-1109-jd4 板型适用以下 demo
  1. ffrtsp_demo_test.cc
  2. rkmedia_rtspget_multi_arc_test.cc
  3. rkmedia_rtspget_multi_test.cc
  4. rkmedia_rtspget_multi_venc_rtsp.cc
  5. rkmedia_rtspget_vdec_rknn_venc_rtsp_test.cc
  6. rkmedia_rtspget_vdec_test.cc
  7. rkmedia_rtspget_vdec_venc_rtsp_test.cc
  8. rkmedia_vdec_test.c
  9. rkmedia_vdec_venc_rtsp_test.c
  10. rkmedia_vi_rknn_venc_rtsp_test.c
  11. rkmedia_vi_venc_rtsp_test.c
  12. rkmedia_vi_zbar_test.c
复制代码

* CAM-C1126S2U / CAM-C1109S2U 智能双目摄像头模组适用以下 demo
  1. rkmedia_vdec_test.c
  2. rkmedia_vi_double_cameras_zbar_test.c
复制代码

# 注:所有 demo 默认使用 H264 视频流格式。使用到 VI 接口的 demo 请先关闭摄像头 ISP 服务。例:执行:RkLunch-stop.sh。
* 某些 demo 需要输入 H264 文件。可以在 PC Linux 使用 FFmpeg 将 MP4 文件转换成 H264 文件。参考以下命令:
  1. ffmpeg -i ./video-mp4-1920x1080.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 ./video-mp4-1920x1080.h264
复制代码


# rtsp 链接解释
  1. 示例链接:rtsp://admin:firefly123@168.168.100.100:554/av_stream
  2. admin 是摄像头的账户名
  3. firefly123 是摄像头的密码
  4. 168.168.100.100 是摄像头的 IP 地址
复制代码
# 示例

* ffrtsp_demo_test
# 说明
* ffrtsp rtsp 拉流和推流测试。ffrtsp 拉取 rtsp 流不做任何处理然后推流
# 代码路径
* app/firefly_rkmedia_demo/ffrtsp_demo_test.cc
# 快速使用
  1. ffrtsp_demo_test rtsp://admin:firefly123@168.168.100.100:554/av_stream
  2. # PC 播放 rtsp 推流地址:rtsp://168.168.108.135:8554/H264_stream_0。注:168.168.108.135 是开发板的 IP 地址
复制代码

* rkmedia_rtspget_multi_arc_test
# 说明
* 解码多路 rtsp 流并使用虹软算法进行人脸识别(需要获取虹软激活码,请联系商务)
# 代码路径
* app/firefly_rkmedia_demo/rkmedia_rtspget_multi_arc_test.cc
# 快速使用
  1. rkmedia_rtspget_multi_arc_test rtsp://admin:firefly123@168.168.100.99:554/av_stream rtsp://admin:firefly123@168.168.100.100:554/av_stream
复制代码

* rkmedia_rtspget_multi_test
# 说明
* 解码多路 rtsp 流,将获得的多路 rtsp 流图像数据进行拼接,拼接结果显示于 MIPI 屏上
# 代码路径
* app/firefly_rkmedia_demo/rkmedia_rtspget_multi_test.cc
# 快速使用
  1. # rtsp 取流 2 个网络摄像头,每个摄像头取流 2 次,并输出显示到显示屏
  2. rkmedia_rtspget_multi_test rtsp://admin:firefly123@168.168.100.94:554/av_stream rtsp://admin:firefly123@168.168.100.94:554/av_stream rtsp://admin:firefly123@168.168.100.97:554/av_stream rtsp://admin:firefly123@168.168.100.97:554/av_stream
复制代码



* rkmedia_rtspget_multi_venc_rtsp
# 说明
* 解码多路 rtsp 流,将获得的多路 rtsp 流图像数据进行拼接,拼接结果并显示于 MIPI 屏上,同时将拼接结果进行编码推流 rtsp
# 代码路径
* app/firefly_rkmedia_demo/rkmedia_rtspget_multi_venc_rtsp.cc
# 快速使用
  1. # rtsp 取流 2 个网络摄像头,每个摄像头取流 2 次,摄像头分辨率为 2560x1440 。
  2. rkmedia_rtspget_multi_venc_rtsp rtsp://admin:firefly123@168.168.100.94:554/av_stream rtsp://admin:firefly123@168.168.100.94:554/av_stream rtsp://admin:firefly123@168.168.100.97:554/av_stream rtsp://admin:firefly123@168.168.100.97:554/av_stream
复制代码

* rkmedia_rtspget_vdec_rknn_venc_rtsp_test
# 说明
* 解码多路 rtsp 流并使用 NPU 进行 AI 推理,将识别结果进行多路编码推流
# ffrtsp-nn.cfg 文件路径 app/firefly_rkmedia_demo/tools/ffrtsp-nn.cfg 。ffrtsp-nn.cfg 两个网络摄像头的配置分别为
  1. video_type=6 video_fps=25 width=1920 height=1080 image_type=4 port=8554 video_url=rtsp://admin:firefly123@168.168.100.94:554/av_stream

  2. video_type=6 video_fps=25 width=1920 height=1080 image_type=4 port=8555 video_url=rtsp://admin:firefly123@168.168.100.97:554/av_stream
复制代码

# 代码路径
* app/firefly_rkmedia_demo/rkmedia_rtspget_vdec_rknn_venc_rtsp_test.cc
# 快速使用
  1. rkmedia_rtspget_vdec_rknn_venc_rtsp_test -c /usr/share/ffrtsp-nn.cfg -p /usr/share/rknn_model/ssd_inception_v2_rv1109_rv1126.rknn -l /usr/share/rknn_model/coco_labels_list.txt -b /usr/share/rknn_model/box_priors.txt

  2. #则 PC 端使用 VLC 预览 RTSP 推流画面命令为
  3. vlc rtsp://168.168.101.208:8554/H264_stream_0
  4. vlc rtsp://168.168.101.208:8555/H264_stream_1
复制代码

* rkmedia_rtspget_vdec_test
# 说明
* 解码一路 rtsp 流并显示于 MIPI 屏上
# 代码路径
* app/firefly_rkmedia_demo/rkmedia_rtspget_vdec_test.cc
# 快速使用
  1. rkmedia_rtspget_vdec_test rtsp://admin:firefly123@168.168.100.94:554/av_stream
复制代码

* rkmedia_rtspget_vdec_venc_rtsp_test
# 说明
* 解码一路 rtsp 流,将解码得到 rtsp 流图像数据进行编码推流 rtsp
# 代码路径
* app/firefly_rkmedia_demo/rkmedia_rtspget_vdec_venc_rtsp_test.cc
# 快速使用
  1. rkmedia_rtspget_vdec_venc_rtsp_test rtsp://admin:firefly123@168.168.100.94:554/av_stream
  2. # PC 播放链接 rtsp://168.168.108.135/live/main_stream
复制代码


* rkmedia_vdec_test
# 说明
* 输入文件进行解码显示
# 代码路径
* app/firefly_rkmedia_demo/rkmedia_vdec_test.c
# 快速使用
  1. rkmedia_vdec_test -i /input_file.h264
复制代码

* rkmedia_vdec_venc_rtsp_test
# 说明
* 输入文件进行解码,将解码得到的图像数据推流 rtsp
# 代码路径
* app/firefly_rkmedia_demo/rkmedia_vdec_venc_rtsp_test.c
# 快速使用
  1. rkmedia_vdec_venc_rtsp_test -i /input_file.h264
  2. # PC 播放链接 rtsp://168.168.108.135/live/main_stream
复制代码

* rkmedia_vi_rknn_venc_rtsp_test
# 说明
* 摄像头获取图像数据,使用 NPU AI 推理图像数据,将识别结果编码推流 rtsp。由于没有使用 rga 过滤 VI 接口数据。预览 rtsp 流会有卡顿。
# 代码路径
* app/firefly_rkmedia_demo/rkmedia_vi_rknn_venc_rtsp_test.c
# 快速使用
  1. rkmedia_vi_rknn_venc_rtsp_test -a /oem/etc/iqfiles/ -c /oem/usr/share/rtsp-nn.cfg -b /oem/usr/share/rknn_model/box_priors.txt -l /oem/usr/share/rknn_model/coco_labels_list.txt -p /oem/usr/share/rknn_model/ssd_inception_v2_rv1109_rv1126.rknn

  2. # PC 播放链接 rtsp://168.168.108.135/live/main_stream
复制代码

* rkmedia_vi_venc_rtsp_test
# 说明
* 摄像头获取图像数据并编码推流 rtsp
# 代码路径
* app/firefly_rkmedia_demo/rkmedia_vi_venc_rtsp_test.c
# 快速使用
  1. rkmedia_vi_venc_rtsp_test -a /oem/etc/iqfiles/

  2. # PC 播放链接 rtsp://168.168.108.135/live/main_stream
复制代码


* rkmedia_vi_zbar_test
# 说明
* 二维码识别
# 代码路径
* app/firefly_rkmedia_demo/rkmedia_ao_test.c
# 快速使用
  1. rkmedia_vi_zbar_test -a /oem/etc/iqfiles/
复制代码

* rkmedia_vi_double_cameras_zbar_test
# 说明
* 二维码识别
# 代码路径
* app/firefly_rkmedia_demo/rkmedia_vi_double_cameras_zbar_test.c
# 快速使用
  1. rkmedia_vi_double_cameras_zbar_test -a /oem/etc/iqfiles
复制代码





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表