流媒体之所以能够实现多媒体数据的实时播放是采用了专门的网络控制协议和数据传输机制。服务器端有专门的流媒体发布系统,而客户端则有专门的播放器,这两部分都需要通过缓存区进行数据的缓存。
与普通的分组交换网络不同,流媒体系统的缓存区中的数据是在数据传输过程中是动态的,也可以成为交换状态的。数据以堆栈方式进出缓存区,而不需要等待数据全部到达客户机后才从缓冲区被释放出来,由于数据缓冲区中的数据是“流动”的,在加上数据的播放需要维持一个稳定的数据输出速度,随时都要求缓冲区有相应的数据提供给播放器,如果没有相应的数据,则会出现内容播放过程中的暂停和画面的条约。
出现前一种情况一般是由于网络传输速度更不上数据的播放速度,而发生数据的下溢,而后一种情况的发生是由于网络传输速度过快,超过了播放的速度,而又没有适当的传输控制而造成的数据上溢。