随着流媒体技术的发展,对校园网流媒体点播、广播系统进行性能进行研究。
1.引言
流媒体 (Streaming Media)是一种新兴的网络传输技术,在互联网上实时顺序地传输和播放视/音频等多媒体内容的连续时基数据流,流媒体技术包括流媒体数据采集、视/音频编解码、存储、传输、播放等领域。
流媒体作为多媒体和网络的交叉学科,在应用和研究领域得到了迅速发展。多媒体使计算机能够处理声音、文字、图像和视频,多媒体的出现极大的改善了人机交互,改变了人们使用计算机的方式。同时网络技术在不断的发展,网络带宽也得到了极大的提高,人们不再满足与仅有文本、图像的Internet,而希望越来越多的声音和视频的多媒体内容。流媒体 技术由此应运而生。
传统的通过Internet来观看视频是将视频文件下载到本地,在本地硬盘上进行播放。由于视频文件一般较大,下载一个视频到本地需要较长的时间,例如,一个MPEG-1编码的视频节目,11.3MB/min,一部1小时的电影,如果下载速度能达到100KB/s的话,需要113个小时,因而限制了人们在互联网上使用多媒体数据进行交流。
流媒体技术(Streaming Media Technology)是为解决以Internet为代表的中低带宽网络上多媒体信息(以视频、音频信息为重点)传输问题而产生发展起来的一种网络技术。采用流媒体技术,能够有效地突破低比特率接入Internet方式下的带宽瓶颈,克服文件下载传输方式的不足,实现多媒体信息在Internet上的流式传输。
“流媒体”的概念包括以下两个层面。其一,流媒体是计算机网络(尤其是中低带Internet /Intranet)上需要实时传输的多媒体文件,比如声音、视频文件。在传输前需要压缩处理成多个压缩包,并附加上与其传输有关的信息(比如,控制用户端播放器正确播放的必要的辅助信息),形成实时数据流。数据流最大的特点是允许播放器及时反应而不用等待整个文件的下载。其二,流媒体是对多媒体信息进行"流化"处理,可以称之为流技术。这种流技术把连续的影像和声音信息经过压缩处理后利用网络服务器,让用户一边下载一边观看、收听,而不需要等整个压缩文件下载到自己的机器后才可以观看。该技术先在使用者的电脑上创造一个缓冲区,在播放前预先下载一段资料作为缓冲,在网络实际连接速率小于播放所耗用资料的速度时,播放程序就会取用这一小段缓冲区内的资料,从而避免播放的中断,使得播放品质得以维持。
流媒体技术作为一个新兴的研究学科面临着许多挑战,影响流媒体系统的因素很多,主要可以分为以下两类:
(1)现有网络状况对流媒体QoS的影响。带宽、Internet分组丢失率、无线网络误码差错、网络异构性、网络延迟等都是影响流媒体QoS的重要因素。Internet是建立在TCP/IP协议栈的 基础之上的,流媒体服务是建立在Internet之上的,TCP/IP协议本身的缺陷也限制着流媒体的服务质量。
(2) 流媒体系统性能的问题。系统效率是最重要的系统性能指标。流媒体服务器通常用最大用户数来衡量系统效率。连接建立时间、响应时间也是系统的重要性能指标,直接影响到用户的系统体验。
本文就搭建在校园网内为校园网用户和教育网用户提供服务的流媒体系统的连接建立时间、响应时间这几个指标进行评测。
2.校园网视频点播系统
本小节介绍本文进行测试的流媒体视频点播系统 的整体结构,主要分为以下两个方面:
1. 系统整体结构
2. 系统各部分配置
2.1 系统整体结构
完整的视频点播系统是多种软件硬件平台的集成,完成数据获取、内容发布、系统管理和网络传输的功能。系统主要由编码器、流媒体服务器、支持IGMP 协议的网络交换设备、支持多播功能的多播路由器和网络客户端组成。为了方便用户使用和管理还需要WEB服务器和数据库服务器的支持。
编码器:编码器服务器用来实现视频和音频媒体的数据采集、编码和压缩,为流媒体系统提供必需的数据源 。
文件服务器:存储视频服务提供的视频文件,考虑到多用户访问的情况,采用了多才文件服务器,分布式的存储视频文件。
流媒体服务器:提供流媒体服务,用户通过web 服务器登录到系统,将请求传递给流媒体服务器,有流媒体服务器处理。
Web 服务器和SQL 数据库:实现用户登录,授权管理,提供一个友好的访问整个系统的Portal。
整个系统架设在校园网内,并通过CERNET 连接到整个教育网,为教育网用户提供视频服务。任何教育网内的用户都可以通过Portal 来登录系统,注册、使用观看视频。系统为校园网内的用户通过多播路由器提供多播服务,校园网以外教育网以内的用户可以通过教育网享受系统单播方式提供的流媒体服务。
2.2 系统配置
2.2.1 编码服务器的配置
微软的Windows Media Encoder 是一款免费的编码软件,提供采集、格式转换、屏幕捕捉和编码系统性能控制等功能。
(1) 编码器的硬件平台
由于提供高质量的编码需要耗用更多的计算机处理能力,因此我们通过配置高速多处理器的计算机和高效率的压缩卡来有效分担编码负载。在系统中我们选用配置了双路2. 4GHz Xeon 处理器和1Gb物理内存的PC 服务器作为编码器的硬件平台。采集设备选用了同方视讯公司的DRC - Stream 1000/ 1500 系列广播级流媒体视音频采集卡,该采集卡具有双路视频处理通道和4路音频处理通道,支持Microsoft MWV,WMA, AVI 输出格式,能以多种流媒体压缩格式处理两路完全不同的动态视频源。
(2)编码器的编码压缩方式
Windows Media Encoder 提供专门针对流媒体服务器流式处理的恒定多比特率视频和音频压缩方案供用户选择。这种编码压缩方式能控制流的比特率在传输过程中基本保持恒定并且自适应目标带宽。 (3) 编码器的数据传输方式
编码器服务器提供直播内容时,可以选择推传递和拉传递两种方式实现数据流在编码服务器和流媒体服务器之间的传输。采用推传递还是拉传递依赖于具体的网络环境和用户访问状况。
(4)校园网内用户发布点采用推传递
针对内网用户访问数量多,网络传输条件好和网络连接可控的特点我们应该尽可能选择推传递方式。采用推传递方式,必须在编码器输出选项中指明流媒体服务器地址和发布点,编码器将通过HTTP 协议主动建立与运行WMS 的流媒体服务器的连接。
(5)校园网外用户发布点采用拉传递
外网用户访问数量往往较少,而且分布状况和网络带宽环境变化都比较大,这种条件下拉传递是一个好的选择。
2.2.2 流媒体服务器的配置
(1)创建广播发布点
发布点就是用户访问流媒体数据的入口标识。Windows Media Server 使用发布点将客户端对内容的请求转换为安置该内容的服务器的物理路径。根据媒体类型的不同,系统提供了点播和广播两种发布点。实时直播系统是一种实况播出,所以我们采用广播发布点的方式。采用这种方式意味着用户只能被动接收,不能控制。
(2) 根据用户类型选择发布方式
创建发布点时,还要考虑如何传递内容,例如,是以单播流方式还是以多播流方式传递内容。利用单播流,客户端连接到Windows Media Server 以访问内容;利用多播流,服务器向网络上的多播IP地址传输内容,所有客户端都访问该IP 地址(而不是连接到服务器) 来接收流,多播流传输类似无线广播电视的传播方式。 (3)数据传输协议
WMS 系统使用实时流式传输协议RTSP,以及超文本传输协议HTTP。WMS 采用控制协议插件的方式来提供传输协议支持,这种机制非常适合用户根据自己的需要来选择和开发适合自己网络软硬件平台环境的协议并将它方便的集成到WMS中来。RTSP 是实时流协议,该协议定义了应用程序如何有效地通过IP网络传送多媒体数据。使用RTSP 时,客户机和服务器都可以发出请求,即RTSP 可以是双向的。RTSP 是应用级协议,控制实时数据的发送,其目的在于控制多个数据发送连接,并选择发送通道(如:UDP、多播UDP 与TCP)提供途径。
数据流在编码器和流媒体服务器间,在运行不同版本WMS的计算机间或被防火墙隔开的计算机间的分发以及从Web服务器上下载动态生成的播放列表则是通过HTTP 超文本传输协议实现的。
2.2.3 网络系统的配置
(1) 配置防火墙
防火墙除了要放开80 端口以满足用户访问Web服务器的需要外,还要开放TCP的554端口以允许用户使用RSTP 连接请求和UDP的5005 端口接收那些通过RTSPU传输内容的客户端发来的重发请求。客户端和服务器之间的数据传输还会用到UDP端口1024 - 5000向Windows Media Player播放器和其他客户端发送数据。
(2) 配置路由
为了节省网络资源,我们提供广播发布时应该尽可能地使用多播流。要进行多播,必须在网络上启用多播转发,因此网络必须使用多播路由器。多播路由器能够解释D类IP地址, 并使用Internet组管理协议(IGMP) 将客户端路由解析到多播IP 地址。多播IP地址范围是:224. 0. 0. 1 到239. 255.255. 255。
要启用IP多播,我们必须在播放机和服务器端以及中间的每个路由设备(包括防火墙) 上启用此IP多播地址范围。
3. 系统性能评测
本文主要对整个流媒体系统的性能进行评测。为了能正确的反应整个流媒体系统的性能,需要合适的性能指标。这一节首先介绍了本文关心的一些性能指标,然后针对整个部署好的系统测试了这些性能指标。
服务器配置情况:
操作系统:windows 2003 server
CPU:双CPU 2.0G
内存:2G
网卡:100Mbps
3.1 流媒体系统性能指标
一个完整的流媒体服务器随着用户连接数的改变性能指标也有很大改变,我们本实验主要讨论随着用户连接数的改变,点播和广播方式下用户网络连接时间和响应时间的改变。
3.2 实验结果
以下的实验就在点播模式的连接时间系统上进行,主要测试了连接建立时间、响应时间和最大用户数这三项指标。 该视频点播系统将用户分为两类:
1. 校园网以内用户,系统采用广播方式提供服务
2. 校园网以外用户,系统采用点播方式提供服务
两种类型的用户代表了两种类型的服务提供方式,以下就这两种类型都进行了测试和数据分析。
3.2.1 点播方式的实验
以在校园网以外教育网以内的用户进行测试。描述了校园网外用户使用系统时的连接建立时间。
平均连接建立时间为0.0075s,以点播的方式提供服务,连接建立时间在0.007 和0.008之间动荡,除了少数几个点外,其他的基本围绕0.0075。可以看出,整个系统还是比较稳定的。
平均响应时间0.5672s,从图4 中可以看出,响应时间也基本围绕平均响应时间上下波动。
3.2.2 广播方式的实验
在校园网内,流媒体系统以广播方式为用户提供服务。我们测试了不同用户数目下的连接建立时间、响应时间。从测试数据中,可以得出以下的结论:
(1)随着用户数目的增加,连接建立时间基本不变。
(2) 响应时间随着用户数目的增加也迅速增加。这是因为,虽然用户连接到服务器的时间基本恒定,但是服务器处理用户请求需要的能力有限。服务器需要根据一定的请求处理算法,对到达的用户请求进行排队处理。当用户数目增多时,请求队列也响应的变长,这就造成了平均响应时间的增加。
(3)总带宽随着用户数目的增加也迅速增加。显然,当更多的用户请求视频服务时,需要更大的带宽来满足视频服务需求。
4. 结束语
随着网络带宽的发展,流媒体技术得到越来越广泛的应用。流媒体在视频点播中已经得到广泛应用。当许多用户并发使用时,流媒体服务器的性能也得到越来越广泛的关注。在网络带宽一定的条件下,本文深入探讨了用户数不断增多的情况下用户连接建立时间和响应时间的改变,在用户数不断增多的情况下,响应时间越来越长。
分享到:
相关推荐
《流媒体服务器存储子系统高性能I/O接口的研究与实现》一文深入探讨了如何在流媒体服务器的存储子系统中实现高性能的I/O接口,以克服磁盘I/O瓶颈,提升流媒体服务的效率和质量。 #### 系统结构与实现方案 流媒体...
这个压缩包包含了四个关键文档,分别是"darwin分析.doc","QTSS中文文档","流媒体服务器架设论文.doc"以及"RTSP简介.doc",这些文档深入探讨了Darwin流媒体服务器的核心组件和技术。 首先,"darwin分析.doc"是关于...
【摘要】本文探讨了一种基于Linux内核优化流媒体服务器性能的方法。通过改进流媒体服务器的系统架构,将频繁进行的I/O操作下放到Linux内核中实现,利用共享内存的方式实现内核与用户进程间的通信,从而减少用户进程...
本文将深入探讨live555流媒体服务器的核心特性、工作原理以及在实际应用中的价值。 一、live555流媒体服务器概述 live555 Streaming Media是由live555公司开发的一套开源流媒体服务器软件,其最新版本为8月16日...
这种方法尤其适用于测试流媒体服务器的核心性能指标,如并发用户数量和响应时间。由于涉及到大量用户并发,实际互联网环境下的测试成本高昂且数据收集困难。文章建议使用StreamingMediaTester软件作为模拟用户工具,...
本文将深入探讨Spook流媒体服务器的核心概念、工作原理以及与RTSP和RTP的关系。 首先,我们需要理解什么是流媒体。流媒体是指在网络上连续传输音频和视频数据,使得用户可以边接收边播放,无需等待整个文件下载完毕...
本文将深入探讨如何利用 Windows Server 2003 搭建流媒体服务器,并了解相关的核心概念和技术。 首先,我们要明确流媒体与传统下载观看的区别。流媒体技术允许用户在文件完全下载之前就开始播放,这得益于可变带宽...
在本文中,我们将深入探讨RTSP(Real-Time Streaming Protocol)分布式流媒体服务器及其在视频直播项目中的应用。 RTSP是一种网络协议,专门设计用于控制多媒体数据的播放。它不同于HTTP(超文本传输协议),HTTP...
本资料主要探讨了如何设计并实现一个支持H264编码的实时流媒体服务器,下面将对这一主题进行深入解析。 首先,我们要理解H264编码的重要性。H264,也称为AVC(Advanced Video Coding),是目前广泛应用的视频压缩...
《流媒体服务器-SRS详解》 流媒体服务器在现代互联网应用中扮演着至关重要的角色,尤其是在实时音视频传输领域。SRS(Simple Realtime Server)作为一个开源的流媒体服务器,因其简洁高效的设计,广泛应用于直播...
在标题提到的这个自整合的流媒体服务器中,开发者可能已经集成了一些网络资源,并添加了自定义代码和动态库文件,以提高性能和易用性。 RTMP(Real Time Messaging Protocol)是一种广泛用于视频直播的协议,由...
本文旨在探讨如何构建一个自定义的流媒体服务器,并在此基础上实现流媒体传输的核心协议——RTP/RTCP。 #### 二、流媒体技术简介 ##### 2.1 “流”的定义 在网络中传输视频和音频有两种主要方式:下载和流式传输...
本文将深入探讨WMV(Windows Media Video)流媒体服务器的实现,主要基于提供的VC(Visual C++)源码进行分析。 WMV是微软开发的一种数字视频编码格式,广泛应用于网络流传输。它具有高效的压缩算法,能够在保持...
MPEG4编码器(mpeg4encsrc)和解码器(mpeg4decsrc)是实现MPEG4流媒体服务器的核心组件。编码器负责将原始的音视频数据转换成MPEG4格式,而解码器则负责将接收到的MPEG4数据还原为可播放的形式。这两个模块通常需要高度...
本文将围绕这些主题,深入探讨流媒体服务器的相关知识点。 首先,RTP(Real-time Transport Protocol)是一种网络协议,用于传输音频、视频和其他实时数据。RTP通常与RTCP(Real-time Transport Control Protocol)...
本文将深入探讨流媒体服务器的基础知识,包括其组成部分、工作原理以及常见的服务器架构。 流媒体服务器主要由三大模块构成: 1. 信令处理模块:这个模块负责与客户端进行通信,管理用户请求,如播放、暂停、快进...
本文主要探讨的是如何在Linux环境下,通过优化的异步事件驱动框架提升流媒体服务器的性能和可扩展性。 异步事件驱动框架是服务器系统模块化的核心。这种框架允许动态装载多种流媒体协议管理模块、文件管理模块以及...