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.

[参考译文] TDA4VEN-Q1:视频编码性能问题

Guru**** 2952510 points

Other Parts Discussed in Thread: TDA4VEN-Q1

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1616615/tda4ven-q1-video-encoding-performance-issue

器件型号: TDA4VEN-Q1

尊敬的专家:

 

根据 TDA4VEN-Q1 数据表中、视频编码器支持的吞吐量高达 400 百万像素/秒 。 根据此规范、如果我们使用四台 300 万像素摄像头(总计 1200 万像素)、我们预计帧速率将至少为 30fps(12美元 \text{MP}\乘以 30 \text{fps}= 360 \text{百万像素/秒}$、这小于 400 百万像素/秒的限制)。

然而、在对 EVM(评估模块)进行基准测试期间、我们观察到 4 通道 300 万像素设置的以下性能:

  • 比特率 1Mbps: ~24fps

  • 比特率 10Mbps: ~22fps

理论规格和实际结果之间存在显著差异。 请说明以下几点:

  1. 这种性能下降的根本原因是什么?

  2. 单个流的输入源不能超过 800 万像素 (4K)、还是我们忽视了开销?

 

谢谢

 

Daniel

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

    您好:  

    您能分享所使用的 SDK 和 HLOS 吗? 您如何进行编码?

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

    尊敬的 Sarabesh:

    SDK 信息:

    U-Boot 2024.04-ti-ga970f6e51043 (2024 年 11 月 13 日 — 14:26:23 +0000)
    Linux 版本 6.6.44-ti-01478-g541c20281af7-dirty (oe-user@oe-host)(aarch64-oe-linux-gcc (GCC) 13.3.0、GNU ld (GNU binutils) 2.42.0.20240723)#1 SMP Preempt Thu Nov 14 19:20:24 UTC 2024

    SDK:j722s-evm-10_01_00_04

     2. GStreamer 字符串
    appsrc format=gst_format_time is-live=true do-timestamp=true block=false name=myAppSrc0! 队列
    ! video/x-raw、width=(int) 1920、height=(int) 1536、帧速率=(分数)30/1、format=(string) NV12、 interlace-mode=(string)progressive、colorimetry=(string)bt601
    ! v4l2h265enc extra-controls.“enc、frame_level_rate_control_enable=1、video_bitrate_mode=1、video_bitrate=10000000、video_gOP_size=30“
    ! h265parse! 视频/x-H265、CONFIG-INTERVAL = 0
    ! appsink name=myAppSink0 max-Buffer=5 DROP=true SYNC=false

    3.流程如 下图所示。

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

    您好:  

    您的流水线是否基于 Vision-Apps SDK 中的 app_multi_cam_demo?

    您能分享一下您的 appsrc 和 appsink 正在做什么。 它们是摄像头输入和显示输出、还是您正在写入/读取文件?

    谢谢、
    Sarabesh S.

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

    尊敬的 Sarabesh:
    是的、我们的流水线基于  Vision-Apps SDK 中的 app_multi_cam_demo。
    关于摄像头输入和显示输出、您可以参考我们的 gstreamer 字符串、它们在存储器中 (myAppSrc0 和 myAppSink0 )。
    在实践中、我们使用您的摄像头扩展板 (Fusion 1) 连接两个摄像头、然后每个摄像头在 LDC 节点处拆分为两条图像输入路径(总共 4 通道输入 1920x1536)。 请参阅我们的流程图。

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

    您好、John:

    您是否已对 Linux+RTOS SDK 进行了任何更改、或者这一切都是默认设置?

    谢谢、
    Sarabesh S.

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

    尊敬的 Sarabesh:

    这都是默认设置。 (sdk10.1)

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

    尊敬的 Sarabesh:

    通过更改流以为每个通道拥有自己的编码线程、可以实现接近 30fps 的帧速率。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    通过更改流程、为每个通道拥有自己的编码线程、可以实现接近 30fps 的帧速率。

    这样可以解决您的问题吗?

    此致、
    Sarabesh S.

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

    是的。
    谢谢。

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

    能否分享 您在 GStreamer 命令中所做的更改? 我可以与团队分享、以便将来更轻松地解决问题。