完成一个分析H264码流的工具

最近又开始搞视频相关的东西了。之前一直对H264有畏惧,觉得太难,现在开始慢慢去接触它,了解它。无意中,看到网上有人对H264码流进行分析。地址:http://blog.csdn.net/leixiaohua1020/article/details/17933821。有商业的工具,比如H264VideoESViewer,不过要钱,而且很贵,公司花钱买了一个(真的是“一个”),只有一个人的电脑上装有(不能同时在其它电脑装)。为了学习H264码流,加上自己好久没写MFC了,就参考人家的代码,练练手。好在自己的MFC知识还在。

文中的程序在原作者基础上修改,加上自己的一些理解,同时也参考了一点点H264VideoESViewer界面的设置。

思路:
使用开源库h264bitstream来分析(即自己真正做的工作是封装这个库来显示在MFC中)。
1、先获取所有的NAL信息,包括NAL类型、偏移。
2、双击某一项NAL时,使用文件操作移到指定的偏移,然后读数据,然后分析。

代码放到github上,有时间会更新。代码仓库地址(直接使用git可下载):
https://github.com/latelee/H264BSAnalyzer.git

下面给出不同版本的功能和界面。

v1.0版本:
1、首个版本。
2、“版本”实为“版权”笔误;

 v1.1版本(2014.3.4):
1、改善十六进制显示,使用CHexEdit实现(感谢作者!)。

 

v1.2版本(2014.3.27)
1、添加文件概述信息(路径、分辨率、帧率、profile等)。注:分辨率修正了16倍数问题,如1080P视频,有的工具(如H264Visa)分析得1920*1088,这是错误的计算。
2、支持上下光标移动显示详细信息。
3、支持不同slice的着色显示,显示帧序号。
4、修正h264bitstream关于seq_scaling_matrix_present_flag判断的问题。
5、已知问题:解析文件慢,需要优化。

 

 PS:实然对自己有个感觉:上可搞MFC、SDL,下可移植Linux内核驱动。

 

免责声明:本文涉及的内容仅为了共享技术而作,限于个人能力,不提供技术支持,但可共同探讨问题。

©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页