Привет, у меня есть комплект iMX8QXP, и я хочу получить поток с камеры ov5647.
DISTRO = fsl-imx-wayland.
Контакт моей камеры ov5647 подключен к:
MIPI_CSI0_ACM_MCLK_OUT MIPI_CSI0_MCLK_OUT alt0
MIPI_CSI0_CKN MIPI_CSI0_CLK_N alt0 MIPI_CSI0_CKP MIPI_CSI0_CLK_P alt0 MIPI_CSI0_DN0 MIPI_CSI0_DATA0_N alt0 MIPI_CSI0_DN1 MIPI_CSI0_DATA1_N alt0 MIPI_CSI0_DN2 MIPI_CSI0_DATA2_N alt0
MIPI_CSI0_DN3 MIPI_CSI0_DATA3_N alt0 MIPI_CSI0_DP0 MIPI_CSI0_DATA0_P alt0 MIPI_CSI0_DP1 MIPI_CSI0_DATA1_P alt0 MIPI_CSI0_DP2 MIPI_CSI0_DATA2_P alt0 MIPI_CSI0_DP3 MIPI_CSI0_DATA3_P alt0
Но контакты I2 C не подключены. Это проблема? Могу ли я получить данные с камеры без инициализации через i2 c?
Так что я не могу найти эти контакты (с именами сигналов пэдов) в ./include/dt-bindings/pinctrl/pads-imx8qxp.h и если я записываю эти форматы контактных площадок, я получаю ошибку вместо записи MIPI_CSI0_ACM_MCLK_OUT. Я думаю, что эти контакты выделены, и я не могу мультиплексировать Я могу использовать напрямую без изменений scfw.
Итак, мой файл dts о камере MIPI CSI:
&iomuxc {
imx8qxp-mek {
pinctrl_mipi_csi0: mipicsi0grp{
fsl,pins = <
SC_P_MIPI_CSI0_MCLK_OUT_MIPI_CSI0_ACM_MCLK_OUT 0xC0000041
SC_P_MIPI_CSI0_GPIO0_01_LSIO_GPIO3_IO07 0xC0000041
SC_P_MIPI_CSI0_GPIO0_00_LSIO_GPIO3_IO08 0xC0000041
>;
};
pinctrl_parallel_csi: parallelcsigrp {
fsl,pins = <
SC_P_CSI_D00_CI_PI_D02 0xC0000041
SC_P_CSI_D01_CI_PI_D03 0xC0000041
SC_P_CSI_D02_CI_PI_D04 0xC0000041
SC_P_CSI_D03_CI_PI_D05 0xC0000041
SC_P_CSI_D04_CI_PI_D06 0xC0000041
SC_P_CSI_D05_CI_PI_D07 0xC0000041
SC_P_CSI_D06_CI_PI_D08 0xC0000041
SC_P_CSI_D07_CI_PI_D09 0xC0000041
SC_P_CSI_MCLK_CI_PI_MCLK 0xC0000041
SC_P_CSI_PCLK_CI_PI_PCLK 0xC0000041
SC_P_CSI_HSYNC_CI_PI_HSYNC 0xC0000041
SC_P_CSI_VSYNC_CI_PI_VSYNC 0xC0000041
SC_P_CSI_EN_LSIO_GPIO3_IO02 0xC0000041
SC_P_CSI_RESET_LSIO_GPIO3_IO03 0xC0000041
>;
};
};
};
&isi_0 {
interface = <6 0 2>; /* INPUT: 6-PARALLEL CSI */
parallel_csi;
status = "okay";
};
&cameradev {
parallel_csi;
status = "okay";
};
¶llel_csi {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
port@0 {
reg = <0>;
parallel_csi_ep: endpoint {
remote-endpoint = <&ov5647_ep>;
};
};
};
&isi_2 {
interface = <2 0 2>;
status = "okay";
};
&isi_1 {
status = "disabled";
};
&isi_3 {
status = "disabled";
};
&isi_4 {
status = "disabled";
};
&isi_5 {
status = "disabled";
};
&isi_6 {
status = "disabled";
};
&isi_7 {
status = "disabled";
};
&i2c0_csi0 {
clock-frequency = <100000>;
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
ov5647_mipi: ov5647_mipi@36 {
compatible = "ovti,ov5647_mipi";
reg = <0x36>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_mipi_csi0>;
clocks = <&clk IMX8QXP_24MHZ>;
clock-names = "csi_mclk";
csi_id = <0>;
pwn-gpios = <&gpio3 7 GPIO_ACTIVE_LOW>;
rst-gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>;
mclk = <24000000>;
mclk_source = <0>;
mipi_csi;
status = "okay";
port {
ov5647_mipi_ep: endpoint {
remote-endpoint = <&mipi_csi0_ep>;
};
};
};
/delete-node/max9286_mipi@6A;
};
&mipi_csi_0 {
/delete-property/virtual-channel;
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
mipi_csi0_ep: endpoint {
remote-endpoint = <&ov5647_mipi_ep>;
data-lanes = <1 2>;
};
};
};
&i2c0_cm40 {
#address-cells = <1>;
#size-cells = <0>;
ov5647: ov5647@36 {
compatible = "ovti,ov5647";
reg = <0x36>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_parallel_csi>;
clocks = <&clk IMX8QXP_PARALLEL_CSI_MISC0_CLK>;
clock-names = "csi_mclk";
pwn-gpios = <&gpio3 2 GPIO_ACTIVE_LOW>;
rst-gpios = <&gpio3 3 GPIO_ACTIVE_HIGH>;
csi_id = <0>;
mclk = <24000000>;
mclk_source = <0>;
status = "okay";
port {
ov5647_ep: endpoint {
remote-endpoint = <¶llel_csi_ep>;
};
};
};
};
Затем я открываю поддержку ov5647_mipi через make menuconfig:
make menuconfig> Драйверы устройств> Поддержка мультимедиа> Устройства на платформе V4L> MX C Поддержка функций Camera / V4L2 RPR> Поддержка камеры Omnivision ov5647 с использованием mipi> (*). Я добавляю y сюда.
После загрузки нового видео в / dev нет. (с драйвером ov5647 или без него размер видео не меняется. Есть video12 и video13)
И я меняю поддержку камеры Omnivision ov5647, используя mipi на m (модуль сборки), и я insmod ov5647_camera_mipi.ko
модуль загружен и вот так:
brk(NULL) = 0x1b168000
faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=43413, ...}) = 0
mmap(NULL, 43413, PROT_READ, MAP_PRIVATE, 3, 0) = 0xffff8ba94000
close(3) = 0
openat(AT_FDCWD, "/lib/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\300$\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=88392, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffff8ba92000
mmap(NULL, 151928, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffff8ba4c000
mprotect(0xffff8ba61000, 61440, PROT_NONE) = 0
mmap(0xffff8ba70000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0xffff8ba70000
close(3) = 0
openat(AT_FDCWD, "/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\260C\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1405888, ...}) = 0
mmap(NULL, 1477872, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffff8b8e3000
mprotect(0xffff8ba33000, 65536, PROT_NONE) = 0
mmap(0xffff8ba43000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x150000) = 0xffff8ba43000
mmap(0xffff8ba49000, 11504, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffff8ba49000
close(3) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffff8b8e1000
mprotect(0xffff8ba43000, 12288, PROT_READ) = 0
mprotect(0xffff8ba70000, 4096, PROT_READ) = 0
mprotect(0x42f000, 4096, PROT_READ) = 0
mprotect(0xffff8baa1000, 4096, PROT_READ) = 0
munmap(0xffff8ba94000, 43413) = 0
brk(NULL) = 0x1b168000
brk(0x1b189000) = 0x1b189000
uname({sysname="Linux", nodename="imx8qxpmek", ...}) = 0
openat(AT_FDCWD, "/lib/modules/4.19.35-1.1.0+g0f9917c56d59/modules.softdep", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/proc/cmdline", O_RDONLY|O_CLOEXEC) = 3
read(3, "root=/dev/mmcblk1p2 ro rootwait "..., 4095) = 88
read(3, "", 4007) = 0
close(3) = 0
newfstatat(AT_FDCWD, ".", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0
newfstatat(AT_FDCWD, "/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0
newfstatat(AT_FDCWD, "/home/ov5647_camera_mipi.ko", {st_mode=S_IFREG|0644, st_size=28736, ...}, 0) = 0
openat(AT_FDCWD, "/home/ov5647_camera_mipi.ko", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177E", 2) = 2
lseek(3, 0, SEEK_SET) = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=28736, ...}) = 0
mmap(NULL, 28736, PROT_READ, MAP_PRIVATE, 3, 0) = 0xffff8ba97000
finit_module(3, "", 0) = 0
munmap(0xffff8ba97000, 28736) = 0
close(3) = 0
exit_group(0) = ?
+++ exited with 0 +++
и я попытался video12 и video13 открыть камеру через lvds с помощью следующих команд:
Команда:
gst-launch-1.0 -v videotestsr c pattern = ball \! видео / x-raw, ширина = 320, высота = 240 \! видеоконверт \! тройник \! v4l2sink device = / dev / video12 Вывод:
root@imx8qxpmek: / home # gst-launch-1.0 -v videotestsr c pattern = ball \
! видео / x-raw, ширина = 320, высота = 240 \! видеоконверт \! тройник \! v4l2sink device = / dev / video12 Установка конвейера на PAUSED ... ОШИБКА: конвейер не хочет останавливаться. ОШИБКА: от элемента / GstPipeline: pipe0 / GstV4l2Sink: v4l2sink0: Устройство '/ dev / video12' не является устройством вывода. Дополнительная информация отладки: ../../../git/sys/v4l2/v4l2_calls.c(687): gst_v4l2_open (): / GstPipeline: pipe0 / GstV4l2Sink: v4l2sink0: Возможности: 0x4204000 Настройка конвейера для NULL .. Освобождающий конвейер ...
root@imx8qxpmek: / home #
Команда:
gst-launch-1.0 -v videotestsr c pattern = ball \! видео / x-raw, ширина = 320, высота = 240 \! видеоконверт \! тройник \! v4l2sink device = / dev / video12 Вывод:
Установка конвейера на PAUSED ... Конвейер PREROLLING ... /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video / x-raw, формат = (строка) NV12, ширина = (int) 320, высота = (int) 240, частота кадров = (фракция) 30/1, режим multiview-mode = (строка) моно, чересстрочная развертка1 / GstPipeline: pipe0 / GstCapsFilter: capsfilter0.GstPad: sr c: caps = video / x-raw, формат = (строка) NV12, ширина = (int) 320, высота = (int) 240, частота кадров = (фракция) 30/1, многовариантность -mode = (string) mono, interlace-mod1 / GstPipeline: pipe0 / GstVideoConvert: videoconvert0. GstPad: sr c: caps = video / x-raw, формат = (строка) NV12, ширина = (int) 320, высота = (int) 240, частота кадров = (фракция) 30/1, режим множественного просмотра = ( string) mono, interlace1 /GstPipeline:pipeline0/GstTee:tee0.GstTeePad:src_0: caps = video / x-raw, формат = (строка) NV12, ширина = (int) 320, высота = (int) 240, частота кадров = ( фракция) 30/1, multiview-mode = (строка) моно, чересстрочный режим = (string1 /GstPipeline:pipeline0/GstV4l2Sink:v4l2sink0.GstPad:sink: caps = video / x-raw, формат = (строка) NV12, ширина = (int) 320, height = (int) 240, частота кадров = (фракция) 30/1, режим многовидового просмотра = (строка) моно, режим чересстрочной развертки = (1 /GstPipeline:pipeline0/GstTee:tee0.GstPad:sink: caps = video / x-raw, формат = (строка) NV12, ширина = (int) 320, высота = (int) 240, частота кадров = (фракция) 30/1, режим мультивью просмотра = (строка) моно, режим чересстрочной развертки = (строка) pro1 /GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps = video / x-raw, формат = (строка) NV12, ширина = (int) 320, высота = (int) 240, частота кадров = ( фракция) 30/1, multiview-mode = (string) mono, interlac1 / GstPipeline: pipe0 / GstCapsFilter: capsfilter0.GstPad: сток: caps = видео / x-raw, формат = (строка) NV12, ширина = (int) 320, высота = (int) 240, частота кадров = (фракция) 30/1, режим мультивью (строка) mono, interlace-mo1 конвейер ОБЫЧЕН ... Установка конвейера на ВОСПРОИЗВЕДЕНИЕ ... Новые часы: GstSystemClock
^ Прерывание чандлинга. -------------------------------------> CTRL + C Прерывание: остановка конвейера ... Выполнение завершилось после 0: 01: 03.000609625 Установка конвейера на PAUSED ... Установка конвейера на READY ... Установка конвейера на NULL ... Освобождение конвейера ...
команда:
gst-launch-1.0 -e имя glvideomixer = фон микса = 3 раковина_0 :: xpos = 192 раковина_0 :: ypos = 0 раковина_0 :: ширина = 640 раковина_0 :: высота = 480 раковина_0 :: zorder = 1! "video / x-raw, ширина = 1024, высота = 768"! glimagesink rotate-method = горизонтальный флип v4l2sr c device = / dev / video13! видео / x-raw, ширина = 640, высота = 480! mix.sink_0 &
output:
Установка конвейера на PAUSED ... Конвейер активен и не нуждается в PREROLL ... Получил контекст из элемента 'sink': gst.gl.GLDisplay = context, gst.gl.GLDisplay = (GstGLDisplay) "(GstGLDisplayWayland) \ gldisplaywayland0"; Установка конвейера на PLAYING ... Новые часы: GstSystemClock ОШИБКА: от элемента / GstPipeline: pipe0 / GstV4l2Sr c: v4l2src0: Внутренняя ошибка потока данных. Дополнительная информация для отладки: ../../../../git/libs/gst/base/gstbasesrc.c(3072): gst_base_src_l oop (): / GstPipeline: pipeline0 / GstV4l2Sr c: v4l2src0: потоковая передача остановлена, причина не согласована (-4) EOS при завершении работы включена - ожидание EOS после ошибки Ожидание EOS ...
команда:
gst-launch-1.0 -e имя glvideomixer = смесь фона = 3 раковина_0 :: xpos = 192 раковина_0 :: ypos = 0 раковина_0 :: ширина = 640 раковина_0 :: высота = 480 раковина_0 :: zorder = 1! "video / x-raw, ширина = 1024, высота = 768"! glimagesink rotate-method = горизонтальный флип v4l2sr c устройство = / dev / video12! видео / x-raw, ширина = 640, высота = 480! mix.sink_0 &
Вывод:
Установка конвейера на PAUSED ... ОШИБКА: конвейер не хочет останавливаться. Получил контекст из элемента 'sink': gst.gl.GLDisplay = context, gst.gl.GLDisplay = (GstGLDisplay) "(GstGLDisplayWayland) \ gldisplaywayland0"; ОШИБКА: из элемента / GstPipeline: pipe0 / GstV4l2Sr c: v4l2src0: Устройство '/ dev / video12' не является устройством захвата. Дополнительная информация отладки: ../../../git/sys/v4l2/v4l2_calls.c(679): gst_v4l2_open (): / GstPipeline: pipe0 / GstV4l2Sr c: v4l2src0: Возможности: 0x4204000 Настройка конвейера для NULL ... освобождающий конвейер ...
Помогите пожалуйста. Я жду вашего предложения.
Редактировать 1:
Я изменяю файл dts следующим образом:
&iomuxc {
imx8qxp-mek {
pinctrl_mipi_csi0: mipicsi0grp{
fsl,pins = <
SC_P_MIPI_CSI0_MCLK_OUT_MIPI_CSI0_ACM_MCLK_OUT 0xC0000041
SC_P_MIPI_CSI0_GPIO0_01_LSIO_GPIO3_IO07 0xC0000041
SC_P_MIPI_CSI0_GPIO0_00_LSIO_GPIO3_IO08 0xC0000041
>;
};
pinctrl_parallel_csi: parallelcsigrp {
fsl,pins = <
SC_P_CSI_D00_CI_PI_D02 0xC0000041
SC_P_CSI_D01_CI_PI_D03 0xC0000041
SC_P_CSI_D02_CI_PI_D04 0xC0000041
SC_P_CSI_D03_CI_PI_D05 0xC0000041
SC_P_CSI_D04_CI_PI_D06 0xC0000041
SC_P_CSI_D05_CI_PI_D07 0xC0000041
SC_P_CSI_D06_CI_PI_D08 0xC0000041
SC_P_CSI_D07_CI_PI_D09 0xC0000041
SC_P_CSI_MCLK_CI_PI_MCLK 0xC0000041
SC_P_CSI_PCLK_CI_PI_PCLK 0xC0000041
SC_P_CSI_HSYNC_CI_PI_HSYNC 0xC0000041
SC_P_CSI_VSYNC_CI_PI_VSYNC 0xC0000041
SC_P_CSI_EN_LSIO_GPIO3_IO02 0xC0000041
SC_P_CSI_RESET_LSIO_GPIO3_IO03 0xC0000041
>;
};
};
};
&isi_0 {
interface = <6 0 2>; /* INPUT: 6-PARALLEL CSI */
parallel_csi;
status = "disable";
};
&cameradev {
mipi_csi_0;
status = "okay";
};
¶llel_csi {
#address-cells = <1>;
#size-cells = <0>;
status = "disable";
port@0 {
reg = <0>;
parallel_csi_ep: endpoint {
remote-endpoint = <&ov5647_ep>;
};
};
};
&isi_2 {
interface = <2 0 2>;
status = "okay";
};
&isi_1 {
status = "disabled";
};
&isi_3 {
status = "disabled";
};
&isi_4 {
status = "disabled";
};
&isi_5 {
status = "disabled";
};
&isi_6 {
status = "disabled";
};
&isi_7 {
status = "disabled";
};
&i2c0_csi0 {
clock-frequency = <100000>;
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
ov5647_mipi: ov5647_mipi@36 {
compatible = "ovti,ov5647_mipi";
reg = <0x36>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_mipi_csi0>;
clocks = <&clk IMX8QXP_24MHZ>;
clock-names = "csi_mclk";
csi_id = <0>;
pwn-gpios = <&gpio3 7 GPIO_ACTIVE_LOW>;
rst-gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>;
mclk = <24000000>;
mclk_source = <0>;
mipi_csi;
status = "okay";
port {
ov5647_mipi_ep: endpoint {
remote-endpoint = <&mipi_csi0_ep>;
};
};
};
/delete-node/max9286_mipi@6A;
};
&mipi_csi_0 {
virtual-channel;
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
mipi_csi0_ep: endpoint {
remote-endpoint = <&ov5647_mipi_ep>;
data-lanes = <1 2>;
};
};
};
&i2c0_cm40 {
#address-cells = <1>;
#size-cells = <0>;
ov5647: ov5647@36 {
compatible = "ovti,ov5647";
reg = <0x36>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_parallel_csi>;
clocks = <&clk IMX8QXP_PARALLEL_CSI_MISC0_CLK>;
clock-names = "csi_mclk";
pwn-gpios = <&gpio3 2 GPIO_ACTIVE_LOW>;
rst-gpios = <&gpio3 3 GPIO_ACTIVE_HIGH>;
csi_id = <0>;
mclk = <24000000>;
mclk_source = <0>;
status = "disabled";
port {
ov5647_ep: endpoint {
remote-endpoint = <¶llel_csi_ep>;
};
};
};
};
теперь мне кажутся модули: root@imx8qxpmek: / # find -name " ov5647"./sys/bus/i2c/drivers/ov5647_mipi ./sys/firmware/devicetree/base/i2c@37230000/ov5647@36 ./sys/firmware/devicetree/base/i2c@58226000/ov5647_mipi@36 ./sys/module/ ov5647_camera_mipi
и когда ls / dev сейчас два / dev / video. (video0 и video1).
Почему сейчас два видеоканала?
Также есть ошибка в моем файле dts. Что это:
root@imx8qxpmek: / # dmesg | grep ov5
[3.667601] ov5647_mipi 16-0036: ошибка при применении настроек, отменить все назад [3.674673] ov5647_mipi: сбой зонда 16-0036 с ошибкой -22
Я жду помощи .
Редактировать 2: я удалил
SC_P_MIPI_CSI0_GPIO0_01_LSIO_GPIO3_IO07 0xC0000041
SC_P_MIPI_CSI0_GPIO0_00_LSIO_GPIO3_IO08 0xC0000041
из файла dts. (Я думаю, что был конфликт контактов)
root@imx8qxpmek:/# dmesg | grep ov5
[ 3.641815] ov5647_mipi 16-0036: 16-0036 supply DOVDD not found, using dummy regulator
[ 3.649866] ov5647_mipi 16-0036: Linked as a consumer to regulator.0
[ 3.656255] ov5647_mipi 16-0036: 16-0036 supply DVDD not found, using dummy regulator
[ 3.664175] ov5647_mipi 16-0036: 16-0036 supply AVDD not found, using dummy regulator
[ 4.751720] ov5647_read_reg:write reg error:reg=300a
[ 4.756696] camera ov5647_mipi is not found
root@imx8qxpmek:/#
Также я пробую video0, video1 и video12 с этой командой:
root@imx8qxpmek:/# gst-launch-1.0 v4l2src device=/dev/video12 glimagesink
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
Got context from element 'sink': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayWayland\)\ gldisplaywayland0";
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Device '/dev/video12' is not a capture device.
Additional debug info:
../../../git/sys/v4l2/v4l2_calls.c(679): gst_v4l2_open (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Capabilities: 0x4204000
Setting pipeline to NULL ...
Freeing pipeline ...
root@imx8qxpmek:/#
Но video13 отличается:
root@imx8qxpmek:/# gst-launch-1.0 v4l2src device=/dev/video13 glimagesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Got context from element 'sink': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayWayland\)\ gldisplaywayland0";
Caught SIGSEGV
Setting pipeline to PLAYING ...
New clock: GstSystemClock
#0 0x0000ffffbce2a1a0 in __GI___poll (fds=0x13944c50, nfds=2,
#1 0x0000ffffbcf4b22c in ?? () from /usr/lib/libglib-2.0.so.0
#2 0x0000ffffbcf4b640 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#3 0x0000ffffbd0da5bc in gst_bus_poll () from /usr/lib/libgstreamer-1.0.so.0
#4 0x0000000000404828 in ?? ()
#5 0x00000000004036a8 in ?? ()
#6 0x0000ffffbcd89264 in __libc_start_main (main=0x4032c0, argc=4,
#7 0x0000000000403d44 in ?? ()
Spinning. Please run 'gdb gst-launch-1.0 4434' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
Теперь я снова жду помощи !!