• TSINGSEE青犀视频EasyScreenLive同屏功能组件支持自定义OSD添加方法介绍


    经过这么多年的视频技术开发,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显示的具体位置、内容等,定义的标准结构体如下

    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;
    
    

    下面为具体调用方法:

    //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"为换行结束符号
    注意:每行的长度不能超过128个字节
    总的OSD长度不能超过1024个字节";
    			strcpy(osd.stOSD ,ss);
    			EasyScreenLive_SetOSD(m_pusher, true,  osd);
    

    步骤:

    1、定义一个EASY_OSD类型的osd,然后对各个参数进行赋值;
    2、调用EasyScreenLive_SetOSD函数进行显示。

  • 相关阅读:
    蛙蛙推荐:一个程序员2012年技术学习总结
    蛙蛙推荐:第一堂编程课提纲
    蛙蛙推荐:笨办法提高代码质量
    蛙蛙推荐:Backbone和seajs搭配最佳实践探讨
    时髦的互联网公司都在用什么技术?
    蛙蛙推荐:让SecureCRT好使起来
    Linux LVM卷组管理 规格严格
    聊聊jdbc statement的fetchSize 规格严格
    老生常谈: Eclipse远程调试 规格严格
    产品经理的34个感想
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/14648950.html
Copyright © 2020-2023  润新知