FPV Camera(RPI 3B+/Zero W+V2.1) | wfb_ng Release 23.01 | H264硬解测试

2023-05-16

@[TOC](FPV Camera(RPI 3B+/Zero W+V2.1) | wfb_ng Release 23.01 | H264硬解测试)

1. 源由

  1. RPI Zero W基于Release 23.01版本 720P @60FPS存在异常问题;
  2. RPI 3B+基于Release 23.01版本 720P @60FPS存在卡顿问题;

卡顿问题源自:Mobility Radeon HD 4530 @ubuntu20.04 显卡驱动不支持[GPU无法使用]
Intel® Core™2 Duo CPU T6570 @ 2.10GHz进行软解,CPU 100%占用

  1. 从wfb_ng软件项目角度:硬件上推荐RPI 3,不推荐RPI Zero W;
  2. 从树莓派硬件角度:RPI 3和RPI Zero W的GPU都是VideoCore IV;RPI 3 的CPU会比RPI Zero W更强;
  3. 之前CPU软解测试情况:

FPV Camera(RPI3+V2.1) | wfb_ng Release 23.01 | ubuntu20.04 gnome软解测试
FPV Camera(RPI3+V2.1) | wfb_ng Release 23.01 | Ubuntu 20.04 xfce软解测试

  1. 目前,手头没有Pi4 或者 装有更强CPU的电脑;

鉴于上述情况:当地面对720P @60FPS在进行H264软解时,100%占用率导致了卡顿的问题,如果采用GPU应该至少能够更好的提升性能。

2. 现状

  • RPI V2.1 Camera x 1
  • RPI Zero W x 1
  • RPI 3B+ x 1
  • Laptop (Mobility Radeon HD 4530 + Intel® Core™2 Duo CPU T6570 @ 2.10GHz) x 1
  • 1080P Display (HDMI) x 1

3. 计划

为了采用GPU来做H264解码,测试计划如下:

  1. FPV Camera(RPI 3B+V2.1) ==》 wfb_ng Release 23.01 ==》 RPI Zero W Mate Desktop ==》 1080P Display (HDMI)
  2. FPV Camera(RPI Zero W+V2.1) ==》 wfb_ng Release 23.01 ==》 RPI 3B+ Mate Desktop ==》 1080P Display (HDMI)

测试视频如下:

  • FPV Camera(RPI Zero W+V2.1) | wfb_ng Release 23.01 | RPI 3B+Mate Desktop Test
  • FPV Camera(RPI 3B+V2.1) | wfb_ng Release 23.01 | RPI Zero W | 720P Test

4. 分析

4.1 FPV Camera(RPI 3B+V2.1)==》RPI Zero W Mate Desktop

4.1.1 1280x720 720P 30FPS x 3张清晰延时,统计平均 173ms,最小172ms,最大173ms

CPU ~15%,MEM ~ 10%,无丢包,极少量FEC

  • 第一张:1103 - 930 = 173 ms

在这里插入图片描述

  • 第二张:702 - 530 = 172 ms

在这里插入图片描述

  • 第三张:944 - 771 = 173ms

在这里插入图片描述

4.1.2 1280x720 720P 45FPS x 3张清晰延时,统计平均 145ms,最小130ms,最大174ms

CPU ~20%,MEM ~ 10%,无丢包,极少量FEC

  • 第一张:1149 - 975 = 174 ms

在这里插入图片描述

  • 第二张:840 - 710 = 130 ms

在这里插入图片描述

  • 第三张:824 - 693 = 131 ms

在这里插入图片描述

4.1.3 1280x720 720P 60FPS x 3张清晰延时,统计平均 130ms,最小129ms,最大130ms

CPU ~40%,MEM ~ 10%,无丢包,极少量FEC

  • 第一张:323 - 193 = 130 ms

在这里插入图片描述

  • 第二张:461 - 331 = 130 ms
    在这里插入图片描述

  • 第三张:143 - 14 = 129 ms

在这里插入图片描述

4.2 FPV Camera(RPI Zero W+V2.1)==》RPI 3B+ Mate Desktop

4.2.1 1280x720 720P 45FPS x 3张清晰延时,统计平均 131ms,最小129ms,最大135ms

  • 第一张:708 - 573= 135ms

在这里插入图片描述

  • 第二张:583 - 452= 131ms

在这里插入图片描述

  • 第三张:273 - 144 = 129 ms

在这里插入图片描述

4.2.2 800x600 SVGA 60FPS x 3张清晰延时,统计平均 114ms,最小87ms,最大129ms

  • 第一张:1027 - 899 = 128 ms

在这里插入图片描述

  • 第二张:147 - 60= 87 ms

在这里插入图片描述

  • 第三张:1011 - 882 = 129 ms

在这里插入图片描述

4.2.3 640x480 VGA 60FPS x 3张清晰延时,统计平均 101ms,最小86ms,最大130ms

  • 第一张:551 - 464 = 87 ms

在这里插入图片描述

  • 第二张:933 - 847 = 86 ms

在这里插入图片描述

  • 第三张:1052 - 922 = 130 ms

在这里插入图片描述

4.2.4 480x320 HVGA 60FPS x 3张清晰延时,统计平均 101ms,最小86ms,最大130ms

  • 第一张:1033 - 947 = 86 ms

在这里插入图片描述

  • 第二张:636 - 548 = 88 ms

在这里插入图片描述

  • 第三张:804 - 674 = 130ms

在这里插入图片描述

4.3 视频延时测试结果

FPV Camera(RPI 3B+V2.1)==》RPI Zero W Mate Desktop

  • 1280x720 720P 30FPS x 3张清晰延时,统计平均 173ms,最小172ms,最大173ms
  • 1280x720 720P 45FPS x 3张清晰延时,统计平均 145ms,最小130ms,最大174ms
  • 1280x720 720P 60FPS x 3张清晰延时,统计平均 130ms,最小129ms,最大130ms

FPV Camera(RPI Zero W+V2.1)==》RPI 3B+ Mate Desktop

  • 1280x720 720P 45FPS x 3张清晰延时,统计平均 131ms,最小129ms,最大135ms
  • 800x600 SVGA 60FPS x 3张清晰延时,统计平均 114ms,最小87ms,最大129ms
  • 640x480 VGA 60FPS x 3张清晰延时,统计平均 101ms,最小86ms,最大130ms
  • 480x320 HVGA 60FPS x 3张清晰延时,统计平均 101ms,最小86ms,最大130ms

以上结果显示:

  1. GPU解码不如 Intel® Core™2 Duo CPU T6570 @ 2.10GHz软解,性能更好
  2. 分辨率调整,对GPU编解码影响不大
  3. FPS对视频延迟影响明显
  4. GPU的使用,能节省大量CPU资源
  5. 对比之前软解测试结果,decoding开销耗时明显,约有~40ms(甚至更多)

在这里插入图片描述

5. 参考资料

【1】FPV Camera(RPI3+V2.1) | wfb_ng Release 23.01 | ubuntu20.04 gnome软解测试
【2】FPV Camera(RPI3+V2.1) | wfb_ng Release 23.01 | Ubuntu 20.04 xfce软解测试
【3】wfb-ng Release 23.01镜像无头烧录&配置(2)
【4】wfb-ng Release 23.01镜像无头烧录&配置(1)
【5】wfb-ng 锁定WiFi接口
【6】Raspbian镜像无头烧录
【7】RaspberryPI models comparison
【8】模拟FPV-肥鲨HDO2+无牙仔2+熊猫VT5804ML1+Foxeer野火 时延测试

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FPV Camera(RPI 3B+/Zero W+V2.1) | wfb_ng Release 23.01 | H264硬解测试 的相关文章

  • 数据库binlog(二进制日志binary log)

    二进制日志中存储的内容称之为事件 xff0c 每一个数据库更新操作 Insert Update Delete xff0c 不包括Select 等都对应一个事件 mysql binlog基本原理 简书 jianshu com https ww
  • 四轴异常炸机分析讨论集锦

    四轴异常炸机分析讨论集锦 0 异常 amp 炸机 汇总目的1 AT9SPro 43 R12DSM 300米信号丢失炸机2 PID参数异常 起飞 Takeoff Runaway 炸机3 接收机信号干扰 炸机4 GPS救援 RC控制信号丢失炸机
  • Github工程中的Markdown语言应用

    Github工程中的Markdown语言应用 1 介绍2 工具2 1 下载链接2 2 编辑界面2 3 插件安装 3 基本操作3 1 标题编写3 2 正文编写3 3 代码块编写3 4 加粗倾斜3 5 有序列表3 6 无序列表3 7 行内代码编
  • iNavFlight之MSP DJI协议分析

    iNavFlight之MSP DJI协议分析 1 iNav串行口通信1 1 iNav 串口任务1 2 调用逻辑 2 iNav串行抽象2 1 框架代码2 2 MSP DJI 协议处理 3 DJI协议相关实现3 1 DJI串口初始化3 2 DJ
  • iNavFlight之MSP DJI协议天空端请求报文

    iNavFlight之MSP DJI协议天空端请求报文 1 报文格式 请求 2 报文标志 flag 3 报文命令 cmd 4 参考资料 MSP DJI协议是用于DJI天空端与飞控端之间的通信协议 xff0c 其工作模式符合C S经典设计 这
  • iNavFlight之MSP DJI协议飞控端请求应答

    iNavFlight之MSP DJI协议飞控端请求应答 1 报文格式2 报文标志 flag 3 报文命令 cmd 4 请求应答 amp 反馈报文4 1 DJI MSP API VERSION4 2 DJI MSP FC VARIANT4 3
  • 大疆Tello UDP控制协议接口

    大疆Tello UDP控制协议接口 1 设计架构2 UDP报文格式2 1 控制报文2 2 查询报文2 3 状态报文 3 命令集3 1 控制报文 控制命令3 2 控制报文 设置命令3 3 查询报文 读取命令 4 状态报文 这里介绍了大疆Tel
  • 蓝牙无线自制串口模块连接穿越机配置工具

    蓝牙无线自制串口模块连接穿越机配置工具 1 目的2 验证环境3 BLE SPP验证4 BT SPP验证5 参考资料6 补充资料 windows10配置全过程截图6 1 添加设备 搜索蓝牙串口设备6 2 连接 选中SnapAirUnit设备6
  • 传感模块:MATEKSYS Optical Flow & LIDAR 3901-L0X

    传感模块 xff1a MATEKSYS Optical Flow amp LIDAR 3901 L0X 1 模块介绍2 规格参数3 使用方法Step1 接线方式Step2 安装方式Step3 使用范围 4 存在问题 思考 4 1 MATEK
  • iNavFlight之MSP v2 Sensor报文格式

    iNavFlight之MSP v2 Sensor报文格式 1 MSP v2传感报文介绍2 MSP v2协议格式3 MSP v2传感代码流程4 MSP v2 传感器4 1 光流传感报文 MSP2 SENSOR RANGEFINDER4 2 测
  • 自制肥鲨HDO2电源降压延长线,支持3S~6S动力电池

    自制肥鲨HDO2电源降压延长线 xff0c 支持3S 6S动力电池 1 问题源由2 破题思路2 1 10元大钞搞定2 2 两个毛爷爷搞定 3 解决方案4 最终延长线产出4 1 裸照4 2 成品 5 花絮6 参考资料 1 问题源由 源由 xf
  • java中for、foreach、stream性能比较

    在开发中循环遍历一个数组经常会用到 xff0c jdk8推出了一些新特性 xff0c 对循环做了比较 xff0c 通过代码亲测 xff0c 记录一下 xff01 1 for循环 public static void main String
  • 自制肥鲨HDO2电源升压延长线

    自制肥鲨HDO2电源升压延长线 1 问题源由2 解决方案3 材料准备4 最终延长线产出4 1 裸照4 2 成品 5 参考资料 1 问题源由 之前我们介绍了 自制肥鲨HDO2电源降压延长线 xff0c 支持3S 6S动力电池 xff0c 主要
  • iNavFlight之RC遥控MSP协议

    iNavFlight之RC遥控MSP协议 1 RC摇杆MSP协议2 地面站配置 amp MSP遥控器2 1 iNav地面站 配置2 2 iNav地面站 MSP遥控器 3 RC摇杆总体逻辑框架3 1 摇杆信息获取3 2 摇杆信息处理3 3 摇
  • iNavFlight之RC遥控CRSF协议

    iNavFlight之RC遥控CRSF协议 1 遥控器电传框架设计1 1 场景分析1 2 逻辑框架1 2 1 电传信息获取1 2 2 电传信息处理1 2 3 电传初始化 1 3 模块化设计 2 CRSF电传报文2 1 CRSF电传报文格式2
  • iNavFlight之电传MAVLink协议

    iNavFlight之电传MAVLink协议 1 业务逻辑框架2 MAVLink电传报文2 1 MAVLink电传报文格式2 2 iNav支持地面站报文 接收 2 3 iNav支持飞控报文 发送 3 MAVLink报文处理4 参考资料 本章
  • PX4模块设计之四十七:mavlink模块

    PX4模块设计之四十七 xff1a mavlink模块 1 mavlink模块简介2 模块入口函数mavlink main3 mavlink模块重要函数3 1 Mavlink start3 2 Mavlink task main3 3 Ma
  • SVN工程转Git工程&Github托管

    SVN工程转Git工程 amp Github托管 1 介绍2 autoAudioTest之SVN转Github步骤Step 1 工作环境 ubuntu Step 2 安装升级必要软件Step 3 转换脚本Step 4 检查软件运行环境Ste
  • iNav飞控AOCODARC-F7MINI固件编译

    iNav飞控AOCODARC F7MINI固件编译 1 编译目标 xff08 AOCODARC F7MINI xff09 2 编译步骤Step 1 软件配置环境准备Step 2 获取开源代码Step 3 构建命令介绍Step 4 厂家目标板
  • BetaFlight飞控AOCODARC-F7MINI固件编译

    BetaFlight飞控AOCODARC F7MINI固件编译 1 编译目标 xff08 AOCODARC F7MINI xff09 2 编译步骤Step 1 软件配置环境准备Step 2 获取开源代码Step 3 构建命令介绍Step 4

随机推荐