如何使用 ffmpeg 从网络摄像头捕获红外流?

如何使用 ffmpeg 从网络摄像头捕获红外流?

我可以使用 ffmpeg 从我的网络摄像头捕获图像,但它是真彩色的。但我的网络摄像头宣传有红外功能。我该如何使用它?

当我运行时ffmpeg -f v4l2 -list_formats all -i /dev/video0我得到这个输出:

Compressed:       mjpeg :          Motion-JPEG : 1280x720 640x360 640x480 848x480 960x540
Raw       :     yuyv422 :           YUYV 4:2:2 : 160x120 320x180 320x240 424x240 640x360 640x480

摄像机规格为视频:1280x720,30 fps,红外视频:340x340,60 fps

此外,以下是输出v4l2-ctl --list-devices

Integrated_Webcam_HD: Integrate (usb-0000:00:14.0-11):
    /dev/video0
    /dev/video1

我以为原始流可能包含红外视频流,但是当我运行这个时:

ffplay -input_format yuyv422 -video_size 320x240 -i /dev/video0

输出看起来与 1280x720 输出相同,只是尺寸较小。

我也运行ffmpeg -f v4l2 -list_formats all -i /dev/video1并得到了这个输出:

Raw       : Unsupported : 00000032-0002-0010-8000-00aa003 : 640x360

但我似乎无法从该设备播放任何内容,我得到:

Cannot find a proper format for codec 'none' (id 0), pixel format 'none' (id -1)
Assertion *codec_id != AV_CODEC_ID_NONE failed at src/libavdevice/v4l2.c:811

如何从网络摄像头捕获红外视频?

相关内容