【问题标题】:WebRTC Get stats metrics for refreshing keyframesWebRTC 获取刷新关键帧的统计指标
【发布时间】:2021-02-22 11:21:09
【问题描述】:

我目前正在使用 webrtc 通过 udp(rtp) 接收 h264 流。

我正在使用 gstreamer 对该流进行编码并发送它。

我现在编码的方式是使用无限的 GOP 大小,以允许最低比特率。

但是对于无限的 GOP 大小,数据包丢失等需要我发送关键帧。

我想知道是否有更好的指标来确定何时发送关键帧,以及为什么我们需要在这种情况下发送关键帧。

例如,需要关键帧的流发生了什么。

还有什么是可以用来确定是发送关键帧的好时机的最佳指标。我听说丢包还不够好,因为并非所有丢包都需要刷新关键帧,有时丢包和接收帧之间会有延迟。

【问题讨论】:

    标签: webrtc gstreamer h.264


    【解决方案1】:

    您能否运行avdec_h264,然后在遇到错误时发送 PLI?

    您可以自己解析 H264 比特流并在特定条件下执行操作。

    • 我的 I-Frame 是否损坏
    • 在 n 个损坏的 P/B 帧之后

    我要自己去读书。我想知道确定损坏的宏块的数量有多难。

    【讨论】:

    • 至少使用 webrtc,pli 计数更新得不够快,例如,在 webrtc get stats 上跟踪 PLI 之前,我将有 1-2 秒的冻结流。还有其他方法可以确定解码器是否收到损坏的 P 帧?考虑到我正在使用 webrtc get stats
    • 哦,我的错,我以为 GStreamer 正在接收。 w3.org/TR/webrtc-stats/#receivedrtpstats-dict* 会给你 partialFramesLost 和 fullFrameLost。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-16
    • 1970-01-01
    • 2017-07-30
    相关资源
    最近更新 更多