串流媒体查看源代码讨论查看历史
串流媒体 | |
---|---|
串流媒体是指一种透过网路传送播出的影音媒体形式,与传统媒体特别不同之处在于其播送方式,传统的影音媒体由于并非针对透过网路播放这种需求而设计,当透过网路传送来观看时,必须在收看前先下载全部的影音内容。这种方式往往因为公共网路频宽不足的影响,使得下载所需时间甚长,影响一般观看者的收看意愿。[1]相反地,串流媒体是配合透过网路播送收看的需求而设计,这种影音媒体形式可以经由分批传输的模式传送至用户端,因此,用户端可以一边下载一边收看已经备妥的影音片段,于是,只需等待相对短暂的初始片段下载时间,就可以收看完整的影音内容。
串流媒体有两种应用模式:即时(on live)与非即时(on demand)。即时模式是指某处现场正在发生的景物,透过摄影录音成为影音内容,即时进行压缩编码(encode)处理后,立刻经由伺服器在网路上传送现场的影音内容至播放器播出,如图一所示,例如:视讯会议、视讯监控等应用。另一方面,非即时模式则是指预先录制的影音内容,同样经过压缩编码处理而存放于伺服器端,当用户端提出收看要求后,才从伺服器内调出档案,透过网路传送到用户端的播放器中播出。
按广播方式:
‧ 多点广播(Multicast)-可提供对多人同时播送,降低对网路频宽的需求,但无法提供随选视讯
‧ 单点广播(Unicast)-可以提供随选视讯,但可连线的用户数量受限于网路频宽
串流媒体在网际网路上的传输方式主要有两种,一种是HTTP/TCP,另一种是RTP/UDP。以HTTP(HyperText Transfer Protocol)为基础的WWW是网际网路上使用最广的服务之一,利用HTTP 协定可以让串流媒体得以穿过防火墙的阻隔,且将串流媒体放在WWW上可以让使用者方便的取得这些内容,然其缺点在于TCP(Transmission Control Protocol) 通讯协定将会导致传输速度的减缓,进而增加串流媒体所需要的频宽,且串流资料必须事先放置于网页上而无法达到真正即时的效果。另外使用RTP(Real Time Protocol)/UDP (User Data Protocol)的优点在于UDP 可以提供较好的传输效率,且可以达到真正即时的效果并提供群播等有效率的传输方式,但有防火墙的问题则需要在防火墙两端加装translator的设备以便穿过防火墙。
串流技术(传输协定)的分类
• 第一类串流技术利用标准的网页伺服器 (Web server)将多媒体资料送到使用者的播放器播放。
• 第二类串流技术是利用独立的串流伺服器(streaming server)将多媒体资料送到使用者的播放器上播放。
• 第三类串流技术叫Clientless Streaming,播放器不是内建在用户端,而是在串流过程中才送到使用者手上。
第一类串流技术是利用标准的网页伺服器将多媒体资料送到使用者的播放器上播放。因为标准的网页伺服器是遵守HTTP通讯协定,所以称为HTTP Streaming,HTTP streaming 是最先在市场上出现及运用的串流方式,使用这种方式的好处是只要使用一般的网页伺服器,并不需要再另外建置专属的串流伺服器,所以也称为Serverless Streaming 或是Pseudo Streaming。因为使用HTTP 协定不容易自动侦测当时的网路环境,所以必须先备妥各种速率的资料,以适用于不同频宽的网路环境,而会造成伺服器端硬碟储存空间的浪费,又因为HTTP 的传输层是使用TCP通讯协定,当传输资料遗失时会要求重传,因此容易造成延迟。[2]
在使用HTTP streaming 前,多媒体资料必须先包装成符合网页伺服器的特定格式,像RealPlayer 所使用的Real Media Format(.rm)格式或Window Media Player 所使用的Advanced Streaming Format(.asf)格式。
第二类串流技术是利用独立的串流伺服器将多媒体资料送到使用者的播放器上播放,称为True Streaming,一般又称为RTP Streaming,遵守RTP通讯协定,RTP 非常类似HTTP 与FTP (File Transfer Protocol),不过它是针对即时串流的特殊需求所设计。RTP 会以一定的速率,传送一条单向的资料流到播放器,只要有足够的网路频宽传送资料,播放器就会立即播放媒体资料。播放完后,资料就会消失不见,在使用者的硬碟内不会储存有任何的档案。若要重播需透过与串流伺服器再一次连线才行。
RTP 的传输层是使用UDP,UDP 在资料递送方面,会比TCP 快速且有效率,因此可有效避免延迟现象。但因UDP 缺乏回报资料遗失的机制,所以在网际网路或无线网路串流中,会有资料遗失的情况,影响品质下降。另外大部份公司和企业的防火墙都会档掉UDP,所以在防火墙内是无法接收到借由UDP 递送的串流,想要在有防火墙的情况下使用RTP,必须使用HTTP tunneling 技术,亦即将RTP 封包包裹在HTTP 封包内,以方便通过防火墙。但HTTP tunneling 会增加许多额外的资料,占掉更多的频宽。
RTP 又可搭配RTCP (Real Time Control Protocol)与RTSP (Real Time Streaming Protocol)。RTCP 可自动侦测现在的网路频宽。RTSP 支援伺服器与播放器双向沟通,使用者可以透过RTSP 下指令给伺服器如暂停、快转、倒带及跳到下一章等动作。
第三类串流技术叫Clientless Streaming,播放器不是内建在用户端,而是在串流过程中才送到使用者手上。这类技术主要应用在行动装置上,尤其是支援Java 技术的平台。这类应用的使用者并不需在用户端安装太多的程式,只有在实际需要时,才透过OTA (Over The Air)将Java 版的播放器送到用户端安装并播放串流档案。
影片
上教学-同步教学篇-以YouTube串流媒体示范
参考资料
- ↑ 串流媒体stream media10.2012
- ↑ 串流媒体02.03.2021 MoneyDJ理财网