组播服务器搭建
Ⅰ 怎样实现IGMP组播协议
你能够在不使用组播协议的情况下进行组播路由吗?换句话说,你能简单地把组播数据包发送到一个地址吗? 先提供一点背景知识。从一个源点向多个接收者发送同样的信息有三种主要的方法。需要这种技术的最普通的应用是桌面视频会议。在视频会议中,一个发送的信息将发送给多个接收者。首先是单播,单个数据包发送给每一个预定的接受者。这种方法浪费带宽和资源。发送一个单一的广播数据包到网络的所有端口这种广播方式可以解决浪费带宽的问题。然而,由于有广播业务,所有的主机不管是否需要都要接收这些信息。因此,建立了组播协议。组播协议仅向加入组播组的网络中的一组主机发送信息流。 RFC 1112(IP多点传送的主机扩展)中规定的互联网组管理协议(IGMP)是IP组播标准。为了保证组播在网络上顺利执行,所有连接的设备都要求网络硬件支持IGMP。 为了解决这个问题,有很多方法为直接连接到交换机的那些没有直接支持IGMP的设备创建支持IGMP的功能。在交换机中安装一个IGMP服务器。这个服务器监听和接收组播组信息并且把组播信息流发送到指定的接收者。多平台和操作系统支持IGMP服务器配置。然而,这个解决方案不适合多个设备,只能在有限的基础上予以考虑。
Ⅱ ip组播技术的实现原理
组播的地址
IP组播和单播的目的地址不同,IP组播的目的地址是组地址——D类地址.
D类地址是从224.0.0.0到239.255.255.255之间的IP地址
其中224.0.0.0到224.0.0.255是被保留的地址
224.0.0.1表示子网中所有的组播组
224.0.0.2表示子网中的所有路由器
224.0.0.5表示OSPF(Open Shortest Path First)路由器
224.0.0.6表示OSPF指定路由器
224.0.0.12表示DHCP(Dynamic Host Configuration Protocol)服务器.
D类地址是动态分配和恢复的瞬态地址.每一个组播组对应于动态分配的一个D类地址;当组播组结束组播时,相对应的D类地址将被回收,用于以后的组播.在D类地址的分配中,IETF建议遵循以下的原则:
全球范围:224.0.1.0~238.255.255.255;
有限范围:239.0.0.0~239.255.255.255;
本地站点范围:239.253.0.0~239.253.0.16;
本地机构范围:239.192.0.0~239.192.0.14.
D类的地址空间是专为IP组播地址而定义的。每个组播地址都落在从224.0.0.0到239.255.255.255的空间范围内。该地址空间中的一部分被保留,被某些特殊的组功能、一些人们熟知的组播应用以及某些管理范畴的组播程序所使用。其余的地址部分可在需要进行组播传送时动态分配。
IP组播抵制可以被映射到电气电子工程师协会(IEEE)所规定的802MAC组播地址上。这种映射的实现过程时,取出IP组播地址的低23位,并将其添加导游IANA制定的特殊前缀01-11-5E之后。将IP组播组的地址映射到IEEE802MAVC层的组播地址,是需要进行组播传送的主机能够利用某些网络接口卡的硬件组播功能。D类地址的格式如图2
因为D类IP的前5个比特是不被使用的,所以映射可以将多个IP所点广播组关联到同一个IEEE-802地址。因此,D类IP地址映射到有效的MAC层多点广播地址的比率为32:1。例如IP主机组地址224.10.8.5和234.138.8.5有相同的01-00-5E-0A-8-5的MAC地址。
可是,因为它们有不同的IP主机组地址,所以这两组仍保持独立。
组播地址的获取方式有两种,即静态获取和动态获取。
动态获取时会议系统用到的组播地制只在运行时临时确定。动态获取组播地址的方法大概有三种:通告方式、算法推导方式、Internet组播地址动态分配体系结构(RFC2908)。通告方式获取:当会议系统建立时,先侦听10-20分钟左右,以确定当前已使用的组播地址,防止冲突。算法推导:根据本地的特殊条件,通过一定的算法,求出当前使用的组播地址。采用上述三种方式获取组播地支可有效防止地址冲突问题。虽然比较复杂,也较耗费资源,但是有利于将来的多媒体应用的扩展。
静态获取指在会议系统中设置好组播地址,以后永远不变。这种方式虽然比较简单,但是如果有两个此类系统运行,或使用相同组播地址的不同系统运行(由于没有统一管理组播地址,开发商互相不知道),那就会出现无法解决的冲突。因此如果要采用这种方式,需将各个监控系统所用的组播地质记录在案,以便为今后开发更多的组播应用时分配合适的地址。
组播数据流路由
要想在一个实际网络中实现组播数据包的转发,必须在各个互连设备上运行可互操作的组播路由协议。组播路由协议可分为:组管理协议(IGMP)、密集模式协议(如DVMRP,PIM-DM)、稀疏模式协议(如PIM-SM,CBT)、和链路状态协议(MOSPF)。
组播用户通过IGMP加入组播组,用户可以登记加入多个组播组和用户直接相连的组播路由器。如果用户已经退出组播组或关机,则组播路由器会自动地在组播树上进行剪枝和嫁接的过程,以保证组播信息的到达以及网络带宽的合理利用。
组播路由的关键是为每一个组播组建立组播树,组播树的形成可根据组播协议的不同而不同。目前有两种构建组播树的技术:源组播树和共享树。源组播树是通过一向被称为反向路径转发(RPF)的技术而构造出来的。如果数据包到达了一条本地路由其认为是回到数据包源去的最短路经链路,路由器将向除进入接口之外的所有其它接口转发该数据包。如果数据包到达的接口不再返回到源去的最短路经上,那么该书举报将被丢弃。这种方法为每个潜在的源或子网建立一个组播树。这些组播树产生于与源站点直连子网的、基于源的传送树。共享书使用分布中心并建立单个多点广播树。共享树算法建立一个被组内所有成员共享的共享树,它允许对不同的组定义不同的共享树。
源组播树是从信息员开始构建组播树,而共享树是通过一个中心形成到各组播组成员的组播树,组播源将有关信息发送到中心点进行组播。源组播书适用于组播的站点比较密集、组播数据比较多的情况,可以使每一个组播树数据报都能够以最优的方式到达接收站。密集模式下的典型路由协议是密集模式下的独立组播PIM-DM(Protocol-Inde-pendent Multicast-Dense Mode )、开放最短路经路由协议的组播扩展MOSPF(Extensiom to Open Shortest Path First )。共享书适用于组站点比较稀疏、组播数据比较少的情况,可以减少路由器的路由信息交换和形成的开销。目前,流行的稀疏模式组播路由协议是稀疏模式下得PIM-SM协议(Protocol-Independent Multicast-Sparse Mode)和有核树CBT(Core-Based Trees)。
Ⅲ 如何在局域网使用组播(多播).
1、交换机开启多播功能。
2、ghostsrv和客户端的ghost要求版本同一。
3、最好先用ghostsrv采集母盘,成功率比较高。
组播(Multicast)传输:在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包。它提高了数据传送效率。减少了骨干网络出现拥塞的可能性。
Ⅳ 谁能告诉我如何搭建局域网影视点播VOD服务器
酷播局域网版VOD视频点播系统
http://bbs.mycoolplayer.com/forum.php?mod=forumdisplay&fid=44&page=1
酷播自横空出世时, 就以行业首创的云视频技术, 深得用户的拥护和爱戴.现酷播局域网视频点播方案, 又再专门针对局域网特性研创出性能卓越的微云技术体系(基于组播, 低网流假泛洪, 融合智能多维立体环网元定位技术的微云体系), 实现高效的网络寻址, 网元定位, 和数据交互。
Ⅳ 如何配置组播协议
win7系统设置支持ip组播:1、如图所示,在通知区域的网络图标上,单击右键,选择“打开网络和共享中心”选项。2、打开网络和共享中心后,单击“更改适配器设置”链接文字,在“网络连接”窗口双击打开要设置的网络连接。本例设置本地连接(默认情况下,有线网卡的连接名称为本地连接,无线网卡的连接名称为“无线连接”),因此直接双击“本地连接”图标即可。3、打开“本地连接属性”对话框后,有TCP/IPv4和TCP/IPv6两种协议供大家设置,由于现阶段TCP/IPv6协议还未普及,故本例双击“Internet协议版本4(TCP/IPv4)”项目。4、打开TCP/IPv4对应的“属性”对话框后,如图所示,选择“使用下面的IP地址”单选按钮,然后输入IP地址、默认网关和DNS服务器地址。
Ⅵ udp组播服务器地址填什么
地址使用的是D类IP地址(224.0.0.0到239.255.255.255)。
UDP组播的基本步骤:创建udp socket、bind、加入组播组、发送/接收数据、close。
组播传输:数据发送者(源数据)将同一数据发送到多个接受者(组播组成员)。无论有多少个接受者,在整个网络链路上,只有一份该数据(在特殊场合,可以节省带宽,减少主干网络阻塞)。
Ⅶ pppoe服务器怎么建立
1. 安装必要的windows组件
通过“控制面板”->“添加删除程序”->“添加删除windows组件”,选择“网络服务”中的“动态主机配置协议(DHCP)”和“域名系统(DNS)”来安装DHCP服务器和DNS服务器。要测试Web访问功能,还需要安装IIS服务器,通过选择“应用程序服务器”-》“internet信息服务(IIS)”即可安装。要测试对组播协议的支持程度,还需要安装流媒体服务器,通过选择“windows media services”中的全部选项即可安装。
2. 安装PPPoE协议
RASPPPoE是一个广为使用的PPPoE协议包,既可以用在PPPoE客户端,也可以用在PPPoE服务器端,和windows系统深度整合。
RASPPPoE当前版本为0.98B: http://www.raspppoe.com/RASPPPOE_098B.ZIP。下载后解压到某目录中。假定解压到c:\raspppoe目录中。
安装过程如下:
选择要提供PPPoE接入功能的网卡,打开属性窗口,点击“安装”按钮,选择“协议”并添加,选择“从磁盘安装”,选择c:\raspppoe\raspppoe.inf文件。这样就安装完毕了,在网卡的属性窗口中会出现“PPP over Ethernet Protocol”这种协议。
3. 配置PPPoE服务器IP地址
PPPoE服务器必须具有确定的IP地址,不能通过Wins或者是DHCP来动态地获取IP地址,这里我们设置成10.10.1.1,子网掩码为
255.0.0.0,网关和DNS都设置为10.10.1.1,亦即指向自身
4. 配置DHCP服务器
可以配置成任意范围,但一般配置成和PPPoE服务器在一个子网内,以方便拨号成功的客户端访问PPPoE服务器上的各种服务
5. 配置并启用路由和远程访问服务器
通过“管理工具”->“路由和远程访问”打开“路由和远程访问”的MMC控制窗口,进行如下操作:
右键选择“配置并启用路由和远程访问服务器”,安装如下选择路线操作:“远程访问(拨号或VPN)”->“拨号”->“自动”->“否,使用路由和远程访问对连接者进行身份验证”。
这样就完成了启动过程。还需要通过如下过程配置“远程访问策略”:
点击“远程访问策略”,点击右边主窗口中“到Microsoft路由选择和远程访问服务器的连接”,点击“编辑配置文件”。
选择“身份验证”配置页面,选中所有选项。
选择“加密”配置页面,选中所有选项。
6. 添加有远程拨号权限的用户
鼠标放在“我的电脑”上,选择右键菜单中的“管理”,选择“本地用户和组”->“用户”,选择右键菜单菜单“新用户”,输入“用户名”、“密码”、“确认密码”,取消“用户下次登陆时需更改密码”,选中“密码永不过期”。点击“创建”以创建用户。
一个用户创建完毕后,还需要修改如下配置:
双击刚刚创建的用户,打开属性设置对话框,选择“拨入”页面,选中“远程访问权限(拨号或VPN)”中的“允许访问”。
Ⅷ 怎样实现多台计算机的操作系统安装
如何使用GHOST对多台PC进行系统克隆?
利用GHOST多播自动配置工作站
所谓Ghost的多播功能,实际上就是把你“样机”中的.gho自动地恢复到你的所有工作站中去,特别是在各工作站配置相同的情况下,可以大大减轻组网者的工作量。以下,就由笔者带你一步步地来实现它。
说明:工作站端网卡均以RTL8139为例!服务器端网卡可为任意。
一、安装Ghost 6.0
1、准备工作
(1)选任意一台计算机作“多播服务器”,安装好所需的操作系统(比如Win98)及应用软件,并做好相应设置。
(2)软件下载(试用版)
http://www.enanshan.com/down/ghost6.zip(4,812K)
2、软件安装
在“多播服务器上”打开压缩包文件ghost6.zip,然后双击其中的setup.exe即可开始安装工作。在安装过程中,除了在某一步需要根据提示输入Name(用户名,可为任意内容)、Company(公司名,可为任意内容)和License Quantity(许可证数目,可为任意数目)等安装信息之外,其他均用其默认选项即可;结束后并不需要重新启动计算机。
当安装完成后,Ghost 6.0的系统文件将被放在C:\Program Files\Norton Ghost 6.0目录下;进入“开始→程序→Norton Ghost”中也可看到其相关组件。
二、Ghost多播的准备
1、得到.gho文件
在“多播服务器”上,选已安装组件中的Norton Ghost项,即可进入Ghost 6.0的主程序。再依次选其菜单中的“Local→Partition→To Image”,以对它的C盘进行备份。
提示:如果所有“多播工作站”的硬盘容量都一样的话,用“Local→Disk→To Image”选全盘复制的方法可能会更好!
2、制作工作站端启动软盘
准备好一张已格式化过(在DOS 6.22或Win98下均可)的软盘,将已安装目录中的Ghost.exe及RTL8139的网卡配置文件Rtspkt.exe均复制到软盘中,然后进入MS-DOS方式下,转到A盘进行如下操作:
(1)为每个“多播工作站”均建立一个扩展名为.cfg的文本文件(比如为1.cfg、2.cfg、3.cfg等),其内容包括ip=192.168.0.100、netmask=255.255.255.0及gateway=192.168.0.1三行。
注意:必须确保每个.cfg文件ip部分的最后一段均不相同;而其他部分均相同!
(2)再建立一个扩展名为.bat的批处理文件(比如为gg.bat),其内容包括rtspkt 0x60、set ghostip=%1.cfg及ghost三行。
当然:可以不用软盘,而复制到硬盘中去。
三、Ghost的多播
1、开启多播服务器
在“多播服务器”的相关组件中,选Multicast Server项开始设置。从上到下,先在Session Name(会议名)处输入任意内容(比如555);接着在Image(.gho映像文件)处输入或选择所要多播的.gho文件;紧接点选中Partition(分区)项,并选择好分区明细;最后按Accept Client(接受客户)按钮即可。
2、开启多播工作站
(1)用软盘启动,成功进入DOS后,再执行gg.bat 1(1将对应1.cfg)的命令行。
(2)等进入Ghost主程序,再选菜单中的Multicasting(多播)项,然后根据提示输入要加入的Session Name(比如为555),便可得到等待多播会议开始的工作界面。
再依次在每一台“多播工作站”上进行类似的操作即可。除了第二台为gg.bat 2、第三台为gg.bat 3等等外,其他步骤均和第一台的操作完成相同!
3、开始Ghost的多播
如果在“多播服务器”上已可以看到,所有工作站的IP地址(ip)均已显示在了列表中,则按Send(发送)按钮,即可正式开始多播工作!此时,各“多播工作站”端将会同时自动开始接受.gho文件到本机的恢复工作!
不知道你要安装win2000的计算机是不是都是一样的配置,如果都一样我可以提供一种比较好的方法。但这种方法一般新手都需要在虚拟机上练习几次。
如果你的计算机配置都一样大概有以下几步:
(1)安装好一台计算机。win2000操作系统以及各种驱动程序和你机器中常用软件。(一定要想好都装什么哦!要不你就得再一台一台的装了)
(2)在win2000系统安装盘中support\tools目录下有一个deploy.cab的打包文件。从里面提取出setupcl.exe、setupmgr.exe和sysprep.exe文件放在你安装好的计算机c:下。(建议你使用winXP安装盘下的这三个文件,比win2000下的好)
(3)执行setupmgr.exe进行系统前准备。在开始的选择中你应该选sysprep这个选项。以后就按照提示一步一步去做就行了。
(4)配置好setupmgr后,你可以在C:下看到生成了一个文件夹,好像是叫sysprep。 然后你执行sysprep.exe。这里的选项自己去摸索吧,比较简单。
(5)你在sysprep.exe里应该选择关机。关机后,你的母机就做好了。现在就可以将其它要安装win2000的计算机上的硬盘依次的插到这台计算机上,并使用Ghost进行磁盘对拷了。Ghost可以使用6.0以上的版本。
(6)最后就是把拷好的硬盘安装回原计算机,开机就好了。
不过,在这里应该强调的是:这个sysprep系统装备工具一般初用者用不好,所以得练习。
这只不过是一个方法而已。这种方法的好处在于它不用网络安装,相对来说安装比较快。你也许会问为什么要用sysprep系统准备工具呢?不用不行吗?回答是可以的。但如果你安装的多台计算机是在一个局域网中的,不用sysprep你的网络就会出现问题。不信你试试!:wink:
如何使用GHOST对多台PC进行系统克隆?
你可以做一张sysprofile的软盘,在重新安装完系统,当机器重启后,把这张盘装入就可以了。robber_z ,在安装光盘中SUPOORT/TOOL/DEPLOY.CAB解压这个文件,然后用一个sysprep.exe运行一下就可以把样本中的一些唯一的信息抽掉了?在此后再做ghost母盘?
Ⅸ 如果想开发一个像豆瓣电台的在线音乐电台(web版),需要怎么做
一、前言
随着越来越多的朋友开始选择ADSL、Cable Modem或FTTB+ LAN作为首要的上网方式,宽频时代即将到来,这使我们“宽频 KTV、影音聊天室、线上电影院、远程教育”的梦想即将成为现实,而与其密切相关的“流媒体(Streaming Media)”也成了许多人谈论的热门话题,因为“流媒体”正是实现这些宽频应用的技术动力。
宽频时代的到来还使得网民们不再满足于仅仅作为一项服务的受众,他们需要更大规模的交流,从中体现个体的价值,因此,许多朋友开始用自己的计算机,搭建网络广播和点播站点。他们充满着满腔的热情,但不可否认的是,中国网民先天技术上的不足,让他们在建设这样的站点时遇到重重险阻,以至于放弃。如何将这种热情在技术的引导下成为动力,这正是我们家用电脑所要做的,所以,在今天,在这里,我就将给大家介绍如何打造属于自己的流媒体服务器。
不过,在开始正式的流媒体服务器架设之前,请让我们先了解一下流媒体服务器的基础知识。
二、流媒体基础知识
什么是流媒体?
目前,在网络上传输音/视频等多媒体信息有两种解决方案,即http或ftp下载以及流式传输。
http或ftp下载使用标准的http和ftp协议,但由于多媒体信息个头巨大,下载一个多媒体文件一般需要几分钟或几小时的时间,这就造成为了看一个并不知道内容的视频,首先需要耗费可能比整个视频都要长的时间来完成下载。这些被下载的文件还必须在下载前制作完成,放在网络服务器上,这样造成的直接后果就是:网络带宽不断提高,人们下载的等待时间越来越少,但最终还是不能观看网上现场直播。
流式传输时,声音、影像或动画等多媒体信息由流媒体服务器向用户计算机连续、实时传送,它首先在使用者端的电脑上创建一个缓冲区,于播放前预先下载一段资料作为缓冲,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行观看。当多媒体信息在客户机上播放时,文件的剩余部分将在后台从服务器内继续下载。如果网络连接速度小于播放的多媒体信息需要的速度时,播放程序就会取用先前建立的一小段缓冲区内的资料,避免播放的中断,使得播放品质得以维持。
流式传输除了能够发送已经制作完成的文件外,还可以通过采集服务器实时采集现场音视频,推送到流媒体服务器端,实时提供给用户。因此,流媒体除了能够更好的承担如下载一样的多媒体点播服务外,更能够应用在现场直播、电视转播、突发事件报道等多种对实时性传输要求较高的领域。
有关流媒体的厂商
流媒体的市场巨大,世界上许多优秀的厂商都加入此行列,现阶段更是系统集成商竞争的风水宝地。而在通用市场上,竞争的公司主要有三个:Microsoft、RealNetworks、Apple,而相应的产品就是:Windows Media、Real Media、QuickTime。而近来,以开发Winamp着名的Nullsoft公司也在自己的MP3服务器中加入了视频支持,欲在流媒体市场分一杯羹。
由于Apple的服务器和编辑软件一般都以Mac为操作平台,Nullsoft的流媒体服务器属于新生不成熟事务,所以今天在这里我主要给大家介绍一下Microsoft和RealNetworks的产品。
流媒体的传输协议
大家在观看网上电影或者电视时,一般都会注意到这些文件的连接都不是用http或者ftp开头,而是一些rtsp或者mms开头的东西,为什么是这样呢?实际上,这些和http和ftp一样,都是数据在网络上传输的协议,只是它们是专门用来传输流式媒体的协议而已。下面,让我们来看一下现在使用的主要的流媒体协议:
1. RTSP(Real Time Streaming Protocol),实时流媒体协议,它是由RealNetworks和Netscape共同提出的,现在用于RealNetworks的Real Media产品中;
2. PNM(Progressive Networks Audio),这也是Real专用的实时传输协议,它一般采用UDP协议,并占用7070端口,但当你的服务器在防火墙内且7070端口被挡,且你的服务器把SmartingNetwork设为真时,则采用http协议,并占用默认的80端口;
3. MMS(Microsoft Media Server protocol),这是微软的流媒体服务器协议,MMS 是连接 Windows Media 单播服务的默认方法。
介绍了主要的三个,可能您还会问,Apple的QuickTime使用哪种协议呢?在多数情况下,QuickTime使用http协议,但实际上它也由标准的流媒体传输协议,这就是标准RTSP协议,而Real公司使用的RTSP是自己经过开发的。
在流媒体传输中,标准的协议就是RTP(Real time Transport Protocol,实时传输协议)、RTCP(Real-time Transport Control Protocol,实时传输控制协议)、RTSP(Real Time Streaming Protocol,实时流媒体协议)和RSVP(Resource Reserve Protocol, 资源预订协议),厂商们的产品都是在这些协议的基础上进行研究与开发,限于篇幅,在这里我们就不再深入讨论了。
流媒体文件和发布格式
有了实时的传输协议,我们应该还能够想到,只有较小的文件才适合网络实时传输,那么,流媒体文件采用了什么样的压缩算法呢?
而使用Windows操作系统的朋友可以看到,我们观看网上流节目时,它们的后缀名一般是rm、asf、wmv等,这些就是流媒体的格式。流媒体文件格式经过特殊编码,不仅采用较高的压缩比,还加入了许多控制信息,使其适合在网络上边下载边播放,而不是等到下载完整个文件才能播放。
常见的流媒体格式大致有以下几种:
流媒体文件格式扩展(Video/Audio) 媒体类型与名称
asf Advanced Streaming format. (Microsoft).
rm Real Video/Audio 文件 (Progressive Networks).
ra Real Audio 文件 (Progressive Networks).
rp Real Pix 文件 (Progressive Networks).
rt Real Text 文件 (Progressive Networks).
swf Shock Wave Flash (Macromedia).
mov QuickTime(Apple公司格式)
viv Vivo Movie 文件(Vivo Software).
另外还有一个wmv格式,是Windows Media Video的简称,它与asf文件有稍许区别,wmv一般采用window media video/audio 格式,asf视频部分一般采用Microsoft MPG4 V(3/2/1?),音频部分是windows media audio v2/1,不过现在很多制作软件都没有把它们分开,所以直接更改后缀名就能够互相转换为对方格式。
制作完成的流媒体文件需要发布到网络上才能够被别人使用,这就需要以特定方式安排压缩好的流媒体文件,而安排流媒体文件的格式就被成为流媒体发布格式。常见的发布格式主要有以下几种:
流媒体发布格式扩展 媒体类型和名称
asf Advanced Streaming format.
smil Synchronised Multimedia Integration Language.
ram RAM File.
rpm Embedded RAM File.
asx ASF Stream Redirector/ASF流转向器文件
xml eXtensible Markup Language
MPEG-4与流媒体
说到流媒体就不能不提及MPEG-4。MPEG-4是当前讨论的焦点之一,只因为它能够在大的压缩比下实现近似DVD品质的视频和音频效果,这也是许多朋友认为MPEG-4格式肯定比rm清晰的原因。但事实上并不是如此,MPEG-4只是一种视频编码技术,它的清晰度也根据压缩时所选择的码率的不同有较大的改变(我们见到的MPEG-4格式文件通常为500Kbps压缩生成,质量当然高了),并且,MPEG-4还有多种压缩标准,如Microsoft的asf视频部分就是基于MPEG-4的Discrete Cosine Transform (DCT),另外还有DivX的免费MPEG-4版本(开始是破解微软的格式而来)。至于音频部分,更是混乱,Microsoft采用windows media audio v2/1,DivX采用MP3或者更高质量的AC3等。相比而言,Real或者Apple的格式使用的是自己开发的编码,在相同码率,特别是低码率下,不见得就比MPEG-4差,采取高码率的rm格式照样清晰可人,所以大家以后说rm格式清晰度差的观念要改变一下:),至少也要加上条件。而且,最新的Helix Procer中的Real Video 9采用VP5压缩格式进行编码,这可比DivX优秀多了!
不过,流媒体服务器开始向MPEG-4格式靠拢是不争的事实,Real最新的Helix就开始支持mp4格式文件的服务,而RealOne Player更是只需安装一个插件便可实现MPEG-4格式的播放。
点播与广播
在架设流媒体服务器之前,我们一定要了解一些点播与广播的知识。
点播是客户端与服务器之间的主动的连接,在点播连接中,用户通过选择内容项目来初始化客户端连接,一个客户端从服务器接收一个媒体流(这个连接是唯一的,其它用户不能占用),并且能够对媒体进行开始、停止、后退、快进或暂停等操作,客户端拥有流的控制权,就像在看影碟一样。这种方式由于每个客户端各自连接服务器,服务器需要给每个用户建立连接,对服务器资源和网络带宽的需求都比较大。
广播指的是用户被动接收流。在广播过程中,客户端接收流,但不能控制流,用户不能暂停、快进或后退该流,广播使用的数据发送手段有单播与广播。使用单播发送时,服务器需要将数据包复制多个拷贝,以多个点对点的方式分别发送到需要它的那些用户,而使用广播方式发送,数据包的单独一个拷贝将发送给网络上的所有用户,而不管用户是否需要,上述两种传输方式会非常浪费网络带宽和服务器资源,因此产生了组播(多播)技术。
组播(多播)吸收了上述两种发送方式的长处,克服了上述两种发送方式的弱点,将数据包的单独一个拷贝发送给需要的那些客户,组播不会复制数据包的多个拷贝传输到网络上,也不会将数据包发送给不需要它的那些客户,保证了网络上多媒体应用占用网络的最小带宽。但组播不仅需要服务器端支持,更需要有多播路由器乃至整个网络结构的支持。
单播与组播(多播)
在上面我们已经了解了一些单播和组播的概念,这也是现在流媒体方面讨论的焦点之一。以我的认识,点播与广播是一组概念,它们和客户端媒体交互的手段;单播和组播又是另外一组概念,它们是流媒体数据在服务器端和网络上的传输方式。
单播发送时,需要在客户端与媒体服务器之间需要建立一个单独的数据通道,从一台服务器送出的每个数据包只能传送给一个客户机,每个用户必须分别对媒体服务器发送单独的查询,而服务器必须向每个用户发送所申请的数据包拷贝。这种巨大冗余会造成服务器沉重和网络带宽的沉重负担,响应需要很长时间,甚至出现不能服务的情况。单播可以用在点播和广播上。
组播发送时,服务器将一组客户请求的流媒体数据发送到支持组播技术的路由器上,然后由路由器一次将数据包根据路由表复制到多个通道上,再向用户发送。这时候,媒体服务器只需要发送一个信息包,所有发出请求的客户端都共享同一信息包,并且信息可以发送到任意地址的客户机,没有请求的客户机不会收到信息包,网络上传输的信息包的总量没有广播那么多,大大提高了服务器和网络线路的利用率。不过组播也有自己的特点,首先是必须要开始支持组播技术的路由器,另外就是一般只能用作广播,因为用作点播会存在用户控制问题。
好了,说了这么多,您可能都嫌我烦了,那么,就让我们开始架设流媒体服务器之旅吧。
三、流媒体服务器硬件准备
流媒体服务器和网站(Web)服务器一样,要经受许多人的同时访问,相比Web服务器来说,由于多媒体文件需要更强处理能力,其硬件设备应超越一般用于Web的服务器。所以,流媒体服务器最好满足以下硬件条件。
一颗强劲的“芯”。如果计算机CPU频率太低,处理能力过慢,电脑在被多用户访问时将我们无法进行其他任何操作(相信大家对那些网上视频点播的网站经常当机身有体会,我们和他们建立的是一样的服务器,只是规模小些罢了)。
大容量内存和硬盘。流媒体的制作和发送是系统资源的黑洞,拥有大容量内存是系统稳定运行的前提;而流媒体文件体积较大,大量的媒体文件需要更多的存储空间。建议内存至少256MB,硬盘80G以上。
占用系统资源少的声卡。好的声卡有助于CPU占用率的降低,并且对录音的质量有很大影响(用于网上直播),建议使用Creative的SB Live!或SB Audigy、Audigy 2系列,由于笔者自己的机器不做服务器(只用来做文章,没钱升级啊),所以只拿普通的集成来演示。
良好的视频捕捉设备。我们的直播节目源就来源于这块设备,推荐使用Leadtek(丽台)的WinFast TV2000 XP豪华版,它接收信号的能力和硬件压缩的能力都是比较出众的(因为笔者没有条件,所以采集设备用了屏幕捕捉,不过使用采集设备的方法是相同的,所以请大家不要见怪)。
尽量高的带宽。当然是上网速度越快越好,不过我们可以在流媒体服务器中对连接数做一个限制,以免当机。
当然,上面是建设一个属于自己的流媒体服务网站必须的硬件设备,如果只是和笔者一样,只是想在架设流媒体服务器过程中学习一把,大可在现有机器的基础上大胆测试。
四、架设流媒体服务器之旅
准备好了硬件,下面就开始一步步教大家架设自己的流媒体服务器。我将其分为Microsoft公司的Windows Media和RealNetworks的Real Media两大部分,都包括直播与点播服务器的建立,并在最后向大家介绍一下Apple的QuickTime和Nullsoft的流媒体服务器。
由于Microsoft公司的Windows Media点播服务必须建立在Server版的操作系统上,所以笔者选取Windows .Net Enterprise Server 3647作为此次流媒体服务器建立的系统平台。为了比较RealNetworks和Microsoft最新一代流媒体服务器的优劣,笔者采用了它们最新的流媒体系统,以下是笔者使用的具体软件:
操作系统:Windows .Net Enterprise Server 3647、Windows XP Service Pack 1
流媒体软件:Windows Media Services 9.0(Windows .Net Server自带)、Windows Media Encoder 9 Series Release Candidate(由于此软件在.Net Server下运行不正常,故安装在XP中,并且只有此软件安装在XP中)、Windows Media Encoder 7.1、Windows Media Player 9.0 Build z903、Helix Universal Server 9.01 FOR Win2k(9.0.2.794)、Helix Procer Plus 9.0.1、RealOne Player 2.0 Build 6.0.11.853。
下面,就让我们开始吧!不要走开哦!!!
WinMedia网上广播服务
单纯的使用Windows Media Encoder这个软件即可实现网上广播服务,不过,借助于Windows Media Services,利用Windows Media Encoder制作的流媒体文件,我们的网络广播站功能将更为强大。下面,我们将利用Windows Media Encoder单独建立广播站,并将其纳入Windows Media Services,实现更强大的功能。
1. 安装Windows Media Services。
首先安装Windows 2000 Server或者Windows .Net Server,然后打开“开始-控制面板-管理工具-管理您的服务器”或“开始-控制面板-添加或删除程序-添加/删除Windows组件”(建议使用第二种),在其中勾取“Web应用程序服务器”,也就是2000 Server中的IIS服务器,单击“下一步”进行添加;
添加IIS完毕后,再次启动添加/删除Windows组件程序,并勾取Windows Media Service项,单击详细信息,在其中选择“用于Web的Windows Media Services Administrator”以启动Windows Media Services的Web管理功能(2000中可能没有这些选项,只需要安装Windows Media Services即可);
2. 安装Windows Media Encoder。
从微软网站下载Windows Media Encoder 7.1(由于Windows Media Encoder 9.0无法在.Net Server下工作)进行安装,至此,Windows Media服务的服务器和编码器都已经具备;
3. 从“开始-程序-Windows Media” 启动Windows Media Encoder,在出现的向导界面中根据自己的需要选择合适的选项,建议新手“使用新建会话向导广播、捕获或转换文件”,选择后单击确定;
4. 由于进行的是广播,所以在下一个弹出的画面中请选择“在附属设备或计算机屏幕广播实况事件”,这样的选择能够让Windows Media Encoder直接进行广播或者将其加入Windows Media Service服务;
5. 在下一个画面中选择您进行视频或音频捕获的设备,笔者没有视频卡,所以只能选择“屏幕捕获”,有视频卡的朋友请选择您的视频卡;
6. 广播信号必须通过一个有效的端口进行传输,因此必须对它进行设置。Windows Media Encoder默认的端口为8080,但由于这个端口经常被其它软件占用,所以建议朋友们单击“查找可用端口”以换成其它随机端口或者直接输入没有被占用的端口。我选择了“3170”端口;
7. 然后就开始选择我们进行广播的流媒体质量,有一个公式您可以参考:流媒体配置文件带宽×最大连接用户数=您的上行带宽(不是下载,是上传)。您如果有2Mbps的上行带宽,选择了100Kbps的配置文件,则允许同时20个观众看到您的广播,由此可见,流媒体服务对带宽的需求是巨大的;
8. 在这个窗口您可以选择将进行广播的流媒体存档,以便于以后观看或者进行点播,若只是作为实况广播服务,并且硬盘空间不大,您可以不选取;
9. “下一步”后,您可以选择是不是添加微软内置的欢迎、休息和再见文件,我就没要这些东西,谁给微软免费作广告,呵呵;
10. 然后,我们可以给我们的广播节目添加上版权信息,这些信息在播放时,会出现在Windows Media Player中;
11. 弹出最后一个确认窗口后,我们最终的广播界面就出现了,若是有视频捕捉设备,只要单击“开始”,我们的广播站就运行起来,只要在客户机IE中输入“mms://服务器的:端口值”就会弹出media player播放电视。如我建立的广播站地址就是“mms://192.168.0.1:3170,这些信息您也可以直接在此界面的连接标签中查看;
12. 若是您和我一样没有视频捕捉设置,或者想向用户播放一段录制好的视频,请点击“会话-属性”(此面板能够对所有设置过的数据进行调整),单击“更改”按钮,在弹出窗口中选择视频右边的下拉框,单击“查找文件”,找到您预先录制好的视频文件(支持asf、wmv、avi、mpg等格式);
13. 再回到广播界面,点击开始,您的文件就可以被网络上的兄弟姐妹看到了,
若是想添加更多的文件或设备,请在以上窗口单击“更改”旁的“新建”进行添加即可;
14. 您可能觉得到这里我们就大功告成了,实际上远远没有,这只是最基本的直播广播,我们还需要将其加入Windows Media Services的广播服务中,以实现更强大的功能。请将你的鼠标指向“开始-控制面板-管理工具-Windows Media Services”,打开Windows Media管理器(2000 Server应该是一个Web界面)。选择左边的服务器后,单击操作菜单中的“添加发布点(向导)”,经历欢迎页面后,会出现发布点命名窗口,在其中输入您愿意使用的名字,我输入的是“SOFTICP.COM_Broadcast”;
15. 在下一个窗口中,将让您选择所要发布的内容类型,如果只是单纯的进行流媒体直播,就选择“编码器(实况流)”,若是想在实况流中加入其它制作好的文件,请选择“播放列表”,若是想建立视频点播服务器,请选择“目录中的文件”。由于我有现成的制作好的文件,所以选择了“播放列表”;
16. 选择完了发布内容的类型,就要选择发布的方案,我们进行的是网络广播的服务,当然要选择“广播发布点”。在接下来的窗口中,我们要选择内容的传递方式,看到了吧,这次我们前面介绍的单播和组播的基本概念起了作用,我们的网络一般不支持组播,所以要选择“单播”;
17. 若是您以前有创建好的播放列表文件(wsx或htm文件),直接在下一个窗口中选择“现有播放列表”,若是没有,请跟我一样,“新建播放列表后进行添加”。在添加窗口中,可以添加文件、编码器的实况流、远程发布点的流媒体、ASP、CGI的动态源等多种媒体,并且还可以添加广告信息以及调整媒体的播放顺序;
18. 完成播放列表的编辑后,点击“下一步”将播放列表保存成文件,并且在下一个窗口中可以选择是否“循环播放”或“无序播放”这些流媒体。再经历几个确认框,您就完成了Windows Media流媒体广播服务器的建立,为了快捷,我们就将“完成此向导后启动其它向导”前面的对勾去掉吧!
19. 服务器启动后,您就可以在Windows Media Player中输入“mms://服务器IP/发布点名称”观看网络广播了。而在Windows Media Services的管理器中,我们可以随时监视流媒体的播放情况、添加/删除与调整播放列表、插入广告、发布公告(可以直接生成htm页面)、调整该广播站的属性等操作,并可以随时通过下面的按钮启动与停止广播站以及测试当前流媒体是否正常;
此图是使用公告向导建立的发布点公告网页,是不是非常方便?
20. 我们还可以通过在浏览器中输入管理器的网址或者直接启动管理工具中的“Windows Media Services(Web)”来对整个流媒体服务器进行Web管理以及远程管理,其管理界面与本地管理除了少几个功能外,几乎没有差别。
远程管理还可以对一个服务器组多台服务器进行管理。
至此,我们的Windows Media网络广播服务器已经完全建设完毕,您已经拥有了一个具有强大功能的网络广播站,是不是觉得不过瘾?因为还有许多优秀的影片想和朋友们共享,并且想让他们能够自由的观赏自己喜欢的节目,不受你广播时间表的限制?那么,跟我来,我们在此基础上再搭建一个Windows Media视频点播服务器。