我从相机里感受到一些意想不到的行为。使用VIDIOC_ENUM_FMT for V4L2_BUF_TYPE_VIDEO_CAPTURE,我会收到两种受支持的格式:、MJPG、和YUYV。但是,当我尝试(实际上是WebRTC DeviceInfoLinux::FillCapabilities()尝试用VIDIOC_TRY_FMT列出受支持的格式)时,它很高兴地报告了更多:
supported MJPG 640x480x30
supported MJPG 1280x720x15
supported I420 640x480x30
supported I420 1280x720x15
supported YUY2 160x120x30
supported YUY2 320x240x30
supported YUY2 640x480x30
supported YUY2 1280x720x15
supported UYVY 640x480x30
supported UYVY 1280x720x15视频驱动程序是否模仿了其中的一些格式?
发布于 2020-04-16 09:34:54
深入研究VIDIOC_TRY_FMT生成的答案可以发现一个有趣的事实,这个事实被VIDIOC_TRY_FMT完全忽略了--答案pixformat并不总是等于查询pixformat (而且,答案的宽度和高度并不等于查询的宽度和高度)。实际上,只有MJPG和YUYV显示为结果,所以IMHO --这是WebRTC的一个bug --将这些格式显示为受支持的:它们是检查大小是否相等,而不是pixformat。
https://stackoverflow.com/questions/61195464
复制相似问题