- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
视频点播器客户端黄生禄
视频点播器(客户端)姓 名:黄生禄 指导老师: 林 晨 学号:NF140507 项目需求分析 项目总体介绍 项目亮点介绍 项目功能模块介绍 项目心得体会 项目需求分析 项目开发的意义 随着互联网技术和多媒体技术的快速发展,视频点播开始广泛应用于家庭娱乐、远程教育等行业。视频点播能实现媒体资源的按需收看和任意播放。而嵌入式技术的发展也让越来越多智能化和信息化的嵌入式设备开始进入人们的生活,从而使得面向嵌入式终端设备的视频点播系统也成为研究的热点。 通过本项目可以让我们深入了解和熟悉Linux底下的高级的编程环境。 运行环境 系统 Fedora 9 内核版本 2.6 编译环境 Qt4.7.3 数据库 SQlite 3.5.6 项目需求分析 功能性需求 项目总体介绍 系统总体架构 设备端的逻辑图 发送模块 接收模块 UI交互层 系统关键流程 请求视频列表 系统关键流程 视频点播 客户端启动流程 接口数据类型 包大小 Pack_Size 包头 Head 序号 Seq 接入层数据 Acess_Data 数量 Sum 登录 Login 业务层数据 Bill_Data 流水 trans_id 应答 RetLogin 属性 Packet_Opt 登出 Logout 错误代码 Error_Code 应答 RetLogout 错误信息 Erro_Msg 功能ID ID 获取类型 VdType CRC CRC 包体数据 Data 应答 RetVdType 保卫 Tail 获取列表 VdList ……. ……. 功能介绍 获取频道内容流程图: QPushButton继承 为了便于取得不同按钮的事件,我封装了按钮,此按钮继承了QPushButton的内容,增加了Id,用存储从服务器获取到的地区或类型ID,这样便于在处理影片的地区或影片类型可通过ObjectName,来获取到按钮类型I的。 初始化主界面 登录界面 登录界面支持记住密码。 如果用户已经登录直接进入播放历史记录界面。 播放历史记录界面 点击登出退出用户登录 清空历史记录则清空本地以及服务器记录 刷新按钮直接刷新服务器历史记录 关闭按钮则关闭本界面但不退出登录 系统设置界面 IP地址:设置服务器IP,请按照IP规则输入IP, 端口:设置服务器端口 视频IP:RTSP 服务器地址,视频文件,要播放的视频名称。 暂停:暂停播放 停止:停止播放 关闭按钮:关闭视频并上传播放时长。 项目亮点介绍 滚动条的实现 服务器掉线自动连接 视频信息显示窗口与TabWidg分离 项目亮点介绍 滚动条 滚动条实现起来其实很简单,只要按照又变步骤就可以实现了。而且窗口的滚动完全无需我们自己操作Qt全部帮我们完成操作。 项目亮点介绍 服务器掉线自动提示,并自动发起连接。 项目亮点介绍 视频信息显示窗口与TabWidg分离 虽然把视频的信息加入到QTabeWiget窗口中,在切换频道的时候视频信息会跟着变化,但是我觉得这样不是很好,层次有点不大分明,还有程序必须在初始化时把窗口创建出来,另外Qt自动切换降低难度。 我的做法是吧视频信息的窗口放到主界面,并使用Layout布局管理器自动布局,在Qwidget预留一个接口,这样按钮动作的时候可以随时刷新视频信息窗口。 项目亮点介绍 视频 信息 的显 刷新 流程 项目心得体会 团队项目在通信没有完成之前,数据部分一定要做成可改变,不能写死否则会很麻烦的; 在使用二维数组的时候,要注意你初始化数组里面的一维还是全部初始化。 多重结构体嵌套时,如果指向结构体元素为一数组但你误加了一个取地支符在内存拷贝的时候,编译器可能不会报错,但运行会出错。 如果使用sprintf ,或sscanf的时候,目的参数为bool类型,使用%d时会造成内存溢出。 要善于使用帮助手册,虽然是英文的,但有时候也非常的给力。 fe * fe *
文档评论(0)