Camera its connecteg by usb and dongle ugreen cm512. It works fine on other projects (id 822587).
i start edge impulse on ssh by command “edge-impulse-linux”.
result of :
arduino@cornie:~$ edge-impulse-linux --verbose
Edge Impulse Linux client v1.24.2
[SER] Using microphone hw:1,0
[GST] checking for /etc/os-release
[GST] Found devices: [
{
“id”: “”,
“name”: “/base/soc@0/usb@4ef8800/usb@4e00000-1.2:1.0-046d:0825”,
“caps”: [
{
“type”: “video/x-raw”,
“width”: 160,
“height”: 120,
“framerate”: 0,
“formats”: [
“YUY2”
]
},
{
“type”: “video/x-raw”,
“width”: 176,
“height”: 144,
“framerate”: 0,
“formats”: [
“YUY2”
]
},
{
“type”: “video/x-raw”,
“width”: 320,
“height”: 176,
“framerate”: 0,
“formats”: [
“YUY2”
]
},
{
“type”: “video/x-raw”,
“width”: 320,
“height”: 240,
“framerate”: 0,
“formats”: [
“YUY2”
]
},
{
“type”: “video/x-raw”,
“width”: 352,
“height”: 288,
“framerate”: 0,
“formats”: [
“YUY2”
]
},
{
“type”: “video/x-raw”,
“width”: 432,
“height”: 240,
“framerate”: 0,
“formats”: [
“YUY2”
]
},
{
“type”: “video/x-raw”,
“width”: 544,
“height”: 288,
“framerate”: 0,
“formats”: [
“YUY2”
]
},
{
“type”: “video/x-raw”,
“width”: 640,
“height”: 360,
“framerate”: 0,
“formats”: [
“YUY2”
]
},
{
“type”: “video/x-raw”,
“width”: 640,
“height”: 480,
“framerate”: 0,
“formats”: [
“YUY2”
]
},
{
“type”: “video/x-raw”,
“width”: 752,
“height”: 416,
“framerate”: 0,
“formats”: [
“YUY2”
]
},
{
“type”: “video/x-raw”,
“width”: 800,
“height”: 448,
“framerate”: 0,
“formats”: [
“YUY2”
]
},
{
“type”: “video/x-raw”,
“width”: 864,
“height”: 480,
“framerate”: 0,
“formats”: [
“YUY2”
]
},
{
“type”: “video/x-raw”,
“width”: 800,
“height”: 600,
“framerate”: 0,
“formats”: [
“YUY2”
]
},
{
“type”: “video/x-raw”,
“width”: 960,
“height”: 544,
“framerate”: 0,
“formats”: [
“YUY2”
]
},
{
“type”: “video/x-raw”,
“width”: 1024,
“height”: 576,
“framerate”: 0,
“formats”: [
“YUY2”
]
},
{
“type”: “video/x-raw”,
“width”: 960,
“height”: 720,
“framerate”: 0,
“formats”: [
“YUY2”
]
},
{
“type”: “video/x-raw”,
“width”: 1184,
“height”: 656,
“framerate”: 0,
“formats”: [
“YUY2”
]
},
{
“type”: “video/x-raw”,
“width”: 1280,
“height”: 720,
“framerate”: 0,
“formats”: [
“YUY2”
]
},
{
“type”: “video/x-raw”,
“width”: 1280,
“height”: 960,
“framerate”: 0,
“formats”: [
“YUY2”
]
}
],
“videoSource”: “libcamerasrc”
}
]
[GST] Temp directory is /dev/shm/edge-impulse-clij7am6G
[GST] Starting gst-launch-1.0 libcamerasrc camera-name=“/base/soc@0/usb@4ef8800/usb@4e00000-1.2:1.0-046d:0825” ! video/x-raw,width=648,height=480 ! videoconvert ! jpegenc ! multifilesink location=resized%05d.jpg post-messages=true sync=false
[GST] Setting pipeline to PAUSED …
[GST] [0:05:48.717139700] [1621] INFO Camera camera_manager.cpp:327 libcamera v0.4.0
[GST] [0:05:48.733499604] [1625] ERROR DmaBufAllocator dma_buf_allocator.cpp:119 Could not open any dma-buf provider
[GST] Pipeline is live and does not need PREROLL …
[GST] Pipeline is PREROLLED …
Setting pipeline to PLAYING …
New clock: GstSystemClock
[GST] Execution ended after 0:00:00.002865845
Setting pipeline to NULL …
[GST] ERROR: from element /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0: Internal data stream error.
Additional debug info:
…/src/gstreamer/gstlibcamerasrc.cpp(662): gst_libcamera_src_task_enter (): /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0:
streaming stopped, reason not-negotiated (-4)
[GST] Freeing pipeline …
Failed to initialize linux tool Capture process failed with code 1
GStreamer (gst-launch-1.0) stopped before emitting any images. This most likely means that the launch command is incorrect or that your camera is unresponsive. Here is the launch command:
gst-launch-1.0 libcamerasrc camera-name=“/base/soc@0/usb@4ef8800/usb@4e00000-1.2:1.0-046d:0825” ! video/x-raw,width=648,height=480 ! videoconvert ! jpegenc ! multifilesink location=resized%05d.jpg post-messages=true sync=false
You can try one of the following:
- If your camera used to work:
- Disconnect and reconnect the camera (if you use an external camera)
- Kill all other GStreamer commands, via: ‘sudo killall gst-launch-1.0’
- Run with ‘–verbose’ to see the raw GStreamer output. It might contain a hint why the process fails.
- Run with ‘–dont-output-rgb-buffers’ - this will disable RGB output buffer creation which can help with targets that advertise RGB capabilities on the video source, but don’t actually support this.
If this does not resolve your issue, then please open a forum post at https://forum.edgeimpulse.com and include:
- Your device, operating system, what camera you’re using, and how the camera is connected (e.g. USB, CSI)
- The launch command (above)
- The verbose output (run this application with --verbose)
- The output of ‘gst-device-monitor-1.0’
- The output of ‘gst-inspect-1.0’
arduino@cornie:~$ gst-device-monitor-1.0
Probing devices…
[0:11:14.280151540] [1832] INFO Camera camera_manager.cpp:327 libcamera v0.4.0
[0:11:14.853142769] [1836] ERROR DmaBufAllocator dma_buf_allocator.cpp:119 Could not open any dma-buf provider
Device found:
name : /base/soc@0/usb@4ef8800/usb@4e00000-1.2:1.0-046d:0825
class : Source/Video
caps : image/jpeg, width=160, height=120
image/jpeg, width=176, height=144
image/jpeg, width=320, height=176
image/jpeg, width=320, height=240
image/jpeg, width=352, height=288
image/jpeg, width=432, height=240
image/jpeg, width=544, height=288
image/jpeg, width=640, height=360
image/jpeg, width=640, height=480
image/jpeg, width=752, height=416
image/jpeg, width=800, height=448
image/jpeg, width=864, height=480
image/jpeg, width=800, height=600
image/jpeg, width=960, height=544
image/jpeg, width=1024, height=576
image/jpeg, width=960, height=720
image/jpeg, width=1184, height=656
image/jpeg, width=1280, height=720
image/jpeg, width=1280, height=960
video/x-raw, format=YUY2, width=160, height=120
video/x-raw, format=YUY2, width=176, height=144
video/x-raw, format=YUY2, width=320, height=176
video/x-raw, format=YUY2, width=320, height=240
video/x-raw, format=YUY2, width=352, height=288
video/x-raw, format=YUY2, width=432, height=240
video/x-raw, format=YUY2, width=544, height=288
video/x-raw, format=YUY2, width=640, height=360
video/x-raw, format=YUY2, width=640, height=480
video/x-raw, format=YUY2, width=752, height=416
video/x-raw, format=YUY2, width=800, height=448
video/x-raw, format=YUY2, width=864, height=480
video/x-raw, format=YUY2, width=800, height=600
video/x-raw, format=YUY2, width=960, height=544
video/x-raw, format=YUY2, width=1024, height=576
video/x-raw, format=YUY2, width=960, height=720
video/x-raw, format=YUY2, width=1184, height=656
video/x-raw, format=YUY2, width=1280, height=720
video/x-raw, format=YUY2, width=1280, height=960
gst-launch-1.0 libcamerasrc camera-name="/base/soc\@0/usb\@4ef8800/usb\@4e00000-1.2:1.0-046d:0825" ! ...
Device found:
name : Webcam C270 Mono
class : Audio/Source
caps : audio/x-raw, format={ (string)S16LE, (string)S16BE, (string)F32LE, (string)F32BE, (string)S32LE, (string)S32BE, (string)S24LE, (string)S24BE, (string)S24_32LE, (string)S24_32BE, (string)U8 }, layout=interleaved, rate=[ 1, 768000 ], channels=[ 1, 32 ]
audio/x-alaw, rate=[ 1, 768000 ], channels=[ 1, 32 ]
audio/x-mulaw, rate=[ 1, 768000 ], channels=[ 1, 32 ]
properties:
alsa.card = 0
alsa.card_name = C270 HD WEBCAM
alsa.class = generic
alsa.components = USB046d:0825
alsa.device = 0
alsa.driver_name = snd_usb_audio
alsa.id = USB Audio
alsa.long_card_name = C270 HD WEBCAM at usb-xhci-hcd.2.auto-1.2, high speed
alsa.mixer_name = USB Mixer
alsa.name = USB Audio
alsa.resolution_bits = 16
alsa.subclass = generic-mix
alsa.subdevice = 0
alsa.subdevice_name = subdevice #0
alsa.sync.id = 00000000:00000000:00000000:00000000
api.alsa.card.longname = C270 HD WEBCAM at usb-xhci-hcd.2.auto-1.2, high speed
api.alsa.card.name = C270 HD WEBCAM
api.alsa.path = hw:0
api.alsa.pcm.card = 0
api.alsa.pcm.stream = capture
audio.channels = 1
audio.position = MONO
card.profile.device = 1
device.api = alsa
device.class = sound
device.icon_name = audio-card-analog
device.id = 48
device.profile.description = Mono
device.profile.name = mono-fallback
device.routes = 1
factory.name = api.alsa.pcm.source
media.class = Audio/Source
device.description = Webcam C270
node.name = alsa_input.usb-046d_C270_HD_WEBCAM_200901010001-02.mono-fallback
node.nick = C270 HD WEBCAM
node.pause-on-idle = false
object.path = alsa:acp:WEBCAM:1:capture
port.group = capture
priority.driver = 2000
priority.session = 2000
factory.id = 19
clock.quantum-limit = 8192
client.id = 47
node.driver = true
node.loop.name = data-loop.0
library.name = audioconvert/libspa-audioconvert
object.id = 50
object.serial = 50
api.acp.auto-port = false
api.acp.auto-profile = false
api.alsa.card = 0
api.alsa.split-enable = true
api.alsa.use-acp = true
api.dbus.ReserveDevice1 = Audio0
api.dbus.ReserveDevice1.Priority = -20
device.bus = usb
device.bus-id = usb-046d_C270_HD_WEBCAM_200901010001-02
device.bus_path = platform-xhci-hcd.2.auto-usb-0:1.2:1.2
device.enum.api = udev
device.form_factor = webcam
device.name = alsa_card.usb-046d_C270_HD_WEBCAM_200901010001-02
device.nick = C270 HD WEBCAM
device.plugged.usec = 12274633
device.product.id = 0x0825
device.product.name = Webcam C270
device.serial = 046d_C270_HD_WEBCAM_200901010001
device.subsystem = sound
sysfs.path = /devices/platform/soc@0/4ef8800.usb/4e00000.usb/xhci-hcd.2.auto/usb1/1-1/1-1.2/1-1.2:1.2/sound/card0
device.vendor.id = 0x046d
device.vendor.name = Logitech, Inc.
spa.object.id = 2
device.string = 0
is-default = true
gst-launch-1.0 pulsesrc device=alsa_input.usb-046d_C270_HD_WEBCAM_200901010001-02.mono-fallback ! ...
Device found:
name : Monitor of Built-in Audio HDMI Digital Stereo Output
class : Audio/Source
caps : audio/x-raw, format={ (string)S16LE, (string)S16BE, (string)F32LE, (string)F32BE, (string)S32LE, (string)S32BE, (string)S24LE, (string)S24BE, (string)S24_32LE, (string)S24_32BE, (string)U8 }, layout=interleaved, rate=[ 1, 768000 ], channels=[ 1, 32 ]
audio/x-alaw, rate=[ 1, 768000 ], channels=[ 1, 32 ]
audio/x-mulaw, rate=[ 1, 768000 ], channels=[ 1, 32 ]
properties:
alsa.card = 1
alsa.card_name = Arduino-Imola-HPH-LOUT
alsa.class = generic
alsa.device = 3
alsa.driver_name = snd_soc_sm8250
alsa.id = MultiMedia4 (*)
alsa.long_card_name = Arduino-Imola-1.0
alsa.mixer_device = _ucm0003.hw:ArduinoImolaHPH
alsa.name =
alsa.resolution_bits = 16
alsa.subclass = generic-mix
alsa.subdevice = 0
alsa.subdevice_name = subdevice #0
alsa.sync.id = 00000000:00000000:00000000:00000000
api.alsa.card.longname = Arduino-Imola-1.0
api.alsa.card.name = Arduino-Imola-HPH-LOUT
api.alsa.open.ucm = true
api.alsa.path = hw:ArduinoImolaHPH,3
api.alsa.pcm.card = 1
api.alsa.pcm.stream = playback
audio.channels = 2
audio.position = FL,FR
card.profile.device = 0
device.api = alsa
device.class = monitor
device.icon_name = video-display
device.id = 49
device.profile.description = HDMI Digital Stereo Output
device.profile.name = HDMI: HDMI: sink
device.routes = 1
factory.name = api.alsa.pcm.sink
media.class = Audio/Sink
device.description = Built-in Audio
node.name = alsa_output.platform-sound.HDMI__HDMI__sink
node.nick = HDMI Digital Stereo Output
node.pause-on-idle = false
object.path = alsa:acp:ArduinoImolaHPH:0:playback
port.group = playback
priority.driver = 696
priority.session = 696
factory.id = 19
clock.quantum-limit = 8192
client.id = 47
node.driver = true
node.loop.name = data-loop.0
library.name = audioconvert/libspa-audioconvert
object.id = 51
object.serial = 51
api.acp.auto-port = false
api.acp.auto-profile = false
api.alsa.card = 1
api.alsa.split-enable = true
api.alsa.use-acp = true
api.dbus.ReserveDevice1 = Audio1
api.dbus.ReserveDevice1.Priority = -20
device.bus_path = platform-sound
device.enum.api = udev
device.form_factor = internal
device.name = alsa_card.platform-sound
device.nick = Arduino-Imola-HPH-LOUT
device.plugged.usec = 12297647
device.subsystem = sound
sysfs.path = /devices/platform/sound/sound/card1
spa.object.id = 4
device.string = 1
is-default = false
gst-launch-1.0 pulsesrc device=alsa_output.platform-sound.HDMI__HDMI__sink.monitor ! ...
Device found:
name : Built-in Audio HDMI Digital Stereo Output
class : Audio/Sink
caps : audio/x-raw, format={ (string)S16LE, (string)S16BE, (string)F32LE, (string)F32BE, (string)S32LE, (string)S32BE, (string)S24LE, (string)S24BE, (string)S24_32LE, (string)S24_32BE, (string)U8 }, layout=interleaved, rate=[ 1, 768000 ], channels=[ 1, 32 ]
audio/x-alaw, rate=[ 1, 768000 ], channels=[ 1, 32 ]
audio/x-mulaw, rate=[ 1, 768000 ], channels=[ 1, 32 ]
properties:
alsa.card = 1
alsa.card_name = Arduino-Imola-HPH-LOUT
alsa.class = generic
alsa.device = 3
alsa.driver_name = snd_soc_sm8250
alsa.id = MultiMedia4 (*)
alsa.long_card_name = Arduino-Imola-1.0
alsa.mixer_device = _ucm0003.hw:ArduinoImolaHPH
alsa.name =
alsa.resolution_bits = 16
alsa.subclass = generic-mix
alsa.subdevice = 0
alsa.subdevice_name = subdevice #0
alsa.sync.id = 00000000:00000000:00000000:00000000
api.alsa.card.longname = Arduino-Imola-1.0
api.alsa.card.name = Arduino-Imola-HPH-LOUT
api.alsa.open.ucm = true
api.alsa.path = hw:ArduinoImolaHPH,3
api.alsa.pcm.card = 1
api.alsa.pcm.stream = playback
audio.channels = 2
audio.position = FL,FR
card.profile.device = 0
device.api = alsa
device.class = sound
device.icon_name = video-display
device.id = 49
device.profile.description = HDMI Digital Stereo Output
device.profile.name = HDMI: HDMI: sink
device.routes = 1
factory.name = api.alsa.pcm.sink
media.class = Audio/Sink
device.description = Built-in Audio
node.name = alsa_output.platform-sound.HDMI__HDMI__sink
node.nick = HDMI Digital Stereo Output
node.pause-on-idle = false
object.path = alsa:acp:ArduinoImolaHPH:0:playback
port.group = playback
priority.driver = 696
priority.session = 696
factory.id = 19
clock.quantum-limit = 8192
client.id = 47
node.driver = true
node.loop.name = data-loop.0
library.name = audioconvert/libspa-audioconvert
object.id = 51
object.serial = 51
api.acp.auto-port = false
api.acp.auto-profile = false
api.alsa.card = 1
api.alsa.split-enable = true
api.alsa.use-acp = true
api.dbus.ReserveDevice1 = Audio1
api.dbus.ReserveDevice1.Priority = -20
device.bus_path = platform-sound
device.enum.api = udev
device.form_factor = internal
device.name = alsa_card.platform-sound
device.nick = Arduino-Imola-HPH-LOUT
device.plugged.usec = 12297647
device.subsystem = sound
sysfs.path = /devices/platform/sound/sound/card1
spa.object.id = 4
device.string = 1
is-default = true
gst-launch-1.0 ... ! pulsesink device=alsa_output.platform-sound.HDMI__HDMI__sink
Device found:
name : llvmpipe (LLVM 19.1.7, 128 bits)
class : Video/Sink
caps : video/x-raw(memory:VulkanImage)
properties:
vulkan.name = llvmpipe (LLVM 19.1.7, 128 bits)
vulkan.type = CPU
vulkan.api.version = 1.4.318
vulkan.api.version.major = 1 (0x00000001)
vulkan.api.version.minor = 4 (0x00000004)
vulkan.api.version.patch = 318 (0x0000013e)
vulkan.driver.version = 25.2.6
vulkan.driver.version.major = 25 (0x00000019)
vulkan.driver.version.minor = 2 (0x00000002)
vulkan.driver.version.patch = 6 (0x00000006)
vulkan.vendor.id = 65541 (0x00010005)
vulkan.device.id = 0 (0x00000000)
vulkan.memory.n_heaps = 1 (0x00000001)
vulkan.memory.heaps.0.size = 3848212480
vulkan.memory.heaps.0.flags = 1 (0x00000001)
vulkan.memory.heaps.0.flags.str = device-local
vulkan.memory.n_types = 1 (0x00000001)
vulkan.memory.types.0.heap = 0 (0x00000000)
vulkan.memory.types.0.flags = 15 (0x0000000f)
vulkan.memory.types.0.flags.str = device-local|host-visible|host-coherent|host-cached
vulkan.n_queue_families = 1 (0x00000001)
vulkan.queue_family.0.n_queues = 1 (0x00000001)
vulkan.queue_family.0.flags = 15 (0x0000000f)
vulkan.queue_family.0.flags.str = graphics|compute|transfer|sparse-binding
vulkan.queue_family.0.timestamp_resolution = 64 (0x00000040)
vulkan.queue_family.0.min_image_transfer_granuality.width = 1 (0x00000001)
vulkan.queue_family.0.min_image_transfer_granuality.height = 1 (0x00000001)
vulkan.queue_family.0.min_image_transfer_granuality.depth = 1 (0x00000001)
is-default = false
gst-launch-1.0 ... ! vulkansink
Device found:
name : Turnip Adreno (TM) 702
class : Video/Sink
caps : video/x-raw(memory:VulkanImage)
properties:
vulkan.name = Turnip Adreno (TM) 702
vulkan.type = integrated
vulkan.api.version = 1.0.318
vulkan.api.version.major = 1 (0x00000001)
vulkan.api.version.minor = 0 (0x00000000)
vulkan.api.version.patch = 318 (0x0000013e)
vulkan.driver.version = 25.2.6
vulkan.driver.version.major = 25 (0x00000019)
vulkan.driver.version.minor = 2 (0x00000002)
vulkan.driver.version.patch = 6 (0x00000006)
vulkan.vendor.id = 20803 (0x00005143)
vulkan.device.id = 117441024 (0x07000200)
vulkan.memory.n_heaps = 1 (0x00000001)
vulkan.memory.heaps.0.size = 1924106240
vulkan.memory.heaps.0.flags = 1 (0x00000001)
vulkan.memory.heaps.0.flags.str = device-local
vulkan.memory.n_types = 2 (0x00000002)
vulkan.memory.types.0.heap = 0 (0x00000000)
vulkan.memory.types.0.flags = 7 (0x00000007)
vulkan.memory.types.0.flags.str = device-local|host-visible|host-coherent
vulkan.memory.types.1.heap = 0 (0x00000000)
vulkan.memory.types.1.flags = 11 (0x0000000b)
vulkan.memory.types.1.flags.str = device-local|host-visible|host-cached
vulkan.n_queue_families = 1 (0x00000001)
vulkan.queue_family.0.n_queues = 1 (0x00000001)
vulkan.queue_family.0.flags = 7 (0x00000007)
vulkan.queue_family.0.flags.str = graphics|compute|transfer
vulkan.queue_family.0.timestamp_resolution = 48 (0x00000030)
vulkan.queue_family.0.min_image_transfer_granuality.width = 1 (0x00000001)
vulkan.queue_family.0.min_image_transfer_granuality.height = 1 (0x00000001)
vulkan.queue_family.0.min_image_transfer_granuality.depth = 1 (0x00000001)
is-default = true
gst-launch-1.0 ... ! vulkansink
arduino@cornie:~$ gst-inspect-1.0
1394: dv1394src: Firewire (1394) DV video source
1394: hdv1394src: Firewire (1394) HDV video source
aasink: aasink: ASCII art video sink
aasink: aatv: aaTV effect
accurip: accurip: AccurateRip™ CRC element
adaptivedemux2: dashdemux2: DASH Demuxer
adaptivedemux2: hlsdemux2: HLS Demuxer
adaptivedemux2: mssdemux2: Smooth Streaming demuxer (v2)
adder: adder: Adder
adpcmdec: adpcmdec: ADPCM decoder
adpcmenc: adpcmenc: ADPCM encoder
aes: aesdec: aesdec
aes: aesenc: aesenc
aiff: aiffmux: AIFF audio muxer
aiff: aiffparse: AIFF audio demuxer
alaw: alawdec: A Law audio decoder
alaw: alawenc: A Law audio encoder
alpha: alpha: Alpha filter
alphacolor: alphacolor: Alpha color filter
amrnb: amrnbdec: AMR-NB audio decoder
amrnb: amrnbenc: AMR-NB audio encoder
amrwbdec: amrwbdec: AMR-WB audio decoder
analyticsoverlay: objectdetectionoverlay: Object Detection Overlay
:
1394: dv1394src: Firewire (1394) DV video source
1394: hdv1394src: Firewire (1394) HDV video source
aasink: aasink: ASCII art video sink
aasink: aatv: aaTV effect
accurip: accurip: AccurateRip™ CRC element
adaptivedemux2: dashdemux2: DASH Demuxer
adaptivedemux2: hlsdemux2: HLS Demuxer
adaptivedemux2: mssdemux2: Smooth Streaming demuxer (v2)
adder: adder: Adder
adpcmdec: adpcmdec: ADPCM decoder
adpcmenc: adpcmenc: ADPCM encoder
aes: aesdec: aesdec
aes: aesenc: aesenc
aiff: aiffmux: AIFF audio muxer
aiff: aiffparse: AIFF audio demuxer
alaw: alawdec: A Law audio decoder
alaw: alawenc: A Law audio encoder
alpha: alpha: Alpha filter
alphacolor: alphacolor: Alpha color filter
amrnb: amrnbdec: AMR-NB audio decoder
amrnb: amrnbenc: AMR-NB audio encoder
amrwbdec: amrwbdec: AMR-WB audio decoder
analyticsoverlay: objectdetectionoverlay: Object Detection Overlay