更换掉落的框架[英] Replace dropped frame

本文是小编为大家收集整理的关于更换掉落的框架的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

我正在做一个"不错"的云游戏解决方案.

在我们的服务器运行游戏的那一刻,使用 VCE(AMD 硬件编码)对视频进行编码,对视频帧进行分块并以 UDP 格式将其发送给玩家.播放器接收数据包,重新构建数据并对其进行解码.所以如果没有丢包,我们就没有问题.

在有线连接的情况下,一切都很顺利,但人们喜欢使用 Wifi(5ghz,我们无法处理 2Ghz).即使您有一个良好的 Wifi,您也可能会遇到丢包的情况.我们有一个"不错"的冗余计划,但它需要太多的网络.

这里是一个小解释:

原始编码(仅P帧):

F1 - F2 - F3 - F4 - F5

如果我们输掉F2,我们现在做什么:

F1 - 空 - F3(丑) - F4(丑) - F5(丑)

我们要做的,替换F2:

F1 - F1' - F3 - F4 - F5

如果第三帧指的是 F1'(认为它是 F2),它会起作用吗?至少我觉得总比什么都不做要好.有没有办法改变 F3 的引用(所以它指的是 F1 而不是 F2),或者用 F2 的"标题"创建 F1'?

推荐答案

您的解决方案在很大程度上是无效的.您应该采用与您所在领域的其他人相同的解决方案.即周期性帧内刷新、参考帧失效和 FEC.

本文地址:https://www.itbaoku.cn/post/2091177.html

问题描述

I'm doing a Cloud Gaming solution that works kind of "good".

At the moment our servers runs a game, encode the video using VCE (AMD hardware encoding), chunk the video frames and send it in UDP to the player. The player receives the packets, rebuid the data and decode it. So we have no problems if there is no packet loss.

In the case of a wired connexion everything is smooth, but people like to use Wifi (5ghz, we can't handle 2Ghz). Even if you have a good Wifi, you may experience packet loss. We have a redundancy plan that works "okish" but it will take too much network.

Here is a small explanation:

Original encoding (only P frames):

F1 - F2 - F3 - F4 - F5

What we do at the moment if we lose F2:

F1 - empty - F3(ugly) - F4(ugly) - F5(ugly)

What we want to do, replace F2:

F1 - F1' - F3 - F4 - F5

Would it work if the third frame refers to F1' (thinking it is F2)? At least I think it better than doing nothing. Is there a way to change the reference of F3 (so it refers to F1 and not F2), or creating F1' with the "header" of F2?

推荐答案

Your solution would be largely ineffective. You should adopt the same solution as the others in your space. That being periodic intra refresh, reference frame invalidation and FEC.