我正在与一个Dragonboard410c工作,我试图使用gstreamer管道生成一个mp4视频从罗技C270摄像头。
对于这一任务,我遵循使用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命令。
有人能解释一下如何用媒体ctl来解释这个输出参数来配置管道吗?
发布于 2018-03-12 09:36:33
我想你把连接照相机的两种方法搞混了。据我所知,媒体ctl通常用于图像传感器连接到专用的并行或串行摄像头接口(并通过I2C进行控制)。例如,我使用连接到OMAP4 4‘S CSI端口的OV5640。对于使用uvcvideo驱动程序的基于USB的相机,我不认为需要使用媒体ctl。如果Linux内核可以使用正确的内核模块,则当插入相机时,相机应该自动添加到/dev/videoX下。
https://unix.stackexchange.com/questions/388677
复制相似问题