linux系统下 USB 摄像头1080分辨率采集帧率低问题的解决方法 |
您所在的位置:网站首页 › usb摄像头怎么调清晰度 › linux系统下 USB 摄像头1080分辨率采集帧率低问题的解决方法 |
linux系统上一般使用 video4linux2来操作系统摄像。 1.安装一个 v4l2-ctrl工具: sudo apt install v4l-utils 2.查看摄像头支持的视频参数 sudo v4l2-ctl --all --list-formats-ext 显示信息参考如下(这是我的摄像头,不同的摄像头会有区别 ): ------ ioctl: VIDIOC_ENUM_FMT Index : 0 Type : Video Capture Pixel Format: 'YUYV' Name : YUYV 4:2:2 Size: Discrete 640x480 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) ------ 这里要注意3个参数,Pixel Format 是视频的格式,Size是视频分辨率,Interval是支持帧率。 通常的USB摄像头,对高清视频,如1080,在YUYV格式下,都支持不到25-30帧,一般在3-5帧,原因可能是考虑USB的传输速度;同时,摄像头一般会提供MJPEG的压缩视频格式,内容参考如下: Index : 1 Type : Video Capture Pixel Format: 'MJPG' (compressed) Name : Motion-JPEG ...... Size: Discrete 1920x1080 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) ------ 因此在使用USB摄像头进行1080分辨率的采集时,需要指定视频格式为MJPEG,参考的ffmpeg命令如下: ffmpeg -f v4l2 -s 1920x1080 -r 30 -vcodec mjpeg -i /dev/video0 -pix_fmt yuv420p -b:v 2000k -vcodec libx264 -preset veryfast -an usb-1080-x264-2m.mp4 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |