7.3.7 区域处理
概述
用户一般都需要在视频中叠加 OSD
用于显示一些特定的信息(如:通道号、时间戳等),必要时还会填充色块。这些叠加在视频上的 OSD
和遮挡在视频上的色块统称为区域。REGION
模块,用于统一管理这些区域资源。
区域管理可以实现区域的创建,并叠加到视频中或对视频进行遮挡。例如,实际应用中,用户通过HB_RGN_AttachToChn
创建一个区域,将该区域叠加到某个通道(如US通道)中。在通道进行调度时,则会将 OSD
叠加在视频中。一个区域支持通过调用设置通道显示属性接口指定到多个通道中(如:US通道
和DS通道
),且支持在每个通道的显示属性(如位置、是否显示等)都不同。
功能描述
基本概念
区域类型:
overlay
:视频叠加区域,绘制文字、线条等;cover
:视频遮挡区域,纯色块遮挡;
位图填充:
- 将区域位图叠加到区域内存中,使用
HB_RGN_SetBitMap
方式时如果位图的大小比设定的区域大的话,将会裁剪掉超出区域范围的部分; 使用HB_RGN_GetCanvasInfo
/HB_RGN_UpdateCanvas
方式时需要按照获取的画布大小写入。
区域属性:
- 创建区域时需要设置区域的一些基本信息,例如大小、区域类型等。