2
我想選擇我的VideoCamera設備的輸入通道。我可以通過「Settings-Dialog」在VLC中選擇它。在高級設置中,我可以將「輸入」切換到3,並且我的相機可以工作。 現在我想在我的C++應用程序中執行此操作。我無法找到寫入方法來執行此操作。此刻我的照片只是黑色。我需要選擇我的設備的S-Video通道。使用V4L2 API選擇輸入通道
我想選擇我的VideoCamera設備的輸入通道。我可以通過「Settings-Dialog」在VLC中選擇它。在高級設置中,我可以將「輸入」切換到3,並且我的相機可以工作。 現在我想在我的C++應用程序中執行此操作。我無法找到寫入方法來執行此操作。此刻我的照片只是黑色。我需要選擇我的設備的S-Video通道。使用V4L2 API選擇輸入通道
你應該看看v4l2-ctl
的源代碼,它是v4l-utils的一部分。這個工具是用C++/Qt編寫的,應該爲你提供你自己需要的所有信息。改變一個設備的輸入v4l2-ctl-io.cpp
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...
}
希望這有助於進行處理。
編輯: 剛剛在官方API文檔here中找到相關部分。 他們在該頁面上有一些例子如何改變視頻輸入。
完美地工作。非常感謝你! :) – fuuman