| 让流媒体在IP上自由翱翔 |
|
作者:佚名 文章来源:pcdog|http://www.pcdog.com 点击数: 更新时间:2004-12-7 1:17:28  |
|
测试数据包仅做测试用,上面带有相应的时间和顺序信息,其内部数据并无任何意义。
需要向RTSP增加一个新的方法TEST,以支持这种传输前的测试工作。
(2) TCP传输
如果在TCP测试中,客户端反馈良好,即丢包率在可承受范围之内,并且在规定时间内到达,那么就认为客户端同服务器之间的网络状况良好, 可以采用RTP over TCP的方式发送数据。由于TCP没有丢包(其自身具有重传机制),网络状况又属于良好,因此客户端将有较高的视听享受。
当子网内存在防火墙时,就需要采用RTSP附加数据传输方式。即把音视频数据直接打包,在RTSP通信信道内传输。这种传输方式也存在一定的问题:
● 传输过程中,只是把音视频文件当成一个普通文件来处理,而没有考虑到它的音视频特性,不利于以后的扩展。
● 音频与视频文件没有分离,不利于某些特殊需求的场合。例如,客户端需要对音、视频做不同的处理。
● 客户端的反馈和RTSP的控制信息也是通过同一条RTSP信道传送,因此控制效率不高。
因此,一般情况下,都默认使用RTP over TCP的方式发送数据。
(3) UDP传输
如果在TCP测试中,客户端的反馈存在比较大的问题,即网络情况不理想,就应该考虑进行UDP测试。
目前初步采取的措施,在服务器端准备了两种码率的视频文件——高码率和低码率。
收到客户端的TEST方法后,将采用UDP协议下发测试包。采取的策略是每间隔2秒,下发一个1500字节的UDP数据包。当丢包率处于一定范围(75%~85%)之内,就认为客户端的网络状况基本良好,可以下发高码率的电影文件;否则,认为测试不成功,由于网络状况的限制,仅对客户端下发低码率的电影文件。
在基于UDP的播放过程中,可能会出现轻微的马赛克,这是完全可以接受的。这些马赛克出现的主要原因是:
● 不可靠连接造成的网络丢包,为客户端被动丢包。
● 高质量文件(DVD->MP4)的高数据量,使得客户端解码线程和显示线程出现拥塞,从而出现客户端主动丢包。
但从整体而言,UDP传输消耗的带宽,要比TCP小许多。在一般的视频点播要求下,使用基于UDP的传输线路,是完全可以满足要求的。
(4) 传输反馈
在传输过程中,主要采取的方式是RTP over TCP或RTP over UDP,因此,在RTP端口之外,还存在一个回传端口RTCP。
在服务器收到客户端的RTCP回传信息后,需要对其进行判断。如果客户端的丢包率、解码率等指标在一定限度之下,就认为目前传送的视频文件可令客户端获得最大程度的音视频享受;否则,考虑改为传输更低码率的视频文件或放弃这次RTSP会话,以避免更大范围的拥塞。
(5) 实际效果
采取如上方法设计的系统,可以满足视频点播的基本要求,避免了服务器视频文件下发的盲目性,同时使客户端应用效果最好。
引入智能流技术
随着针对流媒体技术研究的不断深入,简单的流媒体实现已经不能满足人们日益增长的网络文化需求。即使在宽带条件下,当网络用户达到一定限额时,简单的流媒体技术将面临着网络拥塞、丢包等常见的网络问题。因此,如何在网络出现异常的情况下,依然保证客户端音视频享受的最大化,就成为现在研究的热点。
一种解决方法是服务器减少发送给客户端的数据而阻止再缓冲,在RealSystem 5.0中,这种方法称为“视频流瘦化”。这种方法的限制是RealVideo文件必须是一种数据速率设计,结果可通过抽取内部帧扩展到更低速率,导致质量较低,离原始数据速率越远,质量越差。
另一种解决方法是根据不同连接速率创建多个文件,根据用户连接,服务器发送相应文件,这种方法带来制作和管理上的困难,而且,用户连接是动态变化的,服务器也无法实时协调。
智能流技术通过两种途径克服带宽协调和流瘦化:首先,确立一个编码框架,允许不同速率的多个流同时编码,合并到同一个文件中;第二,采用一种复杂客户/服务器机制探测带宽变化。
上一页 [1] [2] [3] 下一页 |
| 文章录入:admin 责任编辑:admin |
|
上一篇文章: 流媒体服务器及其应用
下一篇文章: 架设流媒体服务器 网上直播自己做 |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |