论文部分内容阅读
随着Internet和Web技术的发展,Web应用系统在Internet上的使用也越来越广泛,用户需要通过浏览器完成复杂程度更高的交互。遗憾的是,传统Web应用程序对完成复杂应用方面却迟迟跟不上步伐,已经渐渐不能满足Web浏览者更高的、全方位的体验要求。以Adobe Flex技术为代表的RIA (Rich Internet Application,富网络应用系统)技术允许我们在因特网上以一种使用Web一样简单的方式来访问富客户端程序,可以满足Web浏览者更高的、全方位的体验要求,使表示层的功能更加强大。随着互联网上视频流媒体应用近年来增长迅速,RIA应用技术的发展和当前视频流媒体技术的广泛应用为此次流媒体视频共享平台的实现提供了良好的环境。本文主要研究了以Flex为代表的RIA技术,首先介绍了与传统B/S架构相比,RIA技术的优势。然后简要介绍了RIA的特点和几种常见的RIA开发技术,并对本系统应用到的Flex技术作了详细介绍。在此基础上,论文设计并实现了一个基于Flex的流媒体视频共享系统。该系统主要包括前端展示和后台监控两部分,能提供丰富的交互性功能。前端部分采用MVC设计模式,把应用程序的数据和业务逻辑、数据的外观呈现以及对数据的操作划分到不同的实体中去,实现局部更新页面、减少数据交互、减轻服务器负担及提升用户体验等效果,为互联网流媒体视频分享提供了一个良好的平台。后台部分主要包括视频转码和流量统计等功能。本文基于FFmpeg和AviSynth等视频处理技术,开发了一个后台视频处理软件——EncodeFarm,可将用户上传的视频转码为高低不同码率,以便系统根据用户可用带宽自动选取相应码率的视频。此外,该软件还实现了基于人脸检测的关键帧提取算法,能从用户上传的视频中自动提取关键帧,方便用户了解视频节目的内容.到目前为止,本论文设计开发的视频共享系统已经稳定运行了近六个月,验证了系统设计的正确性和易用性,体现了RIA技术在Web应用程序设计与开发上所带来的优势。