论文部分内容阅读
计算机网络技术和多媒体技术的不断进步成为网络多媒体应用日益普及和发展的强大动力。人们在生产和生活中,也早已不满足单一的媒体形式,使得基于流媒体技术的相关开发与应用成为当前热点之一。视频会议,视频点播,远程教育,无人监控等分布式多媒体应用正迅速走入人们的生活,使用者根据自己的需求主动获得多媒体信,它们和传统信息发布的最大不同在于其主动性和选择性,这给人们的工作和生活带来了极大的便利和无穷的乐趣。与基于PC的流媒体服务器相比,嵌入式流媒体服务器具有体积小,携带方便,功能专业化高,成本较低,稳定性高,实时性好等优点,因此越来越受到开发厂商和消费者的青睐。本文正是在这种背景下,开始研究流媒体技术的实现原理,并在此基础上设计了和实现了一个基于ARM嵌入式处理器HI3510的流媒体服务器。本文首先对流媒体传输系统进行了需求分析,在此基础上选择了要使用的相关技术。本文选用实时流协议(RTSP)来进行多用户并发连接管理,和多流控制的功能,从而实现视频点播的功能。由于RTSP所控制和传输的流是多媒体流,因此系统同时实现实时传输协议(RTP),以为多媒体数据流添加实时特性,方便客户端进行实时播放。RTSP服务器端和客户端在进行连接请求和应答时需对会话信息和媒体信息进行描述,本文采用会话描述协议(SDP)来实现对这些信息的描述。同时,本文自行设计了一个命令控制协议MTCP来实现用户与嵌入式设备的交互,实现诸如IP,端口,媒体数据编码格式,图像采样率等硬件参数的设置。本文使用C语言编写流服务器应用程序,所有代码的编写遵循模块化设计的原则,以便于进行调试,维护和更新。在进行底层网络接口设计时,同时封装了Windows和Linux的接口函数,以满足不同嵌入式操作系统的需求。但是,本应用仅在Linux操作系统下进行过调试。为了进行流服务器的调试,本文的最后设计了一个基于通用PC的流播放器与之通信。实现实时流播放器,选择了微软的DirectShow作为开发平台。通过测试与实际应用,嵌入式流服务器最终达到了我们设计的目标。