CN117176962A - 一种视频编解码方法、装置及相关设备 - Google Patents
一种视频编解码方法、装置及相关设备 Download PDFInfo
- Publication number
- CN117176962A CN117176962A CN202311446890.4A CN202311446890A CN117176962A CN 117176962 A CN117176962 A CN 117176962A CN 202311446890 A CN202311446890 A CN 202311446890A CN 117176962 A CN117176962 A CN 117176962A
- Authority
- CN
- China
- Prior art keywords
- video
- hardware
- decoding
- coding
- alarm
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012545 processing Methods 0.000 claims abstract description 38
- 230000005540 biological transmission Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 abstract description 6
- 230000000694 effects Effects 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开提供一种视频编解码方法、装置及相关设备,涉及视频处理的技术领域,其中,所述方法包括:获取视频数据和目标标识;在预先设置的多个编解码硬件中,将与所述目标标识匹配的编解码硬件确定为目标硬件,其中,每一所述编解码硬件对应一个硬件平台,所述多个编解码硬件对应的硬件平台各不相同,且所述多个编解码硬件对应同一标准接口;基于所述目标硬件对所述视频数据进行解码处理,得到多个解码图像。本公开通过配置多个编解码硬件对应同一标准接口,以规范视频流输入的接口要求,使得不同多个编解码硬件仅需开发及维护一套应用代码,这能屏蔽不同平台硬件编解码模块及图形格式转换模块接口特性,提升视频编解码相关的应用代码的管理效果。
Description
技术领域
本公开涉及视频处理的技术领域,具体涉及一种视频编解码方法、装置及相关设备。
背景技术
目前,相关技术主要依赖硬件进行视频的编解码处理。
应用中发现,由于不同硬件对应的接口要求各不相同,使得相关应用代码无法在不同硬件对应的不同平台间进行移植,也就是说,为适配不同硬件的接口处理要求,同一应用代码需要重复编码多次,这使得关联视频编解码处理的应用代码的开发和维护工作较为繁琐。
也就是说,相关技术提供的视频编解码相关的应用代码的管理效果较差。
发明内容
本公开的目的在于提供一种视频编解码方法、系统及相关设备,用于解决相关技术提供的视频编解码技术相关的应用代码的管理效果差的技术问题。
第一方面,本公开实施例提供一种视频编解码方法,应用方法包括:
获取视频数据和目标标识;
在预先设置的多个编解码硬件中,将与所述目标标识匹配的编解码硬件确定为目标硬件,其中,每一所述编解码硬件对应一个硬件平台,所述多个编解码硬件对应的硬件平台各不相同,且所述多个编解码硬件对应同一标准接口;
基于所述目标硬件对所述视频数据进行解码处理,得到多个解码图像。
在一个实施例中,所述基于所述目标硬件对所述视频数据进行解码处理,得到多个解码图像之后,所述方法还包括:
向至少一个AI计算平台传输所述多个解码图像。
在一个实施例中,所述向至少一个AI计算平台传输所述多个解码图像之后,所述方法还包括:
接收目标平台发出的告警指示,所述目标平台为所述至少一个AI计算平台中的一个AI计算平台;
根据所述告警指示生成第一告警视频,其中,所述第一告警视频指示所述视频数据中,位于告警起始时间和告警结束时间之间的视频部分,所述告警起始时间早于或等于所述告警指示对应的告警时间,所述告警结束时间晚于或等于所述告警时间。
在一个实施例中,所述接收目标平台发出的告警指示之后,所述方法还包括:
对所述多个解码图像中对应所述告警指示的至少一个解码图像进行编码处理,得到第二告警视频,所述第二告警视频包括关键帧和非关键帧,所述关键帧包括I帧,所述非关键帧包括P帧和B帧,所述第二告警视频的第一个视频帧为所述关键帧。
在一个实施例中,所述第一告警视频的关键帧间隔时长与所述第二告警视频的关键帧间隔时长不同,所述关键帧间隔时长为对应视频中的相邻两个关键帧之间的间隔时长。
在一个实施例中,所述对所述多个解码图像中对应所述告警指示的至少一个解码图像进行编码处理,得到第二告警视频,包括:
对所述多个解码图像中对应所述告警指示的至少一个解码图像进行缩放和/或抽帧处理,得到编码图像集合;
对所述编码图像集合进行编码处理,得到所述第二告警视频。
在一个实施例中,所述方法还包括:
在视频传输链路断开的情况下,基于预设重连参数周期性进行所述视频传输链路的重连,所述视频传输链路用于传输所述视频数据。
第二方面,本公开实施例提供一种视频编解码装置,包括:
获取模块,用于获取视频数据和目标标识;
确定模块,用于在预先设置的多个编解码硬件中,将与所述目标标识匹配的编解码硬件确定为目标硬件,其中,每一所述编解码硬件对应一个硬件平台,所述多个编解码硬件对应的硬件平台各不相同,且所述多个编解码硬件对应同一标准接口;
解码模块,用于基于所述目标硬件对所述视频数据进行解码处理,得到多个解码图像。
第三方面,本公开实施例还提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的视频编解码方法的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的视频编解码方法的步骤。
在本公开实施例中,通过配置多个编解码硬件对应同一标准接口,以规范视频流输入的接口要求,使得不同多个编解码硬件仅需开发及维护一套应用代码,以此来避免应用代码的重复开发,同时降低应用代码的后期维护难度,这能屏蔽不同平台硬件编解码模块及图形格式转换模块接口特性,提升视频编解码相关的应用代码的管理效果。
附图说明
图1是本公开实施例提供的一种视频编解码方法的示意图;
图2是本公开实施例提供的一种视频编解码装置的示意图;
图3是本公开实施例提供的一种电子设备的示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开实施例提供一种视频编解码方法,如图1所示,所述视频编解码方法包括:
步骤101、获取视频数据和目标标识。
步骤102、在预先设置的多个编解码硬件中,将与所述目标标识匹配的编解码硬件确定为目标硬件。
其中,每一所述编解码硬件对应一个硬件平台,所述多个编解码硬件对应的硬件平台各不相同,且所述多个编解码硬件对应同一标准接口。
上述视频数据用于指示用作视频AI处理的任意视频,例如:指示公路通行情况的车流监控视频、指示人行道或商超的人流情况的行人监控视频等。
上述视频数据通过视频采集设备(例如:摄像头)采集得到,由于不同视频采集设备的生产厂商不同,导致不同视频采集设备输出的视频数据的格式以及输出接口连接方式均存在不同,为顺利接入不同视频采集设备传输的视频数据,本公开提出,应用编解码应用进行视频数据的获取,基于编解码应用具备的平台可移植性,以灵活适配不同视频采集设备对应的不同平台的视频数据接入要求。
示例性的,可以基于为开源的且支持视频编解码处理的软件应用或框架,如ffmpeg工具,进行视频数据的获取。
在获取视频数据后,通过将视频数据拆分为按播放时间有序排列的多个视频帧,以以便利硬件对视频数据的编解码处理。
举例来说,若视频数据的视频时长为3600秒,视频数据每秒包括10个视频帧,则对视频数据进行解析后可得到36000个视频帧,且36000个视频帧按视频内各自对应的时间戳有序排列。
所述目标标识可理解为指示用户选定的用于对视频数据进行编解码处理的编解码硬件的标识符,多个编解码硬件对应的标识符各不相同。
具体的,每一所述编解码硬件对应一个硬件平台,所述多个编解码硬件对应的硬件平台各不相同,且所述多个编解码硬件对应同一标准接口可理解为,设置一中间件,中间件的上层对应视频流的获取,应用代码也设置于上层,视频流在上层中经过应用代码的处理后,即进入中间件的下层,下层提供适配不同编解码硬件的数据封装功能,在基于目标标识确定目标硬件,中间件可将视频流封装为满足目标硬件的接口要求的数据包。
步骤103、基于所述目标硬件对所述视频数据进行解码处理,得到多个解码图像。
在本公开实施例中,通过配置多个编解码硬件对应同一标准接口,以规范视频流输入的接口要求,使得不同多个编解码硬件仅需开发及维护一套应用代码,以此来避免应用代码的重复开发,同时降低应用代码的后期维护难度,这能屏蔽不同平台硬件编解码模块及图形格式转换模块接口特性,提升视频编解码相关的应用代码的管理效果。
需要说明的是,本公开不仅支持H264解码还支持H265解码,还通过使用平台硬件图形转换处理模块,以产生不同抽帧频率的BGR图像。
在一个示例中,编解码方法的实施流程可以为:
用户完成对应的视频数据的接入参数的配置,接入参数包括视频数据对应的rtsp地址以及目标硬件的标识输入,而后编解码系统使用ffmpeg工具进行视频流拉取(即获取视频数据)和解析处理(将网络视频数据拼接为一个个完整的视频帧,以供硬件作进一步的编解码处理),ffmpeg工具输出的视频帧进入目标硬件的硬件解码器进行解码,硬件解码器输出yuv图像,yuv图像送入目标硬件的图像处理引擎进行格式转换,yuv图像被转换为BGR图像,BGR图像用于输入AI计算平台进行AI计算。
示例性的,所述AI计算平台可以对输入图像进行图像AI处理的任意平台,例如:用于人脸检测的平台、用于行人轨迹预测或跟踪的平台、用于车流记录的平台等。
在一个实施例中,所述基于所述目标硬件对所述视频数据进行解码处理,得到多个解码图像之后,所述方法还包括:
向至少一个AI计算平台传输所述多个解码图像。
该实施例中,基于目标硬件对视频数据进行解码后,将解码得到的多个解码传输给一个或多个AI计算平台,以省去相关技术中,对视频流进行拷贝的处理流程,这能避免相关技术为适配硬件接口要求所产生的无效帧拷贝的动作,因而能降低目标硬件的内存占用。
举例来说,若存在视频数据需传入AI计算平台1和AI计算平台2进行处理,基于相关技术进行视频编解码时,接入视频流后,需对视频流进行拷贝,通过原视频流和拷贝后的视频流经过硬件解码后分别送入AI计算平台1和AI计算平台2;
而基于本实施例的方案,接入视频流后,无需对视频流进行拷贝,直接将经过硬件解码后的多个解码图像分别送入AI计算平台1和AI计算平台2即可。
并且,在至少一个AI计算平台包括两个或两个以上的AI计算平台的情况下,可基于不同AI计算平台的图像处理速率,针对性为每一AI计算平台传输所述多个解码图像,两个或两个以上的AI计算平台中,不同AI计算平台对应的传输速率可以相同也可以不同,传输速率指示单位时间内向对应AI计算平台传输解码图像的数量(如一秒一帧、一秒三帧等)。
所述向至少一个AI计算平台传输所述多个解码图像之后,所述方法还包括:
接收目标平台发出的告警指示,所述目标平台为所述至少一个AI计算平台中的一个AI计算平台;
根据所述告警指示生成第一告警视频,其中,所述第一告警视频指示所述视频数据中,位于告警起始时间和告警结束时间之间的视频部分,所述告警起始时间早于或等于所述告警指示对应的告警时间,所述告警结束时间晚于或等于所述告警时间。
该实施例中,目标平台发出的告警指示可理解为,图像AI处理平台在多个解码图像中识别到包括有检测对象的解码图像,也称告警图像,所述检测对象可以车辆、人等。
通过汇总告警指示对应告警时间的前后一段时间的视频内容,以形成为第一告警视频,以便于后续对检测对象关联的视频片段的回溯以及进一步分析。
告警指示可以为一个或多个告警图像,告警时间可以为告警图像在视频数据中对应的时间戳。
在一个示例中,第一告警视频的生成流程可以为:
基于ffmpeg工具拉取视频流并解析后,除了向对视频流进行解码并传输给AI计算平台外,还利用ffmpeg工具本地的缓存对裸流数据进行动态存储;
这其中,当缓存内存储的视频数据的图像数量达到数量阈值时,会对缓存内最先存入存储的视频数据进行清理;当缓存内存储的解码图像被确定为告警图像时,也会适应性删减缓存内,与告警图像之间的时间间隔过长的部分图像,并继续等待告警图像之后的一定数量的视频数据存入缓存后,将当前缓存内位于告警起始时间和告警结束时间之间多个图像封装为第一告警视频(视频生成过程可以进行抽帧等处理,以在保留告警视频所指示视频内容的前提下,降低视频对存储空间的占用),并向云仓库进行上报;
在一个实施例中,所述接收目标平台发出的告警指示之后,所述方法还包括:
对所述多个解码图像中对应所述告警指示的至少一个解码图像进行编码处理,得到第二告警视频,所述第二告警视频包括关键帧和非关键帧,所述关键帧包括I帧,所述非关键帧包括P帧和B帧,所述第二告警视频的第一个视频帧为所述关键帧。
应用中,为降低视频数据传输过程中的数据量,会对视频数据进行压缩处理,并区分视频数据中的关键帧(即I帧)和非关键帧(即P帧和B帧),其中,基于关键帧对应的压缩数据可直接还原得到视频帧,而非关键帧的压缩数据需和其关联的关键帧的压缩数据配合使用,才能还原得到视频帧,对于视频数据来说,相邻两个关键帧之间的时间间隔即被成为关键帧间隔时长。
应用中,来源于不同渠道的视频数据的关键帧间隔时长不同,为避免第一告警视频中包括的无法还原的非关键帧过多,故通过对多个解码图像进行编码处理,以得到首个视频帧为关键帧的第二告警视频,进而确保上报的第二告警视频的数据可用性。
举例来说,若第一告警视频包括10个视频帧,其中第5个视频帧为关键帧,则第一告警视频内缺失第1-4个视频帧关联的关键帧,导致第1-4个视频帧无法还原使用,而第一告警视频内第6-10个视频帧可结合第5个视频帧的压缩数据进行还原使用,在此情况下,第一告警视频内可用的视频帧占比为60%,而通过将第一告警视频转换为第二告警视频,可将上报的告警视频内可用的视频帧占比提升至100%。
在一个实施例中,所述第一告警视频的关键帧间隔时长与所述第二告警视频的关键帧间隔时长不同,所述关键帧间隔时长为对应视频中的相邻两个关键帧之间的间隔时长。
通过上述设置,以规范上报至云仓库的第二告警视频的关键帧间隔时长,即对应任意渠道的多个视频数据,即便多个视频数据对应的关键帧间隔时长不同,通过上述处理后,最终各自上报至云仓库的第二告警视频的关键帧间隔时长均保持一致,这能规范云仓库对不同视频数据对应的不同第二告警视频的存储管理。
在一个实施例中,所述对所述多个解码图像中对应所述告警指示的至少一个解码图像进行编码处理,得到第二告警视频,包括:
对所述多个解码图像中对应所述告警指示的至少一个解码图像进行缩放和/或抽帧处理,得到编码图像集合;
对所述编码图像集合进行编码处理,得到所述第二告警视频。
该实施例中,对对应所述告警指示的至少一个解码图像进行缩放和/或抽帧处理,以降低输入编码部分的图像数量和/或缩减输入编码部分的图像尺寸,进而对目标硬件的编码部分和解码部分之间的性能差异进行平衡,保障编解码硬件的编解码工作的协同执行。
在一个实施例中,所述方法还包括:
在视频传输链路断开的情况下,基于预设重连参数周期性进行所述视频传输链路的重连,所述视频传输链路用于传输所述视频数据。
由于视频数据是通过视频传输链路连通的,在视频传输链路正常工作的情况下,可有序获取视频数据对应的数据推流,而当视频传输链路断开时,通过预设重连参数,以自动且周期性地发起重连请求,从而替换手动发起重连请求的操作,简化用户操作,提升用户操作体验。
所述预设重连参数用于指示间隔预设时长即发起一次针对视频数据的来源渠道的重连请求,所述预设时长可以为5秒、10秒等。
示例性的:
在一种实施方式中,可以通过ffmpeg工具获取裸流视频数据(第一告警视频),通过ffmepg工具进行封装成mp4文件,该方式不占用平台硬件的编码器资源,生成第一告警视频的时间准确度受裸流视频数据的关键帧间隔影响,因此,需要确保ffmpeg工具接入的实时流(指裸流视频数据对应的实时数据流)关键帧间隔时长在两秒以内。
在另一种实施方式中,可以通过ffmpeg获取裸流视频数据,通过硬件解码器将裸流视频数据解码成yuv图像,通过硬件图像处理引擎)对yuv图像进行resize操作或抽帧,再将resiz或抽帧后的图像输入到编码器中进行编码,生成的裸流数据(指第二告警视频)用ffmpeg工具封装成mp4文件,此种方式不受裸流视频数据的关键帧间隔影响,第二告警视频的关键帧间隔可基于实际需求进行适应性配置。
举例来说,可以应用ffmpeg工具作为编解码应用,以进行rtsp拉流解析,并获取实时流的视频帧以及视频基本参数信息,如分辨率、视频编码格式、色彩空间信息、帧率等;
可以调用视频采集设备的生产厂商提供的c/c++接口使用硬件编解码器实现视频编解码,或者,硬件图像处理引擎实现图像色彩空间转换;
可以基于Dma buffer实现编解码应用和编解码硬件之间的数据共享;在本公开中,硬件编解码器及硬件图像处理引擎访问的内存都是dma buffer,通过dma buffer的文件描述符实现设备之间buffer共享,应用层则通过mmap接口将映射到用户空间的虚拟地址来访问buffer;
另外,本公开所提供编解码系统还支持BGR图像的全速输出(指将多个目标图像全量推送给AI计算平台)和间隔输出(指将多个目标图像以抽帧方式部分推送给AI计算平台)的策略设置、支持对解码图像的分辨率设置、支持对解码图像的缩放设置、第一告警视频或第二告警视频的存放路径和文件名设置、对应第一告警视频或第二告警视频的回调函数设置、以及对应重连请求的回调函数设置。
举例来说,在x86设备上搭建视频数据对应的推流环境,在同一个网段下,部署一个rk3568和nvidia jetson nx盒子,分别在两个盒子上拉取一路实时流,在每个盒子上分别用硬件和软件进行解码,各自的 CPU占用率如表1所示:
表1
参见图2,图2是本公开实施例提供的一种视频编解码装置,如图2所示,所述视频编解码装置200包括:
获取模块201,用于获取视频数据和目标标识;
确定模块202,用于在预先设置的多个编解码硬件中,将与所述目标标识匹配的编解码硬件确定为目标硬件,其中,每一所述编解码硬件对应一个硬件平台,所述多个编解码硬件对应的硬件平台各不相同,且所述多个编解码硬件对应同一标准接口;
解码模块203,用于基于所述目标硬件对所述视频数据进行解码处理,得到多个解码图像。
在一个实施例中,所述装置200还包括:
AI传输模块,用于向至少一个AI计算平台传输所述多个解码图像。
在一个实施例中,所述装置200还包括:
告警模块,用于接收目标平台发出的告警指示,所述目标平台为所述至少一个AI计算平台中的一个AI计算平台;并根据所述告警指示生成第一告警视频,其中,所述第一告警视频指示所述视频数据中,位于告警起始时间和告警结束时间之间的视频部分,所述告警起始时间早于或等于所述告警指示对应的告警时间,所述告警结束时间晚于或等于所述告警时间。
在一个实施例中,所述装置200还包括:
编码模块,用于对所述多个解码图像中对应所述告警指示的至少一个解码图像进行编码处理,得到第二告警视频,所述第二告警视频包括关键帧和非关键帧,所述关键帧包括I帧,所述非关键帧包括P帧和B帧,所述第二告警视频的第一个视频帧为所述关键帧。
在一个实施例中,所述编码模块具体用于:
对所述多个解码图像中对应所述告警指示的至少一个解码图像进行缩放和/或抽帧处理,得到编码图像集合;
对所述编码图像集合进行编码处理,得到所述第二告警视频。
在一个实施例中,所述装置200还包括:
重连模块,用于在视频传输链路断开的情况下,基于预设重连参数周期性进行所述视频传输链路的重连,所述视频传输链路用于传输所述视频数据。
本公开实施例提供的所述视频编解码装置200能够实现上述所述视频编解码方法实施例中的各个过程,为避免重复,这里不再赘述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质。
图3示出了可以用来实施本公开的实施例的示例电子设备300的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图3所示,设备300包括计算单元301,其可以根据存储在只读存储器(Read-OnlyMemory,ROM)302中的计算机程序或者从存储单元308加载到随机访问存储器(RandomAccess Memory,RAM)303中的计算机程序,来执行各种适当的动作和处理。在RAM 303中,还可存储设备300操作所需的各种程序和数据。计算单元301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
设备300中的多个部件连接至I/O接口305,包括:输入单元306,例如键盘、鼠标等;输出单元307,例如各种类型的显示器、扬声器等;存储单元308,例如磁盘、光盘等;以及通信单元309,例如网卡、调制解调器、无线通信收发机等。通信单元309允许设备300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元301可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元301的一些示例包括但不限于中央处理单元(Central Processing Unit,CPU)、图形处理单元(Graphic Process Unit,GPU)、各种专用的人工智能(Artificial Intelligence,AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(Digital SignalProcessing,DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元301执行上文所描述的各个方法和处理,例如视频编解码方法。例如,在一些实施例中,视频编解码方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元308。在一些实施例中,计算机程序的部分或者全部可以经由ROM 302和/或通信单元309而被载入和/或安装到设备300上。当计算机程序加载到RAM 303并由计算单元301执行时,可以执行上文描述的视频编解码方法的一个或多个步骤。备选地,在其他实施例中,计算单元301可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行视频编解码方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(Field-Programmable Gate Array,FPGA)、专用集成电路(Application Specific Integrated Circuit,ASIC)、专用标准产品(ApplicationSpecific Standard Product,ASSP)、芯片上系统的系统(System on Chip,SOC)、复杂可编程逻辑设备(Complex Programmable Logic Device,CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (10)
1.一种视频编解码方法,其特征在于,所述方法包括:
获取视频数据和目标标识;
在预先设置的多个编解码硬件中,将与所述目标标识匹配的编解码硬件确定为目标硬件,其中,每一所述编解码硬件对应一个硬件平台,所述多个编解码硬件对应的硬件平台各不相同,且所述多个编解码硬件对应同一标准接口;
基于所述目标硬件对所述视频数据进行解码处理,得到多个解码图像。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标硬件对所述视频数据进行解码处理,得到多个解码图像之后,所述方法还包括:
向至少一个AI计算平台传输所述多个解码图像。
3.根据权利要求2所述的方法,其特征在于,所述向至少一个AI计算平台传输所述多个解码图像之后,所述方法还包括:
接收目标平台发出的告警指示,所述目标平台为所述至少一个AI计算平台中的一个AI计算平台;
根据所述告警指示生成第一告警视频,其中,所述第一告警视频指示所述视频数据中,位于告警起始时间和告警结束时间之间的视频部分,所述告警起始时间早于或等于所述告警指示对应的告警时间,所述告警结束时间晚于或等于所述告警时间。
4.根据权利要求3所述的方法,其特征在于,所述接收目标平台发出的告警指示之后,所述方法还包括:
对所述多个解码图像中对应所述告警指示的至少一个解码图像进行编码处理,得到第二告警视频,所述第二告警视频包括关键帧和非关键帧,所述关键帧包括I帧,所述非关键帧包括P帧和B帧,所述第二告警视频的第一个视频帧为所述关键帧。
5.根据权利要求4所述的方法,其特征在于,所述第一告警视频的关键帧间隔时长与所述第二告警视频的关键帧间隔时长不同,所述关键帧间隔时长为对应视频中的相邻两个关键帧之间的间隔时长。
6.根据权利要求4所述的方法,其特征在于,所述对所述多个解码图像中对应所述告警指示的至少一个解码图像进行编码处理,得到第二告警视频,包括:
对所述多个解码图像中对应所述告警指示的至少一个解码图像进行缩放和/或抽帧处理,得到编码图像集合;
对所述编码图像集合进行编码处理,得到所述第二告警视频。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在视频传输链路断开的情况下,基于预设重连参数周期性进行所述视频传输链路的重连,所述视频传输链路用于传输所述视频数据。
8.一种视频编解码装置,其特征在于,包括:
获取模块,用于获取视频数据和目标标识;
确定模块,用于在预先设置的多个编解码硬件中,将与所述目标标识匹配的编解码硬件确定为目标硬件,其中,每一所述编解码硬件对应一个硬件平台,所述多个编解码硬件对应的硬件平台各不相同,且所述多个编解码硬件对应同一标准接口;
解码模块,用于基于所述目标硬件对所述视频数据进行解码处理,得到多个解码图像。
9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311446890.4A CN117176962B (zh) | 2023-11-02 | 2023-11-02 | 一种视频编解码方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311446890.4A CN117176962B (zh) | 2023-11-02 | 2023-11-02 | 一种视频编解码方法、装置及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117176962A true CN117176962A (zh) | 2023-12-05 |
CN117176962B CN117176962B (zh) | 2024-01-30 |
Family
ID=88947242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311446890.4A Active CN117176962B (zh) | 2023-11-02 | 2023-11-02 | 一种视频编解码方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117176962B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109672893A (zh) * | 2018-11-30 | 2019-04-23 | 广州市百果园信息技术有限公司 | 一种视频解码方法、装置、设备和存储介质 |
CN112911390A (zh) * | 2021-05-08 | 2021-06-04 | 长视科技股份有限公司 | 一种视频数据的播放方法及终端设备 |
US20210289250A1 (en) * | 2018-11-27 | 2021-09-16 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Video Processing Method, Electronic Device and Computer-Readable Storage Medium |
CN115019462A (zh) * | 2022-05-27 | 2022-09-06 | 北京声智科技有限公司 | 视频处理方法、装置、存储介质及设备 |
CN115914745A (zh) * | 2022-12-15 | 2023-04-04 | 网易(杭州)网络有限公司 | 视频的解码方法、装置、电子设备及计算机可读介质 |
-
2023
- 2023-11-02 CN CN202311446890.4A patent/CN117176962B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210289250A1 (en) * | 2018-11-27 | 2021-09-16 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Video Processing Method, Electronic Device and Computer-Readable Storage Medium |
CN109672893A (zh) * | 2018-11-30 | 2019-04-23 | 广州市百果园信息技术有限公司 | 一种视频解码方法、装置、设备和存储介质 |
CN112911390A (zh) * | 2021-05-08 | 2021-06-04 | 长视科技股份有限公司 | 一种视频数据的播放方法及终端设备 |
CN115019462A (zh) * | 2022-05-27 | 2022-09-06 | 北京声智科技有限公司 | 视频处理方法、装置、存储介质及设备 |
CN115914745A (zh) * | 2022-12-15 | 2023-04-04 | 网易(杭州)网络有限公司 | 视频的解码方法、装置、电子设备及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117176962B (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9609338B2 (en) | Layered video encoding and decoding | |
CN104137146A (zh) | 用于利用前景对象分割的噪声过滤的视频编码的方法和系统 | |
WO2020063246A1 (zh) | 点云编解码方法和编解码器 | |
US20220353586A1 (en) | Subtitle information display method and apparatus, and electronic device, and computer readable medium | |
TWI806479B (zh) | 點雲編解碼方法、裝置、電腦可讀介質及電子設備 | |
CN113489789B (zh) | 云游戏耗时数据的统计方法、装置、设备及存储介质 | |
CN111385576B (zh) | 视频编码方法、装置、移动终端及存储介质 | |
CN113961289B (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
CN114051120A (zh) | 视频告警方法、装置、存储介质及电子设备 | |
CN117176962B (zh) | 一种视频编解码方法、装置及相关设备 | |
CN110798700B (zh) | 视频处理方法、视频处理装置、存储介质与电子设备 | |
CN112839227B (zh) | 一种图像编码方法、装置、设备和介质 | |
CN113766266A (zh) | 音视频处理方法、装置、设备以及存储介质 | |
WO2024164928A1 (zh) | 预警方法、装置、电子设备及存储介质 | |
CN106851134B (zh) | 传输图像数据的方法、装置及系统 | |
CN113347385A (zh) | 一种视频流传输方法、装置、设备和介质 | |
CN118138703A (zh) | 一种视频数据流软编码方法、装置、设备及介质 | |
CN112565800B (zh) | 一种视频定位方法、装置、设备、系统及存储介质 | |
CN115348217B (zh) | 对数据进行打包的方法及电子设备 | |
WO2024001604A1 (zh) | 视觉图像数据处理方法、装置及相关设备 | |
CN115942000A (zh) | 基于h.264格式的视频流转码方法及装置、设备及介质 | |
CN108512812B (zh) | 一种码流数据生成方法及装置 | |
CN117235005A (zh) | 一种芯片、信息传输方法及电子设备 | |
CN118118692A (zh) | 视频码流的传输和解析方法、装置和设备 | |
CN117931107A (zh) | 数据处理方法、装置、计算机设备和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |