Class VideoStreamOverlay

VideoStreamOverlay Class

Description

VideoStreamOverlay also known as On-Screen Display (OSD) that allows contents such as texts and shapes to be displayed on video streams. VideoStreamOverlay class is used to draw on video streams.

Syntax

class VideoStreamOverlay

Members

Public Constructors

VideoStreamOverlay::VideoStreamOverlay

Constructs a VideoStreamOverlay object.

Public Methods

VideoStreamOverlay::configVideo

Configure input video stream parameters.

VideoStreamOverlay:: configTextSize

Configure text width and height shown on OSD.

VideoStreamOverlay:: createBitmap

Create bitmap on video streams.

VideoStreamOverlay::begin

Enable OSD and start drawing on top of video streams.

VideoStreamOverlay::end

Stop OSD drawing on all video streams.

VideoStreamOverlay::endChannel

Stop OSD drawing on specified video stream.

VideoStreamOverlay::getTextHeight

Get current configuration of OSD text height.

VideoStreamOverlay::getTextWidth

Get current configuration of OSD text width.

VideoStreamOverlay::color

Convert ARGB color values into a format compatible for OSD use.

VideoStreamOverlay::drawLine

Draw a line in OSD frame buffer.

VideoStreamOverlay::drawPoint

Draw a point in OSD frame buffer.

VideoStreamOverlay::drawRect

Draw a rectangle on OSD frame buffer.

VideoStreamOverlay::drawText

Draw text on OSD frame buffer.

VideoStreamOverlay::update

Update OSD and display drawings on video streams.

VideoStreamOverlay::configVideo

Description

Configure input video stream parameters.

Syntax

void configVideo(int ch, VideoSetting& config);

Parameters

ch: Channel to configure.

  • 0

  • 1

  • 2

config: VideoSetting object.

Returns

NA

Example Code

Example: MotionDetection/LoopPostProcessing

Note

OSD only supports channel 0, 1 and 2. “VideoStreamOverlay.h” must be included to use the class function.

VideoStreamOverlay::configTextSize

Description

Configure text width and height shown on OSD.

Syntax

void configTextSize(int ch, int text_width, int text_height);

Parameters

ch: Channel to configure.

  • 0

  • 1

  • 2

text_width: Text width in pixels. (Default value is 16)

text_height: Text height in pixels (Default value is 32)

Returns

NA

Example Code

NA

Note

“VideoStreamOverlay.h” must be included to use the class function. Text size should be configured before OSD is started using begin().

VideoStreamOverlay::createBitmap

Description

Create bitmap on video streams.

Syntax

void createBitmap (int ch, int idx = 0);

Parameters

ch: Channel to configure.

  • 0

  • 1

  • 2

idx: Layer index of OSD.

  • 0 to 5 (Default value is 0)

Returns

NA

Example Code

Example: MotionDetection/LoopPostProcessing

Note

“VideoStreamOverlay.h” must be included to use the class function.

VideoStreamOverlay::begin

Description

Enable OSD and start drawing on top of video streams.

Syntax

void begin(void);

Parameters

NA

Returns

NA

Example Code

Example: MotionDetection/LoopPostProcessing

Note

“VideoStreamOverlay.h” must be included to use the class function.

VideoStreamOverlay::end

Description

Stop OSD drawing on all video streams.

Syntax

void end(void);

Parameters

NA

Returns

NA

Example Code

NA

Note

“VideoStreamOverlay.h” must be included to use the class function.

VideoStreamOverlay::endChannel

Description

Stop OSD drawing on specified video stream.

Syntax

void endChannel(int ch);

Parameters

ch: Channel to stop.

  • 0

  • 1

  • 2

Returns

NA

Example Code

NA

Note

“VideoStreamOverlay.h” must be included to use the class function.

VideoStreamOverlay::getTextHeight

Description

Get current configuration of OSD text height.

Syntax

int getTextHeight(int ch);

Parameters

ch: Channel to get the OSD text’s height.

  • 0

  • 1

  • 2

Returns

This function returns the OSD text’s height on selected channel.

Example Code

Example: RTSPFaceDetection

Note

“VideoStreamOverlay.h” must be included to use the class function.

VideoStreamOverlay::getTextWidth

Description

Get current configuration of OSD text width.

Syntax

int getTextWidth(int ch);

Parameters

ch: Channel to get the OSD text’s width.

  • 0

  • 1

  • 2

Returns

This function returns the OSD text’s width on the selected channel.

Example Code

NA

Note

“VideoStreamOverlay.h” must be included to use the class function.

VideoStreamOverlay::color

Description

Convert ARGB color values into a format compatible for OSD use.

Syntax

uint32_t color(uint8_t red, uint8_t green, uint8_t blue, uint8_t alpha = 0xff);

Parameters

red: Intensity level of red color expressed as an 8-bit unsigned integer.

  • 0 to 255

green: Intensity level of green color expressed as an 8-bit unsigned integer. - 0 to 255

blue: Intensity level of blue color expressed as an 8-bit unsigned integer. - 0 to 255

alpha: Transparency of color expressed as an 8-bit unsigned integer. - 0 to 255 (Default value is 255. This value is optional)

Returns

This function returns the ARGB value in a format compatible for OSD use.

Example Code

NA

Note

“VideoStreamOverlay.h” must be included to use the class function.

VideoStreamOverlay::drawLine

Description

Draw a line in OSD frame buffer.

Syntax

void drawLine(int ch, int xmin, int ymin, int xmax, int ymax, int line_width, uint32_t color, int idx = 0);

Parameters

ch: Channel to draw on.

  • 0

  • 1

  • 2

xmin: x coordinate of the top left corner.

ymin: y coordinate of the top left corner.

xmax: x coordinate of the bottom right corner.

ymax: y coordinate of bottom right corner.

line_width: Width of a line.

color: Color of the line.

idx: Layer index of OSD.

  • 0 to 5 (Default value is 0)

Returns

NA

Example Code

NA

Note

VideoStreamOverlay::update() needs to be called for drawings to be shown on the video streams. “VideoStreamOverlay.h” must be included to use the class function.

VideoStreamOverlay::drawPoint

Description

Draw a point in OSD frame buffer.

Syntax

void VideoStreamOverlay::drawPoint(int ch, int xmin, int ymin, int point_width, uint32_t color, int idx = 0);

Parameters

ch: Channel to draw on.

  • 0

  • 1

  • 2

xmin: x coordinate of the point

ymin: y coordinate of the point

point_width: size of the point.

color: Color of the point.

idx: Layer index of OSD.

  • 0 to 5 (Default value is 0)

Returns

NA

Example Code

Example: RTSPFaceDetection

Note

VideoStreamOverlay::update() needs to be called for drawings to be shown on the video streams. “VideoStreamOverlay.h” must be included to use the class function.

VideoStreamOverlay::drawRect

Description

Draw a rectangle on OSD frame buffer.

Syntax

void drawRect(int ch, int xmin, int ymin, int xmax, int ymax, int line_width, uint32_t color, int idx = 0);

Parameters

ch: Channel to draw rectangle on.

  • 0

  • 1

  • 2

xmin: x coordinate of the top left corner.

ymin: y coordinate of the top left corner.

xmax: x coordinate of the bottom right corner.

ymax: y coordinate of bottom right corner.

line_width: Width of a rectangle’s border.

color: Color of the rectangle.

idx: Layer index of OSD.

  • 0 to 5 (Default value is 0)

Returns

NA

Example Code

Example: MotionDetection/LoopPostProcessing

Note

VideoStreamOverlay::update() needs to be called for drawings to be shown on the video streams. “VideoStreamOverlay.h” must be included to use the class function.

VideoStreamOverlay::drawText

Description

Draw text on OSD frame buffer.

Syntax

void drawText(int ch, int xmin, int ymin, const char *text_string, uint32_t color, int idx = 0);

Parameters

ch: Channel to draw text on.

  • 0

  • 1

  • 2

xmin: x coordinate of top left corner of text box.

ymin: y coordinate of top left corner of text box.

text_string: pointer to a character array containing the text to be displayed.

color: Color of the text.

idx: Layer index of OSD.

  • 0 to 5 (Default value is 0)

Returns

NA

Example Code

Example: MotionDetection/LoopPostProcessing

Note

VideoStreamOverlay::update() needs to be called for drawings to be shown on the video streams. “VideoStreamOverlay.h” must be included to use the class function.

VideoStreamOverlay::update

Description

Update OSD and display drawings on video streams.

Syntax

void update(int ch, int idx = 0);

Parameters

ch: Channel to display drawings.

  • 0

  • 1

  • 2

idx: Layer index of OSD.

  • 0 to 5 (Default value is 0)

Returns

NA

Example Code

Example: MotionDetection/LoopPostProcessing

Note

“VideoStreamOverlay.h” must be included to use the class function.