视频通信业务与dlna业务融合的装置及方法

文档序号:7866520阅读:220来源:国知局
专利名称:视频通信业务与dlna业务融合的装置及方法
技术领域
本发明涉及DLNA (Digital Living Network Alliance,家庭娱乐网络接入协议) 领域,特别是涉及一种视频通信业务与DLNA业务融合的装置及方法。
背景技术
DLNA (Digital Living Network Alliance,家庭娱乐网络接入协议)是一种个人 PC、消费电器、移动设备在内的无线网络和有线网络的互联互通,实现数字媒体和内容服务的无限制的共享和增长的方案。视频通信是集通信技术、计算机技术、音视频处理技术等为一体的业务,是信息技术发展的方向。目前视频通信业务主要依存于个人电脑上的IM (Instant Messenger,即时通讯)工具,还没有与DLNA业务融合在一起。随着家庭数字娱乐的蓬勃发展,将视频通信业务与DLNA业务融合在一起成为发展趋势,因此如何将视频通信业务与DLNA业务融合在一起是目前亟待解决的技术问题。发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种视频通信业务与DLNA 业务融合的装置及方法,使用嵌入式QT特有的进程间通信机制建立切换业务的消息通道, 实现视频通信业务与DLNA业务的平滑切换,完善了智能机顶盒的服务功能。
本发明提供的视频通信业务与DLNA业务融合的装置,包括视频通信模块、DLNA 模块、消息通道建立模块,所述视频通信模块和DLNA模块都是基于嵌入式Qt的客户端,其中
所述消息通道建立模块,用于通过QCOP协议子类化Qt通信协议通道,在Qt通信协议通道中指定字符串作为消息通道的名称,建立切换业务的消息通道;
所述视频通信模块,用于■ 与MS服务器交互进行登记,实现音频、视频的编码、传输、解码播放;采用二进制数据流保存数据,生成DLNA业务参数,所述DLNA业务参数包括回到导航页面参数、停止DLNA业务参数、拒接来电继续DLNA业务参数、恢复DLNA业务参数; 再根据该DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,再将DLNA业务参数和消息类型封装成带有DLNA业务参数和消息类型的数据包,通过切换业务的消息通道将该带有DLNA业务参数和消息类型的数据包发送到Qt服务器;以及收到Qt服务器转发来的带有视频业务参数和消息类型的数据包时,解析该数据包中的消息类型,若该数据包中的消息类型为从DLNA模块模块发往视频通信模块的消息类型,则取出该数据包中的视频业务参数,根据视频业务参数的种类进行处理;
所述DLNA模块,用于实现数字媒体的记录、存储、查找、播放、渲染;采用二进制数据流保存数据,生成视频业务参数,所述视频业务参数包括主叫显示视频通信页面参数、 被叫显示视频通信页面参数、停止视频通信业务参数;再根据视频业务参数生成从DLNA模块发往视频通信模块的消息类型,并该视频业务参数和消息类型封装成带有视频业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有视频业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器;以及收到Qt服务器发来的带有DLNA业务参数和消息类型的数据包时,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往DLNA模块的消息类型,则取出该数据包中的DLNA业务参数,根据DLNA业务参数的种类进行处理。
在上述技术方案中,所述视频通信模块包括第一参数生成单元、第一消息类型生成单元、第一封装单元、第一发送单元、第一接收单元、第一解析单元、第一处理单元;
所述第一参数生成单元,用于采用二进制数据流保存数据,生成DLNA业务参数, 并将DLNA业务参数发送到第一消息类型生成单元;
所述第一消息类型生成单元,用于收到第一参数生成单元发来的DLNA业务参数后,根据该DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,并将该DLNA业务参数和消息类型一起发送到第一封装单元;
所述第一封装单元,用于收到第一消息类型生成单元发来的DLNA业务参数和消息类型后,将DLNA业务参数和消息类型封装成带有DLNA业务参数和消息类型的数据包,再将该带有DLNA业务参数和消息类型的数据包发送到第一发送单元;
所述第一发送单元,用于收到第一封装单元发来带有DLNA业务参数和消息类型的数据包后,采用Qt通信协议通道的发送函数,将该带有DLNA业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器;
所述第一接收单元,用于收到Qt服务器转发给视频通信模块的带有视频业务参数和消息类型的数据包时,生成第一解析触发信号,并将接收到的带有视频业务参数和消息类型的数据包和第一解析触发信号一起发送到第一解析单元;
所述第一解析单元,用于接收到第一接收单元发来的带有视频业务参数和消息类型的数据包和第一解析触发信号时,解析该数据包中的消息类型,若该数据包中的消息类型为从DLNA模块模块发往视频通信模块的消息类型,则生成第一处理触发信号,并将该带有视频 业务参数和消息类型的数据包和第一处理触发信号一起发送到第一处理单元;
所述第一处理单元,用于收到第一解析单元发来的带有视频业务参数和消息类型的数据包和第一处理触发信号时,取出该数据包中的视频业务参数,根据视频业务参数的种类进行处理。
在上述技术方案中,所述DLNA模块包括第二参数生成单元、第二消息类型生成单元、第二封装单元、第二发送单元、第二接收单元、第二解析单元、第二处理单元;
所述第二参数生成单元,用于采用二进制数据流保存数据,生成视频业务参数, 并将视频业务参数发送到第二消息类型生成单元;
所述第二消息类型生成单元,用于收到第二参数生成单元发来的视频业务参数时,根据该视频业务参数生成从DLNA模块发往视频通信模块的消息类型,并将该视频业务参数和消息类型一起发送到第二封装单元;
所述第二封装单元,用于收到第二消息类型生成单元发来的视频业务参数和消息类型后,将该视频业务参数和消息类型封装成带有视频业务参数和消息类型的数据包, 并将该带有视频业务参数和消息类型的数据包发送到第二发送单元;
所述第二发送单元,用于收到第二封装单元发来的带有视频业务参数和消息类型的数据包后,采用Qt通信协议通道的发送函数,将该带有视频业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器;
所述第二接收单元,用于收到Qt服务器转发给DLNA模块的带有DLNA业务参数和消息类型的数据包时,生成第二解析触发信号,并将接收到的带有DLNA业务参数和消息类型的数据包和第二解析触发信号一起发送到第二解析单元;
所述第二解析单元,用于收到第二接收单元发来的带有DLNA业务参数和消息类型的数据包和第二解析触发信号时,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往DLNA模块的消息类型,则生成第二处理触发信号,并将该带有 DLNA业务参数和消息类型的数据包和第二处理触发信号一起发送到第二处理单元;
所述第二处理单元,用于收到第二解析单元发来的带有DLNA业务参数和消息类型的数据包和第二处理触发信号时,取出该数据包中的DLNA业务参数,根据DLNA业务参数的种类进行处理。
在上述技术方案中,所述切换业务的消息通道为一个双向消息通道,视频通信模块和DLNA模块均通过所述双向消息通道发送业务切换的消息。
在上述技术方案中,所述切换业务的消息通道为两个独立的单向消息通道,视频通信模块通过其中一个消息通道发送业务切换的消息,DLNA模块通过其中另一个消息通道发送业务切换的消息。·
本发明还提供一种基于上述装置的视频通信业务与DLNA业务融合的方法,包括以下步骤
S1、消息通道建立模块启动后通过QCOP协议子类化Qt通信协议通道,在Qt通信协议通道中指定字符串作为消息通道的名称,建立切换业务的消息通道;
S2、视频通信模块启动,视频通信模块中的登记单元与MS服务器交互进行登记;
S3、用户主叫情况下用户在使用DLNA业务时,DLNA模块通过DLNA用户界面进入本地导航页面,主动停止DLNA业务,选择视频通信业务;或者
用户被叫情况下视频通信模块收到呼入事件请求消息,通过消息通道建立模块建立的切换业务的消息通道发送停止DLNA业务的消息到Qt服务器,Qt服务器再转发到 DLNA模块,DLNA模块停止DLNA业务;或者
用户在进行视频通信业务的过程中收到DLNA推送请求时,通过消息通道建立模块建立的切换业务的消息通道发送停止视频通信业务的消息到Qt服务器,Qt服务器再转发到视频通信模块,视频通信模块停止视频通信业务;
S4、DLNA模块采用二进制数据流保存数据,生成视频业务参数,视频业务参数包括主叫显示视频通信页面参数、被叫显示视频通信页面参数、停止视频通信业务参数,DLNA模块根据生成的视频业务参数生成从DLNA模块发往视频通信模块的消息类型,将该视频业务参数和消息类型封装成带有视频业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有视频业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器;Qt服务器将收到的带有视频业务参数和消息类型的数据包转发至视频通信模块;
S5、视频通信模块收到Qt服务器发来的带有视频业务参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从DLNA模块发往视频通信模块的消息类型,则取出该数据包中的视频业务参数,视频通信模块根据该视频通信业务参数进行处理;
S6、视频通话结束后,隐藏视频通信主界面,视频通信模块采用二进制数据流保存数据,生成DLNA业务参数,所述DLNA业务参数包括回到导航页面参数、停止DLNA业务参数、拒接来电继续DLNA业务参数、恢复DLNA业务参数;再根据该DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,将该DLNA业务参数和消息类型封装成带有DLNA业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有DLNA业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器,Qt 服务器将收到的带有DLNA业务参数和消息类型的数据包转发至DLNA业务模块;
S7、DLNA模块收到Qt服务器发来的带有DLNA业务参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往DLNA模块的消息类型,则取出该数据包中的DLNA业务参数,DLNA模块根据该DLNA业务参数进行处理。
在上述技术方案中,所述用户主叫情况下,包括以下步骤
步骤101、消息通道建立模块启动后通过QCOP协议子类化Qt通信协议通道,在Qt 通信协议通道中指定字符串作为消息通道的名称,建立切换业务的消息通道;
步骤102、视频通信模块启动,视频通信模块中的登记单元与MS服务器交互进行登记;
步骤103、用户在使用DLNA业务时,DLNA模块通过DLNA用户界面进行人机交互, 进入本地导航页面,主动停止DLNA业务,选择视频通信业务;
步骤104、DLNA模块接收到用户选择视频通信业务的指令时,DLNA模块采用二进制数据流保存数据,生成主叫显示视频通信页面参数,并根据该主叫显示视频通信页面参数生成从DLNA模块发往视频通信模块的消息类型,将该主叫显示视频通信页面参数和消息类型封装成带有主叫显示视频通信页面参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有主叫显示视频通信页面参数和消息类型的数据包,通过 消息通道建立模块建立的切换业务的消息通道发送到Qt服务器;Qt服务器将收到的带有主叫显示视频通信页面参数和消息类型的数据包转发至视频通信模块;
步骤105、视频通信模块收到Qt服务器发来的带有主叫显示视频通信页面参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从DLNA模块发往视频通信模块的消息类型,则取出该数据包中的主叫显示视频通信页面参数,并根据该主叫显示视频通信页面参数显示视频通信主界面,用户通过视频通信主界面可以进行拨号呼叫,建立视频通话;
步骤106、视频通话结束后,用户操作返回键,隐藏视频通信主界面,视频通信模块采用二进制数据流保存数据,生成回到导航页面参数,并根据该回到导航页面参数生成从视频通信模块发往DLNA模块的消息类型,将该回到导航页面参数和消息类型封装成带有回到导航页面参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有回到导航页面参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器,Qt服务器将收到的带有回到导航页面参数和消息类型的数据包转发至 DLNA业务模块;
步骤107、DLNA模块收到Qt服务器发来的带有回到导航页面参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往DLNA模块的消息类型,则取出该数据包中的回到导航页面参数,DLNA模块根据该回到导航页面参数回到导航页面。
在上述技术方案中,所述用户被叫情况下,包括以下步骤
步骤201、消息通道建立模块启动后通过QCOP协议子类化Qt通信协议通道,在Qt 通信协议通道中指定字符串作为消息通道的名称,建立切换业务的消息通道;
步骤202、视频通信模块启动,视频通信模块中的登记单元与MS服务器交互进行登记;
步骤203、视频通信模块收到呼入事件请求消息,在当前使用的DLNA业务界面上置顶来电提醒对话框,如果用户选择接听,则接受呼叫请求,视频通信模块采用二进制数据流保存数据,生成停止DLNA业务参数,并根据该停止DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,将该停止DLNA业务参数和消息类型封装成带有停止DLNA业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有停止DLNA业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器, Qt服务器将收到的带有停止DLNA业务参数和消息类型的数据包转发至DLNA模块;
如果用户选择拒绝接听,则关闭来电提醒对话框,视频通信模块采用二进制数据流保存数据,生成拒接来电继续DLNA业务参数,并根据该拒接来电继续DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型, 将该拒接来电继续DLNA业务参数和消息类型封装成带有拒接来电继续DLNA业务参数参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有拒接来电继续DLNA业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器,Qt服务器将收到的带有停止DLNA业务参数和消息类型的数据包转发至DLNA模块,DLNA模块将继续进行DLNA业务;
步骤204、DLNA模块收到Qt服务器发来的带有停止DLNA业务参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往 DLNA模块的消息类型,则取出该数据包中的停止DLNA业务参数,并根据该停止DLNA业务参数停止DLNA业务,隐藏DLNA业务界面;
步骤205、DLNA模块采用二进制数据流保存数据,生成被叫显示视频通信页面参数,并根据该被叫显示视频通信页面参数生成从DLNA模块发往视频通信模块的消息类型, 将该被叫显示视频通信页面参数和消息类型封装成带有被叫显示视频通信页面参数和消息类型的数据包后,采用Qt通信协议通道的发送函数,将带有被叫显示视频通信页面参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器,Qt服务器将收到的带有被叫显示视频通信页面参数和消息类型的数据包转发至视频通信模块;
步骤206、视频通信模块收到Qt服务器发来的带有被叫显示视频通信页面参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从DLNA模块发往视频通信模块的消息类型,则取出该数据包中的被叫显示视频通信页面参数,并根据该被叫显示视频通信页面参数显示视频通信主界面,给MS发应答消息,建立呼叫连接;
步骤207、视频通话结束后,视频通信模块释放资源,隐藏视频通信界面,采用二进制数据流保存数据,生成恢复DLNA业务参数,并根据该恢复DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,将该恢复DLNA业务参数和消息类型封装成带有恢复DLNA业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有恢复DLNA业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt 服务器,Qt服务器将收到的带有恢复DLNA业务参数和消息类型的数据包转发至DLNA模块;
步骤208、DLNA模块收到Qt服务器发来的带有恢复DLNA业务参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往 DLNA模块的消息类型,则取出该数据包中的恢复DLNA业务参数,并根据恢复DLNA业务参数恢复DLNA业务,显示DLNA业务界面,用户继续进行DLNA业务。
在上述技术方案中,所述用户进行视频通信业务的过程中收到DLNA推送请求时, 包括以下步骤
步骤301、消息通道建立模块启动后通过QCOP协议子类化Qt通信协议通道,在Qt 通信协议通道中指定字符串作为消息通道的名称,建立一个切换业务的双向消息通道;
步骤302、视频通信模块启动,视频通信模块中的登记单元与MS服务器交互进行登记;
步骤303、用户在使用视频通信业务的过程中收到DLNA推送请求;
步骤304、DLNA模块采用二进制数据流保存数据,生成停止视频通信业务参数,并根据该停止视频通信业务参数生成从DLNA模块发往视频通信模块的消息类型,将该停止视频通信业务参数和消息类型封装成带有停止视频通信业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该停止视频通信业务参数和消息类型的数据包,通过消息通道建立模块建立的双向消息通道发送到Qt服务器;Qt服务器将收到的停止视频通信业务参数和消息类型的数据包转发至视频通信模块;
步骤305、视频通信模块收到Qt服务器发来的停止视频通信业务参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从DLNA模块发往视频通信模块的消息类型,则取出该数据包中的停止视频通信业务参数,并根据该停止视频通信业务参数挂机结束视频通话;
步骤306、视频通话结束后,视频通信模块采用二进制数据流保存数据,恢复DLNA 业务参数,并根据该恢复DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,将该恢复DLNA业务参数和消息类型封装成带有恢复DLNA业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有恢复DLNA业务参数和消息类型的数据包,通过消息通道建立模块建立的双向消息通道发送到Qt服务器,Qt服务器将收到的带有恢复DLNA 业务参数和消息类型的数据包转发至DLNA业务模块;
步骤307、DLNA模块收到Qt服务器发来的带有恢复DLNA业务参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往 DLNA模块的消息类型,则取出该数据包中的恢复DLNA业务参数,DLNA模块根据恢复DLNA 业务参数开始进行媒体播放。
在上述技术方案中,所述切换业务的消息通道为一个双向消息通道,视频通信模块和DLNA模块均通过所述双向消息通道发送业务切换的消息。
在上述技术方案中,所述切换业务的消息通道为两个独立的单向消息通道,视频通信模块通过其中一个消息通道发送业务切换的消息,DLNA模块通过其中另一个消息通道发送业务切换的消息。
与现有技术相比,本发明的优点如下
本发明使用嵌入式QT特有的进程间通信机制建立切换业务的消息通道,智能机顶盒与其他頂S终端对接,在进行DLNA业务时,通过该消息通道传递消息,能主动进入视频通信业务,进行呼叫;在进行DLNA业务的过程中,收到呼叫事件(例如呼入请求)时,通过该消息通道传递消息,通知给正在使用DLNA业务的用户,由用户选择是否切换到视频通信业务;在进行视频通信业务时,收到来自平板电脑、手机等的推送DLNA的请求时,进行视频通信业务的挂机,进行DLNA的媒体播放,实现视频通信业务与DLNA业务的平滑切换,在智能机顶盒上给用户提供视频通信业务,完善了智能机顶盒的服务功能。


图1是本发明实施例中用户主叫时视频通信业务与DLNA业务融合的方法流程图。
图2是本发明实施例中用户被叫时视频通信业务与DLNA业务融合的方法流程图。
图3是本发明实施例中用户进行视频通信业务时切换到DLNA业务的方法流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
首先介绍一下嵌入式Qt特有的进程间通信机制QCOP (Qt Communication Protocol, Qt 通信协议)。
Qt是一个跨平台C++图形用户界面应用程序开发框架,它既可以开发GUI (Graphical User Interface,图形用户接口)程式,也可用于开发非⑶I程式。Qt是面向对象语言,易于扩展,并且允许组件编程。嵌入式Qt (Qt/Embedded)是一个完整的自包含 ⑶I和基于L inux的嵌入式平台开发工具,当中定义了一种轻量级的进程间通信机制QC0P。
QCOP是Qt内部的一种通信协议,这种协议既允许在相同的地址空间内的客户端之间进行通信,也允许在不同的进程的客户端之间进行通信。QCOP用于在多个通道间传送信息,是一个多对多的通信协议。每个通道用名字作为识别ID (IDentity,身份标识号码),任何一个想要和它通信的通道都能监听它。为实现这种通信机制,Qt中包括了 QCopChannel (Qt Communication Protocol Channel, Qt 通信协议通道)类,该类提供了诸如发送、通道是否已注册等静态函数,它们可以在脱离对象的情况下使用。为了在通道中接收通信数据,用户需要构造一个Qt通信协议通道的子类并提供接收函数的重载函数,或者利用连接函数将处理函数与接收到的消息相联系。QCOP的过程包括注册、发送、接收三部分。
本发明实施例提供一种视频通信业务与DLNA业务融合的装置,包括视频通信模块、DLNA模块、消息通道建立模块,其中,视频通信模块、DLNA模块都是基于嵌入式Qt的客户端,所以可以采用QCOP协议来进行通信。
消息通道建立模块,用于通过QCOP协议子类化Qt通信协议通道,在Qt通信协议通道中指定字符串作为消息通道的名称,建立切换业务的消息通道;切换业务的消息通道可以是一个双向消息通道,视频通信模块和DLNA模块均通过双向消息通道发送业务切换的消息;切换业务的消息通道也可以是两个独立的单向消息通道,视频通信模块通过其中一个消息通道发送业务切换的消息,DLNA模块通过其中另一个消息通道发送业务切换的消肩、O
视频通信模块,用于与MS服务器交互进行登记,实现音频、视频的编码、传输、 解码播放;采用二进制数据流保存数据,生成DLNA业务参数,DLNA业务参数包括回到导航页面参数、停止DLNA业务参数、拒接来电继续DLNA业务参数、恢复DLNA业务参数;再根据该DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,再将DLNA业务参数和消息类型封装成带有DLNA业务参数和消息类型的数据包,通过切换业务的消息通道将该带有DLNA业务参数和消息类型的数据包发送到Qt服务器;以及收到Qt服务器转发来的带有视频业务参数和消息类型的数据包时,解析该数据包中的消息类型,若该数据包中的消息类型为从DLNA模块发往视频通信模块的消息类型,则取出该数据包中的视频业务参数,根据视频业务参数的种类进行处理。
DLNA模块,用于实现数字媒体的记录、存储、查找、播放、渲染;采用二进制数据流保存数据,生成视频业务参数,视频业务参数包括主叫显示视频通信页面参数、被叫显示视频通信页面参数;再根据视频业务参数生成从DLNA模块发往视频通信模块的消息类型, 并该视频业务参数和消息类型封装成带有视频业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有视频业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器;以及收到Qt服务器发来的带有DLNA业务参数和消息类型的数据包时,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往DLNA模块的消息类型,则取出该数据包中的DLNA业务参数,根据DLNA 业务参数的种类进行处理。
进一步,视频通信模块包括第一参数生成单元、第一消息类型生成单元、第一封装单元、第一发送单元、第一接收单元、第一解析单元、第一处理单元,其中
第一参数生成单元,用于采用二进制数据流保存数据,生成DLNA业务参数,并将 DLNA业务参数发送到第一消息类型生成单元,所述DLNA业务参数包括回到导航页面参数、 停止DLNA业务参数、拒接来电继续DLNA业务参数、恢复DLNA业务参数;
第一消息类型生成单元,用于收到第一参数生成单元发来的DLNA业务参数后, 根据该DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,并将该DLNA业务参数和消息类型一起发送到第一封装单元;
第一封装单元,用于收到消息类型生成单元发来的DLNA业务参数和消息类型后,将DLNA业务参数和消息类型封装成带有DLNA业务参数和消息类型的数据包,并将该带有DLNA业务参数和消息类型的数据包发送到第一发送单元;
第一发送单元,用于收到第一封装单元发来的带有DLNA业务参数和消息类型的数据包后,采用Qt通信协议通道的发送函数,将该带有DLNA业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器;
第一接收单元,用于收到Qt服务器转发给视频通信模块的带有视频业务参数和消息类型的数据包时,生成第一解析触发信号,并将接收到的带有视频业务参数和消息类型的数据包和第一解析触发信号一起发送到第一解析单元;
第一解析单元,用于接收到第一接收单元发来的带有视频业务参数和消息类型的数据包和第一解析触发信号时,解析该数据包中的消息类型,若该数据包中的消息类型为从DLNA模块发往视频通信模块的消息类型,则生成第一处理触发信号,并将该带有视频业务参数和消息类型的数据包和第一处理触发信号一起发送到第一处理单元;
第一处理单元,用于收到第一解析单元发来的带有视频业务参数和消息类型的数据包和第一处理触发信号时,取出该数据包中的视频业务参数,根据视频业务参数的种类进行处理。
进一步,DLNA模块包括第二参数生成单元、第二消息类型生成单元、第二封装单元、第二发送单元、第二接收单元、第二解析单元、第二处理单元,其中
第二参数生成单元,用于采用二进制数据流保存数据,生成视频业务参数,并将视频业务参数发送到第二消息类型生成单元,视频业务参数包括主叫显示视频通信页面参数、被叫显示视频通信页面参数、停止视频通信业务参数;
第二消息类型生成单元,用于收到第二参数生成单元发来的视频业务参数时,根据该视频业务参数生成从DLNA模块发往视频通信模块的消息类型,并将该视频业务参数和消息类型一起发送到第二封装单元;
第二封装单元,用于收到第二消息类型生成单元发来的视频业务参数和消息类型后,将该视频业务参数和消息类型封装成带有视频业务参数和消息类型的数据包,并将该带有视频业务参数和消息类型的数据包发送到第二发送单元;
第二发送单元,用于收到第二封装单元发来的带有视频业务参数和消息类型的数据包后,采用Qt通信协议通道的发送函数,将该带有视频业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器;
第二接收单元,用于收到Qt服务器转发给DLNA模块的带有DLNA业务参数和消息类型的数据包时,生成第二解析触发信号,并将接收到的带有DLNA业务参数和消息类型的数据包和第二解析触发信号一起发送到第二解析单元;
第二解析单元,用于收到第二接收单元发来的带有DLNA业务参数和消息类型的数据包和第二解析触发信号时,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往DLNA模块的消息类型,则生成第二处理触发信号,并将该带有DLNA业务参数和消息类型的数据包和第二处理触发信号一起发送到第二处理单元;
第二处理单元,用于收到第二解析单元发来的带有DLNA业务参数和消息类型的数据包和第二处理触发信号时,取出该数据包中的DLNA业务参数,根据DLNA业务参数的种类进行处理。
在上述视频通信业务与DLNA业务融合的装置的基础上,本发明实施例还提供了一种视频通信业务与DLNA业务融合的方法,包括以下步骤
S1、消息通道建立模块启动后通过QCOP协议子类化Qt通信协议通道,在Qt通信协议通道中指定字符串作为消息通道的名称,建立切换业务的消息通道;切换业务的消息通道可以是一个双向消息通道,视频通信模块和DLNA模块均通过双向消息通道发送业务切换的消息;切换业务的消息通道也可以是两个独立的单向消息通道,视频通信模块通过其中一个消息通道发送业务切换的消息,DLNA模块通过其中另一个消息通道发送业务切换的消息;
S2、视频通信模块启动,视频通信模块中的登记单元与MS服务器交互进行登记;
S3、用户主叫情况下用户在使用DLNA业务时,DLNA模块通过DLNA用户界面进入本地导航页面,主动停止DLNA业务,选择视频通信业务;或者
用户被叫情况下视频通信模块收到呼入事件请求消息,通过消息通道建立模块建立的切换业务的消息通道发送停止DLNA业务的消息到Qt服务器,Qt服务器再转发到 DLNA模块,DLNA模块停止DLNA业务;或者
用户在进行视频通信时,DLNA模块收到来自手机、平板电脑等的推送请求,通过消息通道建立模块建立的切换业务的消息通道发送DLNA推送时视频通信挂机的消息到Qt服务器,Qt服务器再转发到视频通信模块,视频通信模块挂机结束视频通信业务;
S4、DLNA模块采用二进制数据流保存数据,生成视频业务参数,视频业务参数包括主叫显示视频通信页面参数、被叫显示视频通信页面参数、停止视频通信业务参数,DLNA模块根据生成的视频业务参数生成从DLNA模块发往视频通信模块的消息类型,将该视频业务参数和消息类型封装成带有视频业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有视频业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器;Qt服务器将收到的带有视频业务参数和消息类型的数据包转发至视频通信模块;
S5、视频通信模块收到Qt服务器发来的带有视频业务参数和消息类型的数据包后,解析该数据包中的消·息类型,若该数据包中的消息类型为从DLNA模块发往视频通信模块的消息类型,则取出该数据包中的视频业务参数,视频通信模块根据该视频通信业务参数进行处理;
S6、视频通话结束后,隐藏视频通信主界面,视频通信模块采用二进制数据流保存数据,生成DLNA业务参数,DLNA业务参数包括回到导航页面参数、停止DLNA业务参数、拒接来电继续DLNA业务参数、恢复DLNA业务参数;再根据该DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,将该DLNA业务参数和消息类型封装成带有DLNA业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有DLNA业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器,Qt服务器将收到的带有DLNA业务参数和消息类型的数据包转发至DLNA业务模块;
S7、DLNA模块收到Qt服务器发来的带有DLNA业务参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往DLNA模块的消息类型,则取出该数据包中的DLNA业务参数,DLNA模块根据该DLNA业务参数进行处理。
由于视频业务参数包括主叫显示视频通信页面参数、被叫显示视频通信页面参数、停止视频通信业务参数,在实际应用中包括以下三种情况
A、用户主叫用户在使用DLNA业务时,通过本地导航页面退出DLNA业务,然后进入视频通信业务,进行视频通话呼叫等业务,通话结束后返回到DLNA业务。
B、用户被叫用户在使用DLNA业务时,收到呼叫,弹出来电提示框,如果选择接听,则进入视频通信业务,如果拒绝接听,则继续使用DLNA业务。
C、用户进行视频通信业务的过程中收到DLNA推送请求时,视频通信模块结束视频通信业务,DLNA模块开始播放媒体文件。
下面通过3个具体实施例来详细阐述。
实施例1、用户主叫、建立一个切换业务的双向消息通道
参见图1所示,用户主叫情况下,包括以下步骤
步骤101、消息通道建立模块启动后通过QCOP协议子类化Qt通信协议通道,在Qt 通信协议通道中指定字符串作为消息通道的名称,建立一个切换业务的双向消息通道;
步骤102、视频通信模块启动,视频通信模块中的登记单元与MS服务器交互进行登记;
步骤103、用户在使用DLNA业务时,DLNA模块通过DLNA用户界面进入本地导航页面,主动停止DLNA业务,选择视频通信业务;
步骤104、DLNA模块接收到用户选择视频通信业务的指令时,DLNA模块采用二进制数据流保存数据,生成主叫显示视频通信页面参数,并根据该主叫显示视频通信页面参数生成从DLNA模块发往视频通信模块的消息类型,将该主叫显示视频通信页面参数和消息类型封装成带有主叫显示视频通信页面参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有主叫显示视频通信页面参数和消息类型的数据包,通过消息通道建立模块建立的双向消息通道发送到Qt服务器;Qt服务器将收到的带有主叫显示视频通信页面参数和消息类型的数据包转发至视频通信模块;
步骤105、视频通信模块收到Qt服务器发来的带有主叫显示视频通信页面参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从DLNA模块发往视频通信模块的消息类型,则取出该数据包中的主叫显示视频通信页面参数,并根据该主叫显示视频通信页面参数显示视频通信主界面,用户通过视频通信主界面可以进行拨号呼叫,建立视频通话;
步骤106、视频通话结束后,用户操作返回键,隐藏视频通信主界面,视频通信模块采用二进制数据流保存数据,回到导航页面参数,并根据该回到导航页面参数生成从视频通信模块发往DLNA模块的消息类型,将该回到导航页面参数和消息类型封装成带有回到导航页面参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有回到导航页面参数和消息类型的数据包,通过消息通道建立模块建立的双向消息通道发送到Qt服务器,Qt服务器将收到的带有回到导航页面参数和消息类型的数据包转发至DLNA业务模块;
步骤107、DLNA模块收到Qt服务器发来的带有回到导航页面参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往 DLNA模块的消息类型,则取出该数据包中的回到导航页面参数,DLNA模块根据该回到导航页面参数回到导航页面。
实施例2、用户被叫、建立切换业务的两个独立的单向消息通道
参见图2所示,用户被叫情况下,包括以下步骤
步骤201、消息通道建立模块启动后通过QCOP协议子类化Qt通信协议通道,在Qt 通信协议通道中指定字符串作为消息通道的名称,建立切换业务的两个独立的单向消息通道;
步骤202、视频通信模块启动,视频通信模块中的登记单元与MS服务器交互进行登记;
步骤203、视频通信模块收到呼入事件请求消息,在当前使用的DLNA业务界面上置顶来电提醒对话框,如果用户选择接听,则接受呼叫请求,视频通信模块采用二进制数据流保存数据,生成停止DLNA业务参数,并根据该停止DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,将该停止DLNA业务参数和消息类型封装成带有停止DLNA业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,根据通道名称,将该带有停止 DLNA业务参数和消息类型的数据包,通过消息通道建立模块建立的单向消息通道发送到 Qt服务器,Qt服务器将收到的带有停止DLNA业务参数和消息类型的数据包转发至DLNA模块;
如果用户选择拒绝接听,则关闭来电提醒对话框,视频通信模块采用二进制数据流保存数据,生成拒接来电继续DLNA业务参数,并根据该拒接来电继续DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,将该拒接来电继续DLNA业务参数和消息类型封装成带有拒接来电继续DLNA业务参数参数和消息类型的数据包,采用Qt通信协议通道的发送函数,根据通道名称,将该带有拒接来电继续DLNA业务参数和消息类型的数据包, 通过消息通道建立模块建立的单向消息通道发送到Qt服务器,Qt服务器将收到的带有拒接来电继续DLNA业务参数和消息类型的数据包转发至DLNA模块,DLNA模块将继续进行 DLNA业务;
步骤204、DLNA模块收到Qt服务器发来的带有停止DLNA业务参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往 DLNA模块的消息类型,则取出该数据包中的停止DLNA业务参数,并根据该停止DLNA业务参数停止DLNA业务,隐藏DLNA业务界面;
步骤205、DLNA模块采用二进制数据流保存数据,生成被叫显示视频通信页面参数,并根据该被叫显示视频通信页面参数生成从DLNA模块发往视频通信模块的消息类型, 将该被叫显示视频通信页面参数和消息类型封装成带有被叫显示视频通信页面参数和消息类型的数据包后,采用Qt通信协议通道的发送函数,根据通道名称,将带有被叫显示视频通信页面参数和消息类型的数据包,通过消息通道建立模块建立的单向消息通道发送到 Qt服务器,Qt服务器将收到的带有被叫显示视频通信页面参数和消息类型的数据包转发至视频通信模块;
步骤206、视频通信模块收到Qt服务器发来的带有被叫显示视频通信页 面参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从DLNA模块发往视频通信模块的消息类型,则取出该数据包中的被叫显示视频通信页面参数,并根据该被叫显示视频通信页面参数显示视频通信主界面,给MS发应答消息,建立呼叫连接;
步骤207、视频通话结束后,视频通信模块释放资源,隐藏视频通信界面,采用二进制数据流保存数据,生成恢复DLNA业务参数,并根据该恢复DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,将该恢复DLNA业务参数和消息类型封装成带有恢复DLNA 业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,根据通道名称,将该带有恢复DLNA业务参数和消息类型的数据包,通过消息通道建立模块建立的单向消息通道发送到Qt服务器,Qt服务器将收到的带有恢复DLNA业务参数和消息类型的数据包转发至 DLNA模块;
步骤208、DLNA模块收到Qt服务器发来的带有恢复DLNA业务参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往 DLNA模块的消息类型,则取出该数据包中的恢复DLNA业务参数,并根据恢复DLNA业务参数恢复DLNA业务,显示DLNA业务界面,用户继续进行DLNA业务。
实施例3、用户进行视频通信业务时收到DLNA推送请求、建立一个切换业务的双向消息通道
参见图3所示,用户进行视频通信业务时收到DLNA推送请求下,包括以下步骤
步骤301、消息通道建立模块启动后通过QCOP协议子类化Qt通信协议通道,在Qt 通信协议通道中指定字符串作为消息通道的名称,建立一个切换业务的双向消息通道;
步骤302、视频通信模块启动,视频通信模块中的登记单元与MS服务器交互进行登记;
步骤303、用户在使用视频通信业务的过程中,收到来自平板电脑、手机等的DLNA 推送请求;
步骤304、DLNA模块采用二进制数据流保存数据,生成停止视频通信业务参数,并根据该停止视频通信业务参数生成从DLNA模块发往视频通信模块的消息类型,将该停止视频通信业务参数和消息类型封装成带有停止视频通信业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该停止视频通信业务参数和消息类型的数据包,通过消息通道建立模块建立的双向消息通道发送到Qt服务器;Qt服务器将收到的停止视频通信业务参数和消息类型的数据包转发至视频通信模块;
步骤305、视频通信模块收到Qt服务器发来的停止视频通信业务参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从DLNA模块发往视频通信模块的消息类型,则取出该数据包中的停止视频通信业务参数,并根据该停止视频通信业务参数挂机结束视频通话;
步骤306、视频通话结束后,视频通信模块采用二进制数据流保存数据,恢复DLNA 业务参数,并根据该恢复DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,将该恢复DLNA业务参数和消息类型封装成带有恢复DLNA业务参数和消息类型的 数据包,采用Qt通信协议通道的发送函数,将该带有恢复DLNA业务参数和消息类型的数据包,通过消息通道建立模块建立的双向消息通道发送到Qt服务器,Qt服务器将收到的带有恢复DLNA 业务参数和消息类型的数据包转发至DLNA业务模块;
步骤307、DLNA模块收到Qt服务器发来的带有恢复DLNA业务参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往 DLNA模块的消息类型,则取出该数据包中的恢复DLNA业务参数,DLNA模块根据恢复DLNA 业务参数开始进行媒体播放。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内, 则本发明包含这些改动和变型在内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
权利要求
1.一种视频通信业务与DLNA业务融合的装置,其特征在于该装置包括视频通信模块、DLNA模块、消息通道建立模块,所述视频通信模块和DLNA模块都是基于嵌入式Qt的客户端,其中 所述消息通道建立模块,用于通过QCOP协议子类化Qt通信协议通道,在Qt通信协议通道中指定字符串作为消息通道的名称,建立切换业 务的消息通道; 所述视频通信模块,用于:与MS服务器交互进行登记,实现音频、视频的编码、传输、解码播放;采用二进制数据流保存数据,生成DLNA业务参数,所述DLNA业务参数包括回到导航页面参数、停止DLNA业务参数、拒接来电继续DLNA业务参数、恢复DLNA业务参数;再根据该DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,再将DLNA业务参数和消息类型封装成带有DLNA业务参数和消息类型的数据包,通过切换业务的消息通道将该带有DLNA业务参数和消息类型的数据包发送到Qt服务器;以及收到Qt服务器转发来的带有视频业务参数和消息类型的数据包时,解析该数据包中的消息类型,若该数据包中的消息类型为从DLNA模块模块发往视频通信模块的消息类型,则取出该数据包中的视频业务参数,根据视频业务参数的种类进行处理; 所述DLNA模块,用于实现数字媒体的记录、存储、查找、播放、渲染;采用二进制数据流保存数据,生成视频业务参数,所述视频业务参数包括主叫显示视频通信页面参数、被叫显示视频通信页面参数、停止视频通信业务参数;再根据视频业务参数生成从DLNA模块发往视频通信模块的消息类型,并该视频业务参数和消息类型封装成带有视频业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有视频业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器;以及收到Qt服务器发来的带有DLNA业务参数和消息类型的数据包时,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往DLNA模块的消息类型,则取出该数据包中的DLNA业务参数,根据DLNA业务参数的种类进行处理。
2.如权利要求1所述的视频通信业务与DLNA业务融合的装置,其特征在于所述视频通信模块包括第一参数生成单元、第一消息类型生成单元、第一封装单元、第一发送单元、第一接收单元、第一解析单元、第一处理单元; 所述第一参数生成单元,用于采用二进制数据流保存数据,生成DLNA业务参数,并将DLNA业务参数发送到第一消息类型生成单元; 所述第一消息类型生成单元,用于收到第一参数生成单元发来的DLNA业务参数后,根据该DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,并将该DLNA业务参数和消息类型一起发送到第一封装单元; 所述第一封装单元,用于收到第一消息类型生成单元发来的DLNA业务参数和消息类型后,将DLNA业务参数和消息类型封装成带有DLNA业务参数和消息类型的数据包,再将该带有DLNA业务参数和消息类型的数据包发送到第一发送单元; 所述第一发送单元,用于收到第一封装单元发来带有DLNA业务参数和消息类型的数据包后,采用Qt通信协议通道的发送函数,将该带有DLNA业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器; 所述第一接收单元,用于收到Qt服务器转发给视频通信模块的带有视频业务参数和消息类型的数据包时,生成第一解析触发信号,并将接收到的带有视频业务参数和消息类型的数据包和第一解析触发信号一起发送到第一解析单元; 所述第一解析单元,用于接收到第一接收单元发来的带有视频业务参数和消息类型的数据包和第一解析触发信号时,解析该数据包中的消息类型,若该数据包中的消息类型为从DLNA模块模块发往视频通信模块的消息类型,则生成第一处理触发信号,并将该带有视频业务参数和消息类型的数据包和第一处理触发信号一起发送到第一处理单元; 所述第一处理单元,用于收到第一解析单元发来的带有视频业务参数和消息类型的数据包和第一处理触发信号时,取出该数据包中的视频业务参数,根据视频业务参数的种类进行处理。
3.如权利要求2所述的视频通信业务与DLNA业务融合的装置,其特征在于所述DLNA模块包括第二参数生成单元、第二消息类型生成单元、第二封装单元、第二发送单元、第二接收单元、第二解析单元、第二处理单元; 所述第二参数生成单元,用于采用二进制数据流保存数据,生成视频业务参数,并将视频业务参数发送到第二消息类型生成单元; 所述第二消息类型生成单元,用于收到第二参数生成单元发来的视频业务参数时,根据该视频业务参数生成从DLNA模块发往视频通信模块的消息类型,并将该视频业务参数和消息类型一起发送到第二封装单元; 所述第二封装单元,用于收到第二消息类型生成单元发来的视频业务参数和消息类型后,将该视频业务参数和消息类型封装成带有视频业务参数和消息类型的数据包,并将该带有视频业务参数和消息类型的数据包发送到第二发送单元; 所述第二发送单元,用于收到第二封装单元发来的带有视频业务参数和消息类型的数据包后,采用Qt通信协议通道的发送函数,将该带有视频业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器; 所述第二接收单元,用于收到Qt服务器转发给DLNA模块的带有DLNA业务参数和消息类型的数据包时,生成第二解析触发信号,并将接收到的带有DLNA业务参数和消息类型的数据包和第二解析触发信号一起发送到第二解析单元; 所述第二解析单元,用于收到第二接收单元发来的带有DLNA业务参数和消息类型的数据包和第二解析触发信号时,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往DLNA模块的消息类型,则生成第二处理触发信号,并将该带有DLNA业务参数和消息类型的数据包和第二处理触发信号一起发送到第二处理单元; 所述第二处理单元,用于收到第二解析单元发来的带有DLNA业务参数和消息类型的数据包和第二处理触发信号时,取出该数据包中的DLNA业务参数,根据DLNA业务参数的种类进行处理。
4.如权利要求1至3中任一项所述的视频通信业务与DLNA业务融合的装置,其特征在于所述切换业务的消息通道为一个双向消息通道,视频通信模块和DLNA模块均通过所述双向消息通道发送业务切换的消息。
5.如权利要求1至3中任一项所述的视频通信业务与DLNA业务融合的装置,其特征在于所述切换业务的消息通道为两个独立的单向消息通道,视频通信模块通过其中一个消息通道发送业务切换的消息,DLNA模块通过其中另一个消息通道发送业务切换的消息。
6.一种基于权利要求1至5中任一项所述装置的视频通信业务与DLNA业务融合的方法,其特征在于,包括以下步骤 S1、消息通道建立模块启动后通过QCOP协议子类化Qt通信协议通道,在Qt通信协议通道中指定字符串作为消息通道的名称,建立切换业务的消息通道; S2、视频通信模块启动,视频通信模块中的登记单元与MS服务器交互进行登记; S3、用户主叫情况下用户在使用DLNA业务时,DLNA模块通过DLNA用户界面进入本地导航页面,主动停止DLNA业务,选择视频通信业务;或者 用户被叫情况下视频通信模块收到呼入事件请求消息,通过消息通道建立模块建立的切换业务的消息通道发送停止DLNA业务的消息到Qt服务器,Qt服务器再转发到DLNA模块,DLNA模块停止DLNA业务;或者 用户在进行视频通信业务的过程中收到DLNA推送请求时,通过消息通道建立模块建立的切换业务的消息通道发送停止视频通信业务的消息到Qt服务器,Qt服务器再转发到视频通信模块,视频通信模块停止视频通信业务; S4、DLNA模块采用二进制数据流保存数据,生成视频业务参数,视频业务参数包括主叫显示视频通信页面参数、被叫显示视频通信页面参数、停止视频通信业务参数,DLNA模块根据生成的视频业务参数生成从DLNA模块发往视频通信模块的消息类型,将该视频业务参数和消息类型封装成带有视频业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有视频业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器;Qt服务器将收到的带有视频业务参数和消息类型的数据包转发至视频通信模块;S5、视频通信模块收到Qt服务器发来的带有视频业务参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从DLNA模块发往视频通信模块的消息类型,则取出该数据包中的视频业务参数,视频通信模块根据该视频通信业务参数进行处理;S6、视频通话结束后,隐藏视频通信主界面,视频通信模块采用二进制数据流保存数据,生成DLNA业务参数,所述DLNA业务参数包括回到导航页面参数、停止DLNA业务参数、拒接来电继续DLNA业务参数、恢复DLNA业务参数;再根据该DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,将该DLNA业务参数和消息类型封装成带有DLNA业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有DLNA业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器,Qt服务器将收到的带有DLNA业务参数和消息类型的数据包转发至DLNA业务模块;S7、DLNA模块收到Qt服务器发来的带有DLNA业务参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往DLNA模块的消息类型,则取出该数据包中的DLNA业务参数,DLNA模块根据该DLNA业务参数进行处理。
7.如权利要求6所述的视频通信业务与DLNA业务融合的方法,其特征在于所述用户主叫情况下,包括以下步骤 步骤101、消息通道建立模块启动后通过QCOP协议子类化Qt通信协议通道,在Qt通信协议通道中指定字符串作为消息通道的名称,建立切换业务的消息通道; 步骤102、视频通信模块启动,视频通信模块中的登记单元与MS服务器交互进行登记;步骤103、用户在使用DLNA业务时,DLNA模块通过DLNA用户界面进行人机交互,进入本地导航页面,主动停止DLNA业务,选择视频通信业务; 步骤104、DLNA模块接收到用户选择视频通信业务的指令时,DLNA模块采用二进制数据流保存数据,生成主叫显示视频通信页面参数,并根据该主叫显示视频通信页面参数生成从DLNA模块发往视频通信模块的消息类型,将该主叫显示视频通信页面参数和消息类型封装成带有主叫显示视频通信页面参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有主叫显示视频通信页面参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器;Qt服务器将收到的带有主叫显示视频通信页面参数和消息类型的数据包转发至视频通信模块; 步骤105、视频通信模块收到Qt服务器发来的带有主叫显示视频通信页面参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从DLNA模块发往视频通信模块的消息类型,则取出该数据包中的主叫显示视频通信页面参数,并根据该主叫显示视频通信页面参数显示视频通信主界面,用户通过视频通信主界面可以进行拨号呼叫,建立视频通话; 步骤106、视频通话结束后,用户操作返回键,隐藏视频通信主界面,视频通信模块采用二进制数据流保存数据,生成回到导航页面参数,并根据该回到导航页面参数生成从视频通信模块发往DLNA模块的消息类型,将该回到导航页面参数和消息类型封装成带有回到导航页面参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有回到导航页面参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器,Qt服务器将收到的带有回到导航页面参数和消息类型的数据包转发至DLNA业务丰吴块; 步骤107、DLNA模块收到Qt服务器发来的带有回到导航页面参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往DLNA模块的消息类型,则取出该数据包中的回到导航页面参数,DLNA模块根据该回到导航页面参数回到导航页面。
8.如权利要求6所述的视频通信业务与DLNA业务融合的方法,其特征在于所述用户被叫情况下,包括以下步骤 步骤201、消息通道建立模块启动后通过QCOP协议子类化Qt通信协议通道,在Qt通信协议通道中指定字符串作为消息通道的名称,建立切换业务的消息通道; 步骤202、视频通信模块启动,视频通信模块中的登记单元与MS服务器交互进行登记; 步骤203、视频通信模块收到呼入事件请求消息,在当前使用的DLNA业务界面上置顶来电提醒对话框,如果用户选择接听,则接受呼叫请求,视频通信模块采用二进制数据流保存数据,生成停止DLNA业务参数,并根据该停止DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,将该停止DLNA业务参数和消息类型封装成带有停止DLNA业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有停止DLNA业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器,Qt服务器将收到的带有停止DLNA业务参数和消息类型的数据包转发至DLNA模块; 如果用户选择拒绝接听,则关闭来电提醒对话框,视频通信模块采用二进制数据流保存数据,生成拒接来电继续DLNA业务参数,并根据该拒接来电继续DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,将该拒接来电继续DLNA业务参数和消息类型封装成带有拒接来电继续DLNA业务参数参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有拒接来电继续DLNA业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器,Qt服务器将收到的带有停止DLNA业务参数和消息类型的数据包转发至DLNA模块,DLNA模块将继续进行DLNA业务; 步骤204、DLNA模块收到Qt服务器发来的带有停止DLNA业务参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往DLNA模块的消息类型,则取出该数据包中的停止DLNA业务参数,并根据该停止DLNA业务参数停止DLNA业务,隐藏DLNA业务界面; 步骤205、DLNA模块采用二进制数据流保存数据,生成被叫显示视频通信页面参数,并根据该被叫显示视频通信页面参数生成从DLNA模块发往视频通信模块的消息类型,将该被叫显示视频通信页面参数和消息类型封装成带有被叫显示视频通信页面参数和消息类型的数据包后,采用Qt通信协议通道的发送函数,将带有被叫显示视频通信页面参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器,Qt服务器将收到的带有被叫显示视频通信页面参数和消息类型的数据包转发至视频通信模块; 步骤206、视频通信模块收到Qt服务器发来的带有被叫显示视频通信页面参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从DLNA模块发往视频通信模块的消息类型,则取出该数据包中的被叫显示视频通信页面参数,并根据该被叫显示视频通信页面参数显示视频通信主界面,给MS发应答消息,建立呼叫连接; 步骤207、视频通话结束后,视频通信模块释放资源,隐藏视频通信界面,采用二进制数据流保存数据,生成恢复DLNA业务参数,并根据该恢复DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,将该恢复DLNA业务参数和消息类型封装成带有恢复DLNA业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有恢复DLNA业务参数和消息类型的数据包,通过消息通道建立模块建立的切换业务的消息通道发送到Qt服务器,Qt服务器将收到的带有恢复DLNA业务参数和消息类型的数据包转发至DLNA模块;步骤208、DLNA模块收到Qt服务器发来的带有恢复DLNA业务参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往DLNA模块的消息类型,则取出该数据包中的恢复DLNA业务参数,并根据恢复DLNA业务参数恢复DLNA业务,显示DLNA业务界面,用户继续进行DLNA业务。
9.如权利要求6所述的视频通信业务与DLNA业务融合的方法,其特征在于所述用户进行视频通信业务的过程中收到DLNA推送请求时,包括以下步骤 步骤301、消息通道建立模块启动后通过QCOP协议子类化Qt通信协议通道,在Qt通信协议通道中指定字符串作为消息通道的名称,建立一个切换业务的双向消息通道; 步骤302、视频通信模块启动,视频通信模块中的登记单元与MS服务器交互进行登记; 步骤303、用户在使用视频通信业务的过程中收到DLNA推送请求; 步骤304、DLNA模块采用二进制数据流保存数据,生成停止视频通信业务参数,并根据该停止视频通信业务参数生成从DLNA模块发往视频通信模块的消息类型,将该停止视频通信业务参数和消息类型封装成带有停止视频通信业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该停止视频通信业务参数和消息类型的数据包,通过消息通道建立模块建立的双向消息通道发送到Qt服务器;Qt服务器将收到的停止视频通信业务参数和消息类型的数据包转发至视频通信模块; 步骤305、视频通信模块收到Qt服务器发来的停止视频通信业务参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从DLNA模块发往视频通信模块的消息类型,则取出该数据包中的停止视频通信业务参数,并根据该停止视频通信业务参数挂机结束视频通话; 步骤306、视频通话结束后,视频通信模块采用二进制数据流保存数据,恢复DLNA业务参数,并根据该恢复DLNA业务参数生成从视频通信模块发往DLNA模块的消息类型,将该恢复DLNA业务参数和消息类型封装成带有恢复DLNA业务参数和消息类型的数据包,采用Qt通信协议通道的发送函数,将该带有恢复DLNA业务参数和消息类型的数据包,通过消息通道建立模块建立的双向消息通道发送到Qt服务器,Qt服务器将收到的带有恢复DLNA业务参数和消息类型的数据包转发至DLNA业务模块; 步骤307、DLNA模块收到Qt服务器发来的带有恢复DLNA业务参数和消息类型的数据包后,解析该数据包中的消息类型,若该数据包中的消息类型为从视频通信模块发往DLNA模块的消息类型,则取出该数据包中的恢复DLNA业务参数,DLNA模块根据恢复DLNA业务参数开始进行媒体播放。
10.如权利要求6至9中任一项所述的视频通信业务与DLNA业务融合的方法,其特征在于所述切换业务的消息通道为一个双向消息通道,视频通信模块和DLNA模块均通过所述双向消息通道发送业务切换的消息。
11.如权利要求6至9中任一项所述的视频通信业务与DLNA业务融合的方法,其特征在于所述切换业务的消息通道为两个独立的单向消息通道,视频通信模块通过其中一个消息通道发送业务切换的消息,DLNA模块通过其中另一个消息通道发送业务切换的消息。
全文摘要
本发明公开了一种视频通信业务与DLNA业务融合的装置及方法,涉及DLNA领域,该装置包括视频通信模块、DLNA模块、消息通道建立模块,消息通道建立模块建立切换业务的消息通道;视频通信模块与IMS服务器交互进行登记,实现音频、视频的编码、传输、解码播放,通过消息通道发送数据包到Qt服务器,接收Qt服务器发来的消息并处理;DLNA模块实现数字媒体的记录、存储、查找、播放、渲染,通过消息通道发送数据包到Qt服务器,接收Qt服务器发来的消息并处理。本发明使用嵌入式QT特有的进程间通信机制建立切换业务的消息通道,实现视频通信业务与DLNA业务的平滑切换。
文档编号H04L29/08GK103023880SQ20121048686
公开日2013年4月3日 申请日期2012年11月26日 优先权日2012年11月26日
发明者胡琴, 周琴, 李璐, 郭洲 申请人:烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1