解决编译splayer以及目录分析

环境
1.需要安装win7的SDK 并把最新的SDK路径添加到vs2008工程VS++目录中Include和Lib
2.需要最新的Direct Show
3.下载了源代码后 运行Build 进行更新代码
4. 编译代码 mplayerc工程


项目 mplayerc 主程序
Libraries
-->libpng png类库
-->zlib 压缩解压类库 以来


-->libssf ssf类库(字幕相关)
-->strmbaseRU.lib DirectShow类库 依赖


-->subtitles 字幕相关类库
-->


-->decss 视频解码类库


-->dsutil directshow 工具类库


-->subpic 视频解码类库


-->svplib


-->lyriclib 歌词匹配类库
--> id3lib mp3信息类库 依赖


-->sqlitepp sqlite++类库 sqlitepp是一个操作数据库的类库


-->foundation 运行程序 初步估计是修复程序


-->pcid 动态链接库


UI 界面
-->CmdUI MFC的更新命令UI机制提供了一个端口
-->error 1


-->ResizableLib 窗体库


-->sizecbar 编写MFC应用程序的窗口界面、控制条


-->TreePropSheet 树与多标签




Filters 过滤器
Muxer 混合器
-->wavdest
-->filters(Filter\Libraries\filters) 类库依赖
-->strmbaseRU.lib DirectShow类库 依赖


-->MatroskaMuxer
-->filters(Filter\Libraries\filters) 类库依赖
-->strmbaseRU.lib DirectShow类库 依赖


-->BaseMuxer
-->strmbaseRU.lib DirectShow类库 依赖


-->DSMMuxer
-->BaseMuxer类库 依赖
-->filters(Filter\Libraries\filters) 类库依赖


Parser 解析器
-->streamdrivethru
-->filters(Filter\Libraries\filters) 类库依赖
-->strmbaseRU.lib DirectShow类库 依赖


-->MatroskaSplitter
-->baseviderflitter 类库 依赖
-->basevideofilter 类库 依赖
-->filters(Filter\Libraries\filters) 类库依赖


-->RealMediaSplitter


-->basesplitter


-->AviSplitter


-->RoQSplitter
-->basesplitter 类库依赖


-->OggSplitter


-->NutSplitter
-->basesplitter 类库依赖
-->filters(Filter\Libraries\filters) 类库依赖


-->MpegSplitter
-->basesplitter 类库依赖
-->filters(Filter\Libraries\filters) 类库依赖


-->DiracSplitter
-->basesplitter 类库依赖
-->filters(Filter\Libraries\filters) 类库依赖
-->libdirac 类库依赖


-->MpaSplitter
-->basesplitter 类库依赖
-->filters(Filter\Libraries\filters) 类库依赖


-->DSMSplitter
-->filters(Filter\Libraries\filters) 类库依赖


-->MP4Splitter
-->basesplitter 类库依赖
-->filters(Filter\Libraries\filters) 类库依赖
-->zlib 类库依赖


-->FLVSplitter
-->basesplitter 类库依赖
-->filters(Filter\Libraries\filters) 类库依赖


-->SSFSplitter
-->basesplitter 类库依赖
-->filters(Filter\Libraries\filters) 类库依赖


-->EASplitter


-->WMVSplitter




Libraries 类库
-->libmad 基于mad解码库


-->zlib zlib是提供数据压缩用的函式库


-->liba52 一个 ATSC A/52 流媒体编码库


-->libdts 提供一个低级别的接口,使用DTS相干声学编码解码音频帧。常见的DVD,DTS音频CD和一些电台broadcastings的DTS相干声学流。libdts还提供各种输出配置的缩混和动态范围压缩。


-->libfaad 解码本地文件成PCM原始音频格式


-->libdirac 狄拉克是一个通用的视频编解码器针对从QCIF(180x144)的决议HDTV(1920×1080)逐行或隔行扫描。它采用小波变换,运动补偿和算术编码,目的是与其他国家的先进的编解码器上的竞争力。


-->filters(Filters\Libraries\filters) 过滤器


-->BaseClasses 基于DirectShow里面的开发包


-->libflac 无损音频编解码器


-->libvorbisidec 一个Ogg Vorbis音频解码器(也称为“震颤”),没有浮点运算的实现


Reader 读取
-->asyncreader 异步读取 可以读取网络上的编码后的视频数据

-->cddareader
-->asyncreader 类库依赖
-->filters(Filter\Libraries\filters) 类库依赖


-->cdxareader
-->asyncreader 类库依赖
-->filters(Filter\Libraries\filters) 类库依赖


-->vtsreader
-->asyncreader 类库依赖
-->filters(Filter\Libraries\filters) 类库依赖


-->udpreader
-->asyncreader 类库依赖
-->filters(Filter\Libraries\filters) 类库依赖


Transform 改造
-->avi2ac3filter
-->filters(Filter\Libraries\filters) 类库依赖


-->bufferfilter 缓冲区过滤器


-->decssfilter


-->Mpeg2DecFilter
-->basevideofilter 类库依赖
-->filters(Filter\Libraries\filters) 类库依赖
-->libmpeg2 类库依赖


-->MPaDecFilter 主音频解码器
-->filters(Filter\Libraries\filters) 类库依赖
-->liba52 类库依赖
-->libdts 类库依赖
-->libfaad 类库依赖
-->libflac 类库依赖
-->libmad 类库依赖
-->libvorbisidc 类库依赖


-->basevideofilter 基本视频滤波器


-->MPCViderDec 主视频解码器
-->libflac 类库依赖


-->svpfilter
-->basevidefilter 类库依赖


Source 源
-->d2vsource
-->filters(Filter\Libraries\filters) 类库依赖


-->flicsource
-->filters(Filter\Libraries\filters) 类库依赖
-->libflac 类库依赖


-->basesource


-->dtsac3source
-->filters(Filter\Libraries\filters) 类库依赖


-->shoutcastsource
-->filters(Filter\Libraries\filters) 类库依赖


-->subtitlesource
-->filters(Filter\Libraries\filters) 类库依赖


-->flacsource


Switcher
-->audioswitcher 音频切换器
-->filters(Filter\Libraries\filters) 类库依赖


Misc
-->SyncClock 同步时钟


Render
-->MpcAudioRendererFilter MPC音频渲染器












主程序不依赖的库 其它程序的库
Libraries
-->yamlcpp


Transform
-->baseviderfilter
-->filters(Filter\Libraries\filters) 类库依赖
-->MPCVideoDec


Libaries
-->libavcodec
-->error
-->libmpeg2








1
出现Error “ICommDlgBrowser2”: 未定义基类
error C2504: “ICommDlgBrowser2”: 未定义基类
error C2504: “IFileDialogEvents”: 未定义基类
error C2061: 语法错误 : 标识符“FDE_SHAREVIOLATION_RESPONSE”
error C2061: 语法错误 : 标识符“FDE_OVERWRITE_RESPONSE”
error C2504: “IFileDialogControlEvents”: 未定义基类
error C2504: “ICommDlgBrowser2”: 未定义基类
error C2504: “IFileDialogEvents”: 未定义基类
error C2061: 语法错误 : 标识符“FDE_SHAREVIOLATION_RESPONSE”
error C2061: 语法错误 : 标识符“FDE_OVERWRITE_RESPONSE”
error C2504: “IFileDialogControlEvents”: 未定义基类

解决方法:(1). 在StdAfx.h中加入如下两行(针对windows xp系统,不同系统不一样) xp-> #define _WIN32_WINNT 0x0501 win7-> #define WINVER 0x0501
(2). shobjidl.h 文件在vc6和vc9中都有,两个文件是有一些区别,使用vc9中就不会有问题,查找到VC9 中shobjidl.h所在位置,加入到包含路径中,如将 C:/Program Files/Microsoft Visual Studio 9.0/VC/include 路径加入到包含路径中。(3). 引起这个问题的原因可能是如下http://www.rupeng.com/forum/thread-3214-1-1.html或 http://www.easewe.com/Article/document/879.htm


2
出现error MEDIASUBTYPE_DVB_SUBTITLES 未声明
解决方法 只需安装win7的SDK 注意包含顺序


3 libavcodec.lib error





























































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值