使用 v4l2-ctl 更改设备不起作用

使用 v4l2-ctl 更改设备不起作用

我有一个WinTV HVR 1900 电视调谐器继续运行Ubuntu 13.10,我想捕捉 S-VIDEO输入。该设备基于 LinuxTV 受支持。如所写这里,似乎这种设备默认为调谐器输入,因此需要更改输入。尝试使用终端命令读取 VLC 的输出流也支持了这一点

cat /dev/video1 > 测试.mpg

打开生成的文件确实成功打开了流,但由于没有信号,我只看到黑屏。我很确定我的系统可以正确处理该设备,并且

/dev/video1

确实存在(我的集成网络摄像头占据了 video0 插槽)。

我的问题是尝试通过终端命令更改设备

v4l2-ctl -d 1

暴露这里没有产生任何错误,但似乎什么也没做。

有人可以帮我吗?

终端会话:

raoul@raoul-EasyNote-LS11HR:~$ v4l2-ctl -I
Video input : 0 (Camera 1: ok)
raoul@raoul-EasyNote-LS11HR:~$ v4l2-ctl -d 1
raoul@raoul-EasyNote-LS11HR:~$ v4l2-ctl -I
Video input : 0 (Camera 1: ok)
raoul@raoul-EasyNote-LS11HR:~$ v4l2-ctl -n
ioctl: VIDIOC_ENUMINPUT
    Input       : 0
    Name        : Camera 1
    Type        : 0x00000002
    Audioset    : 0x00000000
    Tuner       : 0x00000000
    Standard    : 0x0000000000000000 ()
    Status      : 0x00000000 (ok)
    Capabilities: 0x00000000 (not defined)
raoul@raoul-EasyNote-LS11HR:~$ v4l2-ctl --info
Driver Info (not using libv4l2):
    Driver name   : uvcvideo
    Card type     : 1.3M HD WebCam
    Bus info      : usb-0000:00:1a.0-1.3
    Driver version: 3.11.7
    Capabilities  : 0x84000001
        Video Capture
        Streaming
        Device Capabilities
    Device Caps   : 0x04000001
        Video Capture
        Streaming
raoul@raoul-EasyNote-LS11HR:~$

答案1

好的,我做到了......只需一行:

raoul@raoul-EasyNote-LS11HR:~$ v4l2-ctl -d /dev/video1 -i 2
Video input set to 2 (s-video: ok)
raoul@raoul-EasyNote-LS11HR:~$ cat /dev/video1>test.mpg

虽然我不太明白它与我之前发布的输入有何不同......似乎需要在设备切换的同时定义输入类型。

相关内容