流媒体技术原理
流式传输的实现需要缓存。因为internet以包传输为基础进行断续的异步传输,对一个实时a/v源或存储的a/v文件,在传输中它们要被分解为许多包,由于网络是动态变化的,各个包选择的路由可能不尽相同,故到达客户端的时间延迟也就不等,甚至先发的数据包还有可能后到。为此,使用缓存系统来弥补延迟和抖动的影响,并保证数据包的顺序正确,从而使媒体数据能连续输出,而不会因为网络暂时拥塞使播放出现停顿。通常高速缓存所需容量并不大,因为高速缓存使用环形链表结构来存储数据:通过丢弃已经播放的内容,流可以重新利用空出的高速缓存空间来缓存后续尚未播放的内容。一般流式传输的实现需要合适的传输协议。由于tcp需要较多的开销,故不太适合传输实时数据。在流式传输的实现方案中,一般采用http/tcp来传输控制信息,而用rtp/udp来传输实时声音数据。
流式传输的过程一般是这样的:用户选择某一流媒体服务后,web浏览器与web服务器之间使用http/tcp交换控制信息,以便把需要传输的实时数据从原始信息中检索出来;然后客户机上的web浏览器启动a/vhelper程序,使用http从web服务器检索相关参数对helper程序初始化。这些参数可能包括目录信息、a/v数据的编码类型或与a/v检索相关的服务器地址。
a/vhelper程序及a/v服务器运行实时流控制协议(rtsp),以交换a/v传输所需的控制信息。与cd播放机或vcrs所提供的功能相似,rtsp提供了操纵播放、快进、快倒、暂停及录制等命令的方法。a/v服务器使用rtp/udp协议将a/v数据传输给a/v客户程序(一般可认为客户程序等同于helper程序),一旦a/v数据抵达客户端,a/v客户程序即可播放输出。
需要说明的是,在流式传输中,使用rtp/udp和rtsp/tcp两种不同的通信协议与a/v服务器建立联系,是为了能够把服务器的输出重定向到一个不同于运行a/vhelper程序所在客户机的目的地址。实现流式传输一般都需要专用服务器和播放器,其基本原理如图所示。
魅族mSmart 5G快省稳系统级方案,率先在魅族17上搭载
机器人时代来临,会有新的Intel崛起吗?
开关电源的维修
全自动食品安全检测仪介绍
长电、韦尔等半导体企业入榜2020中国新经济500强
流媒体技术原理
凯氏定氮仪的使用说明以及使用效果的介绍
亚马逊正在赢得智能音箱市场大战的胜利
如何用机器学习解决数据库运维难题
2023 Q3-Q4全球存储市场情况及趋势
重温中国机器人的黄金十年
全球首款柔性OLED屏手机将会在年底发布
TI推出业界首款分立式SuperSpeed USB 3.0收
海尔冰箱冷柜入户服务换新 助力用户实现品质生活升级
重型设备使用物联网技术会变得怎样
Uber和Grab准备合并,新加坡竞争和消费者委员会意欲阻拦
Virtex UltraScale器件的优点
纯电动超跑蔚来EP93月进入国内 将有机会免费试驾
真正的区块链应用应该是什么样子的
Apple Vision Pro的空间计算与主要芯片