Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Networking 网络:发送视频(理论上)_Networking_Video_Theory - Fatal编程技术网

Networking 网络:发送视频(理论上)

Networking 网络:发送视频(理论上),networking,video,theory,Networking,Video,Theory,上下文 我们有一个不稳定的传输通道。一些数据包可能丢失。 从a向B或从B向a的任何方向发送单个网络数据包需要3秒钟。 我们允许信号延迟5秒,不能再延迟了。所以我们有一个5秒的缓冲区。我们可以随心所欲地利用这5秒钟。 目前我们仅使用80%的传输通道,因此我们还有1/4的空间可供利用。 视频的质量不能再差了。 问题 我们需要提高质量。如何处理丢失的数据包 解决方案 有一件事——在这种情况下,我们不能使用TCP,因为当TCP检测到一些问题时,它会请求重新传输丢失的数据。这意味着数据包将在9秒后到达,这

上下文

我们有一个不稳定的传输通道。一些数据包可能丢失。 从a向B或从B向a的任何方向发送单个网络数据包需要3秒钟。 我们允许信号延迟5秒,不能再延迟了。所以我们有一个5秒的缓冲区。我们可以随心所欲地利用这5秒钟。 目前我们仅使用80%的传输通道,因此我们还有1/4的空间可供利用。 视频的质量不能再差了。 问题

我们需要提高质量。如何处理丢失的数据包

解决方案

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


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

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


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

使用UDP不会神奇地修复A和B站点之间的互联网。边缘缓存是向远方的订户提供高带宽内容的最佳方式。参与内容交付网络的服务。说真的,他们很擅长。是的!前向纠错是一条路要走。谢谢