在只包含I-帧和P-帧的H.264流中,我想知道在存在分组丢失的情况下,是否有可能以“相对容易的方式”插入任何丢失的P-帧。
想象一下:我……(原文) --> I X P P ...(已收到)
IP... --> ..。以此类推。
查看H.264图块似乎并不那么容易……(例如High-Profile block diagram)。
目前,我正在使用H.264动态负载类型96和97;Baseline和High video Profiles只是为了接收视频,如果它有帮助的话。
发布于 2015-09-29 12:35:58
如果整个帧都丢失了,简短的答案是:不,没有“相对简单的方法”。即使你使用了每一个H264错误隐藏技巧,你最终也会丢失后续P帧引用的像素数据,并产生视觉上不愉快的结果。
现在,丢失整个帧的情况非常少见。如果数据包丢失如此严重,最好的恢复方法是重新传输丢失的数据包(如果延迟允许),或者甚至向服务器请求新的I帧(我假设您有强大的网络堆栈,并具有到服务器的反馈循环)。
要解决丢包问题,更好的方法是关注弹性和数据冗余。我强烈推荐h264和another paper on the same subject中的presentation Error resiliency and concealment -它们描述了许多缓解技术,如灵活的宏块/切片排序和冗余切片。不幸的是,我无法提供现有实现的链接-实时视频流是一个非常狭窄的领域,所有运行积极研究和开发的公司都对其实现保密。
https://stackoverflow.com/questions/32592774
复制相似问题