Entendendo a saída media-ctl

2

Estou trabalhando com um Dragonboard410c e estou tentando usar um pipeline gstreamer para gerar um vídeo mp4 a partir de uma câmera USB Logitech C270.

Para esta tarefa, estou seguindo as instruções relatadas aqui na seção < strong> Usando a câmera CSI , que são escritos com base no OV5640 adaptador de placa.

O procedimento configura um pipeline com media-ctl e, em seguida, um pipeline de uso gstreamer para gravar o vídeo.

Das instruções eu entendo que eu tenho que recuperar as entidades do dispositivo para a minha câmera USB C270 da câmera para configurar o pipeline:

:~# 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]

Mas eu não sei como usar esses parâmetros para escrever os 2 comandos media-ctl necessários para configurar o pipeline.

Alguém explicaria como interpretar esses parâmetros de saída para configurar o pipeline com media-ctl?

    
por simozz 27.08.2017 / 18:26

1 resposta

1

Acho que você está misturando duas abordagens diferentes para conectar uma câmera. Até onde eu sei, media-ctl é geralmente para quando o sensor de imagem está conectado a uma interface de câmera serial ou paralela dedicada (e o controle é feito sobre o I2C). Por exemplo, eu uso o OV5640 conectado a uma porta CSI do OMAP4. Para uma câmera baseada em USB usando o driver uvcvideo, não acho que o media-ctl seja necessário. Se os módulos do kernel da direita estão disponíveis para o kernel do Linux, a câmera deve ser adicionada automaticamente em / dev / videoX quando você conectá-lo.

    
por 12.03.2018 / 10:36

Tags