之前,在公司的项目中用到了vlc播放远程的ts流,因此对于vlc有了一个比较初步
的了解。
首先,附上vlc的官方链接
官网 http://www.videolan.org/
官网的wiki https://wiki.videolan.org/
源码下载 http://www.videolan.org/vlc/download-sources.html
vlc是一个开源的视频解决方案,几乎包括了所有的视频,音频,字幕,图片(是的,你没看错,vlc也支持图片解码,如jpeg,png等等都有支持,打开源码就可以看到,可以用vlc播个图片试试)格式的编解码,还可以搭建流服务器(博主也没用过)。平台方面涵盖了web,linux,windows,android等等,是一个功能异常强大的sdk.
官方提供的vlc的整体架构如上图所示,概括起来其实就是三层。
最底下的一层是vlc的基础,也就是它的核心库libVLC和libVLCcore,提供了最最基础的一些功能的api接口,核心库也可以用来进行简单的二次开发,官网上的wiki提供了很多例子和教程。
中间一层就是各种modules,因为vlc是使用模块加载的方法来加载各种功能的,所以这一层留给各位码农的开发空间非常大,从access到codec,demux等等可以自由拓展,可以照着源码里面的某一个module文件来编写自己的module,设定各种模块