在米尔电子MPSOC实现12G SDI视频采集H.265压缩SGMII万兆以太网推流

news2024/11/24 4:44:56

1. 引言

随着网络视频平台的发展,用户对于4K高清画质的需求日益增长。然而,许多用户发现,即使购买了视频平台的会员,观看4K内容时画质却不如预期,有时甚至还会出现模糊、卡顿的情况。这种现象背后涉及到视频编码、网络带宽、和视频传输的诸多因素。    

近期“影视飓风”发布的视频《清晰度不如4年前!视频变糊是你的错觉吗?》因讨论视频平台降低码率和改变编码格式以压缩视频画质,影响了内容表达。

 4K视频清晰度下降的一个主要原因是平台为了节省带宽而压缩视频流,有时导致比特率降低,无法发挥4K分辨率的全部潜力。

在这种背景下,如何高效地压缩和传输4K视频成为了一个关键技术难题。本文将探讨如何通过米尔电子的ZU4EV MPSoC平台,接入真4k 60UHD-SDI视频源后,使用VCU进行高效H.265编解码,再通过SGMII万兆以太网实现网络推流,以确保高质量4K视频的流畅传输。

2. 视频质量下降的原因与优化方法

1)带宽瓶颈:在用户数量增加的情况下,服务器和网络的带宽常常无法满足4K视频流的需求。

2)压缩算法不足:传统的视频压缩技术在高分辨率内容上表现不佳,容易导致画面模糊。

3)视频流传输的优化

在推流过程中,网络带宽和视频压缩效率直接决定了视频播放的清晰度与流畅度。为了确保4K视频在万兆以太网上的高效传输,本设计采用以下优化措施:

  • 合理的码率控制:在保证视频清晰度的前提下,调整H.265编码的目标码率,避免过低的码率影响视频质量或过高的码率导致带宽浪费或。通过CBR或VBR模式可以根据网络情况动态调整码率。

  • 低延时模式:VCU支持低延时编码模式,确保视频在压缩和传输过程中保持尽可能低的延迟,提升用户的观看体验。

  • 网络传输协议选择:根据应用场景选择合适的传输协议。对于实时性要求较高的场景,可选择UDP传输,而对于数据可靠性要求较高的场景,则推荐使用TCP协议。

3. MPSoC与VCU架构在4K UHD音视频广播领域的优势

1.高性能与低功耗的结合:Zynq UltraScale+ MPSoC采用了16nm FinFET工艺,集成了多核处理器和可编程逻辑,能够在提高性能的同时降低功耗,这对于音视频广播领域来说至关重要,因为它可以在保证高清晰度视频传输的同时,减少能源消耗。

2.实时压缩与解压缩能力:集成的VCU支持H.264/AVC和H.265/HEVC标准,能够实现高达4K UHD分辨率的视频的实时压缩和解压缩。这意味着在广播应用中,可以利用VCU进行高效的视频编码,减少存储空间和带宽的需求,同时保持视频质量。

3.多视频流处理能力:VCU能够同时处理多达八个不同的视频流,这对于需要同时广播多个视频源的4K UHD广播应用来说非常有用。这种多任务处理能力使得MPSoC成为多媒体中心和视频服务器的理想选择。

4.灵活性和可扩展性:MPSoC的可编程逻辑(PL)提供了任意到任意高速视频/音频接口的灵活性,可以为多媒体管道带来定制图像及视频处理功能的差异化效果。这种可编程性使得系统能够适应不断变化的音视频广播需求。

5.专用硬件加速:MPSoC提供了专用的处理引擎,如基于ARM Cortex A53的APU、Mali图形处理单元等,这些专用硬件能够加速图形和视频处理任务,提高系统的整体性能。

6.支持多种视频格式:VCU支持高达4:2:2 10位UHD-4K的视频格式,适合专业和高端消费级的制作与后期制作解决方案。这种广泛的格式支持使得MPSoC可以应用于各种不同的音视频广播场景。

7.集成的多媒体框架支持:MPSoC结合常见的多媒体框架GStreamer,可以开发硬件加速型多媒体应用。这种集成支持简化了开发过程,使得开发者能够快速实现复杂的音视频处理任务。

8.优化的功耗管理:Zynq UltraScale+ MPSoC将处理引擎、硬件编解码器等组件放置在具有独立电轨的不同电源域中,这种配置可用于为整个系统设计优化功耗管理方案,进一步降低系统功耗。

9.高速互联外设:MPSoC提供高速互联外设,如集成式DisplayPort接口模块,支持高达6 Gb/s的工作速率,这有助于处理来自PS或PL的实时音视频流,进一步降低系统BOM成本。

10.支持新一代地面数字电视广播技术:随着超高清电视时代的到来,MPSoC与VCU架构能够支持新一代地面数字电视广播技术,如DVB-T2、ATSC 3.0和DTMB-A等,这些技术支持更高的视频质量和新的广播应用模式。

综上所述,MPSoC与VCU架构在4K UHD音视频广播领域提供了高性能、低功耗、实时压缩解压缩、多视频流处理、灵活性、硬件加速、广泛格式支持、多媒体框架集成、优化的功耗管理和高速互联外设等多重优势,使其成为该领域理想的解决方案。

4. 系统架构概述

在本设计中,我们使用Zynq UltraScale+ MPSoC平台(具体型号为MYIR XCZU4EV),通过FPGA实现对SDI视频的H265压缩,并通过SGMII接口推送到万兆以太网上。系统架构主要包括以下几个部分:

1.视频输入:输入源可以是SDI摄像机、SDI信号发生器或通过HDMI转SDI设备从电脑接入的HDMI信号。视频信号通过TI公司的LMH1219芯片做均衡处理,并将单端信号转换为差分信号后输入FPGA。

2.SDI视频解码:FPGA中的UHD-SDI GT IP核用于SDI视频的解串,并将视频信号转换为AXI4-Stream格式供后续处理。通过SMPTE UHD-SDI RX SUBSYSTEM IP核,SDI视频被解码为RGB格式。

3.视频帧缓存与处理:解码后的视频信号存储在PS侧的DDR4中,通过Xilinx提供的Video Frame Buffer Write IP核实现。在这一阶段,可以对视频帧进行颜色转换、缩放等处理。

4.H.265视频压缩:使用Zynq UltraScale+ VCU IP核对存储的RGB视频帧进行H.265编码压缩。VCU支持YUV420格式的视频,编码分辨率最高可达到4K@60fps。

5.SGMII万兆以太网传输:经过H.265压缩后的视频流通过SGMII接口推送至万兆以太网。通过PetaLinux系统,利用TCP/UDP协议将压缩后的码流传输到PC或服务器端,用户可以通过VLC播放器等软件实时播放接收到的H.265码流。

5. 工程设计主要流程

1.SDI输入:通过LMH1219进行信号均衡,SDI信号转换为AXI4-Stream格式。

通过HDMI转SDI盒子,通过12G UHD-SDI输出4K 60FPS视频给FPGA,用户也可以使用SDI 工业相机;

2.视频解码:UHD-SDI GT IP核完成视频解串,SMPTE UHD-SDI RX SUBSYSTEM IP核将视频解码为RGB信号。

3.视频缓存:使用Video Frame Buffer Write IP核将视频写入DDR4。

用户可以选择在这里做出customer ISP,例如图像缩放,拼接

4.视频压缩:通过Zynq UltraScale+ VCU IP核对视频进行H265压缩。

5.网络传输:通过SGMII万兆以太网接口,将压缩后的H265视频流通过UDP协议推送至PC端,使用VLC播放器播放。

6. 结论

在视频内容不断向4K发展的大背景下, 通过Zynq UltraScale+ MPSoC平台,基于VCU实现的SGMII万兆以太网视频压缩推流方案,不仅能够高效地压缩和传输4K视频,还可以确保较低的延迟和高质量的图像输出。该方案适用于视频监控、医疗影像、工业自动化等对高分辨率视频有需求的应用场景。

对于希望在网络视频平台上获得更好观看体验的用户来说,视频平台和服务提供商则需要在视频编码、网络传输等方面进行优化,以满足用户对于4K视频的画质需求。

7. 互动环节

在SGMII网兆以太网推流到PC端,因为是万兆网,CPU无法负担这里的高速吞吐率,这里我们需要用到网络卸载,米尔电子的MYC-J7A100T双芯设计核心板可通过SFP采集SGMII万兆以太网数据后,PC通过PCIE读取视频源,实现万兆网口数据包卸载,我们会在后续系列文章中做出分享基于米尔MYC-J7A100T SFP采集后PCIE XDMA中断读取。

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

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

相关文章

项目复盘:TapTap聚光灯Gamejam

前言 三周的开发终于落下帷幕,其实我个人还是对结果很满意的,虽然作品不及他人的万分之一,不过主要目的还是以熟悉Godot引擎本身为主。这次我做的事情其实主要还是把在Unity那边学到的东西Copy到Godot来,仅此而已,几乎…

WPF自定义日历控件Calendar 的方法

推荐下载地址 https://www.haolizi.net/example/view_2107.html <UserControl.Resources><local1:DayConverter x:Key"DayConverter"/><!--导入转换器--><Style x:Key"CalendarStyle1"TargetType"{x:Type Calendar}">&…

《ToDesk云电脑vs青椒云性能测试,谁更能实现游戏自由?》

ToDesk云电脑vs青椒云性能测试 【前言】【使用云电脑的意义】【实测软件】【性能参数对比】1. 硬件配置2.游戏兼容性3. 延迟、流畅度与画面清晰度4. 用户体验5. 价格对比6. 附加功能 【游戏性能测试】《游戏一 黑悟空》《游戏二 赛博朋克 2077》《游戏三 CS反恐精英》 【本文小…

ctfshow文件包含web78~81

目录 web78 方法一&#xff1a;filter伪协议 方法二&#xff1a;input协议 方法三&#xff1a;data协议 web79 方法一:input协议 方法二&#xff1a;data协议 web80 方法一&#xff1a;input协议 方法二&#xff1a;日志包含getshell web81 web78 if(isset($_GET[file]…

动态IP是什么?

随着互联网成为人们生活的重要组成部分&#xff0c;以信息传递为主导的时代种&#xff0c;网络连接质量对我们的工作效率、学习进度以及娱乐体验等方面都有很大影响。 动态IP&#xff0c;作为网络连接中的一种重要IP代理形式&#xff0c;越来越受到用户的欢迎。本文将深入解析…

vue下载安装

目录 vue工具前置要求&#xff1a;安装node.js并配置好国内镜像源下载安装 vue 工具 系统&#xff1a;Windows 11 前置要求&#xff1a;安装node.js并配置好国内镜像源 参考&#xff1a;本人写的《node.js下载、安装、设置国内镜像源&#xff08;永久&#xff09;&#xff…

在JAVA中使用Paho MQTT客户端

1.在maven里面配置好依赖 <dependency><groupId>org.eclipse.paho</groupId><artifactId>org.eclipse.paho.client.mqttv3</artifactId><version>1.2.2</version> </dependency> 2.创建APP类 package com.leo;import org.e…

Django+websocket实现一个简单聊天

WebSocket是一种在单个TCP连接上进行全双工通信的协议。它由IETF在2011年定为标准RFC 6455&#xff0c;并由RFC7936补充规范&#xff0c;同时WebSocket API也被W3C定为标准。 1、定义与原理 WebSocket是独立的、创建在TCP上的协议&#xff0c;它使用HTTP/1.1协议的101状态码进…

MATLAB实现人类学习优化算法HLO

1.算法简介 人类学习优化算法&#xff08;Human Learning-based Optimization&#xff0c;HLO&#xff09;是一种基于人类学习过程开发的启发式算法。HLO算法的设计灵感来源于人类的智慧和经验&#xff0c;特别是人类在学习和调整过程中展现出的适应性、学习能力和创新思维。该…

【果蔬识别】Python+卷积神经网络算法+深度学习+人工智能+机器学习+TensorFlow+计算机课设项目+算法模型

一、介绍 果蔬识别系统&#xff0c;本系统使用Python作为主要开发语言&#xff0c;通过收集了12种常见的水果和蔬菜&#xff08;‘土豆’, ‘圣女果’, ‘大白菜’, ‘大葱’, ‘梨’, ‘胡萝卜’, ‘芒果’, ‘苹果’, ‘西红柿’, ‘韭菜’, ‘香蕉’, ‘黄瓜’&#xff09;…

Android 策略设计模式的使用:使用设计模式,减少烂代码,让项目更好维护

目录 大家好呀~&#xff0c;我是前期后期&#xff0c;在网上冲浪的一名程序员&#xff0c;分享一些自己学到的知识&#xff0c;希望对大家有所帮助 前言&#xff1a;为什么要使用设计模式 在项目开发过程中&#xff0c;我们会对接很多种支付&#xff1a;国内&#xff08;微信…

uniapp和vite项目配置多环境编译,增加测试环境变量配置--mode test

如果你的项目是使用vite和uniapp配置开发的&#xff0c;就可以在代码里面获取到这些变量&#xff0c;但是开发&#xff0c;测试和发布是不同的请求地址&#xff0c;所以需要配置。Vite 使用 dotenv 从你的 环境目录 中的下列文件加载额外的环境变量&#xff1a; .env …

动态规划 - 编辑距离

115. 不同的子序列 困难 给你两个字符串 s 和 t &#xff0c;统计并返回在 s 的 子序列 中 t 出现的个数&#xff0c;结果需要对 10^9 7 取模。 算法思想&#xff1a;利用动态规划&#xff0c;分s[i - 1] 与 t[j - 1]相等&#xff0c;s[i - 1] 与 t[j - 1] 不相等两种情况具…

sudo apt install jupyter-notebook安装notebook失败E: Aborting install.

问题&#xff1a; sudo apt install jupyter-notebook安装notebook失败E: Aborting install. ~/jie/mywork/PointNetCFD$ sudo apt install jupyter-notebook --fix-missing Reading package lists... Done Building dependency tree Reading state information... Do…

第16课 核心函数(方法)

掌握常用的内置函数及其用法。 数学类函数&#xff1a;abs、divmod、max、min、pow、round、sum。 类型转换函数&#xff1a;bool、int、float、str、ord、chr、bin、hex、tuple、list、dict、set、enumerate、range、object。 序列操作函数&#xff1a;all、any、filter、m…

【1个月速成Java】基于Android平台开发个人记账app学习日记——第2天,启动项目

24.11.01 下面讲一下如何通过USB连接手机然后启动app实现真机测试&#xff0c;还是有一些坑的。 调整电脑的驱动程序&#xff0c;完成USB的连接 在启动项目的第一步我就遇见了问题&#xff0c;那就是插入usb线以后没有检测到设备。想要完成连接需要2个步骤&#xff0c;第一步…

使用Mac如何才能提高OCR与翻译的效率

OCR与截图大家都不陌生&#xff0c;或许有的朋友对于这两项功能用到的不多&#xff0c;但是如果经常会用到的话&#xff0c;那你就该看看了 iOCR&#xff0c;快捷键唤出翻译窗口&#xff0c;不论是截图翻译、划词翻译、输入翻译、剪切板翻译&#xff0c;统统快捷键完成&#x…

Etsy又被封号了!这次我终于搞懂了原因...

你是否真的了解在Etsy开店有哪些红线不能踩&#xff1f;你是否真的知道Etsy被封号后如何解决&#xff1f;本文我将探讨Etsy账号被封的常见原因&#xff0c;以及卖家可以采取的应对策略&#xff0c;以期减轻对跨境业务的伤害程度&#xff0c;感兴趣的商家速速码住&#xff0c;不…

MySQL — 事务 (o゚▽゚)o

文本目录&#xff1a; ❄️一、什么是事务&#xff1a; ❄️二、ACID特性&#xff1a; ❄️三、使用事务&#xff1a; ▶1、查看支持事务的存储引擎&#xff1a; ▶2、语法&#xff1a; ▶3、开启并且回滚&#xff1a; ▶4、开启并且提交&#xff1a; ▶ 5、保存点&#xff…

DOS时代软件遗憾落幕,国产编程新势力接过火炬

在计算机发展史上&#xff0c;DOS时代是一个不可磨灭的篇章。那个时期&#xff0c;虽然操作系统的图形界面尚未普及&#xff0c;但一款款经典软件却为我们打开了通往数字世界的大门&#xff0c;让我们在那个相对简单却充满魅力的时代中&#xff0c;感受到科技的魅力与创新的力量…