Документация
ОС Аврора 5.1.5

Эмуляция камер

На устройствах ОС Аврора имеется одна или несколько камер. Эмулятор ОС Аврора может имитировать работу с камерой. Средствами Аврора IDE можно запустить мастер управления эмуляцией, задать в качестве данных камеры видеофайл в формате .webm и проверить работу программы с камерой.

Управление эмуляцией камер в Аврора IDE

Эмуляция камеры

Для работы с эмулятором камер следует использовать раздел Камера. Данный раздел содержит:

  • переключатели для выбора источника данных (камеры хост-машины или видеофайла);
  • текущие настройки камеры и элементы для выбора камеры, разрешения и частоты кадров из списков;
  • кнопки Установить настройки, Обновить список камер и Запустить для управления камерой;
  • поле для выбора и загрузки видеофайла;
  • кнопки Запустить и Остановить для запуска и остановки передачи видеопотока.

Передача видеопотока из выбранного видеофайла

Эмуляция камеры

Видеофайл для демонстрации передачи видеопотока доступен по ссылке. Файл содержит пятисекундное видео с QR-кодом, ведущим на портал разработчиков.

Для запуска передачи потока данных из видеофайла, необходимо выбрать пункт Видеофайл в разделе Источник, нажать на кнопку ... рядом с текстовым полем Видеофайл. Откроется диалоговое окно для выбора файлов. Для передачи данных поддерживаются файлы, закодированные в VP9, с расширением .webm.

После выбора конкретного файла будет запущен процесс передачи потока данных на эмулятор. Передача видеопотока из файла будет выполняться циклически, т. е. по окончанию передачи данных из файла процесс будет запущен снова.

Для остановки процесса передачи видеоданных необходимо нажать кнопку Остановить. Для возобновления процесса передачи необходимо нажать кнопку Запустить.

Работа с камерой в приложении

В проекте для работы с камерой можно использовать компонент QML Camera, класс C++ QCamera и другие классы и компоненты QtMultimedia.

Подробнее о работе с камерой можно прочитать в документации Qt.

Команды для проверки работы GStreamer

Если для эмуляции требуется использовать камеру у компьютера разработчика, но при старте плагина эмуляции камера не найдена автоматически, или в процессе запуска возникает ошибка, можно использовать команды из следующих разделов для диагностики работы камеры.

Следует отметить, что для эмуляции поддерживаются все камеры, с которыми работает фреймворк GStreamer. Диагностика производится с помощью команды gst-launch-1.0.

Команды для Windows

Для выполнения проверки работы камеры под Windows следует выполнить следующие действия:

В консоли PowerShell вывести отфильтрованный список устройств:

gst-device-monitor-1.0.exe Video/Source | Select-String -Pattern "ksvideosrc device.path"

Например, ответ может содержать следующую информацию о пути к файлам устройств:

gst-launch-1.0 ksvideosrc device-path="\\\\\?\\usb\#vid_046d\&pid_0825\&mi_00\#7\&1e2afdec\&0\&0000\#\{6994ad05-93ef-11d0-a3cc-00a0c9223196\}\\global" ! ...
gst-launch-1.0 ksvideosrc device-path="\\\\\?\\usb\#vid_0bda\&pid_565c\&mi_00\#6\&a611cca\&0\&0000\#\{6994ad05-93ef-11d0-a3cc-00a0c9223196\}\\global" ! ...

Далее выполнить команду gst-launch-1.0 для проверки запуска веб-камеры, указав путь к файлу устройства.

Встроенная камера:

gst-launch-1.0 ksvideosrc device-path="\\\\\?\\usb\#vid_0bda\&pid_565c\&mi_00\#6\&a611cca\&0\&0000\#\{6994ad05-93ef-11d0-a3cc-00a0c9223196\}\\global" ! videoconvert ! autovideosink

Внешняя USB-камера:

gst-launch-1.0 ksvideosrc device-path="\\\\\?\\usb\#vid_046d\&pid_0825\&mi_00\#7\&1e2afdec\&0\&0000\#\{6994ad05-93ef-11d0-a3cc-00a0c9223196\}\\global" ! videoconvert ! autovideosink

Команды для Linux

Для выполнения проверки работы камеры на Ubuntu или Alt Linux следует выполнить следующие действия:

Установить пакет для работы с утилитой v4l2-ctl, если он не был установлен ранее:

sudo apt-get install v4l-utils

Вывести список доступных камер и ссылок на файлы их устройств. Например:

v4l2-ctl --list-devices

Например, ответ может содержать следующую информацию о пути к файлам устройств:

C270 HD WEBCAM (usb-0000:00:14.0-2.4):
        /dev/video2
        /dev/video3
        /dev/media1

Integrated_Webcam_HD: Integrate (usb-0000:00:14.0-6):
        /dev/video0
        /dev/video1
        /dev/media0

В данном случае, встроенная камера — это устройство /dev/video0, внешняя USB-камера — устройство /dev/video2.

И протестировать камеру, указав путь к файлу устройства:

Встроенная камера:

gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! autovideosink

Внешняя USB-камера:

gst-launch-1.0 v4l2src device=/dev/video2 ! videoconvert ! autovideosink

Команда в случае успеха должна запустить камеру в отдельном окне на компьютере разработчика и вывести сообщение, например:

Установка конвейера в состояние PAUSED…
Конвейер работает и не требует состояния PREROLL…
Конвейер подготовлен (PREROLLED)…
Установка конвейера в состояние PLAYING…
New clock: GstSystemClock

Команды для MacOS

Проверить работу камеры на MacOS можно с помощью команды:

gst-launch-1.0 avfvideosrc ! autovideosink

Пример вывода:

Установка конвейера в состояние PAUSED…
Конвейер работает и не требует состояния PREROLL…
Установка конвейера в состояние PLAYING…
New clock: GstSystemClock
^Chandling interrupt.
Прерывание: Остановка конвейера…
Execution ended after 0:00:11.129066355
Установка конвейера в состояние NULL…
Освобождение конвейера…

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.