流媒体的技术,第1张

流式传输是实现流媒体的关键技术。

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

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

流式传输定义很广泛,主要指通过网络传送媒体(如视频、音频)的技术总称。其特定含义为通过Internet 将影视节目传送到PC机。实现流式传输有两种方法:实时流式传输(Real time streaming)和顺序流式传输(progressive streaming)顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体,在给定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的前头部分,在传输期间不根据用户连接的速度对下载顺序做调整。实时流式传输指保证媒体信号带宽与网络连接匹配,使媒体可被实时观看到。实时流式传输根据网络情况调整输出音视频的质量从而实现媒体的持续的实时传送,用户可快进或后退以观看前面或后面的内容。

一般说来,如视频为实时广播,或使用流式传输媒体服务器,或应用如RTSP的实时协议,即为实时流式传输。如使用HTTP服务器,文件即通过顺序流发送。采用哪种传输方法依赖你的需求。当然,流式文件也支持在播放前完全下载到硬盘。 1、编码器:它由一台普通计算机、一块microvision高清视频采集卡和流媒体编码软件组成。Microvision流媒体采集卡负责将音视频信息源输入计算机,供编码软件处理;编码软件负责将流媒体 采集卡传送过来的数字音视频信号压缩成流媒体格式。如果做直播,它还负责实时地将压缩好的流媒体信号上传给流媒体服务器

2、服务器:由流媒体软件系统的服务器部分和一台硬件服务器组成。这部分负责管理、存储、分发编码器传上来的流媒体节目。

3、终端播放器,也叫解码器: 这部分由流媒体系统的播放软件和一台普通PC组成,用它来播放用户想要收看的流媒体服务器上的视频节目。 流式传输的实现需要缓存。因为Internet以包传输为基础进行断续的异步传输,对一个实时A/V源或存储的A/V文件,在传输中它们要被分解为许多包,由于网络是动态变化的,各个包选择的路由可能不尽相同,故到达客户端的时间延迟也就不等,甚至先发的数据包还有可能后到。为此,使用缓存系统来弥补延迟和抖动的影响,并保证数据包的顺序正确,从而使媒体数据能连续输出,而不会因为网络暂时拥塞使播放出现停顿。通常高速缓存所需容量并不大,因为高速缓存使用环形链表结构来存储数据:通过丢弃已经播放的内容,流可以重新利用空出的高速缓存空间来缓存后续尚未播放的内容。——流式传输的实现需要合适的传输协议。由于TCP需要较多的开销,故不太适合传输实时数据。流式传输的过程一般是这样的:用户选择某一流媒体服务后,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程序所在客户机的目的地址。实现流式传输一般都需要专用服务器和播放器,其基本原理如图所示。 今天,288Kbps调制解调器是Internet连接的基本速率,cable modem、 ADSL、DSS、ISDN等发展快,内容提供商不得不要么限制发布媒体质量,要么限制连接人数。根据RealNetwork站点统计,对288Kbps调制解调器,实际流量为10bps到26Kbps,呈钟形分布,高峰在20Kbps。这意味着若内容提供商选择20Kbps固定速率,将有大量用户得不到好质量信号,并可能停止媒体流而引起客户端再次缓冲,直到接收足够数据。一种解决方法是服务器减少发送给客户端的数据而阻止再缓冲,在RealSystem 50中,这种方法称为“视频流瘦化”。这种方法的限制是RealVideo文件为一种数据速率设计,结果可通过抽取内部帧扩展到更低速率,导致质量较低。离原始数据速率越远,质量越差。另一种解决方法是根据不同连接速率创建多个文件,根据用户连接,服务器发送相应文件,这种方法带来制作和管理上的困难,而且,用户连接是动态变化的,服务器也无法实时协调。 智能流技术通过两种途径克服带宽协调和流瘦化。首先,确立一个编码框架,允许不同速率的多个流同时编码,合并到同一个文件中;第二,采用一种复杂客户/服务器机制探测带宽变化。

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

RA:实时声音

RM:实时视频或音频的实时媒体

RT:实时文本

RP:实时图像

SMIL:同步的多重数据类型综合设计文件

SWF:macromedia的real flash 和shockwave flash动画文件

RPM:HTML文件的插件

RAM:流媒体的元文件,是包含RA、RM、SMIL文件地址(URL地址)的文本文件

CSF:一种类似媒体容器的文件格式,可以将非常多的媒体格式包含在其中,而不仅仅限于音、视频。

它可以把ppt和教师讲课的视频完美结合, 很多大学和大型企业使用这套软件进行教学录像和远程教育

1、realnetwork公司:三种

2、apple公司:quicktime\mov

3、microsoft公司

(1)asf\wmv\wma

(2)avi

(3)mpeg\mpg\dat

4、micromedia公司

(1)flash的swf格式

(2)metastream的mts格式

(3)aam多媒体教学课件格式,可将authorware生成的文件压缩为aam和aas流式文件播放 1、RSVP:资源预留协议

2、RTP:实时传输协议

3、RTCP:实时传输控制协议

4、MMS:微软流媒体服务协议

5、RTSP:实时流传输协议

6、MIME:多目因特网电子邮件扩展协议

7、RTMP(RTMPE/RTMPS/RTMPT):Adobe实时消息协议簇

8、RTMFP:Adobe实施消息流协议(P2P协议)

当今的直播业务发展日新月异的大环境下,若企业、机构、政府、学校官方网站甚至是个人的网站主页,要是没有个直播版块或视频点播版块,应该都不好意思说是官网吧。 难为了管理网站的技术人员,购买第三方的直播点播云服务,小并发还比较适合。但往往会预估并发量比较大,计算下来,用云平台根本不划算。 尤其现在很多直播云平台都不再提供按照流量付费的方式,而转以峰值带宽付费方式。对比下来,最终只有自建直播点播服务器。

那么问题就来了。 如何把直播内容+播放器嵌入到网页上呢?网友们也纷纷提问:

ü HTML怎么添加一个直播flash播放器;

ü 如何在网页中放置视频播放代码;

ü 怎么在HTML网页中插入直播视频;

ü 网页嵌入在线直播代码。

那么我们来抽丝剥茧来分析下如何生成嵌入网页的直播的HTML代码呢?

目前市场上直播都已采集先进的流式传输stream方式。那么RTMP流媒体直播系统、RTMFP/P2P流媒体系统或HLS直播系统就是必需的。选择的这种流媒体系统要求:

1 生成flash的HTML播放器代码,嵌入网页保证无需安装插件。

2 手机端采用HLS协议,H5技术,保证安卓和苹果移动端也不需要安装任何插件。或者提供M3U8的视频播放地址,开发APP调用视频进行流式播放。

3 直播系统如Adobe Media Server或800Li Media Server能够自适应多种播放终端。

PC上用flash的HTML代码示例 (object+embed标签)

现在很多直播系统软件的安装和部署都设计很简洁,管理都是web网页观看,没有繁杂的操作步骤,简单易懂。 当然也会直接提供直播内容插入网页的HTML标签,考虑兼容性都会有obeject标签+embed标签两种。 如下图:

代码如下:

<script type="text/javascript" src="http://192168144:8083/assets/playerjs"></script>

<script type="text/javascript">p2ps_embed("auto", "live", "http://192168144:8083/videos/live/22/39/tUabV17nAPCev",

"p2ps_video", "640", "480", "1010", "http://192168144:8083/assets/expressInstallswf",{}, {allowFullScreen:true,

allowScriptAccess: "always"});

800Limediaserver</script><div id="p2ps_video"><h1>我们需要Flash player 101 或以上版本来播放。</h1><p><a href=

"http://wwwadobecom/go/getflashplayer"><img src="http://wwwadobecom/images/shared/download_buttons/get_flash_playergif" alt=

"安装最新的Flash player" /></a></p>

</div>

嵌入网页显示:

转发其他人的直播,如爱奇艺,优酷等,会提供分享嵌入网页代码。 如下图:

在过去的几年中,Adobe Flash Media Server已经为Web的绝大部分的视频提供功能支持,并且它是目前你在Web中体验到的一些最受人瞩目的和质量最好内容的焦点。 Adobe传统的流媒体协议RTMP(实时消息协议)已经服务和保护数百万小时的视频并且利用有史以来Web网站中一些最盛大的活动为更多的观看者提供新的在线体验。 利用 Adobe Flash Media Server 4 和 Adobe Flash Player 101,这一体验进化仍在继续,它能够通过先进的传送方法在多个网络帮助提供更高质量的体验,其中包括具有新的RTMFP协议的对等互助网络(peer-assisted networking)的先行的Premiere。

当今的视频传送和使用比三年之前更为零碎和复杂。 多比特速率可以确保不间断观看体验,而多屏幕尺寸通过对你的内容进行移植能够帮助增加你的用户数量。 然而,随着更多屏幕的推出,将会出现更多支持网络和更多发布工作流,也会带来更大的复杂性。 而这正是Flash Media Server 4能够帮助的领域。

利用Flash Media Server传送视频能够降低媒体发布的复杂性,因为你知道只要有Flash Player存在,你就可以获得一致的编解码支持、保护和高质量的体验。 Flash Media Server 4能够为发布者提供极为简单的工作流,以便利用为不同网络优化的多种协议来发布和保护视频。 这是Flash Media Server为什么能够降低复杂性的原因。

2Flash Media Server 4版本概述

编辑

为了满足你能够便捷地开始传送更高质量的媒体体验和互动应用程序的要求,你具有下面4个可以选择的版本:

Flash Media Streaming Server 4:一款能够启动传送HD视频的优秀、低成本选项,它利用广播公司使用的相同实时内容保护措施来保护大部分你目前收看的收费视频。

Flash Media Interactive Server 4: 一项在Flash Media Streaming Server中实现的很合理的设置,它能够利用DVR支持、实时F4F打包技术(基于业界标准MP4-HTTP传送的碎片优化)和IP多播支持,增加你的容量和媒体传送的选项。 该互动服务器也是多用户应用程序的中心,例如具有运行于TCP(目前UDP)的低时延协议的视频聊天和视频归档。

Flash Media Enterprise Server 4: 终极产品,它能够使用具有新的RTMFP协议的对等互助网络(peer-assisted networking)控制大规模媒体传送。 该服务器能够用于在你的企业网中传送更高质量的媒体或将其传送给你的客户,或者用于在大大降低的带宽和基础设施成本的情形下提供用户生成的体验。

Flash Media Development Server 4:你可以使用Flash Media Enterprise server的完全版开始测试和开发你的应用程序。 该版本包含对等互助网络(peer-assisted networking)的完全支持功能,最多可以支持50个对等连接和10个RTMP连接。

3Flash Media Server 4功能概述

编辑

当与Flash Player 101和 AIR 2 组合使用时,Flash Media Server 4的所有版本具有下列新的特点和功能(Flash运行环境的移动版也能支持这些功能):

HTTP动态流媒体源服务(HTTP dynamic streaming origin services) (预配置Apache web服务器)支持Flash Media Server 4 用作一个F4F文件格式的源。

绝对时间代码(Absolute timecode) 允许你对音频和视频流进行同步以便支持多摄像角度、音频feed、广告线索和其它数据feed。

动态流媒体的更快速交换功能(Faster switching for dynamic streaming) 可以通过具有RTMP流媒体协议的更快速交换时间来改善多比特速率视频的体验,而RTMP流媒体协议能够减少由波动网络引起的中断。

RTMP缓存改进功能(RTMP buffer enhancements) 通过快进、快退和即时回找功能支持新的预看体验,而这些功能使得你可以提供更为令人心动的体验。

64-位平台(64-bit platform) 可以充分利用大内存空间,支持更大文件以及使得附加的资源可用。

新平台(New platforms) 支持 Microsoft Windows 2008、Red Hat Enterprise Linux 5和CentOS 53(一种免费企业级操作系统)以帮助降低总拥有成本(total cost of ownership)。

差异化服务(Differentiated services(DiffServ)支持尽力而为(best-effort)业务保证的服务质量(quality of service),这样你可以确保你的通信和媒体不会中断。

在所有版本的这些公共功能之外,Flash Media Interactive Server 4 还添加了下列功能:

IP多播功能(IP multicast)完全支持IP多播以支持你的业务充分利用使用Flash创建的优秀视频体验的优势,而无需压垮你的网络,并且充分利用现有的支持多播网络。

HTTP动态流媒体实时F4F打包功能(HTTP dynamic streaming live F4F packaging)支持你从任何实时流媒体或服务器侧播放列表(线性流媒体)中生成F4F文件,这些媒体流或播放列表可以利用嵌入Apache服务器传送,或将它们作为内容传送网络的一个源使用。 UDP单播传输功能(UDP Unicast transport)能够充分利用使用UDP服务器-客户端传输的极低时延的优势。

您应该是想要用FMS的RTMFP功能, 但是FMS的版本太旧了需要花钱升级

蘇州八百里科技的Server我有安装并测试过, 貌似基於FMS开发并加上客制的管理介面

我在公司内部进行测试时是无法分享的, 上传RTMP流的发布者回放则正常

服务器负载没做过大量测试是无法比较的, 但若底层一样都是FMS, 性能差不多

但是原装的FMS可以串接进行负载平衡, 万一一台撑不住还能保持服务

希赛网 > 问答 > 程序开发 > Web开发 > Web前端 > 利用RTMFP开发P2P使用

利用RTMFP开发P2P使用

提问者: star_onlight 发布时间:2014-06-09 浏览:137 回复:0 悬赏:00希赛币

利用RTMFP开发P2P应用

  flash10使用RTMFP 开发点对点P2P应用

通过Stratus 服务器在Flash Player中使用RTMFP 开发 点对点应用

Adobe Flash Player 10 和 Adobe AIR 15 引入了一个新的通讯协议,Real-Time Media Flow Protocol (RTMFP),其低延迟,端到端的对等功能,安全性和可扩展性使它特别适合开发实时协作应用,不仅提供卓越的用户体验,而且运营商降低成本。

早 前的Flash Player 版本使用Real-Time Messaging Protocol (RTMP) 需要Adobe Flash Media Server (FMS)提供合作应用(例如 Adobe Acrobat Connect Pro)或者音频视频流。RTMP是streaming media, shared objects, 和 remoting连接的卓越选择,它满足实时性要求的交互式音频和视频通信的能力有限。

为了能够使用RTMFP,Flash Player 客户端必须连接到一个支持RTMFP协议的服务器,例如Adobe Stratus beta 服务器或者是新版本的FMS。Stratus 是一台用于Flash Player 客户端间通信的主机。不同于FMS, Stratus 不支持视频转播,shared objects,脚本,等。因此,使用Stratus,只可以开发Flash Player的客户端直接相互交流的应用程序。

Flash Player 已经在web视频领域占有重要的市场份额。由于采用RTMFP和先进的媒体压缩技术,将有利于Flash Player 10处于实时通信的领先地位。

在这篇文章中,我首先强调在即时通讯领域使用RTMFP的优势。其次,我将要介绍直接管理点对点RTMFP管理所对应的新的ActionScript 30 API。最后,我介绍我们的VideoPhone应用实例。

Requirements

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

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情