M-JPEG和H.264压缩性能比较(V4L2采集+编码压缩)

Linux下,一般的普通USB摄像头V4L2视频采集有两种方式:V4L2_PIX_FMT_MJPEGV4L2_PIX_FMT_YUYV

V4L2_PIX_FMT_MJPEG采集方式得到的是经过MJPEG压缩的图片,图片格式是jpeg/jpg,后缀为.jpg或.jpeg。直接将采集到的.jpeg数据依序循环写入一个文件,得到的流并不能直接播放,需要封装成avi等视频格式才能正常播放。

V4L2_PIX_FMT_YUYV采集方式得到的是yuyv格式的原始图像格式文件,后缀为.yuv,得到的yuv数据文件可直接利用pYUV等专业yuv格式查看器进行播放,yuv数据可经HEVC(H265)、H264、VP8、VP9等方式进行编码压缩,通过h.264压缩可得到h264码流,H264码流可直接用VLC播放器进行播放。

 M-JPEG和H.264压缩效果对比分析:

 统一条件:采集50帧图像(1080p分辨率、帧率5fps,视频时长10s)

 性能对比:编码时间、压缩比、图像质量。 

原图像效果:

yuyv

 

两种压缩方式进行压缩对比:

M-JPEG压缩:

YUYV--RGB--MJPEG(libjpeg-turbo)
质量(Q) 编码前(YUYV)编码后(jpg)压缩比耗时
90202500K17005k1: 1179s
80202500K10903k1: 1878s
70202500K9255k1: 2180s

压缩效果

质量70
Q=70
Q=80
Q=90

 H.264压缩

AVC的规格分为三等,从低到高分别为:Baseline、Main、High

             Baseline(最低Profile)级别支持I/P 帧,只支持无交错(Progressive)和CAVLC,一般用于低阶或需要额外容错的应用,比如视频通话、手机视频等;
             Main(主要Profile)级别提供I/P/B 帧,支持无交错(Progressive)和交错(Interlaced),同样提供对于CAVLC 和CABAC 的支持,用于主流消费类电子产品规格如低解码(相对而言)的mp4、便携的视频播放器、PSP和Ipod等;
             High(高端Profile,也叫FRExt)级别在Main的基础上增加了8x8 内部预测、自定义量化、无损视频编码和更多的YUV 格式(如4:4:4)用于广播及视频碟片存储(蓝光影片),高清电视的应用。
 

YUYV--H.264(x264)
profile级别平均码率(ABR)编码前(YUYV)编码后(h264)压缩比耗时
baseline

 

2Mbps

202500K
 
1932K1: 10465s
high1440K1: 14094s
baseline
3Mbps
2646K1: 7670s
high2031K1: 9999s
baseline
4Mbps
3354K1: 6074s
high2612K1: 77105s
baseline
5Mbps
3999K1: 5076s
high3223K1: 62108s
baseline
6Mbps
4349K1: 4680s
high3621K1: 55108s

图像效果:

baseline-2Mbps
high-2Mbps​​​

 

baseline-3Mbps
high-3Mbps

 

baseline-4Mbps

 

high-4Mbps

 

baseline-5Mbps
high-5Mbps

 

baseline-6Mbps

 

high-6Mbps

结论:

1.就压缩率来说,H.264远远优于M-JPEG,H.264的压缩比一般能达到1:50甚至1:100以上,而M-JPEG压缩比一般小于1:20;同时由于高压缩率,经H.264压缩出的图像数据量远远小于M-JPEG,更利于实时传输,占用网络带宽更少。

2.图像质量:由于M-JPEG压缩率较小,所以能达到跟原图像接近的画质和清晰度。而H.264为了满足高压缩率,所以在图像质量上略有损失。

结语:两种压缩方式的选择最主要还是在于使用场景,合理选用。若实时性要求较高,则h.264更适合,因为数据量较小,便于传输;若对实时性要求不是很高,能接受大数据量的图像,且对图像质量要求更高的话,可考虑M-JPEG方式。

  • 10
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值