Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103678686
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-05-08 10:32:36

 

一、Helix流媒体简介

随着Internet的日益普及,在网络上传输的数据已经不再局限于文字和图形,而是逐渐向声音和视频等多媒体格式过渡。目前在网络上传输音
频/视频(Audio/Video,简称A/V)等多媒体文件时,基本上只有下载和流式传输两种选择。通常说来,A/V文件占据的存储空间都比较大,在带宽受限的网络环境中下载可能要耗费数分钟甚至数小时,所以这种处理方法的延迟很大。如果换用流式传输的话,声音、影像、动画等多媒体文件将由专门的流媒体服务器负责向用户连续、实时地发送,这样用户可以不必等到整个文件全部下载完毕,而只需要经过几秒钟的启动延时就可以了,当这些多媒体数据在客户机上播放时,文件的剩余部分将继续从流媒体服务器下载。

由于受网络带宽、计算机处理能力和协议规范等方面的限制,要想从Internet上下载大量的音频和视频数据,无论从下载时间和存储空间上来讲都是不太现实的,而流媒体技术的出现则很好地解决了这一难题。目前实现流媒体传输主要有两种方法:顺序流(progressive streaming)传输和实时流(realtime streaming)传输,它们分别适合于不同的应用场合。

l 顺序流传输

顺序流传输采用顺序下载的方式进行传输,在下载的同时用户可以在线回放多媒体数据,但给定时刻只能观看已经下载的部分,不能跳到尚未下载的部分,也不能在传输期间根据网络状况对下载速度进行调整。由于标准的HTTP服务器就可以发送这种形式的流媒体,而不需要其他特殊协议的支持,因此也常常被称作HTTP流式传输。顺序流式传输比较适合于高质量的多媒体片段,如片头、片尾或者广告等。

l 实时流传输

实时流式传输保证媒体信号带宽能够与当前网络状况相匹配,从而使得流媒体数据总是被实时地传送,因此特别适合于现场事件。实时流传输支持随机访问,即用户可以通过快进或者后退操作来观看前面或者后面的内容。从理论上讲,实时流媒体一经播放就不会停顿,但事实上仍有可能发生周期性的暂停现象,尤其是在网络状况恶化时更是如此。与顺序流传输不同的是,实时流传输需要用到特定的流媒体服务器,而且还需要特定网络协议的支持。

l 流媒体协议

实时传输协议(Real-time Transport Protocol,PRT)是在Internet上处理多媒体数据流的一种网络协议,利用它能够在一对一(unicast,单播)或者一对多(multicast,多播)的网络环境中实现传流媒体数据的实时传输。RTP通常使用UDP来进行多媒体数据的传输,但如果需要的话可以使用TCP或者ATM等其它协议,整个RTP协议由两个密切相关的部分组成:RTP数据协议和RTP控制协议。实时流协议(Real Time Streaming Protocol,RTSP)最早由Real Networks和Netscape公司共同提出,它位于RTP和RTCP之上,其目的是希望通过IP网络有效地传输多媒体数据。



目前市场上主流的流媒体技术有三种,分别是RealNetworks公司的RealMedia、Microsoft的Windows Media和Apple公司的QuickTime。这三家的技术都有自己的专利算法、专利文件格式甚至专利传输控制协议这三个关键要素在里面。本文就以Helix Universal Server 11为例介绍如何在Linux下构建流媒体服务器。图-1 是流媒体服务器构架。



图-1 流媒体服务器构架

二、理解单播和多播

1 单播

单播是客户端与服务器之间的点到点连接。“点到点”指每个客户端都从服务器接收远程流。只有当客户端发出请求时,才发送单播流。可通过点播或广播向客户端发布单播流。图2是单播示意图。



图2 单播示意图



2多播

多播是通过“启用多播网络”传递的内容流;网络中的所有客户端共享同一流。以这种方式将流媒体内容转化为流的最大好处是可以节省网络带宽。通过将流媒体服务器安装到网络的每一部分,将多播扩展到网络中没有启动多播的区域,这称为服务器分发。作为来自服务器的多播的一部分,可以分发该多播的单一的流给网络上其他部分上别的流媒体服务器。服务器随即通过单播或多播提供流给那些网络部分,这称为“再分发”。通过将服务器连接起来,可以克服路由器不允许使用多播的问题。图3是多播示意图



图3多播示意图


三、安装、启动和停止Helix服务器

1 软件的获取

Helix Server是RealNetworks公司最新的流媒体服务平台,这个系统和微软的Window Media System不同,它并不是免费的,但在RealNetworks的网站( ),还是提供有免费使用的Helix,不过有功能或时间上的限制。 这里笔者选用的是Helix Server Unlimited v11.0.1.1884 For Linux 。

2 软件安装

chmod +x helix-server-retail-11.01-rhel4-setup.bin

./ helix-server-retail-11.01-rhel4-setup.bin

Extracting files for Helix installation........................

Welcome to the Helix Server 11.0 (11.0.1.1884) Setup for UNIX

Setup will help you get Helix Server running on your computer.

[ Press [Enter] to continue... ]

#这里按回车继续#

If a Helix Server license key file has been sent to you,

please enter its directory path below. If you have not

received a Helix Server license key file, then this server

WILL NOT OPERATE until a license key file is placed in

the server´s License directory. Please obtain a free

Basic Helix Server license or purchase a commercial license

from our website at /. If you need

further assistance, please visit our on-line support area

at

License Key File: []: 这是要许可证,可以先放下,等安装完再将许可证文件放入

Installation and use of Helix Server requires

acceptance of the following terms and conditions:

Press [Enter] to display the license text...

按回车继续显示协议文本,此处略过……

Choose “Accept”to accept the terms of this

license agreement and continue with Helix Server setup.

If you do not accept these terms, enter “No”

and installation of Helix Server will be cancelled.

I accept the above license: [Accept]:

#此处回车默认即可

Enter the complete path to the directory where you want

Helix Server to be installed. You must specify the full

pathname of the directory and have write privileges to

the chosen directory.

Directory: [/root/helixserver]: /usr/helixserver

# 更改安装路径

Please enter a username and password that you will use

to access the web-based Helix Server Administrator and monitor.

Username []:

# 设置远程管理用户名

Username []:Password []:

# 设置密码

Confirm Password []:

#重新确认密码

Please enter a port on which Helix Server will listen for

RTSP connections. These connections have URLs that begin
with “rtsp://”

Port [554]:

#此处回车默认即可



Please enter a port on which Helix Server will listen for

HTTP connections. These connections have URLs that begin

with "http://"

Port [80]:8080

#设置http传输端口,为避免和apache冲突,建议更改



Please enter a port on which Helix Server will listen for

MMS connections. These connections have URLs that begin

with "mms://"

Port [1755]:

# 此处回车默认即可


文章来源:计世网

阅读(287) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~