最近在视频压缩方面,发现了一些问题,现记录一下。
目前我的视频主要是放在七牛云存储上面,为啥不上传到视频网站,一是审核,虽然没有什么审核不通过的内容,但就是需要等待;另外是画质,因为我电脑屏幕分辨率的原因,视频主要是教程方面的,然后工具栏啥的字体就很小,如果放在视频网站,会进行默认画质的筛选,虽然可以调节到原画画质,但是有些视频网站的原画画质需要开会员,这点的话,B站就很良心,但是还是为了保证视频效果,不想让视频以其他画质播放,因此自己去管理视频文件要可控性更大些。
那么问题来了,就是怎么尽可能地在保证原画质的基础上对视频进行压缩,一是节省访问者流量,二是节省云存储的储存成本。目前的解决方案是使用一个我最近才知道的神器FFmpeg,因为之前确实没有这方面的需求,所以对文件尺寸啥的,没啥要求,但是用了这个工具后,原大小400多M的2K视频,压缩后可以压缩到60多M,视频时长20分钟,而且400M的2K已经是经过Media Encode进行了压缩了。抱着试一试的心理去尝试继续压缩,得到了出乎意料的效果。
在这期间,也遇到了一些问题,就比如这个题目所说的:h265和h264。把维基百科中关于这两个格式的概念进行一个摘录:
H.264
H.264,又称为MPEG-4第10部分,高级视频编码(英语:MPEG-4 Part 10, Advanced Video Coding,缩写为MPEG-4 AVC)是一种面向块,基于运动补偿的视频编码标准 。到2014年,它已经成为高精度视频录制、压缩和发布的最常用格式之一。第一版标准的最终草案于2003年5月完成。
H.264/AVC项目的目的是为了创建一个更佳的视频压缩标准,在更低的比特率的情况下依然能够提供良好视频质量的标准(如,一半或者更少于MPEG-2,H.263,或者MPEG-4 Part2 )。同时,还要不会太大的增加设计的复杂性。H.264的另外一个目标是提供足够的灵活性,以允许该标准能够应用于各种各样的网络和系统的各应用上,包括低和高比特率,低和高分辨率视频,广播,DVD存储,RTP / IP分组网络和ITU-T多媒体电话系统。H.264标准可以被视为由多个不同的应用框架 / 配置文件(profiles)组成的“标准系列”。
H.264/MPEG-4 AVC是一种面向块的基于运动补偿的编解码器标准。由ITU-T视频编码专家组与ISO/IEC联合工作组——即动态图像专家组(MPEG)——联合组成的联合视频组(JVT,Joint Video Team)开发。因ITU-T H.264标准和ISO/IEC MPEG-4 AVC标准(正式名称是ISO/IEC 14496-10—MPEG-4第十部分,高级视频编码)有相同的技术内容,故被共同管理。
H.264因其是蓝光盘的其中一种编解码标准而著名,所有蓝光盘播放器都必须能解码H.264。它也被广泛用于网络流媒体数据如Vimeo、YouTube、以及iTunes Store,网络软件如Adobe Flash Player和Microsoft Silverlight,以及各种高清晰度电视地面电视(ATSC、ISDB-T、DVB-T或DVB-T2)、线缆(DVB-C)以及卫星(DVB-S和DVB-S2)。
H.265
高效率视频编码(High Efficiency Video Coding,简称HEVC),又称为H.265和MPEG-H第2部分,是一种视频压缩标准,被视为是ITU-T H.264/MPEG-4 AVC标准的继任者。2004年开始由ISO/IEC Moving Picture Experts Group(MPEG)和ITU-T Video Coding Experts Group(VCEG)作为ISO/IEC 23008-2 MPEG-H Part 2或称作ITU-T H.265开始制定[1][2][3][4][5]。第一版的HEVC/H.265视频压缩标准在2013年4月13日被接受为国际电信联盟(ITU-T)的正式标准[1][2][6]。HEVC被认为不仅提升影像质量,同时也能达到H.264/MPEG-4 AVC两倍之压缩率(等同于同样画面质量下比特率减少到了50%),可支持4K清晰度甚至到超高清电视(UHDTV),最高清晰度可达到8192×4320(8K清晰度)。
数个基于HEVC延伸的编码标准正在进行中,包含range extensions(支持高级的影帧式)、可调式编码和3D视频编码标准。
这是上面关于这两种标准的一个概念性的解读,那么总结来说主要有以下几点:
1、H.265是新的编码协议,也即是H.264的升级版。H.265标准保留H.264原来的某些技术,同时对一些相关的技术加以改进。新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。
2、H.265相比H.264最主要的改变是采用了块的四叉树划分结构,采用了从64x64~8x8像素的自适应块划分,并基于这种块划分结构采用一系列自适应的预测和变换等编码技术。
3、H264由于算法优化,可以低于1Mbps的速度实现标清数字图像传送;H265则可以实现利用1~2Mbps的传输速度传送720P(分辨率1280*720)普通高清音视频传送。
4、同样的画质和同样的码率,H.265比H2.64 占用的存储空间要少理论50%。
5、比起H.264/AVC,H.265/HEVC提供了更多不同的工具来降低码率,以编码单位来说,H.264中每个宏块(macroblock/MB)大小都是固定的16x16像素,而H.265的编码单位可以选择从最小的8x8到最大的64x64。
6、在相同的图象质量下,相比于H.264,通过H.265编码的视频大小将减少大约39-44%。
这样看来用H.265更划算,性价比更高。但是存在一个问题,我放在七牛云的视频,如果是H.265的标准,视频无法显示画面,只能听到声音。同样的情况还发生在做PPT插入视频时的情况,但是这种情况往往发生在Win7电脑,没有装任何第三方视频播放器的前提下。因为目前主流的视频播放器都自带了h.265的解码器,而PowerPoint软件的老版本是借助于系统上的一些解码器来对视频进行解码的,为什么要考虑没有装任何第三方视频播放器的这种情况,因为我们公司的电脑大多内网电脑是不会安装视频播放器的。为了保证所做的课件在其他电脑上的兼容性,所以不得不使用了兼容性更为稳定可靠的H.264协议。
但是虽然H.265占用存储空间更为节省,但是按照一定的压缩配置压缩出来的H.264标准的视频尺寸也已经让我很满意了。压缩参数配置:
x264 --crf 24 --preset 8 -r 6 -b 6 -I infinite -i 1 --scenecut 60 -f 1:1 --qcomp 0.5 --psy-rd 0.3:0 --aq-mode 2 --aq-strength 0.8 --vf resize:768,432,,,,lanczos -o "%~dpn1_v.mp4" "%~1"
2 条评论
我一直是用H.264,265没了解过。
转码的时候对应的HEVC就是H265