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:隔行视频捕捉

Guru**** 2589275 points
Other Parts Discussed in Thread: AM5728, TVP5150, TVP5158

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/618455/am5728-interlaced-video-capture

Thread 中讨论的其他器件:AM5728TVP5150TVP5158

大家好:

    我们开发了定制的 am5728板、可用于捕获交叉视频。

    现在、我们可以成功捕获视频、但视频有一些抖动。

    我们进行一些调试、发现 am5728每秒捕获50个字段、字段宽度为720、高度为288。

    因为我们每秒可以从 vin1a 获得50个中断。

     我们怀疑 am5728是否将每个字段作为帧来显示会导致抖动的结果。

     那么、我们如何去解花视频呢?

     我们的处理器 SDK 为4.0。

     硬件是 am5728 + tvp5150

     我们的测试命令如下:

    

gst-launch-1.0 -v v4l2src device=/dev/video1 norm=255 IO-mode=4! 'video/x-raw、format=(string) YUY2、width=(int) 720、height=(int) 288、framerate=(fraction) 50/1'
!! VPE! 'video/x-raw、format=(string) NV12、width=(int) 720、height=(int) 576、framerate=(fraction) 50/1'! 排队! 陆上接收机

    

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

    您好:

      任何人都可以帮助我们

    谢谢

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

    是否可以尝试用以下方法替换 VPE 元素:
    … !! 脱扣! 视频转换! …
    您是否看到相同的行为?

    我在我的一侧尝试过类似这样的流水线:
    GST-LAUNCH-1.0视频测试 src! 'video/x-raw、format=(string) YUY2、width=(int) 720、height=(int) 288、framerate=(fraction) 50/1、 隔行模式=隔行! VPE! 'video/x-raw、format=(string) NV12、width=(int) 720、height=(int) 576、framerate=(fraction) 50/1、 隔行模式=渐进的! 排队! kmsink
    它似乎起作用。


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

    尊敬的 Margarita

          

    感谢您的回复!

    我们测试了您的建议、IT 报告员出现了一些错误!

    测试命令如下所示:

    gst-launch-1.0 -v v4l2src device=/dev/video1 norm=255 IO-mode=4! 'video/x-raw、format=(string) YUY2、width=(int) 720、height=(int) 288、framerate=(fraction) 50/1、 隔行模式=隔行扫描'
    !! 脱扣! 视频转换! 'video/x-raw、format=(string) NV12、width=(int) 720、height=(int) 576、framerate=(fraction) 50/1、 隔行模式=渐进的! 排队! 陆上接收机

    调试信息如下所示:

    正在将管道设置为暂停...
    管道处于活动状态,不需要 PREROLL...
    正在将管道设置为正在播放...
    新时钟:GstSystemClock
    错误:来自元素/GstPipeline:流水 线0/GstV4l2Src:v4l2src0:内部数据流错误。
    其他调试信息:
    ./../../../gstreamer-1.8.3/libs/gst/base/gstbasesrc.c (2948):gst_base_src_loop ():/GstPipeline:流水线0/GstV4l2Src:v4l2src0:
    流任务暂停、原因未协商(-4)
    在0:00:00.906756657之后结束执行
    正在将管道设置为暂停...
    正在将管道设置为就绪...
    正在将管道设置为 NULL ...
    正在释放管道...

    如果我们使用 videotestsrc 进行测试、结果是相同的:

    GST-LAUNCH-1.0视频测试 src! 'video/x-raw、format=(string) YUY2、width=(int) 720、height=(int) 288、framerate=(fraction) 50/1、 隔行模式=隔行!\
    脱扣! 视频转换! 'video/x-raw、format=(string) NV12、width=(int) 720、height=(int) 576、framerate=(fraction) 50/1、 隔行模式=渐进的! 排队! 陆上接收机

    现在我不知道问题是由于 tvp5150驱动程序/硬件还是 VPE 去交叉!

    我很困惑!

    此致

    西溪

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

    gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=1000 io-mode=4! '视频/x-raw、\
    format=(string) YUY2、width=(int) 720、height=(int) 288'! VPE num-input-buffers=8! 排队! 陆上接收机

    如果不起作用、则使用 gst-debug-level=3共享 DUB 日志
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Manisha

    感谢您的回复。

    现在、我们使用以下命令进行测试、结果与之前相同。

    视频 清晰但非常抖动。

    gst-launch-1.0 --gst-debug=3 v4l2src device=/dev/video1 num-buffers=1000 io-mode=4! 'video/x-raw、format=(string) YUY2、width=(int) 720、height=(int) 288'! VPE num-input-buffers=8! 排队! 陆上接收机

    附件是日志文件。  从日志文件中、我们现在可以将隔行视频视为逐行视频

    未处理的枚举 v4l2_field 2 -视为渐进的

     

    e2e.ti.com/.../2671.log.txt

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

    你好, Manisha

              您能从日志中找到问题的地方!

              因为这对我来说非常重要!

    谢谢

    此致

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

     大家好:

          任何人都可以帮助我解决这个问题!

    此致

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

    您好!

    我建议您在 v4l2src 正确后检查输出文件。
    如果是、您可以使用 testvpem2m 尝试 YUV 文件。
    此外、具有去花边和视频转换元素的管道似乎不正确。 在这种情况 下、我建议您移除第二个电容器滤波器、并尝试不设置交叉模式或将此模式设置为交错模式。 可以设置模式、字段等去隔行线属性、但我建议启用自动检测、这是默认值。

    我还建议您查看以下文档:part-mediatype-video-raw.txt 和 part-interlender-video.txt。

    BR
    玛格丽塔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否仍面临问题或问题是否已解决?

    假设 TVP5158驱动器将字段属性设置为 V4L2_field_alternate (7)。 如果是,VIP 驱动程序会动态更新该“字段”,以便在 V4L2_FIELD_TOP (2)和 V4L2_FIELD_Bottom (3)之间切换值。 根据错误消息、v4l2_capture g-streamer 插件似乎不太喜欢它、而是将其切换到逐行处理。

    您是否还可以使用以下说明启用 VIP 和 V4L2日志并共享 dmesg 日志?

    echo 3>/sys/class/video4linux/video1/dev_debug
    这允许记录 V4L2 ioctl 调用。
    此外、ti-vip 还具有特定的调试日志、可按如下方式启用:
    echo 3 >/sys/module/ti_vip/parameters/debug

    此外、您能否尝试使用 gstreamer 流水线中的 gst-debug=v4l2src:4来收集更详细的 v4l2src 日志?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Manisha

    非常感谢您的答复  

    由于我们是出差、因此没有时间进行调试、下周一我将为您提供更详细的日志

    此致

    西溪

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

    你好, Manisha

    附件是 gstreamer 日志和内核日志!

    但是 kernel_log 有一些丢失、因为它太大了!

    e2e.ti.com/.../gstream.txte2e.ti.com/.../kernel.txt

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

    您好 Manisha:

               如何处理内核日志和 gstreamer 日志。

               如果不够、我们可以为 您提供更多日志。

               谢谢

    此致

    西溪

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

    大家好:

         任何人都可以帮助我们解决这个问题

    谢谢

    此致

               

         

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    西溪、很抱歉耽误了时间...应用程序团队正在处理中...回复很快就会发布。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    很抱歉耽误你的时间。 您可以尝试附加的补丁、看看它是否有助于解决问题?

    e2e.ti.com/.../0001_2D00_media_2D00_ti_2D00_vpe_2D00_vip_2D00_HACK_2D00_Do_2D00_not_2D00_change_2D00_field_2D00_dynamical.patch

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    谢谢
    我们已经尝试过修补程序,结果与以前一样。

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

    您好、xixi、

    我们想确定问题是与 gstreamer 插件交互还是与驱动程序交互。 您能否将捕获的映像转储到文件中、然后再使用 testvpe 应用程序(在文件系统中可用)对其进行解交错? 请检查 testvpe 的隔行输出、查看视频是否正常。

    如果您能够、请与我们共享隔行捕获视频、以便我们可以在结尾处进行分析

    顺便说一下,SDK 4.0中的 VIP 驱动程序有一些已知问题(不适用于您看到的抖动),现在已经解决了。 您可以在测试结束时包含修复程序。 请查看下面的帖子、了解如何获取补丁、构建和安装。
    e2e.ti.com/.../2293496


    此致、
    Manisha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Manisha
    我们如何向您发送视频
    谢谢
    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Manisha
    对西我也有同样的问题。
    AM5728从 TVP5158捕获视频、每秒50帧。
    我已经尝试过上面提到的说明。问题是一样的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的用户:4592053

    您的视频、

     是抖动吗?

    谢谢

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的,它是抖动。我认为我们有同样的问题。
    我尝试使用 v4l2接口来捕获一个帧。它只有288行、即一个字段。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是对的、我们可以得到每秒50帧的数据。
    我们还使用 v4l2来捕获视频、结果是相同的。 但我们的芯片是 tvp5150、而不是 TVP5158
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [报价用户="xixi"]我们如何将视频发送给您[/报价]

    您可以将隔行视频作为 e2e 帖子的附件共享。  回复帖子时、请选择"使用富格式"选项。 这将使您能够上传文件。

    此外、请分享有关您如何制作该视频的所有详细信息-

    1. 如果使用了 gstreamer 流水线、则使用哪个应用程序来生成视频、并共享流水线指令
    2. 分享有关交叉参考视频源- TVP5158/TVP5150/others 的详细信息。  用于生成交错视频的配置。

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

    e2e.ti.com/.../7356.main.c HI Manisha

    e2e.ti.com/.../frame.zip

    附件 frame.zip 是测试视频、请进行更新。

    main.c 是我的 v4l2源代码  

    视频宽度为720、高度为288

    我们使用 v4l2代码来捕获视频。

    下面是我的 tvp5st4配置

    i2cset -f -y 0 0x5D 0x00 0x00
    i2cset -f -y 0 0x5D 0x01 0x15
    i2cset -f -y 0 0x5D 0x02 0x30
    i2cset -f -y 0 0x5D 0x03 0x6f
    i2cset -f -y 0 0x5D 0x04 0x00
    i2cset -f -y 0 0x5D 0x06 0x10
    i2cset -f -y 0 0x5D 0x07 0x60
    i2cset -f -y 0 0x5D 0x08 0x00
    i2cset -f -y 0 0x5D 0x09 0x80
    i2cset -f -y 0 0x5D 0x0A 0x80
    i2cset -f -y 0 0x5D 0x0B 0x00
    i2cset -f -y 0 0x5D 0x0C 0x80
    i2cset -f -y 0 0x5D 0x0D 0x47
    i2cset -f -y 0 0x5D 0x0E 0x00
    i2cset -f -y 0 0x5D 0x0F 0x08
    i2cset -f -y 0 0x5D 0x11 0x00
    i2cset -f -y 0 0x5D 0x12 0x00
    i2cset -f -y 0 0x5D 0x13 0x00
    i2cset -f -y 0 0x5D 0x14 0x00
    i2cset -f -y 0 0x5D 0x15 0x01
    i2cset -f -y 0 0x5D 0x16 0x00
    i2cset -f -y 0 0x5D 0x18 0xFF
    i2cset -f -y 0 0x5D 0x19 0xFF
    i2cset -f -y 0 0x5D 0x1A 0x0C
    i2cset -f -y 0 0x5D 0x1B 0x54
    i2cset -f -y 0 0x5D 0x1C 0x00
    i2cset -f -y 0 0x5D 0x1D 0x00
    i2cset -f -y 0 0x5D 0x1E 0x01
    i2cset -f -y 0 0x5D 0x27 0x20
    i2cset -f -y 0 0x5D 0x28 0x00
    i2cset -f -y 0 0x5D 0x2E 0x0F
    i2cset -f -y 0 0x5D 0x2F 0x01
    i2cset -f -y 0 0x5D 0xBB 0x00
    i2cset -f -y 0 0x5D 0xC0 0x00
    i2cset -f -y 0 0x5D 0xC1 0x40
    i2cset -f -y 0 0x5D 0xC2 0x05
    i2cset -f -y 0 0x5D 0xC8 0x80
    i2cset -f -y 0 0x5D 0xC9 0x00
    i2cset -f -y 0 0x5D 0xCA 0x00
    i2cset -f -y 0 0x5D 0xCB 0x4E
    i2cset -f -y 0 0x5D 0xCC 0x00
    i2cset -f -y 0 0x5D 0xCD 0x01
    i2cset -f -y 0 0x5D 0xCF 0x00
    i2cset -f -y 0 0x5D 0xD0 0x00
    i2cset -f -y 0 0x5D 0xFC 0x7F

    谢谢

    此致

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

    尊敬的 Manisha

    您是否测试了附件?

    是 Ubuntu PC 上的抖动。

    此致

    西溪

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

    下面是我在 Ubuntu PC 上的测试命令

    gst-launch-1.0 -v 文件 rc location=frame.yUV! 视频粗宽度=720高度=288格式=4! 视频转换! 自动视频链接

    当我们使用 test 命令时、视频也是抖动!

    谢谢  

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我已经尝试了 omapdrmtest (git.ti.com/.../master) 、它可以解决抖动问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的用户:4592053

    您使用哪种演示、我很困惑您如何解决此问题!
    谢谢
    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    使用 VPE 通过 V4L2去交错视频的 Captuprepedisplay 演示。
    您可以参考 captuprepedisplay.c
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的用户:4592053
    当我们使用捕获功能显示时、视频也是抖动
    下面是我的测试命令
    captuvrepedisplay 720 576 yuv 720 576 nv12 1 1 s 32:720x576
    TEST 命令是否有问题?
    您能告诉我们您的测试命令是什么

    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的测试命令是:
    图示720288 yuv 720576 yuv 1 3 -s 27:720x576
    是否使用最新的 SDK?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复

    是的、我们使用了处理器4.0 SDK、Linux 内核为4.9.28
    如果我们使用您的测试命令,则会显示如下所示的错误

    VPE:/dev/video0打开成功!!!
    VIP 开放成功!!!
    使用1个连接器、720x400显示屏、多平面:1.
    在连接器32、CRTC 34上设置模式720x576
    显示打开成功!!!
    VIP:G_FMT (START):宽度= 720、高度= 288、4cc = YUYV
    VIP:分配的缓冲区= 6
    VPE i/p:G_FMT:宽度= 720、高度= 288、4cc = YUV
    VPE->INPUT_Buf_dmafd[0]= 7
    VPE->INPUT_Buf_dmafd[1]= 9
    VPE->INPUT_Buf_dmafd[2]= 11
    VPE->INPUT_Buf_dmafd[3]= 13
    VPE->INPUT_Buf_dmafd[4]= 15
    VPE->INPUT_Buf_dmafd[5]= 17
    VPE o/p:G_FMT:宽度= 720、高度= 576、4cc = YUV
    页面翻转:frame=24775、sec=3477、usec=673517、remaining = 0
    VIP 缓冲队列
    VIP 缓冲队列
    VIP 缓冲队列
    VIP 缓冲队列
    VIP 缓冲队列
    VIP 缓冲队列
    VIP 去队列缓冲区
    VIP:DQBUF IDx = 0、域=底部
    VPE i/p:QBUF 失败:无效参数、索引= 0
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢

    我们更改为处理器3.3 SDK、使用 captuprepedisplay 时视频不抖动。
    因此、我们认为问题是由 VPE 元素引起的!
    在处理器4.0 SDK 中、问题存在、我们必须等待新的 SDK 版本或使用 v4l2程序来捕获视频

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

    PLSDK 4.0版本存在导致 QBUF 问题的已知 VIP 错误。 问题 已解决。  我正在连接 VIP 错误的补丁。 您可以通过在顶级 PLSDK 安装目录下运行以下命令来应用补丁、也可以等待3Q.e2e.ti.com/.../0020.0001_2D00_vip_2D00_add_2D00_memset_2D00_to_2D00_initialize_2D00_the_2D00_format 末尾的 PLSDK 4.1版本 

    #make linux

    #make linux_install (需要在 Rules.make 中设置 destdir 以指向 SD 卡或 NFS 上的文件系统-这意味着您使用的是什么)

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

    尊敬的 Manisha  

    此补丁无法解决抖动问题。

    我们只需使用 VPE 进行去花边。

    此致

    西溪

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

    您好、xixi、

    该补丁旨在解决您报告的运行 captuprepedisplay 应用程序的 PLSDK 4.0版本的问题。  

    VPE i/p:QBUF 失败:无效参数、索引= 0

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

    你好, Manisha  

      感谢您的回复

       我们想知道 视频抖动问题何时得到解决。

       也就是说、我们希望使用 gstreamer VPE 元素来去隔行、但不要使用 v4l2 VPE 代码来去隔行。

    此致

    西溪

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

    您好、xixi、

    我们将研究 VPE 和 v4l2src gstreamer 插件、以使 gstreamer 流水线产生抖动。 请在接下来的3周左右内完成修补程序。

    此致、

    Manisha

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

    你好, Manisha

    感谢您的回复。

    我们将等待您的好消息

    此致

    西溪