本申请实施例公开一种视频流传输方法、装置、电子设备及存储介质,该方法包括:预先生成N个不同的视频同步源SSRC,并存储于缓存中,N为正整数;响应于接收到视频接入请求,执行加锁操作;确定所述缓存中空闲的SSRC的个数i是否小于M,若是,则执行生成SSRC的操作,并将所生成的SSRC存储于所述缓存中,M为正整数;将所述缓存中的第一SSRC分配给所述视频接入请求,其中,所述第一SSRC为当前未被占用的SSRC;删除所述缓存中所述第一SSRC,并记录所述第一SSRC为被占用状态;执行释放锁操作,并指示流媒体服务器以所述第一SSRC接收所述视频接入请求对应的视频流。请求对应的视频流。请求对应的视频流。
【技术实现步骤摘要】
视频流传输方法、装置、电子设备及存储介质
[0001]本申请涉及通信
,特别涉及一种视频流传输方法、装置、电子设备及存储介质。
技术介绍
[0002]近年来,从专业领域到民用、家用领域,视频监控不断普及,需求不断扩大,一个成规模的视频平台往往会接入海量的视频流。当视频平台的流媒体服务器对接的视频流数量较大,或者在大批量视频流为了应对容灾而迁移时,如何应对海量的视频接入请求,将其迅速地接入视频平台的流媒体服务器,以尽可能减少视频流数据的丢失是一个重要课题。
[0003]视频同步源(Synchronization source,SSRC)是实时传输协议(Real
‑
time Transport Protocol,RTP)报文头中定义的一个32位字段,用来唯一标识一路流。在视频接入过程中,需要为每一路视频流分配一个SSRC,并下发给视频平台的流媒体服务器,通知该流媒体服务器以该SSRC收流,而后系统会再调用信令服务,来通知摄像头以该SSRC推流。现有技术中,为了确保SSRC能够正确生成以避免串流,在每接收到一个视频接入请求,首先会加锁,之后为该视频接入请求实时生成一个SSRC,再下发给流媒体服务器,在接收到流媒体服务器的正确返回后将该SSRC标记为已使用,完成上述操作后才可以释放锁。
[0004]现有技术虽然可以在一定程度上实现视频流的传输,但也存在一些问题,例如,锁的粒度较大,导致在高并发的视频接入请求场景下,锁竞争时间较长,容易出现视频流接入时间过长,甚至接口超时的问题,视频流传输效率较低。
技术实现思路
[0005]本申请实施例提供一种视频流传输方法、装置、电子设备及存储介质,以实现能够应对高并发量的视频接入请求,提高视频流的接入速度,从而提高视频传输效率。
[0006]根据本申请的第一方面,公开了一种视频流传输方法,所述方法包括:预先生成N个不同的视频同步源SSRC,并存储于缓存中,N为正整数;响应于接收到视频接入请求,执行加锁操作;确定所述缓存中空闲的SSRC的个数i是否小于M,若是,则执行生成SSRC的操作,并将所生成的SSRC存储于所述缓存中,M为正整数;将所述缓存中的第一SSRC分配给所述视频接入请求,其中,所述第一SSRC为当前未被占用的SSRC;删除所述缓存中所述第一SSRC,并记录所述第一SSRC为被占用状态;执行释放锁操作,并指示流媒体服务器以所述第一SSRC接收所述视频接入请求对应的视频流。
[0007]可选地,作为一个实施例,所述指示流媒体服务器以所述第一SSRC接收所述视频接入请求对应的视频流之后,还包括:在所述流媒体服务器以所述第一SSRC接收所述视频接入请求对应的视频流失败
的情况下,将所述第一SSRC由被占用状态修改为未被占用状态。
[0008]可选地,作为一个实施例,所述执行生成SSRC的操作,包括:以目标概率值生成一批SSRC,其中,所述目标概率值与所述i负相关。
[0009]可选地,作为一个实施例,所述以目标概率值生成一批SSRC,包括:以所述目标概率值生成(N
‑
i)个随机SSRC;所述将所生成的SSRC存储于所述缓存中,包括:将所生成的所述(N
‑
i)个SSRC中当前未被占用的第二SSRC存储于所述缓存中。
[0010]可选地,作为一个实施例,所述以所述目标概率值生成(N
‑
i)个随机SSRC,包括:生成随机值p,其中,所述p的取值介于0至1之间;确定(i/N)是否小于所述p,若所述(i/N)小于所述p,则生成(N
‑
i)个随机SSRC。
[0011]可选地,作为一个实施例,所述执行生成SSRC的操作,包括:生成(N
‑
i)个当前未被占用的SSRC。
[0012]可选地,作为一个实施例,所述视频流传输方法应用于分布式部署场景;所述缓存为redis缓存,所述加锁操作所使用的锁为redis分布式锁,通过数据库记录所述第一SSRC为被占用状态。
[0013]根据本申请的第二方面,公开了一种视频流传输装置,所述装置包括:预处理模块,用于预先生成N个不同的视频同步源SSRC,并存储于缓存中,N为正整数;第一处理模块,用于响应于接收到视频接入请求,执行加锁操作;第二处理模块,用于确定所述缓存中空闲的SSRC的个数i是否小于M,若是,则执行生成SSRC的操作,并将所生成的SSRC存储于所述缓存中,M为正整数;第三处理模块,用于将所述缓存中的第一SSRC分配给所述视频接入请求,其中,所述第一SSRC为当前未被占用的SSRC;第四处理模块,用于删除所述缓存中所述第一SSRC,并记录所述第一SSRC为被占用状态;第五处理模块,用于执行释放锁操作,并指示流媒体服务器以所述第一SSRC接收所述视频接入请求对应的视频流。
[0014]可选地,作为一个实施例,所述装置还包括:第六处理模块,用于在所述流媒体服务器以所述第一SSRC接收所述视频接入请求对应的视频流失败的情况下,将所述第一SSRC由被占用状态修改为未被占用状态。
[0015]可选地,作为一个实施例,所述第二处理模块包括:第一生成子模块,用于以目标概率值生成一批SSRC,其中,所述目标概率值与所述i负相关。
[0016]可选地,作为一个实施例,所述第一生成子模块包括:生成单元,用于以所述目标概率值生成(N
‑
i)个随机SSRC;所述第二处理模块包括:存储子模块,用于将所生成的所述(N
‑
i)个SSRC中当前未被占用的第二SSRC存储于所述缓存中。
[0017]可选地,作为一个实施例,所述生成单元包括:
生成子单元,用于生成随机值p,其中,所述p的取值介于0至1之间;确定子单元,用于确定(i/N)是否小于所述p,若所述(i/N)小于所述p,则生成(N
‑
i)个随机SSRC。
[0018]可选地,作为一个实施例,所述第二处理模块包括:第二生成子模块,用于生成(N
‑
i)个当前未被占用的SSRC。
[0019]可选地,作为一个实施例,所述视频流传输方法应用于分布式部署场景;所述缓存为redis缓存,所述加锁操作所使用的锁为redis分布式锁,通过数据库记录所述第一SSRC为被占用状态。
[0020]根据本申请的第三方面,公开了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现如第一方面中的视频流传输方法。
[0021]根据本申请的第四方面,公开了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现如第一方面中的视频流传输方法。
[0022]根据本申请的第五方面,公开了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如第一方面中的视频流传输方法。
[0023]本申请实施例中,预先生成N个不同的视频同步源S本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种视频流传输方法,其特征在于,所述方法包括:预先生成N个不同的视频同步源SSRC,并存储于缓存中,N为正整数;响应于接收到视频接入请求,执行加锁操作;确定所述缓存中空闲的SSRC的个数i是否小于M,若是,则执行生成SSRC的操作,并将所生成的SSRC存储于所述缓存中,M为正整数;将所述缓存中的第一SSRC分配给所述视频接入请求,其中,所述第一SSRC为当前未被占用的SSRC;删除所述缓存中所述第一SSRC,并记录所述第一SSRC为被占用状态;执行释放锁操作,并指示流媒体服务器以所述第一SSRC接收所述视频接入请求对应的视频流。2.根据权利要求1所述的方法,其特征在于,所述指示流媒体服务器以所述第一SSRC接收所述视频接入请求对应的视频流之后,还包括:在所述流媒体服务器以所述第一SSRC接收所述视频接入请求对应的视频流失败的情况下,将所述第一SSRC由被占用状态修改为未被占用状态。3.根据权利要求1所述的方法,其特征在于,所述执行生成SSRC的操作,包括:以目标概率值生成一批SSRC,其中,所述目标概率值与所述i负相关。4.根据权利要求3所述的方法,其特征在于,所述以目标概率值生成一批SSRC,包括:以所述目标概率值生成(N
‑
i)个随机SSRC;所述将所生成的SSRC存储于所述缓存中,包括:将所生成的所述(N
‑
i)个SSRC中当前未被占用的第二SSRC存储于所述缓存中。5.根据权利要求4所述的方法,其特征在于,所述以所述目标概率值生成(N
‑
i)个随机SSRC,包括:生成随机值p,其中,所述p的取值介于0至1之间;确定(i/N)是否小于所述p,若所述(i/N)小于所述p,则生成(N
‑
i)个随机SSRC。6.根据权利要求1所述的方法,其特征在于,所述执行生成SSRC的操作,包括:生成(N
‑
i)个当前未被占用的SSRC。7.根据权利要求1
‑
6任一项所述的方法,其特征在于,所述视频流传输方法应用于分布式部署场景;所述缓存为redis缓存,所述加锁操作所使用的锁为redis分布式锁,通过数据库记录所述第一SSRC为被占用状态。8.一种视频流传输装置,其特征在于,所述装置包括:预处理模块,用于预先生成N个不同的视...
【专利技术属性】
技术研发人员:李伟杰,
申请(专利权)人:天翼云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。