저는 Dragonboard410c를 사용하고 있으며 gstreamer 파이프라인을 사용하여 Logitech C270 USB 카메라에서 mp4 비디오를 생성하려고 합니다.
이 작업을 위해 나는 보고서의 지침을 따랐습니다.여기이 섹션의CSI 카메라 사용, 그들은 기반으로OV5640보드 어댑터.
이 프로세스는 media-ctl을 사용하여 파이프라인을 구성한 다음 gstreamer 파이프라인을 사용하여 비디오를 녹화합니다.
내가 이해한 지침에 따르면 파이프라인을 구성하려면 카메라 C270 USB 카메라의 장치 엔터티를 검색해야 합니다.
:~# media-ctl -d /dev/media1 -p
Media controller API version 0.1.0
Media device information
------------------------
driver uvcvideo
model UVC Camera (046d:0825)
serial 2FB8A120
bus info 1.2
hw revision 0x12
driver version 4.9.39
Device topology
- entity 1: UVC Camera (046d:0825) (1 pad, 1 link)
type Node subtype V4L flags 1
device node name /dev/video1
pad0: Sink
<- "Extension 4":1 [ENABLED,IMMUTABLE]
- entity 5: Extension 4 (2 pads, 4 links)
type V4L2 subdev subtype Unknown flags 0
pad0: Sink
<- "Processing 2":1 [ENABLED,IMMUTABLE]
pad1: Source
-> "UVC Camera (046d:0825)":0 [ENABLED,IMMUTABLE]
-> "Extension 6":0 [ENABLED,IMMUTABLE]
-> "Extension 7":0 [ENABLED,IMMUTABLE]
- entity 8: Extension 6 (2 pads, 1 link)
type V4L2 subdev subtype Unknown flags 0
pad0: Sink
<- "Extension 4":1 [ENABLED,IMMUTABLE]
pad1: Source
- entity 11: Extension 7 (2 pads, 1 link)
type V4L2 subdev subtype Unknown flags 0
pad0: Sink
<- "Extension 4":1 [ENABLED,IMMUTABLE]
pad1: Source
- entity 14: Processing 2 (2 pads, 3 links)
type V4L2 subdev subtype Unknown flags 0
pad0: Sink
<- "Camera 1":0 [ENABLED,IMMUTABLE]
pad1: Source
-> "Extension 4":0 [ENABLED,IMMUTABLE]
-> "Extension 3":0 [ENABLED,IMMUTABLE]
- entity 17: Extension 3 (2 pads, 1 link)
type V4L2 subdev subtype Unknown flags 0
pad0: Sink
<- "Processing 2":1 [ENABLED,IMMUTABLE]
pad1: Source
- entity 20: Camera 1 (1 pad, 1 link)
type V4L2 subdev subtype Unknown flags 0
pad0: Source
-> "Processing 2":0 [ENABLED,IMMUTABLE]
그러나 이러한 매개변수를 사용하여 파이프라인을 구성하는 데 필요한 2개의 media-ctl 명령을 작성하는 방법을 모르겠습니다.
media-ctl을 사용하여 파이프라인을 구성하기 위해 이 출력 매개변수를 해석하는 방법을 설명할 수 있는 사람이 있습니까?
답변1
카메라를 연결하는 두 가지 다른 방법을 혼합하고 있다고 생각합니다. 내가 아는 한, media-ctl은 일반적으로 이미지 센서가 전용 병렬 또는 직렬 카메라 인터페이스에 연결되는 상황(및 제어는 I2C를 통해 수행됨)에 적합합니다. 예를 들어 OMAP4의 CSI 포트에 연결된 OV5640을 사용합니다. uvcvideo 드라이버를 사용하는 USB 기반 카메라의 경우 media-ctl이 필요하지 않다고 생각합니다. Linux 커널이 올바른 커널 모듈을 사용할 수 있는 경우 카메라를 연결할 때 카메라가 /dev/videoX 아래에 자동으로 추가되어야 합니다.