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.

[参考译文] Linux/AM5728:H.264编码帧速率

Guru**** 2609285 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/649297/linux-am5728-h-264-encode-frame-rate

器件型号:AM5728

工具/软件:Linux

客户尝试对 H.264 720p 流进行编码(fps 29.97)、但到目前为止输出仅为15fps。 他们 检查了每一个性能、 并注意到 VIDENC2_PROCESS 每720p 帧需要大约10ms。

 

是否有任何方法可以使用720p 编码使其更快?

附加的是 它们 的编码参数。

 

e2e.ti.com/.../parameter.c

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    am572x 能够处理720p30 h264编码。
    使用默认 videnc2test 演示时、他们是否观察到该问题?

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

    我怀疑他们有某种配置问题、他们正在寻找有关这方面的指导。 他们报告说、如果他们尝试以480p 的速率进行编码、则可以实现30fps。

    此致、

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

    您能否使用默认 videnc2test 演示进行检查?
    您也可以尝试使用 gstreamer 编码流水线。
    他们仅使用什么应用程序是仅编码?

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

    客户提供的更多信息应用程序正在执行 H.265 (ARM 上)到 H.264 (HWA)的代码转换:

    他们注意到、memcpy (720p YUV 帧到 ybuff 和 uvbuff 用于 FDY 和 FDUv)使用 其代码所需的时间超过30ms。

     

           memcpy ((char *) dceEncObj->buf.ybuff、inFrameObj->buff、(videoEnc->vidWidth * videoEnc->vidHeight));<

           memcpy ((char *) dceEncObj->buf.uvbuff、&inFrameObj->buff [videoEnc->vidWidth * videoEnc->vidHeight]、<

               (((videoEnc->vidWidth * videoEnc->vidHeight)>> 1));<

     

     播放机空闲,只需3毫秒。(H265软件解码,CPU 非常繁忙)

     

    是否有任何方法可以提高 memcpy 性能

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

    我使用 gstreamer 在我的一侧测试了代码转换。
    我使用了此管道:

    GST-LAUNCH-1.0文件 rc location=TearOfSteel-short-1280x720.265! 'video/x-raw、format=(string) NV12、framerate=(fraction) 30/1、width=(int) 1280、height=(int) 720'! h265dec 线程=2! VPE! 'video/x-raw、format=(string) NV12、width=(int) 1280、height=(int) 720'! 排队! ducatih264enc! h264parse! 真棒! 文件链接位置= trans.mov

    用于解码:

    gs-launch-1.0 -v playbin uri =文件:///usr/share/ti/video/trans.mov video -sink=fpsdisplaysink


    以下是输出的一部分:

    /GstPlayBin:playbin0/GstPlaySlink:playsink/GstBin:vbin/GstFPSDisplaySlink:fpsdisplaysinck0/GstTextOverlay:fs-display-text-overlay:文本=呈现:92、丢弃:0、当前:29.75、平均值:30.00
    /GstPlayBin:playbin0/GstPlaySlink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysinck0:最后一条消息=呈现:92、丢弃:0、当前:29.75、平均值:30.00
    /GstPlayBin:playbin0/GstPlaySlink:playsink/GstBin:vbin/GstFPSDisplaySlink:fpsdisplaysinck0/GstTextOverlay:fs-display-text-overlay:文本=渲染:108、丢弃:0、当前:30.75、平均值:30.11
    /GstPlayBin:playbin0/GstPlaySlink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysinck0:最后一条消息=呈现:108,丢弃:0,当前:30.72,平均值:30.11
    /GstPlayBin:playbin0/GstPlaySlink:playsink/GstBin:vbin/GstFPSDisplaySlink:fpsdisplaysinck0/GstTextOverlay:fs-display-text-overlay:文本=呈现:123、丢弃:0、当前:29.78、平均值:30.07
    /GstPlayBin:playbin0/GstPlaySlink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysinck0:最后一条消息=呈现:123,丢弃:0,当前:29.78,平均值:30.07
    /GstPlayBin:playbin0/GstPlaySlink:playsink/GstBin:vbin/GstFPSDisplaySlink:fpsdisplaysinck0/GstTextOverlay:fs-display-text-overlay:文本=呈现:138、丢弃:0、当前:29.74、平均值:30.03
    /GstPlayBin:playbin0/GstPlaySlink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysinck0:最后一条消息=呈现:138,丢弃:0,当前:29.74,平均值:30.03


    在客户端看来、由于 memcpy、观察到15fps、因此他们应该避免这种情况。

    希望这对您有所帮助。

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

    使用 gstreamer 流水线时、实现零开销复制还是 DMA? 我可以将客户指向的代码示例是否存在?

    此致、

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

    很抱歉耽误你的时间。 我不在办公室。
    GStreamer 使用 dmabuf,这意味着零缓冲区复制(他们也可以检查 capture -> encc 流水线)。
    问题的原因是 memcpy。

    希望这对您有所帮助。

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

    我要关闭此主题。 请重新打开。

    BR
    玛格丽塔