关于H.264 x264 h264 AVC1
2015-06-03 22:58
525 查看
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
相关文章推荐
- BZOJ2440 [中山市选2011]完全平方数(莫比乌斯函数+容斥原理+二分答案)
- SSH2.0编程 ssh协议过程实现(转)
- 学生各科成绩,平均分,总分的展示
- JAVA抽象类
- 自定义滚动条demo
- jquery 事件冒泡的介绍以及如何阻止事件冒泡
- js 闭包
- Linux下编译安装PCRE库
- 数据结构之---C语言实现广义表头尾链表存储表示
- 理解JavaScript中的事件处理 阻止冒泡event.stopPropagation();
- sp
- Android笔记:解决 Your project contains error(s),please fix them before running your application问题
- QCA switch芯片配置说明
- 白板编程浅谈——Why, What, How(转)
- 后续阶段第三天
- Swift语言iOS开发:CALayer十则示例
- cocos2dx 3.6 环境搭建笔记
- 安装 Kali Linux 后需要做的 20 件事
- hdu1829 A Bug's Life(并查集)
- git常用命令及使用技巧