Udp HEVC视频的P帧可以在流媒体上删除吗?

Udp HEVC视频的P帧可以在流媒体上删除吗?,udp,video-streaming,live-streaming,hevc,real-time-data,Udp,Video Streaming,Live Streaming,Hevc,Real Time Data,我正在不可靠的网络上创建一个使用HEVC编码/解码的实时流媒体应用程序。 HEVC中有IDR/I/P/B帧类型,我使用的是IDR和P帧,因为源视频是实时捕获的,从捕获设备到显示的延迟非常关键 由于网络是不可靠的,因此需要预期流中的任何帧都可能被丢弃。 为了避免解码图像变得参差不齐,我实现了如下接收器: 正常运行时,1IDR帧和29P帧以秒计(=总共30fps) 如果IDR帧被丢弃,即将到来的P帧将不会传递给解码器,并等待新的IDR帧 如果P帧被丢弃,只需跳过该帧并将下一个接收到的帧传递给解码器

我正在不可靠的网络上创建一个使用HEVC编码/解码的实时流媒体应用程序。 HEVC中有IDR/I/P/B帧类型,我使用的是IDR和P帧,因为源视频是实时捕获的,从捕获设备到显示的延迟非常关键

由于网络是不可靠的,因此需要预期流中的任何帧都可能被丢弃。 为了避免解码图像变得参差不齐,我实现了如下接收器:

  • 正常运行时,1IDR帧和29P帧以秒计(=总共30fps)
  • 如果IDR帧被丢弃,即将到来的P帧将不会传递给解码器,并等待新的IDR帧
  • 如果P帧被丢弃,只需跳过该帧并将下一个接收到的帧传递给解码器
  • 这个过程来自于我的理解,p帧指的是最新的IDR帧,因此任何p帧都可以丢弃,而任何IDR帧都不能丢弃

    但是,解码后的图像仍然参差不齐(看起来解码器无法补偿运动矢量)

    我想到了以下问题:

    • P帧指的是最后一个IDR帧,这是真的吗?或者任何帧(包括IDR/I/P/B)都不能在规范中的HEVC上删除
    • 有没有办法避免在不可靠的网络上传输解码视频时出现锯齿状的问题

    提前非常感谢

    p帧可以引用其他p帧。你不能丢下它们。您可以使用“参考帧失效”强制它们仅引用IDR,但这将增加比特率/降低图像质量

    谢谢你给我一个指针(参考系失效)!我发现了另一个与我类似的问题。我保留这个问题,以备有更多答案(有损网络中流视频的QoS思想)。这是一个不同的问题。与HEVC或P帧无关。如果您还有其他问题,请打开另一个问题。