博客
关于我
TSINGSEE青犀视频云边端H265播放器EasyPlayer-RTSP在C#版本增加OSD功能说明
阅读量:135 次
发布时间:2019-02-27

本文共 2361 字,大约阅读时间需要 7 分钟。

EasyPlayer播放器项目是TSINGSEE青犀视频研发团队开发的H265编码视频播放器,经过多年的技术积累与实践打造,EasyPlayer播放器项目系列无论是在对接设备型号种类,还是在对接编码的兼容性上,都具备较高的可用性。

微信截图_20201030104240.png

最近有用户在使用EasyPlayer-RTSP播放器的时候,提出C++版本有OSD叠加的功能,但是C#版本没有这个功能,下面描述下如何增加这个功能。

EasyPlayer-RTSP C#版本的功能是继承于libEasyPlayer-RTSP.dll这个库,在C#版本中我们通过EasyPlayer-RTSP.NetSDK类重新封装了这个库的内容,现在需要在EasyPlayer-RTSP.NetSDK类中把OSD功能也封装进去。

1、增加接口函数定义如下:

[DllImport(@"Lib\libEasyPlayer-RTSP.dll", CallingConvention = CallingConvention.Cdecl, EntryPoint = "?EasyPlayer_ShowOSD@@YAHHHUtagEASY_PALYER_OSD@@@Z")] public static extern int EasyPlayer_ShowOSD(int channelId, int show, tagEASY_PALYER_OSD osd);

2、增加相关结构体定义如下

[StructLayoutAttribute(LayoutKind.Sequential)]         public struct RECT         {             public System.Int32 left;             public System.Int32 top;             public System.Int32 right;             public System.Int32 bottom;         };  [StructLayoutAttribute(LayoutKind.Sequential)]         public  struct tagEASY_PALYER_OSD         {             [MarshalAs(UnmanagedType.ByValTStr,SizeConst = 1024)] public string stOSD;             public System.UInt32 alpha;		//0-255             public System.UInt32 color;		//RGB(0xf9,0xf9,0xf9)             public System.UInt32 shadowcolor;//RGB(0x4d,0x4d,0x4d) 全为0背景透明             public RECT rect;		//OSD基于图像右上角显示区域             public int size;		//just D3D Support         };[StructLayoutAttribute(LayoutKind.Sequential)]         public struct tagRECT         {             public int left;             public int top;             public int right;             public int bottom;         }

3、接口调用示例如下:

//OSD显示 PlayerSdk.tagEASY_PALYER_OSD osd; osd.alpha = 255; osd.size = 35; Color color = Color.FromArgb(255, 0, 255); int colorInt = ParseRGB(color); osd.color = (uint)colorInt; osd.rect.left = 10; osd.rect.right = 5000; osd.rect.top = 100; osd.rect.bottom = 800; Color color_shadowcolor = Color.FromArgb(0, 0, 0); int colorInt_shadowcolor = ParseRGB(color_shadowcolor); osd.shadowcolor = (uint)colorInt_shadowcolor;string  ss = "这是EasyPlayer-RTSP-Win播放器 \r\n的字幕叠加接口的效果!!!\r\n以\"\\r\\n\"为换行结束符号\r\n注意:每行的长度不能超过128个字节\r\n总的OSD长度不能超过1024个字节";osd.stOSD = ss; PlayerSdk.EasyPlayer_ShowOSD(channelID, 1, osd);

其中channelID为EasyPlayer_OpenStream()返回值。

EasyPlayer播放器系列项目依赖其灵活控制、低延时、高稳定的特点,已经成熟运用于多个项目场景当中,其中包括手机直播、桌面直播、远程教育课堂直播等,同时在城市安防或者社区安防监控的视频播放当中也具备很好的兼容性。

EasyPlayerJS.png

如果大家还想了解更多相关内容,欢迎咨询我们或着访问TSINGSEE青犀视频官方网站了解。

转载地址:http://sujd.baihongyu.com/

你可能感兴趣的文章
MySQL中你必须知道的10件事,1.5万字!
查看>>
MySQL中使用IN()查询到底走不走索引?
查看>>
Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
查看>>
MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
查看>>
mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
查看>>
mysql中出现Unit mysql.service could not be found 的解决方法
查看>>
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>
Mysql中各类锁的机制图文详细解析(全)
查看>>
MySQL中地理位置数据扩展geometry的使用心得
查看>>
Mysql中存储引擎简介、修改、查询、选择
查看>>
Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
查看>>
mysql中实现rownum,对结果进行排序
查看>>
mysql中对于数据库的基本操作
查看>>
Mysql中常用函数的使用示例
查看>>
MySql中怎样使用case-when实现判断查询结果返回
查看>>
Mysql中怎样使用update更新某列的数据减去指定值
查看>>
Mysql中怎样设置指定ip远程访问连接
查看>>
mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
查看>>
Mysql中文乱码问题完美解决方案
查看>>
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>