VLC 源代码结构
译者:捞刀客
VLC源代码目录树
本节介绍VLC源代码目录树结构,以期使开发者对源代码的分布结构有一个整体的认识。下面的目录按照字母顺序列出,右边为该目录包含的内容描述。
目录名称 | 说明 |
---|---|
bindings | Java,CIL |
doc | 帮助文档 |
extras | 另叙。 |
include | VLC |
libs | SRTP库和装载库 |
lxdialog | 制作 |
m4 | Automake和autoconf的宏文件 |
modules | 除了src目录外最重要的目录。参考“功能模块目录树”一节 |
po | i18n(语言翻译)文件 |
projects | 建立在 |
share | 图标,脚本等等 |
src | 除了功能模块以外最重要的目录。 |
test | 一些脚本或测试代码 |
extras 的内容
extras/analyser | 一些代码风格编辑器 |
extras/buildsystem | 可选的编译系统 |
extras/contrib | 需要的库文件 |
extras/deprecated | deprecated |
extras/misc | 未分类文件 |
extras/package | 用于软件发布的文件如ipkg,不同的 |
功能模块目录树
目录名称 | 子目录 | 说明 |
---|---|---|
access | | 通过网络获取视频流的协议(http,ftp,fake,tcp,udp等),获取物理媒体介质的媒体内容如cd,dvd。 |
| cdda | 读取CD音频的输入模块 |
| dshow | DirectShow获取插件,用于WINDOWS平台下的编码卡。 |
| dvb | 使用V4L2API的输入模块,用于DVB-S/C/T媒体流。 |
| mms | 基于TCP,UDP的MMS和HTTP获取模块 |
| rtsp | |
| screen | 获取屏幕图像的输入模块。 |
| vcd | 获取VCD数据的输入模块。 |
| vcdx | 获取VCD输入模块,可以导航,静止 |
| | |
access-filter | | 包含下面的滤波器:timeshift,record, dump |
| | |
access-output | | |
| | |
audio-filter | | 各种音频滤波器如解码,均衡,转换。 |
| channel-mixer | 各种混合器,解码器如 |
| converter | 定点或浮点音频格式转换如 |
| resampler | 各种音频重采样模块 |
| | |
audio-mixer | | 混合器插件 |
| | |
audio-output | | 音频输出插件如ALSA,OSS和 |
| | |
codec | | 各种编解码,特别是ffmpeg |
| cmml | 持续媒体标记语言,脚本/超链接解释器 |
| dmo | 一个DirectMediaObject解码器,利用DirectMedia对WMV3视频解码 |
| ffmpeg | ffmpeg |
| spudec | RLEDVD |
| xvmc | XVMC视频输出和解码 |
| | |
control | | 控制播放器的各种接口:手势, |
| http | HTTP远程控制 |
| | |
demux | | 不同的解复用程序 |
| asf | ASF |
| avi | AVI文件流解复器 |
| mp4 | MP4文件输入模块 |
| mpeg | |
| playlist | 播放清单导入模块 |
| | |
gui | | 不同平台的用户界面和 |
| beos | 用于BeOS的音频输出,视频输出和用户界面输出。 |
| macosx | Mac OSX |
| pda | iPaq用户接口,使用Gtk2+widget集. |
| qnx | QNXRTOS |
| qt4 | 使用Qt4库交叉编译的用户界面模块。该模块是默认的界面库 |
| skins2 | 换夫模块。 |
| wince | PocketPC |
| wxwidgets | 使用wxWindows库跨平台的接口。作为默认的接口的VLC版本是0.86a. |
| | |
meta-engine | | |
| | |
misc | | |
| dummy | 哑 |
| memcpy | 内存快拷贝模块 |
| notify | 通知,使用libnotify |
| playlist | |
| probe | |
| testsuite | |
| xml | LibXML |
| | |
mux | VariousMuxers | |
| mpeg | |
| rtp | |
packetizer | | 打包模块,用于H264/AVC和MPEG4音视频流。 |
| | |
services-discovery | | |
| | |
stream-out | | |
| transrate | |
| | |
video-chroma | | 图像格式转换,如 |
| | |
video-filter | | 各种视频滤波模块如Deinterlace,Transform,Wall, Crop, Panoramix |
| | |
video-output | | |
| directx | WINDOWS视频输出模块,使用Direct3D和DirectX API,OpenGL |
| qte | QT嵌入式视频输出模块 |
| x11 | X11API视频输出模块 |
| | |
visualization | | 多种可视化模块,包括goom |
| galaktos | 输出到 |
| visual | 可视化系统 |
vlc核心的是libvlc,它提供界面,应用处理功能,所有的libvlc的源代码都放在src目录及其子目录
./network/: