2

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 ?

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.