视音频编解码学习工程:H.264分析器
=====================================================
视音频编解码学习工程系列文章列表:
=====================================================
本文介绍一个自己的开源小项目:H.264码流分析器。在学习过程中,从开源社区获得了很多的资源,在此也算是对开源社区的回馈了。
我这个项目规模不大,主要可以用来学习H.264码流结构。使用VC 2010的MFC开发完成。在对H.264的NAL进行解析的过程中,用到了另外一个开源工程:h264bitstream。h264bitstream工程本身还是挺优秀的,可以比较详细的列出NAL的信息。
软件的exe以及源代码已经上传到了SourceForge上。上传前又增加了一个英文界面,紧跟国际潮流~
项目主页
SourceForge:https://sourceforge.net/projects/h264streamanalysis/
Github:https://github.com/leixiaohua1020/h264_analysis
开源中国:http://git.oschina.net/leixiaohua1020/H264_Analysis
CSDN下载地址(程序+源代码):http://download.csdn.net/detail/leixiaohua1020/6838801
更新记录==============================
1.1版(2014.7.8)
* 更换了界面
* 原工程支持Unicode编码
* 支持中英文切换
* 修复了一个内存泄漏的Bug
* 原版本仅支持鼠标单击NAL显示其详细信息,新版本支持键盘上下键操作浏览NAL详细信息。
编译好的可执行程序:http://download.csdn.net/detail/leixiaohua1020/7767725
CSDN源代码:http://download.csdn.net/detail/leixiaohua1020/7767631
PUDN源代码:http://www.pudn.com/downloads644/sourcecode/multimedia/detail2605169.html
新版(2016.1.1)
* 精简了代码,使之更通俗易懂
* 修改了少量界面UI
* 修正了少量解析错误
* 增加了解析速度
已经更新至SourceForge上
软件使用介绍
其实软件的使用还是相当简单的,一共也没有几个按钮。
软件运行后,首先打开一个码流文件(支持拖拽)。然后单击“开始”,可以解析出一系列NAL,在左侧的列表中显示出来。列表中显示出了每一个NAL的nal_reference_idc、nal_type等信息,不同种类的NAL被标记成了不同的颜色。单击任意一个NAL,可以在右边显示出其详细信息。界面如图所示:
由于传到了SourceForge上。还做了个英文界面。
软件源代码简析
源代码方面和普通的MFC程序差不太多,懂得MFC的人应该很快就能看懂。大部分地方都做了注释。唯一比较特殊的地方,可能就在于对开源项目h264bitstream进行了一个简单的封装,在此就不细说了。注释方面做得比较充分。
如果有什么使用问题,可以反馈给我,以后有时间进行修改升级。代码某些地方还不完善,以后有时间修改。
视音频编解码学习工程:H.264分析器的更多相关文章
- 视音频编解码学习工程:JPEG分析器
=====================================================视音频编解码学习工程系列文章列表: 视音频编解码学习工程:H.264分析器 视音频编解码学习工 ...
- 视音频编解码学习工程:TS封装格式分析器
=====================================================视音频编解码学习工程系列文章列表: 视音频编解码学习工程:H.264分析器 视音频编解码学习工 ...
- 视音频编解码学习工程:AAC格式分析器
=====================================================视音频编解码学习工程系列文章列表: 视音频编解码学习工程:H.264分析器 视音频编解码学习工 ...
- 视音频编解码学习工程:FLV封装格式分析器
===================================================== 视音频编解码学习工程系列文章列表: 视音频编解码学习工程:H.264分析器 视音频编解码学习 ...
- [总结]FFMPEG视音频编解码零基础学习方法--转
ffmpeg编解码学习 目录(?)[-] ffmpeg程序的使用ffmpegexeffplayexeffprobeexe 1 ffmpegexe 2 ffplayexe 3 ffprobeexe ...
- FFMPEG视音频编解码零基础学习方法
在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者.在和大家探讨的过程中,我忽然发现了一个问题:在“ ...
- FFMPEG视音频编解码零基础学习方法-b
感谢大神分享,虽然现在还看不懂,留着大家一起看啦 PS:有不少人不清楚“FFmpeg”应该怎么读.它读作“ef ef em peg” 0. 背景知识 本章主要介绍一下FFMPEG都用在了哪里(在这里仅 ...
- [总结]FFMPEG视音频编解码零基础学习方法
在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者.在和大家探讨的过程中,我忽然发现了一个问题:在“ ...
- 【转】[总结]FFMPEG视音频编解码零基础学习方法
在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者.在和大家探讨的过程中,我忽然发现了一个问题:在“ ...
随机推荐
- oclazyload的尝试
https://oclazyload.readme.io/docs http://www.cnblogs.com/BestMePeng/p/AngularJS_ocLazyLoad.html 模块依赖 ...
- Java中使用long类型实现精确的四则运算
引子 Effective Java 2nd Edition 第48条建议:如果需要精确的答案,请避免使用float和doble.float和double类型主要是为了科学计算和工程计算而设计的.他们执 ...
- 炫酷:一句代码实现标题栏、导航栏滑动隐藏。ByeBurger库的使用和实现
本文已授权微信公众号:鸿洋(hongyangAndroid)原创首发. 其实上周五的时候已经发过一篇文章.基本实现了底部导航栏隐藏的效果.但是使用起来可能不是很实用.因为之前我实现的方式是继承了系统的 ...
- Gradle 1.12用户指南翻译——第五十一章. 发布构件
本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上 ...
- 24 服务AIDL
AIDL远程访问服务的方法 创建一个接口类写上方法 然后修改后缀java为aidl 在服务中创建一个类继承Stub类 在远程访问服务的进程把AIDL文件复制(包名不能改变) XXXX.Stub.asI ...
- Apache shiro集群实现 (八) web集群时session同步的3种方法
Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro ...
- 内存数据网格IMDG简介
1 简介 将内存作为首要存储介质不是什么新鲜事儿,我们身边有很多主存数据库(IMDB或MMDB)的例子.在对主存的使用上,内存数据网格(In Memory Data Grid,IMDG)与IMDB类似 ...
- K均值聚类的失效性分析
K均值聚类是一种应用广泛的聚类技术,特别是它不依赖于任何对数据所做的假设,比如说,给定一个数据集合及对应的类数目,就可以运用K均值方法,通过最小化均方误差,来进行聚类分析. 因此,K均值实际上是一个最 ...
- 实现一个最简单的VIM文本编辑器(可能有bug,随便写了一个)
简单的写了一个文本编辑器,功能很简单,但足以把文件IO相关的操作熟悉了,可能功能或者分配的大小还不够完善.请参考参考: #include <stdio.h> #include <co ...
- 那些年我们一起用过的Hybrid App
Hybrid App现状分析 Web App 毫无疑问Web App就是成本最低,最快速地解决方案了.尤其是近两年非常流行的响应式设计,Web App市场提供了非常好的实践场地.最近典型的Web Ap ...