C++ 使用V4L2API选择输入通道
我想选择摄像机设备的输入通道。我可以通过“设置对话框”在VLC中选择它。在高级设置中,我可以将“输入”切换到3,我的相机也可以工作。C++ 使用V4L2API选择输入通道,c++,input,channel,v4l2,C++,Input,Channel,V4l2,我想选择摄像机设备的输入通道。我可以通过“设置对话框”在VLC中选择它。在高级设置中,我可以将“输入”切换到3,我的相机也可以工作。 现在我想在我的C++应用程序中这样做。我找不到执行此操作的写入方法。目前我的照片是黑色的。我需要选择设备的S-Video频道 您应该看看v4l2 ctl的源代码,它是的一部分。这个工具是用C++/Qt编写的,应该为您自己提供所有需要的信息。更改设备的输入在中处理 希望这有帮助 编辑: 刚刚在官方API文档中找到了相关部分。 他们在那页上有一些如何改变视频输入的例子
现在我想在我的C++应用程序中这样做。我找不到执行此操作的写入方法。目前我的照片是黑色的。我需要选择设备的S-Video频道 您应该看看
v4l2 ctl
的源代码,它是的一部分。这个工具是用C++/Qt编写的,应该为您自己提供所有需要的信息。更改设备的输入在中处理
希望这有帮助
编辑:
刚刚在官方API文档中找到了相关部分。
他们在那页上有一些如何改变视频输入的例子 工作完美。非常感谢!:)
void io_set(int fd)
{
if (options[OptSetInput]) {
if (doioctl(fd, VIDIOC_S_INPUT, &input) == 0) {
struct v4l2_input vin;
printf("Video input set to %d", input);
vin.index = input;
if (test_ioctl(fd, VIDIOC_ENUMINPUT, &vin) >= 0)
printf(" (%s: %s)", vin.name, status2s(vin.status).c_str());
printf("\n");
}
}
// snip...
}