今天新增加一个分类,流媒体技术,其实早就该添了.
很多朋友问媒体文件的顺序下载播放和流传输播放有什么区别,我这里整理一下:
流式传输有顺序流式传输(progressive streaming)和实时流式传输(Realtime streaming)两种方式。顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体。由于标准的HTTP服务器可发送这种形式的文件,也不需要 其他特殊协议,它经常被称作HTTP流式传输。顺序流式文件易于管理,但不支持现场直播,严格地说是一种点播技术。
实时流式传输与顺序流式传输不同,他需要专用的流媒体服务器与传输协议。实时流式传输总是实时传送,特别适合现场事件。实时流式传输必须匹配连接带
宽。这意味着图像质量会因网络速度降低而变差。实时流式传输允许你对媒体发送进行更多级别的控制,因而系统设置、管理比标准HTTP服务器更复杂。
还有一种方式是把文件整个下载播放,这个大家都很清楚,就不多叙述了。
HTTP流式传输的优点:
适合较小的文件
不需要特殊的服务器软件,WEB服务器一抓一大把
在低带宽的网络连接下也可以工作,大不了下载完成再看:)
高带宽(带宽大于流文件的比特率),可以实现边下载边播放,就像流方式一样
可以适用于任何文件类型
网络丢包会重新传输直至用户收到
可以穿过几乎所有防火墙(这是使用web方式的好处)
HTTP流式传输的缺点:
不能实现广播或者多播
不能广播实况流
当带宽很大时,传输的速度大大超过需要的速度,对服务器压力太大,也浪费带宽
不能跳过头部,必须先下完前面的才可以看后面的(这个应该可以克服)
客户端的磁盘可以保存节目(这个可以说是优点也可以说是缺点)
实时流方式的优点:
可以实现实况转播,可以实现广播和多播
素材可以随机访问
节约用户的磁盘空间
不浪费带宽
不会在客户的硬盘留下copy(可惜啊,现在n多的流下载工具)
可以传输一个文件中的独立流(智能流技术)
可以实现每个流的带宽分配,带宽补偿等功能
实时流方式缺点:
需要使用专用的流服务器
假如文件比特率超过连接速度,观看将会断续,这个很难让人忍受,所以高质量(也就意味着告高比特率)的片子一般都是下载到硬盘上看
丢失的包将会永久丢失(流服务器一般都有一定的丢包重传机制)
很多格式的媒体文件不能使用流式播放(看看TS和PS的概念)
有可能被防火墙挡住
可变码率(rmvb,一部分wmv)的片子不适合流式播放,除非你的连接带宽比文件的峰值还高,这个可以使用一些服务端和客户端技术得到改善
其他区别:
流式传输一般使用rtp/rtcp mms rtsp http(这个和web的http有所不同)协议,渐进式下载一般使用http协议,偶尔用ftp
目前很多国内厂商都采用HTTP流式传输模式,因这种模式比较简单,所遇到的关键技术也不多,特别对于Server端来说,基本上做好文件分发就行了,不
过正在实现VOD,还需要采用Rtp/rtsp协议(否则http诞生已久,也没有必要再搞流式传输协议了吧),流式传输协议
(RTP/RTSP/RTCP)好处控制灵活,负责传输的和负责控制的采用不同的协议包,传输采用高效的UDP(即Rtp)来实现,控制采用TCP(即
RTCP).
上面作者写的RTP/RTSP缺点有点不准确。
1、当码流大于链接速度的话,采用任何协议都不能正常看了,不过你要是需要的话可以把客户端缓冲时间设的足够大,这样仍然可以观看的。
2、这是流媒体传输的特点,丢包不予处理,当然RTCP/RTSP提供了补包机制,要比http协议有用的多,完全可以把丢失的包补回。
3、采用流式播放,就需要服务器对媒体文件进行解析,这样就要求进行播放之前预处理媒体格式。其实任何媒体格式都可以采用RTP/RTSP进行流式播放
的,只是我们常看到的利用RTP/RTSP协议的StreamingServer,如Ms Media Server,Helix
server,或Darwin Streaming
server都是只支持自己的格式,所以造成的误区,(想了解支持多种格式的采用RTP/RTSP协议的流媒体服务器,可以联系我http://www.kuihua.net或Goury@kuihua.net)。
4、可变带宽的也是可以的,因为可以利用播放的空隙,进行码流平滑,这个可以有Streaing Server来完成。
你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=1085684