邱培呸呸呸 发表于 2014-4-10 10:05:22

基于Windows Media技术的流媒体系统的设计与实现

摘要:本文在简介流媒体技术及其中的Windows Media技术的基础上,结合实际简述了Windows Media服务器的安装、ASF文件的制作以及“点播单播发布点”、“广播单播发布点”、“多播广播站”的创建方法,并通过网页链接等方式进行了相关测试,从实践角度阐述了在网络中实现流媒体服务的技术和方法。

关键词:Windows Media流媒体 网络视频

笔者利用Windows 2000 Server自带的Windows Media Service搭建了一个环境,经过一番努力,终于实现了流媒体服务。欣喜之余,谨愿将这些探索并经验与读者共享;
1.流媒体技术概述
流媒体简单地说就是应用流式传输技术在Internet/Intranet上传输的连续时基媒体,如:音频、视频或多媒体文件。流式媒体在播放前并不下载整个文件,只将开始部分内容存入内存,流式媒体的数据流随时传送随时播放,只是在开始时有一些延迟。流媒体实现的关键技术就是流式传输。流式传输主要指通过网络传送媒体(如视频、音频)的技术总称。其特定含义为通过Internet将影视节目传送到PC机。流媒体技术是包含了采集、编码、传输、储存、解码等多项技术的综合技术。
2. Windows Media技术简介
2.1特点
Microsoft公司推出的Windows Media技术具有方便性、先进性、集成性、低费用等特点,而且其制作、发布和播放软件与Windows NT/2000/9x集成在一起,不需要额外购买。Microsoft的流视频解决方案在Microsoft视窗平台上是免费的,制作端与播放器的视音频质量都上佳,而且易于使用。
2.2Windows Media播放方式
Windows Media播放方式包括单播、多播、点播与广播,并可组合为点播单播、广播单播、广播多播等播放方式。它们的含义如下表所示:
播放方式      含义
单播      是客户端与服务器之间的点到点连接。在客户端媒体服务器之间建立一个单独的数据通道,1台服务器送出的每个数据包只能传送给1个客户机。
多播      是通过启用多播的网络传递内容流,网络中的所有客户端共享同一流。由多播技术构建的网络,允许路由器一次将数据包复制到多个通道上。采用多播方式,媒体服务器只需要发送一个信息包,所有发出请求的客户端即可同时收到连续的数据流而无延时。多播不会复制数据包的多个拷贝传输到网络上,也不会将数据包发送给不需要它的那些客户,保证了网络上多媒体应用占用网络的最小带宽,是理想的播放方式。
点播      是客户端与服务器之间的主动的连接。用户通过选择内容项目来初始化客户端连接。用户可以开始、停止、后退、快进或暂停流。点播连接提供了对流的最大控制,但这种方式由于每个客户端各自连接服务器,却会迅速用完网络带宽。
广播      指的是用户被动接收流。在广播过程中,客户端接收流,但不能控制流。例如,用户不能暂停、快进或后退该流。广播方式中数据包的单独一个拷贝将发送给网络上的所有用户,而不管用户是否需要。此种传输方式会非常浪费网络带宽。

组合播放方式      含义
点播单播      客户端连接到服务器以接收特定内容,而该内容也只传往一个客户端。用户可以控制流。
广播单播      客户端通过发布点上的别名访问流。用户可单击 Web 网页上的链接或获得该别名的 URL,从而连接到流。每个连接到流的用户都有其自己的连接和来自服务器的流。
广播多播      被动的用户通过监视特定的 IP 地址接收多播 ASF 流(与以特定频率从收音机或电视台接收信号类似)。

2.3Windows Media视频技术组成
Windows Media视频服务器系统包括以下几个部分:Windows Media服务器组件、Windows Media工具、Windows Media Player。
2.4Windows Media编码器
Windows Media编码器用于转换实时和存储的视频和音频内容为ASF流,然后通过Windows Media服务器在网络中传送。   
2.5Windows Media Player
Windows Media客户端软件称为Windows Media Player,由Windows Media服务器接收并播放流内容。Windows Media服务使用Windows Media Player以播放包含视频、音频、图像、URL和脚本内容的ASF流。Windows Media Player 9系列是最新版本。
2.6Microsoft高级流格式ASF简介
Microsoft公司的Windows Media的核心是ASF(Advanced Stream Format)。 Microsoft将ASF定义为“同步媒体的统一容器文件格式”。ASF是一种数据格式,音频、视频、图像以及控制命令脚本等多媒体信息通过这种格式,以网络数据包的形式传输,实现流式多媒体内容发布。
3.Windows Media校园流媒体系统的设计
3.1 网络结构设计
Windows Media流媒体系统包括服务器端和用户端两部分。服务器端包括Windows Media服务器、制作计算机。Windows Media服务器用于存储和发布流媒体信息。制作计算机安装视频采集卡、声卡及摄像机,用于制作流媒体文件。用户端安装Windows Media Player软件。数据传输依托校园网。
3.2软硬件要求
3.2.1服务器
服务器硬件配置一般是PIII400以上CPU,内存在128~512M左右。操作系统Windows 2000 Server及Windows Media服务组件。
3.2.2制作计算机
制作计算机硬件配置一般是PIII400以上CPU,内存在128~512M,需要声卡、视频采集卡以及VCD或录像机。软件为Windows 98或Windows 2000 Professional,安装Windows Media编辑工具4. Windows Media校园流媒体系统的实现
4.1Media服务器的安装
笔者所用微机(P4 1.8G,256M)已连入校园网,并能上因特网,操作系统为Windows 2000 Server,并添加了“Windows Media服务”和“Internet信息服务(IIS)”。
由于学校条件所限,笔者所用的Media服务器和制作计算机暂时为1台微机。网上下载并安装Windows Media 9系列的中文版播放器和编码器,下载网址为:http://www.microsoft.com/windows/windowsmedia/download/default.asp
4.2ASF文件的制作
笔者在微机上安装了Broadway视频采集卡,并通过录像机采集了两段AVI格式的录像,分别命名为LX1.AVI和LX2.AVI。通过Windows 2000 Server自带的编码器Windows Media Encoder可以很容易地将两个AVI文件转换为ASF文件:LX1. ASF、 LX2. ASF。在F盘上建立文件夹ASF,将两个ASF文件存入(为表述方便,文中所用文件名、路径、计算机名称、IP等,皆为笔者实际实验过程所用,读者可根据自己实际环境确定这些内容)。也可用Windows Media编码器9系列存为WMV格式文件,但要求客户端播放器必须为7.0以上版本4.3使用“快速启动向导”创建“点播单播发布点”
在F盘上建立文件夹“asx”并设为共享,以便在后续操作中放置“.asx”通知文件。
在 Windows Media 管理器菜单框中单击“单播发布点”,出现“单播发布点”页。确保选择了“使用向导创建新的点播单播发布点”复选框,单击“点播”,然后单击“新建”, 出现“配置和发布单播点播流快速启动向导”。
在“选择一个发布点”屏幕中,选择“创建一个发布点”。在“创建一个新的发布点”屏幕中,在“别名”框中键入别名为“asf”。在“路径”框中,键入“F:\asf\”。在"查找目标 .asf 文件"屏幕,输入“F:\asf\lx1.asf”。在“选择发布方法”屏,选择“MMS协议”和“创建一个.asx文件”,然后选择 “下一步”。在“准备发布”屏幕中,选择 “完成”。
将“lx1.asx”通知文件保存到“F:\asx\”里面。在“发布完成”屏幕中,单击“测试 URL”、“测试 .asx”可以在 Windows Media Player 中传递点播单播发布点的流式化内容“lx1.asf”。
4.4 “广播单播发布点”的创建
4.4.1启动“Windows Media编码器9系列”的广播功能,步骤如下:
打开视频采集设备,启动“Windows Media编码器9系列”。在“新建会话”窗口中选择“广播实况事件”,按“确定”。
在“新建会话向导”窗口的“设备选项”屏中,“视频”选择“Broadway MPEG Capture/compression”(笔者的微机视频采集卡型号),“音频”选择“Realtek AC97 Audio”(笔者的微机声卡型号),按“下一步”。在“广播方法”屏中,选择“自编码器拉传递”,按“下一步”。在“广播连接”屏中,HTTP端口设为“8080”,按“下一步”。在“编码选项”屏中,选择“多比特率视频和音频”,按“下一步”。在“存档文件”屏中,按“下一步”。在“包括视频文件”屏中,按“下一步”。在“显示信息”屏中,随便输点东西(最好有意义),按“下一步”。在“设置检查”屏中,按“完成”。
在“Windows Media编码器9系列”程序窗口中,按“开始编码”,“Windows Media编码器9系列”开始工作,在窗口中可看到其采集画面和相关信息。
4.4.2使用“快速启动向导”创建“广播单播发布点”
在 Windows Media 管理器菜单框中单击“单播发布点”,会出现“单播发布点”页。确保已选择了“使用向导创建新的广播单播发布点”复选框,单击“广播”,然后单击“新建”,会出现“配置和发布单播广播流快速启动向导”。
在“选择发布点”屏幕中,选择“创建一个广播发布点”。在“指定源”屏幕中,为广播内容选择源为“Windows Media 编码器”。在“配置和发布单播流”屏幕中,在“别名”框中键入一个别名“test”。然后在“路径”框中键入路径“http://mediaserver”(笔者的计算机名为mediaserver,IP为10.10.214.161), “端口”框中的值设为“8080”。在“选择发布方法”屏,选择“MMS协议”和“创建一个.asx文件”,然后选择 “下一步”。在“准备发布”屏幕中,选择 “完成”。
将“test.asx”通知文件保存到“F:\asx\”里面。在“发布完成”屏幕中,单击“测试 URL”、“测试 .asx”,可以在 Windows Media Player 中传递广播单播发布点的流式化内容。
4.5 使用“快速启动向导”创建“多播广播站”
在F盘上建立文件夹“nsc”并设为共享,以便在后续操作中放置“.nsc”广播站信息文件。
在 Windows Media 管理器菜单框架中,单击“多播站”,相应显示为多播广播站页。确保已选择了“使用向导创建新广播站”复选框,单击“广播站”,然后单击“新建”,出现“配置和发布多播流快速启动向导”。
在“选择一个广播站”屏幕上,选择“创建新的广播站”。在“创建新的广播站”屏幕上,键入广播站的名称“guangbo1”和说明(随便填),然后选择“分发模式”为“多播和分发”,按“下一步”。在“指定节目和流名称”屏幕上,在“节目名称”中键入节目的名称“myProgram1”,在“流名称”中键入流的名称“myStream1”。 在“指定流对象来源”屏幕上,选择流的来源为“高级流格式(.asf)文件”。在“指定流对象来源 URL”屏幕上,键入流的来源 URL“mms:// mediaserver /asf/lx2.asf”。在“指定流格式信息”屏幕上,指定流来源的路径为“F:\asf\lx2.asf”,以便将流格式信息添加到广播站定义中。
将多播广播站信息文件(guangbo1.nsc)存储到 Microsoft Windows Media Player 可以访问的位置。在“广播站信息文件的导出路径”屏幕上,键入“F:\nsc\guangbo1.nsc”。在“广播站信息文件 URL”屏幕上,选择“使用一个到广播站信息文件的网络共享路径”并输入“\\ mediaserver \nsc\guangbo1.nsc”。 在“选择发布方法”屏幕上,按“下一步”。在“准备发布”屏幕中,按“完成”。
将guangbo1.asx保存到F:\asx里面。在“发布完毕”屏幕上,单击“测试 .asx”,开始在 Windows Media Player 中播放由广播站发送的内容流。
4.6 建立默认Web站点虚拟目录
启动“Internet信息服务”窗口,点开服务器名“mediaserver”前的“+”号,再右击“默认Web站点”,打开其快捷菜单。在快捷菜单中,点“新建”中的“虚拟目录”,启动“虚拟目录”创建向导,按“下一步”。在“虚拟目录别名”屏中,输入别名“asx”,按“下一步”。在“Web站点内容目录”屏中,输入“F:\asx”,按“下一步”。在“访问权限”屏中,按“下一步”。在“Web站点内容目录”屏中,输入“F:\asx”,按“下一步”,再按“完成”,结束向导。
4.7使用网页链接进行测试
启动“Microsoft Frontpage”程序窗口。将网页保存到“F:\asx”里面,起名为“index.htm”。
插入一个九行两列的表格。在第一行输入“1.请测试“点播单播发布点”:”,在第二行第一列输入“点播单播一”,链接到http://mediaserver/asx/lx1.asx;在第二行第二列输入“点播单播二”,链接到http://10.10.214.161/asx/lx1.asx;在第三行第一列输入“点播单播三”,链接到mms://mediaserver/asf/lx1.asf;在第三行第二列输入“点播单播四”,链接到mms://10.10.214.161/asf/lx1.asf。分别试验四种访问方法在第四行输入“2.请测试“广播单播发布点”(要先启动“Windows Media编码器9系列”的广播功能):”,在第五行第一列输入“广播单播一”,链接到http:// mediaserver /asx/test.asx;在第五行第二列输入“广播单播二”,链接到http://10.10.214.161/asx/test.asx;在第六行第一列输入“广播单播三”,链接到mms:// mediaserver /test;在第六行第二列输入“广播单播四”,链接到mms://10.10.214.161/test。分别试验四种访问方法。
在第七行输入“3.请测试“多播广播站”(要在“多播广播站”中先启动节目):”,在第八行第一列输入“广播多播一”,链接到http:// mediaserver /asx/guangbo1.asx;在第八行第二列输入“广播多播二”,链接到http://10.10.214.161/asx/guangbo1.asx。分别试验两种访问方法。
在任一台联入校园网的微机上输入http://10.10.214.161/asx/index.htm,均可访问该网页。通过点击,可访问“点播单播”、“广播单播”、“广播多播”等媒体流。提请读者注意,笔者的IP只在淄博市内使用,在没有启用多播和路由访问的网络中,以上媒体流可能会访问不到。
4.8 实验效果
在笔者所在学校的校园网环境中(近50台微机,主干网100M,桌面10M),每一台微机均能访问笔者所做的流媒体服务器并能较流畅地播放“点播单播”、“广播单播”、“多播广播”等媒体流,并发访问的客户端在20台以内为宜。学校拍摄的许多教育教学录像,经笔者进行处理并通过流媒体服务器提供对全校的播放服务,受到了全校师生的欢迎,取得了很好的效果。

参考文献
Microsoft Corportion, “Windows 2000 Server 配置服务器帮助”, 2000.
吴国勇、邱学刚、万燕仔编著,《网络视频流媒体技术与应用》,北京邮电大学出版社,2001.
刘晓平、孔明光、吴斌编著,《Windows2000中文版实用教程----Server篇》,中国水利水电出版社,2000
页: [1]
查看完整版本: 基于Windows Media技术的流媒体系统的设计与实现