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();
}