Программное подключение к модулю NanoR

Материал из WikiDiasom
Перейти к навигации Перейти к поиску

Поддержка МЭК включена в ядро для модуля NanoR. Для проверки успешной инициализации МЭК можно воспользоваться следующей командой:

dmesg | grep imx327

В случае успешной инициализации МЭК в консоли должны отображаться соответствующие сообщения. Пример:

[ 7.494471] imx327 12-001a-2: set the video v4l2 subdev api
[ 7.494495] imx327 12-001a-2: set the media controller
[ 7.494588] imx327 12-001a-2: v4l2 async register subdev success
[ 7.494846] imx327 13-001a-2: driver version: 00.01.06
[ 7.544175] rockchip-csi2-dphy csi2-dphy0: dphy0 matches m00_b_imx327 12-
001a-2:bus type 5

Для вызова видео можно использовать gstreamer. При подключении МЭК к разъёму XS12 модулю соответствует устройство video22, XS13 – video31. Информацию об устройствах можно вывести командой,

media-ctl –p –d /dev/mediaX

где X – номер устройства. Для вывода используется selfpath или mainpath. Пример паттерна для вызова видео:

gst-launch-1.0 v4l2src device=/dev/video22 io-mode=4 ! queue ! video/xraw,format=NV12,width=1080,height=720,framerate=60/1 ! videoconvert !
autovideosink

Паттерн для вывода информации о принимаемом видео:

gst-launch-1.0 v4l2src device=/dev/video22 io-mode=4 ! queue ! video/xraw,format=NV12,width=1080,height=720,framerate=60/1 ! videoconvert !
fpsdisplaysink video-sink=autovideosink text-overlay=true -v

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

использовать V4L:

v4l2-ctl –d /dev/video22 --stream-mmap=4 --verbose

В случае использования V4L будет отображено количество кадров принимаемое аппаратно. В случае необходимости прочие характеристики могут быть отображены с помощью v4l2-ctl и media-ctl. Для справки обращаться к помощи по командам:

v4l2-ctl –h 
media-ctl -h

Для записи видеопотока с МЭК использовать следующий конвейер:

gst-launch-1.0 v4l2src device=/dev/video22 io-mode=4 ! queue ! video/xraw,format=NV12,width=1920,height=1080,framerate=60/1 ! videoconvert !
filesink location=out.yuv

Для воспроизведения видео можно использовать ffplay:

ffplay -f rawvideo -video_size 1920x1080 -pix_fmt nv12 out.yuv

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

сd /usr/bin
sudo ./rkaiq_3A_server

Окно терминала с запущенным приложением будет занято. Достаточно запустить калибровку единожды, при перезагрузке устройства настройки ISP сохраняются. Калибровку необходимо осуществлять заново при подключении новых МЭК. Для выполнения калибровки необходим соответствующий файл в директории /etc/iqfiles/ в формате JSON.

Версии основных библиотек:

1.20.3-0ubuntu1 arm64: gir1.2-gstreamer-1.0, gir1.2-gstreamer-1.0, gstreamer1.0-libav,
gstreamer1.0-plugins-bad, gstreamer1.0-plugins-good, gstreamer1.0-pulseaudio, gstreamer1.0-
tools, libgstreamer-opencv1.0-0, libgstreamer-plugins-bad1.0-0, libgstreamer-plugins-good1.0-
0, libgstreamer1.0-0
1.20.1-1ubuntu0.1 arm64: gstreamer1.0-alsa, gstreamer1.0-gl, gstreamer1.0-plugins-base-apps,
gstreamer1.0-plugins-base, gstreamer1.0-x, libgstreamer-gl1.0-0, libgstreamer-plugins-base1.0-
0
1.5.0-4ubuntu2.2firefly6 arm64: gstreamer1.0-rockchip1, librockchip-mpp-dev, librockchipmpp1, librockchip-vpu0, rockchip-mpp-demos
5.0x3.0 arm64: camera-engine-rkaiq