焉知鱼|开发录屏软件之需求分析

【焉知鱼|开发录屏软件之需求分析】
俗话说工欲善其事必先利其器 , 既然着手开发录屏软件我们就需要定一个需求 , 首先 , 我们得了解我们的软件有哪些功能 , 其次实现这些功能用到哪些技术 , 等等 , 对此 , 绘制图表来详细列举各种目前想到的需求 , 下面我们通过图表来进行需求分析 。

焉知鱼|开发录屏软件之需求分析
本文插图
输入输出需求分析表格
输入方面需要注意的时音视频采样设备 , 如摄像头 , 麦克风等设备 , 采集数据可以通过dshow , gdigrab , vfwcap等实现 。
输出方面首先是分辨率 , 分辨率在程序中设置可选 , 用户可以根据需求选择合适的分辨率 。 视频帧率也设置用户可选 , 帧数越高 , 视频录制却清晰 。 视频编码有yuv , h264可选 , 选择h264作为编码器 , 因为yuv采样数据存储空间太大 , 几秒视频就多达几百兆 , 对于录制长时间视频来说 , 显然不合适 。 视频分装格式也可以设置成多种 , 比如MP4 , mkv等 。 采样率 , 声道这些都可以放在设置菜单项中供用户选择 , 这是最后需要完成的 。
程序实现的功能
桌面录制 , gdigrab , dshow等录制桌面数据
摄像头录制 vfwcap , dshow采集摄像头数据
麦克风录制 dshow, vfwcap
画图工具 实现简单绘图 , 例如在录制课程时可以用画笔简单绘画 。
程序模块
视频录制类 videorec , 负责调用FFmpeg , 实现视频设备初始化 , 视频采集 , 视频转码 , 视频封装
线程同步类 主线程 , videocapthread, 主线程负责程序界面操作 , videocapthread线程负责视频录制 , videocapthread继承qobject实现视频后台录制 , 这样可以让主线程不至于卡顿
qmainwindow主窗口 , 程序主窗口 , 程序所以功能依托主窗口
当然 , 这些仅仅是目前我能想到的 , 其他想不到的后期可以慢慢添加 , 有不合适的地方后期慢慢改动 。 需求分析可以说是软件开发的首要问题 , 只有弄明白需求分析 , 才能进行下一步的原型设计 , 在后面的文章中将会设计一个最简单的模型 , 该模型可以实现 , 视频录制最基础功能 , 如开始录屏 , 停止录屏 , 暂停录屏等 , 有了这个模型 , 我们可以围绕模型一步步完善 , 添加各种功能 , 所以说需求不是一层不变的 , 我们在完善模型的时候会修改以前的需求 , 也可能添加新的需求 , 需求随着模型的迭代不断完善 , 最后就可以开发出来自己想要的产品 。