流媒体服务器学习

我们希望基于Flask框架在树莓派上搭建一个流媒体服务器。该应用将树莓派摄像头所捕捉到的图像实时的在web端进行显示。

这篇文章 motion-jpeg (an update)基于 Flask 框架,将视频源分割成独立的图片,采用 Flask 的 generator 函数实现了视频的实时播放。其特点在于简单宜用,缺点在于视频质量较差。这种方法广泛用于 IP security camera 应用中。

对于高质量的流媒体播放,其技术路线需要从两个方面展开。一种就是录播类的媒体播放,如我们平时所浏览的视频类网站。另一种则是实时的媒体播放,如直播网站。当我们考虑高质量流媒体播放时,我们需要采用一些流媒体协议例如:HLS、RTSP 或 RTMP等。如果从另一个角度考虑,可以将流媒体协议分为另外两部分。

1. Adobe Flash: RTMP、RTSP、RTP、RTCP、HTTP-FLV

2. HTML5:            HLS、WebSocket、WebRTC

关于HLS的介绍可以参见 Jerry QU 的博客。该博客写于2015年,当时主要的商用协议为RTMP和HLS。

对于流媒体直播还需要考虑 CDN 技术(尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上)。类似于快递小哥

你可能感兴趣的:(流媒体服务器学习)