一、关于组播、单播和流媒体:
什么是组播;这个问题实际上之前我们在网站上就有相关的文章来专门介绍组播。简单概述就是基于UDP协议通过I一个组播IP传输多个直播源的数据打包和传输方式称之为组播。组播最大的优势在有限得带宽下传输多套高清直播流。这里我们讲一下目前组播最大的应用领域在广电数字电视(DVB-C),以及卫星电视传输(DVB-S/S2包括地面波DTMB实际上是DVB-T),这里可能有的人会觉得概念很模糊,实际上你可以这样理解把一个组播组理解为一个频点,我们都知道不管是卫星或者广电它的一个频点中可以包含有多个频道。
组播传输原理图:
通过上图,我们假设组播传输通道为6兆,那么通过组播数据打包方式,可以在6兆的组播通道中传输4套P的高清直播或者15套P的标清直播,多个客户端观看这一通道中的频道,只需要占用额定的6兆带宽。具象化一点来说就是在一个标准的组播环境中客户端是被动接受的,是否播放该频道取决于客户端对频点的调制和对频道组播流的解包。这个就是真正意义上的组播,或者更准确的说法应该叫UDP多播。
但这种组播方式(实际上应该叫做多播),也有一个致命的缺点,那就是他需要专用的调试芯片去处理打包后的组播流,这并不是软件可以模拟的,而Android是不支持这种调制芯片的,当然也不可能支持真正意义上的组播,所以我们看到的各种包括卫星机顶盒或者广电数字电视机顶盒,他们的基础系统是嵌入式的Linux而不是Android。
IPTV业界所谓的组播是什么?
实际上这是客户最常问的一个问题,每次都要费口舌去解释,所以在这里写下来,希望图文并茂的说法能让更多人理解。已经购买过所谓的组播IPTV系统的朋友,不管你是购买的哪个厂家的产品,你可以去后台观察一下,他们所谓的组播地址一定是以一个组播IP+一个组播端口构成的;
例子:udp://.0.0.1:
当你看到你的iptv系统后台频道地址中是这样的一个组播地址那么就可以确定“你购买的IPTV系统绝对不是真正意义上的组播”。简单来说这种方式应该叫做基于UDP传输的单播流,要注意这种单播流是不需要额外的芯片去解包处理的,而且任何播放器都可以支持例如windows下的vlc,以及任意一款支持H编码或者MPEG2编码的播放器都可以支持。
UDP单播原理图:
从上图中我们可以看到每个客户端在与传输设备之间建立连接的时候都是一个独立6-8兆的带宽占用,而不是真正意义上组播多个设备只占用一个固定带宽的方式。所以有的客户跟我说为什么你们不做组播,组播占用带宽小待机量大云云,每次听到这种说法我都嗤之以鼻,背地里觉得特别可笑,当然这里没有任何嘲讽的意思,我只是在嘲笑那些给客户灌输这种错误思想的厂商有多无耻。
下面我们要说一说什么是单播:
单播传输不管是基于TCP(例如RTMP/RTP/RTSP)或者UDP(刚说完的上一章节所谓的UDP单播),都是一种稳定高效且无延迟(无延迟说法并不准确,但实际应用中单播的延迟基本可以忽略不计“大约1秒以内”)的直播传输技术,这种技术最多被应用于监控,没错就是监控系统中,做过监控特别是数字机的人都知道监控可以通过RTSP协议来播放,RTSP是一种基于MPEG2标准编码进行TCP传输的格式(我这么说是为了大多人可以理解,说的深一点我觉得很多人不会继续看下去而且篇幅会很长)。后来又有了RTMP(支持H了),RTP等多种模式,最初RTMP也是被应用于基于Internet传输直播流的协议,实际上现在大多数的各类直播平台,包括你的QQ视频,
转载请注明:http://www.aideyishus.com/lktp/2633.html