本文主要是介绍LinkLib例子之八:Hi3531D 滚动字幕打码台标等特效叠加(Overlay),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Hi3531D 滚动字幕打码台标等特效叠加(Overlay)
- 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
这篇关于LinkLib例子之八:Hi3531D 滚动字幕打码台标等特效叠加(Overlay)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!