当前位置: 首页 > news >正文

香橙派OrangePI AiPro测评 【运行qt,编解码,xfreeRDP】

实物

为AI而生
在这里插入图片描述
打开盒子

在这里插入图片描述

配置

扛把子的
作为业界首款基于昇腾深度研发的AI开发板,Orange Pi AIpro无论在外观上、性能上还是技术服务支持上都非常优秀。采用昇腾AI技术路线,集成图形处理器,拥有8GB/16GB LPDDR4X,可以外接32GB/64GB/128GB/256GB eMMC模块,支持双4K高清输出,8/20 TOPS AI算力。

其丰富的接口更是赋予了Orange Pi AIpro强大的可拓展性。包括两个HDMI输出、GPIO接口、Type-C电源接口、支持SATA/NVMe SSD 2280的M.2插槽、TF插槽、千兆网口、两个USB3.0、一个USB Type-C 3.0、一个Micro USB、两个MIPI摄像头、一个MIPI屏等,预留电池接口。

在操作系统方面,Orange Pi AIpro支持Ubuntu、openEuler操作系统,满足大多数AI算法原型验证、推理应用开发的需求,可广泛适用于AI边缘计算、深度视觉学习及视频流AI分析、视频图像分析、自然语言处理、智能小车、机械臂、人工智能、无人机、云计算、AR/VR、智能安防、智能家居等领域,覆盖 AIoT各个行业。

开机进入

在这里插入图片描述
作为一个AI产品,必须有一个人机交互的界面才行。大家都在跑算法,于是我就开始进行整理着手整理搭建Qt的环境。

1、下载源码

wget https://download.qt.io/archive/qt/5.12/5.12.12/single/qt-everywhere-src-5.12.12.tar.xz

在这里插入图片描述
待下载完成,将源码包拷贝到/opt/目录下
依次执行命令
cd /opt
sudo mkdir qt
mv qt-everywhere-src-5.12.12.tar.xz qt
cd qt
tar -xf qt-everywhere-src-5.12.12.tar.xz
cd qt-everywhere-src-5.12.12。

接下来需要执行配置configure的的操作,因为执行的过程中出现了很多其他的问题,所以这里就把配置文件进行整理,方便后面是使用,配置文件如下:

./configure --prefix=/home/qt  -opensource  -shared  -static  -compile-examples  -xcb

这个选项关系到界面能否正常显示出来。
等待一个执行完成。
在这里插入图片描述
当然处理过程会有些问题了,例如这种
在这里插入图片描述
只需要在报错的文件中进行加入头文件#include 就好了。
执行gmake,等待gmake执行完成后,执行make install. 即可以在对应的目录下面看看安装文件。
在这里插入图片描述
运行程序的时候会出现qt找不到font文件,
在这里插入图片描述

那么需要进行一个操作将windows的font文件夹传过去就好了。

在这里插入图片描述

freeRDP

下载代码:wget https://github.com/FreeRDP/FreeRDP/archive/refs/heads/stable-2.0.zip
安装依赖库:
sudo apt-get install build-essential git-core debhelper cdbs dpkg-dev autotools-dev cmake pkg-config xmlto libssl-dev docbook-xsl xsltproc libxkbfile-dev libx11-dev libwayland-dev libxrandr-dev libxi-dev libxrender-dev libxext-dev libxinerama-dev libxfixes-dev libxcursor-dev libxv-dev libxdamage-dev libxtst-dev libcups2-dev libpcsclite-dev libasound2-dev libpulse-dev libjpeg-dev libgsm1-dev libusb-1.0-0-dev libudev-dev libdbus-glib-1-dev uuid-dev libxml2-dev

在这里插入图片描述
然后执行
mkdir build
cd build
cmake …/
make
make install
如图所示
在这里插入图片描述
接下来可以通过他来连接我的windows了。

在这里插入图片描述
从头cpu占用率来看,跑FreeRDP一点问题都没有。

样例测试

切换root用户,到/opt/opi_test_test/下面
如图所示:
在这里插入图片描述

跑一个视频解码程序

需要讲test.mp4文件拷贝到data文件夹下面。
代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/time.h>
#include "acllite_dvpp_lite/ImageProc.h"
#include "acllite_dvpp_lite/VideoRead.h"using namespace std;
using namespace acllite;
int main()
{int32_t deviceId = 0;int32_t saveNum = 10;string videoPath = "../data/test.mp4";string outPath = "./out_pic/output";AclLiteResource aclResource(deviceId);bool ret = aclResource.Init();CHECK_RET(ret, LOG_PRINT("[ERROR] InitACLResource failed."); return 1);VideoRead cap(videoPath, deviceId);CHECK_RET(cap.IsOpened(), LOG_PRINT("[ERROR] Open test.mp4 failed."); return NULL);ImageData frame;LOG_PRINT("[INFO] Start to decode...");for(int i=0; i<saveNum; i++) {string outPic = outPath + to_string(i) + ".yuv";ret= cap.Read(frame);if(!ret){break;}SaveBinFile(outPic, frame.data.get(), frame.size);}LOG_PRINT("[INFO] Frame read end.");return 0;
}

执行bash
在这里插入图片描述
接下来看看运行效果
在这里插入图片描述
解码的yuv数据在 out文件夹下面
在这里插入图片描述

跑一个视频编码的程序

将YUV数据拷贝到data文件夹下面

程序代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/time.h>
#include "acllite_dvpp_lite/ImageProc.h"
#include "acllite_dvpp_lite/VideoWrite.h"using namespace std;
using namespace acllite;
int main()
{int32_t deviceId = 0;int32_t saveNum = 10;string filePath = "../data/test.yuv";string outFile = "../out/result.h264";uint32_t width = 1920;uint32_t height = 1080;AclLiteResource aclResource(deviceId);bool ret = aclResource.Init();CHECK_RET(ret, LOG_PRINT("[ERROR] InitACLResource failed."); return 1);VideoWrite testWriter(outFile, width, height);CHECK_RET(testWriter.IsOpened(), LOG_PRINT("[ERROR] open %s failed.", outFile.c_str()); return 1);void* image;void* imageInfoBuf;uint32_t imageInfoSize = YUV420SP_SIZE(width,height);CHECK_RET(ReadBinFile(filePath, image, imageInfoSize), LOG_PRINT("[ERROR] ReadBinFile failed."); return NULL);imageInfoBuf = CopyDataToDevice((void *)image, imageInfoSize);ImageData dst(SHARED_PTR_DEV_BUF(imageInfoBuf), imageInfoSize, width, height, PIXEL_FORMAT_YUV_SEMIPLANAR_420);LOG_PRINT("[INFO] Start to encode...");for(int i=0; i<saveNum; i++) {ret = testWriter.Write(dst);CHECK_RET(ret, LOG_PRINT("[ERROR] Write image to h264 failed."); return NULL);}testWriter.Release();LOG_PRINT("[INFO] Frame write end.");return 0;
}

编译运行,在out文件夹下面有个h264文件如下:
在这里插入图片描述

在这里插入图片描述

总结

1、从使用的情况看来,qt可以正常运行,需要多折腾
2、xfreerdp这种应用也可以很流畅的运行。
3、硬解码和编码这块来说没有任何问题,对于桌面的h264数据编解码可以在满足绝大多数的场景。
4、结合qt和xfreerdp这个软件的开发,以及编解码的处理,这款开发板,可以作为桌面级云终端产品的选型,并且性能远远足够使用,在云服务客户端,瘦客户端方面可以进行相关的推广。

相关文章:

香橙派OrangePI AiPro测评 【运行qt,编解码,xfreeRDP】

实物 为AI而生 打开盒子 配置 扛把子的 作为业界首款基于昇腾深度研发的AI开发板&#xff0c;Orange Pi AIpro无论在外观上、性能上还是技术服务支持上都非常优秀。采用昇腾AI技术路线&#xff0c;集成图形处理器&#xff0c;拥有8GB/16GB LPDDR4X&#xff0c;可以外接32…...

重生之我要精通JAVA--第七周笔记

文章目录 IO流字符流字符流原理解析flush和close方法 文件拷贝代码文件加密解密修改文件中的数据 缓冲流字节缓冲流字符缓冲流例题 转换流序列化流序列化流/对象操作输出流 反序列化流序列化流/反序列化流的细节汇总打印流字节打印流字符打印流 解压缩流压缩流Commons-io常见方…...

MySQL—函数—数值函数(基础)

一、引言 首先了解一下常见的数值函数哪些&#xff1f;并且直到它们的作用&#xff0c;并且演示这些函数的使用。 二、数值函数 常见的数值函数如下&#xff1a; 注意&#xff1a; 1、ceil(x)、floor(x) &#xff1a;向上、向下取整。 2、mod(x,y)&#xff1a;模运算&#x…...

fintuning chatglm3

chatglm3介绍 ChatGLM3-6B 是 ChatGLM 系列最新一代的开源模型&#xff0c;在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上&#xff0c;ChatGLM3-6B 引入了如下特性&#xff1a; 更强大的基础模型&#xff1a; ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用…...

草台班子啊草台班子:共享电源导致的BUG(供电不足)

某日吧&#xff08;其实就是今日&#xff0c;不过什么时候我又删帖重发也不一定啊&#xff09;&#xff0c;下工厂干活&#xff0c;机器里面没多的插座&#xff08;其实一个插座都没有&#xff0c;但是有一个24V电源的的设备&#xff09;&#xff0c;于是带队的下令并着接&…...

java递归计算文件夹和文件大小

背景 背景发现电脑c盘占用过高,然而我却不清楚是哪些文件占用了磁盘空间,于是我希望用程序来帮我完成这件事。小插曲:开始的时候,我使用python来做的,结果发现效率实在是太低,最后用java重写了一波。有需要的同学可以拿去修改一些。 代码 import java.io.File; import ja…...

硬币检测电路设计

一、来源&#xff1a;凡亿教育 第一场&#xff1a;硬币检测装置原理分析、电路设计以及器件选型_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Zh4y1V7Px/?p1&vd_source43eb1cb50ad3175d7f3b9385905cd88f 二、开发软件&#xff1a;KEIL MDK 三、主控芯片&#…...

3.基础光照

从宏观上讲渲染包含了两大部分&#xff1a;决定一个像素的可见性&#xff0c;决定一个像素的光照计算 而光照模型就是用于决定在一个像素上决定怎样的渲染光照计算。 一、我们是如何看到这个世界的 1.光源 实时渲染中&#xff0c;我们通常把光源当成一个没有体积的点&#…...

Image Search-这是你的图像搜索

Image Search-这是你的图像搜索 什么是图像搜索图像搜索开通图像搜索商品图片搜索图片搜索图片新增批量操作OSS-创建bucket上传文件创建increment.meta并上传元信息导出 体验感受 什么是图像搜索 在接触一个新的产品时&#xff0c;我们首先要知道这款产品是什么&#xff1f;那…...

对GPT-4o的评价:技术革新与未来展望

目录 引言一、GPT-4o的技术背景1.1 GPT系列的发展历程1.2 GPT-4o的技术特点 二、版本间的对比分析2.1 GPT-3与GPT-4的对比2.2 GPT-4与GPT-4o的对比 三、GPT-4o的技术能力3.1 自然语言处理3.2 多模态处理3.3 任务定制化 四、个人整体感受4.1 交互体验4.2 应用场景4.3 未来展望 五…...

【TB作品】msp430f5529单片机,dht22,烟雾传感器

功能 //硬件&#xff1a;msp430f5529、dht22、LCD1602、蜂鸣器、烟雾传感器、蓝牙模块。 //功能&#xff1a;读取温湿度、烟雾浓度显示到屏幕&#xff1b; //按键调节三个报警数值&#xff1b; //温度、湿度、烟雾浓度&#xff0c;任意一个大于报警数值就蜂鸣器报警&#xff1…...

uni-app全局弹窗的实现方案

背景 为了解决uni-app 任意位置出现弹窗 解决方案 一、最初方案 受限于uni-app 调用组件需要每个页面都引入注册才可以使用&#xff0c;此方案繁琐&#xff0c;每个页面都要写侵入性比较强 二、改进方案 app端&#xff1a;新建一个页面进行跳转&#xff0c;可以实现伪弹窗…...

Love-Yi情侣网站3.0存在SQL注入漏洞

目录 1. 前言 2. 网站简介 3. 寻找特征点 3.1 第一次尝试 3.2 第二次尝试 4.资产搜索 5.漏洞复现 5.1 寻找漏洞点 5.2 进行进一步测试 5.2.1 手动测试 1.寻找字段 2.寻找回显位 3.查询当前用户 5.2.2 sqlmap去跑 6.总结 1. 前言 朋友说自己建了一个情侣网站,看到…...

自然语言处理(NLP)—— 神经网络语言处理

1. 总体原则 1.1 深度神经网络&#xff08;Deep Neural Network&#xff09;的训练过程 下图展示了自然语言处理&#xff08;NLP&#xff09;领域内使用的深度神经网络&#xff08;Deep Neural Network&#xff09;的训练过程的简化图。 在神经网络的NLP领域&#xff1a; 语料…...

SHA256计算原理

标签: SHA256计算原理;SHA256;SHA-2; SHA-256计算原理 SHA-256(Secure Hash Algorithm 256-bit)是SHA-2系列中的一种哈希算法,它由美国国家安全局(NSA)设计,并由美国国家标准与技术研究院(NIST)发布。SHA-256主要用于数据完整性验证和数字签名等领域。以下是SHA-…...

Mysql | select语句导入csv后再导入excel表格

需求 从mysql数据库中导出数据到excel 解决方案 sql导出csv文件 sql SELECT col1,col2 FROM tab_01 WHERE col3 xxx INTO OUTFILE /tmp/result.csv FIELDS TERMINATED BY , ENCLOSED BY " LINES TERMINATED BY \n;csv文件导出excel文件 1、【数据】-【导入数据】 …...

SpringBoot:手动创建应用

Spring提供了在线的Spring Initialzr在线创建Spring Boot项目&#xff0c;为了更好的理解Spring Boot项目&#xff0c;这里我们选择手动创建。 1.新建Web应用 1.1 生成工程 首先要做是创建一个Java项目&#xff0c;这里我们选择使用Maven来支持&#xff0c;使用archetype:ge…...

【LeetCode】39.组合总和

组合总和 题目描述&#xff1a; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个…...

用JS来控制遥控车(一行代码即可连接, 超简单!)

简介 有些时候我们想要做车辆的某一个功能&#xff0c;但是又不想浪费时间做整辆小车时&#xff0c;一般会去买一辆差不多的遥控车来改&#xff0c;但是那也比较麻烦&#xff0c;市面上好像也没有便宜的直接提供编程接口的遥控车。所以就自己做一个吧~。 主要是要实现向外提供…...

MyBatis-Plus如何优雅的配置多租户及分页

MyBatis-Plus如何优雅的配置多租户及分页 一、配置多租户1、步骤一2、步骤二3、步骤三步骤四 二、配置分页1、步骤一2、步骤二3、步骤三 一、配置多租户 TenantLineInnerInterceptor 是 MyBatis-Plus 提供的一个插件&#xff0c;用于实现多租户的数据隔离。通过这个插件&#…...

终极指南:3分钟掌握TMSpeech,打造完全本地的实时语音转文字神器

终极指南&#xff1a;3分钟掌握TMSpeech&#xff0c;打造完全本地的实时语音转文字神器 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 你是否厌倦了云端语音识别服务的隐私担忧和网络延迟&#xff1f;想要一个真正…...

2026深度前瞻:制造业生产合规管控,未来有哪些智能化发展方向?

进入2026年&#xff0c;全球制造业正处于从“工业4.0”向“工业5.0”人机协同深度演进的关键节点。 随着《安全生产法》的深化落实以及《智能体规范应用与创新发展实施意见》的全面铺开&#xff0c;制造业安全生产合规管控已不再是单纯的制度约束&#xff0c;而是演变为一套由A…...

高通平台Sensor驱动移植避坑指南:以QCM6490平台BMI160为例,从编译到上电调试全流程

高通平台Sensor驱动移植实战&#xff1a;QCM6490平台BMI160全流程避坑指南 1. 环境准备与基础架构解析 在QCM6490平台上进行BMI160传感器驱动移植前&#xff0c;必须充分理解高通SEE架构的设计理念。与传统的SSC架构相比&#xff0c;SEE架构通过模块化封装大幅降低了移植复杂度…...

RT-Thread下lwIP协议栈内存优化实战:从300KB降至120KB

1. 项目概述与核心价值最近在做一个基于RT-Thread的物联网网关项目&#xff0c;硬件资源是STM32F407&#xff0c;带1MB的RAM。项目需要同时处理4路TCP长连接和若干UDP广播包&#xff0c;原本以为内存绰绰有余&#xff0c;结果一上电跑起来&#xff0c;系统内存占用直接飙到了90…...

别再自己写CNN了!用TensorFlow 2.3和MobileNetV2,15分钟搞定水果识别模型(附完整代码)

15分钟构建高精度水果识别模型&#xff1a;基于TensorFlow 2.3与MobileNetV2的迁移学习实战 在计算机视觉领域&#xff0c;图像分类任务往往需要复杂的模型架构和大量训练数据。但对于大多数实际应用场景&#xff08;如智能零售、农业分拣或家庭健康管理&#xff09;&#xff0…...

从攻到防:手把手在Kali Linux上搭建ARP欺骗实验环境(含Wireshark分析)

构建安全的本地网络实验室&#xff1a;Kali Linux下ARP欺骗攻防实战指南 在网络安全领域&#xff0c;理解攻击原理是构建有效防御的第一步。ARP欺骗作为一种经典的中间人攻击技术&#xff0c;常被用于网络渗透测试中。本文将带你从零开始搭建一个完全隔离的虚拟实验环境&#x…...

多场景互动抽奖公众号管理系统

快微摇一摇周边模块详解适配平台与交付方式 基于微擎系统开发&#xff0c;专为微信公众号设计&#xff0c;兼容认证服务号和订阅号&#xff08;订阅号需借用权限&#xff09;。通过微擎系统在线安装交付&#xff0c;无需额外技术部署。核心功能亮点 多主题模板支持普通摇一摇、…...

创业团队如何通过Taotoken统一管理AI开发资源与成本

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 创业团队如何通过Taotoken统一管理AI开发资源与成本 对于资源有限的创业团队而言&#xff0c;在早期产品原型开发与测试阶段&#…...

Go语言性能分析:pprof与trace

Go语言性能分析&#xff1a;pprof与trace 1. pprof使用 import ("net/http/pprof"_ "net/http/pprof" )func main() {http.ListenAndServe(":6060", nil) }2. trace使用 import "runtime/trace"func main() {f, _ : os.Create("t…...

甲级钢制隔热平开防火窗:技术参数、结构工艺与工程应用解析

一、产品概述甲级钢制隔热平开防火窗严格依照国家消防标准制造&#xff0c;采用加厚冷轧镀锌钢板打造框架&#xff0c;搭配防火填充材料、隔热防火玻璃与专用密封配件&#xff0c;防火隔热、密闭性强&#xff0c;耐用抗腐蚀。相较于低等级防火窗&#xff0c;本品耐火隔热性能更…...