我可以使用 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
如何从网络摄像头捕获红外视频?