FPV Camera(RPI 3B+/Zero W+V2.1) | wfb_ng Release 23.01 | H264硬解测试
创始人
2025-05-29 20:51:28

@[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

相关内容

热门资讯

【实验报告】实验一 图像的... 实验目的熟悉Matlab图像运算的基础——矩阵运算;熟悉图像矩阵的显示方法࿰...
MATLAB | 全网最详细网... 一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点&#...
大模型落地比趋势更重要,NLP... 全球很多人都开始相信,以ChatGPT为代表的大模型,将带来一场NLP领...
Linux学习之端口、网络协议... 端口:设备与外界通讯交流的出口 网络协议:   网络协议是指计算机通信网...
kuernetes 资源对象分... 文章目录1. pod 状态1.1 容器启动错误类型1.2 ImagePullBackOff 错误1....
STM32实战项目-数码管 程序实现功能: 1、上电后,数码管间隔50ms计数; 2、...
TM1638和TM1639差异... TM1638和TM1639差异说明 ✨本文不涉及具体的单片机代码驱动内容,值针对芯...
Qt+MySql开发笔记:Qt... 若该文为原创文章,转载请注明原文出处 本文章博客地址:https://h...
Java内存模型中的happe... 第29讲 | Java内存模型中的happen-before是什么? Java 语言...
《扬帆优配》算力概念股大爆发,... 3月22日,9股封单金额超亿元,工业富联、鸿博股份、鹏鼎控股分别为3.0...
CF1763D Valid B... CF1763D Valid Bitonic Permutations 题目大意 拱形排列࿰...
SQL语法 DDL、DML、D... 文章目录1 SQL通用语法2 SQL分类3 DDL 数据定义语言3.1 数据库操作3.2 表操作3....
文心一言 VS ChatGPT... 3月16号,百度正式发布了『文心一言』,这是国内公司第一次发布类Chat...
CentOS8提高篇5:磁盘分...        首先需要在虚拟机中模拟添加一块新的硬盘设备,然后进行分区、格式化、挂载等...
Linux防火墙——SNAT、... 目录 NAT 一、SNAT策略及作用 1、概述 SNAT应用环境 SNAT原理 SNAT转换前提条...
部署+使用集群的算力跑CPU密... 我先在开头做一个总结,表达我最终要做的事情和最终环境是如何的,然后我会一...
Uploadifive 批量文... Uploadifive 批量文件上传_uploadifive 多个上传按钮_asing1elife的...
C++入门语法基础 文章目录:1. 什么是C++2. 命名空间2.1 域的概念2.2 命名...
2023年全国DAMA-CDG... DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义...
php实现助记词转TRX,ET... TRX助记词转地址网上都是Java,js或其他语言开发的示例,一个简单的...
【分割数据集操作集锦】毕设记录 1. 按要求将CSV文件转成json文件 有时候一些网络模型的源码会有data.json这样的文件里...
Postman接口测试之断言 如果你看文字部分还是不太理解的话,可以看看这个视频,详细介绍postma...
前端学习第三阶段-第4章 jQ... 4-1 jQuery介绍及常用API导读 01-jQuery入门导读 02-JavaScri...
4、linux初级——Linu... 目录 一、用CRT连接开发板 1、安装CRT调试工具 2、连接开发板 3、开机后ctrl+c...
Urban Radiance ... Urban Radiance Fields:城市辐射场 摘要:这项工作的目标是根据扫描...
天干地支(Java) 题目描述 古代中国使用天干地支来记录当前的年份。 天干一共有十个,分别为:...
SpringBoot雪花ID长... Long类型精度丢失 最近项目中使用雪花ID作为主键,雪花ID是19位Long类型数...
对JSP文件的理解 JSP是java程序。(JSP本质还是一个Servlet) JSP是&#...
【03173】2021年4月高... 一、单向填空题1、大量应用软件开发工具,开始于A、20世纪70年代B、20世纪 80年...
LeetCode5.最长回文子... 目录题目链接题目分析解题思路暴力中心向两边拓展搜索 题目链接 链接 题目分析 简单来说࿰...