vlc学习总结(一)

来源:互联网 发布:借贷宝刷脸认证软件 编辑:程序博客网 时间:2024/05/29 02:52

    因工作需要学习vlc已经有一段时间了,现在对vlc的总体框架做一个大概的总结。有许多vlc的细节依旧不是了解,如有理解错误之处还请见谅。

  一、整体架构

vlc是一个开源的播放器,支持各种平台及各种媒体文件的播放。其播放整体架构如下:


1、Access

Access可以理解为源,它是整个框架数据的来源。源可能是文件,也可能是网络流,也可能是摄像头、麦克风等输入设备。它把所有输入源的共性抽象成了结构体access_t。

2、stream

stream可以理解为一个过滤器,它从access中读取数据,会做一些平滑或者预加载处理。

3、demux

demux为解复用,对于一些媒体容器,如mp4、avi等等,其里面包含了各种流,需要进行解复用把每条流都分离出来。不同媒体容器需要选择不同的解复用模块。

4、es_out

es_out作用跟stream有点类似,它是把解复用后的数据送到各自的解码器进行解码

5、decoder

解码器

6、video/audio  output

音频、视频播放


二、

vlc是很大的一个软件,包含的模块很多。写了个整体框架,我就不知道该写些什么了。我也不知道怎么来一点点的分析。接下来就从一个个我认为有必要理解的知识点来进行讲解。这些知识点基本就是我在看代码过程中不是很理解,需要刻意分析的东西,在此记录一下。





0 0
原创粉丝点击