vlc源码的整体架构初步理解

本文介绍了VLC的三层架构:核心库libVLC和libVLCcore提供基础API,模块层支持功能拓展,应用接口采用qt。重点讲解了access、demux和codec模块,同时对比了Exoplayer、ffmpeg和bilibili播放器。通过本文,读者能对VLC的基本架构有初步认识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前,在公司的项目中用到了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.

libVLC dev stack

官方提供的vlc的整体架构如上图所示,概括起来其实就是三层。

最底下的一层是vlc的基础,也就是它的核心库libVLC和libVLCcore,提供了最最基础的一些功能的api接口,核心库也可以用来进行简单的二次开发,官网上的wiki提供了很多例子和教程。

中间一层就是各种modules,因为vlc是使用模块加载的方法来加载各种功能的,所以这一层留给各位码农的开发空间非常大,从access到codec,demux等等可以自由拓展,可以照着源码里面的某一个module文件来编写自己的module,设定各种模块的描述和优先级,open,close函数等等,运行的时候程序会根据对应的已经加载的模块来进行遍历,如果满足条件就执行对应的模块。

最上面一层就是应用接口,vlc的图形界面使用的是qt.

&nbs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值