728x90
반응형
Chapter 6. Camera Examples (카메라 예제)
이 섹션에서는 일부 GStreamer 파이프라인 예제와 지원되는 디바이스를 사용하여 카메라 캡쳐를 수행하는 방법을 보여준다. 또한 이 장에서 설명할 각 보드 모델에 대해 몇 가지 차이점이 있다.
6.1. Camera Capture (카메라 캡쳐)
먼저 다음 명령줄을 사용하여 비디오 출력을 찾는다 :
$ gst-device-monitor-1.0
다음과 같이 출력된다 :
Device found: name : i.MX6S_CSI class : Video/Source caps : video/x-raw, format=(string)YUY2, width=(int)2592, height=(int); video/x-raw, format=(string)YUY2, width=(int)1920, height=(int); video/x-raw, format=(string)YUY2, width=(int)1280, height=(int); video/x-raw, format=(string)YUY2, width=(int)720, height=(int)4; video/x-raw, format=(string)YUY2, width=(int)640, height=(int)4; video/x-raw, format=(string)YUY2, width=(int)320, height=(int)2; properties: udev-probed = true device.bus_path = platform-32e20000.csi1_bridge sysfs.path = /sys/devices/platform/32e20000.csi1_bridge/video4l0 device.subsystem = video4linux device.product.name = i.MX6S_CSI device.capabilities = :capture: device.api = v4l2 device.path = /dev/video0 v4l2.device.driver = mx6s-csi v4l2.device.card = i.MX6S_CSI v4l2.device.bus_info = platform:32e20000.csi1_bridge v4l2.device.version = 267043 (0x00041323) v4l2.device.capabilities = 2216689665 (0x84200001) v4l2.device.device_caps = 69206017 (0x04200001) gst-launch-1.0 v4l2src ! ...
정보
설명된 명령 라인은 카메라 해상도, 프레임 속도, 지원되는 포맷과 같은 다양하고 중요한 정보를 출력할 수 있다.
다음 명령 라인을 사용하여 비디오 출력도 찾을 수 있다 :
$ v4l2-ctl --list-devices
다음과 같이 출력된다 :
vpu B0 (platform:): /dev/video12 /dev/video13 mxc-isi (platform:58100000.isi.0): /dev/video0 /dev/video5 mxc-isi (platform:58110000.isi.1): /dev/video1 mxc-isi (platform:58120000.isi.2): /dev/video2 mxc-isi (platform:58130000.isi.3): /dev/video3 mxc-jpeg decoder (platform:58400000.jpegdec): /dev/video4 mxc-jpeg decoder (platform:58450000.jpegenc): /dev/video6
또한, CSI 포트를 화면에 자동으로 출력하려면 다음 파이프라인을 입력한다 :
$ gst-launch-1.0 v4l2src device=/dev/videoX ! autovideosink
6.2. Changing the Camera Resolution and Framerate (카메라 해상도와 프레임 속도 변경)
해상도, 프레임 속도와 같은 구성을 변경하려면, 다음 속성을 입력한다 :
$ gst-launch-1.0 v4l2src ! video/x-raw, width=<WIDTH>, height=<HEIGHT>, framerate=<FRAMERATE> ! autovideosink
WIDTH, HEIGHT, FRAMERATE이 변경하려는 파라미터 이다.
예를 들어, 해상도를 HD로 설정하려면 다음 파이프라인을 실행한다 :
$ gst-launch-1.0 v4l2src ! 'video/x-raw,framerate=30/1,width=1280,height=720' ! autovideosink
그리고 프레임 속도를 60fps로 변경하려면, 다음 파이프라인을 실행한다 :
$ gst-launch-1.0 v4l2src ! 'video/x-raw,framerate=60/2,width=1280,height=720' ! autovideosink
6.3 Using Multiple Cameras (여러개의 카메라 사용)
i.MX 8QXP MEK C0와 i.MX 8QM MEK는 둘 이상의 카메라를 지원한다.
모든 카메라를 동일한 모니터 출력하려면, 다음 GStreamer 파이프라인을 사용한다 :
$ gst-launch-1.0 imxcompositor_g2d name=comp \
sink_0::xpos=0 sink_0::ypos=0 sink_0::width=640 sink_0::height=480 \
sink_1::xpos=0 sink_1::ypos=480 sink_1::width=640 sink_1::height=480 \
sink_2::xpos=640 sink_2::ypos=0 sink_2::width=640 sink_2::height=480 \
sink_3::xpos=640 sink_3::ypos=480 sink_3::width=640 sink_3::height=480 ! \
video/x-raw,format=RGB16 ! waylandsink \
v4l2src device=/dev/video0 ! video/x-raw,width=640,height=480 ! comp.sink_0 \
v4l2src device=/dev/video1 ! video/x-raw,width=640,height=480 ! comp.sink_1 \
v4l2src device=/dev/video2 ! video/x-raw,width=640,height=480 ! comp.sink_2 \
v4l2src device=/dev/video3 ! video/x-raw,width=640,height=480 ! comp.sink_3
이 파이프라인으로 사용자는 imxcompositor_g2d 플러그인을 사용하여 동일한 화면에 둘 이상의 카메라를 설정할 수 있다. 이것은 Weston/Wayland 인터페이스를 통해 인터페이스를 생성할 수 있는 고유한 솔루션이다. 즉 i.MX 8 디바이스에서 GPU를 사용하여 화면 위치를 처리해야 한다.
728x90
반응형
'NXP i.MX SoC Family > i.MX 8 GStreamer User Guide' 카테고리의 다른 글
i.MX 8 GStreamer User Guide - Image Examples (0) | 2022.04.20 |
---|---|
i.MX 8 GStreamer User Guide - Audio Examples (0) | 2022.04.20 |
i.MX 8 GStreamer User Guide - Mux/demux Examples (0) | 2022.04.20 |
i.MX 8 GStreamer User Guide - Encode Examples (0) | 2022.04.20 |
i.MX 8 GStreamer User Guide - Decode Examples (0) | 2022.04.18 |