【技术实现步骤摘要】
本专利技术涉及流媒体传输,尤其是一种分发性能高,负载均衡的视频流分发方法。
技术介绍
在开发流媒体平台的过程中,为了解决前端设备,如摄像机、IPSAN或DVR等设备的压力,翼板都采用了流分发策略。在硬件环境同等的条件下,如何提高分发效率是一个技术难题。当前普遍采用的方式有两种:1、数据源和分发处理在同一个线程,此种方式分发效率不高,且分发的份数也不多;2、每个分发对象是一个线程,此种方式过多占用线程资源,每个线程没有得到充分利用,线程过多在线程切换时也会消耗资源;以上两种方式在请求者过多时都会出现接收延时,显示滞后的问题,没有考虑到负载均衡。
技术实现思路
本专利技术所要解决的就是现有流媒体分发过程中,分发效率低,资源占用高,导致接收延时,显示滞后的问题,提供一种分发性能高,负载均衡的视频流分发方法。本专利技术的视频流分发方法,其特征在于该方法包括数据源线程与分发线程,一个数据源线程对应N个分发线程,一个分发线程仅对应一个数据源线程;具体分发步骤如下:1)、建立线程池,将线程池中的线程分为数据源线程和分发线程,并建立对应原则;2)、为数据源线程建立循环队列,该队列默认缓存50帧数据,循环队列的头指向新入队列的数据,循环队列的尾指向获取数据的位置;3)、每个分发线程有一个指向共享队列取数据的指针,指针初始指向位置是循环队列的头的上一帧数据;4)、设定分发线程的分发数量上限;5)、当新分发任务添加时,先找到该任务的数据源线程,此时有以下两种情况:A、该任务未建立数据源线程,则从线程池中抽取空闲线程创建数据源线程,同时抽取线程池的空闲线程建立该任务的分发线程;B、 ...
【技术保护点】
一种视频流分发方法,其特征在于该方法包括数据源线程与分发线程,一个数据源线程对应N个分发线程,一个分发线程仅对应一个数据源线程;具体分发步骤如下:1)、建立线程池,将线程池中的线程分为数据源线程和分发线程,并建立对应原则;2)、为数据源线程建立循环队列,该队列默认缓存50帧数据,循环队列的头指向新入队列的数据,循环队列的尾指向获取数据的位置;3)、每个分发线程有一个指向共享队列取数据的指针,指针初始指向位置是循环队列的头的上一帧数据;4)、设定分发线程的分发数量上限;5)、当新分发任务添加时,先找到该任务的数据源线程,此时有以下两种情况:A、该任务未建立数据源线程,则从线程池中抽取空闲线程创建数据源线程,同时抽取线程池的空闲线程建立该任务的分发线程;B、该任务存在数据源线程,找到该数据源对应的所有分发线程,从中找到任务量最少的分发线程,若所有分发线程均达到分发上限,则抽取线程池的空闲线程建立该任务新的分发线程;6)、当数据源线程销毁时,释放该数据源线程以及其对应的所有分发线程,数据源线程及分发线程进入线程池待用。
【技术特征摘要】
1.一种视频流分发方法,其特征在于该方法包括数据源线程与分发线程,一个数据源线程对应N个分发线程,一个分发线程仅对应一个数据源线程;具体分发步骤如下:1)、建立线程池,将线程池中的线程分为数据源线程和分发线程,并建立对应原则;2)、为数据源线程建立循环队列,该队列默认缓存50帧数据,循环队列的头指向新入队列的数据,循环队列的尾指向获取数据的位置;3)、每个分发线程有一个指向共享队列取数据的指针,指针初始指向位置是循环队列的头的上一帧数据;4)、设定分发线程的分发数量上限;5)、当新分发任务添加时,先找到该任务的数据源线程,此时有以下两种情况:A、该任务未建立数据源线程,则从线程池中抽取空闲线程创建数据源线程,同时抽取线程池的空闲线程建立该任务的分发线程;B、该任务存在数据源线程,找到该数据源对应的所有分发线程,从中找到任务量最少的分发线程,若所有分发线程均达到分发上限,则...
【专利技术属性】
技术研发人员:邵宗凯,朱加权,马万兵,田灵,
申请(专利权)人:昆明联诚科技股份有限公司,
类型:发明
国别省市:云南;53
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。