Управляем чем угодно откуда угодно

Фотоаппарат из virt2real

Общие вопросы

Фотоаппарат из virt2real

Сообщение fisheye » 21 фев 2014, 22:16

Здравствуйте.
Моя виртурилка установлена в качестве полезной нагрузки на квадрокоптер. Летательным аппаратом она не управляет, выполняет роль ftp-сервера, куда сливается информация от наземных станций: квадрокоптер летит по определённому маршруту, в нужных местах зависает, забирает инфу по WiFi, летит дальше. Считаю такое использование устройства прямым расточительством, потому предполагаю навесить на него задачу фотографирования по команде с пульта управления или по расписанию (для начала). Разумеется, есть "родная" камера.
Подскажите, пожалуйста, с чего начать, что почитать/посмотреть. Имеются зачаточные знания по ОС семейства Линукс, навыки программирования на уровне 10-го класса средней школы, да и то не у меня, а у сына.
fisheye
 
Сообщения: 11
Зарегистрирован: 18 янв 2014, 22:00
Откуда: Москва

Re: Фотоаппарат из virt2real

Сообщение Gol » 02 мар 2014, 17:19

fisheye писал(а):Здравствуйте.
Моя виртурилка установлена в качестве полезной нагрузки на квадрокоптер. Летательным аппаратом она не управляет, выполняет роль ftp-сервера, куда сливается информация от наземных станций: квадрокоптер летит по определённому маршруту, в нужных местах зависает, забирает инфу по WiFi, летит дальше. Считаю такое использование устройства прямым расточительством, потому предполагаю навесить на него задачу фотографирования по команде с пульта управления или по расписанию (для начала). Разумеется, есть "родная" камера.
Подскажите, пожалуйста, с чего начать, что почитать/посмотреть. Имеются зачаточные знания по ОС семейства Линукс, навыки программирования на уровне 10-го класса средней школы, да и то не у меня, а у сына.


Ну, камера всё-таки не ахти какая для фотосъёмки, она, скорее, только в качестве курсовой годится. Но если всё-таки нужно фотографирование - нужно перевести камеру в полное разрешение (1600x1200) и захватывать кадр тем же гстримером. Я про такое применение вообще не думал, так что спасибо за вопрос, щас подумаю :-)
Аватара пользователя
Gol
 
Сообщения: 507
Зарегистрирован: 17 фев 2012, 01:44
Откуда: Тула-Свободный-Щёкино-Тула-Москва

Re: Фотоаппарат из virt2real

Сообщение fisheye » 05 мар 2014, 22:01

Здравствуйте.
Никаких чудес от камеры не жду, основных целей две: практическая - получение фото в полёте, подтверждение прохождения маршрута; и теоретическая - отработка технологии и навыков.
В целом, кмк, понимаю алгоритм работы системы, не хватает "методички".
fisheye
 
Сообщения: 11
Зарегистрирован: 18 янв 2014, 22:00
Откуда: Москва

Re: Фотоаппарат из virt2real

Сообщение fisheye » 08 апр 2014, 22:10

Сто с лишним человек полюбопытствовали по поводу содержания темы. Никто ничего не предложил :-(
Gol, вся надежда только на Вас. Понимаю, что некогда, что HD по WiFi, что выставка на носу, но если вдруг будет промежуток между боями - черкните пару строк по теме, пожалуйста. Мне б зацепиться как-то, дальше сам.
fisheye
 
Сообщения: 11
Зарегистрирован: 18 янв 2014, 22:00
Откуда: Москва

Re: Фотоаппарат из virt2real

Сообщение realizator » 09 апр 2014, 09:21

fisheye писал(а):Сто с лишним человек полюбопытствовали по поводу содержания темы. Никто ничего не предложил :-(
Gol, вся надежда только на Вас. Понимаю, что некогда, что HD по WiFi, что выставка на носу, но если вдруг будет промежуток между боями - черкните пару строк по теме, пожалуйста. Мне б зацепиться как-то, дальше сам.

Попробуйте погуглить "single frame capture gstreamer" - там много рецептов. Это позволит не городить огород с новыми инструментами захвата.
А чтобы для каждого захвата кадра не стартовать гстример заново, можно пользоваться демоном gstd.
Через gstd запустили стример, сделали снимок, поставили на паузу. Потом через него указываете имя следующего снимка (меняете параметр location для filesink). Запустили, сфотали, поставили на паузу.
Аватара пользователя
realizator
virt2real team
 
Сообщения: 650
Зарегистрирован: 17 фев 2012, 23:18

Re: Фотоаппарат из virt2real

Сообщение fisheye » 12 апр 2014, 00:50

Вот что получилось:
Код: Выделить всё
[root@virt2real ~]# gst-launch v4l2src num-buffers=1 ! jpegenc ! filesink location=/tmp/capture1.jpeg
Setting pipeline to PAUSED ...
libv4lconvert: warning more framesizes then I can handle!
Segmentation fault
[root@virt2real ~]#

Вернее, не получилось
Файл создаётся, но он пустой. В чём тут может быть дело?

Кстати, хотел скинуть описание элемента в файл, т.к. на экран оно не влезает:
Код: Выделить всё
[root@virt2real ~]# gst-inspect v4l2src > /tmp/v4l2src 
libv4lconvert: warning more framesizes then I can handle!
[root@virt2real ~]#

Описание записалось в файл.

Уверен, что проблем с железками нет, т.к. видео с камеры получаю (rtsp, включаю в админке, смотрю в VLC на Win7)
fisheye
 
Сообщения: 11
Зарегистрирован: 18 янв 2014, 22:00
Откуда: Москва

Re: Фотоаппарат из virt2real

Сообщение realizator » 12 апр 2014, 09:15

fisheye писал(а):Вот что получилось:
Код: Выделить всё
[root@virt2real ~]# gst-launch v4l2src num-buffers=1 ! jpegenc ! filesink location=/tmp/capture1.jpeg
Setting pipeline to PAUSED ...
libv4lconvert: warning more framesizes then I can handle!
Segmentation fault
[root@virt2real ~]#

Вернее, не получилось
Файл создаётся, но он пустой. В чём тут может быть дело?

Кстати, хотел скинуть описание элемента в файл, т.к. на экран оно не влезает:
Код: Выделить всё
[root@virt2real ~]# gst-inspect v4l2src > /tmp/v4l2src 
libv4lconvert: warning more framesizes then I can handle!
[root@virt2real ~]#

Описание записалось в файл.

Уверен, что проблем с железками нет, т.к. видео с камеры получаю (rtsp, включаю в админке, смотрю в VLC на Win7)

Мы сейчас на выставке всей командой, заняты. Давайте я в начале недели просто сделаю захват одной фотографии и выложу тут подробный рецепт.
Аватара пользователя
realizator
virt2real team
 
Сообщения: 650
Зарегистрирован: 17 фев 2012, 23:18

Re: Фотоаппарат из virt2real

Сообщение fisheye » 15 апр 2014, 22:39

Проверил вот такую цепочку:
Код: Выделить всё
gst-launch v4l2src num-buffers=1 ! video/x-raw-rgb,width=640,height=480,framerate=0/1 ! ffmpegcolorspace ! jpegenc ! filesink location=/tmp/test.jpg

Вот что выпало в консоль:
Код: Выделить всё
Setting pipeline to PAUSED ...
libv4lconvert: warning more framesizes then I can handle!
Pipeline is live and does not need PREROLL ...
WARNING: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to set norm for device '/dev/video0'.
Additional debug info:
v4l2_calls.c(749): gst_v4l2_set_norm (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
system error: Invalid argument
WARNING: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Video input device did not accept new frame rate setting.
Additional debug info:
v4l2src_calls.c(331): gst_v4l2src_set_capture (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
system error: Invalid argument
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 1099156917 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
[root@virt2real ~]#

Полученная картинка:
Изображение
Цепочка сработала только один раз, вторая и последующие попытки заканчивались вот таким сообщением:
Код: Выделить всё
Setting pipeline to PAUSED ...
libv4lconvert: warning more framesizes then I can handle!
libv4l2: error allocating conversion buffer
Segmentation fault

Уже какой-то результат, но что ж не так?
fisheye
 
Сообщения: 11
Зарегистрирован: 18 янв 2014, 22:00
Откуда: Москва

Re: Фотоаппарат из virt2real

Сообщение fisheye » 06 май 2014, 20:16

Так можно сделать из virt2real в нынешней конфигурации (железо+прошивка) фотоаппарат или нет? После проведённых опытов мне кажется, что нет. Gol и realizator отметились в теме, но,судя по всему, тоже не нашли решения
fisheye
 
Сообщения: 11
Зарегистрирован: 18 янв 2014, 22:00
Откуда: Москва

Re: Фотоаппарат из virt2real

Сообщение realizator » 07 май 2014, 16:32

fisheye писал(а):Так можно сделать из virt2real в нынешней конфигурации (железо+прошивка) фотоаппарат или нет? После проведённых опытов мне кажется, что нет. Gol и realizator отметились в теме, но,судя по всему, тоже не нашли решения

Fisheye, возможно я не так вашу задачу понял, но у меня, например, на нашей последней прошивке HD вот эта вот команда для гстримера

Код: Выделить всё
gst-launch -e v4l2src always-copy=false num-buffers=1 chain-ipipe=true ! video/x-raw-yuv,format=\(fourcc\)NV12, width=1280, height=720 ! dmaienc_jpeg ! filesink location=/test.jpg


создает в корне карточки файлик test.jpg с разрешением 1280х720 и картинкой с камеры...
Вам именно такой результат нужен?
Аватара пользователя
realizator
virt2real team
 
Сообщения: 650
Зарегистрирован: 17 фев 2012, 23:18

След.

Вернуться в Общий раздел ("не знаю куда написать")

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1