基于Dragonboard 410c的智能魔镜设计(4)——如何检索视频消息并播放显示

前面给大家介绍了如何自动的检索指定用户的文本消息,并且采用html模板方式在qt控件上自动循环的播放文本消息,但是在智能魔镜中我们还可以向指定用户推送视频消息,实时显示视频消息,这里进一步向大家介绍如何在基于dragonboard 410c的智能魔镜上实现视频消息的自动检索和播放。
与检索文本消息类似,在我们构建的智能魔镜数据库中的pushinfo表中保存了视频消息的路径,如果在该表中的字段infotype==1的时候,为视频消息,这时候在pushinfo表中的filepath中将会记录该视频的具体的地址,可以是云端也可以是本地的视频路径,都可以支持,同样在视频消息中,字段istop和viewwight依然对其其作用,可以控制该视频的播放顺序和是否播放,如果istop为1表示该视频将优先播放,如果多个视频消息的istop为1那么将根据时间先后来排序,如果viewwight为0表示该消息已经播放,不再播放,根据上述规则,本文在数据库类中构建gettextmessagelist(self,userid)函数来完成对指定用户的视频消息的检索,具体实现代码如下:
def getuservideomessagelist(self,userid):
format=select pushid,filepath from pushinfo where ownerid==%u and istop==1 and infotype==1 order by pushtime desc
values=(userid)
querysql1=format % values
self.cu.execute(querysql1)
result1=self.cu.fetchone()
#print result
format=select pushid,filepath,pushtime from pushinfo where ownerid=%u and istop==0 and infotype==1 order by pushtime desc
values=(userid)
querysql2=format % values
self.cu.execute(querysql2)
result2=self.cu.fetchone()
if result1!=none and result2 != none:
#result=result1+result2
return result1+result2
elif result1==none and result2!=none:
#result=result2
return result2
elif result1!=none and result2 == none:
#resutl=result1
return result1
else:
#result==none
return none
上述代码中,将返回消息的id:infoid,视频路径:filepath,以列表的形式返回,用户获取该列表后,就可以调用视频播放器加载视频列表并且进行播放,这里我们使用的是mplayer视频播放器来实现视频的播放,该播放器的具体使用方式和控制方式大家可以参考我之前写过的在410c板上使用mplayer播放视频一文的博客中的内容,这里我们直接上代码,具体的播放如下:
#show message end get video message info
if videomsglist!=none:
print(start play video msg)
i=0
for videomsg in videomsglist:
if i%2==0:
print(videomsg)
self.push_video_userid.append(videomsg)
else:
print(videomsg)
self.videopathlist.append(videomsg)
i=i+1
videocmd=mplayer -vo x11 -playlist
for video in self.videopathlist:
videocmd=videocmd+' '+video
os.system(videocmd)
这段代码我们集成到文本消息显示代码段中,就可以在加载完文本消息后,自动的按照顺序的播放视频了,同时文本消息还可以在后面循环的播放,视频播放完成后会自动的退出。
到这里我们就已经实现了智能魔镜的消息显示和视频播放的核心功能,后续将向大家进一步介绍如何将之前介绍过的人脸识别技术整合进来,通过人脸检测得到用户的id,然后根据id 完成该用户的视频、文本消息的检索、显示和播放等。

弱电人需要懂的基础组网技术
生物医学领域的传感器的正确测量
维珍航空因冠状病毒的影响宣布退役了三架空客A340-600飞机
已获30多项专利及软著!象印科技获得数千万元Pre-A轮投资
欧司朗光电半导体推出灯丝LED产品DURIS® L
基于Dragonboard 410c的智能魔镜设计(4)——如何检索视频消息并播放显示
青石制沙生产线设备,配置流程及设备厂家
INMO影目科技发布首款AI+AR消费级眼镜INMO Go
华为Mate40系列四款新品机型之间的区别介绍
简单认识USB Type-C型接口
通过nanoPower技术让智能能源更加智能
2018年LED照明市场现状分析
罗技G pro键鼠套装好不好用?罗技G pro键鼠深度评测
芯森电子入选天津市高端装备制造展团,携技术新品亮相高交会!
美国商务部工业安全局再将11家中国公司列入“实体清单”
Imagination、Microchip 和 Digilent 携手为全球大专院校提供先进的 IoT 课程
网友又吐槽:iPhone 12系列助听设备存在音质问题
温度传感器—热电偶标定
哪款电动牙刷好用性价比高,国产声波电动牙刷品牌排行
“懒人经济”的风潮下 扫地机器人赛道愈发拥挤