开源视频播放软件VLC深度使用报告

作业要求

项目 内容
这个作业属于哪个课程 北京航空航天大学2025年春季软件工程
这个作业的要求在哪里 软件案例分析 - 作业
我在这个课程的目标是 掌握软件工程的基本技能,学习大型项目的开发流程和技巧
这个作业在哪个具体方面帮助我实现目标 通过软件案例分析,进行评测,思辨,总结,学习软件工程在具体实践中的基本原则与注意事项

第一部分 调研,评测

软件评测

基本介绍

VLC是一款自由、开源的跨平台多媒体播放器及框架。它几乎支持市面上所有主流的视频格式,可在几乎所有平台上运行,并且安全免费。笔者将针对PC平台的VLC进行评测。评测所使用的VLC版本为3.0.21,项目地址:GitHub - videolan/vlc: VLC media player

软件使用

以下分别为VLC软件主页面,播放页面,播放列表页面以及设置页面的截图

软件分析

从上述使用截图可以看出,VLC的功能非常全面。它不仅拥有一个视频播放器所应有的所有功能,还具备很多进一步细致化个人播放体验的功能,包括但不限于播放网络视频、播放IPTV、播放直播串流、解析光盘文件、插入视频书签、自定义播放列表、调节播放速率、调节音频\字幕轨道。进一步地,它还拥有显示具体视频信息的内容,比如显示频谱,显示波形等内容,如下图所示

而VLC作为开源软件还具有一项其它商业播放器所不具备的优势,那就是VLC支持用户自行开发、使用插件及拓展

也许你会嫌VLC界面过于“复古”,有人不习惯播放器的UI设置逻辑,没关系,你可以从VLC浩如烟海的拓展选择中下载你需要的拓展,总有一款可以满足你的需求。

可以说,VLC完美满足了普通PC用户在视听方面的几乎一切需求。

那么,VLC在与其竞品的比较中又胜负几何呢?笔者选取了几个具有代表性的视频播放软件与VLC进行对比,它们分别为

  • PotPlayer:由韩国Daum公司开发的免费视频播放器
  • MPC-HC:开源视频播放器,项目地址:GitHub - clsid2/mpc-hc: Media Player Classic
  • 爱奇艺播放器:顾名思义,播放软件爱奇艺附带的视频播放器
  • 媒体播放器:微软公司研发的,win8及更高版本系统所自带的视频播放器

以上软件版本均为截止至2025年3月1日的最新稳定版。

笔者选取了对播放体验印象比较大的方面对上述几个播放器进行横向比较,测试机型数据如下

设备 数据
CPU Intel(R) Core(TM) i7-10870H CPU @ 2.20GHz 2.21 GHz
机带 RAM 16.0 GB (15.8 GB 可用)
系统类型 64 位操作系统, 基于 x64 的处理器
GPU NVIDIA GeForce RTX 3060 Laptop GPU
windows版本 Windows 10 家庭版

测试视频如下

所得结果如下

播放器 占用磁盘空间大小 运行时资源占用率 有无广告 视频格式支持情况 字幕支持情况 网络视频支持情况 其它
VLC 180MB CPU占用:0.5%左右、内存占用:130MB左右 几乎支持所有主流视频格式 使用良好 使用良好 具备拓展功能,功能较齐全
PotPlayer 122MB CPU占用:1%左右、内存占用:200MB左右 几乎支持所有主流视频格式 使用良好 使用良好 功能最为齐全
MPC-HC 66MB CPU占用:0.5%左右、内存占用:170MB左右 几乎支持所有主流视频格式 使用良好 不支持 轻量化,冷启动快
爱奇艺播放器 1.3GB(含爱奇艺客户端) CPU占用:1%左右、内存占用:210MB左右 支持范围较少 不支持 不支持 不具备设置播放列表功能
媒体播放器 50MB CPU占用:1%左右、内存占用:100MB左右 支持范围最少 使用良好 不支持 功能最少

综上所述,VLC播放器在与市面上主流播放器进行竞争时均具有一定的优势

改进意见

  • VLC播放器的UI设计实在显得有些“复古”,不符合近年来的互联网审美趋势。因此我建议优化初始UI界面设计,或者内嵌更多UI界面设计,以满足更多用户的需求;
  • 进一步合理化UI布局和多级菜单设计。笔者以VLC播放器进度条附属菜单为例。VLC播放器在左下角放置了显然过多的UI按钮,而在右下角仅仅只有一个调节音量的按钮,而按照绝大多数互联网用户的习惯,“全屏“按钮应该放在右下角而非左下角;左数第六个按钮的功能为“显示拓展视频设置”,左数第九个按钮为”随机播放“,很显然绝大部分用户都不会使用这些功能,不如替换为”跳转“,或者”字幕“等使用频率更高的功能。

用户调研

笔者很荣幸请到了吴际老师班的zzt同学以及笔者的姐姐进行用户调研。之所以选择这两个人,是因为笔者认为这两个人能够比较好地代表两类不同的用户群体:

  • zzt同学是一名计算机科学专业的大三学生,平时对电脑有大量的使用需求,对电脑的熟练程度较高。同时,zzt同学还热衷于下载观看影视作品,对本地视频播放器有硬性需要;
  • 笔者的姐姐是一名大学文科毕业的本科生,现从事电商行业。她虽然也热衷于追星,喜欢观看各类影视作品,但她对电脑的熟练度不高,不喜欢过于复杂的电脑操作,喜欢直接简单粗暴的软件设计

以下是这两位热心志愿者对VLC的使用体验回馈(微信聊天为zzt同学的调研记录,QQ聊天为笔者姐姐的调研记录)

从调研的结果可以发现,两位参与调研人员都对VLC强大而齐全的功能表示了肯定,并表示获得了比较不错的视频观看体验。但他们也都提出了一些共性的缺点,比如功能过于齐全导致初尝试该软件时无从下手,对新手不够友好

同时笔者的姐姐提出的观点:“我电脑的爱奇艺有这个功能,我为什么要用别的”也揭示了这样一个优秀的软件为什么知名度平平的原因——国内已经形成了视频播放器与在线视频软件高度相关的软件生态。尽管VLC功能强大,但事实上在线视频软件附带的播放器可以满足轻度用户绝大多数的需求,而这样的轻度用户才是互联网相关用户的大多数。

评测结论

综上所述,笔者认为VLC是一款非常值得推荐的视频播放器,尽管它的UI设计有点更不上时代,但是我们可以通过安装拓展来弥补这个缺点。而VLC的视频播放体验却是市面上独一档的强大。它的视频播放功能维持在一个恰恰好的程度,既不像爱奇艺播放器、微软自带媒体播放器那样功能不齐,也不像PotPlayer播放器那样功能太多以至于用户常常无法在繁多的设置选项中找到自己所需的功能。对于那些常常有观看本地视频需求,而又追求一定程度的简洁的用户而言,VLC播放器无疑是最好的选择

Bug分析

笔者在长久的使用过程中,发现了VLC的部分设计漏洞

字幕解码问题

笔者在使用VLC播放器选择srt格式的繁体中文字幕文件时,常常会出现解码错误,如下图所示

VLC播放器无法正确解析该繁体中文格式字幕文件。

起初笔者认为是自己的电脑未安装繁体中文语言导致乱码,但笔者在安装繁体中文语言后仍然出现了该问题,因此笔者尝试更改编码方式重新保存文件,解决了该bug。

因此,对于该bug,笔者怀疑是VLC播放器不支持部分字幕文件的编码方式,从而导致乱码

对于该bug,笔者认为是VLC开发团队考虑不周,测试不足,未对部分使用人数较少的编码方式进行测试。这方面的疏忽进而导致了该bug的产生。

播放列表问题

VLC播放器在选择播放目录时并不会直接用新的播放列表覆盖旧的播放列表,而是会选择将新的播放列表添加到旧的播放列表的末尾,如下图所示

选择新的播放目录后,界面如下所示

显然新的播放列表直接添加到了旧的播放列表之后,令人匪夷所思。

对于该bug,笔者认为可能是VLC开发团队考虑不周,对用户需求掌握不足,未考虑到用户“创建一个新的播放列表“的需求。诚然,用户可以在添加新的播放列表后删除旧的播放列表达到相同的结果,但这个过程中产生的多余的操作显然是可以规避的。

第二部分 分析

工作量分析

这样一个迭代已久,功能完备,优化出色的开源项目让6个计算机专业的本科生去完成显然有点强人所难了。即使不考虑进行视频方面相关知识学习所耗费的时间,笔者保守估计也应当需要三年以上的时间。

软件质量分析

与同类软件的具体优劣比较笔者已经在上文有了较为具体的描述,因此本处不再赘述。就笔者长年的视频播放体验而言,VLC可以在同类软件中排前三:在windows平台上体验不如PotPlayer,但是VLC无广告是VLC一项巨大的优势所在。VLC在功能完备性和界面间接性方面所达成的完美平衡更是其它同类产品无法企及的优势。

VLC播放器作为迭代已久的开源项目,绝大多数的迭代属于增量式迭代,而不会对其底层UI界面设计进行修改。这导致VLC播放器虽然功能完备而强大,但UI设计却不符合现代互联网主流审美。为了在软件工程方面进行进一步提高,制作团队也许可以尝试对底层UI设计进行适当重构,提高相关接口的可拓展性,以助力VLC播放器软件质量更上一层楼。

第三部分 建议和规划

市场现状以及产品生态

在互联网日益普及,人民生活节奏日益加快的当代社会,观看视频已经成为了世界人民重要的娱乐消遣方式之一。但是尽管如此,专门的视频播放器的市场规模并不大:绝大多数互联网用户都会选择直接从视频网站或者视频客户端观看视频,而不是使用专门的视频播放器。VLC播放器作为非盈利的开源项目,本身并不需要考虑商业运营。由于在视频播放器方面众多开源软件都做得相当出色,对商业用途的视频播放器几乎形成了降维打击。而众多的开源软件之间并不构成严格的市场竞争关系,因此笔者认为VLC在市场上并不存在严格的竞争对手。

笔者认为,视频播放器这一软件的目标用户为18岁到35岁之间的资深互联网用户。它们对视频播放方面的体验要求严格,常常需要从互联网下载视频资源,并且愿意”折腾“,能够不厌其烦地探索电脑软件的功能,乐意接受并使用这些功能。

这一用户群体与学生群体,互联网相关从业者以及资深游戏玩家群体重合度较高。这种重合度进而催生了VLC各式各样的子版本。

产品规划

鉴于之前对VLC的bug分析,笔者认为在互联网上自动搜索字幕文件,对字幕添加多种可选的解码方式,并能够在一定的准确度下自动推理字幕文件的编码方式是有必要的。因为字幕功能是视频播放体验中非常重要的一环。字幕功能会直接影响用户对软件的评价。互联网上许多视频资源的字幕并非内嵌,字幕文件和视频文件分开处理的方式能够极大提高视频发布的灵活度。当今视频制作门槛不断下降,在未来势必会有更多民间视频上传者选择将字幕文件和视频文件分开处理。

为了完成该项目,对于作业要求给定的6人团队,笔者认为一个人负责美工,两个人负责测试,三个人负责开发的分配方式比较好:

  • VLC经过多次迭代,UI设计已经形成一套模板,因此美工方面并不需要过多人手,直接使用既定的接口进行增量迭代即可。
  • 功能实现方面,本功能涉及互联网搜索下载,数据库管理,编码方式推理等多方面知识,测试和开发压力均较大,因此我认为两个人负责测试,三个人负责开发的安排比较合理。

笔者涉及的16周具体时间安排如下

时间范围 任务内容
第一、二周 商量细致人员安排,敲定最终实现效果
第三到五周 实现对字幕添加多种解码方式功能,并进行充分测试
第六到第十周 实现互联网自动搜索字幕文件功能,并进行充分测试
第十到第十四周 实现自动推理文件编码方式功能,并进行充分测试
第十五、十六周 进行内部测试,对总体功能进行大量测试
posted on 2025-03-05 18:12  Myst_name  阅读(258)  评论(0)    收藏  举报