i.MX8MP 测评|飞凌FETMX8MP-C核心板多媒体功能测评

2023-10-17 12:40

本文主要是介绍i.MX8MP 测评|飞凌FETMX8MP-C核心板多媒体功能测评,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

距离飞凌FETMX8MP-C核心板推出已经有一段时间了,因其强大的性能且具有多领域的通用性,此款iMX8MP核心板受到了很多工程师用户的青睐。本篇文章,笔者将从FETMX8MP-C核心板丰富的多媒体资源和优异的多媒体功能为着眼点,对此款iMX8MP核心板进行测评

FETMX8MP-C核心板采用NXP iMX8MPplus处理器,集成了一个视频处理单元 VPU,支持以下格式的视频硬件编解码:

视频解码: H264, H265, VP8, VP9,最大支持 1080p 60fps 。

视频编码: H264, H265,最大支持 1080p 60fps 。

详细参数见下表

同时,飞凌嵌入式的这款FETMX8MP-C核心板支持LVDS、HDMI、MIPI-DSI三种显示接口,其中HDMI最大可支持4K分辨率输出,并且三个显示接口可同时工作,支持三屏异显,还支持4K高清摄像头输入。下面,笔者将在视频硬件编解码、多屏显示及4K高清摄像头(型号:daA3840-30mc)输入三方面的功能对这款iMX8MP板卡进行详细讲解。

一、硬件编解码

为了对FETMX8MP-C核心板的硬件编解码性能有更清晰的了解,选择飞凌嵌入式另外两款基于NXP iMX8M系列处理器设计的的FETMX8MM-C核心板和FETMX8MQ-C核心板与其做对比,用硬件解码播放同一个 H264 视频文件(带音频),CPU占用率对比如下:

FETMX8MQ-C核心板:

FETMX8MM-C核心板:

FETMX8MP-C核心板:

如图可见,在飞凌嵌入式提供的三款iMX8M系列核心板中,当FETMX8MQ-C核心板用硬解码方式解码并播放测试用的 H264 视频文件时CPU占用率为23.5%,当FETMX8MM-C核心板用硬解码方式解码并播放同一个测试视频时CPU占用率为18.2%,而当FETMX8MP-C核心板用硬解码方式解码并播放同一个测试视频时CPU占用率仅为11.6%。

由此可见,虽然同为硬件解码,但FETMX8MP-C核心板比同系列处理器产品具有更高的硬件解码性能,CPU资源占用率更低。

二、多屏显示

双屏显示功能在飞凌嵌入式iMX6Q/iMX6DL系列核心板上就已经实现,而iMX8MP系列 核心板做到了三屏显示。在正式开始测试前,先简述一下用户使用单屏显示时的注意事项:FETMX8MP-C核心板支持LVDS、HDMI、MIPI-DSI三种显示接口,核心板默认自启为三屏显示状态,此状态下启动后只有MIPI屏显示QT测试程序列表界面。LVDS和HDMI显示为飞凌嵌入式的logo图片。故若用户只需要单屏显示,需要在启动阶段先进行屏幕配置,将其余屏幕关掉,具体操作可参考飞凌嵌入式提供的iMX8MP系列产品使用手册中2.4屏幕切换章节。

接下来,笔者将对多屏显示进行测评。

1、三屏异显

此次iMX8MP核心板测试三屏异显的方式是在主屏(MIPI屏)上播放视频,然后通过鼠标拖动视频在三屏之间移动,具体效果如下:

从视频中我们看到,三屏显示状态下,三个屏幕从左到右排序分别为MIPI-DSI、LVDS、HDMI。此测试过程因三个屏幕的分辨率不同,所以会出现同一个视频在拖动过程中大小有些许变化的情况,若用三个分辨率及尺寸相同的屏幕会有更好的显示效果。

此测评对三屏异显功能进行了简单的演示,工程师用户可根据实际需求在此功能基础上进行实现。

2、三屏同时播放视频

目前FETMX8MP-C核心板可用命令实现在三个屏幕上同时播放相同或不同的视频,如下命令为三屏播放相同视频:

root@OK8MP:~# gst-launch-1.0 playbin uri=file:///media/forlinx/video/1080p_60fps_h264.mp4 video-sink="waylandsink window-x=0 window-y=10" & gst-launch-1.0 playbin uri=file:///media/forlinx/video/1080p_60fps_h264.mp4 video-sink="waylandsink window-x=1152 window-y=120" & gst-launch-1.0 playbin uri=file:///media/forlinx/video/1080p_60fps_h264.mp4video-sink="waylandsink window-x=2754 window-y=250"

蓝色部分可改成三个不同视频的路径,即可实现同时播放不同视频。

红色部分为视频显示的实际坐标,此处用做移动视频到其他屏(第一个在MIPI上,第二个在LVDS上,第三个在HDMI上,且都是居中显示)

如下图,展示的是三屏同时播放相同的视频,通过对命令的调整可使视频居中显示。

三、4K高清摄像头输入

目前FETMX8MP-C核心板除了支持OV5645 MIPI 摄像头和USB UVC摄像头外,还支持4K高清摄像头,型号为daA3840-30mc。daA3840-30mc 摄像头是NXP官方推荐的能为iMX 8M Plus处理器提供强大视觉系统的4K高清摄像头,可作为基于视觉的智能机器学习应用的解决方案。具体测试方法如下:

首先确认 basler 的设备节点。

root@OK8MP:~# v4l2-ctl --list-devices
():/dev/v4l-subdev0/dev/v4l-subdev3/dev/v4l-subdev4
():/dev/v4l-subdev1
(csi0):/dev/v4l-subdev2
VIV (platform:viv0):/dev/video0
VIV (platform:viv1):/dev/video1

查看摄像头支持的格式与分辨率:

root@OK8MP:~# v4l2-ctl --list-formats-ext -d /dev/video1
ioctl: VIDIOC_ENUM_FMTType: Video Capture[0]: 'YUYV' (YUYV 4:2:2)Size: Discrete 3840x2160Interval: Discrete 0.033s (30.000 fps)[1]: 'NV12' (Y/CbCr 4:2:0)Size: Discrete 3840x2160Interval: Discrete 0.033s (30.000 fps)[2]: 'NV16' (Y/CbCr 4:2:2)Size: Discrete 3840x2160Interval: Discrete 0.033s (30.000 fps)[3]: 'BA12' (12-bit Bayer GRGR/BGBG)Size: Discrete 3840x2160Interval: Discrete 0.033s (30.000 fps)

摄像头预览:

root@OK8MP:~# gst-launch-1.0 v4l2src device=/dev/video1 ! waylandsink

在4K显示屏下,摄像头画质输出也可达到4K,显示清晰度极高。如需测试更多有关摄像头的功能(如摄像头拍照、录像),可参考飞凌嵌入式提供的iMX8MP系列产品使用手册。

综上,本文分别从硬件编解码、多屏显示和4K高清摄像头三部分对FETMX8MP-C的多媒体性能进行了测评,由上述测评及结果可得出结论:FETMX8MP-C具有更高效的视频处理方式,能够为用户带来更好的多媒体体验,可满足用户对复杂多媒体显示的需求,而4K高清摄像头也为用户提供了更加优秀的视频采集效果,为产品设计带来了更多可能。

iMX8MP 测评|飞凌FETMX8MP-C核心板多媒体功能测评 - 飞凌嵌入式行业资讯 - 保定飞凌嵌入式技术有限公司

这篇关于i.MX8MP 测评|飞凌FETMX8MP-C核心板多媒体功能测评的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/225484

相关文章

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客

Java CompletableFuture如何实现超时功能

《JavaCompletableFuture如何实现超时功能》:本文主要介绍实现超时功能的基本思路以及CompletableFuture(之后简称CF)是如何通过代码实现超时功能的,需要的... 目录基本思路CompletableFuture 的实现1. 基本实现流程2. 静态条件分析3. 内存泄露 bug

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

Go语言实现将中文转化为拼音功能

《Go语言实现将中文转化为拼音功能》这篇文章主要为大家详细介绍了Go语言中如何实现将中文转化为拼音功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 有这么一个需求:新用户入职 创建一系列账号比较麻烦,打算通过接口传入姓名进行初始化。想把姓名转化成拼音。因为有些账号即需要中文也需要英

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

最好用的WPF加载动画功能

《最好用的WPF加载动画功能》当开发应用程序时,提供良好的用户体验(UX)是至关重要的,加载动画作为一种有效的沟通工具,它不仅能告知用户系统正在工作,还能够通过视觉上的吸引力来增强整体用户体验,本文给... 目录前言需求分析高级用法综合案例总结最后前言当开发应用程序时,提供良好的用户体验(UX)是至关重要

python实现自动登录12306自动抢票功能

《python实现自动登录12306自动抢票功能》随着互联网技术的发展,越来越多的人选择通过网络平台购票,特别是在中国,12306作为官方火车票预订平台,承担了巨大的访问量,对于热门线路或者节假日出行... 目录一、遇到的问题?二、改进三、进阶–展望总结一、遇到的问题?1.url-正确的表头:就是首先ur