(03)OSD通道名的扩充

1.测试纯英文及纯中文下OSD的字符长度限制
2.基于原OSD代码,对OSD通道名长度做扩充,支持显示固定模板“广东启教科技小学-开发部(01)班-编程课(扩充)”,以模板长度为准
3.对OSD通道名移动至左上角,左下角,右上角,右下角,均能完整显示
4.不重叠,不花屏,串口log无异常打印,/dev/mpplog无持续异常打印

执行结果如下
1.测试纯英文及纯中文下OSD的字符长度限制
1.1 在web端OSD设置分别输入10个英文字you和固定模板“广东启教科技小学-开发部(01)班-编程课(扩充)”,结果如下图所示。
前端输入10个纯英文you,并设置保存,如下图.

前端输入模板“广东启教科技小学-开发部(01)班-编程课(扩充)”,并设置保存,如下图.

1.2, 后台设备接收并打印输出,如下图。
纯英文下输出

纯中文下输出

1.3, 设备主码流出图显示,如下图。
纯英文下显示

纯中文下显示

设备次码流出图显示,如下图。
纯英文下显示

纯中文下显示

1.4, 查看设备json配置文件,发现channelName的最大长度max被限制为32,如下图。
主码流的channelName最大值max,如下图

次码流的channelName最大值max,如下图

如上1.1, 1.2, 1.3,1.4部结果所示,可知纯英文的字符长度限制为32,中文的字符长度限制为24.
因此,为了进一步扩充通道名OSD的长度限制,进行下一步的操作。
2,基于原OSD代码,对OSD通道名长度做扩充,支持显示固定模板“广东启教科技小学-开发部(01)班-编程课(扩充)”,以模板长度为准
2.1,首先找对应的json 配置文件,这里以3516A设备为例,及其对应的json文件可以通过查看其配置文件version.h找到,如下图所示。

然后用vim,gedit或vi等编辑器打开,之后进行下一步。
2.2,然后修改对应的json配置文件video.json,将通道名channelName对应的最大长度max=32进行扩充改为64,修改如下图所示.
主码流101由32扩充为64

次码流102由32扩充为64

然后保存退出,进行下一步。
2.3,然后找到设备后台接收前端传送过来的字符串的对应端口,加上对应的打印输出以便于查看对应的关键词key所对的字符串及字符串长度,我这里是查找测试的关键词是通道名channelName及其对应的字符串及长度,所以我在如下前端信息接收接口添加输出打印:printf("key=%s | str=%s | strlen(str)=%d\n ",key,str,strlen(str));如下图所示

然后保存,编译App。
2.,4,telnet链接设备杀死所有的ash,app,wdt服务,并通过nfs挂载虚拟机Project目录,找到刚编译完的App并运行,结果如下图。

如上图的运行结果输出,当app运行后会首先执行json配置文件,当key=channelName 时,对应的通道名内容str=广东启教科技小学-开发部(01)班-编程课(扩充),长度strlen(str)=59 。
这时再看看设备出图,如下图所示
主流码出图

次流码出图

如上图所示,均已完整的显示出了扩充后的固定模板“广东启教科技小学-开发部(01)班-编程课(扩充)”且不重叠,不花屏。
3,串口log,打印如下图,/dev/mpplog

如上图所示/dev/mpplog无持续异常打印

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值