【问题标题】:Network: sending a video (in theory)网络:发送视频(理论上)
【发布时间】:2015-02-26 13:28:20
【问题描述】:

上下文

  • 我们有不稳定的传输通道。一些数据包可能会丢失。
  • 向任何方向(从 A 到 B 或从 B 到 A)发送单个网络数据包需要 3 秒。
  • 我们允许 5 秒的信号延迟,不能再延长了。所以我们有一个 5 秒的缓冲区。我们可以随意使用这 5 秒。
  • 目前我们只使用了 80% 的传输通道,因此我们还有 1/4 的空间可以利用。
  • 不能降低视频质量。

问题

我们需要提高质量。如何处理丢包?

解决方案建议

某件事——在这种情况下我们不能使用 TCP,因为当 TCP 检测到一些问题时,它会请求重新传输丢失的数据。这意味着数据包将在 9 秒后到达,这超出了限制。

因此,我们需要使用 UDP 并自己处理这些错误。那怎么办呢?如何确保不会像当前一样丢失那么多数据包,而不重新传输它们?

【问题讨论】:

  • 使用 UDP 不会神奇地修复您的 A 和 B 站点之间的互联网。边缘缓存是将高带宽内容提供给远方订阅者的最佳方式。参与内容交付网络的服务。说真的,他们很擅长。

标签: networking video theory


【解决方案1】:

这是一个复杂的解决方案,但到目前为止,最好的选择是添加前向纠错 (FEC)。这就是图像从空间探测器传输的方式,其中延迟以分钟或小时为单位。它也被手机使用,其中延迟的数据包不利于双向通信。

一个不太好,但更容易实现的选项是使用 UDT。这是一个类似于 tcp 的 UDP 重传库,但允许您对协议进行更多控制。

【讨论】:

  • 是的!前向纠错是要走的路。谢谢!!
猜你喜欢
  • 2020-10-17
  • 1970-01-01
  • 2016-08-09
  • 2015-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多