您的位置:首页 > 其它

基于RTMP和RTSP的流媒体转发和并发框架 一、概括

2017-12-28 13:24 1416 查看
概述:

       本人从事流媒体工作已经有两年时间了,从开始的一无所知到现在的略窥门道,中间免不了看各位前辈的博客,并从中受益良多。我虽不才但是也有一些自己对流媒体方面的见解,希望分享给大家。这个框架的内容引用的所有的第三方开发包都是开源的在网上都可以下到。

       流媒体的整个过程可以分为以下几个阶段:数据采集、数据处理、数据转发、流媒体服务并发、信令调度、资源发布。

数据采集:是从设备终端采集音频、视频等数据。数据采集因设备而异。有的设备支持共有协议(比如:ONVIF协议、RTSP协议等),这时侯我们用公有协议的SDK就可以轻松取流。有的设备不支持公有协议只有自己的私有协议,这时候需要设备的私有协议SDK针对开发。现在绝大多数网络摄像头都是支持共有协议的。

数据处理:在我们从设备端采集到数据我们会发现,设备端采集到的数据五法八门、奇奇怪怪。这个时候需要把采集到的数据转换成我们流媒体系统支持的格式。比如我们设定我们的流媒体系统只支持H264和AAC。那么就需要将所有采集到的视频数据都转换成H264格式,将所有采集到的音频数据转换成AAC格式。

数据转发:我们的流媒体系统是由很多个流媒体结点构成的,流媒体节点分布在不同的区域中,同一资源要在所有区域提供给用户,需要将同一资源转发给所有的流媒体节点。

流媒体并发:流媒体并发服务器是对用户提供服务的最终接口。它需要拥有很高的并发能力来满足大量用户的服务需求。这个部分我使用nginx-rtmp-module做并发服务。他的并发能力现在还没有测试。但是它可以发送RTMP和HLS两种流,我们很容易在WEB或客户端播放流媒体数据。

信令调度:在流媒体系统中信令调度的作用是资源分配,流媒体节点组网等工作,它是流媒体系统的大脑。信令调度可以是集中式的也可以是分布式的。

资源发布:通过WEB或者客户端发布资源,就像YY等直播平台一样。信令调度和资源发布放在一起就是一个流媒体平台。用户通过资源发布服务获取资源列表,选择自己需要的资源。

框架框架图:



后续会逐步分析各个阶段的技术细节和具体实现,敬请期待。






     
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐