Windows下MinGW跨平台编译VLC

2016/04/01 开源库

VLC 是一个自由的, 开源的跨平台多媒体播放器以及框架,可以播放大多数多媒体文件,以及 DVD 、音频、CD、VCD及各类流媒体协议.

1. 下载

源码下载后解压,会是这样的一个结构:

2. 模块介绍

  • autotools:
  • bin: 最终生成.exe目录
  • compat: 包含了平台相关的一些代码
  • contrib: 一些第三方库(编译过程中需要,手动编译需要提前下载好)
  • doc: 文档(其实说白了就是一些log的说明)
  • extras: 包含了一些额外的文件
  • include: 整个工程需要用到的头文件
  • lib: 生成vlc库的源代码(这里概念还不是很清楚….)
  • m4: 宏处理器(都是一些 .m4 结尾的文件)
  • modules: VLC 的模块
  • po: 翻译文件(暂时也用不到)
  • share: 包含了一些图标,脚本,皮肤(目前用到)
  • src: 源码目录(很重要)

2.1 module 目录 结构

  • access: 获取流时从不同的源进行
  • access_output: 以不同的形式输出流
  • arm_neno: arm 架构,包含了一些汇编代码
  • audio_filter: 各种音频滤波器
  • audio_mixer: 音量设置模块
  • codec: 音视频编解码模块(FFMPEG 源码中类似)
  • control: 动作控制功能(鼠标、手势)
  • demux: 分离音频、视频、字幕等
  • gui: 用户界面(一般用不到,就目前对于我来说)
  • hw/vdpau: 使用 GPU 加速编解码(只是针对一部分流进行….)
  • lua: 与 lua 脚本相关
  • meta_engine: …
  • misc: 多种格式解析
  • mux: 将视频、音频、字母合并成某一个视频格式
  • notify: …
  • packetizer: 音视频打包
  • services_discovery: …
  • stream_filter: …
  • stream_out: 流式输出模块
  • text_renderer:文本渲染模块
  • video_chroma: 图像格式转换(默认 YUV 到 RGB )
  • video_filter: 视频过滤模块(饱和度、对比度)
  • visualization: 可视化(…)

2.2 src 目录 结构

  • android: android平台相关模块代码
  • audio_output: 音频输出
  • config: 配置相关
  • darwin: Mac(Darwin) 平台专用
  • extras: 一些平台特殊代码
  • input: 获取流(这里建立并读取一个输入流,并分离其中的音频和视频,然后将分离好的音视频发送给解码器)
  • interface: 接口
  • misc: 其他功能(如数据库管理、CPU检测)
  • modules: 模块管理
  • network: 网络接口
  • os2: OS/2平台专用
  • playlist: 播放器列表控制
  • posix:与 PISIX ( 可移植操作系统接口)相关
  • stream_output: 输出音视频流到网络
  • text: 字符集
  • video_output: 初始化视频播放器,把从解码器得到的视频画面转化格式后播放(YUV-RGB)
  • win32: windows平台相关代码
  • test: 测试脚本和代码

3. 编译


本博客的文章标有 原创 标签都属于作者原创文章,欢迎大家转载分享。 但是,希望您注明来源,并留下原文地址,这是对作者最大的尊重,也是对知识的尊重。

Show Disqus Comments

Search

    欢迎关注我的微信号

    一个不羁的码农

    不羁的程序员

    转载请注明出处!

    Table of Contents