教您在79元ARM平台实现H.265视频解码
什么是H.265视频编解码?
(1)什么是H.265
H.265,也被称为HEVC(HighEfficiency Video Coding),作为H.264的继任者,提供了更好的视频压缩和更高的视频质。H.265通过引入更多先进的编码技术,如更强大的运动估计和更高效的变换编码,对比H.264进行了改进。这些改进使得H.265能够以相同的质量下使用较低的比特率进行视频压缩,从而降低存储和传输的成本。
H.265标准的诞生是在有限带宽下传输更高质量的网络视频。对于大多数专业人士来说,H.265编码标准并不陌生,其是ITU-TVCEG继H.264之后所制定的视频编码标准。H.265标准主要是围绕着现有的视频编码标准H.264,在保留了原有的某些技术外,增加能够改善码流、编码质量、延时及算法复杂度之间的关系等相关的技术。H.265研究的主要内容包括,提高压缩效率、提高鲁棒性和错误恢复能力、减少实时的时延、减少信道获取时间和随机接入时延、降低复杂度。

(2)H.265的主要优势
更好的压缩效率:H.265通过改进的编码算法和更多的编码选项,能够以更低的比特率提供相同质量的视频。这使得H.265更适合于高分辨率视频和高帧率视频的压缩。
更好的图像质量:H.265能够以相同的比特率下提供更高的图像质量。它使用了更高级的编码技术,如更大的变换块,以提供更好的图像细节和减少编码噪声。
更强的运动估计:H.265引入了更强大和精确的运动估计算法,能够更好地处理运动图像。这对于处理高动态场景或快速运动的视频非常有用。
支持更高的分辨率和帧率:H.265支持更高的分辨率和帧率,可以适应日益增长的高清和超高清视频需求。相对于H.264,H.265可以以更高的分辨率和帧率进行视频压缩。
图2
全志T113-i支持哪些视频编解码
T113-i支持多种视频编解码格式,视频编码支持JPEG、MJPEG格式,视频解码支持H.265、H.264、MPEG、JPEG、MJPEG等格式。创龙科技T113-i工业核心板含税仅售79元(1片起),可实现强劲的视频编解码能力,性价比不是一般的高。创龙科技T113-i工业核心板国产化率100%,可提供中国赛宝实验室(电子五所)国产化率证明报告。

本节内容基于T113-i通过官方xplayerdemo案例演示H.265解码功能,支持最大分辨率为4K@30fps。案例源码位于T113-i产品资料LinuxSDK安装包的"/T113-i_v1.0/platform/framework/cedarx/xplayer/"目录下。

首先,将评估板HDMI OUT接口连接至HDMI显示屏。评估板上电启动,将产品资料“4-软件资料\Demo\video-demos\”目录下的video-h265.mkv视频文件拷贝至评估板文件系统,执行如下命令关闭默认运行的Qt GUI显示程序。
Target#killall Launcher
Target#fbinit
图5
执行如下命令,运行官方案例xplayerdemo。
Target#xplayerdemo

执行如下命令,设置需要解码播放的视频文件。
Target#set url: video-h265.mkv

输入play命令解码播放视频,可看到HDMI显示屏输出视频。
Target#play

执行stop命令,停止视频解码。
Target#stop

创龙科技T113-i平台已发布H.265视频解码案例,如需完整源码与文档,可与我司技术服务人员联系。
亦可添加如下客服微信进行咨询

更多全国产T113-i平台产品资料
可长按二维码识别下载

如需购买T113-i工业评估板,请登录创龙科技天猫旗舰店:tronlong.tmall.com!
T113-i技术交流群:535860770,欢迎加入!
教您在79元ARM平台实现H.265视频解码的更多相关文章
- 【安卓安全】ARM平台代码保护之虚拟化
简介:代码的虚拟化即不直接通过CPU而是通过虚拟机来执行虚拟指令.代码虚拟化能有效防止逆向分析,可大大地增加了代码分析的难度和所需要的时间,若配合混淆等手段,对于动静态分析有着较强的防御能力. 背景: ...
- QtCreator动态编译jsoncpp完美支持x86和arm平台
如果是做嵌入式开发. 在Qt下支持JSon最好的办法,可能不是采用qjson这个库.QJson这个库的实例只提供了x86环境下的编译方法. Installing QJson-------------- ...
- Linux Kernel之flush_cache_all在ARM平台下是如何实现的【转】
转自:http://blog.csdn.net/u011461299/article/details/10199989 版权声明:本文为博主原创文章,未经博主允许不得转载. 在驱动程序的设计中,我们可 ...
- 移植mysql到嵌入式ARM平台
移植MySQL到嵌入式ARM平台 MySQL没有专门针对ARM的版本,移植到ARM没有官方文档可参考,因此,暂时参考这样一篇文档: http://blog.chinaunix.net/space.p ...
- 移植strace调试工具到arm平台
strace工具是一个非常强大的工具,是调试程序的好工具.要移植到arm平台,就需要使用交叉编译工具编译生成静态链接的可执行文件.具体步骤如下:1.下载 strace-4.5.16 移植str ...
- readline-6.3 之arm平台交叉编译
近期须要弄个CLI命令接口程序,初步设想是须要支持历史命令翻阅,tab键命令补全这种一个东西.经查阅相关文档,深耕百度一番!(google近期不太正常) 实在恼火.发现readline果真是个好东西, ...
- ARM平台的虚拟化介绍
本篇博文主要介绍虚拟化的基本思想以及在arm平台如何做虚拟化,arm提供的硬件feature等等. 虚拟化技术简介 虚拟化技术 虚拟化是一个概念,单从这个概念的角度来看,只要是用某一种物品去模拟另一种 ...
- NDK编程的一个坑—Arm平台下的类型转换
最近在做DNN定点化相关的工作,DNN定点化就是把float表示的模型压缩成char表示,虽然会损失精度,但是由于DNN训练的模型值比较接近且范围较小,实际上带来的性能损失非常小.DNN定点化的好处是 ...
- 4G通信模块在ARM平台下的应用
4G模块是连接物与物的重要载体,是终端设备接入物联网的核心部件之一.随着4G的普及,许多新兴市场对4G通信模块的需求都在日益扩大,那么在ARM平台的嵌入式设备上如何快速的应用4G模块呢? 4G通信模块 ...
- 4G 通信模块在ARM 平台下的应用
收藏 评论(0) 分享到 微博 QQ 微信 LinkedIn 4G模块是连接物与物的重要载体,是终端设备接入物联网的核心部件之一,随着4G的普及,许多新兴市场对4G通信模块的需求都在日益扩大,那么在A ...
随机推荐
- Ubuntu安装完VMware tools还是不能和主机之间拖拽文件
Ubuntu安装完VMware tools还是不能和主机之间拖拽文件 1.确保已安装了VMware Tools 2.禁用 Wayland sudo gedit /etc/gdm3/custom.con ...
- redis-desktop-manager-0.8.0.3844
redis-desktop-manager-0.8.0.3844 下载地址: https://www.aliyundrive.com/s/Y2fobkVjAdF 链接:https://pan.baid ...
- 包含Symbol类型的对象遍历取key使用Reflect.ownKeys
Reflect.ownKeys(target)等同于 Object.getOwnPropertyNames 与Object.getOwnPropertySymbols 之和
- 欧洲对 Splashtop 远程计算机实验室的需求增长十倍
2021 年 1 月 7 日,加利福尼亚州圣何塞 - 远程访问和远程支持解决方案的全球领导者 Splashtop Inc. 报告称其对用于教育的远程实验室访问软件的需求在欧洲激增,在 2020 年第 ...
- Scala中集合中的View用法
设想以下这个计算 def eval(i: Int): Option[Int] = { println(s"invoke with $i") if (i % 2 == 0) { No ...
- 推荐2款开源、美观的WinForm UI控件库
前言 今天大姚给大家分享2款开源.美观的WinForm UI控件库,希望可以帮助到有需要的同学. WinForm介绍 WinForm是一个传统的桌面应用程序框架,它基于 Windows 操作系统的原生 ...
- SpringAi
Spring AI 初学 Spring AI 官方地址 "spring 不生产 AI,只是 AI 工具的搬运工" 项目可以查看gitee Open AI 前期准备 Open AI官 ...
- 《剑指offer - 题目2》
题目描述 请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 注意方 ...
- 利用instruments工具查看其它app的性能
1.随便建立一个新的工程文件,profile,进入instruments 2.选中activity,可以看到所有进程,以及其它进程的CPU占用情况
- 11种排序算法(Python实现)
10种排序算法(Python实现) 冒泡排序 1. 两重循环,每次都将一个点移动到最终位置 def BubbleSort(lst): n=len(lst) if n<=1: return lst ...