android中如何通过硬件获取H264帧?

今天仔细的研究了下如何android中如何通过硬件来获取H264,通过硬件获取H264是通过LocalSocket和LocalServerSocket,代码人生的博客有专门的文章讲解:
http://blog.csdn.net/zblue78/archive/2010/12/18/6083374.aspx

本来一直是用opencore的H264编解码来做的,但是最近用XT800测试的时候发现,YUV图像的质量是花的,因此开始考虑从硬件方面来进行攻克,再此要特别的感谢本站的网友dkr的点播,是你的回答给我指明了方向,让我明白了具体的应该怎么去做,因为我本人最近还没弄出来,因此写这篇文章的主要目的还是给大家指明方向,告诉大家怎么去研究。

dkr关于如何通过硬件获取H264的点播,可以参考下面的文章:
http://www.shouyanwang.org/thread-184-1-1.html

研究通过硬件获取H264主要需要设计到2个文档:
ISO-14496-15
ISO-14496-12

ISO-14496-15 ISO-14496-12 都是协议文档,录制的视频格式基本都是按照这种格式生成的,ISO-144796-15里面运用了ES码流,ISO-14496-12则定义了IOS-Base-media-File-format,因为ISO-base-media-file-format是基础,后面的更多的高级协议都是在此基础上进行扩充的

ISO-14496-15下载:
ISO_IEC_14496-14_2003-11-15.pdf(239.3 KB, 下载次数: 607)

ISO-14496-12下载:
elecfans.com-ISO_IEC_14496-12_2004(E).pdf(779.94 KB, 下载次数: 493)

为此我写了个demo,存储了通过LocalSocket和存储卡获得了硬编的数据
langtao_264.dat(194 KB, 下载次数: 405)
我们要做的主要工作就是从这个码流里面提取出H264数据,数据在一个固定的片段码流中,大致的有2个核心码流,一个码流是H264中的SPS和PPS序列码流集合,还有一个码流是NALU SELICE 片段码流,当然除此之外,还有很多MP4里面称呼为BOX的结构块,幸运的是所有的模块都是有根有据的,分清和整理好这些模块非常的耗费时间,就要参考ISO-14496-12呢


ISO-14496-12我本人和我老妹已经完成了汉化版本的翻译,对着看可以事倍工半,因为为此我付了我老妹1K的翻译费,因此现在在淘宝上售价为每份20元,仅售50份,售完后,即在本站公开下载地址。

旺旺经常不在线,需要的联系QQ:523851253

拍的地址:
http://item.taobao.com/item.htm?id=10774416821


以文件的形式存储硬件资源:
langtao_264.mp4(150.3 KB, 下载次数: 347)

其实也就是存储的是MP4,大家对照着看langtao_264.dat和langtao_264.mp4同时结合协议,和ES码流的相关信息,相信必定能够攻克。


本文转自 :http://www.shouyanwang.org/thread-241-1-1.html


你可能感兴趣的:(工作,android,qq,测试,存储,文档)