多种视频压缩方式对比
视频压缩实际上就是视频重编码,将原视频以更低的码率重新编码,得到一个比源视频文件体积小一些的文件。这种压缩不同于RAR/ZIP方式的无损压缩,视频压缩是有损压缩、是以降低质量为前提的。视频压缩的意义是在高质量保存视频的前提下,尽可能少的占用存储空间。除了需要关注视频质量和占用空间之外,压缩的时间也需要考虑在内:视频编码是一项计算量很大的任务,需要耗费大量的计算资源,如果计算硬件性能不佳,耗费的时间也是十分可观的。尤其是高清晰视频编码,时间稍微长一些的1080p视频需要用几个小时甚至一整天时间去压缩。
传统的视频编码完全靠CPU,CPU性能越好,编码速度就越快。以目前人类能制造出的CPU来看,实现高速1080p编码还有些困难。即使是高端的4核/8核CPU最多也只能实时编码1080p视频,若压制参数提高,这些高端CPU可能还达不到实时的要求。最近几年,部分显卡厂商开始发力这一领域,比如Nvidia的CUDA和Intel的QSV。与CPU架构不同,高端显卡的GPU往往有几百甚至数千个并行计算核心,因此GPU特别适合做这种大计算量的工作。
现在家用台式机已经有至少三种方式可以编码视频了,那就是x264(纯CPU编码)、CUDA(Nvidia GPU编码)和QSV(Intel CPU+Intel核心显卡共同编码)。x264的要求是最低的,只要有CPU就可以使用,换句话说是电脑就能用;CUDA必须有Nvidia显卡才能工作,并且显卡不能太落后,至少是GeForce8之后的显卡;QSV限制条件较多,必须是Intel的IVB、Haswell或者更新架构CPU,必须使用核心显卡输出画面。
为了今后能更快更好的完成视频压缩任务,我决定分别尝试一下这三种编码方式,看看它们分别有什么特色、哪个更快、哪个质量高。从行车记录仪上找了一段比较短的1080p视频,源视频码率15MBps,用同一编码参数压缩:分辨率1920x1080,帧率30fps,格式H.264,码率1.5MBps,规格选High@L5.0,B帧6,参考帧6。这个参数编码的1080p视频,占用空间非常小,质量如何就要看这三种编码方式它们各自的能力了。测试是在HTPC上完成的,CPU型号赛扬G1610(双核@2.6GHz),显卡型号GT210(16个CUDA核心@589MHz),核心显卡是HD2500(6个EU单元@650MHz)。
压缩完成,先看一下它们的速度分别怎么样:
从转换报告中可以看到,QSV速度最快,达到每秒编码14.5帧的速度;x264其次,每秒11帧;CUDA最慢,每秒9.7帧。不过这时还不能直接对比速度,因为CPU和显卡的性能不在一个等级上。以上一代的千元左右CPU(E3 1230 V2,1260RMB左右)和显卡(GTX670,1299RMB左右)进行对比,粗略的估算一下:E3V2是4核心8线程@3.5GHz,以提升3.3倍计算,x264编码速度推算为36.3fps,QSV编码速度推算为47.8fps;GTX670有1344个CUDA核心@985MHz,以提升140倍计算,CUDA编码速度应该推算为1358fps。以推算的数据来看,CUDA的速度具有压倒性优势,其次是QSV,最慢的是X264。
最后再来比一比质量:
截图为同一播放器中的同一帧的一个小局部,包括路边天空、路灯等
截图中可以看到,CUDA的质量最差,路灯已经严重失真了,天空色块非常严重;质量稍差一些的是QSV,路灯还算清晰但缺少一块,有一部分与天空无法区分;质量最好的是x264,截图对比中能看出,x264的视频质量优于另外两个。
总结:
1.欲速则不达:质量最好的恰恰是速度最慢的,质量稍好的也恰恰是质量稍差的,速度超快的那一个也正是质量最差的。
2.若要以高压缩率节省空间,x264是最佳选择,需要一块比较好的CPU才能胜任。
3.如一味的追求高速度,CUDA是最佳选择,需要一块比较好的Nvidia显卡,压缩码率要提高很多才能保证质量不下降。
云转码不是有很多么
云转码的过程不可控,很多参数不能自定义
深夜逛荡,竟然看见我N久前的评论,我都不记得我来过。。。
这个的确哈。值得关注。。
你研究的这个倒是真挺透彻而实用。嗯,从安全稳定角度考虑,你现在首选储存这些视频的媒介是什么?
因为经常用,所以要研究透彻一些嘛
存在硬盘上就可以了吧,普通机械硬盘用上5年问题不大
看结论OK :bobo_chixigua:
测试的目的就在于此:一次测试,结果共享
压缩干吗啊,保存原盘啊
隔三差五就拿摄像机出去拍,每次回来都是10G+,500GB小硬盘压力山大
再就是,摄像机拍的东西,又不是什么经典大片,太清楚也没必要,压缩一下节省存储成本
表示只有在网上发布视频前为了节省上传时间才会压缩视频。。反正传上去了也是要压缩的。。。
据说有后黑法可以在新浪发布源码率视频,不会被压缩
目测不靠GPU的话我那个25K压x264比你的E3V2慢...
25K不是可以OC4.5GHz嘛,不见得慢,E3V2就图一省心
试过最高到4.6 1.35v 能比较稳定 但是为了系统绝对稳定没超频
4.6已经很猛了
对了说起来博主换nV 670了?
没换呢,思来想去拿不定主意,一是感觉9800GT配E3V2差了一些,再就是我根本不玩游戏换GTX660只会浪费钱
:bobo_chixigua: 能把2G视频压缩1G以内么?
这个看码率,如果源码率10MBps以上,目标码率5MBps,就可以压缩到原来的一半了
用x264压缩的话,1080p只要8.5MBps的码率就很完美了,我一般保存视频只用1.5MBps,视频质量下降不仔细看还真看不出来
:bobo_buyaoa: 我是想折腾一下游戏播客,买了7000元电脑,配了20m电信宽带,上传优酷,妈蛋从20Kb只提升到120kb :bobo_weiqu: 当然比以前好多了,以前传一个视频要几百小时,现在要半天时间。 :bobo_mobai: 伤不起啊
可以上传到新浪视频,网上有种后黑法,在视频后面加一段纯黑色,降低平均码率,平均码率降到1MBps以下新浪就不再二次压缩,直接原视频播放,清晰度很棒
:bobo_jiujie: 看游戏视频每人会去新浪视频 :bobo_chijing:
ADSL上下行不对等,一般下载几兆,上传50-100K
7000元的电脑,高大上啊,求配置
:bobo_jiujie: 电信坑B 我这坑壁的是20光钎!
电脑型号 华硕 All Series 台式电脑
操作系统 Windows 7 旗舰版 64位 SP1 ( DirectX 11 )
处理器 英特尔 Core i5-4570 @ 3.20GHz 四核
主板 华硕 Z87-K (英特尔 Haswell)
内存 8 GB ( 金士顿 DDR3 1600MHz )
主硬盘 希捷 ST1000DM003-1CH162 ( 1 TB / 7200 转/分 )
显卡 Nvidia GeForce GTX 770 ( 2 GB / Nvidia )
显示器 飞利浦 PHLC0C7 PHL 234E5 ( 23.1 英寸 )
声卡 瑞昱 ALC887 @ 英特尔 Lynx Point 高保真音频
网卡 瑞昱 RTL8168/8111/8112 Gigabit Ethernet Controller / 华硕
唉,果然是没法比啊,你那一个显卡就顶上我主板+CPU+内存总价格了
最近我也想换个好一点的显卡,在考虑OEM版1152SP的GTX660,主要是价格便宜,不到900就能到手
你研究的太杂了
这不是我的研究项目,只是为改善生活而研究,也是为了给10年后、20年后、、、50年后的自己留下一些影像视频纪念