视频通信方法及家庭终端、家庭服务器
技术领域
本发明涉及通信领域,更具体地,涉及视频通信方法及家庭终端、家庭服务器。
背景技术
家庭服务器(home server)是家庭数据的中心,它通过网线和电话线外界连通,通过各种线缆与家庭中的其他设备即家庭终端相连,以达到集中存储并分享数据的目的。随着音视频技术的发展,越来越多的终端用户使用视频通信功能。现有技术中,进行视频通信有两种方式,一种是通过专有的视频通信客户端实现视频通信功能,例如QQ,Skype等,这种方式下视频通信客户端需要适配各种家庭终端和OS(Operating System,操作系统),视频通信客户端兼容性比较差,开发视频通信客户端的成本高。
随着WebRTC(WEB-based Real Time Communication,基于网页的实时通讯)技术的发展,家庭终端也可以通过另一种方式进行视频通信,即通过WebRTC进行视频通信,具体是通过家庭终端上的浏览器直接基于WebRTC并配合互联网服务器实现视频通信业务。但是基于通过家庭终端上的浏览器直接基于WebRTC并配合互联网服务器实现视频通信业务只适合单机版视频通信业务,如果需要在家庭内部作视频通信分享,或其他家庭视频通信业务,如家庭内部多终端视频会议,则无法实现。
发明内容
本发明实施例的目的旨在提供一种家庭网络中进行视频通信的方法、家庭终端,家庭服务器以及家庭视频通信系统,以解决视频通信软件对各种家庭终端操作系统的兼容性问题并且家庭内部能方便地实现各种视频通信业务。
第一方面,提供了一种家庭网络中进行视频通信的方法,所述方法包括:家庭终端向家庭服务器发送探测消息,所述探测消息携带用户账号信息,接收家庭服务器返回的视频通信主页,通过支持基于网页的实时通讯的浏览器以及所述视频通信主页与家庭服务器建立套接字Socket连接;
家庭终端通过基于网页的实时通信WebRTC应用,Socket连接和家庭服务器的WebRTC代理与其他终端进行视频通信。
在第一种可能的实现方式中,根据第一方面,所述家庭终端通过基于网页的WebRTC应用,Socket连接和家庭服务器的WebRTC代理与其他终端进行视频通信具体为:
所述家庭终端根据用户通过WebRTC应用输入的呼叫号码通过Socket连接发起视频通信呼叫请求到所述家庭服务器的WebRTC代理,以使所述WebRTC代理触发家庭服务器的呼叫信令控制模块发起视频通信呼叫及执行呼叫接续;
所述WebRTC应用根据所述WebRTC代理的通知通过Socket连接与所述WebRTC代理建立家庭内部的视频通信媒体流,所述WebRTC代理在与呼叫信令控制模块建立视频通信媒体流时根据所述呼叫信令控制模块的触发WebRTC代理通知所述WebRTC应用与所述WebRTC代理建立家庭内部的视频通信媒体流。
在第二种可能的实现方式中,结合第一种可能的实现方式,在家庭内部视频通信媒体流与家庭外部视频通信媒体流格式不同时,由所述WebRTC代理进行家庭内部视频通信媒体流到家庭外部视频通信媒体流的格式转换或者家庭外部视频通信媒体流到家庭内部视频通信媒体流的格式转换。
在第三种可能的实现方式中,结合第一方面,所述家庭终端通过基于网页的WebRTC应用,Socket连接和家庭服务器的WebRTC代理与其他终端进行视频通信具体为:
家庭终端通过所述WebRTC应用和Socket连接接收WebRTC代理发起的视频通信呼叫,所述视频通信呼叫由家庭服务器的呼叫信令控制模块触发所述WebRTC代理发起;
所述WebRTC应用根据用户的应答向所述WebRTC代理返回用户应答呼叫的信息,以使所述WebRTC代理通过内部系统调用呼叫信令控制模块向呼叫方返回用户接听信令,建立所述家庭终端与所述家庭服务器之间的视频通信媒体流。
在第四种可能的实现方式中,结合第一方面,所述家庭终端通过基于网页的WebRTC应用,Socket连接和家庭服务器的WebRTC代理与其他终端进行视频通信具体为:
所述家庭终端根据用户通过WebRTC应用输入的呼叫号码通过Socket连接发起视频通信呼叫请求到所述WebRTC代理,所述视频呼叫通信请求中携带呼叫转移的目标家庭终端的号码,以使所述WebRTC代理将指向所述家庭终端的视频通信媒体流改向到所述目标家庭终端。
在第五种可能的实现方式中,结合第一方面,所述家庭终端通过基于网页的WebRTC应用,Socket连接和家庭服务器的WebRTC代理与其他终端进行视频通信具体为:
所述家庭终端根据用户通过WebRTC应用输入的呼叫号码通过Socket连接发起视频通信呼叫请求到所述WebRTC代理,所述视频呼叫通信请求中携带呼叫转移的目标家庭终端的号码,以使所述家庭服务器的WebRTC代理触发呼叫信令控制模块根据所述目标家庭终端的号码发起对目标家庭终端的视频通信呼叫,在所述目标家庭终端用户选择接收呼叫并应答之后,所述WebRTC代理模块同时接收来自所述家庭终端及所述目标终端的视频通信媒体流,所述WebRTC代理对来自所述家庭终端及所述目标终端的视频通信媒体流进行编码合并后发送给视频通信对端。
第二方面,提供了一种视频通信方法,所述方法包括:
家庭服务器接收家庭终端发送的带有用户账号信息的探测消息,家庭服务器对所述账号信息进行匹配,匹配成功后向所述家庭终端返回视频通信主页,以使所述家庭终端通过支持基于网页的实时通讯的浏览器以及所述视频通信主页与家庭服务器建立套接字Socket连接;
家庭服务器的WebRTC代理通过基于网页的实时通信WebRTC和Socket连接使家庭终端与其他终端进行视频通信。
在第一种可能的实现方式中,根据第二方面,所述家庭服务器的WebRTC代理通过基于网页的实时通信WebRTC应用和Socket连接使家庭终端与其他终端进行视频通信具体为:
所述WebRTC代理接收家庭终端的视频通信呼叫请求,所述视频通信呼叫请求由用户通过WebRTC应用输入的呼叫号码通过Socket连接发起;
WebRTC代理触发呼叫信令控制模块发起视频通信呼叫并执行呼叫接续;
在所述呼叫信令控制模块与所述WebRTC代理建立视频通信媒体流时,所述WebRTC代理根据所述呼叫信令控制模块的触发与家庭终端的WebRTC应用建立家庭内部的视频通信媒体流。
在第二种可能的实现方式中,结合第一种可能的实现方式,在家庭内部视频通信媒体流与家庭外部视频通信媒体流格式不同时,由所述WebRTC代理进行家庭内部视频通信媒体流到家庭外部视频通信媒体流的格式转换或者家庭外部视频通信媒体流到家庭内部视频通信媒体流的格式转换。
在第三种可能的实现方式中,结合第二方面,所述家庭服务器的WebRTC代理通过基于网页的实时通信WebRTC应用和Socket连接使家庭终端与其他终端进行视频通信具体为:
所述WebRTC代理根据信令呼叫模块的触发向所述家庭终端发起视频通信呼叫,所述呼叫信令模块在接收到向所述家庭终端发起的视频通信呼叫后触发所述WebRTC代理;
所述WebRTC代理根据家庭终端WebRTC应用返回的接听呼叫信息触发呼叫信令控制模块返回用户接听信令,建立所述家庭终端与所述家庭服务器之间的视频通信媒体流,所述WebRTC应用返回的接听呼叫信息由WebRTC应用根据用户的应答返回;
在所述呼叫信令控制模块与所述WebRTC代理建立视频通信媒体流时,所述WebRTC代理根据所述呼叫信令控制模块的触发与家庭终端的WebRTC应用建立家庭内部的视频通信媒体流。
在第四种可能的实现方式中,结合第二方面,所述家庭服务器的WebRTC代理通过基于网页的实时通信WebRTC应用和Socket连接使家庭终端与其他终端进行视频通信具体为:
所述WebRTC代理接收家庭终端的视频通信呼叫请求,所述视频通信呼叫请求由用户通过WebRTC应用输入的呼叫号码通过Socket连接发起,所述视频呼叫通信请求中携带呼叫转移的目标家庭终端的号码;
所述WebRTC代理根据所述目标家庭终端的号码发起对目标家庭终端的视频通信呼叫;
在接收到所述目标家庭终端用户选择接受呼叫并应答的消息之后,所述WebRTC代理将指向所述家庭终端的视频通信媒体流改向到所述目标家庭终端。
在第五种可能的实现方式中,结合第二方面,所述家庭服务器的WebRTC代理通过基于网页的实时通信WebRTC应用和Socket连接使家庭终端与其他终端进行视频通信具体为:
所述WebRTC代理接收家庭终端的视频通信呼叫请求,所述视频通信呼叫请求由用户通过WebRTC应用输入的呼叫号码通过Socket连接发起,所述视频呼叫通信请求中携带呼叫转移的目标家庭终端的号码;
所述WebRTC代理根据所述目标家庭终端的号码发起对目标家庭终端的视频通信呼叫;
在接收到所述目标家庭终端用户选择接受呼叫并应答的消息之后,所述WebRTC代理同时接收来自所述家庭终端及所述目标终端的视频通信媒体流,并对来自所述家庭终端及所述目标终端的视频通信媒体流进行编码合并后发送给视频通信对端。
第三方面,提供了一种家庭终端,所述家庭终端包括:
连接建立单元,用于向家庭服务器发送探测消息,所述探测消息携带用户账号信息,接收家庭服务器返回的视频通信主页,用于通过支持基于网页的实时通讯的浏览器以及所述视频通信主页与家庭服务器建立套接字Socket连接;
视频通信处理单元,用于通过基于网页的实时通信WebRTC应用,Socket连接和家庭服务器的WebRTC代理与其他终端进行视频通信;
显示器,与所述视频通信处理单元相连接,用于向家庭终端用户显示所述视频通信处理单元处理的视频通信对端的视频信息;
麦克风,与所述视频通信处理单元相连接,用于在视频通信过程中向所述视频通信处理单元传输家庭终端用户的音频信息;
耳机或扬声器,与所述视频通信处理单元相连接,用于向家庭终端用户播放所述视频通信单元处理的视频通信对端的音频信息。
在第一种可能的实现方式中,结合第三方面,所述视频通信单元通过基于网页的实时通信WebRTC应用,Socket连接和家庭服务器的WebRTC代理与其他终端进行视频通信具体为:
所述家庭终端根据用户通过WebRTC应用输入的呼叫号码通过Socket连接发起视频通信呼叫请求到所述家庭服务器的WebRTC代理,以使所述WebRTC代理触发家庭服务器的呼叫信令控制模块发起视频通信呼叫及执行呼叫接续;
所述WebRTC应用根据所述WebRTC代理的通知通过Socket连接与所述WebRTC代理建立家庭内部的视频通信媒体流,所述WebRTC代理在与呼叫信令控制模块建立视频通信媒体流时根据所述呼叫信令控制模块的触发WebRTC代理通知所述WebRTC应用与所述WebRTC代理建立家庭内部的视频通信媒体流;
或者
家庭终端通过所述WebRTC应用和Socket连接接收WebRTC代理发起的视频通信呼叫,所述视频通信呼叫由家庭服务器的呼叫信令控制模块触发所述WebRTC代理发起;
所述WebRTC应用根据用户的应答向所述WebRTC代理返回用户应答呼叫的信息,以使所述WebRTC代理通过内部系统调用呼叫信令控制模块向呼叫方返回用户接听信令,建立所述家庭终端与所述家庭服务器之间的视频通信媒体流;
或者
所述家庭终端根据用户通过WebRTC应用输入的呼叫号码通过Socket连接发起视频通信呼叫请求到所述WebRTC代理,所述视频呼叫通信请求中携带呼叫转移的目标家庭终端的号码,以使所述WebRTC代理将指向所述家庭终端的视频通信媒体流改向到所述目标家庭终端;
或者
所述家庭终端根据用户通过WebRTC应用输入的呼叫号码通过Socket连接发起视频通信呼叫请求到所述WebRTC代理,所述视频呼叫通信请求中携带呼叫转移的目标家庭终端的号码,以使所述家庭服务器的WebRTC代理触发呼叫信令控制模块根据所述目标家庭终端的号码发起对目标家庭终端的视频通信呼叫,在所述目标家庭终端用户选择接收呼叫并应答之后,所述WebRTC代理模块同时接收来自所述家庭终端及所述目标终端的视频通信媒体流,所述WebRTC代理对来自所述家庭终端及所述目标终端的视频通信媒体流进行编码合并后发送给视频通信对端。
第四方面,提供了一种家庭服务器,所述家庭服务器包括:
连接建立单元,用于接收家庭终端发送的带有用户账号信息的探测消息,对接收到的所述账号信息进行匹配,在匹配成功后,向家庭终端返回视频通信主页,以使所述家庭终端通过支持基于网页的实时通讯的浏览器以及所述视频通信主页与家庭服务器建立套接字Socket连接;
视频通信单元,包括WebRTC代理,所述WebRTC代理通过基于网页的实时通信WebRTC应用和Socket连接使家庭终端与其他终端进行视频通信。
在第一种可能的实现方式中,结合第四方面,所述视频通信单元还包括呼叫信令控制模块,其中所述WebRTC代理接收家庭终端的视频通信呼叫请求,所述视频通信呼叫请求由用户通过WebRTC应用输入的呼叫号码通过Socket连接发起,WebRTC代理触发呼叫信令控制模块发起视频通信呼叫并执行呼叫接续,在所述WebRTC代理与呼叫信令控制模块建立视频通信媒体流时,所述WebRTC代理根据所述呼叫信令控制模块的触发与家庭终端的WebRTC应用建立家庭内部的视频通信媒体流;
或者
所述WebRTC代理根据信令呼叫模块的触发向所述家庭终端发起视频通信呼叫,所述呼叫信令模块在接收到向所述家庭终端发起的视频通信呼叫后触发所述WebRTC代理;所述WebRTC代理根据家庭终端WebRTC应用返回的接听呼叫信息触发呼叫信令控制模块返回用户接听信令,建立所述家庭终端与所述家庭服务器之间的视频通信媒体流,所述WebRTC应用返回的接听呼叫信息由WebRTC应用根据用户的应答返回;在所述呼叫信令控制模块与所述WebRTC代理建立视频通信媒体流时,所述WebRTC代理根据所述呼叫信令控制模块的触发与家庭终端的WebRTC应用建立家庭内部的视频通信媒体流;
或者
所述WebRTC代理接收家庭终端的视频通信呼叫请求,所述视频通信呼叫请求由用户通过WebRTC应用输入的呼叫号码通过Socket连接发起,所述视频呼叫通信请求中携带呼叫转移的目标家庭终端的号码;所述WebRTC代理根据所述目标家庭终端的号码发起对目标家庭终端的视频通信呼叫;在接收到所述目标家庭终端用户选择接受呼叫并应答的消息之后,所述WebRTC代理将指向所述家庭终端的视频通信媒体流改向到所述目标家庭终端;
或者
所述WebRTC代理接收家庭终端的视频通信呼叫请求,所述视频通信呼叫请求由用户通过WebRTC应用输入的呼叫号码通过Socket连接发起,所述视频呼叫通信请求中携带呼叫转移的目标家庭终端的号码;所述WebRTC代理根据所述目标家庭终端的号码发起对目标家庭终端的视频通信呼叫;在接收到所述目标家庭终端用户选择接受呼叫并应答的消息之后,所述WebRTC代理同时接收来自所述家庭终端及所述目标终端的视频通信媒体流,并对来自所述家庭终端及所述目标终端的视频通信媒体流进行编码合并后发送给视频通信对端。
第五方面,提供了一种家庭视频通信系统,所述家庭视频通信系统包括家庭终端及家庭服务器,其特征在于,所述家庭终端向家庭服务器发送探测消息,所述探测消息携带用户账号信息,所述家庭服务器接收家庭终端发送的带有用户账号信息的探测消息,家庭服务器对所述账号信息进行匹配,匹配成功后向所述家庭终端返回视频通信主页,所述家庭终端接收家庭服务器返回的视频通信主页,通过支持基于网页的实时通讯的浏览器以及所述视频通信主页与家庭服务器建立套接字Socket连接;
家庭终端通过基于网页的实时通信WebRTC应用,Socket连接和家庭服务器的WebRTC代理进行交互实现视频通信。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例家庭终端侧的视频通信方法的流程示意图。
图2是本发明实施例家庭服务器侧的视频通信方法的流程示意图。
图3是本发明实施例家庭终端与家庭服务器建立Socket连接的交互图。
图4是本发明实施例家庭终端发起视频通信方法实施例的交互流程图。
图5是本发明实施例家庭终端接听视频通信方法实施例的交互流程图。
图6是本发明实施例家庭内部进行视频通信呼叫转移流程图。
图7是本发明实施例家庭终端内部多端点视频通信流程图。
图8是本发明实施例的家庭终端示意图。
图9是本发明实施例的一种家庭服务器示意图。
图10是本发明实施例的一种家庭服务器中的视频通信单元的示意图。
图11是本发明实施例的家庭视频通信系统示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明所述的家庭终端,可以是手机、平板电脑、笔记本电脑、固定台、可视电话以及其他可以进行通信的终端。本发明所述其他终端,可以是其他家庭终端也可以是家庭以外终端。
图1是本发明一个实施例在家庭网络中进行视频通信方法的流程图,图1的方法由家庭终端执行。
101、向家庭服务器发送探测消息;
当用户终端进入家庭网络范围(一般是WiFi连接)的时候,用户终端设备自动连接WiFi网络,连接成功之后,触发对家庭服务器的探测,该探测消息可以是一个HTTP请求,也可以是一个UPnP消息,或者其他类似的可以由用户终端向家庭服务器进行探测的消息,带用户账号信息,所述用户账号信息可以是加密的用户账号信息。上述探测消息中同时也可以包含家庭终端的能力参数,例如,摄像头像素数,编解码能力等,以使家庭服务器可以根据家庭终端的能力参数协调资源。家庭服务器接收到上述探测消息之后,则对用户账号信息进行匹配,匹配成功即给用户终端设备返回一个视频通信的主页。
102、接收家庭服务器返回的视频通信主页;
103、通过支持基于网页的实时通讯的浏览器以及所述视频通信主页与家庭服务器建立Socket连接;
用户终端通过基于网页的实时通讯的浏览器运行所述视频通信主页面内置的JavaScript程序,发起对家庭服务器的Socket连接,完成用户登录流程。
104、通过WebRTC应用,Socket连接和家庭服务器的WebRTC代理与其他终端进行视频通信。
用户终端通过WebRTC应用,Socket连接和家庭服务器的WebRTC代理交互实现呼出视频呼叫,接听视频呼叫,视频通信家庭内部转移以及家庭内部的多端点视频通信。
本实施例所述Socket连接可以是万维网套接字WebSocket连接。
从以上描述可以看出,上述实施例中,用户终端通过WebRTC应用,Socket连接和家庭服务器的WebRTC代理与其他终端进行视频通信,使得家庭中的用户终端只要能基于网页的实时通讯的浏览器即可实现视频通信,而不需要特别安装专门的视频通信客户端即可实现视频通信。
如图2所述,为本发明另一个实施例在家庭网络中进行视频通信方法的流程图,图2所示的方法由家庭服务器执行。
201、接收家庭终端发送的携带有用户账号信息的探测消息;
当用户终端进入家庭网络范围(一般是WiFi连接)的时候,用户终端设备自动连接WiFi网络,连接成功之后,触发对家庭服务器的探测,该探测消息可以是一个HTTP请求,也可以是一个UPnP消息,或者其他类似的可以由用户终端向家庭服务器进行探测的消息,带用户账号信息,所述用户账户信息可以是加密的。上述探测消息中同时也可以包含用户终端的能力参数,例如,摄像头像素数,编解码能力等,以使家庭服务器可以根据家庭终端的能力参数协调资源。
202、对探测信息携带的用户账号信息进行匹配;
家庭服务器接收到上述探测消息之后,则对用户账号信息进行匹配,匹配成功即给用户终端设备返回一个视频通信的主页。
203、向家庭终端返回视频通信主页以使家庭终端通过支持基于网页的实时通讯的浏览器以及所述视频通信主页与家庭服务器建立Socket连接;
204、WebRTC代理通过WebRTC应用和Socket连接使家庭终端与其他终端进行视频通信。
用户终端通过基于网页的实时通讯的浏览器运行所述视频通信主页面内置的JavaScript程序,发起对家庭服务器的Socket连接,完成用户登录。在用户终端与家庭服务器建立Socket连接后,家庭终端的WebRTC代理通过WebRTC应用和Socket连接与家庭终端进行交换实现呼出视频呼叫,接听视频呼叫,视频通信家庭内部转移以及家庭内部的多端点视频通信。
本实施例所述Socket连接可以是万维网套接字WebSocket连接。
从以上描述可以看出,上述实施例中,家庭服务器的WebRTC代理通过WebRTC应用和与家庭终端建立的Socket连接使家庭终端与其他终端进行视频通信,使得家庭中的用户终端只要能基于网页的实时通讯的浏览器即可实现视频通信,而不需要特别安装专门的视频通信客户端即可实现视频通信。
如图3所示,为本发明另一个实施例家庭终端与家庭服务器建立Socket连接的交互图。
如图3,当用户终端进入家庭网络范围(一般是WiFi连接)的时候,用户终端设备自动连接WiFi网络(图中未示出),连接成功之后,触发对家庭服务器的探测,该探测消息可以是一个HTTP请求,也可以是一个UPnP消息,或者其他类似的可以由用户终端向家庭服务器进行探测的消息,带加密的用户账号信息。上述探测消息中同时也可以包含用户终端的能力参数,例如,摄像头像素数,编解码能力等,以使家庭服务器可以根据家庭终端的能力参数协调资源。家庭服务器接收到上述探测消息之后,则对用户账号信息进行匹配,匹配成功即给用户终端设备返回一个视频通信的主页。家庭终端接收到家庭服务器返回的视频通信主页后,用户终端通过基于网页的实时通讯的浏览器运行所述视频通信主页面内置的JavaScript程序,发起对家庭服务器的Socket连接,完成用户登录流程。本实施例所述Socket连接可以是万维网套接字WebSocket连接。
如图4所示,为本发明实施例家庭终端发起视频通信方法实施例的交互流程图。
当家庭终端用户需要对家庭以外的终端用户进行视频呼叫时,家庭终端用户通过支持基于网页的实时通讯的浏览器运行所述视频通信主页面内置的JavaScript程序,发起对家庭服务器的Socket连接,完成用户登录,之后家庭终端用户在WebRTC应用的页面中手动拨号,或者通过选择通信录或呼叫记录内的号码进行拨号,所述通信录可以是所述家庭终端的通信录或呼叫记录,也可以是家庭内部其他家庭终端通过家庭服务器共享的通信录和呼叫记录。当用户完成拨号后,WebRTC应用根据用户所拨的号码通过Socket发起呼叫请求到WebRTC代理,WebRTC代理在家庭服务器端通过内部系统调用触发家庭服务器的呼叫控制信令模块发起视频通信呼叫。之后的呼叫流程由呼叫信令控制模块执行呼叫接续,在所述呼叫信令模块与所述WebRTC代理建立视频通信媒体流的时候,所述呼叫信令控制模块触发WebRTC代理通知用户终端的WebRTC应用建立家庭内部的视频通信媒体流,从而完成由WebRTC代理到WebRTC应用进行媒体流传输的流程。一般情况下,所述呼叫信令模块与所述WebRTC代理刚建立视频通信媒体流时即触发WebRTC代理通知用户终端的WebRTC应用建立家庭内部的视频通信媒体流,但不排除所述呼叫信令模块与所述WebRTC代理刚建立视频通信媒体流后再触发WebRTC代理通知用户终端的WebRTC应用建立家庭内部的视频通信媒体流。当所述家庭内部的视频通信媒体流格式与接收端要求的视频通信媒体流格式一样时,由所述WebRTC代理将所述视频通信媒体流发送出去;当所述家庭内部的视频通信媒体流格式与所述家庭终端的呼叫对象端要求的视频通信媒体流格式不一样时,由所述WebRTC代理对家庭终端发送过来的视频通信媒体流格式进行转换后发送给呼叫对象端,或者,由所述WebRTC代理对呼叫对象端通过呼叫信令控制模块转发过来的视频通信媒体流格式进行转换后发送给所述家庭终端。本实施例所述Socket连接可以是万维网套接字WebSocket连接。
从以上描述可以看出,上述实施例中,家庭终端通过WebRTC应用,Socket连接和家庭服务器的WebRTC代理向其他终端进行视频呼叫,使得家庭中的用户终端只要能基于网页的实时通讯的浏览器即可实现视频呼叫,而不需要特别安装专门的视频通信客户端即可实现视频通信。
如图5所示,为本发明实施例家庭终端接听视频通信方法实施例的交互流程图。
当有外部用户对家庭内的终端进行呼叫时,家庭服务器的呼叫信令控制模块接收到该呼叫请求,呼叫信令控制模块通过内部系统调用,触发WebRTC代理模块发起视频通信呼叫。家庭用户应答接听该呼叫,家庭终端的WebRTC应用返回一个用户应答接听呼叫,WebRTC代理通过内部系统调用触发呼叫信令控制模块返回一个用户接听信令,完成整个呼入业务的信令交互,在建立视频通信媒体流的时候所述呼叫信令控制模块反向触发WebRTC代理通知用户终端的WebRTC应用建立家庭内部的视频通信媒体流,从而完成由WebRTC代理进行媒体流传输的流程。当所述家庭内部的视频通信媒体流格式与接收端要求的视频通信媒体流格式一样时,由所述WebRTC代理将所述视频通信媒体流发送出去;当所述家庭内部的视频通信媒体流格式与所述家庭终端的呼叫对象端要求的视频通信媒体流格式不一样时,由所述WebRTC代理对家庭终端发送过来的视频通信媒体流格式进行转换后发送给呼叫对象端,或者,由所述WebRTC代理对呼叫对象端通过呼叫信令控制模块转发过来的视频通信媒体流格式进行转换后发送给所述家庭终端。本实施例所述Socket连接可以是万维网套接字WebSocket连接。
从以上描述可以看出,上述实施例中,家庭终端通过WebRTC应用Socket连接和家庭服务器的WebRTC代理进行视频呼叫的接听,使得家庭中的用户终端只要能基于网页的实时通讯的浏览器即可实现视频通信,而不需要特别安装专门的视频通信客户端即可实现视频通信。
如图6所示,为本发明实施例家庭内部进行视频通信呼叫转移流程图。
如图6,基于WebRTC代理的呼叫转移业务的所有交互只需要在家庭网络内部完成。如图示,WebRTC应用1和WebRTC应用2分别运行在家庭终端1和家庭终端2上,所述家庭终端1和家庭终端2都已注册到家庭服务器上的WebRTC代理,且所述家庭终端1和家庭终端2分别具有家庭内部的终端号码。当家庭终端1正在进行视频通信的时候,家庭终端1的用户选择将此呼叫转移到家庭终端2,则家庭终端1的WebRTC应用通过Socket连接向家庭服务器的WebRTC代理发起呼叫转移请求,所述呼叫转移请求中携带有家庭终端2的家庭内部终端号码,WebRTC代理根据所述呼叫转移请求中携带的家庭终端2的家庭内部终端号码通过WebRTC代理与家庭终端2建立的Socket连接向家庭终端2发起呼叫,家庭终端2的用户应答接听该呼叫,家庭终端2的WebRTC应用2返回一个用户应答接听呼叫,则WebRTC代理将原本指向WebRTC应用1的视频通信媒体流改向到WebRTC应用2,从而实现家庭内部的视频通信呼叫转移。当所述家庭内部的视频通信媒体流格式与接收端要求的视频通信媒体流格式一样时,由所述WebRTC代理将所述视频通信媒体流发送出去;当所述家庭内部的视频通信媒体流格式与所述家庭终端的呼叫对象端要求的视频通信媒体流格式不一样时,由所述WebRTC代理对家庭终端发送过来的视频通信媒体流格式进行转换后发送给呼叫对象端,或者,由所述WebRTC代理对呼叫对象端通过呼叫信令控制模块转发过来的视频通信媒体流格式进行转换后发送给所述家庭终端。本实施例所述Socket连接可以是万维网套接字WebSocket连接。
从以上描述可以看出,上述实施例中,家庭终端通过WebRTC应用Socket连接和家庭服务器的WebRTC代理进行视频呼叫的转移,使得家庭中的用户终端只要能基于网页的实时通讯的浏览器即可实现视频通信,而不需要特别安装专门的视频通信客户端即可实现视频通信。
如图7所示,为本发明实施例家庭终端内部多端点视频通信流程图。
如图示,WebRTC应用1和WebRTC应用2分别运行在家庭终端1和家庭终端2上,所述家庭终端1和家庭终端2都已注册到家庭服务器上的WebRTC代理,且所述家庭终端1和家庭终端2分别具有家庭内部的终端号码。当家庭终端1正在进行视频通信的时候,家庭终端1的用户选择邀请家庭终端2加入会议,则家庭终端1的WebRTC应用1通过Socket连接向WebRTC代理发起呼叫邀请请求,所述呼叫要求请求中携带家庭终端2的内部终端号码,WebRTC代理所述呼叫邀请请求后,根据所述呼叫要求请求中的家庭终端2的内部终端号码,通过与所述家庭终端2的Socket连接向所述家庭终端2发起呼叫请求,家庭终端2的用户选择接受呼叫并应答,从而建立WebRTC代理与家庭终端2的WebRTC应用2之间的视频通信媒体流。由于WebRTC代理与WebRTC应用1的视频通信没有断开,因此,WebRTC代理接收到来自家庭终端1及家庭终端2的视频通信媒体流以及其他参与视频通信的家庭终端的视频通信媒体流,WebRTC将接收到的视频通信媒体流进行重编码合并后发送给视频通信对端,这样可以避免视频通信对端需要解两路或以上媒体流。本实施例所述Socket连接可以是万维网套接字WebSocket连接。
从以上描述可以看出,上述实施例中,家庭终端通过WebRTC应用Socket连接和家庭服务器的WebRTC代理进行家庭内部多端点视频通信,使得家庭中的用户终端只要能基于网页的实时通讯的浏览器即可实现视频通信,而不需要特别安装专门的视频通信客户端即可实现视频通信。
如图8所示,为本发明实施例一种家庭终端示意图。所述家庭终端包括连接建立单元801,视频通信单元802,显示器803,麦克风804及耳机或扬声器805,其中,所述连接建立单元801用于向家庭服务器发送探测消息,所述探测消息携带用户账号信息,接收家庭服务器返回的视频通信主页,用于通过支持基于网页的实时通讯的浏览器以及所述视频通信主页与家庭服务器建立万维网套接字Socket连接;所述视频通信单元802用于通过基于网页的实时通信WebRTC应用和Socket连接与家庭服务器的WebRTC代理进行交互进行视频通信,所述显示器803与所述视频通信处理单元相连接,用于向家庭终端用户显示所述视频通信处理单元处理的视频通信对端的视频信息;所述麦克风804与所述视频通信处理单元相连接,用于在视频通信过程中向所述视频通信处理单元传输家庭终端用户的音频信息;所述耳机或扬声器805与所述视频通信处理单元相连接,用于向家庭终端用户播放所述视频通信单元处理的视频通信对端的音频信息。。
其中,所述视频通信单元802通过基于网页的实时通信WebRTC应用和Socket连接与家庭服务器的WebRTC代理交互进行视频通信具体为:所述家庭终端根据用户通过WebRTC应用输入的呼叫号码通过Socket连接发起视频通信呼叫请求到所述家庭服务器的WebRTC代理,以使所述家庭服务器的WebRTC代理通过内部系统调用家庭服务器的触发呼叫信令控制模块发起视频通信呼叫,由呼叫信令控制模块执行呼叫接续,在所述WebRTC代理模块与触发呼叫信令控制模块建立视频通信媒体流时所述触发呼叫信令控制模块反向触发WebRTC代理与家庭终端的WebRTC应用建立家庭内部的视频通信媒体流。
其中,所述视频通信单元802通过基于网页的实时通信WebRTC应用和Socket连接与家庭服务器的WebRTC代理交互进行视频通信具体为:家庭终端通过所述WebRTC应用和Socket连接接收所述接收家庭服务器的信令呼叫模块触发所述WebRTC代理模块发起的视频通信呼叫,所述WebRTC应用根据用户的应答向所述WebRTC代理返回用户应答接听呼叫的信息,以使所述WebRTC代理通过内部系统调用触发呼叫信令控制模块返回用户接听信令,建立所述家庭终端与所述家庭服务器之间的视频通信媒体流。
其中,所述视频通信单元802通过基于网页的实时通信WebRTC应用和Socket连接与家庭服务器的WebRTC代理交互进行视频通信具体为:所述家庭终端根据用户通过WebRTC应用输入的呼叫号码通过Socket连接发起视频通信呼叫请求到所述家庭服务器的WebRTC代理,所述视频呼叫通信请求中携带呼叫转移的目标家庭终端的号码,以使所述家庭服务器WebRTC代理通过内部系统调用家庭服务器的触发呼叫信令控制模块根据所述目标家庭终端的号码发起对目标家庭终端的视频通信呼叫,在所述目标家庭终端用户选择接受呼叫并应答之后,所述家庭服务器WebRTC代理将指向所述家庭终端的视频通信媒体流改向到所述目标家庭终端。
其中,所述视频通信单元802通过基于网页的实时通信WebRTC应用和Socket连接与家庭服务器的WebRTC代理交互进行视频通信具体为:所述家庭终端根据用户通过WebRTC应用输入的呼叫号码通过Socket连接发起视频通信呼叫请求到所述家庭服务器的WebRTC代理,所述视频呼叫通信请求中携带呼叫转移的目标家庭终端的号码,以使所述家庭服务器WebRTC代理通过内部系统调用家庭服务器的触发呼叫信令控制模块根据所述目标家庭终端的号码发起对目标家庭终端的视频通信呼叫,在所述目标家庭终端用户选择接受呼叫并应答之后,所述家庭服务器WebRTC代理同时接收来自所述家庭终端及所述目标终端的视频通信媒体流,所述家庭服务器WebRTC代理模块对来自所述家庭终端及所述目标终端的视频通信媒体流进行编码合并后发送给视频通信对端。
本实施例所述Socket连接可以是万维网套接字WebSocket连接。
从以上描述可以看出,上述实施例中,家庭终端通过WebRTC应用,Socket连接和家庭服务器的WebRTC代理向其他终端进行视频呼叫,使得家庭中的用户终端只要能基于网页的实时通讯的浏览器即可实现视频通信,而不需要特别安装专门的视频通信客户端即可实现视频通信。
如图9所示,为本发明实施例一种家庭服务器示意图。所述家庭终端包括连接建立单元901及视频通信单元902,其中,所述连接建立单元901用于接收家庭终端发送的带有用户账号信息的探测消息,对接收到的所述账号信息进行匹配,在匹配成功后,向家庭终端返回视频通信主页,以使所述家庭终端通过支持基于网页的实时通讯的浏览器以及所述视频通信主页与家庭服务器建立万维网套接字Socket连接;如图10所示,所述视频通信单元902包括WebRTC代理9022,所述WebRTC代理9022通过基于网页的实时通信WebRTC应用和所述Socket连接与家庭终端进行交互进行视频通信。本实施例所述Socket连接可以是万维网套接字WebSocket连接。
如图10所示,所述视频通信单元902还包括呼叫信令控制模块9021,其中,家庭服务器的WebRTC代理9022接收家庭终端根据用户通过WebRTC应用输入的呼叫号码通过Socket连接发起的视频通信呼叫请求,通过内部系统调用家庭服务器的触发呼叫信令控制模块9021发起视频通信呼叫,由呼叫信令控制模块9021执行呼叫接续,在所述WebRTC代理9022与触发呼叫信令控制模块9021建立视频通信媒体流时所述触发呼叫信令控制模块反向触发WebRTC代理9022与家庭终端的WebRTC应用建立家庭内部的视频通信媒体流;
或者
家庭服务器的信令呼叫模块9021触发所述WebRTC代理9022通过所述WebRTC应用和Socket连接接收向所述家庭终端发起的视频通信呼叫,所述WebRTC应用根据用户的应答向所述WebRTC代理9022接收家庭终端WebRTC应用根据用户的应答返回的用户应答接听呼叫的信息,所述WebRTC代理9022通过内部系统调用触发呼叫信令控制模块9021返回用户接听信令,建立所述家庭终端与所述家庭服务器之间的视频通信媒体流;
或者
所述家庭服务器的WebRTC代理9022接收所述家庭终端根据用户通过WebRTC应用输入的呼叫号码通过Socket连接发起的视频通信呼叫请求,所述视频呼叫通信请求中携带呼叫转移的目标家庭终端的号码,所述家庭服务器WebRTC代理9022通过内部系统调用家庭服务器的触发呼叫信令控制模块9021根据所述目标家庭终端的号码发起对目标家庭终端的视频通信呼叫,在所述目标家庭终端用户选择接受呼叫并应答之后,所述家庭服务器WebRTC代理9022将指向所述家庭终端的视频通信媒体流该向到所述目标家庭终端;
或者
所述家庭服务器的WebRTC代理9022接收所述家庭终端根据用户通过WebRTC应用输入的呼叫号码通过Socket连接发起的视频通信呼叫请求,所述视频呼叫通信请求中携带呼叫转移的目标家庭终端的号码,所述家庭服务器WebRTC代理9022通过内部系统调用家庭服务器的触发呼叫信令控制模块9021根据所述目标家庭终端的号码发起对目标家庭终端的视频通信呼叫,在所述目标家庭终端用户选择接受呼叫并应答之后,所述家庭服务器WebRTC代理9022同时接收来自所述家庭终端及所述目标终端的视频通信媒体流,所述家庭服务器WebRTC代理9022对来自所述家庭终端及所述目标终端的视频通信媒体流进行编码合并后发送给视频通信对端。
从以上描述可以看出,上述实施例中,家庭服务器的WebRTC代理通过WebRTC应用和与家庭终端建立的Socket连接使家庭终端与其他终端进行视频通信,使得家庭中的用户终端只要能基于网页的实时通讯的浏览器即可实现视频通信,而不需要特别安装专门的视频通信客户端即可实现视频通信。
如图11所示,为本发明实施例家庭视频通信系统示意图,所述家庭通信系统包括家庭终端1101及家庭服务器1102,其中所述家庭终端1101向家庭服务器1102发送探测消息,所述探测消息携带家庭终端用户账号信息,所述家庭服务器1102接收家庭终端1101发送的带有用户账号信息的探测消息,家庭服务器1102对所述账号信息进行匹配,匹配成功后向所述家庭终端1101返回视频通信主页,所述家庭终端1101接收家庭服务器1102返回的视频通信主页,通过支持基于网页的实时通讯的浏览器以及所述视频通信主页与家庭服务器1102建立万维网套接字Socket连接;
家庭终端1101通过基于网页的实时通信WebRTC应用,Socket连接和家庭服务器1102的WebRTC代理与其他终端进行视频通信。
本实施例所述Socket连接可以是万维网套接字WebSocket连接。
从以上描述可以看出,上述实施例中,家庭终端通过WebRTC应用和Socket连接与家庭服务器的WebRTC代理进行交互实现视频呼叫,使得家庭中的用户终端只要能基于网页的实时通讯的浏览器即可实现视频呼叫,而不需要特别安装专门的视频通信客户端即可实现视频通信。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。