本发明涉及通信技术领域,尤其涉及的是一种实现交互式语音及视频应答的方法、终端、服务端系统。
背景技术:
ivr(interactivevoiceresponse,互动式语音应答)使用先进的cti(computertelephonyintegration,计算机电话集成)技术使得电话成为与企业或机构联系的桥梁。用户通过电话即可进入联络中心,可以根据按键操作听到ivr系统播放的语音提示,也可以根据用户输入的内容播放有关的信息。目前ivr应用于许多行业。用户可在任何时间打电话获取他们希望得到的信息,无须等到上班时间或联系某个固定负责人。如图1所示,ivr系统包括ivr服务端系统和终端用户系统,ivr服务端系统包括ivr业务流程处理模块和音频媒体服务器。用户拨打电话触发ivr业务流程处理模块开始工作,ivr业务流程处理模块通过音频媒体服务器播放音频给用户进行语音提示。
随着视频接入的需求日益增加,用户接入后需要和系统进行视频交互,因此ivvr(interactivevoiceandvideoresponse,交互式语音及视频应答)也逐渐发展起来。ivvr系统是对原有语音ivr系统的延伸,为视频终端用户提供集音频、视频为一体的增值业务。如图2所示,ivvr系统包括ivvr服务端系统和终端用户系统,ivvr服务端系统包括ivvr业务流程处理模块和音视频媒体服务器,音视频媒体服务器包括音视频指令处理模块和音视频转码处理模块。用户拨打电话接入到ivvr业务流程后,ivvr业务流程处理模块向专用的音视频媒体服务器发送播放对应视频素材文件的请求,音视频媒体服务器对音视频信令进行处理,将视频素材进行转码成终端可以播放的视频码流,发送给终端用户。该ivvr系统需要基于ivvr业务流程构建专门的音视频系统架构。
目前的ivr系统架构无法满足视频ivvr需求。为了实现ivvr的功能,需要构建专门的视频系统架构,定制ivvr业务流程并配置专门的视频媒体服务器。这样会导致无法利用现有ivr系统支持视频功能,同时具有实施复杂,运营成本增加的缺点。
技术实现要素:
本发明实施例所要解决的技术问题是提供一种实现交互式语音及视频应答的方法、终端及服务端系统,能够基于现有的互动式语音应答系统快速部署交互式语音及视频应答系统,降低运营成本。
本发明实施例提供一种实现交互式语音及视频应答的方法,应用于至少包括互动式语音应答ivr业务流程处理模块和内容服务模块的交互式语音及视频应答ivvr服务端系统,包括:
ivr业务流程处理模块接收到终端用户系统的呼叫请求后,如果所述呼叫请求对应视频播放,则向所述终端用户系统返回呼叫响应消息,其中携带所述终端用户系统需要播放的视频文件的下载信息;
内容服务模块接收到所述终端用户系统对需要播放的视频文件的下载请求后,将所述视频文件的数据发送给所述终端用户系统或指示所述终端用户系统播放保存在终端本地的视频文件。
本发明实施例提供一种实现交互式语音及视频应答的方法,应用于终端用户系统,包括:
向交互式语音及视频应答ivvr服务端系统的互动式语音应答ivr业务流程处理模块发起对应于视频播放的呼叫请求,接收所述ivr业务流程处理模块返回的呼叫响应消息并从中获取需要播放的视频文件的下载信息;
向ivvr服务端系统的内容服务模块发送针对需要播放的视频文件的下载请求;
接收所述内容服务模块返回的视频文件的数据,或者根据所述内容服务模块的指示播放终端用户系统在终端本地保存的对应的视频文件。
本发明实施例提供一种交互式语音及视频应答ivvr服务端系统,包括:
互动式语音应答ivr业务流程处理模块,用于接收终端用户系统的呼叫请求并处理,如果所述呼叫请求对应视频播放,则向所述终端用户系统返回呼叫响应消息,其中携带所述终端用户系统需要播放的视频文件的下载信息;
内容服务模块,用于接收到所述终端用户系统对需要播放的视频文件的下载请求后,将所述视频文件的数据发送给所述终端用户系统或指示所述终端用户系统播放保存在终端本地的视频文件。
本发明实施例提供一种实现交互式语音及视频应答的终端用户系统,包括:
控制模块,用于控制拨号及双音多频dtmf拨号模块向交互式语音及视频应答ivvr服务端系统的互动式语音应答ivr业务流程处理模块发起对应于视频播放的呼叫请求;接收到所述ivr业务流程处理模块返回的呼叫响应消息并从中获取需要播放的视频文件的下载信息后,向ivvr服务端系统的内容服务模块发送针对需要播放的视频文件的下载请求;接收所述内容服务模块返回的视频文件的数据并发送给音视频播放模块进行视频播放,或者根据所述内容服务模块的指示通知音视频播放模块播放在终端本地保存的对应的视频文件;控制存储模块将从内容服务模块获取的视频文件保存在终端本地,并记录所述视频文件的属性信息;
拨号及双音多频dtmf拨号模块,用于在控制模块的控制下向所述ivr业务流程处理模块发送呼叫请求;
音视频播放模块,用于进行视频播放;
存储模块,用于将视频文件存储在终端本地。
与相关技术相比,本发明实施例提供的一种实现交互式语音及视频应答的方法、终端及服务端系统,本发明实施例的技术方案直接利用现有的ivr系统架构,通过部署内容服务系统只需对ivr业务流程进行少量的修改就可实现ivvr业务。本发明实施例的技术方案能够基于现有的互动式语音应答系统快速部署交互式语音及视频应答系统,降低运营成本。
附图说明
图1为现有技术中的ivr系统示意图;
图2为现有技术中的ivvr系统示意图;
图3为本发明实施例1的一种实现交互式语音及视频应答的方法流程图(ivvr服务端系统);
图4为本发明实施例2的一种实现交互式语音及视频应答的方法流程图(终端用户系统);
图5为本发明实施例3的一种交互式语音及视频应答服务端系统示意图;
图6为本发明实施例4的一种实现交互式语音及视频应答的终端用户系统示意图;
图7为示例1中的实现ivvr的系统示意图(包括ivvr服务端系统和终端用户系统);
图8为示例2中的ivvr服务端系统和终端用户系统之间的信息交互示意图;
图9为示例3中的ivvr服务端系统和终端用户系统之间的信息交互示意图;
图10为示例4中的ivvr服务端系统和终端用户系统之间的信息交互示意图;
图11为示例5中的ivvr服务端系统和终端用户系统之间的信息交互示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例1
如图3所示,本发明实施例提供了一种实现交互式语音及视频应答的方法,应用于至少包括互动式语音应答ivr业务流程处理模块和内容服务模块的交互式语音及视频应答ivvr服务端系统,包括:
步骤s310,ivr业务流程处理模块接收到终端用户系统的呼叫请求后,如果所述呼叫请求对应视频播放,则向所述终端用户系统返回呼叫响应消息,其中携带所述终端用户系统需要播放的视频文件的下载信息;
步骤s310,内容服务模块接收到所述终端用户系统对需要播放的视频文件的下载请求后,将所述视频文件的数据发送给所述终端用户系统或指示所述终端用户系统播放保存在终端本地的视频文件。
在一种实施方式中,所述方法还包括:
ivr业务流程处理模块接收到终端用户系统的呼叫请求后,如果所述呼叫请求对应图片播放,则向所述终端用户系统返回呼叫响应消息,其中携带所述终端用户系统需要播放的图片对应的文本内容和文本显示样式信息;
在一种实施方式中,在所述ivvr服务端系统包括音频媒体服务模块时,所述方法还包括:
ivr业务流程处理模块向所述终端用户系统返回携带文本内容和文本显示样式信息的呼叫响应消息后,所述音频媒体服务模块向所述终端用户系统发送音频流;所述音频流包括:系统提示音和/或背景音乐;
在一种实施方式中,所述呼叫响应消息中携带的终端需要播放的视频文件的下载信息,包括:所述视频文件的下载地址;
其中,所述视频文件的下载地址包括:所述视频文件的url(uniformresourcelocator,统一资源定位符);
在一种实施方式中,内容服务模块将所述视频文件的数据发送给所述终端用户系统,包括:
内容服务模块判断所述视频文件的大小是否超过阈值,如果超过阈值,则通过多次传输完成所述视频文件数据的下发:在每次接收到所述终端用户系统的下载请求后下发视频文件的部分数据,并将所述部分数据在所述视频文件中的偏移位置信息一起发送给所述终端用户系统;如果没有超过阈值,则一次性完成所述视频文件数据的下发。
在一种实施方式中,内容服务模块将所述视频文件的数据发送给所述终端用户系统或指示所述终端用户系统播放保存在终端本地的视频文件,包括:
如果内容服务模块从所述终端用户系统的下载请求中获知所述终端用户系统未在终端上保存对应的视频文件,则向所述终端用户系统返回对应的视频文件的数据;
如果内容服务模块从所述终端用户系统的下载请求中获知所述终端用户系统已在终端上保存对应的视频文件,并且终端上保存的所述视频文件的属性信息与内容服务模块上保存的视频文件的属性信息一致,则指示所述终端用户系统播放终端本地保存的视频文件;
其中,所述视频文件的属性信息包括以下信息的至少一种:下载地址、文件名、文件标识、文件大小、文件最后修改时间;
在一种实施方式中,所述方法还包括:
ivr业务流程处理模块在接收到终端用户系统的业务查询请求后,将可供终端下载的视频文件列表发送给所述终端用户系统;其中,所述业务查询请求是终端用户系统在系统启动后以及用户尚未呼叫业务处理之前自动向所述ivr业务流程处理模块发起的请求;
内容服务模块接收到所述终端用户系统发送的针对视频文件列表的下载请求后,将所述视频文件列表中的视频文件下发给所述终端用户系统。
在一种实施方式中,所述内容服务模块是web(worldwideweb,全球广域网)服务器。
实施例2
如图4所示,本发明实施例提供了一种实现交互式语音及视频应答的方法,应用于终端用户系统,包括:
步骤s410,向交互式语音及视频应答ivvr服务端系统的互动式语音应答ivr业务流程处理模块发起对应于视频播放的呼叫请求,接收所述ivr业务流程处理模块返回的呼叫响应消息并从中获取需要播放的视频文件的下载信息;
步骤s420,向ivvr服务端系统的内容服务模块发送针对需要播放的视频文件的下载请求;
步骤s430,接收所述内容服务模块返回的视频文件的数据,或者根据所述内容服务模块的指示播放终端用户系统在终端本地保存的对应的视频文件。
在一种实施方式中,所述方法还包括:
向交互式语音及视频应答ivvr服务端系统的互动式语音应答ivr业务流程处理模块发起对应于图片播放的呼叫请求,接收所述ivr业务流程处理模块返回的呼叫响应消息并从中获取需要播放的图片对应的文本内容和文本显示样式信息,根据所述文本内容和文本显示样式合成图片并进行展示;
在一种实施方式中,在接收到所述ivr业务流程处理模块返回的呼叫响应消息并从中获取到需要播放的图片对应的文本内容和文本显示样式信息后,所述方法还包括:
接收ivvr服务端系统的音频媒体服务模块发送的音频流并进行播放;所述音频流包括:系统提示音和/或背景音乐;
在一种实施方式中,所述呼叫响应消息中携带的需要播放的视频文件的下载信息,包括:所述视频文件的下载地址;
其中,所述视频文件的下载地址包括:所述视频文件的url(uniformresourcelocator,统一资源定位符);
在一种实施方式中,所述接收所述内容服务模块返回的视频文件的数据,包括:
如果第一次接收到的视频文件的数据是所述视频文件的部分数据,则对所述内容服务模块告知的所述部分视频数据在所述视频文件中的偏移位置信息进行记录,通过与所述内容服务模块的多次交互完成所述视频文件的全部数据的接收:在每一次接收到所述内容服务模块发送的部分视频数据后,在所述部分视频数据播放结束之前,重新向所述内容服务模块发送携带上一次接收的部分视频数据的偏移位置信息的下载请求,并接收所述内容服务模块返回的剩余视频数据。
在一种实施方式中,在接收所述内容服务模块返回的视频文件的数据后,所述方法还包括:
在接收完成所述视频文件的全部数据后,将所述视频文件保存在终端本地,并保存所述视频文件的属性信息;
其中,所述视频文件的属性信息包括以下信息的至少一种:下载地址、文件名、文件标识、文件大小、文件最后修改时间;
在一种实施方式中,所述向ivvr服务端系统的内容服务模块发送针对需要播放的视频文件的下载请求,包括:
如果在终端本地已经保存过对应的视频文件,则向ivvr服务端系统的内容服务模块发送针对需要播放的视频文件的下载请求,其中携带所述本地保存的视频文件的属性信息;
在一种实施方式中,所述方法还包括:
在终端用户系统启动后,向ivr业务流程处理模块发送业务查询请求;
接收到所述ivr业务流程处理模块返回的可供终端用户系统下载的视频文件列表后,向内容服务模块发送针对所述视频文件列表的下载请求;
接收所述内容服务模块返回的所述视频文件列表中的所有视频文件并保存在终端本地,记录所述视频文件的属性信息;
其中,终端用户系统可以通过数据网络向ivr业务流程处理模块发送业务查询请求,查询终端用户系统可能用到的视频文件列表;所述业务查询请求可以是http(hypertexttransferprotocol,超文本传输协议)请求消息或套接字socket消息。
实施例3
如图5所示,本发明实施例提供了一种交互式语音及视频应答ivvr服务端系统,包括:
ivr业务流程处理模块501,用于接收终端用户系统的呼叫请求并处理,如果所述呼叫请求对应视频播放,则向所述终端用户系统返回呼叫响应消息,其中携带所述终端用户系统需要播放的视频文件的下载信息;
内容服务模块502,用于接收到所述终端用户系统对需要播放的视频文件的下载请求后,将所述视频文件的数据发送给所述终端用户系统或指示所述终端用户系统播放保存在终端本地的视频文件。
在一种实施方式中,ivr业务流程处理模块,还用于接收到终端用户系统的呼叫请求后,如果所述呼叫请求对应图片播放,则向所述终端用户系统返回呼叫响应消息,其中携带所述终端用户系统需要播放的图片对应的文本内容和文本显示样式信息;
在一种实施方式中,所述ivvr服务端系统还包括音频媒体服务模块;
所述音频媒体服务模块,用于在所述ivr业务流程处理模块向所述终端用户系统返回携带文本内容和文本显示样式信息的呼叫响应消息后,向所述终端用户系统发送音频流;所述音频流包括:系统提示音和/或背景音乐;
在一种实施方式中,所述呼叫响应消息中携带的终端需要播放的视频文件的下载信息,包括:所述视频文件的下载地址;
其中,所述视频文件的下载地址包括:所述视频文件的url(uniformresourcelocator,统一资源定位符);
在一种实施方式中,内容服务模块,用于采用以下方式将所述视频文件的数据发送给所述终端用户系统:
判断所述视频文件的大小是否超过阈值,如果超过阈值,则通过多次传输完成所述视频文件数据的下发:在每次接收到所述终端用户系统的下载请求后下发视频文件的部分数据,并将所述部分数据在所述视频文件中的偏移位置信息一起发送给所述终端用户系统;如果没有超过阈值,则一次性完成所述视频文件数据的下发。
在一种实施方式中,内容服务模块,用于采用以下方式将所述视频文件的数据发送给所述终端用户系统或指示所述终端用户系统播放保存在终端本地的视频文件:
如果从所述终端用户系统的下载请求中获知所述终端用户系统未在终端上保存对应的视频文件,则向所述终端用户系统返回对应的视频文件的数据;
如果从所述终端用户系统的下载请求中获知所述终端用户系统已在终端上保存对应的视频文件,并且终端上保存的所述视频文件的属性信息与内容服务模块上保存的视频文件的属性信息一致,则指示所述终端用户系统播放终端本地保存的视频文件;
其中,所述视频文件的属性信息包括以下信息的至少一种:下载地址、文件名、文件标识、文件大小、文件最后修改时间;
在一种实施方式中,ivr业务流程处理模块,还用于接收到终端用户系统的业务查询请求后,将可供终端下载的视频文件列表发送给所述终端用户系统;其中,所述业务查询请求是终端用户系统在系统启动后以及用户尚未呼叫业务处理之前自动向所述ivr业务流程处理模块发起的请求;
内容服务模块,还用于接收到所述终端用户系统发送的针对视频文件列表的下载请求后,将所述视频文件列表中的视频文件下发给所述终端用户系统。
在一种实施方式中,所述内容服务模块是web(worldwideweb,全球广域网)服务器。
实施例4
如图6所示,本发明实施例提供了一种实现交互式语音及视频应答的终端用户系统,包括:
控制模块601,用于控制拨号及双音多频dtmf拨号模块向交互式语音及视频应答ivvr服务端系统的互动式语音应答ivr业务流程处理模块发起对应于视频播放的呼叫请求;接收到所述ivr业务流程处理模块返回的呼叫响应消息并从中获取需要播放的视频文件的下载信息后,向ivvr服务端系统的内容服务模块发送针对需要播放的视频文件的下载请求;接收所述内容服务模块返回的视频文件的数据并发送给音视频播放模块进行视频播放,或者根据所述内容服务模块的指示通知音视频播放模块播放在终端本地保存的对应的视频文件;控制存储模块将从内容服务模块获取的视频文件保存在终端本地,并记录所述视频文件的属性信息;
拨号及双音多频dtmf拨号模块602,用于在控制模块的控制下向所述ivr业务流程处理模块发送呼叫请求;
音视频播放模块603,用于进行视频播放;
存储模块604,用于将视频文件存储在终端本地。
在一种实施方式中,所述控制模块,还用于控制拨号及双音多频dtmf拨号模块向交互式语音及视频应答ivvr服务端系统的互动式语音应答ivr业务流程处理模块发起对应于图片播放的呼叫请求;接收到所述ivr业务流程处理模块返回的呼叫响应消息并从中获取需要播放的图片对应的文本内容和文本显示样式信息,将所述文本内容和文本显示样式信息发送给音视频播放模块;
所述音视频播放模块,还用于根据接收到的文本内容和文本显示样式信息合成图片并进行展示;
在一种实施方式中,所述控制模块,还用于在接收到所述ivr业务流程处理模块返回的呼叫响应消息并从中获取到需要播放的图片对应的文本内容和文本显示样式信息后,接收ivvr服务端系统的音频媒体服务模块发送的音频流,将所述音频流发送给音视频播放模块;所述音频流包括:系统提示音和/或背景音乐;
所述音视频播放模块,还用于接收到音频流后进行音频播放。
在一种实施方式中,所述呼叫响应消息中携带的需要播放的视频文件的下载信息,包括:所述视频文件的下载地址;
其中,所述视频文件的下载地址包括:所述视频文件的url(uniformresourcelocator,统一资源定位符);
在一种实施方式中,所述控制模块,用于采用以下方式接收所述内容服务模块返回的视频文件的数据:
如果第一次接收到的视频文件的数据是所述视频文件的部分数据,则对所述内容服务模块告知的所述部分视频数据在所述视频文件中的偏移位置信息进行记录,通过与所述内容服务模块的多次交互完成所述视频文件的全部数据的接收:在每一次接收到所述内容服务模块发送的部分视频数据后,在所述部分视频数据播放结束之前,重新向所述内容服务模块发送携带上一次接收的部分视频数据的偏移位置信息的下载请求,并接收所述内容服务模块返回的剩余视频数据。
在一种实施方式中,存储模块,用于采用以下方式将从内容服务模块获取的视频文件保存在终端本地并记录所述视频文件的属性信息:在接收完成所述内容服务模块返回的视频文件的全部数据后,将所述视频文件保存在终端本地,并保存所述视频文件的属性信息;
其中,所述视频文件的属性信息包括以下信息的至少一种:下载地址、文件名、文件标识、文件大小、文件最后修改时间;
在一种实施方式中,所述控制模块,用于采用以下方式向ivvr服务端系统的内容服务模块发送针对需要播放的视频文件的下载请求:
如果在终端本地已经保存过对应的视频文件,则控制拨号及双音多频dtmf拨号模块向ivvr服务端系统的内容服务模块发送针对需要播放的视频文件的下载请求,其中携带所述本地保存的视频文件的属性信息;
在一种实施方式中,控制模块,还用于在终端用户系统启动后,向ivr业务流程处理模块发送业务查询请求;接收到所述ivr业务流程处理模块返回的可供终端用户系统下载的视频文件列表后,向内容服务模块发送针对所述视频文件列表的下载请求;接收所述内容服务模块返回的所述视频文件列表中的所有视频文件并通知存储模块保存在终端本地,记录所述视频文件的属性信息。
下面通过示例说明本申请实现交互式语音及视频应答的ivvr的系统和方法。
示例1
如图7所示,本示例提供一种ivvr实现系统,包括终端用户系统和ivvr服务端系统。终端用户系统包括呼叫及dtmf(dualtonemultifrequency,双音多频)拨号模块、控制模块、音视频播放模块和文件缓存模块。ivvr服务端系统包括ivr业务流程处理模块、音频媒体服务模块和内容服务模块。
终端用户系统通过与ivr业务流程处理模块的交互,接收来自ivr业务流程处理模块的相关指令,完成指定视频文件、图片和语音的播放展示。呼叫及dtmf拨号模块用于向ivr业务流程处理模块发起呼叫,并将用户的按键转换为dtmf信号发送给ivr业务流程处理模块。控制模块用于接收ivr业务流程处理模块发送的控制指令,控制音视频播放模块、呼叫及dtmf拨号模块、文件缓存模块进行相关操作。音视频播放模块用于接收来自ivr业务流程处理模块的音频流并播放成语音给用户,对来自内容服务模块的视频文件数据进行处理并播放成视频给用户。文件缓存模块用于缓存视频文件,以备下次播放使用。
ivvr服务端系统利用了现有的ivr业务流程处理模块和音频媒体服务模块,通过部署新的内容服务模块,就可以快速实现ivvr。内容服务模块主要负责视频文件管理、以及视频文件数据下发。内容服务模块包括视频文件管理模块和视频文件下发模块。视频文件管理模块用于对需要播放的视频素材进行管理和存储(例如视频文件的上传、删除、修改、下载等),对每个视频素材生成唯一标识。视频文件下发模块用于接收到终端用户系统的播放请求后,将视频文件数据发送给终端用户系统。视频文件下发模块可以基于通用的全球广域网(worldwideweb,简称web)服务器来实现,从而避免配置专用的视频媒体服务器。
示例2
在实际应用中,存在这样的场景:用户希望在终端上看到图片文字,听到系统的提示音、背景音乐等。例如,在保险行业中,用户希望能通过图片画面的方式看到具体的保险条款,并能根据系统的提示音使用按键来翻动保险条款的页面,听到系统播放的背景音乐。
如图8所示,在播放图片的场景中,根据示例1的ivvr系统实现ivvr的方法可以包括以下步骤:
1)用户通过终端用户系统拨打指定接入码,向ivr业务流程处理模块发起呼叫。
2)ivr业务流程处理模块向终端用户系统发送消息,其中携带文本内容和文本显示样式信息;
其中,文本内容比如保险条款的内容,文本显示样式信息比如条款的显示格式信息;
3)终端用户系统的控制处理模块收到该消息,对消息内容进行解析,并将解析的内容发给音视频播放模块;
4)音视频播放模块根据消息内容生成图片展现给用户;
5)音频媒体服务模块向终端用户系统发送语音流,所述语音流包括系统提示音和/或背景音乐的数据;
其中,所述语音流可以是rtp(real-timetransportprotocol,实时传输协议)语音流;
6)终端用户系统的音视频播放模块接收到语音流后,播放系统提示音和/或背景音乐;
7)如果用户需要看下一页的保险条款,则用户按下按键,终端用户系统的呼叫及dtmf拨号模块向ivr业务流程处理模块发送dtmf信号;
8)ivr业务流程处理模块收到dtmf信号后,进行下一步的流程处理。例如,播放下一条语音和推送下一页图片描述。
示例3
在相关技术的ivvr系统中,一般都使用了专用的视频媒体服务器。该视频媒体服务器一般完成:对视频文件的流化处理、根据终端系统支持的编解码格式进行编解码转换等复杂的处理流程。除系统控制处理复杂外,这些处理流程非常耗费性能,需要配置大量的服务器。而本发明实施例的ivvr系统中,可以采用通用的、廉价的web服务器提供视频服务,无须购置昂贵的专用视频媒体服务器。
如图9所示,在视频播放的场景下,根据示例1的ivvr系统实现ivvr的方法可以包括以下步骤:
1)系统维护人员通过内容服务模块中的视频文件管理模块上传制作好的视频文件。
2)用户通过终端用户系统呼叫ivr业务流程处理模块,ivr业务流程处理模块向终端用户系统发送消息,告知需要播放的视频文件(比如,视频文件1)的信息;
其中,所述视频文件的信息包括:所述视频文件的下载地址(比如url(uniformresourcelocator,统一资源定位符));
3)终端用户系统的控制模块接收到该消息,对消息内容进行解析,得到需要播放的视频文件(比如,视频文件1)的下载地址,向内容服务模块中的视频文件下发模块请求视频文件内容;
4)视频文件下发模块向终端用户系统返回视频文件数据。
其中,对于视频文件庞大的情形,视频文件下发模块可以返回部分文件数据,同时携带数据在文件中的偏移位置。
比如,视频文件下发模块能够根据视频文件的大小来决定返回全部数据还是部分数据:如果视频文件的大小超过阈值,则对终端用户系统返回部分内容,并携带已下发内容数据在视频文件中的偏移位置。终端用户系统识别视频文件下发模块返回的数据是全部数据还是部分数据,并决定是否在播放完毕之前再向内容服务模块发起请求,直到内容服务模块发送完所述视频文件的全部数据。
5)终端用户系统通过音视频播放模块对所述视频文件进行解码后形成视频图像展示给用户;
6)终端用户系统的控制模块在已接收的视频数据播放结束之前继续向视频下发模块发送请求,其中携带最新接收的视频数据在视频文件中的偏移位置;
重复步骤4)、5)和6),直到终端用户系统接收完所述视频文件的全部数据为止。
7)在视频播放过程中,终端用户系统通过给ivr业务流程处理模块发送dtmf按键信号,完成和ivr业务流程处理模块的交互,得到需要播放的下一个视频文件(比如视频文件2)的下载地址;
重复步骤3)、4)、5)、6)、7),实现终端用户系统与ivvr服务端系统的视频交互。后续视频文件的播放与第一个视频文件的播放的处理过程类似。
示例4
本示例中,终端用户系统还包括文件缓存模块,所述文件缓存模块用于对播放过的视频文件、音频文件或者图片进行缓存。
在实际应用中,存在这样的场景:终端用户系统播放视频文件时,每次都需要从内容服务模块上获取,这样不但效率低,而且会消耗网络带宽。在无线网络不稳定或带宽较窄时,会导致视频质量不佳,影响用户的体验。为了解决这个问题,本示例提出了一种实施方式,通过播放本地缓存的视频文件来解决该问题。
如图10所示,在具有本地缓存的场景下,根据示例1的ivvr系统实现ivvr的方法可以包括以下步骤:
1)维护人员通过视频文件管理模块上传制作好的视频文件。
其中,视频文件管理模块会对每个视频文件生成唯一标识,如果该视频文件将来被修改,则修改后的视频文件会对应一个新的唯一标识。
2)用户通过终端用户系统拨打电话触发ivr业务流程处理模块,ivr业务流程处理模块发送信令消息给终端用户系统,通知需要播放的视频文件(例如,video1.3gp);
3)终端用户系统的控制模块接收到ivr业务流程处理模块的信令消息后,对所述信令消息进行解析,查询本地是否存在所述视频文件,如果不存在,则向视频文件下发模块发送请求以获取视频文件数据;
4)视频文件下发模块接收到请求后,向终端用户系统发送视频文件数据;
其中,当所述视频文件较大时,所述视频文件下发模块和终端用户系统之间可以分多次传输完成所述视频文件的所有数据;
5)终端用户系统的音视频播放模块接收到所述视频文件数据后,开始播放视频文件,并将所述视频文件的数据发送给文件缓存模块生成本地视频文件,并记录所述本地视频文件的文件属性;
其中,所述本地视频文件的文件属性可以包括:下载地址、文件名、文件大小、最后修改时间等;
6)在用户第二次拨打电话触发ivr业务流程处理模块后,ivr业务流程处理模块通知终端用户系统播放指定的视频文件(例如,video1.3gp);
7)终端用户系统的控制模块发现本地存在该视频文件(例如,video1.3gp),向视频文件下发模块发送请求,其中携带本地缓存的视频文件(例如,video1.3gp)的属性信息;
8)视频文件下发模块根据接收到的请求中携带的文件属性信息,与内容服务模块上存在的视频文件进行比较,判断终端用户系统上缓存的视频文件和内容服务模块上保存的视频文件是否一致,如果一致,则向终端用户系统发送指令以通知终端播放本地缓存的视频文件,如果不一致,则向终端用户系统返回新的视频文件数据;
9)终端用户系统接收到视频文件下发模块发送的播放本地缓存的视频文件的指令后,通过音视频播放模块播放本地缓存的视频文件(例如,video1.3gp)。
其中,终端用户系统播放本地缓存的视频文件,视频播放会更流畅,并且节省带宽。
示例5
本示例中,终端用户系统启动后,在用户没有呼叫ivr前,终端用户系统可以根据目前的网络情况(例如是wifi网络)自动从内容服务模块下载最新的视频文件并预存在本地,从而保证用户在实际需要播放这些视频文件时可以利用本地预存的资源,节省下载时间。
如图11所示,在预存文件播放场景下,根据示例1的ivvr系统实现ivvr的方法可以包括以下步骤:
1)终端用户系统启动后,在用户没有呼叫ivr前,控制模块向ivr业务流程处理模块发送消息获取视频文件。
其中,终端用户系统可以通过数据网络向ivr业务流程处理模块发送查询消息,查询终端用户系统可能用到的视频文件列表;所述查询消息可以是http(hypertexttransferprotocol,超文本传输协议)请求消息或套接字socket消息;
2)ivr业务流程处理模块向终端用户系统发送消息,告知业务中需要播放的视频文件下载列表。
3)终端用户系统的控制模块对消息解析,得到需要播放的视频文件下载列表后,向内容服务模块发送下载视频文件的请求;
4)内容服务模块接收到请求后,将相关视频文件发送给终端用户系统;
5)终端用户系统接收到视频文件后,文件缓存模块将所述视频文件预存在本地,并记录视频文件的属性信息;
之后,如果用户通过终端用户系统呼叫ivvr业务,则呼叫建立后的处理步骤同示例4中的步骤6)、7)、8)和9)。终端用户系统播放本地预存的视频文件,视频播放会更流畅,并且节省带宽。
需要说明的是,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。