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.

[参考译文] TMDSCM572X:GStreamer 流水线问题

Guru**** 2558250 points
Other Parts Discussed in Thread: AM5728, TMDSCM572X

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/597606/tmdscm572x-gstreamer-pipeline-issue

器件型号:TMDSCM572X
主题中讨论的其他器件:AM5728

您好!

EVM:TI AM5728 EVM

内核:4.4.41

我使用此管道来简化捕获和显示、但它不起作用:

gst-launch-1.0 -v --gst-debug=2 v4l2src device=/dev/video1 num-buffers=1000 io-mode=4! '视频/x-raw、\
format=(string) YUY2、width=(int) 1280、height=(int) 720'! VPE num-input-buffers=8! 排队! kmsink

root@am57xx-EVM:/# gst-launch-1.0 -v --gst-debug=2 v4l2src device=/dev/video1 num-bbuffers=1000 io-mode=4! '视频/x-raw、\
format=(string) YUY2、width=(int) 1280、height=(int) 720'! VPE num-input-buffers=8! 排队! kmsink
正在将管道设置为暂停...
管道处于活动状态,不需要 PREROLL...
正在将管道设置为正在播放...
新时钟:GstSystemClock
/GstPipeline0/GstV4l2Src:v4l2src0.GstPad:src:cap ="video/x-ray\、\ format\=(string\) YUy2\、\ width\=(int\) 1280\、\ height\=(int\) 720\、\、\ inter-pixel-bacy\(bade-ti-modity\)、bacy\
/GstPipeline0/GstCapsFilter:capsfilter0.GstPad:src:cap ="video/x-raw、\ format\=(string\) YUy2、\ width\=(int\) 1280\、\ height\=(int\) 720\、\像素纵横比= 1 m/隔行距"
/GstPipeline0/GstVpe:vpe0.GstPad:src:cap ="VIDEO/x-RAW\、\ format\=(string\) NV12\、\ width\=(int\) 1280\、\ height\=(int\) 720\、\像素纵横比\=(strape\) 10\
/GstPipeline0/GstQueue:queue0.GstPad:src:cap ="VIDEO/x-RAW\、\ format\=(string\) NV12\、\ width\=(int\) 1280\、\ height\=(int\) 720\、\像素-宽高比\=(frame\) 1、帧速率\
/GstPipeline0/GstKMSSink:kmssink0.GstPad:灌电流:cap ="VIDEO/x-RAW\、\ format\\(string\) NV12\、\ width\=(int\) 1280\、\ height\=(int\) 720\、\像素纵横比=(FRA) 1、帧速率= 1
/GstPipeline0/GstQueue:queue0.GstPad:sink:cap ="VIDEO/x-RAW\、\ format\=(string\) NV12\、\ width\=(int\) 1280\、\ height\=(int\) 720\、\像素-宽高比\=(fracte\) 1、帧速率\
/GstPipeline0/GstVpe:vpe0.GstPad:SINK:SINK:SINK:CAPs ="VIDEO/x-RAW\、\ FORMAT\=(STRING\) Y2\、\ width\=(int\) 1280\、\ height\=(int\) 720\、\像素-宽高比\=(YU1\)、interlape\(intermode\)
/GstPipeline0/GstCapsFilter:capsfilter0.GstPad:SINK:SINK:CAP="VIDEO/x-RAW\、\ format\=(string\) YUy2\、\ width\=(int\) 1280\、\ height\=(int\) 720\、\像素纵横比= 1)、interlape1
0:00:00.288726988 2332 0x143c30 WARN v4l2bufferpool gstv4l2bufferpool.c:749:gst_v4l2_buffer_pool_start: 缓冲区不够或不足、启用复制阈值
/GstPipeline0/GstVpe:vpe0.GstPad:src:cap ="VIDEO/x-RAW\、\ format\=(string\) NV12\、\ width\=(int\) 1280\、\ height\=(int\) 720\、\像素纵横比\=(strape\) 10\
/GstPipeline0/GstQueue:queue0.GstPad:src:cap ="VIDEO/x-RAW\、\ format\=(string\) NV12\、\ width\=(int\) 1280\、\ height\=(int\) 720\、\像素-宽高比\=(frame\) 1、帧速率\
/GstPipeline0/GstKMSSink:kmssink0.GstPad:灌电流:cap ="VIDEO/x-RAW\、\ format\\(string\) NV12\、\ width\=(int\) 1280\、\ height\=(int\) 720\、\像素纵横比=(FRA) 1、帧速率= 1
/GstPipeline0/GstQueue:queue0.GstPad:sink:cap ="VIDEO/x-RAW\、\ format\=(string\) NV12\、\ width\=(int\) 1280\、\ height\=(int\) 720\、\像素-宽高比\=(fracte\) 1、帧速率\
0:00:00.436926081 2332 0x143c30 WARN VPE gstvpebufferpool.c:462:GST_VPE_buffer_pool_import:分配新的输入缓冲区索引:0/128、0
0:00:00.447965780 23320x144030警告 bufferpool gstbufferpool.c:300:do_alloc_buffer: Alloc 功能失败
0:00:00.458225004 2332 0x144030警告 bufferpool gstbufferpool.c:300:do _alloc_buffer: Alloc 功能失败
0:00:00.460187252 2332 0x143c30 WARN VPE gstvpebufferpool.c:462:GST_VPE_buffer_pool_import:分配新的输入缓冲区索引:1/128、0
0:00:00.468431198 2332 0x144030警告 bufferpool gstbufferpool.c:300:do _alloc_buffer: Alloc 功能失败
0:00:00.470062745 2332 0x144000警告 kmssink gstkmssink.c:364:gst_kms_sink_show_FRAME: 错误:drmModeSetPlane 失败:权限被拒绝(13)
错误:从元素/GstPipeline:流水 线0/GstKMSSink:kmssink0: GStreamer 遇到一般资源错误。
其他调试信息:
./../../git/sys/kms/gstkmssink.c (364):gst_kms_sink_show_FRAME ():/GstPipeline0/GstKMSSink:kmssink0:
drmModeSetPlane 失败:权限被拒绝(13)
0:00:00.478578996 2332 0x144030警告 bufferpool gstbufferpool.c:300:do _alloc_buffer: Alloc 功能失败
执行在0:00:00.385884047之后结束
正在将管道设置为暂停...
0:00:00.664821267 2332 0x143c30 WARN VPE gstvpebufferpool.c:462:GST_VPE_buffer_pool_import:分配新的输入缓冲区索引:2/128、0
0:00:00.667199291 2332 0x143c30 WARN v4l2src gstv4l2src.c:827:gst_v4l2src_create: 检测到丢失的帧:计数= 1 - ts:0:00:00.263099244
正在将管道设置为就绪...
0:00:00.676525784 2332 0x1465a0 WARN bufferpool gstbufferpool.c:537:GST_buffer_pool_set_active: 停止失败
0:00:00.681577723 23320x1465a0 WARN bufferpool gstbufferpool.c:537:GST_buffer_pool_set_active: 停止失败
正在将管道设置为 NULL ...
正在释放管道...
root@am57xx-EVM:/#

BR、

费埃兹:)

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

    您好!

    请先停止 Weston、然后执行流水线。 以下是命令:
    /etc/init.d/weston 停止


    BR
    玛格丽塔

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

    器件型号:TMDSCM572X

    您好!  

    EVM:TI AM5728 EVM、

    内核:4.4.41

    设备:摄像头模块

    流水线在开始时工作、但如果我再运行一次它不工作、则会出现以下错误:

    root@am57xx-EVM:~ gst-launch-1.0 -v --gst-debug=2 v4l2src device=/dev/video1 num-buffers=900 io-mode=4! '视频/x-raw、\
    format=(string) YUY2、width=(int) 1280、height=(int) 720'! VPE num-input-buffers=8! 排队! kmsink


    正在将管道设置为暂停...
    管道处于活动状态,不需要 PREROLL...
    正在将管道设置为正在播放...
    新时钟:GstSystemClock
    /GstPipeline0/GstV4l2Src:v4l2src0.GstPad:src:cap ="video/x-ray\、\ format\=(string\) YUy2\、\ width\=(int\) 1280\、\ height\=(int\) 720\、\、\ inter-pixel-bacy\(bade-ti-modity\)、bacy\
    /GstPipeline0/GstCapsFilter:capsfilter0.GstPad:src:cap ="video/x-raw、\ format\=(string\) YUy2、\ width\=(int\) 1280\、\ height\=(int\) 720\、\像素纵横比= 1 m/隔行距"
    /GstPipeline0/GstVpe:vpe0.GstPad:src:cap ="VIDEO/x-RAW\、\ format\=(string\) NV12\、\ width\=(int\) 1280\、\ height\=(int\) 720\、\像素纵横比\=(strape\) 10\
    /GstPipeline0/GstQueue:queue0.GstPad:src:cap ="VIDEO/x-RAW\、\ format\=(string\) NV12\、\ width\=(int\) 1280\、\ height\=(int\) 720\、\像素-宽高比\=(frame\) 1、帧速率\
    /GstPipeline0/GstKMSSink:kmssink0.GstPad:灌电流:cap ="VIDEO/x-RAW\、\ format\\(string\) NV12\、\ width\=(int\) 1280\、\ height\=(int\) 720\、\像素纵横比=(FRA) 1、帧速率= 1
    /GstPipeline0/GstQueue:queue0.GstPad:sink:cap ="VIDEO/x-RAW\、\ format\=(string\) NV12\、\ width\=(int\) 1280\、\ height\=(int\) 720\、\像素-宽高比\=(fracte\) 1、帧速率\
    /GstPipeline0/GstVpe:vpe0.GstPad:SINK:SINK:SINK:CAPs ="VIDEO/x-RAW\、\ FORMAT\=(STRING\) Y2\、\ width\=(int\) 1280\、\ height\=(int\) 720\、\像素-宽高比\=(YU1\)、interlape\(intermode\)
    /GstPipeline0/GstCapsFilter:capsfilter0.GstPad:SINK:SINK:CAP="VIDEO/x-RAW\、\ format\=(string\) YUy2\、\ width\=(int\) 1280\、\ height\=(int\) 720\、\像素纵横比= 1)、interlape1
    0:00:00.119408557 1245 0x143fb0 ---- [在此处剪切]-----
    1mWARN v4l2bufferpool gstv4l2bufferpool.c:749:gst_v4l2_buffer_pool_start: 缓冲区不够或不足、启用复制阈值
    [363.666490]警告:CPU:1 PID:1248 at /home/gtbldadm/processor-sdk-linux-krogoth-build/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work-shared/am57xx-evm/kernel-source/drivers/media/v4l2-core)
    [363.705958]链接的模块:bc_example (O) xhci_plat_hcd xhci_hcd usbcore rpmsg_proto rpmsg_RPC rpmsg_pru dwc3 udc_core virtio_rpmsg_bus cbc drbg xfrm_user xfrm4_tunnel ipxcomp 4 fraf 4)
    [363.776927] CPU:0 PID:1248 Comm:v4l2src0:src 被污染:G O 4.4.4.41-gf9f6f0db2d #1
    [363.785664]硬件名称:通用 DRA74X (平展器件树)
    [363.791781]回溯:
    [363.794256][ ](dump_backtrace)从[ ](show_stack+0x18/0x1c)
    [363.801855] r7:c04a81bc r6:60010013 r5:00000000 r4:c0964e4c
    [363.807580][ ](show_stack)从[ ](dump_stack+0x8c/0xa0)
    [363.814839][ ](dump_stack)从[ ](warn_slESpath_common+0x88/b8)
    [363.822961] r7:c04a81bc R6:00000523 R5:00000009 R4:00000000
    [363.828681][ ](warn_slowpath_common)、来自[ ](WARN_RASPEK_NULL_0x24/0x2C)
    [363.837501] R8:c097f9d4 r7:ffffff87 R6:ede5387c R5:ede53ad0 R4:ede539d8
    [363.844275][ ](warn_slowpath_null)、来自[ ](vb2_start_stream+0xe0/0x15c)
    [363.853100][ ](vb2_start_streaming),来自[ ](vb2_core_streamon + 0x114/0x160)
    [363.861920] r7:c049486c r6:ed9f2c00 r5:ed8d9480 r4:ede5387c
    [363.867638][ ](vb2_core_streamon)、来自[ ](vb2_streamon/0x38/0x58)
    [363.875672] R5:ed8d9480 R4:00000001
    [363.879277][ ](vb2_streamon)从[ ](vb2_ioctl_streamon/0x44/0x48)
    [363.887405][ ](vb2_ioctl_streamon)、从[ ](V4L_streamon/0x24/0x28)
    [363.895527] R5:40045612 R4:c04abc38
    [363.899134][ ](V4L_streamon)、来自[ ](_VIDEO_DO _ioctl+0x2c0/0x334)
    [363.907256] R5:40045612 R4:00000001
    [363.910862][ ](__VIDEO_DO _ioctl)从[ ](VIDEO_userccopy+0x1d4/0x4c4)
    [363.919159] R10:00000001 R9:00148594 R8:ed931e30 r7:00000000 R6:00000004 R5:00000004
    [363.927059] R4:40045612
    [363.929610][ ](视频_usercopy)、来自[ ](VIDEO_ioctl2+0x18/0x1c)
    [363.937383] R10:00000000 R9:ed930000 R8:edf7a0cc r7:00148594 R6:40045612 R5:ed8d9480
    [363.945285] R4:ed9f2c00
    [363.947838][ ](video_ioctl2)、来自[ ](v4l2_ioctl+0xa8/0xe0)
    [363.955270][ ](v4l2_ioctl)从[ ](do_vfs_ioctl+0x3f0/0x614)
    [363.962869] R9:ed930000 R8:00148594 r7:0000000b R6:ed8d9480 R5:ed964958 R4:00148594
    [363.970686][ ](do _vfs_ioctl)、从[ ](sys_ioctl+0x3c/0x64)
    [363.978023] R10:00000000 R9:ed930000 R8:00148594 r7:40045612 R6:ed8d9480 R5:0000000b
    [363.985919] R4:ed8d9481
    [363.988472][ ](sys_ioctl)从[ ](RET_FAST_SYSCALL+0x0/0x34)
    [363.996070] R9:ed930000 R8:c000fbc4 r7:00000036 R6:b6ab23c8 R5:b5410118 R4:00000000
    [364.004738]--[结束线迹 a015a1d9c04fca05 ]--
    0:00:00.645080366 1245 0x143fb0错误 v4l2bufferpool gstv4l2bufferpool.c:636:gst_v4l2_buffer_pool_streamon: STREAMON 121错误(远程 I/O 错误)
    0:00:00.645298014 1245 0x143fb0 warn v4l2bufferpool gstv4l2bufferpool.c:1055:gst_v4l2_buffer_pool_poll: 错误:轮询错误1:远程 I/O 错误(121)
    0:00:00.645492075 1245 0x143fb0 warn v4l2src gstv4l2src.c:848:gst_v4l2src_create: 错误:分配缓冲区失败
    0:00:00.645616678 1245 0x143fb0 warn basesrc gstbasesrc.c:2943:gst_base_src_loop: 错误:内部数据流错误。
    0:00:00.645653115 1245 0x143fb0 warn basesrc gstbasesrc.c:2943:gst_base_src_loop: 错误:流任务暂停、原因错误(-5)
    错误:来自元素/GstPipeline:流水 线0/GstV4l2Src:v4l2src0:无法从资源读取。
    其他调试信息:
    ./../../gst-plugins-good-1.6.3/sys/v4l2/gstv4l2bufferpool.c (1055):gst_v4l2_buffer_pool_poll ():/GstPipeline0/GstV4l2Src:v4l2src0:
    轮询错误1:远程 I/O 错误(121)
    在0:00:00.538923775之后结束执行
    正在将管道设置为暂停...
    正在将管道设置为就绪...
    0:00:00.650564510 1245 0x1593a0 WARN v4l2bufferpool gstv4l2bufferpool.c:913:GST_v4l2_buffer_pool_stop: 一些缓冲器仍然出色
    0:00:00.650606315 1245 0x1593a0警告 bufferpool gstbufferpool.c:537:GST_buffer_pool_set_active: 停止失败

    (GST-LAUNCH-1.0:1245):Gstreamer-critical **:GST_MINI_OBJECT_UNREF:断言'mini_object->refcount >0'失败
    正在将管道设置为 NULL ...
    正在释放管道...
    root@am57xx-EVM:~#

    此致:)

    Faiez、

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

    您好!

    您能否给我发布您正在运行的内容以及您正在尝试存档的内容?



    BR
    玛格丽塔

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

    您好!

    这是一种使用 TI AM5728 EVM 摄像头模块的简单采集和显示全屏技术、我使用此管道:

    root@am57xx-EVM:~ gst-launch-1.0 -v --gst-debug=2 v4l2src device=/dev/video1 num-buffers=900 io-mode=4! '视频/x-raw、\
    format=(string) YUY2、width=(int) 1280、height=(int) 720'! VPE num-input-buffers=8! 排队! kmsink

    实际上、流水线在开始时工作、但如果我再运行一次、它就不起作用。

    此致:)
    Faiez、

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

    很抱歉、我无法理解用例。

    第一种情况:
    您正在运行此流水线

    gst-launch-1.0 -v --gst-debug=2 v4l2src device=/dev/video1 num-buffers=900 io-mode=4! '视频/x-raw、\
    format=(string) YUY2、width=(int) 1280、height=(int) 720'! VPE num-input-buffers=8! 排队! kmsink

    900帧后、管道接收 EOS 并移动到停止状态。 之后、您将再次运行它、然后在您的帖子中观察到错误?



    2.您正在运行管道,在第一个管道的执行完成之前,您将再次运行它(同时运行两个管道以显示 CAPTURE->kmsSINK)? 如果是这种情况、它将不起作用。

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    最好与我共享完整的控制台日志、这样我就可以检查在控制台中执行的操作(用例)、而不仅仅是错误的流水线。

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

    您好!  

    1.在流水线执行后、它将自行结束(900帧后)、然后我将再次运行它(相同的流水线)、然后我将观察我的帖子中的错误(并且始终如此)、

    使用案例是使用 TI AM5728 EVM 摄像头模块的简单捕获和显示全屏功能。

    此致:)

    Faiez、

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

    请共享完整的控制台日志。

    您能否尝试在第一个流水线结束运行时、而不是 gstreamer 流水线运行此代码而不是 gstreamer:
    yavta -C60 -fYUYV -Fvout_1280x720_yuiv.yUV -s1280x720 /dev/video1
    下面是您可以如何运行此示例的 wiki:
    processors.wiki.ti.com/.../Linux_Core_VIP_User's_Guide

    是否可以在第一个管道结束后执行此命令:
    LS /dev/video

    您是否还可以向流水线中添加-e:
    gst-launch-1.0 -v --gst-debug=2 -e v4l2src device=/dev/video1 num-buffers=900 io-mode=4! …

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

    您好!

    我还需要知道摄像头模块的默认帧速率

    此致:)
    Faiez、