掌桥专利:专业的专利平台
掌桥专利
首页

一种基于RPC的码率控制方法及系统

文献发布时间:2024-04-18 20:02:40


一种基于RPC的码率控制方法及系统

技术领域

本发明涉及编码技术领域,特别涉及一种基于RPC的码率控制方法及系统。

背景技术

当前流媒体服务器端的码率控制机制中,一般通过转码来得到多个码率的视频流,然后根据网络条件选择合适码率的视频流来发送。

然而,实际的转码流程非常复杂,且需要消耗大量CPU/GPU资源,在视频路数较多而服务器资源受限的情况下是不可行的。

鉴于此,目前需要一种更加高效的码率控制方法。

发明内容

本发明提供一种基于RPC的码率控制方法及系统,能够提高码率控制的效率。

鉴于此,本发明一方面提供一种基于RPC的码率控制方法,所述方法包括:

检测当前的网络传输环境,若所述网络传输环境表征传输质量不佳时,针对接收到的目标视频流,查询所述目标视频流的源设备;

判断所述源设备是否具备编码功能,若具备,向所述源设备发送编码配置信息,以使得所述源设备基于所述编码配置信息完成对所述目标视频流的编码;

若所述源设备不具备编码功能,对接收到的所述目标视频流进行编码。

在一个实施方式中,检测当前的网络传输环境包括:

在当前的探测组网中发送广播报文,所述广播报文的扩展字段中包含可执行的命令行,并且所述扩展字段携带表征数据验证通过的验证标识;

所述探测组网中的探测设备在接收到所述广播报文后,判断所述广播报文中是否携带验证标识;

在检测到所述广播报文中携带的验证标识后,执行所述命令行,以在回复报文的扩展字段中添加网络拥塞系数;

根据所述网络拥塞系数,确定当前的网络传输环境。

在一个实施方式中,查询所述目标视频流的源设备包括:

获取所述目标视频流的元数据,并从所述元数据中提取设备型号标识和系统版本标识;

拼接所述设备型号标识和所述系统版本标识,得到拼接信息,并生成所述拼接信息的散列值;

在预设设备库中查询与所述散列值相匹配的目标设备,并将查询到的所述目标设备作为所述目标视频流的源设备。

在一个实施方式中,判断所述源设备是否具备编码功能包括:

判断所述源设备的设备类型是否为IPC类型或者NVR类型,若是,判定所述源设备具备编码功能。

在一个实施方式中,对接收到的所述目标视频流进行编码包括:

提取所述目标视频流中的关键帧,针对任一关键帧,将所述关键帧划分为多个区域图像,并识别各个所述区域图像对应的语义信息;

基于所述语义信息,为各个所述区域图像设置对应的编码参数;

按照设置的所述编码参数逐一对各个区域图像进行编码,并汇总编码结果,形成所述关键帧的编码数据。

本发明还提供一种基于RPC的码率控制系统,所述系统包括:

查询单元,用于检测当前的网络传输环境,若所述网络传输环境表征传输质量不佳时,针对接收到的目标视频流,查询所述目标视频流的源设备;

判断单元,用于判断所述源设备是否具备编码功能,若具备,向所述源设备发送编码配置信息,以使得所述源设备基于所述编码配置信息完成对所述目标视频流的编码;

编码单元,用于若所述源设备不具备编码功能,对接收到的所述目标视频流进行编码。

在一个实施方式中,所述查询单元具体用于,在当前的探测组网中发送广播报文,所述广播报文的扩展字段中包含可执行的命令行,并且所述扩展字段携带表征数据验证通过的验证标识;所述探测组网中的探测设备在接收到所述广播报文后,判断所述广播报文中是否携带验证标识;在检测到所述广播报文中携带的验证标识后,执行所述命令行,以在回复报文的扩展字段中添加网络拥塞系数;根据所述网络拥塞系数,确定当前的网络传输环境。

在一个实施方式中,所述查询单元具体用于,获取所述目标视频流的元数据,并从所述元数据中提取设备型号标识和系统版本标识;拼接所述设备型号标识和所述系统版本标识,得到拼接信息,并生成所述拼接信息的散列值;在预设设备库中查询与所述散列值相匹配的目标设备,并将查询到的所述目标设备作为所述目标视频流的源设备。

在一个实施方式中,所述判断单元具体用于,判断所述源设备的设备类型是否为IPC类型或者NVR类型,若是,判定所述源设备具备编码功能。

在一个实施方式中,所述编码单元具体用于,提取所述目标视频流中的关键帧,针对任一关键帧,将所述关键帧划分为多个区域图像,并识别各个所述区域图像对应的语义信息;基于所述语义信息,为各个所述区域图像设置对应的编码参数;按照设置的所述编码参数逐一对各个区域图像进行编码,并汇总编码结果,形成所述关键帧的编码数据。

本发明提供的技术方案,在网络传输环境不佳时,不直接由服务端处理转码,而是查询接入的视频流的源设备。如果源设备具备编码功能,如IPC或NVR,可以向这些源设备传递编码配置信息,由源设备完成编码。如果源设备具备编码功能,再由服务端进行编码。这种方式极大地降低了服务端的负载,能够应对网络传输环境不佳的情况,提高了编码控制的效率。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明实施例中一种基于RPC的码率控制方法的步骤示意图;

图2为本发明实施例中一种基于RPC的码率控制系统的功能模块示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

请参阅图1,本申请一个实施方式提供一种基于RPC的码率控制方法,所述方法包括:

S1:检测当前的网络传输环境,若所述网络传输环境表征传输质量不佳时,针对接收到的目标视频流,查询所述目标视频流的源设备;

S2:判断所述源设备是否具备编码功能,若具备,向所述源设备发送编码配置信息,以使得所述源设备基于所述编码配置信息完成对所述目标视频流的编码;

S3:若所述源设备不具备编码功能,对接收到的所述目标视频流进行编码。

在一个实施方式中,检测当前的网络传输环境包括:

在当前的探测组网中发送广播报文,所述广播报文的扩展字段中包含可执行的命令行,并且所述扩展字段携带表征数据验证通过的验证标识;

所述探测组网中的探测设备在接收到所述广播报文后,判断所述广播报文中是否携带验证标识;

在检测到所述广播报文中携带的验证标识后,执行所述命令行,以在回复报文的扩展字段中添加网络拥塞系数;

根据所述网络拥塞系数,确定当前的网络传输环境。

通过广播报文和回复报文的协同作用,可以避免单独发送探测数据包,而是将探测过程融合在广播和回复的过程中,复用了现有的报文传输链路,从而节省了需要传输的数据量,减轻了链路传输数据的压力。

其中,探测设备执行命令行后,可以获取探测设备与服务端之间的网络拥塞系数,该网络拥塞系数可以基于服务端和探测设备之间数据传输的网络拥塞窗口来确定。窗口越大,对应的网络拥塞系数越小,网络传输质量越佳。当网络拥塞系数大于某个阈值时,便认为当前的网络传输质量不佳。

在一个实施方式中,查询所述目标视频流的源设备包括:

获取所述目标视频流的元数据,并从所述元数据中提取设备型号标识和系统版本标识;

拼接所述设备型号标识和所述系统版本标识,得到拼接信息,并生成所述拼接信息的散列值;

在预设设备库中查询与所述散列值相匹配的目标设备,并将查询到的所述目标设备作为所述目标视频流的源设备。

通过散列值的匹配方式,可以极大地提高设备查询的效率。

在一个实施方式中,判断所述源设备是否具备编码功能包括:

判断所述源设备的设备类型是否为IPC类型或者NVR类型,若是,判定所述源设备具备编码功能。

在一个实施方式中,对接收到的所述目标视频流进行编码包括:

提取所述目标视频流中的关键帧,针对任一关键帧,将所述关键帧划分为多个区域图像,并识别各个所述区域图像对应的语义信息;

基于所述语义信息,为各个所述区域图像设置对应的编码参数;

按照设置的所述编码参数逐一对各个区域图像进行编码,并汇总编码结果,形成所述关键帧的编码数据。

其中,区域图像的语义信息可以通过预先完成训练的语义识别模型来生成。若语义信息与视频帧表达的实际内容相匹配,那么该区域图像的编码率往往较高。如果区域图像的语义信息表征背景语义,那么该区域图像的编码率可以设置得较低。通过动态设置区域图像的编码率,可以极大地提高编码效率。

请参阅图2,本发明还提供一种基于RPC的码率控制系统,所述系统包括:

查询单元,用于检测当前的网络传输环境,若所述网络传输环境表征传输质量不佳时,针对接收到的目标视频流,查询所述目标视频流的源设备;

判断单元,用于判断所述源设备是否具备编码功能,若具备,向所述源设备发送编码配置信息,以使得所述源设备基于所述编码配置信息完成对所述目标视频流的编码;

编码单元,用于若所述源设备不具备编码功能,对接收到的所述目标视频流进行编码。

在一个实施方式中,所述查询单元具体用于,在当前的探测组网中发送广播报文,所述广播报文的扩展字段中包含可执行的命令行,并且所述扩展字段携带表征数据验证通过的验证标识;所述探测组网中的探测设备在接收到所述广播报文后,判断所述广播报文中是否携带验证标识;在检测到所述广播报文中携带的验证标识后,执行所述命令行,以在回复报文的扩展字段中添加网络拥塞系数;根据所述网络拥塞系数,确定当前的网络传输环境。

在一个实施方式中,所述查询单元具体用于,获取所述目标视频流的元数据,并从所述元数据中提取设备型号标识和系统版本标识;拼接所述设备型号标识和所述系统版本标识,得到拼接信息,并生成所述拼接信息的散列值;在预设设备库中查询与所述散列值相匹配的目标设备,并将查询到的所述目标设备作为所述目标视频流的源设备。

在一个实施方式中,所述判断单元具体用于,判断所述源设备的设备类型是否为IPC类型或者NVR类型,若是,判定所述源设备具备编码功能。

在一个实施方式中,所述编码单元具体用于,提取所述目标视频流中的关键帧,针对任一关键帧,将所述关键帧划分为多个区域图像,并识别各个所述区域图像对应的语义信息;基于所述语义信息,为各个所述区域图像设置对应的编码参数;按照设置的所述编码参数逐一对各个区域图像进行编码,并汇总编码结果,形成所述关键帧的编码数据。

本发明提供的技术方案,在网络传输环境不佳时,不直接由服务端处理转码,而是查询接入的视频流的源设备。如果源设备具备编码功能,如IPC或NVR,可以向这些源设备传递编码配置信息,由源设备完成编码。如果源设备具备编码功能,再由服务端进行编码。这种方式极大地降低了服务端的负载,能够应对网络传输环境不佳的情况,提高了编码控制的效率。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

技术分类

06120116587880