# 系统要求

## 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

这是[英伟达显卡的比较指南](https://developer.nvidia.com/video-encode-decode-gpu-support-matrix)，它将帮助您选择正确的型号。

### I/O 硬件

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

### 宽带

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

| 质量         | 最低      | 推荐      |
| ---------- | ------- | ------- |
| 1080i/720p | 10 Mbps | 20 Mbps |
| 1080p      | 15 Mbps | 30 Mbps |
| 4K         | 20 Mbps | 40 Mbps |

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

### 分配硬件

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

1. 发送（或发布）计算机将运行 VT Publisher，并且需要具有足够的编码能力。
2. 接收机器将运行 VT Receiver — 这些机器可能更轻巧，因为它们的工作将只是解码传入的流。

{% hint style="info" %}
请务必重视发送计算机的配置，因为它是流媒体问题的常见原因。
{% endhint %}

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 编码。

这是[英伟达指南](https://developer.nvidia.com/video-encode-decode-gpu-support-matrix)，它显示了每款英伟达显卡型号支持多少编码过程：找到“最大并发会话数”（Max # of concurrent sessions）并查看它是否支持 H.264 和 H.265，或仅支持 H.264。例如，您会发现所有 GeForce GTX 型号最多支持 3 个同时编码过程，但并非所有型号都支持 H.265：

![](https://2005263509-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MBOPv2qDuGcYYCIvI_3%2F-MKJlV7hvTsd5n-9yXQ1%2F-MKJnMooCTkFte-0Phmg%2FScreenshot%202020-10-23%20at%2011.31.54.png?alt=media\&token=1bf60f63-4f62-42b6-b90a-2b734313f6d6)

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

![](https://2005263509-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MBOPv2qDuGcYYCIvI_3%2F-MKJlV7hvTsd5n-9yXQ1%2F-MKJs_696JRwZWpDPt8u%2FScreenshot%202020-10-23%20at%2011.54.44.png?alt=media\&token=476dc5cc-20de-495f-905b-61ecaf5274ea)

### 显卡硬件建议

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

| 流数                                        | 1                                                | 2                                                | 4                                  | 8                                 |
| ----------------------------------------- | ------------------------------------------------ | ------------------------------------------------ | ---------------------------------- | --------------------------------- |
| 标清 480i60、576i50、480p30、576p25 (2.5 Mbps) | <p>CPU: 10%</p><p>GeForce GTX 1050 / 1050 Ti</p> | <p>CPU: 18%</p><p>GeForce GTX 1050 / 1050 Ti</p> | <p>CPU: 20%</p><p>Quadro P2000</p> | <p>CPU:</p><p>Quadro P2000</p>    |
| 高清 720p60、1080i60、1080p30 (5 Mbps)        | <p>CPU</p><p>GeForce GTX 1050 / 1050 Ti</p>      | <p>CPU</p><p>GeForce GTX 1050 / 1050 Ti</p>      | <p>i7-4770</p><p>Quadro P2000</p>  | <p>i7-8770</p><p>Quadro P4000</p> |
| 高清 1080p60 (7 Mbps)                       | <p>CPU</p><p>GeForce GTX 1050 / 1050 Ti</p>      | <p>CPU</p><p>GeForce GTX 1050 / 1050 Ti</p>      | <p>CPU</p><p>Quadro P2000</p>      |                                   |
| 4K 超高清 2160p30                            |                                                  |                                                  |                                    |                                   |
| 4K 超高清 2160p60                            |                                                  |                                                  |                                    |                                   |
| 8K 4320p60                                |                                                  |                                                  |                                    |                                   |

### 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 服务器具有足够的网络带宽也很重要。

{% hint style="info" %}
TURN 带宽 = peerBitrate \* peerCount + 5 Mbit用于服务消息。
{% endhint %}

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