This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM5728:Ducati H.264编码器延迟

Guru**** 2609955 points
Other Parts Discussed in Thread: AM5728

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/655369/am5728-ducati-h-264-encoder-latency

器件型号:AM5728

您好!

我正在通过 RTP 向 AM5728接收30fps/1080p MJPEG 流、我希望将代码转换为 h264并重新传输到另一个器件。 我发现 ducatih264enc 中引入了一些延迟。 如何调整属性以最大程度地减小整体延迟? 我的发送管道(在 AM5728上)如下所示:

gs-launch-1.0 -v udpsrc port=1234 caps="application/x-rtp、media=(string) video、loads=(int) 26、clock-rate =(int) 90000、ssrc=(guint) 2823054885"! rtpjitterbuffer latiter=20压降延迟=false! 很棒的酒店! jpegparse! 极好的体验! VPE! VIDEO/x-RAW、FORMAT=NV12、width=1920、height=1080、framerate=30/1! ducatih264enc! h264parse! rtph264支付! udpsink 主机=192.168.100.114端口=1234 

我已经尝试设置 ducatih264enc 属性:rate-preset=1 hdHRD-buffer-size=4096,但延迟仍然很明显。

我的接收管道(在其他设备上)为:

gst-launch-1.0 -v udpsrc 端口=1234! application/x-rtp、encoding-name=h264、有效载荷=96! rtpjitterbuffer latiter=100 drop-on-later=false! rtph264depay! h264parse! 超赞! fpsdisplaysink sync=false 

谢谢、

Vishal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您可以尝试设置 latiter=400 drop-on-later=true;
    添加几个队列元素;
    设置级别;
    gs-launch-1.0 -v udpsrc port=1234 caps="application/x-rtp、media=(string) video、loads=(int) 26、clock-rate =(int) 90000、ssrc=(guint) 2823054885"! rtpjitterbuffer latiter=400 drop-on-later=true! 排队! 很棒的酒店! jpegparse! 排队! 极好的体验! 排队! VPE! VIDEO/x-RAW、FORMAT=NV12、width=1920、height=1080、framerate=30/1! 排队! ducatih264enc level=level-51! h264parse! 排队! rtph264支付! udpsink 主机=192.168.100.114端口=1234

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    另请设置间隔间=1。

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Margarita、

    感谢您的快速回复。

    我已经尝试过您的新流水线以及 Inter-interval=1、但结果并不稳定、并且延迟仍然很明显。

    如果有问题、我就能够使其正常工作(具有合理的低延迟)、保持 MJPEG 编码并将其从 AM5728发送到另一个器件。 当我尝试将 MJPEG 转换为 h264、然后通过 RTP 进行流式传输时、似乎引入了延迟。

    谢谢、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    如果在 h264parse (同时添加队列元素)之后添加 mpegtsmux 元素、您是否观察到任何改进?

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我要关闭此主题。

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Margarita、

    对延迟答复表示歉意。 我尝试了您建议的多路复用至 MPEGTS 的方法、然后通过 RTP 使用该方法、但我得到的结果与仅通过 RTP 的 H264非常相似、如果结果不相同。 我的理解是、延迟来自 ducatih264enc 或 与转码相关的某个元素(可能是 h264parse?)。

    是否有办法确定额外延迟来自哪个引脚点?

    您是否知道可以减少 h264代码转换延迟的任何其他属性修改?

    谢谢、

    Vishal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您能否在您的一侧检查 CPU 负载(top 命令)。 其中一个原因可能是 CPU 负载较高。
    我建议您尝试删除 rtpjitterbuffer。 但是、如果您没有观察到改进、请设置 drop-on-latiter=true。 在这种情况下、请设置 LEVEL=LEVEL-41和 INTER-INTERVAL = 1、这意味着没有 B 帧。
    您能否尝试在 VPE 之后以较低的分辨率更改电容器滤波器?

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    另请注意、在这种情况下、也可以从接收端生成延迟。 因此、我建议您也在接收端添加几个队列。 将解码替换为 avdec_h264。 同时替换 fpsdisplaysink。
    希望这对您有所帮助。

    BR
    玛格丽塔