因特网上的音频/视频服务
2016-06-10 16:31
381 查看
一、概述
技术的进步使许多用户开始利用因特网传送媒体/视频信息。在许多情况下,这种视频/音频成为多媒体技术[1]。本来电路交换的公用电话网传送多媒体信息已经是相当成熟的技术。例如视频会议(又称电视会议)原先是使用电路交换的公用电话网。使用电路交换的好处是
保证了传输的质量。但是向电信公司租用电话线路的
价格太高。
多媒体信息(包括声音和图像)和不包含声音和图像的数据信息有很大的差别,具体有下面两个:
1. 多媒体信息的信息量很大
2. 在传输多媒体数据时,对
延时和
延时抖动[2]
大家应该知道模拟的多媒体信号只有经过
数字化之后才能在因特网上传输。就是对
模拟信号[4]要经过采样和数模转换为
数字信号[4],然后将一定数量的比特组装为分组进行传送。这些分组在发送时的时间间隔是
恒定的,通常称这样的分组是
等时的。
但是因特网本身是不等时的。这是因为在IP协议的因特网中,每一个分组是独立传送,因而这些分组在都爱打接收端的时候就变为
非等时的。如果我们在接收端对这些非恒定的速率到达的分组变接受变还原,那么就一定会产生较大的失真,请看下图中的图8-1
要解决这个问题可以在接收端设置适当大小的缓存[5],当缓存到达一定数量的时候在以恒定的速率按顺序顺序将这些分组读出进行还原播放,如上图中的图8-2,从图中我们也可以看出环迅实际上就是一个先进先出的队列。图中标明的T叫做
传播时延。这样一来就在很大的程度上
消除了时延的抖动但是付出的代价是
增加了时延。
实时的数据传输在
运输层使用的是UDP而不是TCP这也就是说,对于传送实时的数据,宁可
丢失少量的数据,也
不能晚到达分组。
丢失容忍是实时数据的一个重要的特点。
由于分组的到达可能是不按照顺序的,但将分组播放和还原的时候又应当是的按序的,因此在发送多媒体分组的时候还应该给每一个分组加上
序号,这标明需要有相应的协议支持才行。
还有一种情况,就是要使接收端能够将节目本来存在的正常的的分组短时间停顿(就好像音乐要停顿几拍)和因某些分组的较大延迟造成的“停顿”区别开。这就要增加一个
时间戳,以便告诉接收端应该在什么世界播放哪个分组。
在目前因特网提供的音频/视频服务大体上可分为三种类型:
– 流式存储音频/视频
– 流式实况音频/视频
– 交互式音频/视频
二、流式存储音频/视频
传统下载音频/视频过程:2.1具有源文件的万维网服务器
元文件就是很小的文件,他描述其他文件的一些重要的信息2.2 媒体服务器
媒体服务器也称流式服务器,它支持音频/视频的传输2.3实时流式协议RTSP
实时流体协议RTSP是为了给流式过程增加更多的功能而设计的协议,RTSP本身并不传送数据,而紧急是使媒体播放器能够控制多媒体流的传送,因此RTSP有称为带外协议
[1]多媒体信息:多媒体数据和传统数据信息不同,它是指内容上相互关联的文本,图形,声音动画和活动图像等所形成的符合数据信息。
[2]延时抖动:最大延迟与最小延迟的时间差,如最大延迟[3]是20毫秒,最小延迟为5毫秒,那么网络抖动就是15毫秒,它主要标识一个网络的稳定性
[3]网络中的延迟是指信息从发送到接收经过的延迟时间,一般由传输延迟及处理延迟组成
[4]数字信号和模拟信号:
[5]缓存:这里的缓存请不要和传输层TCP缓存弄混,这里的缓存是应用层的缓存
相关文章推荐
- 【小结】AC自动机
- Oracle学习 第1、2天之高级查询
- 用Qt 调用GDB调试 Arm程序 详细步骤----可单步执行每一行
- js 输出html的表格数据到 excel
- 当下要真硬着性子把Android学下去, 定会是移动互联台上的角儿
- 新一代分布式任务调度框架:当当elastic-job开源项目的10项特性
- Android点击事件的三种写法
- Pascal's Triangle
- spring开发 MethodInvokingFactoryBean的学习
- coyote
- offsetof' was not declared in this scope
- 第七届山东省ACM省赛
- RecyclerView的Adapter的抽取
- reflection
- Qt下使用GDB远程调试ARM板
- 神经网络
- Java POI读取Excel 2003/2007/2010例子
- Spring 的Helloworld
- openwrt 编译node.js功能(解决Illegal instruction错误)
- win7升级到win10所遇到的坑