论文摘要
流媒体(Streaming Media)是一种以音视频数据流的方式在网络上传递多媒体信息的技术。与传统的多媒体下载不同,流媒体传输具有实时性和连续性的特点。流媒体技术具有十分广泛的应用领域,如在线直播、网络广告、视频点播、视讯会议、远程教育等。流媒体系统中的流媒体服务器用于存放和控制流媒体数据,对于当前大多数流媒体系统而言,高速发展的TCP/IP网络已不再成为限制性能的主要因素。然而,随着流媒体技术的飞速发展,以及世界广播电视数字化的来临,流媒体服务器的性能日益成为制约流媒体应用的重要因素。本文首先研究分析了流媒体应用的关键技术,对流媒体的基本原理、传输技术和流媒体传输协议进行了详细介绍。然后分析了目前几个主流的流媒体服务器和影响流媒体服务器性能的关键因素,紧接着研究和分析了Linux操作系统内核机制,介绍了Linux内核的模块机制和内核处理系统调用的过程,并且介绍了在Linux内核中添加系统调用和内核模块的方法。最后重点介绍了基于Linux平台的流媒体服务器的设计和关键模块功能的实现过程,该流媒体服务器采用模块化的的思想进行设计,系统各个模块运行在一个基于异步事件驱动的系统运行框架之上。流媒体服务器软件是以应用软件方式运行在Linux平台下,在执行时,CPU运行在用户态。流媒体服务器的设备I/O通过系统功能调用,从用户态陷入核心态,方能完成。CPU从用户态陷入核心态,再从核心态返回用户态的净开销,相当于CPU执行1000条简单的普通指令。本文所做的工作为实际项目的一个分支,项目的最后目标就是利用Linux操作系统内核的特点,实现流媒体服务器的频繁进行I/O操作的功能模块降到Linux内核中,利用这种方法实现对流媒体服务器的性能改进。本论文受四川省科技厅攻关基金资助,本文对提高流媒体服务器性能的方法做了初步的探索和研究,在今后的项目实施中可以作为参考。
论文目录
摘要ABSTRACT第一章 引言1.1 研究背景1.2 流媒体发展现状1.2.1 国际流媒体产品技术发展状况1.2.2 国内流媒体产品技术发展状况1.3 本文主要工作1.4 论文结构第二章 流媒体技术介绍2.1 流媒体系统2.1.1 基本原理2.1.2 流媒体系统的组成2.2 流媒体技术基础2.2.1 流式传输技术2.2.1.1 顺序流式(Progressive Streaming)传输2.2.1.2 实时流式(Real-time Streaming)传输2.2.2 流媒体传输协议2.2.2.1 实时传输协议2.2.2.2 实时传输控制协议2.2.2.3 实时流协议2.2.2.4 资源预留协议2.2.2.5 会话描述协议2.3 流媒体服务器的分类2.4 影响流媒体服务器性能因素2.4.1 硬盘分析2.4.2 CPU 分析2.4.3 网卡分析2.4.4 内部总线、内存、外部总线2.5 小结第三章 Linux 操作系统内核3.1 Linux 内核介绍3.1.1 Linux 内核组成3.1.2 Linux 内核工作状态 3.2 Linux 系统调用3.2.1 系统调用与应用编程接口(API)区别3.2.2 系统调用过程3.2.3 系统调用内核实现3.2.4 Linux 内核中添加系统调用3.2.4.1 添加系统调用方法3.2.4.2 使用新添加的系统调用3.3 Linux 内核模块3.3.1 构建 Linux 内核模块3.3.2 加载和移出 Linux 内核模块3.4 内核态进程与用户态进程通信的研究3.5 内核调试工具的研究3.6 小结第四章 流媒体服务器的研究与设计4.1 流媒体服务器需求和目标4.2 系统总体结构4.3 主要功能模块的设计与实现4.3.1 网络处理模块4.3.1.1 异步事件驱动系统4.3.1.2 事件处理线程4.3.1.3 任务线程(Task Thread)4.3.2 系统模块管理器4.3.2.1 模块机制的设计4.3.2.2 调用模块4.3.3 RTSP 协议处理模块4.3.3.1 RTSP 协议的分析4.3.3.2 RTSP 协议控制命令4.3.4 RTP 协议的支持4.4 小结第五章 结论5.1 全文总结5.2 进一步工作致谢参考文献攻读硕士学位期间的研究成果
相关论文文献
标签:流媒体论文; 内核论文; 性能论文;