传统的网络传输音视频等多媒体信息的方式是完全下载后在播放,下载常常需要花数分钟甚至数小时。
而采用流媒体技术,就可实现流式传输,将声音、影像或动画由服务器想用户计算机进行连续、不间断传输,用户不必等到整个文件全部下载完毕,而只需要经过几秒或十几秒的启动延时即可进行观看。当声音视频等在用户的机器上播放时,文件的剩余部分还会从服务器上继续下载。
网络协议:http,rtmp,rtsp,rtp/rtcp,udp,tcp
如果将文件传输看做一次水流的过程,过去的传输就像对用户做了一个规定,必须等到一桶水接满才能使用它,这个等待的时间自然要受到水流大小和桶的大小的影响。
流式传输,就比如,打开水龙头,等待一会儿,水就会源源不断地流出来,而且可以随接随用,因此,不管水流量的大小,也不管桶的大小,用户都可以随时用上水。从这个意义上看,流媒体这个词是非常形象的。
流试传输时,声音、影响或动画片等时基媒体由音视频服务器向用户计算机的连续、实时传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十几秒的启动延时既可进行观看。当声音等时基媒体在客户机上播放时,文件的剩余部分将在后台从服务器内继续下载。流式不仅使启动延时成十倍、百倍地缩短,而且不需要太大的缓存容量。流式传输避免了用户必须等待整个文件全部从 Internet 上下载才能观看的缺点。
在运用流媒体技术时,音视频文件采用响应的格式,不同格式的文件需要用不同的播放器软件来播放,所谓“一把钥匙开一把锁”。
- Itu:h.261,3,4,5
- Iso:mpeg1,2,4
- Rtmp/rtsp/rtp/…
流式传输定义很广泛,现在主要通过网络传输媒体(如视频、音频)的技术总称。其特定含义通过Internet将影视节目传送到PC机。
实现流式传输有两种方法:实时流式传输(Realtime streaming)和 顺序流式传输(progressive streaming)。
a.顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体,在给定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的前头部分,顺序流式传输不象实时流式传输在传输期间根据用户连接的速度做调整。
Nginx,Web服务器,mp4文件/flv/mov/mkv/ts/rmvb/http
由于标准的 HTTP 服务器(nginx ,apache ,tomcat ,iis)可发送这种形式的文件,也不需要其他特殊协议,它经常被称作 HTTP 流式传输。
顺序流式传输比较适合高质量的短片段,如片头、片尾和广告,由于该文件在播放前观看的部分是无损下载的,这种方法保证电影播放的最终质量。这意味着用户在观看前,必须经历延迟,对较慢的连接尤其如此。对通过调制解调器发布短片段,顺序流式传输显得很实用,它允许用比调制解调器更高的数据速率创建视频片段。尽管有延迟,毕竟可让你发布较高质量的视频片段。
顺序流式文件是放在标准HTTP或FTP服务器上,易于管理,基本上与防火墙无关。
但是顺序流式传输不适合长片段和有随机访问要求的视频,如讲座、演说与演示。它支持现场广播,严格说来,它是一种点播技术。
b.实时流式传输指保证媒体信号带宽与网络连接配匹,使媒体可被实时观看到。实时流与 HTTP 流式传输不同,他需要专用的流媒体服务器与传输协议。实时流式传输总是实时传送,特别适合现场事件,也支持随机访问,用户可快进或后退以观看前面或后面的内容。Realtime transfer protocol : RTP/rtcp理论上,实时流一经播放就可不停止,但实际上,可能发生周期暂停。实时流式传输必须配匹连接带宽,这意味着在以调制解调器速度连接时图象质量较差。而且,由于出错丢失的信息被忽略掉,网络拥挤或出现问题时,视频质量很差。如欲保证视频质量,顺序流式传输也许更好。
实时流式传输需要特定流媒体服务器,如 QuickTime Streaming Server、RealServer 与
Windows Media Server。这些服务器允许你对媒体发送进行更多级别的控制,因而系统设置、管理比标准 HTTP 服务器更复杂。
实时流式传输还需要议特殊网络协议,如:RTSP (Realtime Streaming Protocol)或 MMS(Microsoft Media Server)。这些协议在有防火墙时有时会出现问题,导致用户不能看到一些地点的实时内容。
一般说来,如视频为实时广播,或使用流式传输媒体服务器,或应用如 RTSP 的实时协
议,即为实时流式传输。如使用 HTTP 服务器,文件即通过顺序流发送。采用那种传输方法依赖你的需求。当然,流式文件也支持在播放前完全下载到硬盘。