LinkLib例子之八:Hi3531D 滚动字幕打码台标等特效叠加(Overlay)

Hi3531D 滚动字幕打码台标等特效叠加(Overlay)

Overlay

该示例程序演示了如何在视频上叠加图片水印、文字、时间戳等。

用户可以尝试替换自己的资源文件,如字体、图片等。图片要求为PNG32格式

准备工作

•参照用户手册搭建开发环境、编译3531D工程、配置网络启动参数。
•将带有HDMI输出功能的设备(如摄像机、笔记本、机顶盒等)接入评估板的HDMI-A接口
•将评估板的HDMI-OUT接显示器(支持1080P即可,程序默认输出1080P60)。
•上电,进入/root/demo目录
•运行Overlay程序

运行结果

在这里插入图片描述
在这里插入图片描述

源程序

//main.cpp
#include <QCoreApplication>
#include "Link.h"

int main(int argc, char *argv[])
{
    
    
    QCoreApplication a(argc, argv);

    Link::init();

    LinkObject *vi=Link::create("InputVi");
    QVariantMap dataVi;
    dataVi["interface"]="HDMI-A";
    vi->start(dataVi);

    LinkObject *overlay=Link::create("Overlay");
    QVariantMap dataOver;
    QVariantList lays;
    QVariantMap lay;
    lay["type"]="text";
    lay["enable"]=true;
    lay["font"]="/link/res/font.ttf";
    lay["content"]="测试ABC";
    lay["x"]=0.1;
    lay["y"]=0.1;
    lay["scale"]=2;
    lay["color"]="#669900";
    lay["alpha"]=1;
    lays<<lay;
    lay.clear();
    lay["type"]="pic";
    lay["enable"]=true;
    lay["content"]="/link/res/logo.png";
    lay["x"]=0.1;
    lay["y"]=0.3;
    lay["scale"]=1;
    lay["alpha"]=0.7;
    lays<<lay;
    lay.clear();
    lay["type"]="time";
    lay["enable"]=true;
    lay["font"]="/link/res/font.ttf";
    lay["content"]="yyyy年MM月dd日 hh:mm:ss";
    lay["x"]=0.1;
    lay["y"]=0.5;
    lay["scale"]=2;
    lay["color"]="#ffffff";
    lay["alpha"]=1;
    lays<<lay;
    dataOver["lays"]=lays;
    overlay->start(dataOver);

    LinkObject *vo=Link::create("OutputVo");
    QVariantMap dataVo;
    dataVo["type"]="hdmi";
    vo->start(dataVo);

    vi->linkV(overlay)->linkV(vo);

    return a.exec();
}

完整工程

https://gitee.com/LinkPi/3531D/tree/master/Overlay

Guess you like

Origin blog.csdn.net/weixin_45326556/article/details/94161135