ericN 3 11 июня, 2023 Опубликовано 11 июня, 2023 · Жалоба Добрый день. Собрал своё ядро Linux 5.10.9 Добавил gstreamer а также плагин для gst BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP=y пытаюсь достучаться до ip камеры Цитата # gst-launch-1.0 playbin uri=rtsp://192.168.10.20:554/live/ch01_0 Setting pipeline to PAUSED ... ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: No URI handler implemented for "rtsp". Additional debug info: ../gst/playback/gsturidecodebin.c(1449): gen_source_element (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0 ERROR: pipeline doesn't want to preroll. Failed to set pipeline to PAUSED. Setting pipeline to NULL ... Freeing pipeline ... Для "rtsp" не реализован обработчик URI. - ни как не могу понять чего не хватает в моей сборке? Накидал на коленке приложение в винде на QML, указал такой же источник source: "rtsp://192.168.10.20:554/live/ch01_0" Камера в винде работает. В Linux-e не хочет Linux с камерой работать не хочет. Какого-то пакета в окружении ядра не хватает или в самом ядре? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 3 12 июня, 2023 Опубликовано 12 июня, 2023 · Жалоба V4L2 в ядре вообще есть? С помощью v4l2-ctl можете снять raw image? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ericN 3 13 июня, 2023 Опубликовано 13 июня, 2023 · Жалоба В 12.06.2023 в 19:25, gosha-z сказал: V4L2 в ядре вообще есть? в make linux-menuconfig сделал поиск "v4l2" Цитата V4L2_FLASH_LED_CLASS=y VIDEO_V4L2=y VIDEO_V4L2_I2C=y VIDEO_V4L2_SUBDEV_API=y V4L2_FWNODE=m VIDEOBUF2_V4L2=m V4L2_H264 [=n] V4L2_JPEG_HELPER [=n] V4L2_MEM2MEM_DEV [=n] VIDEOBUF2_V4L2 [=m] VIDEO_AU0828_V4L2 [=n] VIDEO_EM28XX_V4L2 [=n] VIDEO_MXC_PXP_V4L2 [=n] VIDEO_V4L2_MXC_INT_DEVICE [=n] VIDEO_V4L2_TPG [=n] В 12.06.2023 в 19:25, gosha-z сказал: С помощью v4l2-ctl можете снять raw image? а как с помощью v4l2-ctl снимать имеджи с ip камеры? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 9 января Опубликовано 9 января · Жалоба On 6/13/2023 at 6:50 AM, ericN said: а как с помощью v4l2-ctl снимать имеджи с ip камеры? v4l2-ctl --device path/to/video_device --set-fmt-video=width=width,height=height,pixelformat=format --stream-mmap --stream-to=path/to/output --stream-count=number_of_frames_to_capture Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ericN 3 10 января Опубликовано 10 января · Жалоба 1) Что такое "path/to/video_device"? Это uri? Как команда должна выглядеть в моём случае? Так? v4l2-ctl --device rtsp://192.168.10.20:554/live/ch01_0 C width и height понятно. 2) Что такое pixelformat? Какие бывают пиксель форматы в ip? Как его задать? 3) --stream-to - это я понял файл... т.е. имедж файл куда будет записан имедж изображение захваченное с камеры, допустим сделать так --stream-to = ~/images/capt.bmp тогда что такое --stream-count=number_of_frames_to_capture? В файл capt.bmp будет захвачено несколько имеджей изображений и они забиндятся в один bmp? Или такой командой будет захвачено не имедж, а видео? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 10 января Опубликовано 10 января · Жалоба 5 minutes ago, ericN said: 1) Что такое "path/to/video_device"? Это uri? Как команда должна выглядеть в моём случае? Так? v4l2-ctl --device rtsp://192.168.10.20:554/live/ch01_0 C width и height понятно. 2) Что такое pixelformat? Какие бывают пиксель форматы в ip? Как его задать? 3) --stream-to - это я понял файл... т.е. имедж файл куда будет записан имедж изображение захваченное с камеры, допустим сделать так --stream-to = ~/images/capt.bmp тогда что такое --stream-count=number_of_frames_to_capture? В файл capt.bmp будет захвачено несколько имеджей изображений и они забиндятся в один bmp? Или такой командой будет захвачено не имедж, а видео? dev/video1 например. Вы же хотите стянуть равку с камеры ? Равок будет столько, сколько укажите в count Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ericN 3 10 января Опубликовано 10 января · Жалоба В 10.01.2024 в 09:55, карамболь сказал: dev/video1 например. А что такое dev/video1? Нет, я понимаю, что в /dev/*** все устройства. Например в каком-нибудь телефоне есть у процессора CSI и на нем две камеры - фронтальная и тыльная, они будут /dev/cam0 и /dev/cam1. Но я спрашиваю про ip камеру. IP камер в dev нет. В 10.01.2024 в 09:55, карамболь сказал: Равок будет столько, сколько укажите в count по рукой нет пока рабочей платы... не могу проверить... если --stream-to = ~/images/capt.bmp, то как несколько равок лягут в один файл? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 3 10 января Опубликовано 10 января · Жалоба Народ, вы чего? Какой /dev/videoN для IP-камеры?! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 10 января Опубликовано 10 января · Жалоба зевнул... думал, про USB камеру вопрос Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 0 10 января Опубликовано 10 января (изменено) · Жалоба On 6/11/2023 at 9:38 AM, ericN said: Добавил gstreamer а также плагин для gst BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP=y возможно распространённая ошибка с buildroot - дополнительная опция у пакета добавляется после того как он уже собран и снова запускается сборка а не пересборка всего пакета - в таком случае ничего не меняется потому что пакет BR2_PACKAGE_GST1_PLUGINS_GOOD для buildroot уже собран On 6/11/2023 at 9:38 AM, ericN said: Какого-то пакета в окружении ядра не хватает или в самом ядре? с ядром это вряд ли связано - ошибка gstreamer, он не находит uri handler - это такой интерфейс в плагинах который говорит гстримеру что если встретишь такой идентификатор у источника данных обращайся ко мне я его буду обрабатывать. Например кастомный плагин для устройств v4l2 imx https://github.com/Freescale/gstreamer-imx/commit/e73587ba9e52dccaadcac6f68cbb50dc942e7953#diff-521be8529eb8e6755e3b03f3bda3ca522d7c4d39d03afddbb49e8e6a7502bcaeR541 они нужны для упрощения интеграции gstreamer в другие проекты чтобы автоматически строить конвееры обработки, в gstreamer можно спокойно обходиться и без них просто полный конвеер написать с указанием нужных плагинов https://stackoverflow.com/questions/71824807/play-rtsp-stream-from-webcam-using-gstreamer/71837243#71837243 лично я в buildroot просто включаю все плагины base good bad у которых нет внешних зависимостей, те что с внешними зависимостями выборочно смотрю что мне надо из этого Ещё попробуйте включить если не включен в меню gstreamer [*] enable plugin registry не уверен что в нём дело - у меня он всегда включен Изменено 10 января пользователем sasamy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться