【问题标题】:Can P frame of HEVC video be dropped on streaming?HEVC 视频的 P 帧可以在流媒体上丢弃吗?
【发布时间】:2020-01-10 02:24:04
【问题描述】:

我正在不可靠的网络上使用 HEVC 编码/解码创建直播应用。 HEVC 中有可用的 IDR/I/P/B 帧类型,我使用 IDR 和 P 帧,因为源视频是实时捕获的,并且从捕获设备到显示的延迟很关键。

由于网络不可靠,因此需要预计流式传输中的任何帧都可能被丢弃。 为了避免解码后的图像出现锯齿状,我将接收器实现如下:

  1. 正常运行时 1 个 IDR 帧和 29 个 P 帧(= 总共 30fps)秒数
  2. 如果 IDR 帧被丢弃,即将到来的 P 帧不会传递给解码器并等待新的 IDR 帧
  3. 如果 P 帧被丢弃,则跳过该帧并将接收到的下一帧传递给解码器

这个过程源于我的理解,P帧指的是最新的IDR帧,所以任何P帧都可以被丢弃,而任何IDR帧都不能被丢弃。

但是,解码后的图像仍然是锯齿状的(看起来解码器无法补偿运动矢量)

我想到了以下问题:

  • P 帧是否指最后的 IDR 帧?或者任何帧(包括 IDR/I/P/B)都不能按照规范在 HEVC 上丢弃?
  • 有什么方法可以避免在不可靠的网络上流式传输的解码视频中出现锯齿?

非常感谢您!

【问题讨论】:

    标签: udp video-streaming live-streaming hevc real-time-data


    【解决方案1】:

    P 帧可以引用其他 P 帧。你不能放弃它们。您可以使用参考帧失效来强制它们仅参考 IDR,但这会增加比特率/降低图像质量。

    【讨论】:

    • 感谢您给我指点(参考框架失效)!我发现了另一个与我的stackoverflow.com/questions/37395657/replace-dropped-frame 类似的问题。
    • 我保留这个问题,以防有更多答案(在有损网络中流式传输视频的 QoS 的想法)。
    • 这是一个不同的问题。并且与 HEVC 或 P 帧无关。如果您还有其他问题,请打开另一个问题。
    猜你喜欢
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-12
    相关资源
    最近更新 更多