网络视频播放原理

一、什么是流媒体

流媒体是指采用流式传输的方式在Internet/Intranet播放的媒体格式,包含音频、视频、多媒体文件;流媒体在播放前不会下载整个文件,只将开始部分存入内存,在用户访问时对数据包进行缓存,让媒体数据正确地输出,流媒体数据流随时传送随时播放,只是在开始时有些延迟。

二、如何实现流式传输

客户端通过链接视频服务器实时传输音、视频信息,实现“边下载边播放”。实现流式传输有两种方法:实时流式传输(Realtime streaming)和顺序流式传输(progressive streaming)。

1、顺序流式传输(既HTTP流式传输)

即顺序下载音、视频文件,可以实现边下载边播放,不过,用户只能观看已下载的视频内容,无法快进到未 下载的视频部分,顺序流式传输可以使用Http服务器来实现,比如Nginx、Apache等。

2、实时流式传输

实时流式传输可以解决顺序流式传输无法快进的问题,它与Http流式传输不同,它必须使用流媒体服务器并且使用流媒体协议来传输视频,它比Http流式传输复杂。常见的实时流式传输协议有RTSP、RTMP、RSVP 等。


image.png
  • 将原始的视频文件通过编码器转换为适合网络传输的流格式,编码后的视频直接输送给媒体服务器。
  • 媒体服务获取到编码好的视频文件,对外提供流媒体数据传输接口,接口协议包括 :HTTP、RTSP、 RTMP等。
  • 播放器通过流媒体协议与媒体服务器通信,获取视频数据,播放视频。

三、流媒体传输的过程是什么样的?

  • CDN:Content Delivery Network,第三⽅提供的⽹站资源加速下载或传输的⽹络,其原理是把同样的静态⽂件或者实时多媒体流同时发布到电信、移动、联通等运营商的⽹络内,⽅便⽤户就近下载实现更快、更稳定的传输速度。
  • 推流:客户端采集的⾳视频数据,经过编码和⽹络传输,发送给流媒体服务器的过程,服务器可能是⾃⼰搭建的,也可能是CDN提供的。
  • 拉流:客户端或者播放器从服务器下载(拉取)指定的媒体流并在本地播放的过程。

你可能感兴趣的:(网络视频播放原理)