系统要求

运行 Video Transport 需要什么硬件。

VT 应用程序的系统要求

建议使用以下硬件来运行 VT Publisher、VT Receiver 和 VT Guest:

  • Windows 8.1、10 或 Windows Server 2012、2016

  • Intel i7-4770 CPU 或更高

  • 16 GB 内存

  • .NET Framework 4.6.1 或更高版本

VT Publisher 的显卡建议

与 VT Receiver(接收源并对其进行解码)和 VT Guest(接收一个源并编码一个源)不同,VT Publisher 能够编码和发送多个源。因此,它需要更强大的编码能力。

我们建议使用英伟达硬件以获得最佳性能,例如:

  • NVIDIA GeForce GTX 1070 — 最多 2 通道全高清 60p 视频,比特率为 30 MB/s

  • NVIDIA Quadro M2000 — 最多支持 4 通道全高清 60p 视频,比特率为 10 MB/s

  • NVIDIA Quadro P4000 — 最多支持 8 通道全高清 60p 视频,比特率为 10 MB/s

  • NVIDIA GeForce GTX 1060 — 最多支持 1 通道的全高清 25p 视频,比特率为 40 MB/s

这是英伟达显卡的比较指南,它将帮助您选择正确的型号。

I/O 硬件

Video Transport 与 Blackmagic Design、AJA、Magewell 和 Bluefish444 的硬件兼容。

宽带

我们的技术目前最多支持 50 Mbps。

如果启用了自适应比特率功能,则在带宽达不到的情况下,视频质量可能会动态降低。

分配硬件

正确使用 Video Transport 所需的硬件取决于方案中每台计算机的功能。最好为发送和接收功能分配单独的机器:

  1. 发送(或发布)计算机将运行 VT Publisher,并且需要具有足够的编码能力。

  2. 接收机器将运行 VT Receiver — 这些机器可能更轻巧,因为它们的工作将只是解码传入的流。

请务必重视发送计算机的配置,因为它是流媒体问题的常见原因。

Video Transport 中使用以下编解码器:

  1. H.265 — 用于“SRT-HEVC”流模式(需要英伟达显卡);

  2. H.264 — 用于“WebRTC-AVC”和“SRT-AVC”流模式;

  3. VP9 — 在使用 Web 应用程序用于 WebRTC。

我们建议使用显卡编码器和解码器,因为 CPU 无法提供相同质量的视频,并且通常功率不足。选择正确的英伟达显卡产品时要牢记两个可能的限制:

  1. 显卡编码的主要限制是同时编码过程的数量。大多数显卡在 3 种编码过程中都有限制。如果要从一台计算机发送三个以上的流,建议在方案中使用 Quadro(从 P2000 开始)、Grid 或 Tesla 系列。

  2. 另一个限制是编解码器支持 — 例如,Quadro M2000 不支持 H.265。在这种情况下,如果在 VT 中选择了“SRT-HEVC”模式,它将自动切换到显卡驱动的 H.264 编码。

这是英伟达指南,它显示了每款英伟达显卡型号支持多少编码过程:找到“最大并发会话数”(Max # of concurrent sessions)并查看它是否支持 H.264 和 H.265,或仅支持 H.264。例如,您会发现所有 GeForce GTX 型号最多支持 3 个同时编码过程,但并非所有型号都支持 H.265:

另外,您可能会发现 Quadro P1000 型号确实支持 H.265(可用于“SRT-HEVC”场景),但仍限于 3 个并发编码会话,而其他一些型号则不限制 H.265 的会话数量:

显卡硬件建议

以下是针对最常见配置的一些测试结果(仍在进行中)。

AWS 部署

最合适的 AWS EC2 VT 部署的实例是 G4 系列: https://aws.amazon.com/ec2/instance-types/g4/

VT 在当前版本中不使用多个显卡资源,因此最好使用单个显卡虚拟机。从 g4dn.xlarge 开始一直到 g4dn.16xlarge 均取决于预期的负载。

本地部署

如果要在自己的基础结构上部署 Video Transport,则还需要运行信令和 TURN 服务器的实例。这些可以在您自己的服务器上或云(例如 AWS EC2)中运行。

信令服务器在端点之间建立握手,并允许它们建立直接连接。该服务器不需要强大的性能。一个 HTTP 服务器 + 一个“轻量级”后端 i7 应该就足够了。

在端点无法建立直接连接(由于防火墙设置或网络配置)的情况下,则由 TURN 服务器充当代理(重新流转发)。TURN 服务器上的负载取决于它将重新发送的流的数量。

TURN 服务器需要足够的 CPU 能力和内存大小才能运行。例如,具有 32 GB 内存的 i9 CPU 可以通过 TURN 处理多达 100 个连接。同样,TURN 服务器具有足够的网络带宽也很重要。

TURN 带宽 = peerBitrate * peerCount + 5 Mbit用于服务消息。

对于操作系统,我们建议运行 Ubuntu,这是一个基于 Debian 的 Linux 构建(但是其他版本的 Linux 也可以使用)。

Last updated