论文部分内容阅读
近年来随着移动互联网、多媒体、通信技术的快速发展,融合了互联网和多媒体技术的移动流媒体业务在电视直播、安防、视频监控、视频通话等领域有着非常广泛的应用。现今的智能手机相对于传统的手机运算处理能力更强、更加智能化、电池续航时间更久,完全可以作为流媒体客户端的应用平台。本文基于以上背景设计了移动流媒体直播系统,在PC平台上设计服务端器程序进行音视频的采集和转发,在移动平台上设计客户端应用程序来负责数据接收和显示播放等,并结合服务器端程序和客户端程序实现了视频直播和点播的功能。为了实现此目标,论文主要从服务器程序和客户端程序两个方面进行展开:对于服务器程序的设计,通过研究现有的流媒体技术并且考虑项目的需要,参考DSS(Darwin Streaming Server)流媒体服务器设计并实现了服务器端的程序,完成了视频直播和视频点播中服务器端的程序。通过对智能手机发展过程以及各种操作系统平台的研究,选择iPhone作为移动客户端程序的开发平台。对于客户端程序的设计,主要从音视频解码和程序优化两个方面对于论文中的工作重点和创新点进行讲解:1、IOS系统对于音视频的解码支持不是很充分,针对这一问题,设计并实现了IOS上的音视频解码程序,能够实现对常用音视频编码器的支持。基于此,系统在设计流媒体服务器的过程中在编码上可以有更多的选择,同时在视频点播过程中,可以支持较多的视频封装格式。2、客户端软件在播放显示的过程中经常会出现音视频不同步的现象,为此基于音频时间戳的方法设计了音视频同步算法来解决这一问题。对于网络数据接收和客户端解码能力不匹配的问题,程序中采用了多线程程序开发、以及队列缓冲算法等机制进行了优化,实现了网络接收与客户端解码的无缝结合。同时,针对移动客户端解码显示能力不足的问题,实际开发中通过GPU来实现加速显示。基于以上的工作,在Ubuntu操作系统平台上实现流媒体直播系统的服务器端程序,在iPhone上实现客户端程序,经过对客户端和服务器进行测试,完全能够满足系统要求,实现流畅的音视频播放。论文中实现的系统同样可以应用在家用和公用的视频监控、安防等项目上,具有工程实践意义。