摘要 | 第4-5页 |
Abstract | 第5页 |
1 绪论 | 第8-13页 |
1.1 研究背景与意义 | 第8-10页 |
1.2 同类软件研究 | 第10-11页 |
1.2.1 MAC平台现有的视频下载软件分析 | 第10页 |
1.2.2 MAC平台现有的录屏软件分析 | 第10-11页 |
1.3 本文工作 | 第11-12页 |
1.4 章节安排 | 第12-13页 |
2 需求分析与总体设计 | 第13-19页 |
2.1 需求分析 | 第13-14页 |
2.1.1 功能需求 | 第13页 |
2.1.2 性能需求 | 第13-14页 |
2.1.3 靠性与健壮性需求 | 第14页 |
2.2 总体设计 | 第14-19页 |
2.2.1 软件架构设计 | 第14-15页 |
2.2.2 多任务管理模块 | 第15-16页 |
2.2.3 浏览器模块 | 第16-17页 |
2.2.4 视频压制模块 | 第17-19页 |
3 关键技术研究 | 第19-37页 |
3.1 MAC系统下基于API Hook的单进程音频截获技术 | 第19-32页 |
3.1.1 MAC系统下的Hook技术 | 第19-21页 |
3.1.2 Core Audio音频架构分析 | 第21-22页 |
3.1.3 Audio Unit声音数据获取方法 | 第22-26页 |
3.1.4 Audio HAL声音数据获取方法 | 第26-29页 |
3.1.5 静音获取音频数据的方法 | 第29-30页 |
3.1.6 音频格式的处理 | 第30-32页 |
3.2 MAC系统下无干扰屏幕录像技术 | 第32-37页 |
3.2.1 基于Quartz Window Services的截图方法 | 第33页 |
3.2.2 基于Qt的截图方法 | 第33-34页 |
3.2.3 两种截图方法的比较 | 第34-35页 |
3.2.4 隐藏录制窗口 | 第35-37页 |
4 详细设计 | 第37-61页 |
4.1 多任务管理模块 | 第37-42页 |
4.1.1 录屏任务管理 | 第37-38页 |
4.1.2 完成任务管理 | 第38-40页 |
4.1.3 录制记录保存 | 第40-42页 |
4.2 浏览器模块 | 第42-49页 |
4.2.1 示网页 | 第42-44页 |
4.2.2 录屏区域选择 | 第44-47页 |
4.2.3 自动定位网页中的视频 | 第47-49页 |
4.3 视频压制模块 | 第49-53页 |
4.3.1 声音插帧机制 | 第49-50页 |
4.3.2 画面插帧技术 | 第50-52页 |
4.3.3 阻止App Nap | 第52-53页 |
4.4 进程间通信 | 第53-61页 |
4.4.1 Thrift远程服务调用框架 | 第53-56页 |
4.4.2 消息格式 | 第56-58页 |
4.4.3 端口号分配 | 第58-59页 |
4.4.4 心跳包机制 | 第59-61页 |
5 软件测试 | 第61-69页 |
5.1 测试环境 | 第61-63页 |
5.2 功能测试 | 第63-67页 |
5.3 性能测试 | 第67-68页 |
5.4 不足之处与改进方案 | 第68-69页 |
结论 | 第69-70页 |
参考文献 | 第70-73页 |
致谢 | 第73-74页 |