CN117014562B - 多路视频流混合编解码方法、设备及存储介质 - Google Patents

多路视频流混合编解码方法、设备及存储介质 Download PDF

Info

Publication number
CN117014562B
CN117014562B CN202311252133.3A CN202311252133A CN117014562B CN 117014562 B CN117014562 B CN 117014562B CN 202311252133 A CN202311252133 A CN 202311252133A CN 117014562 B CN117014562 B CN 117014562B
Authority
CN
China
Prior art keywords
video
plug
video frame
layer
frame
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.)
Active
Application number
CN202311252133.3A
Other languages
English (en)
Other versions
CN117014562A (zh
Inventor
董燕锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Huafu Technology Co ltd
Original Assignee
Shenzhen Huafu Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Huafu Technology Co ltd filed Critical Shenzhen Huafu Technology Co ltd
Priority to CN202311252133.3A priority Critical patent/CN117014562B/zh
Publication of CN117014562A publication Critical patent/CN117014562A/zh
Application granted granted Critical
Publication of CN117014562B publication Critical patent/CN117014562B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明涉及视频处理技术领域,公开了一种多路视频流混合编解码方法、设备及存储介质。多路视频流混合编解码方法包括:拉取原始视频流;对各路原始视频流进行解码;对各视频帧进行视频画幅缩放和/或颜色空间转换;对各视频帧进行感兴趣区域裁剪与视频图像融合,得到仅显示所有视频帧中感兴趣区域的视频帧;将显示信息叠加至视频帧,得到混编视频帧;对各混编视频帧进行编码,得到混编视频流并推送至流媒体服务;根据业务加密需求,对混编视频流进行加密后推送至流媒体服务。本发明将多路视频合成一路既方便观察又可以有效地减少数据存储量,同时还提升了复杂应用场景下进行视频监控使用时的实时性与灵活性。

Description

多路视频流混合编解码方法、设备及存储介质
技术领域
本发明涉及视频处理技术领域,尤其涉及一种多路视频流混合编解码方法、设备及存储介质。
背景技术
为满足日常家庭和公共场所的安全需要,视频监控系统在日常生活及安防应用中越发常见。在传统视频监控系统中,监管人员需要观看多个分镜画面,因而很难将零散的分镜头视频与其实际地理位置对应,无法对大场景进行实时监测和历史事件的快速回溯查找,海量零散的监控视频资源既“看不过来”又“看不太懂”。此外,传统视频监控系统中,在视频接入协议上通常只支持常见的实时流传输协议(Real Time Streaming Protocol,RTSP)、实时信息传输协议(Real Time Message Protocol,RTMP)、开放型网络视频接口(Open Network Video Interface Forum,Onvif)等视频协议,因而无法适配兼容多种监控厂商的软件开发工具包(Software Development Kit,SDK)监控协议,导致从网络摄像机上拉取视频耗时较长的问题,而在视频编解码上,传统视频监控系统无法主动适配多种芯片厂商的编解码芯片,从而导致CPU占用高、编解码时间长等,也即传统视频监控系统在复杂应用场景下进行视频监控使用时的存在实时性低以及灵活性差的问题。
发明内容
本发明的主要目的在于,提供一种多路视频流混合编解码方法、设备及存储介质,旨在解决传统视频监控系统在复杂应用场景下进行视频监控使用时的存在实时性低以及灵活性差的技术问题。
本发明第一方面提供了一种多路视频流混合编解码方法,应用于多路视频流混合编解码系统,所述多路视频流混合编解码系统包括:设备接入插件层、视频帧解码插件层、视频帧预处理插件层、感兴趣区域处理插件层、视频帧编码插件层以及视频帧加密插件层,各插件层采用管道模式处理数据,所述设备接入插件层包括通用协议插件和基于专业设备封装的SDK插件,所述视频帧解码插件层包括通用解码插件和基于不同芯片设备的跨平台解码插件,所述视频帧预处理插件层包括通用预处理插件和专用图像处理插件,所述感兴趣区域处理插件层包括通用摄像头感兴趣区域处理插件和专用摄像头感兴趣区域处理插件,所述视频帧编码插件层包括通用编码插件和基于不同芯片设备的跨平台解码插件,所述视频帧加密插件层包括多种视频加密插件;
所述多路视频流混合编解码方法包括:
根据接入视频设备的类型,从所述设备接入插件层中选择合适插件拉取原始视频流并输入所述视频帧解码插件层;
根据解码芯片的类型,从所述视频帧解码插件层中选择合适插件对各路原始视频流进行解码,得到多个第一视频帧,并将各第一视频帧输入所述视频帧预处理插件层;
若接入的视频设备为通用摄像头,则根据处理视频帧的硬件类型,从所述视频帧预处理插件层中选择合适插件对各第一视频帧进行视频画幅缩放和/或颜色空间转换,得到对应的第二视频帧,并将各第二视频帧输入所述感兴趣区域处理插件层;从所述感兴趣区域处理插件层中选择合适插件对各第二视频帧进行感兴趣区域裁剪与视频图像融合,得到仅显示所有第二视频帧中感兴趣区域的第三视频帧;
获取待叠加的显示信息,并将所述显示信息叠加至所述第三视频帧,得到混编视频帧,并将所述混编视频帧输入所述视频帧编码插件层;
根据编码芯片的类型,从所述视频帧编码插件层中选择合适插件对各所述混编视频帧进行编码,得到混编视频流并推送至流媒体服务;
根据业务加密需求,从所述视频帧加密插件层中选择合适插件对所述混编视频流进行加密后推送至流媒体服务,所述流媒体服务用于对所述混编视频流进行流媒体协议转换后进行视频分发。
在本发明第一方面的第一种实现方式中,所述若接入的视频设备为通用摄像头,则根据处理视频帧的硬件类型,从所述视频帧预处理插件层中选择合适插件对各第一视频帧进行视频画幅缩放和/或颜色空间转换,得到对应的第二视频帧包括:
若接入的视频设备为通用摄像头,则根据最终需求的混编视频流的分辨率大小,从所述视频帧预处理插件层中选择与处理视频帧的硬件类型相匹配的视频帧缩放插件,分别对各第一视频帧进行视频画幅缩小或放大,得到具有相同画图大小的新视频帧;和/或
根据最终需求的混编视频流的视频格式,从所述视频帧预处理插件层中选择与处理视频帧的硬件类型相匹配的视频帧颜色空间转换插件,分别对各缩放后的新视频帧进行颜色空间转换,得到对应的第二视频帧。
在本发明第一方面的第二种实现方式中,所述多路视频流混合编解码方法还包括:
若接入的视频设备为鱼眼摄像头,则从所述视频帧预处理插件层中选择插件对各第一视频帧进行图像校正,得到各第一视频帧的鱼眼矫正图像,并将各第一视频帧的鱼眼矫正图像输入所述感兴趣区域处理插件层;
从所述感兴趣区域处理插件层中选择插件,根据各路鱼眼摄像头设定的感兴趣区域,分别对各第一视频帧的鱼眼矫正图像进行感兴趣区域裁剪与视频图像融合,得到仅显示所有第一视频帧的鱼眼矫正图像中感兴趣区域的多个第四视频帧。
在本发明第一方面的第三种实现方式中,所述多路视频流混合编解码方法还包括:
若接入的视频设备为鹰眼摄像头,则根据处理视频帧的硬件类型,从所述视频帧预处理插件层中选择合适插件对各第一视频帧进行视频画幅缩放、颜色空间转换和全景图像配准,得到各第一视频帧的鹰眼全景拼接图像,并将各第一视频帧的鹰眼全景拼接图像输入所述感兴趣区域处理插件层;
从所述感兴趣区域处理插件层中选择插件,根据各路鹰眼摄像头设定的感兴趣区域,分别对各第一视频帧的鹰眼全景拼接图像进行感兴趣区域裁剪与视频图像融合,得到仅显示所有第一视频帧的鹰眼全景拼接图像中感兴趣区域的多个第五视频帧。
在本发明第一方面的第四种实现方式中,所述若接入的视频设备为鱼眼摄像头,则从所述视频帧预处理插件层中选择插件对各第一视频帧进行图像校正,得到各第一视频帧的鱼眼矫正图像包括:
若接入的视频设备为鱼眼摄像头,则从所述视频帧预处理插件层中选择鱼眼图像矫正插件;
调用所述鱼眼图像矫正插件,创建鱼眼矫正映射矩阵,并基于所述鱼眼矫正映射矩阵对各第一视频帧进行图像插值重排,得到各第一视频帧的鱼眼矫正图像。
在本发明第一方面的第五种实现方式中,所述若接入的视频设备为鹰眼摄像头,则根据处理视频帧的硬件类型,从所述视频帧预处理插件层中选择合适插件对各第一视频帧进行视频画幅缩放、颜色空间转换和全景图像配准,得到各第一视频帧的鹰眼全景拼接图像包括:
若接入的视频设备为鹰眼摄像头,则根据处理视频帧的硬件类型,从所述视频帧预处理插件层中选择与处理视频帧的硬件类型相匹配的视频缩放插件对各第一视频帧进行视频画幅缩放,选择与处理视频帧的硬件类型相匹配的视频颜色空间插件对各第一视频帧进行颜色空间转换;
从所述视频帧预处理插件层中选择鹰眼全景拼接插件;
调用所述鹰眼全景拼接插件,对各第一视频帧进行图像配准,并创建图像配准后的各第一视频帧的图像坐标变换矩阵,基于所述图像坐标变换矩阵对各第一视频帧进行图像坐标变换,合并图像坐标变换后各第一视频帧中重叠部分的像素值并保持没有重叠的像素值,得到各第一视频帧的鹰眼全景拼接图像。
在本发明第一方面的第六种实现方式中,所述根据编码芯片的类型,从所述视频帧编码插件层中选择合适插件对各所述混编视频帧进行编码,得到混编视频流并推送至流媒体服务包括:
判断所述混编视频帧是否为RGB格式,若是,则将所述混编视频帧转换为YUV格式;
从所述视频帧编码插件层中选择与编码芯片相关联的视频帧编码插件,根据设定的编码格式对YUV格式的所述混编视频帧进行编码,得到H264帧或H265帧的混编视频流;
将所述混编视频流推送至流媒体服务,以供通过所述流媒体服务进行流媒体协议转换与视频分发。
在本发明第一方面的第七种实现方式中,所述多路视频流混合编解码方法还包括:
保存加密后的所述混编视频流,得到加密录像文件,其中,所述加密录像文件的数据格式包括:加密录像的文件头定义、加密录像文件包含的事件信息摘要、帧信息摘要及视频帧数据包;
其中,所述文件头定义包括文件起始标志、格式版本和加密插件类型,用于文件格式校验、数据结构解析及视频解密;
所述事件信息摘要包括事件信息头及若干个事件信息体,所述事件信息头包括触发事件的数据源、事件数量,所述事件信息体包括事件类型、事件触发时间、事件开始的视频帧和事件摘要信息;
所述帧信息摘要包括视频帧信息头及若干个视频帧信息摘要体,所述帧信息头包括视频格式信息、帧率信息、音频格式信息和加密信息,所述视频帧信息摘要体包括帧类型、解码时间戳和显示时间戳。
本发明第二方面提供一种计算机设备,所述计算机设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述计算机设备执行如本发明第一方面的任意一项所述的多路视频流混合编解码方法。
本发明的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中任一项所述的多路视频流混合编解码方法。
本发明提出了一种可配置的设备接入插件、编解码插件、感兴趣区域处理插件及可配置加密算法的视频加密插件的多路视频混合编解码解决方案。多路视频流混合编解码系统采用流水线方式对视频流进行处理,将整个视频混合编码流程分为设备接入子流程、视频帧的解码子流程、视频帧预处理流程、视频帧感兴趣区域处理子流程、视频帧编码子流程及视频帧的加密子流程。每个子流程都有优化过的适配各种业务场景的子流程处理插件,能够兼容多种品牌的前端摄像头设备、能够兼容多种芯片硬件及跨平台设备,并且支持不同的操作系统,能在充分利用软硬件性能的同时,极大地降低了编解码过程的延时。本发明中,不同的硬件可以使用与其兼容的最佳方案插件,从而确保音视频混编的过程中能够充分利用软硬件性能,保证耗时最低。在相同的硬件能力情况下,本发明方案具有更优的实时性与灵活性。
附图说明
图1为本发明多路视频流混合编解码系统一实施例的技术架构示意图;
图2为本发明多路视频流混合编解码方法一实施例的流程示意图;
图3为本发明实施例中计算机设备的一个实施例示意图。
具体实施方式
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,图1为本发明多路视频流混合编解码系统一实施例的技术架构示意图。本实施例中,多路视频流混合编解码系统包括:设备接入插件层、视频帧解码插件层、视频帧预处理插件层、感兴趣区域处理插件层(region of interest,ROI,以下简称ROI处理层)、视频帧编码插件层以及视频帧加密插件层。每一插件层对应实现一个子处理流程,比如设备接入插件层实现设备接入子流程,视频帧解码插件层实现视频帧解码子流程,视频帧预处理插件层实现视频帧预处理子流程,感兴趣区域处理插件层实现ROI处理子流程,视频帧编码插件层实现视频帧编码子流程以及视频帧加密插件层实现视频帧加密子流程。
一个多路视频流混编任务的业务流程依次包括设备接入子流程、视频帧解码子流程、视频帧预处理子流程、ROI处理子流程、视频帧编码子流以及视频帧加密子流程。本实施例中,各插件层采用管道模式处理数据,统一定义各个子流程处理插件的输入输出接口,并将设备接入插件层、视频帧解码插件层、视频帧预处理插件层、ROI处理插件层、视频帧编码插件层以及视频帧加密插件层包含的相关插件使用plugin-bin的方式进行封装,支持相关处理插件的动态加载。
(1)设备接入插件层
本插件层提供了多种协议插件,包括通用协议插件,如rtsp协议、rtmp协议、onvif协议等;也包括基于专业设备封装的SDK插件,如海康SDK插件、大华SDK插件、宇视SDK插件、华为SDK插件等。上述协议插件可根据业务进行动态扩展来支持更多的厂商设备,提升了设备接入的灵活性,同时基于厂商SDK接入可以用最快的方式拉取到网络摄像头的视频流,进而降低接入视频流的时延。
(2)视频帧解码插件层
本插件层提供了多种解码插件,比如通用的FFMPEG解码插件及基于不同芯片设备的跨平台解码插件,如NvdiaCuda、IntelQSV、华为Atlas、海思解码SDK、瑞芯微解码SDK等。采用插件化设计可以确保系统架构在支持跨平台的前提下,能够充分利用各平台的解码能力,进而降低视频流的解码时延。
(3)视频帧预处理插件层
本插件层提供了针对视频帧图像的处理插件,比如针对图像缩放的插件以及针对图像颜色空间转换的插件。本实施例根据不同的硬件平台,可以采用不同的缩放算法,如双线性插值、临近插值等传统算法,也可以使用OpenCV开源图片处理库提供的功能函数,并将算法或开源库的功能函数封装成视频缩放处理插件。颜色空间转换算法可以采用libyuv开源库及OpenCV开源库,并封装成视频颜色空间转换的处理插件。
此外,本插件层还针对一些特殊应用场景提供相应的图像处理算法插件,比如使用鱼眼摄像头、鹰眼摄像头的应用场景,相应提供鱼眼图像校正的算法插件、鹰眼全景拼接的算法插件。
(4)感兴趣区域处理插件层
本插件层提供多种感兴趣区域截取算法插件。比如针对通用摄像头视频的感兴趣区域截取算法插件(通用视频ROI处理插件),针对鱼眼摄像头的感兴趣区域截取算法插件(鱼眼视频ROI处理插件)及针对鹰眼摄像头的感兴趣区域截取算法插件(鹰眼视频ROI处理插件)。
(5)视频帧编码插件层
本插件层提供多种编码插件,比如通用的FFMPEG(Fast Forward Mpeg)编码插件及基于不同芯片设备的跨平台解码插件,如NvdiaCuda、IntelQSV、华为Atlas、海思编码SDK、瑞芯微编码SDK等。采用插件化设计可以确保系统架构在支持跨平台的前提下,能够充分利用各平台的编码能力,进而降低视频流的编码时延。
(6)视频帧加密插件层
本插件层提供多种视频帧加密插件,用于高安全领域下的视频传输或者拷贝过程中导致视频外泄等问题。比如选择性加密算法插件、置乱算法插件、码表算法插件及基于国密的算法插件等。加密算法插件层是可扩展的,可以根据业务进行新增其他加密算法插件。
请参阅图2,图2为本发明多路视频流混合编解码方法一实施例的流程示意图。本实施例中,多路视频流混合编解码方法包括:
(1)设备接入子流程
本流程中,根据接入视频设备的类型,从设备接入插件层中选择合适插件拉取原始视频流并输入视频帧解码插件层。视频设备包括各类网络摄像头。
本实施例中,设备接入插件层提供了多种协议插件,包括通用协议插件,如rtsp协议、rtmp协议、onvif协议等,也包括基于专业设备封装的SDK插件,如海康SDK插件、大华SDK插件、宇视SDK插件、华为SDK插件等。在接入视频设备时,基于接入视频设备的类型选择合适插件拉取原始视频流。比如待接入的视频设备支持rtsp协议,则选择rtsp插件拉取原始视频流,比如待接入的视频设备品牌为海康,则选择海康SDK插件拉取原始视频流。
(2)视频帧解码子流程
本流程中,根据解码芯片的类型,从视频帧解码插件层中选择合适插件对各路原始视频流进行解码,得到多个第一视频帧,并将各第一视频帧输入视频帧预处理插件层。
本实施例中,视频帧解码插件层提供了多种解码插件,比如通用的FFMPEG解码插件及基于不同芯片设备的跨平台解码插件,如NvdiaCuda、IntelQSV、华为Atlas、海思解码SDK、瑞芯微解码SDK等。在对视频流进行解码时,根据后端硬件(解码芯片)的类型,选择合适插件进行解码,比如解码芯片为NvdiaCuda,则选择Cuda解码插件进行解码,该方式能够充分利用平台硬件的解码能力,进而降低视频流的解码时延。
(3)视频帧预处理子流程
情形1:接入的视频设备为通用摄像头
本流程中,根据处理视频帧的硬件类型,从视频帧预处理插件层中选择合适插件对各第一视频帧进行视频画幅缩放和/或颜色空间转换,得到对应的第二视频帧,并将各第二视频帧输入感兴趣区域处理插件层;
根据最终需求的混编视频流的分辨率大小,从视频帧预处理插件层中选择与处理视频帧的硬件类型相匹配的视频帧缩放插件,分别对各第一视频帧进行视频画幅缩小或放大,得到具有相同画图大小的新视频帧;
根据最终需求的混编视频流的视频格式,从视频帧预处理插件层中选择与处理视频帧的硬件类型相匹配的视频帧颜色空间转换插件,分别对各缩放后的新视频帧进行颜色空间转换,得到对应的第二视频帧。
由于采用多路视频源,不同的视频源可能分辨率不同(比如有些摄像头是1080P、720P或更高清的2K、4K等),在混编时需要根据最终需求的混编视频分辨率大小(比如最终混编视频可能是1080P、4K等)来缩小或者放大(有些视频源如果分辨率比较小,则需要放大画面)到同一画幅大小。由于不同的视频源,可能采用的解码方式不同,导致解码后的视频格式有所不同(比如YUV420或者NV12),则需要进行颜色空间转换,统一转换成NV12或者RGB,以便后续多个视频画面叠加成一个视频画面。本实施例根据不同的硬件平台,可以采用不同的缩放算法,如双线性插值、临近插值等传统算法,也可以使用OpenCV开源图片处理库提供的功能函数,并将算法或开源库的功能函数封装成视频缩放处理插件。颜色空间转换算法可以采用libyuv开源库及OpenCV开源库,并封装成视频颜色空间转换的处理插件。
情形2:接入的视频设备为鱼眼摄像头
本流程中,鱼眼摄像头不同于一般摄像头,其可以实现大范围角度拍摄,因而其拍摄的视频帧画面不便于用户直接观看,因此需要进行图像校正,具体从视频帧预处理插件层中选择插件对各第一视频帧进行图像校正,得到各第一视频帧的鱼眼矫正图像,并将各第一视频帧的鱼眼矫正图像输入感兴趣区域处理插件层。
在一实施例中,采用以下方式对鱼眼摄像头拍摄的图像帧进行校正:
若接入的视频设备为鱼眼摄像头,则从视频帧预处理插件层中选择鱼眼图像矫正插件;
调用鱼眼图像矫正插件,创建鱼眼矫正映射矩阵,并基于鱼眼矫正映射矩阵对各第一视频帧进行图像插值重排,得到各第一视频帧的鱼眼矫正图像。
首先提取相机校准参数:需要获取鱼眼相机的校准参数,包括镜头的畸变模型和相机的内外参数。这些参数描述了鱼眼镜头的光学特性和相机的成像几何。其次需要进行畸变校正:使用相机校准参数,对图像中的畸变进行校正。可以通过创建鱼眼矫正映射矩阵进行图像插值重排以重新映射每个像素来实现,使得图像的线条和形状更加直线和自然。此外,还可以进一步对进行图像插值重排处理后的图像进行透视变换。鱼眼矫正后的图像通常会变成圆形或者半球形,需要进行透视变换以使其恢复为标准的矩形或正方形。透视变换可以通过调整图像的投影方式来实现。通过上述处理流程最终得到鱼眼矫正图像。
情形3:接入的视频设备为鹰眼摄像头
本流程中,当接入的视频设备为鹰眼摄像头时,根据处理视频帧的硬件类型,从视频帧预处理插件层中选择合适插件对各第一视频帧进行视频画幅缩放、颜色空间转换和全景图像配准,得到各第一视频帧的鹰眼全景拼接图像,并将各第一视频帧的鹰眼全景拼接图像输入感兴趣区域处理插件层。
在进行视频画幅缩放、颜色空间转换时,根据处理视频帧的硬件类型,从视频帧预处理插件层中选择与处理视频帧的硬件类型相匹配的视频缩放插件对各第一视频帧进行视频画幅缩放,选择与处理视频帧的硬件类型相匹配的视频颜色空间插件对各第一视频帧进行颜色空间转换。
在一实施例中,采用以下方式对鹰眼摄像头拍摄的图像帧进行全景拼接:
从视频帧预处理插件层中选择鹰眼全景拼接插件;
调用鹰眼全景拼接插件,对各第一视频帧进行图像配准,并创建图像配准后的各第一视频帧的图像坐标变换矩阵,基于图像坐标变换矩阵对各第一视频帧进行图像坐标变换,合并图像坐标变换后各第一视频帧中重叠部分的像素值并保持没有重叠的像素值,得到各第一视频帧的鹰眼全景拼接图像。
首先进行特征提取,在所有输入的视频帧图像中检测特征点图像配准 ,也即需要建立不同图像之间的几何对应关系,使它们可以在一个共同的参照系中进行变换、比较和分析。其次进行图像配准,在特征点被检测出来之后,需要以某种方式将它们关联起来,可以通过归一化互相关或者SDD(Sum of Squared Difference)方法来确定其对应关系。在生成了两组相关点后,需要建立两组点的转换关系,也即图像坐标变换矩阵:单应矩阵。单应性是两个空间之间的映射,常用于表示同一场景的两个图像之间的对应关系,可以匹配大部分相关的特征点,并且能实现图像投影,使一张图通过投影和另一张图实现大面积的重合。最后进行图像融合,图像融合是通过改变边界附近的图像灰度级,去除这些缝隙,创建混合图像,从而在图像之间实现平滑过渡。通过上述处理流程最终得到鹰眼全景拼接图像。
(4)ROI处理子流程
情形1:接入的视频设备为通用摄像头
从感兴趣区域处理插件层中选择合适插件对各第二视频帧进行感兴趣区域裁剪与视频图像融合,得到仅显示所有第二视频帧中感兴趣区域的第三视频帧。
情形2:接入的视频设备为鱼眼摄像头
从感兴趣区域处理插件层中选择插件,根据各路鱼眼摄像头设定的感兴趣区域,分别对各第一视频帧的鱼眼矫正图像进行感兴趣区域裁剪与视频图像融合,得到仅显示所有第一视频帧的鱼眼矫正图像中感兴趣区域的多个第四视频帧。
情形3:接入的视频设备为鹰眼摄像头
从感兴趣区域处理插件层中选择插件,根据各路鹰眼摄像头设定的感兴趣区域,分别对各第一视频帧的鹰眼全景拼接图像进行感兴趣区域裁剪与视频图像融合,得到仅显示所有第一视频帧的鹰眼全景拼接图像中感兴趣区域的多个第五视频帧。
在生成各路视频流的感兴趣区域融合视频图像后,为便于用户能够清楚了解视频画面的相关信息,比如视频监控区域名称、监控时间等信息,因此进一步获取待叠加的显示信息,并将显示信息叠加至第三视频帧,得到混编视频帧,并将混编视频帧输入视频帧编码插件层。
(5)视频帧编码子流
本流程中,根据编码芯片的类型,从视频帧编码插件层中选择合适插件对各混编视频帧进行编码,得到混编视频流并推送至流媒体服务,比如使用通用的FFMPEG(FastForward Mpeg)编码插件或者基于不同芯片设备的跨平台解码插件,如NvdiaCuda、IntelSQV、华为Atlas、海思编码SDK、瑞芯微编码SDK等。采用插件化设计可以确保系统架构在支持跨平台的前提下,能够充分利用各平台的编码能力,进而降低视频流的编码时延。
在进行编码时,判断混编视频帧是否为RGB格式,若是,则将混编视频帧转换为YUV格式;从视频帧编码插件层中选择与编码芯片相关联的视频帧编码插件,根据设定的编码格式对YUV格式的混编视频帧进行编码,得到H264帧或H265帧的混编视频流;将混编视频流推送至流媒体服务,以供通过流媒体服务进行流媒体协议转换与视频分发。
(6)视频帧加密子流程
本流程中,根据业务加密需求,从视频帧加密插件层中选择合适插件对混编视频流进行加密后推送至流媒体服务,流媒体服务用于对混编视频流进行流媒体协议转换后进行视频分发。比如选择性加密算法插件、置乱算法插件、码表算法插件及基于国密的算法插件等。加密算法插件层是可扩展的,可以根据业务进行新增其他加密算法插件。
在一实施例中,进一步提供与视频加密插件配套的加密存储方案:
保存加密后的混编视频流,得到加密录像文件,其中,加密录像文件的数据格式包括:加密录像的文件头定义、加密录像文件包含的事件信息摘要、帧信息摘要及视频帧数据包;
其中,文件头定义包括文件起始标志、格式版本和加密插件类型,用于文件格式校验、数据结构解析及视频解密;
事件信息摘要包括事件信息头及若干个事件信息体,事件信息头包括触发事件的数据源、事件数量,事件信息体包括事件类型、事件触发时间、事件开始的视频帧和事件摘要信息;
帧信息摘要包括视频帧信息头及若干个视频帧信息摘要体,帧信息头包括视频格式信息、帧率信息、音频格式信息和加密信息,视频帧信息摘要体包括帧类型、解码时间戳和显示时间戳。
本实施例的多路视频流混合编解码方法中,各子流程采用的插件是基于不同的优选策略进行插件选择,在满足客户在音视频融合上的需求以外,还能极大发挥后端硬件性能,提升处理效率、极大降低处理延时的效果,满足客户的各项视频合并需求。
每个子流程都有优化过的适配各种业务场景的子流程处理插件,能够兼容多种品牌的前端摄像头设备、能够兼容多种芯片硬件及跨平台设备;支持不同的操作系统、在充分利用软硬件性能的同时,极大地降低了编解码过程的延时。比如对前端摄像头的接入优化,优先适配厂商提供的SDK,保证最优的拉流速度;针对没有SDK的设备,提供多种协议进行接入,比如RTSP、ONVIF、GBT28181、RTMP等,确保最大范围的兼容市面上绝大部分的视频设备,能够顺利拉流,达到利旧的目的。针对编码插件和解码插件的优化,则是主动适配设备芯片级的编解码能力,并对编解码参数进行调优,封装成编解码插件。针对视频帧的ROI处理插件的优化,则是基于用户业务需求,提供多种ROI处理方式,满足多种监控模式。针对视频帧加密子流程的优化,则是为了兼顾安全和效率,提供多种加密策略并封装成加密插件,比如对需要一定安全性且延时要求高的场景,可以使用选择性加密部分关键帧、或者改变Huffman码表算法,确保加密速度很快,不影响视频的实时传输;而对安全性高的场景,可以使用标准的加密算法,如DES或者国密等算法进行全量加密。
图3是本发明实施例提供的一种计算机设备的结构示意图,该计算机设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对计算机设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在计算机设备500上执行存储介质530中的一系列指令操作。
计算机设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图3示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述多路视频流混合编解码方法的步骤。本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述多路视频流混合编解码方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种多路视频流混合编解码方法,应用于多路视频流混合编解码系统,其特征在于,所述多路视频流混合编解码系统包括:设备接入插件层、视频帧解码插件层、视频帧预处理插件层、感兴趣区域处理插件层、视频帧编码插件层以及视频帧加密插件层,各插件层采用管道模式处理数据,所述设备接入插件层包括通用协议插件和基于专业设备封装的SDK插件,所述视频帧解码插件层包括通用解码插件和基于不同芯片设备的跨平台解码插件,所述视频帧预处理插件层包括通用预处理插件和专用图像处理插件,所述感兴趣区域处理插件层包括通用摄像头感兴趣区域处理插件和专用摄像头感兴趣区域处理插件,所述视频帧编码插件层包括通用编码插件和基于不同芯片设备的跨平台解码插件,所述视频帧加密插件层包括多种视频加密插件;
所述多路视频流混合编解码方法包括:
根据接入视频设备的类型,从所述设备接入插件层中选择合适插件拉取原始视频流并输入所述视频帧解码插件层;
根据解码芯片的类型,从所述视频帧解码插件层中选择合适插件对各路原始视频流进行解码,得到多个第一视频帧,并将各第一视频帧输入所述视频帧预处理插件层;
若接入的视频设备为通用摄像头,则根据处理视频帧的硬件类型,从所述视频帧预处理插件层中选择合适插件对各第一视频帧进行视频画幅缩放和/或颜色空间转换,得到对应的第二视频帧,并将各第二视频帧输入所述感兴趣区域处理插件层;从所述感兴趣区域处理插件层中选择合适插件对各第二视频帧进行感兴趣区域裁剪与视频图像融合,得到仅显示所有第二视频帧中感兴趣区域的第三视频帧;
获取待叠加的显示信息,并将所述显示信息叠加至所述第三视频帧,得到混编视频帧,并将所述混编视频帧输入所述视频帧编码插件层;
根据编码芯片的类型,从所述视频帧编码插件层中选择合适插件对各所述混编视频帧进行编码,得到混编视频流并推送至流媒体服务;
根据业务加密需求,从所述视频帧加密插件层中选择合适插件对所述混编视频流进行加密后推送至流媒体服务,所述流媒体服务用于对所述混编视频流进行流媒体协议转换后进行视频分发。
2.根据权利要求1所述的多路视频流混合编解码方法,其特征在于,所述若接入的视频设备为通用摄像头,则根据处理视频帧的硬件类型,从所述视频帧预处理插件层中选择合适插件对各第一视频帧进行视频画幅缩放和/或颜色空间转换,得到对应的第二视频帧包括:
若接入的视频设备为通用摄像头,则根据最终需求的混编视频流的分辨率大小,从所述视频帧预处理插件层中选择与处理视频帧的硬件类型相匹配的视频帧缩放插件,分别对各第一视频帧进行视频画幅缩小或放大,得到具有相同画图大小的新视频帧;和/或
根据最终需求的混编视频流的视频格式,从所述视频帧预处理插件层中选择与处理视频帧的硬件类型相匹配的视频帧颜色空间转换插件,分别对各缩放后的新视频帧进行颜色空间转换,得到对应的第二视频帧。
3.根据权利要求1所述的多路视频流混合编解码方法,其特征在于,所述多路视频流混合编解码方法还包括:
若接入的视频设备为鱼眼摄像头,则从所述视频帧预处理插件层中选择插件对各第一视频帧进行图像校正,得到各第一视频帧的鱼眼矫正图像,并将各第一视频帧的鱼眼矫正图像输入所述感兴趣区域处理插件层;
从所述感兴趣区域处理插件层中选择插件,根据各路鱼眼摄像头设定的感兴趣区域,分别对各第一视频帧的鱼眼矫正图像进行感兴趣区域裁剪与视频图像融合,得到仅显示所有第一视频帧的鱼眼矫正图像中感兴趣区域的多个第四视频帧。
4.根据权利要求1所述的多路视频流混合编解码方法,其特征在于,所述多路视频流混合编解码方法还包括:
若接入的视频设备为鹰眼摄像头,则根据处理视频帧的硬件类型,从所述视频帧预处理插件层中选择合适插件对各第一视频帧进行视频画幅缩放、颜色空间转换和全景图像配准,得到各第一视频帧的鹰眼全景拼接图像,并将各第一视频帧的鹰眼全景拼接图像输入所述感兴趣区域处理插件层;
从所述感兴趣区域处理插件层中选择插件,根据各路鹰眼摄像头设定的感兴趣区域,分别对各第一视频帧的鹰眼全景拼接图像进行感兴趣区域裁剪与视频图像融合,得到仅显示所有第一视频帧的鹰眼全景拼接图像中感兴趣区域的多个第五视频帧。
5.根据权利要求3所述的多路视频流混合编解码方法,其特征在于,所述若接入的视频设备为鱼眼摄像头,则从所述视频帧预处理插件层中选择插件对各第一视频帧进行图像校正,得到各第一视频帧的鱼眼矫正图像包括:
若接入的视频设备为鱼眼摄像头,则从所述视频帧预处理插件层中选择鱼眼图像矫正插件;
调用所述鱼眼图像矫正插件,创建鱼眼矫正映射矩阵,并基于所述鱼眼矫正映射矩阵对各第一视频帧进行图像插值重排,得到各第一视频帧的鱼眼矫正图像。
6.根据权利要求4所述的多路视频流混合编解码方法,其特征在于,所述若接入的视频设备为鹰眼摄像头,则根据处理视频帧的硬件类型,从所述视频帧预处理插件层中选择合适插件对各第一视频帧进行视频画幅缩放、颜色空间转换和全景图像配准,得到各第一视频帧的鹰眼全景拼接图像包括:
若接入的视频设备为鹰眼摄像头,则根据处理视频帧的硬件类型,从所述视频帧预处理插件层中选择与处理视频帧的硬件类型相匹配的视频缩放插件对各第一视频帧进行视频画幅缩放,选择与处理视频帧的硬件类型相匹配的视频颜色空间插件对各第一视频帧进行颜色空间转换;
从所述视频帧预处理插件层中选择鹰眼全景拼接插件;
调用所述鹰眼全景拼接插件,对各第一视频帧进行图像配准,并创建图像配准后的各第一视频帧的图像坐标变换矩阵,基于所述图像坐标变换矩阵对各第一视频帧进行图像坐标变换,合并图像坐标变换后各第一视频帧中重叠部分的像素值并保持没有重叠的像素值,得到各第一视频帧的鹰眼全景拼接图像。
7.根据权利要求1所述的多路视频流混合编解码方法,其特征在于,所述根据编码芯片的类型,从所述视频帧编码插件层中选择合适插件对各所述混编视频帧进行编码,得到混编视频流并推送至流媒体服务包括:
判断所述混编视频帧是否为RGB格式,若是,则将所述混编视频帧转换为YUV格式;
从所述视频帧编码插件层中选择与编码芯片相关联的视频帧编码插件,根据设定的编码格式对YUV格式的所述混编视频帧进行编码,得到H264帧或H265帧的混编视频流;
将所述混编视频流推送至流媒体服务,以供通过所述流媒体服务进行流媒体协议转换与视频分发。
8.根据权利要求1所述的多路视频流混合编解码方法,其特征在于,所述多路视频流混合编解码方法还包括:
保存加密后的所述混编视频流,得到加密录像文件,其中,所述加密录像文件的数据格式包括:加密录像的文件头定义、加密录像文件包含的事件信息摘要、帧信息摘要及视频帧数据包;
其中,所述文件头定义包括文件起始标志、格式版本和加密插件类型,用于文件格式校验、数据结构解析及视频解密;
所述事件信息摘要包括事件信息头及若干个事件信息体,所述事件信息头包括触发事件的数据源、事件数量,所述事件信息体包括事件类型、事件触发时间、事件开始的视频帧和事件摘要信息;
所述帧信息摘要包括视频帧信息头及若干个视频帧信息摘要体,所述帧信息头包括视频格式信息、帧率信息、音频格式信息和加密信息,所述视频帧信息摘要体包括帧类型、解码时间戳和显示时间戳。
9.一种计算机设备,其特征在于,所述计算机设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述计算机设备执行如权利要求1-8中任一项所述的多路视频流混合编解码方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-8中任一项所述的多路视频流混合编解码方法。
CN202311252133.3A 2023-09-26 2023-09-26 多路视频流混合编解码方法、设备及存储介质 Active CN117014562B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311252133.3A CN117014562B (zh) 2023-09-26 2023-09-26 多路视频流混合编解码方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311252133.3A CN117014562B (zh) 2023-09-26 2023-09-26 多路视频流混合编解码方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN117014562A CN117014562A (zh) 2023-11-07
CN117014562B true CN117014562B (zh) 2024-02-20

Family

ID=88576528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311252133.3A Active CN117014562B (zh) 2023-09-26 2023-09-26 多路视频流混合编解码方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117014562B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108476324A (zh) * 2015-10-08 2018-08-31 皇家Kpn公司 增强视频流的视频帧中的感兴趣区域
CN109040701A (zh) * 2018-09-10 2018-12-18 合肥巨清信息科技有限公司 一种基于大场景多gpu模式的视频拼接方法
CN113038127A (zh) * 2021-03-30 2021-06-25 福州大学 一种基于roi的实时视频多路并行传输码率控制方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108476324A (zh) * 2015-10-08 2018-08-31 皇家Kpn公司 增强视频流的视频帧中的感兴趣区域
CN109040701A (zh) * 2018-09-10 2018-12-18 合肥巨清信息科技有限公司 一种基于大场景多gpu模式的视频拼接方法
CN113038127A (zh) * 2021-03-30 2021-06-25 福州大学 一种基于roi的实时视频多路并行传输码率控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于FPGA的多路视频合成系统的设计;陈文辉;覃永新;黄庆南;;制造业自动化(第08期);全文 *

Also Published As

Publication number Publication date
CN117014562A (zh) 2023-11-07

Similar Documents

Publication Publication Date Title
JP6630891B2 (ja) 明視野画像ファイルを符号化および復号するためのシステムおよび方法
US10244200B2 (en) View-dependent operations during playback of panoramic video
US10574955B2 (en) Re-projecting flat projections of pictures of panoramic video for rendering by application
JP7177034B2 (ja) レガシー及び没入型レンダリングデバイスのために没入型ビデオをフォーマットする方法、装置、及びストリーム
WO2018040577A1 (zh) 图像采集过程中实现自适应屏幕旋转的方法及系统
CN106210525A (zh) 用于实现视频直播的相机及方法
US8611726B2 (en) Apparatus and method for generating digital cinema content and apparatus and method for playing digital cinema content
US9478011B2 (en) Method and system for processing of images
CN117014562B (zh) 多路视频流混合编解码方法、设备及存储介质
CN111641878A (zh) 三维模型展示方法、装置和电子设备
CN114339282A (zh) 直播互动中主播形象图片的传输方法及装置
CN114245027A (zh) 一种视频数据混合处理方法、系统、电子设备和存储介质
US20130250056A1 (en) Multiview 3d compression format and algorithms
CN116847127B (zh) 混合图像与加密远程传输系统、方法及设备
WO2023053687A1 (ja) 画像処理方法、画像処理システム、画像処理装置、及び、サーバ
CN114302178A (zh) 形象模型文件传输方法及装置
CN111083395A (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