关于H.264 x264 h264 AVC1

来源:互联网 发布:电梯调度算法又叫什么 编辑:程序博客网 时间:2024/05/21 11:04
1. H.264是MPEG4的第十部分,是一个标准。
对头,国际上两个视频专家组(VCEG和MPEG)合作提出的标准,两个专家组各有各的叫法,所以既叫H.264,也叫AVC。

2.x264是一个编码器,他参照的标准是H.264。
对头,H.264是需要付费的编码格式,而x264是符合H.264标准的一个开源项目,是免费的,也就是H264的一个简化版,不支持某些高级特性。但x264非常优秀,并不比H264的商业编码器差。

3.h264与AVC1都是FourCC (他俩通常在什么情况下使用呢?)
FOURCC为AVC1,没有开始码的H.264视频,主要就是用MP4或MKV等封装的文件,也就是你平时在电脑上看的那种,它的数据流开始是1、2或者4个字节表示长度数据。x264编码出来的都是这种。
FOURCC为H264,是带有开始码的H.264视频,一般是用于无线发射、有线广播或者HD-DVD中的。这些数据流的开始都有一个开始码:0x000001 或者 0x00000001.

4.如果在编码符合H.264标准的文件时, 如果没有用到x264编码器,那么通常使用的是哪个编码器?(就是那个支持显卡加速的那个)
符合H.264标准的编码器,也就是H.264的商业编码器,和免费的x264了。

至于支持显卡加速的编码格式,根据显卡不同,支持的也不一样。大概也就是H264(x264/AVC1)、VC-1、MPEG-1、MPEG-2、MPEG-4、WMV3。。。当然除了H264(x264/AVC1),其他都不是H.264标准的

http://www.cnblogs.com/oiramario/archive/2013/09/14/3321447.html

我一直疑问为什么有些视频解码时显示格式是:H264,大部分又是:AVC1
我在搜索编程资料时在微软的msdn上发现的:
原文:http://msdn.microsoft.com/en-us/library/dd757808(v=vs.85).aspx
FOURCC:AVC1   描述:H.264 bitstream without start codes.
FOURCC:H264   描述:H.264 bitstream with start codes.


H.264 Bitstream with Start Codes

H.264 bitstreams that are transmitted over the air, or contained in MPEG-2 program or transport streams, or recorded on HD-DVD, are formatted as described in Annex B of ITU-T Rec. H.264. According to this specification, the bitstream consists of a sequence of network abstraction layer units (NALUs), each of which is prefixed with a start code equal to 0x000001 or 0x00000001.
这段话的大致意思是:带有开始码的H.264视频一般是用于无线发射、有线广播或者HD-DVD中的。这些数据流的开始都有一个开始码:0x000001 或者 0x00000001.


H.264 Bitstream Without Start Codes

The MP4 container format stores H.264 data without start codes. Instead, each NALU is prefixed by a length field, which gives the length of the NALU in bytes. The size of the length field can vary, but is typically 1, 2, or 4 bytes.
这段话的大致意思是:没有开始码的H.264视频主要是存储在MP4格式的文件中的。它的数据流的开始是1、2或者4个字节表示长度数据。

原文中的"NALU"简单说是H.264格式中的最基本的单元,是一个数据包。

http://www.mysilu.com/archiver/?tid-721741.html

0 0
原创粉丝点击