3

I am working with a Dragonboard410c and I am trying to using a gstreamer pipeline to generate an mp4 video from a Logitech C270 USB camera.

For this task I am following the instructions reported here at the section Using CSI camera, which are written based on the OV5640 board adapter.

The procedure configures a pipeline with media-ctl and then a use gstreamer pipeline to record the video.

From the instructions I understand I have to retrieve the device entities for my camera C270 USB camera to configure the 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]

But then, I don't know how to use these parameters to write the 2 media-ctl commands needed to configure the pipeline.

Would someone explain how to interpret this output parameters to configure the pipeline with media-ctl ?

xyx
  • 747
  • 1
  • 8
  • 22

1 Answers1

1

I think you are mixing up two different approaches for connecting a camera. To the best of my knowledge, media-ctl is generally for when your image sensor is connected to a dedicated parallel or serial camera interface (and control is done over I2C). For example, I use the OV5640 connected to an OMAP4's CSI port. For a USB based camera using the uvcvideo driver, I don't think media-ctl is required. If the right kernel modules are available to Linux kernel, the camera should be automatically added under /dev/videoX when you plug it in.

mallwright
  • 432
  • 2
  • 10