JPEG和MJPEG像素格式之间的V4L2差异

时间:2015-09-29 05:30:56

标签: v4l2

v4l2 API中这两种像素格式有什么区别: V4L2_PIX_FMT_JPEGV4L2_PIX_FMT_MJPEG

对我而言,当从网络摄像头读取数据包时,两者都应该返回JPG图像。

1 个答案:

答案 0 :(得分:0)

我也对这个问题很感兴趣,我希望有人可以发布一些详细的答案。也许我下面的观察对于找到答案很有用。

我注意到这两个设置之间存在一些差异。

PI Noir相机(我在Raspberry Pi 1 B上使用)支持两种格式,使用v4l2-ctl --list-formats可以看到。 如果我使用MJPG像素格式,帧率更高(约30 fps),每帧的字节6,7,8,9(从0开始索引)是' J'' F&# 39;,'我'' F&#39 ;.如果我使用JPEG,帧速率较低(大约6 fps),相同的字节是' E'' x',' i',' F'

我的logitech c910支持MJPEG,但不支持JPEG,如v4l2-ctl --list-format所示。但是,两种像素格式都可以通过C ++设置而没有错误。图片包含' A' V',' I'' 1'在那些字节中。我无法使用图像查看器查看它们,但firefox和chrome浏览器正确显示它们。如果我从VLC打开它们作为视频文件,我也可以查看它们。如果我使用JPEG作为像素格式,它也可以工作,我得到相同类型的图像。