云端虚拟视频转码
内容,并将其处理为可供订阅者在次日观看。此类提供商每天可接收数百小时的内容,这些内容需要转码为多种不同的格式,以便传递到许多设备。结果是需要转码数千小时的视频。
例如,提供商正在从多个制作者那里接收 200 小时的内容。根据所支持的设备不同,提供商可能会将此内容制作成多达 100 种不同的转 码输出,以解决其允许的任何消费者设备对编解码器、分辨率、比特率等的不同需求。
为了使这个例子更简单,我们假设,现在提供商将执行 10 种不同的 1080p30 H.264 输出。运行在标准的 1RU 双 Intel® Xeon® E5-2650V2 处理器服务器上,服务器中每个 CPU 能够处理大约 60 帧/秒的 X.264 转码(在 3.2GHz Intel® Core™ i7-4770R 上以默认 CRF 快速模式 下的33fps 数据推断得出);没有虚拟化运行时,则每个服务器达到 120 帧/秒。但在云环境下,转码器将在虚拟机中运行,因此,我们 需要将此数字降低约10%,即每服务器总计约 108 帧/秒。
如果以 30 帧/秒转码 200 小时的内容,系统需要转码 2.16 亿帧才能实现 10 种输出。速率为 108 帧/秒时,双 Intel® Xeon® E5-2650v2 服务器将需要 556 小时来执行此任务。而这对电视回看功能不是真正地有效。使用戴尔 R720T 等双 E5-2650V2 2RU 服务器时,上述工 作量需要 24 个服务器(>1 机架)以 100% 最快速全天候不间断运行,才能确保内容能够在 24 小时内传递给消费者。以最快速全天候 不间断运行肯定会导致数据中心故障,因此需要更多的服务器来分摊负荷,以确保可靠性。含有 2x Intel® Xeon® E5-2650V2 处理器的戴 尔 R720T 在有/无 4x Artesyn SharpStreamer™ 卡时的比较:
另一种方法是在此类系统中使用 Artesyn SharpStreamer™ 卡。 在带有 4 个 Intel® Core™ i7-4650U CPU 且每个 CPU 节点分 别能够传递 120-240 帧/秒的 1080p 转码的条件下,提供商就可以进一步提高每个服务器的效率。在这种配置下,配合 CPU 内核上的软件,一台含有双 Intel® Xeon® E5-2650V2 和四个 Sharp Streamer 卡的服务器可有效地达到约 4000 帧/秒。为了与 Intel® Xeon® E5-2650V2 软件解决方案做比较,我们将专注于在 平衡质量模式(Intel MediaSDK 目标使用 = 4)下每节点 180 帧/ 秒的中间值,因此四张 PCIe 卡以 2880 帧/秒进行处理。这个解 决方案能够通过单个服务器在 21 小时内将 200 小时的内容处理 为 10 种单独的输出,服务器数量仅需另一方案的 1/24,功率降 低至 1/11,成本更是减少至 1/5 以下。
而 10x 1080p30 转码可能不是此种部署的真正代表,可以想象得 出,提供商将需要提供更多计算,例如,一个 1080p30 大致相 当于单个 720p60。还应注意,200 小时仅代表许多内容提供商接收的总小时数的一部分。
实时/线性 ABR 广播转码器需求
对于消费者而言,一天内的直播电视观看习惯随时改变。如今,IPTV 提供商必须做到不仅能传递至他们机顶盒中的已知实体,而且需要适应消费者观看他们内容所使用的大量设备,例如平板电脑、手机、第三方电视(如 Roku™、Apple TV 和亚马逊的 Fire TV)。广播电视提供商提供在线电视门户网站时也面临类似 的挑战。结果就是 IPTV 提供商现在需要能够以最小延迟实时生成大量不同的转码格式。
为了适应网络拥塞,大多数提供商已转向自适应比特率技术,例 如苹果的 HLS、Silverlight、PlayReady 等,其允许消费者设备决 定是否需要切换到不同的配置文件,以确保内容能够连续播放。在多数情况下,消费者愿意容忍视频质量的瞬间降低,但重新缓 冲通常会导致消费者改变频道或改变提供商。自适应流试图通过 将视频切割为某一时间段(例如,2-4 秒)的多个区块,并使客 户端能够在伪播放列表(称作清单)中使用这些区块,来帮助消 费者设备适应网速和带宽的变化。
此清单为客户端提供相关数据,展示什么配置文件适用于特定时间索引以及要请求的必要文件是什么。消费者设备请求其所需的 配置文件,并监控下载时间,如果时间不能满足维持播放率所需 的时间,设备将请求较低级的配置文件并监控,最终可能需要重新缓冲,但是,已经配置好的设备将能够在需要重新缓冲前及时 为播放器获得下载的配置文件,除非网络出现严重问题。
自适应流的缺点是需要创建不同的配置文件。在多数情况下,提供商不仅需要为其目标设备处理多种自适应流技术,还需要适应各种 设备所支持的不同分辨率、编解码器配置文件、比特率等。这将导 致单个信道需要很多
- 未来的视频依赖转码技术(06-08)
- 基于FPGA的二-十进制转码器设计(06-05)
- 视频转码技术及其转码技术的实现详解(11-25)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)