个人作业:软件案例分析

个人作业:软件案例分析

项目 内容
这个作业属于哪个课程 首页 - 2025年春季软件工程(罗杰、任健) - 北京航空航天大学 - 班级博客 - 博客园
这个作业的要求在哪里 [I.2] 个人作业:软件案例分析
我在这个课程的目标是 学习软件开发流程,完成一次完整的软件开发经历,提高开发和团队合作能力
这个作业在哪个具体方面帮助我实现目标 了解软件工程总体框架、流程及其常见问题

选题

在本题目中,你将有机会深入分析一个自己感兴趣的开源软件,并通过与功能类似的竞品进行比较,深刻理解开源软件在软件工程中的设计原则和实践。你还可能有机会参与开源社区,发现潜在问题并提供有益的改进建议,为软件的不断完善做出积极贡献!请你自由选择 一个 你感兴趣的开源软件进行深入分析,并选取 一个或多个 与之功能类似的商业竞品(亦需要是开源软件)进行对比研究。

你可以从功能特性角度出发,深入研究开源软件的功能特性,包括但不限于核心功能、扩展功能、用户界面设计等,对比竞品,分析它们在功能上的异同,重点关注哪些特性可能是用户选择软件的决定因素;你也可以调查开源软件的性能和稳定性,比较它与竞品在运行时的表现,等等。

选题类别:开源软件

选择软件:OBS studio


第一部分

软件评测

软件使用

OBS拥有场景管理、源管理、音频管理、录制或推流、转场动画管理以及OBS设置等等功能。

软件分析
  • 用户可根据自己需求,搭建多个场景,每个场景可以包含多个源;

  • 对于想要采集的数据源,可从“显示器采集”、“视频采集设备”、“窗口采集”等多个选项中选择,并可在预览画面中对来自各个源的视频画面进行位置、尺寸调整;

  • 对采集的音频进行管理,可添加和管理音频输入(如麦克风、桌面音频),并且调整音频的音量和混音设置;

  • 用户可将录制的数据源保存成本地视频格式文件,也可输出到直播平台,或以虚拟摄像头方式进行推流。

  • 是否解决用户需求? Yes,OBS Studio 提供的这些强大的功能,能够满足大多数用户的录制和直播需求。

优缺点分析
维度 优点 缺点
界面 界面简洁,功能分区清晰,易于上手。 对于新手用户,部分功能可能需要学习,存在一定上手难度。
功能 功能强大,支持多场景、多源和直播平台。 基本没有 除非你认为它应当有视频剪辑功能
用户体验 开源免费,社区支持强大,插件丰富。 对于非技术用户,初始配置可能较为复杂。
改进意见
  1. 简化初始配置
    • 提供更友好的初始配置向导,帮助新手用户快速完成基本设置。
  2. 改进界面设计
    • 增加更多可视化提示和工具提示,帮助用户理解复杂功能。
  3. 内置教程与帮助
    • 在软件中集成视频教程或帮助文档,方便用户快速学习高级功能。
用户调研

采访对象的背景,为什么选择这个人采访?TA 的需求是什么?
  • 采访对象为吴际老师班级的fjp同学,他在学习、娱乐生活中时常需要对电脑屏幕进行录制。他的需求是找到一款方便好用的屏幕录制工具,最好能针对屏幕的特定窗口进行抓拍。
采访对象实际使用的产品栏目
  • 受采访的同学往往使用OBS的录制功能,按需录制电脑窗口的视频。
采访对象使用软件的过程中会遇到的问题和亮点
  • 问题:

    • 刚上手的时候看不懂如何使用,不懂也不敢碰高级设置里的选项。
    • 在采集特定窗口时,匹配需要的时间很长,不禁让人以为出bug了。
  • 亮点:

    • 功能还是非常好用的,可以做到想录什么就录什么,还能在录制中就变换编辑视频。
    • 用久了就觉得看上去挺顺眼的,页面很简洁。
采访对象觉得从用户体验的角度来说需要改进的地方有哪些?
  • 对新手看上去还是太复杂了,用户门槛这块还是高了。
评测结论
  • e) 非常推荐

Bug部分

Bug严重程度等级指标
  • 致命:崩溃或数据丢失,需立即修复。
  • 严重:功能完全不可用,但仍能运行,用户体验较差。
  • 中等:功能部分不可用,影响用户体验。
  • 轻微:次要功能有缺陷,但不影响主要功能的使用。
  • 建议:UI问题或文案错误,不影响功能和使用。

实际上,作为一个运营十年以上的软件项目,OBS studio的bug数量并不多,严重程度并不大。

Bug分析:
Bug 1
环境:
  • Windows 11
  • OBS studio version 31.0.2
可复现性:

视上传文件而定,部分情况下不出现(笔者上传了另一个WEBM文件却没崩溃🧐)。

复现步骤:
  1. 启动OBS
  2. 创建新的媒体源
  3. 对于该媒体源,上传特定视频文件。(笔者是上传了一个WEBM格式视频文件
  4. 确定应用后,OBS自动开始播放媒体源,紧接着出现崩溃。
  5. 崩溃后,再次启动OBS,由于新建的媒体源还没有删除,OBS继续自动播放媒体源,然后继续崩溃。
bug具体情况描述:

如上图所示,在源面板中的媒体源是刚刚创建的,并上传了本地的WEBM格式视频文件。OBS在尝试播放该文件时崩溃。

Bug分析:

通过AI解读crash report,发现崩溃发生在 obs-ffmpeg.dll 插件中,具体是在 mp_media_next_audio 函数中。这表明音频处理过程中出现了问题,可能是由于访问了无效的内存。很可能是对于上传的WEBM文件,OBS对其造成了错误的处理,尽管这明明是它本应支持的视频格式。

Bug严重性:
  • 中等
    • 系统功能上看,这是媒体源对特定视频格式的不支持,属于部分功能上不完整。
    • 安全性上看,这对安全性并无影响。
    • 用户体验上看,OBS作为直播软件,在媒体源这种常用功能上出现bug属实不应该,想象一个streamer突然遇到这个bug导致崩溃。好在OBS对于常见的视频格式并无问题,bug只有极少部分人在上传WEBM文件时出现。综合来看对用户影响中等。
软件在发布前没能修复该bug的原因可能是:
  • 测试把关不严,没能考虑周全测试例。
Bug 2
环境:
  • macOS 14
  • OBS studio version 31.0.2
可复现性:

高,几乎必然发生

复现步骤:
  1. 启动OBS
  2. 强制退出OBS
  3. 再启动OBS
  4. 从源管理面板添加源或从工具菜单点击脚本管理器或WebSocket settings,发现无法打开对应菜单
bug具体情况描述:

在OBS被强制关闭后被再次启动,由上图可以看到,OBS无法正常打开添加源的面板。但在被再次正常关闭后,一切恢复正常。

Bug分析:

个人认为可能成因是在mac操作系统下,OBS在被强制关闭后被再次开启时,默认以安全模式开启,此时脚本管理器或WebSocket settings是被禁用的。如下图所示。尽管这并不能解释为什么连源管理面板也无法响应。

Bug严重性:
  • 轻微
    • 系统功能上看,bug出现后软件功能受限,但是,bug只会在强退OBS后出现;且只要用户正常重启OBS后就能恢复。鉴于次,认为属于轻微的功能缺陷。
    • 安全性上看,这对安全性并无影响。
    • 用户体验上看,该bug出现,就需要进行一次OBS重启,重复启动对用户来说操作稍为繁琐但并非麻烦。综合来看对用户影响轻微。
软件在发布前没能修复该bug的原因可能是:
  • 测试把关不严,没有注意在特殊的配置或环境下测试。

第二部分

工作量分析

让我们将其功能(不考虑插件拓展)按模块进行拆解,且不考虑大学生对有关知识的学习时间,再乐观估计工作量:

核心功能:
  • 不同源的视频捕获...... 3个月
  • 音频捕获、混音功能...... 1个月
  • 场景管理,源的图层管理、编辑...... 4个月
  • 多种编码器与流媒体...... 4个月
  • UI与场景预览...... 3个月
  • 转场与滤镜...... 2个月
  • 直播管理与多平台支持...... 4个月以上

功能测试与重大bug修复...... 3个月

考虑到UI部分可以与其他开发并行,总工作量至少要有21个月。

软件质量分析

优势
  • 功能强大
  • 开源社区生态良好、插件众多
  • 跨平台支持
劣势
  • 学习曲线较高
  • 和其他类似商用软件的界面相比还是不够用户友好性 虽然个人挺喜欢的

排名:第一

软件工程改进建议

在优化新手用户体验方面需要改进:

  • 提供更直观的操作引导,降低新手用户的学习成本。
  • 优化界面设计,如改进设计 UI,使其更符合现代用户偏好。

第三部分

市场现状

市场概况

据粗略估计,全球全平台有大概1.2亿直播者,所有的这些直播者都有可能使用OBS作为他们的推流工具,即潜在用户。

根据CMI,世界直播市场在去年被估计超过600亿美元,而在2032年,这个数字可能达到2560亿。直播市场的扩大意味着直播软件的需求提升。

竞争产品与产品定位

开源软件在直播方向上的几乎是OBS一家独大,不过在屏幕录制方面,还有其它开源软件竞品ShareX与Kazam

他们之间的定位、优劣势关系如下表所示。

软件 优势 劣势 定位
OBS studio 直播录屏功能强大、插件丰富、跨平台支持 学习曲线较高 专业直播、高质量视频录制、多场景切换需求
ShareX 在截屏录屏上功能丰富、轻量级、高度可定制 仅支持windows 无法直播 快速截图、简单录屏、GIF 制作
Kazam 轻量级、界面极简 仅支持基本录屏功能、仅支持linux Linux 用户的简单屏幕录制需求

市场与产品生态

核心用户群

典型用户往往是互联网直播平台或是参与视频创作的媒体,学历年龄专业爱好收入等等不限,需求就在于录制屏幕

侧重于直播的用户更在意OBS的功能,它们的表面需求包括创造流畅的直播、自定义多个直播场景可供切换,多样的直播视频表现方式,潜在需求就是为用户带来更好的直播体验以及简化自己直播者的操作难度。

侧重于视频创作的则不是重度用户,只需要有便利且清晰且可自定义的录屏功能即可。

用户生态

OBS的插件生态是由内容创作者与直播从业者共同构建起来的。这些用户依赖OBS的高质量录制和直播功能,并通过社区分享配置方案、插件使用经验等。这种共享行为形成了“工具使用—经验传播—功能改进/插件创新”的正向循环。

产品规划

新功能设计
Need:

许多新的直播用户想要使用OBS studio来参与直播推流,他们往往苦于入门OBS,需要更为快捷的入门指导。

Approach:

提供教学界面,为用户提供功能介绍,并举例进行基础功能展示。

Benefit:

帮助新用户快速入门,占得更多用户。

Competition:

抢占其它商业竞品市场,事实上,大量商业竞品都在与OBS的对比中宣称自己更加用户友好、更易上手。

Delivery:

OBS已经搭建了良好的用户生态,大量的视频创作者、直播博主作为其用户,会自发的进行宣传推广和推出使用教程。

团队配置与16周计划
  • 团队角色:

    • 后端开发 1人
    • UI设计师 1人
    • 前端开发 2人
    • 测试 1人
    • PM 1人
  • 计划:

    时间 主要任务 具体方式
    第1周 需求调研 分析OBS现有新手用户的常见问题
    第2周 技术可行性评估 对功能所需模块进行拆解,评估可行性
    第3周 原型设计 完成交互流程图、设计总体架构
    第4-9周 交互逻辑实现 实现引导的UI框架、完成引导语OBS的操作联动、集成常见错误检测
    第10-11周 基础测试与优化 开发团队内部交叉测试,修复关键BUG
    第12-13周 FAQ模块开发 集成社区热门问答、设计搜索功能与关键词匹配
    第14周 全功能集成测试 测试插件兼容性、多平台测试
    第15周 外部用户测试与迭代 招募20名新手用户,根据反馈调整引导流程
    第16周 正式发布 在官网社区论坛发布公告、功能稳定上线
posted @ 2025-03-11 19:03  w1cker  阅读(135)  评论(0)    收藏  举报