视音频编解码学习工程: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进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者.在和大家探讨的过程中,我忽然发现了一个问题:在“ ...
随机推荐
- iOS多线程编程--NSOperation(转)
这篇文章写得非常不错,基础用法都涉及到了,我把文章提到的例子都写到了demo里面, 原文地址: iOS多线程--彻底学会多线程之『NSOperation』 demo下载:https://github. ...
- js数组排序,支持正反排序以及多维度排序
工作中遇到js数组排序问题,数组中存储的都是对象,于是就百度了下,利用别人的代码进行修改,最终完成可以倒序.反序,可以进行多维度排序的功能源码如下: /** * js数组排序 支持数字和字符串 * @ ...
- 剑指架构师系列-Redis安装与使用
1.安装Redis 我们在VMware中安装CentOS 64位系统后,在用户目录下下载安装Redis. 下载redis目前最稳定版本也是功能最完善,集群支持最好并加入了sentinel(哨兵-高可用 ...
- south 命令学习
south 命令学习 概述 在django某个版本之前,django自身提供一个创建数据库的命令-syncdb,它会根据model来创建相应的表,但是这个命令不好的地方在于,如果想要对model进行更 ...
- 04_Struts2标签
1.通用标签: property标签: 用来输出值栈属性的值 如果value属性没有给出,ValueStack值栈栈顶对象的值被输出 许多情况下,EL表达式可以提供更简洁的语法 url标签: url方 ...
- Vulkan API基本概念
设备初始化 Instance --> GPU --> Device Instance表示具体的Vulkan应用.在一个应用程序中可以创建多个实例,这些实例之间相互独立,互不干扰. 当调用A ...
- Swift3中dispatch_once废弃的解决办法
在Swift中如果想搞类的单例模式,那么在初始化的时候一般会使用just one time执行的方式,我们使用dispatch_once_t配合调用dispatch_once方法,一般的代码如下: s ...
- python 3 dict函数 神奇的参数规则
>>> dict({1:2},2=3)SyntaxError: keyword can't be an expression>>> dict({1:2},**{2: ...
- 百度map 3.0初探
1.简介 在使用百度地图SDK为您提供的各种LBS能力之前,您需要获取百度地图移动版的开发密钥,该密钥与您的百度账户相关联.因此,您必须先有百度帐户,才能获得开发密钥.并且,该密钥与您创建的过程名称有 ...
- android的activity栈管理
在进行BlackBerry程序开发的时候,BlackBerry提供了一个管理Screen的栈,用来从任何地方来关闭位于最上一层的Screen,使用UiApplication.getUiApplicat ...