替换丢帧
Replace dropped frame
我正在做一个云游戏解决方案,其工作方式类似于 "good"。
目前我们的服务器正在运行游戏,使用 VCE(AMD 硬件编码)对视频进行编码,将视频帧分块并以 UDP 格式发送给玩家。播放器收到数据包,重建数据并解码。所以如果没有丢包,我们就没有问题。
在有线连接的情况下,一切都很顺利,但人们喜欢使用 Wifi(5ghz,我们无法处理 2Ghz)。即使你有一个很好的 Wifi,你也可能会遇到丢包的情况。我们有一个可行的冗余计划 "okish",但它会占用太多网络。
这里有一个小小的解释:
原始编码(仅P帧):
F1 - F2 - F3 - F4 - F5
F2丢了现在怎么办:
F1-空-F3(丑)-F4(丑)-F5(丑)
我们要做的,替换F2:
F1 - F1' - F3 - F4 - F5
如果第三帧指的是F1'(以为是F2)可以吗?至少我认为这比什么都不做要好。有没有办法更改 F3 的引用(因此它指的是 F1 而不是 F2),或者使用 F2 的 "header" 创建 F1'?
您的解决方案在很大程度上是无效的。您应该采用与 space 中其他人相同的解决方案。即周期性帧内刷新、参考帧失效和 FEC。
我正在做一个云游戏解决方案,其工作方式类似于 "good"。
目前我们的服务器正在运行游戏,使用 VCE(AMD 硬件编码)对视频进行编码,将视频帧分块并以 UDP 格式发送给玩家。播放器收到数据包,重建数据并解码。所以如果没有丢包,我们就没有问题。
在有线连接的情况下,一切都很顺利,但人们喜欢使用 Wifi(5ghz,我们无法处理 2Ghz)。即使你有一个很好的 Wifi,你也可能会遇到丢包的情况。我们有一个可行的冗余计划 "okish",但它会占用太多网络。
这里有一个小小的解释:
原始编码(仅P帧):
F1 - F2 - F3 - F4 - F5
F2丢了现在怎么办:
F1-空-F3(丑)-F4(丑)-F5(丑)
我们要做的,替换F2:
F1 - F1' - F3 - F4 - F5
如果第三帧指的是F1'(以为是F2)可以吗?至少我认为这比什么都不做要好。有没有办法更改 F3 的引用(因此它指的是 F1 而不是 F2),或者使用 F2 的 "header" 创建 F1'?
您的解决方案在很大程度上是无效的。您应该采用与 space 中其他人相同的解决方案。即周期性帧内刷新、参考帧失效和 FEC。