将一个连接转发到多个并行

将一个连接转发到多个并行

我想在两个 Linux 服务器之间传输视频数据。

它们彼此相距较远,发送方的上行链路约为 20MBps(基于 iperf3)。

然而,我希望突破一些 ISP 限制:

第一次试运行:

server:~# iperf3 -s
client:~# iperf3 -c SERVERIP -R
... measuring...
[  4]   0.00-30.00  sec  21.8 MBytes  6.09 Mbits/sec                  receiver

6.09MBits/sec 远低于 ISP 的评级,因此我尝试使用 iperf 建立并行连接进行第二次测试运行:

server:~# iperf3 -s
client:~# iperf3 -c SERVERIP -R -P 8
... measuring...
[SUM]   0.00-30.00  sec  71.9 MBytes  20.1 Mbits/sec                  receiver

很好,20MBits/sec 接近最大带宽。

使用 20MBits/sec 平均带宽流式传输视频基本上可以得到高质量的视频,而使用 6MBps 带宽流式传输视频则质量差很多。

如果视频播放器和流媒体服务器无法并行播放流媒体,我有什么选择吗,比如反向代理、vpn,或者任何可以将一个连接隧道化为多个连接的东西,就像怎么iperf -P 8做的那样?

答案1

我可以直接确认,multicataggregartp和的组合reordertp(来自 VLC 的制造商 VideoLAN)可以在这里找到即使对于广播质量的流也能满足您的需要。

  • 为单个组合 RTP 流创建多个aggregartp/流链接reordertp
  • 使用multicat(或任何你想要的)将您的流输入到aggregartp

也就是说,为了让事情变得简单,您可能需要重新考虑:在编码器端调整所有内容可能会将非常优质的流放入 6Mbit/s(据我所知,这是 Netflix 的最高设置!)然后就完成了。

相关内容