Xilinx低比特率高品质 ABR 视频实时转码(HPE 参考架构)

对实时视频流的需求给视频服务提供商带来了严峻挑战,必须在管理基础设施和互联网带宽运营成本,还要为客户提供高质量体验。鉴于视频转换的计算强度,转码不断推升对灵活应变硬件加速的需求。

视频服务提供商运用新一代压缩标准和自适应比特率 (ABR) 视频流协议,在保障高质量视频分发的同时对带宽进行管理。然而,两种方法虽都能降低比特率,但却会提高计算的复杂性。有没有一种鱼与熊掌可兼得的方案呢?

赛灵思与慧与公司 (HPE) 已经开发出一种足以掀起性能革命的最终用户解决方案。使用搭载第二代 AMD EPYC 处理器的 HPE ProLiant DL385 Gen10 Plus 服务器。

1HEVC TCO 示例

服务器配置了 7 个 U50 用于编码、1 个 U50 用于 H.264 解码和缩放,能够支持视频流分辨率和全部 ABR 阶梯,如下表所示:

2:视频流与转码 ABR 阶梯示例

智能分区

赛灵思与 HPE 携手提供最高系统级性能。通过详细的工作负载配置,能够确保在主机 CPU 和 Alveo 加速器卡之间进行智能功能分区。从 CPU 卸载编码器功能可确保处理器能够为音频处理和广告插入等其他关键任务提供支持。对 FFmpeg 插件的支持有助于客户将 Alveo U50 加速器卡和软件轻松集成到现有基础设施中。标准的命令行窗口也提供了全面控制。

3:从内容生成器将数据流转码到消费端

优势与特性

  • 1080P60 实时编码,具备 x265 慢速画质
  • 提高每节点吞吐量
  • 较低的比特率编码有助于降低网络带宽成本
  • 更低的硬件成本
  • 与基于 CPU 的编码相比功耗更低
  • 用于解码器、定标器和编码器的 FFmpeg 插件
  • 提供软件编码器不具备的确定性性能
  • HEVC:主 10 配置文件,级别可达 5.1 HD/SD 4:2:0 8 位
  • H.264:主 10 配置文件,级别可达 5.1 HD/SD 4:2:0 8 位
  • 比特率:从 100Kb/s 到 40Mb/s 可配置
  • 时延:从 100ms 到 10s 可配置
  • 恒定比特率、受限可变比特率 (VBR) 和 ABR 模式
  • 帧类型:I、P 和 B,提供灵活的开放/闭合 GOP 模式和 GOP 长度
  • 低成本 HPE 服务器,提供比软件型解决方案更低的总体拥有成本 (TCO)
  • CPU 上最低的服务器负载,实现音频处理和广告插入等附加功能
  • HPE iLO BMC 可支持 Alveo U50 卡

初启您的自有编码器 IP

部署了专有视频编码器 IP (使用 C++ 或 RTL 编写)的客户也能利用 Alveo Vitis 工具链提供的加速卸载功能。

方案介绍

采用 HPE 与赛灵思技术

降低硬件成本并提高比特率效率能够大幅节省资本支出 (CAPEX) 和运营成本 (OPEX)。

解决方案构成

  • HPE ProLiant DL385 Gen10 Plus 服务器
  • 赛灵思 Alveo U50 加速器卡
  • 赛灵思视频转码固件与许可证

产品简介

  • 低比特率高画质实时编码,提供最低的互联网带宽成本 (OPEX)

– AMD 第二代 EPYC 处理器技术

  • 针对视频编码功能,以最低主机 CPU 负载加速编码

– 支持 ABR 阶梯的高性能 HEVC 和 H.264 编码流

  • 完整配置的编码流水线解决方案

– 基于行业标准 FFmpeg 的简单 API

Xilinx低比特率高品质 ABR 视频实时转码(HPE 参考架构)的更多相关文章

  1. iOS8 Core Image In Swift:视频实时滤镜

    iOS8 Core Image In Swift:自己主动改善图像以及内置滤镜的使用 iOS8 Core Image In Swift:更复杂的滤镜 iOS8 Core Image In Swift: ...

  2. 使用OPRT库来实现局域网视频实时传输

    转载,侵删 4.代码设计 目的:使用OPRT库来实现局域网视频实时传输 参考samle_venc.c进行ortp开发 4.1.程序流程如下 step1:定义变量,VPSS,VENC,零散变量 step ...

  3. EasyDSS流媒体视频实时回传与录像管理解决方案

    一.背景 1.1 方案背景 随着互联网基础设施建设的不断完善和发展,带宽的不断提速,尤其是光纤入户,4G/5G/NB-IoT各种技术的大规模商用,视频在各行各业越来越受到重视,无论是传统的视频媒体转向 ...

  4. 3┃音视频直播系统之浏览器中通过 WebRTC 直播视频实时录制回放下载

    一.录制分类 在音视频会议.在线教育等系统中,录制是一个特别重要的功能 录制一般分为服务端录制和客户端录制 服务端录制:优点是不用担心客户因自身电脑问题造成录制失败(如磁盘空间不足),也不会因录制时抢 ...

  5. Android短视频SDK转码实践

    一. 前言 一些涉及的基本概念: 转码:一般指多媒体文件格式的转换,比如分辨率.码率.封装格式等: 解复用(demux):从某种封装中分离出视频track和音频track,然后交给后续模块进行处理: ...

  6. 【miscellaneous】基于gstreamer的实时转码

    目标是实现一个实时转码,可用于IPTV提供节目源.相关工作在ubuntu操作系统下进行.需要对源代码进行修改的时候,直接采用apt-get source命令获取源代码,根据需要进行修改,然后安装,这样 ...

  7. 近200篇机器学习&深度学习资料分享(含各种文档,视频,源码等)(1)

    原文:http://developer.51cto.com/art/201501/464174.htm 编者按:本文收集了百来篇关于机器学习和深度学习的资料,含各种文档,视频,源码等.而且原文也会不定 ...

  8. 视频直播源码开发中的流媒体协议:rtmp协议

    一.概念与摘要 视频直播源码的RTMP协议从属于应用层,被设计用来在适合的传输协议(如TCP)上复用和打包多媒体传输流(如音频.视频和互动内容).RTMP提供了一套全双工的可靠的多路复用消息服务,类似 ...

  9. java-FFmpeg(一) 实现视频的转码和截图功能

    FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件).它提供了录制.转换以及流化音视频的完整解决方案.它包含了非常先进的音频/视频编解码库l ...

随机推荐

  1. 从苏宁电器到卡巴斯基第14篇:我在苏宁电器当营业员 VI

    我也过了一把讲师的瘾 由于iPhone已经成为了我们的主推产品,因此苏宁要求手机专区的每一个人,不论是自营还是厂促,都要对iPhone非常了解才可以.于是,督导也没有事先通知我,就直接让我给手机专区的 ...

  2. git修改远端仓库地址

    git remote set-url origin 远端地址

  3. 【哲学角度看软件测试】要想软件“一想之美”,UI 测试少不了

    摘要:软件测试的最高层次需求是:UI测试,也就是这个软件"长得好不好看". 为了让读者更好地理解测试,我们从最基础的概念开始介绍.以一个软件的"轮回"为例,下图 ...

  4. Spring Security 入门(基本使用)

    Spring Security 入门(基本使用) 这几天看了下b站关于 spring security 的学习视频,不得不说 spring security 有点复杂,脑袋有点懵懵的,在此整理下学习内 ...

  5. Java安全之Fastjson反序列化漏洞分析

    Java安全之Fastjson反序列化漏洞分析 首发:先知论坛 0x00 前言 在前面的RMI和JNDI注入学习里面为本次的Fastjson打了一个比较好的基础.利于后面的漏洞分析. 0x01 Fas ...

  6. char值不能直接用作数组下标

    #include <stdio.h> //用 char 的值作为数组下标(例如,统计字符串中每个字符出现的次数),要考虑到 //char 可能是负数.有的人考虑到了,先强制转型为 unsi ...

  7. 加载usbserial驱动后,为什么adb不可用了?

    ​某设备提供了USB串口功能,上位机(Host端)可以通过USB串口与之通信.对于Linux上位机,比如Ubuntu,自带usbserial驱动,当安装usbserial驱动后,上位机就会生成ttyU ...

  8. memcache 和 redis 的区别

    1)Redis中,并不是所有的数据都一直存储在内存中的,这是和Memcache相比一个最大的区别.2)Redis在很多方面具备数据库的特征,或者说就是一个数据库系统,而Memcache只是简单的K/V ...

  9. [Python] 可变/不可变类型 & 参数传递

    与c/c++不同,Python/Java中的变量都是引用类型,没有值类型 Python赋值语句由三部分构成,例如:   int   a  = 1 类型 标识 值 标识(identity):用于唯一标识 ...

  10. SimpleSelectionSort

    简单选择排序 <script type="text/javascript"> var obj={ data:[0,3,1,5,7,4,8,9,5], length:8 ...