一种基于位图叠加的多路视频集中显示设计方法技术

技术编号:27833895 阅读:18 留言:0更新日期:2021-03-30 11:50
本发明专利技术涉及一种基于位图叠加的多路视频集中显示设计方法,其中,包括:获取多路视频图像:将多路视频数据发送到视频处理模块;在视频处理模块对多路视频进行融合叠加;在视频处理模块,采用动态库VGS对多路视频进行处理,对各路图像进行缩放、像素格式转换、视频存储格式转换以及压缩和解压操作,处理后的视频数据融合在VGS任务中进行位图叠加,调用动态库函数从VGS任务中取出处理后的数据发送;启动视频输出模块,进行分屏输出设置,针对窗口和显示的关系计算分屏时各路视频显示的坐标,并启动视频输出模块设备,获取视频处理模块内的视频数据进行输出显示。频数据进行输出显示。频数据进行输出显示。

【技术实现步骤摘要】
一种基于位图叠加的多路视频集中显示设计方法


[0001]本专利技术属于linux系统下视频处理技术,特别涉及一种基于位图叠加的多路视频集中显示设计方法。

技术介绍

[0002]Hi3559AV100是专业的8K Ultra HD Mobile Camera SOC,它提供了8K30/4K120广播级图像质量的数字视频录制,支持多路Sensor输入,支持H.265编码输出或影视级的RAW数据输出,并集成高性能ISP处理,同时采用先进低功耗工艺和低功耗架构设计,为用户提供了卓越的图像处理能力。
[0003]Hi3559AV100支持业界领先的多路4K Sensor输入,多路ISP图像处理,支持HDR10高动态范围技术标准,并支持多路全景硬件拼接。在支持8K30/4K120视频录制下,Hi3559AV100提供硬化的6

Dof数字防抖,减少了对机械云台的依赖。
[0004]MIPI Rx通过低电压差分信号接收原始视频数据,将接收到的串行差分信号(serial differential signal)转化为DC(Digital Camera)时序后传递给下一级模块VICAP(Video Capture)MIPI Rx支持MIPI D

PHY、LVDS(Low

Voltage Differential Signal)、HiSPi(High

Speed Serial Pixel Interface)等串行视频信号输入,同时兼容DC视频接口。
[0005]SLVS

EC接口由SONY公司定义,用于高帧率和高分辨率图像采集,它可以将高速串行的数据转化为DC(Digital Camera)时序后传递给下一级模块VICAP(Video Capture)。
[0006]SLVS

EC串行视频接口可以提供更高的传输带宽,更低的功耗,在组包方式上,数据的冗余度也更低。在应用中SLVS

EC接口提供了更加可靠和稳定的传输。
[0007]传统的视频输入为单通道显示,即单屏显示单路视频,此类方法无法满足多功能化视频需求,即需要单屏显示多通道视频内容。同时,传统的视频解码功能只是单纯的视频播放功能,无法满足视频再加工需求。

技术实现思路

[0008]本专利技术的目的在于提供一种基于位图叠加的多路视频集中显示设计方法,为了解决linux系统下的视频解码多路输出和视频叠加问题。
[0009]本专利技术一种基于位图叠加的多路视频集中显示设计方法,其中,包括:获取多路视频图像:将多路视频数据发送到视频处理模块;在视频处理模块对多路视频进行融合叠加;在视频处理模块,采用动态库VGS对多路视频进行处理,对各路图像进行缩放、像素格式转换、视频存储格式转换以及压缩和解压操作,处理后的视频数据融合在VGS任务中进行位图叠加,调用动态库函数从VGS任务中取出处理后的数据发送;启动视频输出模块,进行分屏输出设置,针对窗口和显示的关系计算分屏时各路视频显示的坐标,并启动视频输出模块设备,获取视频处理模块内的视频数据进行输出显示。
[0010]根据本专利技术的基于位图叠加的多路视频集中显示设计方法的一实施例,其中,根
据需求确定多路视频图像的来源,不同来源启动不同的数据获取任务,从而获取图像数据。
[0011]根据本专利技术的基于位图叠加的多路视频集中显示设计方法的一实施例,其中,获取多路视频图像包括获取本地视频文件、网络视频流以及物理通道视频。
[0012]根据本专利技术的基于位图叠加的多路视频集中显示设计方法的一实施例,其中,获取本地视频文件包括:
[0013](1)获取本地文件路径和文件名;
[0014](2)创建循环读取文件数据的线程;
[0015](3)判断文件是否存在,如不存在则报错退出,否则进行下一步;
[0016](4)计算图像压缩前数据大小bufsize;
[0017](5)动态申请bufsize大小的内存数组,用于暂存图像的数据;
[0018](6)判断当前读取文件线程是否完成,如果完成就退出,否则进行下一步;
[0019](7)定位读文件指针到当前可读的位置pos,pos为已读取的字节数总和,当前预读取字节数为bufsize,实际读取字节数readLen;
[0020](8)判断当前读取操作是否成功,如果失败则发送视频流结束帧到解码模块,表示当前已没有可解码的数据,并退出该线程;如果成功,则进行下一步;
[0021](9)判断读取的数据流模式是否为视频图像帧且编码为h264/h265,如果是则进行下一步,如果不是则进行(12);
[0022](10)在当前读取的数据中查找h264/h265协议帧头,如果找到则置上标志并退出查找帧头循环;
[0023](11)在(10)查找的位置继续查找h264/h265协议帧尾,如果找到则置上标志并退出查找帧尾循环;
[0024](12)判断当前查找结束后的数组位置,如果数组位置大于零,则记录当前数组位置到readLen;
[0025](13)判断帧头和帧尾是否都存在,如果都存在则表示找到完整的图像帧进行下一步,如果不存在则报错且将数组位置readLen向前移动协议帧尾代表的长度endLen,返回第6步;
[0026](14)调用动态库函数发送完整帧到解码模块,将本次读取的帧长度readLen记录到总数pos,返回到(6)。
[0027]根据本专利技术的基于位图叠加的多路视频集中显示设计方法的一实施例,其中,获取网络视频流包括:
[0028]使用ffmpeg动态库从网络接收视频流数据:
[0029](1)使用ffmpeg动态库函数av_dict_set配置视频流传输过程属性;
[0030](2)注册ffmpeg上下文环境,初始化ffmpeg内部组件,并对网络功能进行全局初始化;
[0031](3)打开媒体文件的url地址,并进行解析;
[0032](4)读取媒体文件的数据包获取流信息;
[0033](5)分析数据包中音频流和视频流的个数,并记录序号;
[0034](6)动态申请数据包packet对象,使用av_read_frame函数从数据包中读取图像帧信息;
[0035](7)判断图像帧序号和步骤(5)中记录的视频流序号一致时,进行下一步,如果不是则进行第(10)步;
[0036](8)判断数据包中的数据是否不为null且大小不为0,如果是则进行下一步,不是则进行第(10)步;
[0037](9)将图像帧存入环形缓冲区并从环形缓冲区取帧发送给解码模块;
[0038](10)释放数据包对象资源。
[0039]根据本专利技术的基于位图叠加的多路视频集中显示设计方法的一实施例,其中,获取物理通道视频包括:
[0040](1)确定输入模块本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于位图叠加的多路视频集中显示设计方法,其特征在于,包括:获取多路视频图像;将多路视频数据发送到视频处理模块;在视频处理模块对多路视频进行融合叠加;在视频处理模块,采用动态库VGS对多路视频进行处理,对各路图像进行缩放、像素格式转换、视频存储格式转换以及压缩和解压操作,处理后的视频数据融合在VGS任务中进行位图叠加,调用动态库函数从VGS任务中取出处理后的数据发送;启动视频输出模块,进行分屏输出设置,针对窗口和显示的关系计算分屏时各路视频显示的坐标,并启动视频输出模块设备,获取视频处理模块内的视频数据进行输出显示。2.如权利要求1所述的基于位图叠加的多路视频集中显示设计方法,其特征在于,根据需求确定多路视频图像的来源,不同来源启动不同的数据获取任务,从而获取图像数据。3.如权利要求1所述的基于位图叠加的多路视频集中显示设计方法,其特征在于,获取多路视频图像包括获取本地视频文件、网络视频流以及物理通道视频。4.如权利要求3所述的基于位图叠加的多路视频集中显示设计方法,其特征在于,获取本地视频文件包括:(1)获取本地文件路径和文件名;(2)创建循环读取文件数据的线程;(3)判断文件是否存在,如不存在则报错退出,否则进行下一步;(4)计算图像压缩前数据大小bufsize;(5)动态申请bufsize大小的内存数组,用于暂存图像的数据;(6)判断当前读取文件线程是否完成,如果完成就退出,否则进行下一步;(7)定位读文件指针到当前可读的位置pos,pos为已读取的字节数总和,当前预读取字节数为bufsize,实际读取字节数readLen;(8)判断当前读取操作是否成功,如果失败则发送视频流结束帧到解码模块,表示当前已没有可解码的数据,并退出该线程;如果成功,则进行下一步;(9)判断读取的数据流模式是否为视频图像帧且编码为h264/h265,如果是则进行下一步,如果不是则进行(12);(10)在当前读取的数据中查找h264/h265协议帧头,如果找到则置上标志并退出查找帧头循环;(11)在(10)查找的位置继续查找h264/h265协议帧尾,如果找到则置上标志并退出查找帧尾循环;(12)判断当前查找结束后的数组位置,如果数组位置大于零,则记录当前数组位置到readLen;(13)判断帧头和帧尾是否都存在,如果都存在则表示找到完整的图像帧进行下一步,如果不存在则报错且将数组位置readLen向前移动协议帧尾代表的长度endLen,返回第6步;(14)调用动态库函数发送完整帧到解码模块,将本次读取的帧长度readLen记录到总数pos,返回到(6)。5.如权利要求3所述的基于位图叠加的多路视频集中显示设计方法,其特征在于,获取
网络视频流包括:使用ffmpeg动态库从网络接收视频流数据:(1)使用ffmpeg动态库函数av_dict_set配置视频流传输过程属性;(2)注册ffmpeg上下文环境,初始化ffmpeg内部组件,并对网络功能进行全局初始化;(3)打开媒体文件的url地址,并进行解析;(4)读取媒体文件的数据包获取流信息;(5)分析数据包中音频流和视频流的个数,并记录序号;(6)动态申请数据包packet对象,使用av_read_frame函数从数据包中读取图像帧信息;(7)判断图像帧序号和步骤(5)中记录的视频流序号一致时,进行下一步,如果不是则进行第(10)步;(8)判断数据包中的数据是否不...

【专利技术属性】
技术研发人员:高娟
申请(专利权)人:天津津航计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1