CN117979062A - 一种基于编码流引用计数的实时视频流传输方法及装置 - Google Patents
一种基于编码流引用计数的实时视频流传输方法及装置 Download PDFInfo
- Publication number
- CN117979062A CN117979062A CN202410245687.9A CN202410245687A CN117979062A CN 117979062 A CN117979062 A CN 117979062A CN 202410245687 A CN202410245687 A CN 202410245687A CN 117979062 A CN117979062 A CN 117979062A
- Authority
- CN
- China
- Prior art keywords
- target
- stream
- video stream
- target video
- format
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000005540 biological transmission Effects 0.000 title abstract description 9
- 238000012544 monitoring process Methods 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 36
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供了一种基于编码流引用计数的实时视频流传输方法及装置,涉及视频流编解码技术领域,应用于视频监控分发处理平台,接收客户端播放器发送的实时视频播放请求,并确定目标视频流是否接入,若目标视频流未接入,根据硬件资源使用率和带宽使用率确定摄像头针对目标视频流的编码格式;若所述目标视频流已接入,进一步确认其对应的目标编码格式的编码流引用计数是否为零,以通过转码或者从摄像头拉取得到所述目标编码格式的目标视频流,并转发至客户端播放器,从而通过对编码流引用计数的监测,以按照设定的转码规则进行处理,将不需要拉取或者转码的编码流从视频监控分发处理平台释放,实现硬件资源、带宽资源、画质之间的兼顾。
Description
技术领域
本申请涉及视频流编解码技术领域,具体而言,涉及一种基于编码流引用计数的实时视频流传输方法及装置。
背景技术
随着视频监控在各行业的广泛应用,对实时视频监控系统构成的网络带宽压力也日益增大,为减缓网络带宽压力并尽可能提供较好的实时视频监控服务,码率自适应技术得到广泛应用,该技术在网络带宽与提供视频服务质量间做平衡,码率自适应方式通过适配当前所处网络带宽环境以提供与之匹配的视频画质。当网络带宽较小时,传输相对低码率画质;当网络带宽较好时,传输相对高码率画质。同时随着编码流技术发展,从H.264编码逐步发展到H.265及H.265编码技术,使用该编码技术在相同视频质量的情况下(视频帧率,分辨率相同情况下),H.265编码流相较于H.264编码方式能成倍压缩视频流,从而较好的节约网络带宽资源。但H.265编码需要更多的硬件与软件资源对编码后的视频资源进行解码,且部分客户端播放器无法支持H.265视频解码,同时在编码流传输过程中(摄像头到服务器,服务器到客户端)并未做到编码流的自适应,导致压缩效果较好的编码流算法如H.265编码流,目前未得到大规模广泛应用。
发明内容
有鉴于此,本申请的目的在于提供一种基于编码流引用计数的实时视频流传输方法及装置,通过监测编码流的引用计数,释放不需要拉取或者转码的编码流,实现硬件资源、带宽与画质之间的兼顾。
第一方面,本申请提供的一种基于编码流引用计数的实时视频流传输方法,应用于视频监控分发处理平台,所述方法包括以下步骤:
接收客户端播放器发送的实时视频播放请求;其中,所述实时视频播放请求包括目标视频流和该目标视频流的目标编码格式;
根据所述实时视频播放请求确定所述目标视频流是否接入,若所述目标视频流未接入,根据硬件资源使用率和带宽使用率确定摄像头针对所述目标视频流的编码格式;
若所述目标视频流已接入,且其对应的目标编码格式的编码流引用计数为零,通过转码或者从摄像头拉取得到所述目标编码格式的目标视频流,并转发至客户端播放器,同时将该目标视频流对应的目标编码格式的编码流引用计数置为一;
若所述目标视频流已接入,且其对应的目标编码格式的编码流引用计数不为零,将该目标视频流对应的目标编码格式的编码流引用计数加一,同时将所述目标编码格式的目标视频流发送至客户端播放器。
在一种可能的实施方式中,所述编码格式包括H.264编码格式和H.265编码格式。
在一种可能的实施方式中,所述根据硬件资源使用率和带宽使用率确定摄像头针对所述目标视频流的编码格式,包括以下步骤:
设定资源使用率阈值和带宽使用率阈值;
若带宽使用率超过设定的带宽使用率阈值,摄像头采用H.265编码格式;若硬件资源使用率超过设定的资源使用率阈值,摄像头采用H.264编码格式;其中,所述硬件资源使用率与接入的视频流路数以及编码格式相关联。
在一种可能的实施方式中,所述通过摄像头拉取得到所述目标编码格式的目标视频流,并转发至客户端播放器,包括以下步骤:
若所述目标编码格式为H.265,向摄像头发送编码流格式转换请求,以使所述摄像头针对所述目标视频流的编码格式由H.264转换为H.265;
从摄像头拉取目标编码格式为H.265的目标视频流,并转发至客户端播放器。
在一种可能的实施方式中,所述通过转码得到所述目标编码格式的目标视频流,并转发至客户端播放器,包括以下步骤:
若所述目标编码格式为H.264,将已有的编码格式为H.265的目标视频流转换为H.264的目标编码格式;
将转换后的目标编码格式为H.264的目标视频流发送至客户端播放器。
在一种可能的实施方式中,所述方法还包括以下步骤:
实时监测所述客户端播放器是否关闭所请求的目标编码格式的目标视频流;
将关闭的目标视频流对应的目标编码格式的编码流引用计数减一。
在一种可能的实施方式中,所述将关闭的目标视频流对应的目标编码格式的编码流引用计数减一之后,还包括以下步骤:
若关闭的目标视频流对应的目标编码格式的编码流引用计数减至零,并且该目标编码格式的目标视频流是通过转码得到的,停止转码操作;
若关闭的目标视频流的H.264和H.265编码格式的编码流引用计数均减至零,停止从摄像头拉取该目标视频流的操作。
第二方面,本申请提供的一种基于编码流引用计数的实时视频流传输装置,应用于视频监控分发处理平台,所述装置包括:
接收模块,用于接收客户端播放器发送的实时视频播放请求;其中,所述实时视频播放请求包括目标视频流和该目标视频流的目标编码格式;
确定模块,用于根据所述实时视频播放请求确定所述目标视频流是否接入,若所述目标视频流未接入,根据硬件资源使用率和带宽使用率确定摄像头针对所述目标视频流的编码格式;
发送模块,用于若所述目标视频流已接入,且其对应的目标编码格式的编码流引用计数为零,通过转码或者从摄像头拉取得到所述目标编码格式的目标视频流,并转发至客户端播放器,同时将该目标视频流对应的目标编码格式的编码流引用计数置为一;
以及用于若所述目标视频流已接入,且其对应的目标编码格式的编码流引用计数不为零,将该目标视频流对应的目标编码格式的编码流引用计数加一,同时将所述目标编码格式的目标视频流发送至客户端播放器。
第三方面,本申请提供的一种电子设备包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面所述的基于编码流引用计数的实时视频流传输方法的步骤。
第四方面,本申请提供的一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器运行时执行如第一方面所述的基于编码流引用计数的实时视频流传输方法的步骤。
本实施例提供的一种基于编码流引用计数的实时视频流传输方法及装置,通过对编码流引用计数的监测,以按照设定的转码规则进行处理,能够将不需要拉取或者转码的编码流从视频监控分发处理平台释放,节约硬件资源和带宽资源,同时实现与画质的兼顾。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请一实施例中所述基于编码流引用计数的实时视频流传输方法的流程图;
图2为本申请一实施例中通过摄像头拉取得到所述目标编码格式的目标视频流,并转发至客户端播放器的流程图;
图3为本申请一实施例中通过转码得到所述目标编码格式的目标视频流,并转发至客户端播放器的流程图;
图4为本申请一实施例中将关闭的目标视频流对应的目标编码格式的编码流引用计数减一之后的流程图;
图5为本申请一实施例中所述基于编码流引用计数的实时视频流传输装置的结构框图;
图6为本申请一实施例中所述的电子设备的结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和标出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
鉴于背景技术所提出的技术问题,本申请提供一种基于编码流引用计数的实时视频流传输方法及装置,通过监测编码流的引用计数,释放不需要拉取或者转码的编码流,实现硬件资源、带宽与画质之间的兼顾。
参见说明书附图1,在一实施例中,本申请提供的一种基于编码流引用计数的实时视频流传输方法,应用于视频监控分发处理平台,所述方法包括以下步骤:
S1、接收客户端播放器发送的实时视频播放请求;其中,所述实时视频播放请求包括目标视频流和该目标视频流的目标编码格式;
S2、根据所述实时视频播放请求确定所述目标视频流是否接入,若所述目标视频流未接入,根据硬件资源使用率和带宽使用率确定摄像头针对所述目标视频流的编码格式;
S3、若所述目标视频流已接入,且其对应的目标编码格式的编码流引用计数为零,通过转码或者从摄像头拉取得到所述目标编码格式的目标视频流,并转发至客户端播放器,同时将该目标视频流对应的目标编码格式的编码流引用计数置为一;
在本申请中,视频监控分发处理平台从摄像头拉取的每路视频流中,为了自适应不同客户端播放器的解码需求,在视频监控分发处理平台对拉取的每路摄像头视频可存在多种实时编码流,并且可随着编码流的扩充而增加相应码流。而目前实现是两路编码流,分别对应该视频的H.264编码流,与H.265编码流。其中一路编码流为原始摄像头编码流拉取获得,另一路编码流为视频分发处理平台服务器通过编码流转换得到,进而分别推送给支持H.264编码流与H.265编码流的客户端播放器;
并且,视频监控分发处理平台对从摄像头拉取的每路视频所对应的所有编码流(目前是两路,一路是H.264编码流,一路是H.265编码流)均有一个编码流引用计数器,它记录了当前指定视频的指定编码流对应的有效客户端播放器连接个数,即当前该路编码流被推送到的正在观看此视频流的客户端播放器数量。进而通过对每路视频每路编码流的引用计数管理,进行自适应策略及转码调整,具体参见步骤S2和步骤S3。
需要说明的是,客户端播放器在获取摄像头实时流媒体前,视频监控分发处理平台需要获取客户端播放器和摄像头的相关参数。具体有,客户端播放器是否支持H.265编码流,客户端播放器已完全支持解析H.264编码流,但对H.265编码流的解析并未完全兼容。如果客户端播放器支持H.265视频解码可以在步骤S1中所述实时视频播放请求中加入特殊标签以表明客户端播放器支持H.265编码流的解码。一般的,支持解析H.264编码流的客户端播放器的硬件资源需要满足PU至少双核,主频不低于2GHZ,内存2G以上;对于摄像头,需要获取其视频通道,即获取摄像头主编码流对应的通道还是摄像投子编码流对应的通道,在实际应用中,摄像头主编码流对应的通道与子编码流对应的通道可以设置成不同的编码流格式,比如一个为H.264编码流,一个为H.265编码流。
在步骤S2中,当指定视频流的H.264,H.265编码流引用计数均为零,即表明没有客户端播放器获取该路视频时:
对于视频监控分发处理平台硬件能力较差的情况(硬件服务器能力根据要接入的视频服务路数及可能存在的两种转码方式所消耗的CPU及内存来判定),优先考虑硬件资源及使用情况。视频监控分发处理平台获取自身CPU及内存及使用情况,如果硬件资源较差或硬件资源使用率(CPU及内存)超过某一设置的资源使用阈值,则采用摄像头视频输出编码流为H.264编码方案,否则摄像头采用H.265编码方式;
对于摄像头与视频监控分发处理平台间不在统一局域网或网络带宽较差的情况(使用脚本调用iPerf等网络测试工具测试目前已经使用的带宽,总的网络带宽的情况来判定),如果目前摄像头输出采用的是H.264编码,则直接判断当前带宽使用率是否超过设置的带宽使用率阈值,如果超过,则使用摄像头H.265编码输出。
步骤S3中,有客户端播放器获取该路视频,但该路视频所指定编码格式的编码流引用计数为零时,视频监控分发处理平台通过转码或者从摄像头拉取得到指定编码格式的目标视频流,并转发至客户端播放器,同时将该目标视频流对应的指定编码格式的编码流引用计数置为一。
其中,参见说明书附图2,所述通过摄像头拉取得到所述目标编码格式的目标视频流,并转发至客户端播放器,包括以下步骤:
P301、若所述目标编码格式为H.265,向摄像头发送编码流格式转换请求,以使所述摄像头针对所述目标视频流的编码格式由H.264转换为H.265;
P302、从摄像头拉取目标编码格式为H.265的目标视频流,并转发至客户端播放器。
在一实施例中,如果当前摄像头采集的视频流是H.264编码流,且该路编码流的引用计数不为零,即有客户端播放器请求该路H.264编码流。而目前客户端播放器需要解码的视频格式为H.265,而此时该视频对应的H.265编码流的引用计数为零。则在这之后,视频监控分发处理平台一定存在该路视频的两路编码流。考虑到H.265编码流转H.264编码流编码的效能与H624编码流转H.265编码流的效能基本持平,为节约摄像头与视频监控分发处理平台间的网络带宽,摄像头首选采用H.265编码格式。首先由视频监控分发处理平台询问摄像头支持的编码流能力,如果摄像头支持H.265编码流,则优先通过摄像头Web API设置该视频通道编码为H.265编码格式。这样能节约在摄像头与视频监控分发处理平台间使用的带宽资源。在该过程中,摄像头无需重启,视频监控分发处理平台实时检测该路视频的编码特征是H.264,还是H.265。当监测到编码流格式转换为H.265数据格式后,向目前请求的客户端播放器推送H.265编码的视频,此时该路视频H.265编码引用计数为一。同时将该通道新的H.265编码视频转换为H.264编码接入以前需要接入H.264编码的WebSocket通道中,提供给已经在实时预览且仅支持H.264编码视频的客户端播放器使用。
参见说明书附图3,所述通过转码得到所述目标编码格式的目标视频流,并转发至客户端播放器,包括以下步骤:
Q301、若所述目标编码格式为H.264,将已有的编码格式为H.265的目标视频流转换为H.264的目标编码格式;
Q302、将转换后的目标编码格式为H.264的目标视频流发送至客户端播放器。
在一实施例中,如果当前摄像头采集的视频流是H.265编码流,且该路编码流的引用计数不为零,即有客户端播放器请求该路H.265编码流。而目前客户端需要解码的视频格式为H.264编码流,而此时该视频对应的H.264编码流的引用计数为零。则在这之后,视频监控分发处理平台一定存在该路视频的两路编码流。考虑到H.265转H.264编码的效能与H624转H.265的效能基本持平,为节约摄像头与视频监控分发处理平台间的网络带宽,摄像头依旧采用H.265编码格式。在视频监控分发处理平台完成H.265到H.264的转码,并将视频推送给相应客户端播放器。与步骤P301-P302不同,摄像头维持该通道的H.265编码方式,因为在同一视频的两路编码均存在的情况下,CPU转码消耗相当,但H.265省带宽。将H.265编码流输出通过转码直接生成对应视频流的H.264编码流,在通过WebSocket传送给对应客户端播放器,此时该路视频H.264编码引用计数即为一。
另外,在步骤S3中,有客户端播放器获取该路视频,并且该路视频所指定编码格式的编码流引用计数也不为零时,即视频监控分发处理平台存在请求指定视频流的H.264与H.265编码,无论新的客户端播放器请求该路视频的H.264或H.265编码,只需要将对应请求的编码流引用计数加一,并直接通过WebSocket传给接客户度播放器即可。
进一步的,在本申请中,还需要实时监测客户端播放器是否关闭所请求的目标编码格式的目标视频流,以将关闭的目标视频流对应的目标编码格式的编码流引用计数减一。并且参见说明书附图4,所述将关闭的目标视频流对应的目标编码格式的编码流引用计数减一之后,还包括以下步骤:
S401、若关闭的目标视频流对应的目标编码格式的编码流引用计数减至零,并且该目标编码格式的目标视频流是通过转码得到的,停止转码操作;
S402、若关闭的目标视频流的H.264和H.265编码格式的编码流引用计数均减至零,停止从摄像头拉取该目标视频流的操作。
具体的,为减少视频监控分发处理平台编码流转换,对从摄像头获取的每路指定编码流流会引入引用计数(一路视频目前最多为H624与H.265编码流共存),检测每路指定的编码流的有效客户端播放器连接情况,当指定编码流对应的有效客户端播放器连接数为零时,即没有客户端播放器正在连接此路编码流进行视频播放,若该路视频流是通过视频监控分发处理平台转码得到,则停止该路视频流的转码,并销毁该路视频流的推送。同时,为进一步减少拉取视频流,视频监控分发处理平台对摄像头拉取的每路视频对应的H.264编码流与H.265编码流的引用计数均为零时,即没有有效客户端连接该摄像头指定的视频流,则视频监控分发处理平台停止对本路视频的拉取,从而节约摄像头到视频监控分发处理平台间的带宽及硬件资源消耗。
本申请提供的一种基于编码流引用计数的实时视频流传输方法,综合考虑了客户端播放器的硬件处理能力及软件视频解码能力,视频监控分发处理平台的带宽及硬件能力,摄像头的编码能力的制约因素,通过监测编码流的引用计数,精准释放不需要拉取或转码的编码流,从而较好的实现了带宽与提供实时预览监控画面的兼顾。
基于同一发明构思,本申请实施例中还提供了一种基于编码流引用计数的实时视频流传输装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述一种基于编码流引用计数的实时视频流传输方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
如说明书附图5所示,本申请还提供了一种基于编码流引用计数的实时视频流传输装置,应用于视频监控分发处理平台,所述装置包括:
接收模块501,用于接收客户端播放器发送的实时视频播放请求;其中,所述实时视频播放请求包括目标视频流和该目标视频流的目标编码格式;其中,所述编码格式包括H.264编码格式和H.265编码格式;
确定模块502,用于根据所述实时视频播放请求确定所述目标视频流是否接入,若所述目标视频流未接入,根据硬件资源使用率和带宽使用率确定摄像头针对所述目标视频流的编码格式;
发送模块503,用于若所述目标视频流已接入,且其对应的目标编码格式的编码流引用计数为零,通过转码或者从摄像头拉取得到所述目标编码格式的目标视频流,并转发至客户端播放器,同时将该目标视频流对应的目标编码格式的编码流引用计数置为一;以及用于若所述目标视频流已接入,且其对应的目标编码格式的编码流引用计数不为零,将该目标视频流对应的目标编码格式的编码流引用计数加一,同时将所述目标编码格式的目标视频流发送至客户端播放器。
在一些实施例中,所述确定模块502根据硬件资源使用率和带宽使用率确定摄像头针对所述目标视频流的编码格式,包括:设定资源使用率阈值和带宽使用率阈值;若带宽使用率超过设定的带宽使用率阈值,摄像头采用H.265编码格式;若硬件资源使用率超过设定的资源使用率阈值,摄像头采用H.264编码格式;其中,所述硬件资源使用率与接入的视频流路数以及编码格式相关联。
在一些实施例中,所述发送模块503通过摄像头拉取得到所述目标编码格式的目标视频流,并转发至客户端播放器,包括:若所述目标编码格式为H.265,向摄像头发送编码流格式转换请求,以使所述摄像头针对所述目标视频流的编码格式由H.264转换为H.265;从摄像头拉取目标编码格式为H.265的目标视频流,并转发至客户端播放器。
在一些实施例中,所述发送模块503通过转码得到所述目标编码格式的目标视频流,并转发至客户端播放器,包括:若所述目标编码格式为H.264,将已有的编码格式为H.265的目标视频流转换为H.264的目标编码格式;将转换后的目标编码格式为H.264的目标视频流发送至客户端播放器。
在一些实施例中,所述装置还包括:
监测模块,用于实时监测所述客户端播放器是否关闭所请求的目标编码格式的目标视频流;将关闭的目标视频流对应的目标编码格式的编码流引用计数减一。
在一些实施例中,所述监测模块将关闭的目标视频流对应的目标编码格式的编码流引用计数减一之后,还用于若关闭的目标视频流对应的目标编码格式的编码流引用计数减至零,并且该目标编码格式的目标视频流是通过转码得到的,停止转码操作;若关闭的目标视频流的H.264和H.265编码格式的编码流引用计数均减至零,停止从摄像头拉取该目标视频流的操作。
本申请所提供的一种基于编码流引用计数的实时视频流传输装置,通过接收模块接收客户端播放器发送的实时视频播放请求;其中,所述实时视频播放请求包括目标视频流和该目标视频流的目标编码格式;通过确定模块根据所述实时视频播放请求确定所述目标视频流是否接入,若所述目标视频流未接入,根据硬件资源使用率和带宽使用率确定摄像头针对所述目标视频流的编码格式;通过发送模块若所述目标视频流已接入,且其对应的目标编码格式的编码流引用计数为零,通过转码或者从摄像头拉取得到所述目标编码格式的目标视频流,并转发至客户端播放器,同时将该目标视频流对应的目标编码格式的编码流引用计数置为一;若所述目标视频流已接入,且其对应的目标编码格式的编码流引用计数不为零,将该目标视频流对应的目标编码格式的编码流引用计数加一,同时将所述目标编码格式的目标视频流发送至客户端播放器。从而对编码流引用计数的监测,以按照设定的转码规则进行处理,能够将不需要拉取或者转码的编码流从视频监控分发处理平台释放,节约硬件资源和带宽资源,同时实现与画质的兼顾。
基于本发明的同一构思,说明书附图6所示,本申请实施例提供的一种电子设备600的结构,该电子设备600包括:至少一个处理器601,至少一个网络接口604或者其他用户接口603,存储器605,至少一个通信总线602。通信总线602用于实现这些组件之间的连接通信。该电子设备600可选的包含用户接口603,包括显示器(例如,触摸屏、LCD、CRT、全息成像(Holographic)或者投影(Projector)等),键盘或者点击设备(例如,鼠标,轨迹球(trackball),触感板或者触摸屏等)。
存储器605可以包括只读存储器和随机存取存储器,并向处理器601提供指令和数据。存储器605的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器605存储了如下的元素,可保护模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作系统6051,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务;
应用程序模块6052,包含各种应用程序,例如桌面(launcher)、媒体播放器(MediaPlayer)、浏览器(Browser)等,用于实现各种应用业务。
在本申请实施例中,通过调用存储器605存储的程序或指令,处理器601用于执行如一种基于编码流引用计数的实时视频流传输方法中的步骤,通过监测编码流的引用计数,释放不需要拉取或者转码的编码流,实现硬件资源、带宽与画质之间的兼顾。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如基于编码流引用计数的实时视频流传输方法中的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述基于编码流引用计数的实时视频流传输方法。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于编码流引用计数的实时视频流传输方法,其特征在于,应用于视频监控分发处理平台,所述方法包括以下步骤:
接收客户端播放器发送的实时视频播放请求;其中,所述实时视频播放请求包括目标视频流和该目标视频流的目标编码格式;
根据所述实时视频播放请求确定所述目标视频流是否接入,若所述目标视频流未接入,根据硬件资源使用率和带宽使用率确定摄像头针对所述目标视频流的编码格式;
若所述目标视频流已接入,且其对应的目标编码格式的编码流引用计数为零,通过转码或者从摄像头拉取得到所述目标编码格式的目标视频流,并转发至客户端播放器,同时将该目标视频流对应的目标编码格式的编码流引用计数置为一;
若所述目标视频流已接入,且其对应的目标编码格式的编码流引用计数不为零,将该目标视频流对应的目标编码格式的编码流引用计数加一,同时将所述目标编码格式的目标视频流发送至客户端播放器。
2.根据权利要求1所述一种基于编码流引用计数的实时视频流传输方法,其特征在于,其中,所述编码格式包括H.264编码格式和H.265编码格式。
3.根据权利要求2所述一种基于编码流引用计数的实时视频流传输方法,其特征在于,所述根据硬件资源使用率和带宽使用率确定摄像头针对所述目标视频流的编码格式,包括以下步骤:
设定资源使用率阈值和带宽使用率阈值;
若带宽使用率超过设定的带宽使用率阈值,摄像头采用H.265编码格式;若硬件资源使用率超过设定的资源使用率阈值,摄像头采用H.264编码格式;其中,所述硬件资源使用率与接入的视频流路数以及编码格式相关联。
4.根据权利要求3所述一种基于编码流引用计数的实时视频流传输方法,其特征在于,所述通过摄像头拉取得到所述目标编码格式的目标视频流,并转发至客户端播放器,包括以下步骤:
若所述目标编码格式为H.265,向摄像头发送编码流格式转换请求,以使所述摄像头针对所述目标视频流的编码格式由H.264转换为H.265;
从摄像头拉取目标编码格式为H.265的目标视频流,并转发至客户端播放器。
5.根据权利要求3所述一种基于编码流引用计数的实时视频流传输方法,其特征在于,所述通过转码得到所述目标编码格式的目标视频流,并转发至客户端播放器,包括以下步骤:
若所述目标编码格式为H.264,将已有的编码格式为H.265的目标视频流转换为H.264的目标编码格式;
将转换后的目标编码格式为H.264的目标视频流发送至客户端播放器。
6.根据权利要求4或5所述一种基于编码流引用计数的实时视频流传输方法,其特征在于,所述方法还包括以下步骤:
实时监测所述客户端播放器是否关闭所请求的目标编码格式的目标视频流;
将关闭的目标视频流对应的目标编码格式的编码流引用计数减一。
7.根据权利要求6所述一种基于编码流引用计数的实时视频流传输方法,所述将关闭的目标视频流对应的目标编码格式的编码流引用计数减一之后,还包括以下步骤:
若关闭的目标视频流对应的目标编码格式的编码流引用计数减至零,并且该目标编码格式的目标视频流是通过转码得到的,停止转码操作;
若关闭的目标视频流的H.264和H.265编码格式的编码流引用计数均减至零,停止从摄像头拉取该目标视频流的操作。
8.一种基于编码流引用计数的实时视频流传输装置,其特征在于,应用于视频监控分发处理平台,所述装置包括:
接收模块,用于接收客户端播放器发送的实时视频播放请求;其中,所述实时视频播放请求包括目标视频流和该目标视频流的目标编码格式;
确定模块,用于根据所述实时视频播放请求确定所述目标视频流是否接入,若所述目标视频流未接入,根据硬件资源使用率和带宽使用率确定摄像头针对所述目标视频流的编码格式;
发送模块,用于若所述目标视频流已接入,且其对应的目标编码格式的编码流引用计数为零,通过转码或者从摄像头拉取得到所述目标编码格式的目标视频流,并转发至客户端播放器,同时将该目标视频流对应的目标编码格式的编码流引用计数置为一;
以及用于若所述目标视频流已接入,且其对应的目标编码格式的编码流引用计数不为零,将该目标视频流对应的目标编码格式的编码流引用计数加一,同时将所述目标编码格式的目标视频流发送至客户端播放器。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的基于编码流引用计数的实时视频流传输方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器运行时执行如权利要求1-7任一所述的基于编码流引用计数的实时视频流传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410245687.9A CN117979062A (zh) | 2024-03-05 | 2024-03-05 | 一种基于编码流引用计数的实时视频流传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410245687.9A CN117979062A (zh) | 2024-03-05 | 2024-03-05 | 一种基于编码流引用计数的实时视频流传输方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117979062A true CN117979062A (zh) | 2024-05-03 |
Family
ID=90851431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410245687.9A Pending CN117979062A (zh) | 2024-03-05 | 2024-03-05 | 一种基于编码流引用计数的实时视频流传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117979062A (zh) |
-
2024
- 2024-03-05 CN CN202410245687.9A patent/CN117979062A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111135569B (zh) | 云游戏处理方法、装置、存储介质与电子设备 | |
KR20180031547A (ko) | 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치 | |
CN112637661B (zh) | 视频流的切换方法及装置、计算机存储介质、电子设备 | |
CN111031389B (zh) | 视频处理方法、电子装置和存储介质 | |
CN112714320B (zh) | 一种解码方法、解码设备及计算机可读存储介质 | |
CN115643449A (zh) | 云服务的视频显示方法、装置、设备、存储介质和系统 | |
JP2006246008A (ja) | 映像トランスコードシステム、映像取得装置、トランスコーダ装置、及び、映像トランスコーディング方法 | |
CN113301388B (zh) | 一种视频流处理系统、设备和方法 | |
CN112085828B (zh) | 图像处理方法及装置、云真机系统、存储介质和电子设备 | |
CN112422876A (zh) | 图像处理方法和服务器 | |
CN117979062A (zh) | 一种基于编码流引用计数的实时视频流传输方法及装置 | |
CN111093082A (zh) | 一种流媒体直播的方法及系统 | |
CN115767149A (zh) | 一种视频数据的传输方法和装置 | |
CN115379235A (zh) | 基于缓冲池的图像解码方法、装置、可读介质及电子设备 | |
CN112911306B (zh) | 一种视频处理方法、装置、电子设备及存储介质 | |
CN112468818B (zh) | 视频通信的实现方法及装置、介质和电子设备 | |
CN112445624B (zh) | 一种面向任务的gpu资源优化配置方法及装置 | |
JP2011192229A (ja) | サーバ装置および情報処理方法 | |
CN110798700B (zh) | 视频处理方法、视频处理装置、存储介质与电子设备 | |
US11334979B2 (en) | System and method to detect macroblocking in images | |
KR100899666B1 (ko) | 분산 다중 스트리밍 전송 장치 | |
CN115426503B (zh) | 一种转码服务切换方法、装置、设备及存储介质 | |
US10135896B1 (en) | Systems and methods providing metadata for media streaming | |
CN113556483B (zh) | 监控屏幕拼接系统及拼接方法 | |
CN116260816B (zh) | 一种基于it与ct的数据交互系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |