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.

[参考译文] SK-AM62P-LP:GST-LAUNCH-1.0存在问题

Guru**** 2395985 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1490864/sk-am62p-lp-problems-with-gst-launch-1-0

器件型号:SK-AM62P-LP

工具与软件:

您好!

我们在视频流水线中面临一些难题。

我们使用" v4l2-ctl -d /dev/video3 --set-fmt-video=width=1280、height=720、pixelformat=UYVY "命令设置视频格式、但当我们运行流水线为" gst-launch-1.0 -v v4l2src device=/dev/video3! 视频转换! autovideosink "它覆盖了我们先前的配置、如示例中所示。

root@am62pxx-evm:~# v4l2-ctl -d /dev/video3 --set-fmt-video=width=1280,height=720,pixelformat=UYVY
root@am62pxx-evm:~# v4l2-ctl -d /dev/video3 --get-fmt-video
Format Video Capture:
	Width/Height      : 1280/720
	Pixel Format      : 'UYVY' (UYVY 4:2:2)
	Field             : None
	Bytes per Line    : 2560
	Size Image        : 1843200
	Colorspace        : Rec. 709
	Transfer Function : Rec. 709
	YCbCr/HSV Encoding: Rec. 709
	Quantization      : Limited Range
	Flags             : 
root@am62pxx-evm:~# gst-launch-1.0 -v v4l2src device=/dev/video3 ! videoconvert ! autovideosink
Setting pipeline to PAUSED ...
warning: queue 0xffff8c000be0 destroyed while proxies still attached:
  xdg_wm_base@7 still attached
  wl_seat@6 still attached
  wl_subcompositor@5 still attached
  wl_compositor@4 still attached
  wl_registry@2 still attached
Pipeline is live and does not need PREROLL ...
Got context from element 'autovideosink0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayWayland\)\ gldisplaywayland0";
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)3840, height=(int)2160, framerate=(fraction)120/1, format=(string)YVYU, interlace-mode=(string)progressive, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps = video/x-raw, width=(int)3840, height=(int)2160, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)Y42B, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw, width=(int)3840, height=(int)2160, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)Y42B, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage.GstGhostPad:sink.GstProxyPad:proxypad1: caps = video/x-raw, width=(int)3840, height=(int)2160, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)Y42B, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage/GstGLUploadElement:gluploadelement0.GstPad:src: caps = video/x-raw(memory:GLMemory), width=(int)3840, height=(int)2160, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)RGBA, texture-target=(string)2D
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage/GstGLColorConvertElement:glcolorconvertelement0.GstPad:src: caps = video/x-raw(memory:GLMemory), width=(int)3840, height=(int)2160, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)RGBA, texture-target=(string)2D
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage/GstGLColorBalance:glcolorbalance0.GstPad:src: caps = video/x-raw(memory:GLMemory), width=(int)3840, height=(int)2160, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)RGBA, texture-target=(string)2D
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage/GstGLImageSink:sink.GstPad:sink: caps = video/x-raw(memory:GLMemory), width=(int)3840, height=(int)2160, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)RGBA, texture-target=(string)2D
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage/GstGLColorBalance:glcolorbalance0.GstPad:sink: caps = video/x-raw(memory:GLMemory), width=(int)3840, height=(int)2160, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)RGBA, texture-target=(string)2D
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage/GstGLColorConvertElement:glcolorconvertelement0.GstPad:sink: caps = video/x-raw(memory:GLMemory), width=(int)3840, height=(int)2160, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)RGBA, texture-target=(string)2D
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage/GstGLUploadElement:gluploadelement0.GstPad:sink: caps = video/x-raw, width=(int)3840, height=(int)2160, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)Y42B, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage.GstGhostPad:sink: caps = video/x-raw, width=(int)3840, height=(int)2160, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)Y42B, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink: caps = video/x-raw, width=(int)3840, height=(int)2160, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)Y42B, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps = video/x-raw, width=(int)3840, height=(int)2160, framerate=(fraction)120/1, format=(string)YVYU, interlace-mode=(string)progressive, colorimetry=(string)bt709
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.
Additional debug info:
/usr/src/debug/gstreamer1.0-plugins-good/1.22.12/sys/v4l2/gstv4l2src.c(950): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Buffer pool activation failed
Execution ended after 0:00:00.061778235
Setting pipeline to NULL ...
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
/usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesrc.c(3134): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
warning: queue 0xffff8c04fd30 destroyed while proxies still attached:
  xdg_wm_base@13 still attached
  wl_seat@12 still attached
  wl_subcompositor@8 still attached
  wl_compositor@11 still attached
  wl_registry@14 still attached
Freeing pipeline ...
root@am62pxx-evm:~# v4l2-ctl -d /dev/video3 --get-fmt-video
Format Video Capture:
	Width/Height      : 3840/2160
	Pixel Format      : 'YVYU' (YVYU 4:2:2)
	Field             : None
	Bytes per Line    : 7680
	Size Image        : 16588800
	Colorspace        : Rec. 709
	Transfer Function : Rec. 709
	YCbCr/HSV Encoding: Rec. 709
	Quantization      : Limited Range
	Flags             : 



有具体原因吗?


此致、

塞尔希奥

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

    您好、Sergio、

    我认为 GST-LAUNCH-1.0改变了视频器件节点的格式。 如果您执行以下操作、

    gst-launch-1.0 v4l2src device=/dev/video3 ! VIDEO/x-RAW、width=1280、height=720、format=UYVY

    我认为您应该具有与 v4l2-ctl 命令设置相同的格式。

    此致、

    建中

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

    您好、建中:

    是的、您答对了、但我们使用的是 Qt 应用程序来控制摄像机、而 Qt 流水线使用的是该流水线附近的东西。

    "gst-launch-1.0 v4l2src device=/dev/video3 ! 自动视频链接"

    每次运行程序时、它都会重新配置视频格式。 您是否知道防止这种情况发生的任何方法?

    此致、

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

    您是否可以尝试使用"media-ctl"设置格式? 例如 github.com/.../setup_camera_ox05b.sh