本发明涉及流媒体传输,尤其是一种分发性能高,负载均衡的视频流分发方法。
背景技术:
在开发流媒体平台的过程中,为了解决前端设备,如摄像机、IPSAN或DVR等设备的压力,翼板都采用了流分发策略。在硬件环境同等的条件下,如何提高分发效率是一个技术难题。当前普遍采用的方式有两种:
1、数据源和分发处理在同一个线程,此种方式分发效率不高,且分发的份数也不多;
2、每个分发对象是一个线程,此种方式过多占用线程资源,每个线程没有得到充分利用,线程过多在线程切换时也会消耗资源;
以上两种方式在请求者过多时都会出现接收延时,显示滞后的问题,没有考虑到负载均衡。
技术实现要素:
本发明所要解决的就是现有流媒体分发过程中,分发效率低,资源占用高,导致接收延时,显示滞后的问题,提供一种分发性能高,负载均衡的视频流分发方法。
本发明的视频流分发方法,其特征在于该方法包括数据源线程与分发线程,一个数据源线程对应N个分发线程,一个分发线程仅对应一个数据源线程;具体分发步骤如下:
1)、建立线程池,将线程池中的线程分为数据源线程和分发线程,并建立对应原则;
2)、为数据源线程建立循环队列,该队列默认缓存50帧数据,循环队列的头指向新入队列的数据,循环队列的尾指向获取数据的位置;
3)、每个分发线程有一个指向共享队列取数据的指针,指针初始指向位置是循环队列的头的上一帧数据;
4)、设定分发线程