前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EasyScreenLive同屏功能组件支持自定义OSD添加方法介绍

EasyScreenLive同屏功能组件支持自定义OSD添加方法介绍

原创
作者头像
TSINGSEE青犀视频
修改2021-04-09 10:08:23
5300
修改2021-04-09 10:08:23
举报
文章被收录于专栏:TSINGSEE青犀视频TSINGSEE青犀视频

经过这么多年的视频技术开发,TSINGSEE青犀视频团队已经有了一套自己的研发体系,除了大家比较熟知的视频智能分析平台外,其实TSINGSEE青犀视频还有很多好用的SDK及工具。其中EasyScreenLive就是我们研发的一款简单、高效、稳定的同屏功能组件。

EasyScreenLive同屏组件支持自定义OSD添加,本实例只针对拉RTSP和RTMP流设置OSD,采集屏幕和本机摄像头目前不支持。

EasyScreenLive增加如下接口函数用于OSD的设置:

LIB_EASYSLIVE_API int EasyScreenLive_SetOSD(EASYSLIVE_HANDLE handler, bool bShow, EASY_OSD osd);

各参数解释:

handler: EasyScreenLive_Create()函数返回的句柄

bShow:控制是否进行显示,允许值:true或者false

osd:OSD显示的具体位置、内容等,定义的标准结构体如下

代码语言:javascript
复制
typedef struct tagEASY_OSD
{
    char    stOSD[1024];
    DWORD    alpha;        //0-255
    DWORD    color;        //RGB(0xf9,0xf9,0xf9)
    DWORD    shadowcolor;        //RGB(0x4d,0x4d,0x4d) 全为0背景透明
    RECT    rect;        //OSD基于图像右上角显示区域
    int            size;        //just D3D Support
}EASY_OSD;

下面为具体调用方法:

代码语言:javascript
复制
//OSD Example
EASY_OSD osd;
            osd.alpha = 255;
            osd.size = 35;
            osd.color = RGB(255,0,255);
            osd.rect.left = 10;
            osd.rect.right = 5000;
            osd.rect.top = 100;
            osd.rect.bottom = 800;
            osd.shadowcolor = RGB(0,0,0);
            char* ss =  "这是EasyScreenLive \r\n的视频字幕叠加接口的效果!!\r\n以\"\\r\\n\"为换行结束符号\r\n注意:每行的长度不能超过128个字节\r\n总的OSD长度不能超过1024个字节";
            strcpy(osd.stOSD ,ss);
            EasyScreenLive_SetOSD(m_pusher, true,  osd);

步骤:

1、定义一个EASY_OSD类型的osd,然后对各个参数进行赋值;

2、调用EasyScreenLive_SetOSD函数进行显示。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
实时音视频
实时音视频(Tencent RTC)基于腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档