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:适用于 TDA4 平台的 GStreamer MP4 录制流水线命令

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1659790/tda4ven-q1-gstreamer-mp4-recording-pipeline-commands-for-tda4-platform

器件型号: TDA4VEN-Q1

您好、

我正在尝试从/dev/video3.录制视频流  您能否提供优化的 GStreamer 流水线以实现流畅的视频录制? 我当前的 SDK 中没有 TIOVX 模块。

谢谢!

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

    您好、

    我目前正在同时录制 4 个视频流、但我仍然遇到丢失的帧和视觉伪影。 我怀疑编码速度可能是瓶颈。 您能帮助我优化命令以充分利用我的硬件和软件资源吗?

    gst-launch-1.0 -e \
      v4l2src device=/dev/video-imx219-cam0 ! \
        video/x-raw,format=UYVY,width=1920,height=1536,framerate=30/1 ! \
        v4l2h264enc ! \
        video/x-h264,profile=high ! \
        h264parse ! \
        mp4mux name=mux0 ! \
        filesink location=output_cam0.mp4 \
      v4l2src device=/dev/video-imx219-cam1 ! \
        video/x-raw,format=UYVY,width=1920,height=1536,framerate=30/1 ! \
        v4l2h264enc ! \
        video/x-h264,profile=high ! \
        h264parse ! \
        mp4mux name=mux1 ! \
        filesink location=output_cam1.mp4 \
      v4l2src device=/dev/video-imx219-cam2 ! \
        video/x-raw,format=UYVY,width=1920,height=1536,framerate=30/1 ! \
        v4l2h264enc ! \
        video/x-h264,profile=high ! \
        h264parse ! \
        mp4mux name=mux2 ! \
        filesink location=output_cam2.mp4 \
      v4l2src device=/dev/video-imx219-cam3 ! \
        video/x-raw,format=UYVY,width=1920,height=1536,framerate=30/1 ! \
        v4l2h264enc ! \
        video/x-h264,profile=high ! \
        h264parse ! \
        mp4mux name=mux3 ! \
        filesink location=output_cam3.mp4

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

    您好:  

    我有几个澄清问题:  

    1. 能否分享您正在开发的 SDK 版本?
    2. 您是通过完整的流水线还是仅通过编码器元件来测量速度?
    3. 您能否将管道的输出文件与丢弃的帧和伪影共享?
    4. 您是否看到任何使用单实例流水线的丢弃帧?

    由于您正在将输出写入文件、因此您正在启动 CPU 写入、这将导致不可避免的延迟。 如果您输出到显示器、我们可以利用 DMA 文件描述符来避免存储器副本。  

    此致、
    Sarabesh S.

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

    您好、

    1.我目前使用的是 SDK 版本 10.01。
    2. 我不确定管道的哪个部分是瓶颈,但整体框架目前还不够。 我的当前命令是否需要进行任何优化? 此外、您能否共享通常用于 MP4 录制的 GStreamer 命令或其他流水线?
    3.很遗憾、我无法将视频文件上传到 E2E 论坛。 但是、我可以确认、输出中确实存在丢弃的帧。
    4、由于我正在开发一个 DVR 功能,写文件对我来说是一个严格的要求。 您是否有可以查看的 DVR 存储演示或参考代码?

    谢谢!

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

    您好、

    我们使用具有 UYVY 输出格式的 ISX031 相机。 我们的测试结果如下:

    1 μ s 在.视频转换将 UYVY 转换为 NV12 的流水线中、在 v4l2h264enc 硬件编码之前、编码器仅花费 6ms、而格式转换需要 256ms。 v4l2src→UYVY 1920x1536@30fps→videoconvert (CPU)→NV12→v4l2h264enc

    2 μ s.我们直接将原始 UYVY 流馈入 v4l2h264enc 而无需转换、硬件编码延迟会增加到 100ms。 v4l2src→UYVY 1920x1536@30fps→v4l2h264enc 您建议使用哪些解决方案来解决摄像机原始视频流与 v4l2h264enc 硬件编码器之间的格式不匹配问题?

    谢谢!

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

    您好:  

    我需要使用 YUV422 源运行流水线并检查编码延迟。  

    您是否在单实例情况下看到丢弃的帧? Wave5 应支持 YUV422->YUV420 编码的本机硬件支持。  

    此致、
    Sarabesh S.