基于RK3399/RK3588 H.265/HEVC的低延迟视频传输系统设计与实现

news2024/11/26 17:47:44
近年来,随着短视频直播的兴起,视频传输设备在生活中的应用越发普及。人们对图像
清晰度、帧率、码率等技术指标的要求不断提高,视频帧所包含的数据量也在急速增加。在
有限的网络带宽下,传统的视频采集设备面临压缩率不足、帧率低、延迟高等技术瓶颈,这
使得它们无法应用于超清图像的传输场景。因此,面对不断提升的视频质量,提高视频传输
系统的编解码效率、降低传输延迟显的尤为重要。
针对上述问题,本论文提出一种基于 H.265 编解码协议的低延迟视频传输系统,用于解
决超清图像传输场景下传输延迟较高的问题。论文围绕 RK3399 硬件设计, Linux+Android
嵌入式开发、 H.265 编解码等几个方面展开研究,在此基础上引入多个优化策略降低系统传
输延迟,提高编码效率。主要完成的工作如下:
1. 设计和提出了一种基于 H.265 编解码协议的低延迟视频传输系统,用于实现对超清图
像的低延迟传输。对比于传统视频传输设备,本设计的特点包括:使用软件编码技术,避免
硬件编码中数据在硬件层面集成后不利于参数修改的问题,提高了系统的可移植性和可拓展
性;基于 H.265 编解码协议,实现了超清 1080P 视频的低延迟传输,解决了软件编码在超清
视频编码场景下具有较高延迟的问题;系统硬件设计上对编码终端功能模块进行集成,大小
120mm*100mm*15mm ,具有体积小、方便携带的优点。
2. 通过多种低延迟策略对视频传输系统整体延迟时间进行优化。依托 RK3399 强大的运
算能力,对 X265 编码器配置进行优化以加快编码速率;对拥塞控制算法的慢启动时间进行
把控以减少丢包导致的数据波动,提升网络传输稳定性,降低传输延迟时间;使用环形 FIFO
的数据结构替代传统线性结构的缓存区设计,提升多线程调度下系统的运行效率;通过调用
Android 原生的 MediaCodec 对解码器进行配置优化,结合硬件加速,实现高效的 H.265 解码;
Android 显示控件进行优化,加快视频刷新率,实现高帧率刷新显示;使用 AsyncTask
写多线程内容,避开工作线程 +Handler 的异步消息传输组合,实现高效的异步通信。
3. 实现了基于 H.265 的低延迟视频传输系统在实验环境下的测试与分析。针对不同信号
强度,对五种不同分辨率视频序列进行传输测试,结果表明:局域网内,在满足编码质量的
前提下,对 1080P 质量的视频进行传输,系统端到端的网络传输延迟时间为 127ms ,压缩比
131.8 ,编码终端功耗小于 6W 。与优化前的视频传输系统相比,优化后的视频传输系统总
延迟时间减少了 11.9% 。系统功能完整、性能优异、满足低延迟特性,具有一定的实用性。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/621212.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ui自动化测试如何上传文件

前言 实施UI自动化测试的时候,经常会遇见上传文件的操作,那么对于上传文件你知道几种方法呢?今天我们就总结一下几种常用的上传文件的方法,并分析一下每个方法的优点和缺点以及哪种方法效率,稳定性更高 被测HTML代码…

python基础知识(九):函数

目录 1. 函数的定义2. 传递实参2.1 位置实参2.2 关键字实参2.3 默认值2.4 传递任意数量的实参2.5 结合使用位置实参和任意数量实参 3. 导入模块3.1 导入特定的函数3.2 使用 as 给函数指定别名3.3 使用 as 给模块指定别名3.4 导入模块中的所有函数 1. 函数的定义 函数的定义形式…

Wijmo 5.20231.888 JavaScript UI Crack

Wijmo使用更快、更灵活的 JavaScript UI 组件构建更好的应用程序 使用 Wijmo,利用我们引人注目的 UI 组件库,将更多时间花在应用程序的核心功能上。要求零依赖,Wijmo sports弹性网格,业内最好的 JavaScript 数据网格,提…

基于深度学习的高精度动物检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度动物检测识别系统可用于日常生活中或野外来检测与定位动物目标(狼、鹿、猪、兔和浣熊),利用深度学习算法可实现图片、视频、摄像头等方式的动物(狼、鹿、猪、兔和浣熊)目标检测识…

前端基础面试题(HTML,CSS,JS)

大厂面试题分享 面试题库 前后端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 web前端面试题库 VS java后端面试题库大全 html语义化的理解 代码结构: 使页面在没有css的情况下,也能够呈现出好的内容结构 有利于SE…

AI实战营:MMPreTrain代码实现

环境 环境安装 pip install openmim mim install mmengine mim install mmcv mim install mmpretrain # 安装多模态模型 pip install "mmpretrain[multimodal]" 验证环境 In [1]: import mmengineIn [2]: mmengine.__version__ Out[2]: 0.7.3In [3]: import …

开发者出海合规手册;@levelsio独立开发月入20万解析;MJ+AR设计珠宝;SD算法原理-通俗版 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 独立开发者必看,出海应用开发者合规手册 这是 JourneymanChina 多年出海经验教训的总结,适用于Google Play 以…

在Wamp环境中如何下载Composer并且使用Laravel配置Apache服务器

一.Composer的安装 方法1.到Composer官网Composer (getcomposer.org)下载 点击Composer-Setup.exe下载Composer安装包 点击Next 这里选择你的php.exe的地址 然后一直点next结束。 然后打开cmd命令输入composer -v看是否运行成功。 方法2.CMD命令安装composer php -r &quo…

学生考试作弊检测系统 yolov8

学生考试作弊检测系统采用yolov8网络模型人工智能技术,学生考试作弊检测系统过在考场中安装监控设备,对学生的作弊行为进行实时监测。当学生出现作弊行为时,学生考试作弊检测系统将自动识别并记录信息。YOLOv8 算法的核心特性和改动可以归结为…

SolVES 模型与多技术融合【多语言】实现生态系统服务功能社会价值评估及拓展案例分析

生态系统服务是人类从自然界中获得的直接或间接惠益,可分为供给服务、文化服务、调节服务和支持服务4类,对提升人类福祉具有重大意义,且被视为连接社会与生态系统的桥梁。自从启动千年生态系统评估项目(Millennium Ecosystem Asse…

IDEA中Maven依赖包下载不了的一种“奇怪”解决方案【亲测有效】

💧 记录一下今天遇到的 b u g \color{#FF1493}{记录一下今天遇到的bug} 记录一下今天遇到的bug💧 🌷 仰望天空,妳我亦是行人.✨ 🦄 个人主页——微风撞见云的博客🎐 🐳 数据结构与算法…

Linux - fd文件描述符和文件详解

​​​​​​​ ​​​​​​​ ​​​​​​​ 感谢各位 点赞 收藏 评论 三连支持 本文章收录于专栏【Linux系统编程】 ❀希望能对大家有所帮助❀ 本文章由 风君子吖 原创 ​​​​​​​ ​​​​​​​ ​​​​​​​ …

WPF 如何实时查看页面元素如何使用实时可视化树

文章目录 往期回顾可视化页面元素如何使用调试工具 总结 往期回顾 WPF 学习:如何使用实时可视化树,照着MaterialDesign的Demo学习 可视化页面元素 我们知道,网页的页面元素是可以通过按F12查看代码。查看到页面元素的。 WPF也有类似的工具…

基于相位共轭法的散射聚焦成像研究-Matlab代码

▒▒本文目录▒▒ 一、引言二、相位共轭法散射聚焦成像Matlab仿真三、参考文献四、Matlab程序开发与实验指导 一、引言 一直以来,研究人员致力于分析造成散射的原因、随机介质性质以及各种散射光的特征,并且研究透过散射介质成像。1990年,I.…

模型剪枝:给模型剪个头发

本文来自公众号“AI大道理”。 深度学习网络模型从卷积层到全连接层存在着大量冗余的参数,大量神经元激活值趋近于0,将这些神经元去除后可以表现出同样的模型表达能力,这种情况被称为过参数化,而对应的技术则被称为模型剪枝。 网…

在价格战中苦苦挣扎的小鹏汽车和蔚来,哪个是最好的电动汽车股?

来源:猛兽财经 作者:猛兽财经 总结: 从长期来看,小鹏汽车(XPEV)的基本面优于蔚来(NIO),小鹏汽车目前的估值也更有吸引力,在全球电动汽车行业中也具有更好的长期投机性。 猛兽财经的投资组合中其中有一部分…

断更两个月的感悟

清明时节雨纷纷, 路上行人欲断魂, 借问酒家何处有, 牧童遥指杏花村。 1.断更 武汉的三月和四月是个多雨的季节,这样的天气经常让我患得患失,由于一些原因(后文再详细说明),不知不觉…

【Linux】分析Fuse中libfuse源码

在Linux中,我们可以使用FUSE来进行自定义用户态文件系统的实现。编译example中的示例是学习FUSE的第一步,本文侧重于剖析FUSE的client端的源码。 文章目录 (一) 下载libfuse源码,避免重复造轮子(二&#xf…

什么是WePY?

WePY(微信小程序开发框架)是一个基于组件化开发思想的微信小程序开发框架。它类似于Vue.js框架,通过封装小程序原生的API,提供了更加简洁、高效的开发方式。 WePY的主要特点包括: 组件化开发:WePY将页面拆…

分布式锁原理与实战二:公平锁和可重入锁的原理

在单体的应用开发场景中,涉及并发同步的时候,大家往往采用synchronized 或者 Lock 的方式来解决多线程间的同步问题。但在分布式集群工作的开发场景中,那么就需要一种更加高级的锁机制,来处理种跨JVM 进程之间的数据同步问题&…