h264编码的简单介绍
H264和AAC
注:本文比较浅显,适合初学者看。
引述:H264的标准已经很多年了,成熟稳定,普及率非常高,目前比它更好的也有H265和VP9(google出品),但都不能撼动H264的地位。
A:?
h264( MPEG -4 Part 10), 对应的H265就是( MPEG -4 Part 11)
1、BP-Baseline Profile:基本画质。支持I/P 帧,只支持无交错(Progressive)和CAVLC;
2、EP-Extended profile:进阶画质。支持I/P/B/SP/SI 帧,只支持无交错(Progressive)和CAVLC;
3、MP-Main profile:主流画质。提供I/P/B 帧,支持无交错(Progressive)和交错(Interlaced),
也支持CAVLC 和CABAC 的支持;
在BP-Baseline Profile基础上另外增加了:
- 隔行编码
- B条带类型
- CABAC熵编码
- 加权预测
- 422和444 YCbCr
- 不支持ASO, FMO和RS
4、HP-High profile:高级画质。在main Profile 的基础上增加了
- 8x8内部预测、4*4和8*8大小之间自适应选择的支持。
- 自定义量化、?
- 可预测无损视频编码
- 更多的YUV 格式;
- 高级10档次(Hi10P), 高级422,444档次;
Baseline和Main比较常用,Baseline 压缩的比较厉害,低于mepg-4的10%-20%; Main低于MPEG-4的50%.? High比Main又能节约10% 的码流量,那High应该是低于mepg-4的45%。
压缩率来说就是BPHPMP, 比例大概是100的原始数据, 压缩后BP=15,HP=45,MP=50;
所以MP和HP其实没啥大区别,但是BP就压缩的很低,所以一般监控和直播会首选BP,BP的特点是没有B帧,画质很一般,能满足基本要求。
【B帧的前世今生】
除了Baseline以外,其它都是有B帧的,I/B/P的关系用一句话说就是:I就是一张完整图片,但数据很大,如果都是I帧,视频会很庞大,而且也没必要;P帧是单向参考,前向参考,只参考I帧的,记录和I帧的区别;B帧双向参考,参考I帧和P帧,如果被参考的P帧花屏了,B帧也会花屏。
B帧会带来一个问题:编码顺序和解码顺序不同,因为正常播放时,解码帧的排列是I BBB... P BBB... P
可以看出B帧是插在IP和PP之间的,因为B帧数据比较小,所以会插很多帧。
我们来看看编码的顺序是怎样的:I P BBB...
解码顺序呢:I BBB...P
这问题了来,有B帧时编码解码BP的顺序不一致,所以引入了PTS(显示时间戳)和DTS(解码时间戳)
贴一张装B的图(先留着,我也没仔细看):
B:
h264的功能分为两层,视频编码层(VCL)和网络提取层(NAL)
VCL功能是进行视频编解码,包括运动补偿预测,变换编码和熵编码等功能;
NAL用于采用适当的格式对VCL视频数据进行封装打包
1)VCL数据即被压缩编码后的视频数据序列。
在VCL数据要封装到NAL单元中之后,才可以用来传输或存储。
VCL里面的几个基本概念就是: YCbCr颜色空间, 宏块,内循环去块过滤器,条带,内部预测,运动补偿,变换、缩放和量化;熵编码
2)NAL单格式(NALU)
H.264定义了两种封装格式: RTP头和start_code_prefix头(00 00 01 和 00 00 00 01)
主要目的是确定NAL边界(其实封装都是这个目的,大同小异)。
包含针对rtp/ip, 文件格式如mp4, 服务视频会议的h.32x, 和mpeg-2系统
参考:《视频技术手册(第5版)》
X264编码相比H264编码,有什么优势?二者如何选择?
H264是指视频编码方式。\x0d\x0aX264是一个H264编码器的名字。也是目前最好的H264编码器。\x0d\x0a\x0d\x0aX264编码出来的视频,就是H264的。\x0d\x0a同时也不存在名叫“H264”的编码器。\x0d\x0a\x0d\x0a明白了么?根本就是不同层面的意思,根本就没法比较,更没有取舍一说。
hevc和h.264的区别
区别如下:
1、Hevc是H265编码,就像Avc是H264编码一样。H265相较于H264,其效果更清晰,压缩率更高,相同码率情况下,其视频效果更好,相同视频效果下,其码率只有H264的一半。
2、H265是ITU-TVCEG继H264之后所制定的新的视频编码标准。H265标准围绕着现有的视频编码标准H264,保留原来的某些技术,同时对一些相关的技术加以改进。
目前Hevc编码尚未被普遍支持,因其编,解码均需消耗比H264更多的cpu,所以并不是所有的播放器都能支持它的解码,市面上有一些支持H265解码的安卓盒子存在,但通常兼容性不是很好,因H265还是刚开始推广而已。
h264是什么视频格式,这种格式有什么特点
H264是一种压缩编码方式
不是格式
H264压缩后通常会以TS或者TP格式封装,移动设备上通常是.MP4
相对于MPEG2来说
H264压缩率更高
所以相同信息量下H264压缩后体积更小
基本上一部高清电影如果是MPEG2压缩需要100G左右二H264编码方式下只需要25G左右。
相比MPG(MPEG1
VCD)来说压缩率大的多,比之AVI来说也要强大很多
另外你说的其实不是一个概念
而且通常状况下H264是用来压缩高清视频用的
AVI和MPG则不一定,等体积的情况下
H264模式压缩出来的质量更好。
视频编码h264怎么调
点击“输出配置”-选择视频输出的质量,选择“高质量和大小”-在“视频编码”中-选择“AVC(H264)”-“确定”即可。
用potPlayer视频播放器打开原始视频文件。对着视频播放画面,右击选择属性。
在视频编码处可以看到本视频的编码是wm3格式,也可能是其他格式编码格式,现在我们需要将它变成AVCh264编码格式。
双击打开格式工厂,点击MP4。点击输出配置。选择在视频编码的后方选择AVCH264。然后添加文件将刚才的视频添加到格式工厂里。开始转化,转化完成。双击打开转化完成的文件,对着它右击属性可以看到已经转化成AVCH264视频编码格式的了。