什么是RTSP,第1张

实时流协议RTSP(RealTimeStreamingProtocol)是由RealNetworks和Netscape共同提出的,该

协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP

和RTCP之上,它使用TCP或RTP完成数据传输。HTTP与RTSP相比,HTTP传送HTML,而RTP传送的

是多媒体数据。HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可

以发出请求,即RTSP可以是双向的。

63 RTSP协议

实时流协议(RTSP)是应用级协议,控制实时数据的发送。RTSP提供了一个可扩展框架,使

实时数据,如音频与视频,的受控、点播成为可能。数据源包括现场数据与存储在剪辑中数据

。该协议目的在于控制多个数据发送连接,为选择发送通道,如UDP、组播UDP与TCP,提供途径

,并为选择基于RTP上发送机制提供方法。

631 简介

6311 目的

实时流协议(RTSP)建立并控制一个或几个时间同步的连续流媒体。尽管连续媒体流与控制

流交是可能的,通常它本身并不发送连续流。换言之,RTSP充当多媒体服务器的网络远程控

制。RTSP连接没有绑定到传输层连接,如TCP。在RTSP连接期间,RTSP用户可打开或关闭多个对

服务器的可传输连接以发出RTSP 请求。此外,可使用无连接传输协议,如UDP。RTSP流控制

的流可能用到RTP,但RTSP操作并不依赖用于携带连续媒体的传输机制。实时流协议在语法和操

作上与HTTP/11类似,因此HTTP的扩展机制大都可加入RTSP。协议支持的操作如下:

从媒体服务器上检索媒体:

用户可通过HTTP或其它方法提交一个演示描述。如演示是组播,演示式就包含用于连续媒体

的的组播地址和端口。如演示仅通过单播发送给用户,用户为了安全应提供目的地址。

媒体服务器邀请进入会议:

媒体服务器可被邀请参加正进行的会议,或回放媒体,或记录其中一部分,或全部。这种模

式在分布式教育应用上很有用,会议中几方可轮流按远程控制按钮。

将媒体加到现成讲座中:

如服务器告诉用户可获得附加媒体内容,对现场讲座显得尤其有用。如HTTP/11中类似,RTSP

请求可由代理、通道与缓存处理。

6312 协议特点

RTSP 特性如下:

可扩展性:

新方法和参数很容易加入RTSP。

易解析:

RTSP可由标准 HTTP或MIME解吸器解析。

安全:

RTSP使用网页安全机制。

独立于传输:

RTSP可使用不可数据报协议(UDP)、可数据报协议(RDP),如要实现应用级可,可

使用可流协议。

多服务器支持:

每个流可放在不同服务器上,用户端自动同不同服务器建立几个并发控制连接,媒体同步在

传输层执行。

记录设备控制:

协议可控制记录和回放设备。

流控与会议开始分离:

仅要求会议初始化协议提供,或可用来创建唯一会议标识号。特殊情况下, SIP或H323

可用来邀请服务器入会。

适合专业应用:

通过SMPTE 时标,RTSP支持帧级精度,允许远程数字编辑

演示描述中立:

协议没强加特殊演示或元文件,可传送所用格式类型;然而,演示描述至少必须包含一个RTSP

URI。

代理与防火墙友好:

协议可由应用和传输层防火墙处理。防火墙需要理解SETUP方法,为UDP媒体流打开一个"缺

口"。

HTTP友好:

此处,RTSP明智的采用HTTP观念,使现在结构都可重用。结构包括Internet 内容选择平台

(PICS)。由于在大多数情况下控制连续媒体需要服务器状态, RTSP不仅仅向HTTP 添加方法

。 适当的服务器控制:

如用户启动一个流,他必须也可以停止一个流。

传输协调;

实际处理连续媒体流前,用户 可协调传输方法。

性能协调:

如基本特征无效,必须有一些清理机制让用户决定那种方法没生效。这允许用户提出适合的

用户界面。

6313扩展RTSP

由于不是所有媒体服务器有着相同的功能,媒体服务器有必要支持不同请求集。RTSP 可以

如下三种方式扩展,这里以改变大小排序:

以新参数扩展。如用户需要拒绝通知,而方法扩展不支持,相应标记就加入要求的段中。

加入新方法。如信息接收者不理解请求,返回501错误代码(还未实现),发送者不应再次

尝试这种方法。用户可使用OPTIONS方法查询服务器支持的方法。服务器使用公共响应头列出支

持的方法。

定义新版本协议,允许改变所有部分。(除了协议版本号位置)

6314操作模式

每个演示和媒体流可用RTSP URL识别。演示组成的整个演示与媒体属性由演示描述文件定义

。使用HTTP或其它途径用户可获得这个文件,它没有必要保存在媒体服务器上。

为了说明,假设演示描述描述了多个演示,其中每个演示维持了一个公共时间轴。为简化说

明,且不失一般性,假定演示描述的确包含这样一个演示。演示可包含多个媒体流。除媒体参

数外,网络目标地址和端口也需要决定。下面区分几种操作模式:

单播:

以用户选择的端口号将媒体发送到RTSP请求源。

组播,服务器选择地址:

媒体服务器选择组播地址和端口,这是现场直播或准点播常用的方式。

组播,用户选择地址:

如服务器加入正在进行的组播会议,组播地址、端口和密匙由会议描述给出。

6315 RTSP状态

RTSP控制通过单独协议发送的流,与控制通道无关。例如,RTSP控制可通过TCP连接,而数

据流通过UDP。因此,即使媒体服务器没有收到请求,数据也会继续发送。在连接生命期,单个

媒体流可通过不同TCP连接顺序发出请求来控制。所以,服务器需要维持能联系流与RTSP请求的

连接状态。RTSP中很多方法与状态无关,但下列方法在定义服务器流资源的分配与应用上起着

重要的作用:

SETUP:

让服务器给流分配资源,启动RTSP连接。

PLAY与RECORD:

启动SETUP 分配流的数据传输。

PAUSE:

临时停止流,而不释放服务器资源。

TEARDOWN:

释放流的资源,RTSP连接停止。

标识状态的RTSP方法使用连接头段识别RTSP连接,为响应SETUP请求,服务器连

接产生连接标识。

6316 与其他协议关系

RTSP在功能上与HTTP有重叠,与HTTP相互作用体现在与流内容的初始接触是通过网页的。目

前的协议规范目的在于允许在网页服务器与实现RTSP媒体服务器之间存在不同传递点。例如,

演示描述可通过HTTP和RTSP检索,这降低了浏览器的往返传递,也允许独立RTSP 服务器与用户

不全依HTTP。

但是,RTSP与HTTP 的本质差别在于数据发送以不同协议进行。HTTP是不对称协议,用户发

出请求,服务器作出响应。RTSP中,媒体用户和服务器都可发出请求,且其请求都是无状态的

;在请求确认后很长时间内,仍可设置参数,控制媒体流。重用HTTP功能至少在两个方面有好

处,即安全和代理。要求非常接近,在缓存、代理和授权上采用HTTP功能是有价值的。

当大多数实时媒体使用RTP作为传输协议时,RTSP没有绑定到RTP。RTSP假设存在演示描述格

式可表示包含几个媒体流的演示的静态与临时属性。

632 协议参数

633 RTSP 信息

RTSP是基于文本的协议,采用ISO 10646 字符集,使用UTF-8编码方案。行以CRLF中断,但

接收者本身可将CR和LF解释成行终止符。基于文本的协议使以自描述方式增加可选参数更容易

。由于参数的数量和命令的频率出现较低,处理效率没引起注意。如仔细研究,文本协议很容

易以脚本语言(如:Tcl、Visual Basic与Perl)实现研究原型。

10646字符集避免敏感字符集切换,但对应用来说不可见。RTCP也采用这种编码方案。带有

重要意义位的ISO 8859-1字符表示如100001x 10xxxxxx。RTSP信息可通过任何低层传输协议

携带。

请求包括方法、方法作用于其上的对象和进一步描述方法的参数。方法也可设计为在服务器

端只需要少量或不需要状态维护。当信息体包含在信息中,信息体长度有如下因素决定:

不管实体头段是否出现在信息中,不包括信息体的的响应信息总以头段后第一和空行结束。

如出现内容长度头段,其值以字节计,表示信息体长度。如未出现头段,其值为零。

服务器关闭连接。

注意:RTSP目前并不支持HTTP/11"块"传输编码,需要有内容长度头。假如返回适度演示描

述长度,即使动态产生,使块传输编码没有必要,服务器也应该能决定其长度。如有实体,即

使必须有内容长度,且长度没显式给出,规则可确保行为合理。

从用户到服务器端的请求信息在第一行内包括源采用的方法、源标识和所用协议版本。RTSP

定义了附加状态代码,而没有定义任何HTTP代码。

634 实体

如不受请求方法或响应状态编码限制,请求和响应信息可传输实体,实体由实体头文件和试

题体组成,有些响应仅包括实体头。在此,根据谁发送实体、谁接收实体,发送者和接收者可

分别指用户和服务器。

实体头定义实体体可选元信息,如没有实体体,指请求标识的资源。扩展头机制允许定义附

加实体头段,而不用改变协议,但这些段不能假定接收者能识别。不可识别头段应被接收者忽

略,而让代理转发。

635 连接

RTSP请求可以几种不同方式传送:

1、持久传输连接,用于多个请求/响应传输。

2、每个请求/响应传输一个连接。

3、无连接模式。

传输连接类型由RTSP URI来定义。对 "rtsp" 方案,需要持续连接;而"rtspu"方案,调用

RTSP 请求发送,而不用建立连接。

不象HTTP,RTSP允许媒体服务器给媒体用户发送请求。然而,这仅在持久连接时才支持,否

则媒体服务器没有可途径到达用户,这也是请求通过防火墙从媒体服务器传到用户的唯一途

径。

636 方法定义

方法记号表示资源上执行的方法,它区分大小写。新方法可在将来定义,但不能以$开头。

某些防火墙设计与其他环境可能要求服务器插入RTSP方法和流数据。由于插入将使客户端和

服务器操作复杂,并强加附加开销,除非有必要,应避免这样做。插入二进制数据仅在RTSP通

过TCP传输时才可使用。流数据(如RTP包)用一个ASCII美圆符号封装,后跟一个一字节通道标

识,其后是封装二进制数据的长度,两字节整数。

  Wowza Streaming Engine 4 (也就是著名的Wowza Media Server®)是一个高性能、可扩展的流媒体服务器软件,支持直播、VOD、在线视频聊天、远程录制功能, 它也支持多种播放器技术,包括:

Adobe® HTTP Dynamic Streaming (HDS) Adobe Flash® 播放器

Apple® HTTP Live Streaming (HLS) iPhone®, iPad®, iPod touch®, Safari® 浏览器, QuickTime® 播放器

Microsoft® Smooth Streaming Microsoft Silverlight®

MPEG-DASH streaming DASH clients

Real Time Streaming Protocol (RTSP/RTP) QuickTime 播放器, VLC 媒体播放器, 以及许多移动终端

MPEG-2 Transport Streams (MPEG-TS) 机顶盒和IPTV 解决方案

安装Java

Wowza Streaming Engine 4 是一个基于Java 6 (也就是 16) 和Java 7 (也就是 17)的应用程序,需要先安装Java Runtime Environment (JRE) 6 或以上版本。

Wowza Streaming Engine可以使用下面的Java安装包:

Java Development Kit (JDK) 这个JDK 包含了完整的JRE 并可以让Java 开发人员开发和调试服务端应用。

Java Server JRE 这个Server JRE 是一个完整的JRE。如果你只是要运行Java程序,而不是开发和调试,那么可以用这个安装包。

第三方的Java虚拟机环境、 用户端的Java JRE、以及32位的客户端环境,这些都不是运行Wowza server 软件所需要的服务端环境。 你可以在32位的Java JRE上运行Wowza Streaming Engine,但它仅仅只能用于测试环境,此外,还需要一些额外的配置。

为了得到最好的性能,为了能够使用Wowza Transcoder AddOn,我们推荐你将Wowza Streaming Engine 安装在 64位的操作系统和最新的64位Java JDK 或 Server JRE。

注意:

Wowza Transcoder AddOn 只能运行在64位的Windows 和 Linux 操作系统和64位的Java VM。

你可以从Oracle Java SE 下载页面或 所有操作系统下的Java 下载页面下载下载64位Java JDK 或 Server JRE。

根据手册或指南安装Java 环境。

你可以用java –version命令来验证是否已经正确安装了Java。

如果Java已经被正确的安装和配置,命令行或终端窗口会出现Java的版本号,它应该至少是16版本。

针对32位Java 客户端环境下运行Wowza Streaming Engine 所需要的配置

如果你下载32位客户端版本的Java JRE,比如在wwwjavacom页面点击Free Java Download 按钮。 我们不推荐使用这个版本,要使用它,你需要在Wowza Stream Engine 上做如下配置:

在[install-dir]/conf/目录下,用一个文本编辑器打开Tunexml文件。

删除文件中的<VMOption>-server</VMOption>属性。

保存文件,然后重启Wowza Streaming Engine 。

- 或者 -

在Java的安装目录的bin文件夹下,通常位于[java-install-dir]\bin下,按如下操作

创建一个名字为server的文件夹。

例如,当你的Java安装在C:\Program Files\java\jre7下,那么创建如下文件夹:

Code:

C:\Program Files\java\jre7\bin\server

将[java-install-dir]\bin\client 文件夹下的内容拷贝到[java-install-dir]\bin\server 文件夹下。

确认JAVA_HOME 环境变量能正确匹配你的Java安装根目录([java-install-dir])

例如,C:\Program Files\java\jre7 如果这个环境变量设置的不对,请参考After installing latest Java version, java command is still using old Java (fix) 以了解更多如何解决它的信息。

安装Wowza Streaming Engine 4

注意:

在安装Wowza Streaming Engine 406之前要卸载以前的任何Wowza版本。

到Wowza官网的 安装包下载 页面点击 Download 以下载你需要的操作系统下的Wowza版本。

下载完成后,按以下步骤进行:

Windows: 双击安装文件, WowzaStreamingEngine-406exe, 按界面提示进行。

Mac OS: 双击 WowzaStreamingEngine-406dmg 文件,然后双击安装包Wowza Streaming Engine 406pkg, 按界面提示进行。

Linux: 进入包含安装文件的目录,根据你的平台,执行以下命令:

Red Hat Package Manager (RPM):

打开命令Shell,输入如下命令:

Code:

sudo chmod +x WowzaStreamingEngine-406rpmbin

sudo /WowzaStreamingEngine-406rpmbin

Debian Package Manager (DEB):

打开命令Shell,输入如下命令:

code:

sudo chmod +x WowzaMediaStreamingEngine-406debbin

sudo /WowzaStreamingEngine-406debbin

其它Linux系统TAR包安装:

打开命令Shell,输入如下命令:

code:

sudo chmod +x WowzaStreamingEngine-406tarbin

sudo /WowzaStreamingEngine-406tarbin

在安装过程中,你会被要求:

接受授权协议(license agreement)

输入一个合法的产品授权序列号。这个序列号是由Wowza公司通过邮件发给你的,你会在收件箱中找到它。

创建一个管理员账户需要的用户名和密码。你将用这个账号登录基于Web的Wowza Streaming Engine Manager。注意:用户名和密码都是大小写敏感的。

确认或改变安装目录,默认情况下,Wowza Streaming Engine 将被安装在以下目录:

/Applications/Wowza Streaming Engine 406/

/Library/LaunchDaemons/

/Library/WowzaStreamingEngine/ (an alias)

/Library/WowzaStreamingEngine-406/

Windows: \Program File(x86)\Wowza Media Systems\Wowza Streaming Engine 406

Mac OSX:

Linux/Unix: /usr/local/WowzaStreamingEngine-406

如果你希望在系统启动后自动启动Wowza Streaming Engine 和 Streaming Engine Manager 。 请在提示界面中接受默认的选项 Start Wowza Streaming Engine automatically when the system starts 以及 Launch Wowza Streaming Engine Manager in a web browser ,这样可以使得服务器和管理界面能够在操作系统启动后自动启动,这样会方便很多。 如果你没有接受这些选项,你必须自己启动服务器和管理界面。

启动软件

如果你在安装的时候没有选择自动启动服务和管理界面,你必须手动启动它们。根据不同的操作系统平台,按以下指导进行。

Windows平台上以服务方式启动:

按WIN键 + R

在运行对话框输入 servicesmsc,然后点击确定。

在Services MMC窗口中,右键Wowza Streaming Engine 406,然后点击启动。

要确定Wowza Streaming Engine是否已经正常启动,请在Web浏览器访问下面的URL:

http://[wowza-ip-address]:1935

在这里,[wowza-ip-address], 是运行Wowza Streaming Engine的服务器IP地址或域名。例如:

http://localhost:1935

如果已经正常启动,浏览器上会显示Wowza Streaming Engine 的版本号。如果没有,请检查软件是否已经正确安装,在你的路由和防火墙设备以及软件防火墙上的TCP端口是否被打开。

当 Wowza Streaming Engine 服务正常运行后,你再启动Wowza Streaming Engine Manager。

回到Services 窗口, 右键Wowza Streaming Engine Manager 406, 然后选择e Start

Mac OS X平台上以服务方式启动

到/Applications/WowzaStreamingEngine-406/ ,双击 Start Services

运行Start Services 应用,将Wowza Streaming Engine server software 和 Wowza Streaming Engine Manager 同时作为系统服务启动。

要确定Wowza Streaming Engine是否已经正常启动,请在Web浏览器访问下面的URL:

http://[wowza-ip-address]:1935

在这里,[wowza-ip-address], 是运行Wowza Streaming Engine的服务器IP地址或域名。例如:

http://localhost:1935

如果已经正常启动,浏览器上会显示Wowza Streaming Engine 的版本号。如果没有,请检查软件是否已经正确安装,在你的路由和防火墙设备以及软件防火墙上的TCP端口是否被打开。

Linux平台上以服务方式启动

要在Linux平台以服务方式将启动Wowza 软件,你必须以用sudo命令成为root用户。 如果以下的指导在你的Linux发型版本上不能生效,请咨询您的Linux手册。

在一个终端窗口,输入下面的命令(依赖你的Linux发型版本):

Code:

sudo service WowzaStreamingEngine start

-或-

Code:

/etc/initd/WowzaStreamingEngine start

要确定Wowza Streaming Engine是否已经正常启动,请在Web浏览器访问下面的URL:

http://[wowza-ip-address]:1935

在这里,[wowza-ip-address], 是运行Wowza Streaming Engine的服务器IP地址或域名。例如:

http://localhost:1935

如果已经正常启动,浏览器上会显示Wowza Streaming Engine 的版本号。如果没有,请检查软件是否已经正确安装,在你的路由和防火墙设备以及iptables上的TCP端口是否被打开。

当 Wowza Streaming Engine 服务正常运行后,你再启动Wowza Streaming Engine Manager。

在一个终端窗口,输入下面的命令(依赖你的Linux发型版本):

Code:

sudo service WowzaStreamingEngineManager start

-或-

Code:

/etc/initd/WowzaStreamingEngineManager start

网络视频流媒体技术大全

随着Internet的发展,多媒体信息在网上的传输越来越重要,流式技术以其边下载边播放的特性深受教育、娱乐等行业的喜爱,本文主要描述流媒体系统及主要的流式技术,提出了流式技术的主要解决方案。

  1、前言

  网络技术、通讯技术、多媒体技术的迅猛发展对Internet产生极大的影响,特别在以下几个方面:第一,联网方式多样化,从144Kmorden到专线、ISDN、有线电视、光纤、卫星网络等;第二,网络带宽的大大拓宽,无论哪种联网方式,它们所提供的带宽不断的在扩大;第三,Internet提供更多的服务,它不再局限于网络通信E-Mail、简单的信息浏览、FTP、TELNET等,诸如电子商务、远程教育、视频点播等新的服务和应用如雨后春笋般的出现。

  这几方面的变化使得网络真正成为人类生活的一部分,人们可以享受快速而廉价的网络去观看缤纷的世界。

  在这种情况下世界各地的传统影视媒体、教育学习机构、广播媒体纷纷加入到Internet领域中,使自身的传播方式得到了扩充。面对有限的带宽和拥挤的拨号网络,实现窄带网络的视频、音频、动画传输最好的解决方案就是流式媒体的传输方式。通过流方式进行传输,即使在网络非常拥挤或很差的拨号连接的条件下,也能提供清晰、不中断的影音给观众,实现了网上动画、影音等多媒体的实时播放。

  一般来说,流包含两种含义,广义上的流是使音频和视频形成稳定和连续的传输流和回放流的一系技术、方法和协议的总称,我们习惯上称之为流媒体系统;而狭义上的流是相对于传统的下载-回放(Download-Playback)方式而言的一种媒体格式,能从Internet上获取音频和视频等连续的多媒体流,客户可以边接收边播放,使时延大大减少。

  2、流媒体系统概述

  21 流式传输的特点

  流媒体是从英语Streaming Media中翻译过来,它是一种可以使音频、视频和其它多媒体能在Internet及Intranet上以实时的、无需下载等待的方式进行播放的技术。流媒体文件格式是支持采用流式传输及播放的媒体格式。流式传输方式是将动画、视音频等多媒体文件经过特殊的压缩方式分成一个个压缩包,由视频服务器向用户计算机连续、实时传送。在采用流式传输方式的系统中,用户不必像非流式播放那样等到整个文件全部下载完毕后才能看到当中的内容,而是只需经过几秒或几十秒的启动延时即可在用户的计算机上利用相应的播放器或其它的硬件、软件对压缩的动画、视音频等流式多媒体文件解压后进行播放和观看,多媒体文件的剩余部分将在后台的服务器内继续下载。

  与单纯的下载方式相比,这种对多媒体文件边下载边播放的流式传输方式具有以下优点:

  (1) 启动延时大幅度地缩短

  用户不用等待所有内容下载到硬盘上才开始浏览,我们曾经用10M到桌面的校园网络来浏览方舟中的猫头鹰剧场,无论是上班时间还是晚上,速度都相当快,一般来说,一个45分钟的影片片段在一分钟以内就显示在客户端上,而且在播放过程一般不会出现断续的情况,另外,全屏播放对播放速度几乎无影响,但快进、快倒时需要时间等待。

(2) 对系统缓存容量的需求大大降低

  由于Internet是以包传输为基础进行断续的异步传输,数据被分解为许多包进行传输,动态变化的网络使各个包可能选择不同的路由,故到达用户计算机的时间延迟也就不同。所以,在客户端需要缓存系统来弥补延迟和抖动的影响和保证数据包传输顺序的正确,使媒体数据能连续输出,不会因网络暂时拥堵而使播放出现停顿。虽然流式传输仍需要缓存,但由于不需要把所有的动画、视音频内容都下载到缓存中,因此,对缓存的要求降低。

  (3) 流式传输的实现有特定的实时传输协议

  采用RTSP等实时传输协议,更加适合动画、视音频在网上的流式实时传输。

  22 流媒体系统的组成

  流媒体系统包括以下5个方面的内容:

  1 编码工具:用于创建、捕捉和编辑多媒体数据,形成流媒体格式

  2 流媒体数据

  3 服务器:存放和控制流媒体的数据

  4 网络:适合多媒体传输协议甚至是实时传输协议的网络

  5 播放器:供客户端浏览流媒体文件

  这5个部分有些是网站需要的,有些是客户端需要的,而且不同的流媒体标准和不同公司的解决方案会在某些方面有所不同。

  3、各种多媒体信息的流媒体传输格式

  在Internet上所传输的多媒体格式中,基本上只有文本、图形可以照原格式在网上传输。动画、音频、视频等虽然可以直接播放在网上播放,但文件偏大,即使使用专线上网,也要等完全下载后才能观看,这三种类型的媒体均要采用流式技术来进行处理以便于在网上传输。另外,还有一些如PowerPoint文件、多媒体课件等内容也需要用流式技术进行传输。

  流(Stream)媒体格式是将一个资料(动画、影音等)分段传送,用户不必等待整个内容传送完毕,就可以观看到即时的连续的内容,甚至可以随时的暂停、快进、快倒。由于不同的公司发展的文件格式不同,传送的方式也有所差异,因此,我们必须非常清楚各种流媒体文件的格式。

 31 RealVideo的rm视频影像格式和ra的音频格式

  ra格式是RealNetworks公司所开发的一种新型流式音频Real Audio文件格式。rm格式则是流式视频Real Vedio文件格式,主要用来在低速率的网络上实时传输活动视频影像,可以根据网络数据传输速率的不同而采用不同的压缩比率,在数据传输过程中边下载边播放视频影像,从而实现影像数据的实时传送和播放。客户端通过Real Player播放器进行播放。

  32 Microsoft Media technology的asf格式

  Microsoft Media technology的ASF也是流行一种网上流媒体格式。它的使用与windows操作系统是分不开的,其播放器Microsoft Media Player已经与windows捆绑在一起,不仅用于Web方式播放,还可以用于在浏览器以外的地方来播放影音文件。

  4、流式技术的主要解决方案

  到目前为止,Internet上使用较多的流媒体格式主要有RealNetworks公司的Real system、Microsoft公司的Windows Media Technology和Apple公司的QuickTime,它们是网上流媒体传输系统的三大主流。

  41 Real system

  Real System由媒体内容制作工具Real Producer、服务器端RealServer、客户端软件(Client Software)三部分组成。其流媒体文件包括RealAudio、RealVideo、Real Presentation和RealFlash四类文件,分别用于传送不同的文件。Real System采用SureStream技术,自动地并持续地调整数据流的流量以适应实际应用中的各种不同网络带宽需求,轻松在网上实现视音频和三维动画的回放。

  RealSystem流式传输系统

  Real流式文件采用Real Producer软件进行制作,首先把源文件或实时输入变为流式文件,再把流式文件传输到服务器上供用户点播。

  由于其成熟稳定的技术性能,互联网巨人美国在线(AOL)、ABC、AT&T、Sony和Time Life等公司和网上主要电台都使用Real System向世界各地传送实时影音媒体信息以及实时的音乐广播。在我国,大量的影视、音乐点播和春节晚会、昆明世博会开幕式的网上直播都采用了RealSystem系统。

42 Windows Media Technology

  Windows Media Technology是Microsoft提出的信息流式播放方案,其主要目的是在Internet和Intranet上实现包括音频、视频信息在内的多媒体流信息的传输。其核心是ASF(Advanced Stream Format)文件,ASF是一种包含音频、视频、图像以及控制命令、脚本等多媒体信息在内数据格式,通过分成一个个的网络数据包在Internet上传输,实现流式多媒体内容发布。因此,我们把在网络上传输的内容就称为ASF Stream。ASF支持任意的压缩/解压缩编码方式,并可以使用任何一种底层网络传输协议,具有很大的灵活性。Microsoft已将Windows Media技术捆绑在Windows 2000中,并打算将ASF用作将来的Windows版本中多媒体内容的标准文件格式,这无疑将对Internet特别是流式技术的应用和发展产生重大影响。

  Windows Media Technology由Media Tools、Media Server和Media Player工具构成。Media Tools是整个方案的重要组成部分,它提供了一系列的工具帮助用户生成ASF格式的多媒体流(包括实时生成的多媒体流),分创建工具和编辑工具两种,创建工具主要用于生成ASF格式的多媒体流,包括Media Encoder、Author、VidToASF、WavToASF、Presenter五个工具;编辑工具主要对ASF格式的多媒体流信息进行编辑与管理,包括后期制作编辑工具ASF Indexer与ASFChop,以及对ASF流进行检查并改正错误的ASFCheck。Media Server可以保证文件的保密性,不被下载,并使每个使用者都能以最佳的影片品质浏览网页,具有多种文件发布形式和监控管理功能。Media Player则提供强大的流信息的播放功能。

  43 QuickTime

  Apple公司于1991年开始发布QuickTime,它几乎支持所有主流的个人计算平台和各种格式的静态图像文件、视频和动画格式,具有内置Web浏览器插件(Plug-in)技术,支持IETF(Internet Engineering Task Force)流标准以及RTP、RTSP、SDP、FTP和HTTP等网络协议。通过好莱坞影视城(wwwhollywoodcom)检索到的许多**新片片段,都是以QuickTime格式存放的。

  QuickTime包括服务器QuickTime Streaming Server、带编辑功能的播放器QuickTime Player(免费)、制作工具QuickTime 4 Pro、图像浏览器PictureViewer以及使Internet浏览器能够播放QuickTime影片的QuickTime 插件。QuickTime 4支持两种类型的流:实时流和快速启动流。使用实时流的 QuickTime 影片必须从支持 QuickTime 流的服务器上播放,是真正意义上的Streaming Media,使用实时传输协议(RTP)来传输数据。快速启动影片可以从任何Web Server上播放,使用超文本传输协议(HTTP)或文件传输协议(FTP)来传输数据。

  目前,FOX新闻在线、FOX体育在线、BBC WORLD、气象频道 (Weather Channel)等机构都加入QuickTime内容供应商行列,使用QuickTime 技术制作实况转播节目除了上述的流媒体技术的三种主要格式外,在多媒体课件和动画方面的流媒体技术还有Macromedia的Shockwave技术和MeataCreation公司的Meta Stream技术。

  通过Shockwave技术可以方便地在Web页面中加入图像、动画以及交互式界面等操作。利用这种Streaming Shockwave, 即通过流的方式使用户在客户端实现边下载边播放的功能,节省了等待的时同时间。Shockwave与Macromedia产品紧密联系在一起,包括Flash、 Shockwave for Authorware、Shockwave for Director等技术。

  MetaStream 3D的图形设计软件是Ray Dream Studio 5 以及Ray Dream 3D,可以方便地在网上创建、发布及浏览被缩放的3D图形,它具有小文件量及流传输的特点,比其它任何一种已存在的Internet 3D技术压缩率都高。主要应用于游戏开发厂商、页面设计者、电子商务、科学研究者、专业设计者等。

  5、流式传输协议

  流媒体在因特网上的传输必然涉及到网络传输协议,其中包括Internet本身的多媒体传输协议,以及一些实时流式传输协议等,只有采用合适的协议才能更好的发挥流媒体的作用,保证传输质量QOS。IETF(Internet工程任务组)是Internet规划与发展的主要标准化组织,已经设计出几种支持流媒体传输的协议。主要有用于Internet上针对多媒体数据流的实时传输协议RTP(Real-time Transport Protocol)、与RTP一起提供流量控制和拥塞控制服务的实时传输控制协议RTCP(Real-time Transport Control Protocol)、定义了一对多的应用程序如何有效地通过IP网络传送多媒体数据的实时流协议RTSP(Real-time Streaming Protocol)。除上述协议之外,流媒体技术还包括对于流媒体类型的识别。

  随着Internet的飞速发展,流媒体(Streaming Media)技术的应用越来越普及。在新近结束的Streaming Media West展会中,Microsoft、Intel、Apple、RealNetworks等公司就流媒体技术的发展、应用展开了激烈的竞争;与会专家还预计在未来3年内,多数的Internet用户(包括企业和个人用户)将更多地使用流媒体技术。因此,流媒体有着广阔发展前景,流媒体技术及其相关产品将更广泛应用于远程教育、网络电台、视频点播、收费播放等,而三大技术标准和其它技术将分别占据一定的市场。可以预见,随着厂商对流媒体技术的不断发展和完善,以及用户对流媒体需求的增加,流媒体技术定会更上层楼。

再推荐给你一个网站 http://wwwsouxincom

参考资料:

http://zhidaobaiducom/question/6828822html

分类: 电脑/网络 >> 互联网

解析:

流媒体又叫流式媒体,它是指商家用一个视频传送服务器把节目当成数据包发出,传送到网络上。用户通过解压设备对这些数据进行解压后,节目就会像发送前那样显示出来。

这个过程的一系列相关的包称为“流”。流媒体实际指的是一种新的媒体传送方式,而非一种新的媒体。流媒体技术全面应用后,人们在网上聊天可直接语音输入;如果想彼此看见对方的容貌、表情,只要双方各有一个摄像头就可以了;在网上看到感兴趣的商品,点击以后,讲解员和商品的影像就会跳出来;更有真实感的影像新闻也会出现。

流媒体技术发端于美国,在美国目前流媒体的应用已很普遍,比如惠普公司的产品发布和销售人员培训都用网络视频进行。(南方都市报)

所谓流媒体是指采用流式传输的方式在Inter播放的媒体格式。

流式传输方式则是将整个A/V及3D等多媒体文件经过特殊的压缩方式分成一个个压缩包,由视频服务器向用户计算机连续、实时传送。在采用流式传输方式的系统中,用户不必像采用下载方式那样等到整个文件全部下载完毕,而是只需经过几秒或几十秒的启动延时即可在用户的计算机上利用解压设备(硬件或软件)对压缩的A/V、3D等多媒体文件解压后进行播放和观看。此时多媒体文件的剩余部分将在后台的服务器内继续下载。

与单纯的下载方式相比,这种对多媒体文件边下载边播放的流式传输方式不仅使启动延时大幅度地缩短,而且对系统缓存容量的需求也大大降低。(ChinaByte)

附:流媒体技术简介

一、流式传输的基础

在网络上传输音/视频等多媒体信息目前主要有下载和流式传输两种方案。A/V文件一般都较大,所以需要的存储容量也较大;同时由于网络带宽的限制,下载常常要花数分钟甚至数小时,所以这种处理方法延迟也很大。流式传输时,声音、影像或动画等时基媒体由音视频服务器向用户计算机的连续、实时传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行观看。当声音等时基媒体在客户机上播放时,文件的剩余部分将在后台从服务器内继续下载。流式不仅使启动延时成十倍、百倍地缩短,而且不需要太大的缓存容量。流式传输避免了用户必须等待整个文件全部从Inter上下载才能观看的缺点。

流媒体指在Inter/Intra中使用流式传输技术的连续时基媒体,如:音频、视频或多媒体文件。流式媒体在播放前并不下载整个文件,只将开始部分内容存入内存,流式媒体的数据流随时传送随时播放,只是在开始时有一些延迟。流媒体实现的关键技术就是流式传输。

流式传输定义很广泛,现在主要指通过网络传送媒体(如视频、音频)的技术总称。其特定含义为通过Inter 将影视节目传送到PC机。实现流式传输有两种方法:实时流式传输(Realtime streaming)和顺序流式传输(progressive streaming)。一般说来,如视频为实时广播,或使用流式传输媒体服务器,或应用如RTSP的实时协议,即为实时流式传输。如使用HTTP服务器,文件即通过顺序流发送。采用那种传输方法依赖你的需求。当然,流式文件也支持在播放前完全下载到硬盘。

顺序流式传输

顺序流式传输是顺序下载,在下载文件的同时用户可观看再线媒体,在给定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的前头部分,顺序流式传输不象实时流式传输在传输期间根据用户连接的速度做调整。由于标准的HTTP服务器可发送这种形式的文件,也不需要其他特殊协议,它经常被称作HTTP流式传输。顺序流式传输比较适合高质量的短片段,如片头、片尾和广告,由于该文件在播放前观看的部分是无损下载的,这种方法保证**播放的最终质量。这意味着用户在观看前,必须经历延迟,对较慢的连接尤其如此。对通过调制解调器发布短片段,顺序流式传输显得很实用,它允许用比调制解调器更高的数据速率创建视频片段。尽管有延迟,毕竟可让你发布较高质量的视频片段。顺序流式文件是放在标准HTTP 或 FTP服务器上,易于管理,基本上与防火墙无关。顺序流式传输不适合长片段和有随机访问要求的视频,如:讲座、演说与演示。它也不支持现场广播,严格说来,它是一种点播技术。

实时流式传输

实时流式传输指保证媒体信号带宽与网络连接配匹,使媒体可被实时观看到。实时流与HTTP流式传输不同,他需要专用的流媒体服务器与传输协议。实时流式传输总是实时传送,特别适合现场事件,也支持随机访问,用户可快进或后退以观看前面或后面的内容。理论上,实时流一经播放就可不停止,但实际上,可能发生周期暂停。实时流式传输必须配匹连接带宽,这意味着在以调制解调器速度连接时图象质量较差。而且,由于出错丢失的信息被忽略掉,网络拥挤或出现问题时,视频质量很差。如欲保证视频质量,顺序流式传输也许更好。实时流式传输需要特定服务器,如QuickTime Streaming Server、RealServer与Windows Media Server。这些服务器允许你对媒体发送进行更多级别的控制,因而系统设置、管理比标准HTTP服务器更复杂。实时流式传输还需要特殊网络协议,如:RTSP (Realtime Streaming Protocol)或MMS (Microsoft Media Server)。这些协议在有防火墙时有时会出现问题,导致用户不能看到一些地点的实时内容。

二、 流媒体技术原理

流式传输的实现需要缓存。因为Inter以包传输为基础进行断续的异步传输,对一个实时A/V源或存储的A/V文件,在传输中它们要被分解为许多包,由于网络是动态变化的,各个包选择的路由可能不尽相同,故到达客户端的时间延迟也就不等,甚至先发的数据包还有可能后到。为此,使用缓存系统来弥补延迟和抖动的影响,并保证数据包的顺序正确,从而使媒体数据能连续输出,而不会因为网络暂时拥塞使播放出现停顿。通常高速缓存所需容量并不大,因为高速缓存使用环形链表结构来存储数据:通过丢弃已经播放的内容,流可以重新利用空出的高速缓存空间来缓存后续尚未播放的内容。- --- 流式传输的实现需要合适的传输协议。由于TCP需要较多的开销,故不太适合传输实时数据。在流式传输的实现方案中,一般采用HTTP/TCP来传输控制信息,而用RTP/UDP来传输实时声音数据。流式传输的过程一般是这样的:用户选择某一流媒体服务后,Web浏览器与Web服务器之间使用HTTP/TCP交换控制信息,以便把需要传输的实时数据从原始信息中检索出来;然后客户机上的Web浏览器启动A/VHelper程序,使用HTTP从Web服务器检索相关参数对Helper程序初始化。这些参数可能包括目录信息、A/V数据的编码类型或与A/V检索相关的服务器地址。

A/VHelper程序及A/V服务器运行实时流控制协议(RTSP),以交换A/V传输所需的控制信息。与CD播放机或VCRs所提供的功能相似,RTSP提供了操纵播放、快进、快倒、暂停及录制等命令的方法。A/V服务器使用RTP/UDP协议将A/V数据传输给A/V客户程序(一般可认为客户程序等同于Helper程序),一旦A/V数据抵达客户端,A/V客户程序即可播放输出。

需要说明的是,在流式传输中,使用RTP/UDP和RTSP/TCP两种不同的通信协议与A/V服务器建立联系,是为了能够把服务器的输出重定向到一个不同于运行A/VHelper程序所在客户机的目的地址。实现流式传输一般都需要专用服务器和播放器,其基本原理如图31所示。

三、智能流技术(SureStream)

今天,288Kbps调制解调器是Inter连接的基本速率,cable modem、 ADSL、DSS、ISDN等发展快,内容提供商不得不要么限制发布媒体质量,要么限制连接人数。根据RealNeork站点统计,对288Kbps调制解调器,实际流量为10bps到26Kbps,呈钟形分布,高峰在20Kbps。这意味着若内容提供商选择20Kbps固定速率,将有大量用户得不到好质量信号,并可能停止媒体流而引起客户端再次缓冲,直到接收足够数据。一种解决方法是服务器减少发送给客户端的数据而阻止再缓冲,在RealSystem 50中,这种方法称为\\\"视频流瘦化\\\"。这种方法的限制是RealVideo文件为一种数据速率设计,结果可通过抽取内部帧扩展到更低速率,导致质量较低。离原始数据速率越远,质量越差。另一种解决方法是根据不同连接速率创建多个文件,根据用户连接,服务器发送相应文件,这种方法带来制作和管理上的困难,而且,用户连接是动态变化的,服务器也无法实时协调。 智能流技术通过两种途径克服带宽协调和流瘦化。首先,确立一个编码框架,允许不同速率的多个流同时编码,合并到同一个文件中;第二,采用一种复杂客户/服务器机制探测带宽变化。

针对软件、设备和数据传输速度上的差别,用户以不同带宽浏览音视频内容。为满足客户要求,Progressive neorks公司编码、记录不同速率下媒体数据,并保存在单一文件中,此文件称为智能流文件,即创建可扩展流式文件。当客户端发出请求,它将其带宽容量传给服务器,媒体服务器根据客户带宽将智能流文件相应部分传送给用户。以此方式,用户可看到最可能的优质传输,制作人员只需要压缩一次,管理员也只需要维护单一文件,而媒体服务器根据所得带宽自动切换。智能流通过描述I现实世界Inter上变化的带宽特点来发送高质量媒体并保证可靠性,并对混合连接环境的内容授权提供了解决方法。流媒体实现方式如下: 对所有连接速率环境创建一个文件 在混合环境下以不同速率传送媒体 根据网络变化,无缝切换到其它速率 关键帧优先,音频比部分帧数据重要 向后兼容老版本RealPlayer

智能流在RealSystem G2中是对所谓自适应流管理(ASM)API的实现,ASM描述流式数据的类型,辅助智能决策,确定发送那种类型数据包。文件格式和广播插件定义了ASM规则。用最简单的形式分配预定义属性和平均带宽给数据包组。对高级形式,ASM规则允许插件根据网络条件变化改变数据包发送。每个ASM规则可有一定义条件的演示式,如演示式定义客户带宽是5,000到15,000Kbps,包损失小于25%。如此条件描述了客户当前网络连接,客户就订阅此规则。定义在规则中的属性有助于RealServer有效传送数据包,如网络条件变化,客户就订阅一个不同规则。

如果你的服务端是用windows系统的话,可以考虑用RealProducer这类软件。

软件有很多:

RealNetworks

WindowsMedia

QuickTime

等等,其实你现在需要的,是搭建流媒体服务

RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。HTTP与RTSP相比,HTTP传送HTML,而RTP传送的是多媒体数据。HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。

该协议用于C/S模型,是一个基于文本的协议,用于在客户端和服务器端建立和协商实时流会话。

实时流协议(RTSP)是应用级协议,控制实时数据的发送。RTSP提供了一个可扩展框架,使

实时数据,如音频与视频,的受控、点播成为可能。数据源包括现场数据与存储在剪辑中数据

。该协议目的在于控制多个数据发送连接,为选择发送通道,如UDP、组播UDP与TCP,提供途径

,并为选择基于RTP上发送机制提供方法。

实时流协议(RTSP)建立并控制一个或几个时间同步的连续流媒体。尽管连续媒体流与控制

流交是可能的,通常它本身并不发送连续流。换言之,RTSP充当多媒体服务器的网络远程控

制。RTSP连接没有绑定到传输层连接,如TCP。在RTSP连接期间,RTSP用户可打开或关闭多个对

服务器的可传输连接以发出RTSP 请求。此外,可使用无连接传输协议,如UDP。RTSP流控制

的流可能用到RTP,但RTSP操作并不依赖用于携带连续媒体的传输机制。实时流协议在语法和操

作上与HTTP/11类似,因此HTTP的扩展机制大都可加入RTSP。协议支持的操作如下:

从媒体服务器上检索媒体:

用户可通过HTTP或其它方法提交一个演示描述。如演示是组播,演示式就包含用于连续媒体

的的组播地址和端口。如演示仅通过单播发送给用户,用户为了安全应提供目的地址。

媒体服务器邀请进入会议:

媒体服务器可被邀请参加正进行的会议,或回放媒体,或记录其中一部分,或全部。这种模

式在分布式教育应用上很有用,会议中几方可轮流按远程控制按钮。

将媒体加到现成讲座中:

如服务器告诉用户可获得附加媒体内容,对现场讲座显得尤其有用。如HTTP/11中类似,RTSP

请求可由代理、通道与缓存处理。

RTSP 特性如下:

可扩展性:

新方法和参数很容易加入RTSP。

易解析:

RTSP可由标准 HTTP或MIME解吸器解析。

安全:

RTSP使用网页安全机制。

独立于传输:

RTSP可使用不可数据报协议(UDP)、可数据报协议(RDP),如要实现应用级可,可

使用可流协议。

多服务器支持:

每个流可放在不同服务器上,用户端自动同不同服务器建立几个并发控制连接,媒体同步在

传输层执行。

记录设备控制:

协议可控制记录和回放设备。

流控与会议开始分离:

仅要求会议初始化协议提供,或可用来创建唯一会议标识号。特殊情况下, SIP或H323

可用来邀请服务器入会。

适合专业应用:

通过SMPTE 时标,RTSP支持帧级精度,允许远程数字编辑

拿分!!!

没有吧,

什么是流媒体?

目前,在网络上传输音/视频等多媒体信息有两种解决方案,即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 Producer中的Real Video 9采用VP5压缩格式进行编码,这可比DivX优秀多了!

不过,流媒体服务器开始向MPEG-4格式靠拢是不争的事实,Real最新的Helix就开始支持mp4格式文件的服务,而RealOne Player更是只需安装一个插件便可实现MPEG-4格式的播放。

点播与广播

在架设流媒体服务器之前,我们一定要了解一些点播与广播的知识。

点播是客户端与服务器之间的主动的连接,在点播连接中,用户通过选择内容项目来初始化客户端连接,一个客户端从服务器接收一个媒体流(这个连接是唯一的,其它用户不能占用),并且能够对媒体进行开始、停止、后退、快进或暂停等操作,客户端拥有流的控制权,就像在看影碟一样。这种方式由于每个客户端各自连接服务器,服务器需要给每个用户建立连接,对服务器资源和网络带宽的需求都比较大。

广播指的是用户被动接收流。在广播过程中,客户端接收流,但不能控制流,用户不能暂停、快进或后退该流,广播使用的数据发送手段有单播与广播。使用单播发送时,服务器需要将数据包复制多个拷贝,以多个点对点的方式分别发送到需要它的那些用户,而使用广播方式发送,数据包的单独一个拷贝将发送给网络上的所有用户,而不管用户是否需要,上述两种传输方式会非常浪费网络带宽和服务器资源,因此产生了组播(多播)技术。

组播(多播)吸收了上述两种发送方式的长处,克服了上述两种发送方式的弱点,将数据包的单独一个拷贝发送给需要的那些客户,组播不会复制数据包的多个拷贝传输到网络上,也不会将数据包发送给不需要它的那些客户,保证了网络上多媒体应用占用网络的最小带宽。但组播不仅需要服务器端支持,更需要有多播路由器乃至整个网络结构的支持。

单播与组播(多播)

在上面我们已经了解了一些单播和组播的概念,这也是现在流媒体方面讨论的焦点之一。以我的认识,点播与广播是一组概念,它们和客户端媒体交互的手段;单播和组播又是另外一组概念,它们是流媒体数据在服务器端和网络上的传输方式。

单播发送时,需要在客户端与媒体服务器之间需要建立一个单独的数据通道,从一台服务器送出的每个数据包只能传送给一个客户机,每个用户必须分别对媒体服务器发送单独的查询,而服务器必须向每个用户发送所申请的数据包拷贝。这种巨大冗余会造成服务器沉重和网络带宽的沉重负担,响应需要很长时间,甚至出现不能服务的情况。单播可以用在点播和广播上。

组播发送时,服务器将一组客户请求的流媒体数据发送到支持组播技术的路由器上,然后由路由器一次将数据包根据路由表复制到多个通道上,再向用户发送。这时候,媒体服务器只需要发送一个信息包,所有发出请求的客户端都共享同一信息包,并且信息可以发送到任意地址的客户机,没有请求的客户机不会收到信息包,网络上传输的信息包的总量没有广播那么多,大大提高了服务器和网络线路的利用率。不过组播也有自己的特点,首先是必须要开始支持组播技术的路由器,另外就是一般只能用作广播,因为用作点播会存在用户控制问题。

好了,说了这么多,您可能都嫌我烦了,那么,就让我们开始架设流媒体服务器之旅吧。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 什么是RTSP

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情