qt界面叠加视频OSD双层显示


最终代码存放于

http://download.csdn.net/detail/lzh445096/8849147


本人负责的是UI界面,提供给底层应用程序接口函数,此接口函数功能为向指定路径的文件中写入命令字符,应用程序去到该文件中读取到相应的命令字符则实现某些命令,其底层的实现及编解码的模块本人没有涉及。


1.      OSD双层显示


fb2显示qt界面   fb0显示视频。调用int fd =open("/dev/fb2", O_RDWR)接口即可打开qt界面显示层


2.      qt界面控制


定义文件指针FILE * m_fpCmd  ;

创建文件 #define CMD_FIFO_FILE        "/tmp/DVSDK_DEMOS_CMD"  ;

打开文件m_fpCmd =fopen(CMD_FIFO_FILE, "w"); 

向文件中写入字符fputc(cmd,m_fpCmd) ;

底层程序读取到该文件字符,就执行视频播放或录像的功能


3.      qt层透明


this->setWindowOpacity(0.7);//设置透明1-全体透明

this->setAttribute(Qt::WA_TranslucentBackground, true);//设置透明2-窗体标题栏不透明,背景透明

本例中要实现qt界面背景透明只需点击主窗体,点鼠标右键,选择Change styleSheet,设置背景色为rgb(0,0,0),styleSheet真是好东西!


4.      qt程序关闭


三个应用程序分别对应录像、预览和视频文件播放三个模式,三个模式间可切换,3个进程都包含qt界面显示的子进程,模式切换时要求这个子进程会关闭再重启,

#include QApplication时调用qApp->quit()实现。


以上只是一个概要的分析,整个框架实际上是一个相当复杂的流程,代码改编自TI  davinci的dvsdk的qt官方demo,这一步实现以后,我这部分的UI界面模块基本完成,从对qt完全陌生到成功学习并做出一个可读写文件、播放视频、按键控制相关功能、电量时间地理位置显示等功能完善的UI界面,确实很有成就感。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值