美文网首页
h264学习(改一)

h264学习(改一)

作者: 0_0啊 | 来源:发表于2017-02-14 13:01 被阅读152次

h264是视频裸流数据,它的结构是经过精心设计的,显得精悍、复杂,初次接触会感觉有些棘手。当然我们先得搜集有关资料。。。

网上的资料很多,不过都是一些博客,描述的只是数量不多的知识点,大多都是重复的,难以形成对h264结构相对完整的认识,甚至可能被误导。我们可以选择一些相对权威的书籍,至少大多数有关h264的问题在这些书里面都能找得到答案,也不容易出错,晚上大多数博客其实也是抄这些书的。这里向大家推荐一本比较好的书--《毕厚杰 新一代视频压缩编码标准H.264》
,网上都是可以下到的。

找到资料后就要花时间去消化了,我不建议直接去读那些资料,一是这些资料比较枯燥难懂,一时间很难理解,囫囵吞枣的去读基本没有效果,转眼就忘,顶多留下一点印象,浪费时间。另一个则会严重打击学习积极性的,有勇气的可以去尝试。。。

自己尝试去解码一段h264裸流是比较有效果的,动手的过程会逐渐地知道哪些是重点,接下来我着重说下自己解码遇到的一些问题,希望对大家有帮助。

解h264有两个问题是比较棘手的,一是h264使用了哥伦布编码,需要大家使用相应的解码方式,还有就是解码操作的最小单元是位,而我使用的语言最方便操作的单元是字节,这就带来了一些麻烦。

我们解码主要是0阶有(无)符号哥伦布解码、二进制位解码十进制等等。哥伦布解码的方法网上有很多,可以很快查到,所以这里不再复述。知道了解码的方法后,就要有一种方法可以连续解码数据,我因此而实现了一个工具类,用于完成各种格式的连续解码工作,内部保存了粒度为位的指针,通过对字节进行位操作来实现,由于指针是内部维护的,外界不需要关心,因不用再担心一些位的操作,显得比较简洁,如此就解决了解码粒度为位的问题,又能连读读取解码数据,剩下的就是根据码流结构依次解码数据了,这也是了解整个h264结构的过程。

为验证自己的解码过程是否正确,我们需要一些软件的帮助。雷神分析h264的工具就不错,我用的也是这个工具,大家可以试试。

万事开头难,我一直坚信功夫不负有心人。。。希望我的分享对大家有所帮助。

http://download.csdn.net/detail/u012129163/9753364 (这是我解码h264所做的一些工作,包含测试文件、工程代码、雷神的分析工具,以及一些文档)

相关文章

  • h264学习(改一)

    h264是视频裸流数据,它的结构是经过精心设计的,显得精悍、复杂,初次接触会感觉有些棘手。当然我们先得搜集有关资料...

  • 音视频开发之旅(56) -H264/AVC基本结构

    从这篇开始,我们进入H264的学习实践,主要分三个阶段 学习H264基本结构和码流协议;2. 了解具体编码压缩技术...

  • H264 编解码

    H264编解码(一) —— 基本概览H264编解码(二) —— ios中的H264硬编解码的实现H264编解码(三...

  • h264

    h264 简介h264 语法和结构

  • VideoToolbox硬解码H264流播放

    VideoToolBox硬解码H264 对于H264和VideoToolBox还不熟悉的童鞋一定下先看下H264基...

  • 无人机H264视频流解码

    近期开始学习H264的视频流解析。写此文章,作为记录,也梳理下相应的知识点。 1. 解码前我们先看一下H264的部...

  • 音频技术基础H264编码入门理解

    音频技术基础H264编码入门理解 写在前面 最近入门音视频技术,一直在学习H264编解码标准,了解了不少关于H26...

  • h264Analyze读取.h264码流文件

    简介 为什么要学习H264裸流呢?一开始是这样的。用自己的FFMpeg命令转mp4生成的.h264,以及自己使用l...

  • h264Analyze读取.h264码流文件

    简介 为什么要学习H264裸流呢?一开始是这样的。用自己的FFMpeg命令转mp4生成的.h264,以及自己使用l...

  • H264能力协商

    1、能力计算 H264能力计算 这是一个最常见的H264能力,通过抓包我们发现,H264主要包含了Profile、...

网友评论

      本文标题:h264学习(改一)

      本文链接:https://www.haomeiwen.com/subject/crdxwttx.html