LAV Filter 源代码分析 1: 总体结构
来源:互联网 发布:知らず知らずのうちに 编辑:程序博客网 时间:2024/05/19 19:42
LAV Filter 是一款视频分离和解码软件,他的分离器封装了FFMPEG中的libavformat,解码器则封装了FFMPEG中的libavcodec。它支持十分广泛的视音频格式。
源代码位于GitHub或Google Code:
https://github.com/Nevcairiel/LAVFilters
http://code.google.com/p/lavfilters/
本文分析了LAV Filter源代码的总体架构。
使用git获取LAV filter源代码之后,使用VC 2010 打开源代码,发现代码目录结构如图所示:
整个解决方案由8个工程组成,介绍一下我目前所知的几个工程:
baseclasses:DirectShow基类,在DirectShow的SDK中也有,是微软为了简化DirectShow开发而提供的。
Demuxers:解封装的基类,LAVSplitter需要调用其中的方法完成解封装操作。
LAVAudio:音频解码Filter。封装了libavcodec。
LAVSplitter:解封装Filter。封装了libavformat。
LAVVideo:视频解码Filter。封装了libavcodec。
libbluray:蓝光的支持。
以上标为咖啡色字体的是要重点分析的,也是最重要的工程。
- LAV Filter 源代码分析 1: 总体结构
- LAV Filter 源代码分析 3: LAV Video (1)
- LAV Filter 源代码分析 2: LAV Splitter
- LAV Filter 源代码分析 4: LAV Video (2)
- OpenLayers-------源代码总体结构分析
- OpenLayer源代码总体结构分析
- OpenLayer源代码总体结构分析
- OpenLayers-------源代码总体结构分析
- OpenLayers 项目分析[转](二):源代码总体结构分析
- OpenLayers 项目完整分析(二)源代码总体结构分析
- Directshow - LAV Filter介绍
- Hayden Luo BIOS 总体结构及部分源代码分析
- Tomcat 总体结构分析
- libev源代码分析--总体框架
- OpenLayers 项目完整分析——(二)源代码总体结构分析
- OpenLayers 项目完整分析——(二)源代码总体结构分析
- Linux内核总体结构分析
- crazyflie2_nrf51822程序分析--总体结构
- Codeforces Round #206 (Div. 2) A. Vasya and Digital Root
- 建堆的时间复杂度O(N)
- c语言一个很好的习惯
- 搜索引擎点击日志聚类实现相关搜索
- C#Windows窗体界面设计_02_绘制三角函数_多点作图法_全局变量思想
- LAV Filter 源代码分析 1: 总体结构
- 大整数乘法的Karatsuba算法实现
- 关于/bin/bash^M: bad interpreter: 没有那个文件或目录的错误
- win 7 virtualbox 安装 centos 6.3 minimal
- Codeforces Round #206 (Div. 2) B. Vasya and Public Transport
- 知乎-大学
- 黑苹果安装系列
- cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: 解决办法
- 打印Java数组,该怎么解决