本发明涉及智能设备技术,特别涉及智能设备的多屏协同技术。
背景技术:
随着网络通信技术的发展和家庭智能设备的普及,智能电视在家庭娱乐方面的地位日益突出,利用无线网络,实现智能电视与智能设备的交互应用,使用传统方式需将音频文件下载或拷贝到智能电视端进行播放,传统的方式已无法满足交互应用中快捷、方便的原则。
技术实现要素:
本发明的目的是要解决目前需要将音频文件下载或拷贝到智能设备端进行播放的问题,提供了一种多屏协同音频传输服务端、客户端、系统及其处理方法。
本发明解决其技术问题,采用的技术方案是,多屏协同音频传输服务端,其特征在于,包括服务端会话模块及发送模块,所述服务端会话模块与发送模块连接,
所述服务端会话模块用于与客户端通过网络连接,提供服务端与客户端之间的通信,包括RTSP报告、RTP数据包及传输流量控制管理数据包;
所述发送模块用于将对应的音频数据流封装成RTP包并发送给客户端,并接收及处理客户端发送来的传输流量控制管理数据包。
具体的,所述传输流量控制管理数据包为RTCP数据包。
进一步的,所述RTSP报告中包含播放指令和/或暂停指令和/或停止指令。
多屏协同音频传输客户端,其特征在于,包括客户端会话模块、接收模块、传输质量控制模块及播放器,所述接收模块与客户端会话模块连接,传输质量控制模块与接收模块连接,播放器与传输质量控制模块连接,传输质量控制模块与客户端会话模块连接,
所述客户端会话模块用于与服务端通过网络连接,提供服务端与客户端之间的通信,包括RTSP报告、RTP数据包及传输流量控制管理数据包;
所述接收模块用于接收并解析服务端发送来的RTP包;
所述传输质量控制模块用于根据接收模块接收的RTP包进行传输流量控制管理,向服务端发送传输流量控制管理数据包;
所述播放器用于播放解析后得到的音频数据流。
具体的,所述传输流量控制管理数据包为RTCP数据包。
进一步的,所述RTSP报告中包含播放指令和/或暂停指令和/或停止指令。
多屏协同音频传输系统,其特征在于,包括上述多屏协同音频传输服务端及上述多屏协同音频传输客户端,所述服务端会话模块与客户端会话模块通过网络连接。
多屏协同音频传输系统的处理方法,应用于上述多屏协同音频传输系统,其特征在于,包括以下步骤:
步骤1、多屏协同音频传输客户端通过RTSP协议向多屏协同音频传输服务端发送建立会话连接请求,多屏协同音频传输服务端建立会话连接;
步骤2、多屏协同音频传输客户端通过RTSP协议向多屏协同音频传输服务端发送音频数据传输请求;
步骤3、多屏协同音频传输服务端将对应的音频数据流封装成RTP包,并打上相应的时间戳信息及序号并发送给多屏协同音频传输客户端;
步骤4、多屏协同音频传输客户端根据接收到的RTP包中时间戳信息对其中的音频数据流解码并存入数据缓冲池;
步骤5、多屏协同音频传输客户端的传输质量控制模块从数据缓冲池中提取音频数据流,将其按照序号进行排序后传输给播放器进行播放,并将播放同步信息通过传输流量控制管理数据包反馈给多屏协同音频传输服务端,多屏协同音频传输服务端根据接收到的传输流量控制管理数据包调整发送RTP包的策略以实现音频同步;
步骤6、播放时,多屏协同音频传输服务端及多屏协同音频传输客户端均时刻监测接收到的RTSP报告,并对其进行相应处理。
具体的,步骤1包括以下具体步骤:
步骤101、多屏协同音频传输服务端启动,创建一个传输流量控制实时服务线程、RTP实时服务线程及一个RTSP实时服务线程;
步骤102、多屏协同音频传输服务端创建一个UDP套接字并将其绑定到所提供的服务的地址之上,RTP包使用一个偶数号□,则相应的传输流量控制数据包使用其后的奇数号端口;
步骤103、多屏协同音频传输服务端时刻监听并接收来自多屏协同音频传输客户端的RTSP报告,若接收到多屏协同音频传输客户端发送来的RTSP报告中是会话连接请求,则进入步骤104,否则进入步骤6;
步骤104、多屏协同音频传输服务端响应该会话连接请求,与多屏协同音频传输客户端建立会话连接,进入步骤2。
进一步的,步骤3包括以下步骤:
步骤301、多屏协同音频传输服务端判断对应的音频数据流中各音频数据帧大小,若一帧的长度超过最大传输单元时,则对该帧进行分片封包;
步骤302、多屏协同音频传输服务端将音频数据帧转换为RTP包,并在RTP包头中根据每帧信息设置序号及时间戳信息,用于播放同步及丢包处理;
步骤303、多屏协同音频传输服务端将RTP包存入发送缓冲池按照发送策略发送给多屏协同音频传输客户端;
步骤4包括以下步骤:
步骤401、多屏协同音频传输客户端接收到RTP包,对其进行解析,去掉RTP包头信息,并将解析得到的音频数据帧、序号及时间戳信息存入数据缓冲池;
步骤5包括以下步骤:
步骤501、多屏协同音频传输客户端的传输质量控制模块从数据缓冲池中提取音频数据流;
步骤502、将所提取的音频数据流按照对应序号进行排序,同时分析在UPD传输中丢掉的RTP包,通过传输流量控制管理数据包反馈给多屏协同音频传输服务端;
步骤503、利用所提取的音频数据流对应的时间戳信息建立绝对时间轴信息,将当前时间信息同绝对时间信息比对并传输给播放器进行播放,将比对差值通过传输流量控制管理数据包反馈给多屏协同音频传输服务端;
步骤504、多屏协同音频传输服务端根据接收到的传输流量控制管理数据包调整发送RTP包的策略以实现音频同步。
本发明的有益效果是,在本发明方案中,通过上述多屏协同音频传输服务端、客户端、系统及其处理方法,可以通过网络实现多屏协同音频传输服务端与多屏协同音频传输客户端之间采用数据流传输音频数据,不需要客户端再对需要播放的音频文件进行下载或拷贝到本地,方便用户,处理快捷。
附图说明
图1为本发明多屏协同音频传输服务端的系统框图。
图2为本发明多屏协同音频传输客户端的系统框图。
图3为多屏协同音频传输系统的系统框图。
具体实施方式
下面结合附图及实施例,详细描述本发明的技术方案。
本发明的多屏协同音频传输服务端,其系统框图参见图1,包括服务端会话模块及发送模块,服务端会话模块与发送模块连接,其中,服务端会话模块用于与客户端通过网络连接,提供服务端与客户端之间的通信,包括RTSP报告、RTP数据包及传输流量控制管理数据包;发送模块用于将对应的音频数据流封装成RTP包并发送给客户端,并接收及处理客户端发送来的传输流量控制管理数据包。
本发明的多屏协同音频传输客户端,其系统框图参见图2,包括客户端会话模块、接收模块、传输质量控制模块及播放器,接收模块与客户端会话模块连接,传输质量控制模块与接收模块连接,播放器与传输质量控制模块连接,传输质量控制模块与客户端会话模块连接,其中,客户端会话模块用于与服务端通过网络连接,提供服务端与客户端之间的通信,包括RTSP报告、RTP数据包及传输流量控制管理数据包;接收模块用于接收并解析服务端发送来的RTP包;传输质量控制模块用于根据接收模块接收的RTP包进行传输流量控制管理,向服务端发送传输流量控制管理数据包;播放器用于播放解析后得到的音频数据流。
本发明的多屏协同音频传输系统,其系统框图参见图3,包括上述多屏协同音频传输服务端及上述多屏协同音频传输客户端,所述服务端会话模块与客户端会话模块通过网络连接。
本发明的多屏协同音频传输系统的处理方法,应用于上述多屏协同音频传输系统中,其具体为:首先多屏协同音频传输客户端通过RTSP协议向多屏协同音频传输服务端发送建立会话连接请求,多屏协同音频传输服务端建立会话连接,多屏协同音频传输客户端再通过RTSP协议向多屏协同音频传输服务端发送音频数据传输请求,然后多屏协同音频传输服务端将对应的音频数据流封装成RTP包,并打上相应的时间戳信息及序号并发送给多屏协同音频传输客户端,多屏协同音频传输客户端再根据接收到的RTP包中时间戳信息对其中的音频数据流解码并存入数据缓冲池,然后多屏协同音频传输客户端的传输质量控制模块从数据缓冲池中提取音频数据流,将其按照序号进行排序后传输给播放器进行播放,并将播放同步信息通过传输流量控制管理数据包反馈给多屏协同音频传输服务端,多屏协同音频传输服务端根据接收到的传输流量控制管理数据包调整发送RTP包的策略以实现音频同步;播放时,多屏协同音频传输服务端及多屏协同音频传输客户端均时刻监测接收到的RTSP报告,并对其进行相应处理。
实施例
本发明实施例的多屏协同音频传输服务端,其系统框图参见图1,包括服务端会话模块及发送模块,服务端会话模块与发送模块连接,其中,服务端会话模块用于与客户端通过网络连接,提供服务端与客户端之间的通信,包括RTSP报告、RTP数据包及传输流量控制管理数据包;发送模块用于将对应的音频数据流封装成RTP包并发送给客户端,并接收及处理客户端发送来的传输流量控制管理数据包。
本例中,传输流量控制管理数据包优选为RTCP数据包,而RTSP报告中还可以包含播放指令和/或暂停指令和/或停止指令等,对应播放器的播放、暂停及停止等音频操作。
本发明实施例的多屏协同音频传输客户端,其系统框图参见图2,包括客户端会话模块、接收模块、传输质量控制模块及播放器,接收模块与客户端会话模块连接,传输质量控制模块与接收模块连接,播放器与传输质量控制模块连接,传输质量控制模块与客户端会话模块连接,其中,客户端会话模块用于与服务端通过网络连接,提供服务端与客户端之间的通信,包括RTSP报告、RTP数据包及传输流量控制管理数据包;接收模块用于接收并解析服务端发送来的RTP包;传输质量控制模块用于根据接收模块接收的RTP包进行传输流量控制管理,向服务端发送传输流量控制管理数据包;播放器用于播放解析后得到的音频数据流。
本例中,传输流量控制管理数据包优选为RTCP数据包,而RTSP报告中还可以包含播放指令和/或暂停指令和/或停止指令等,对应播放器的播放、暂停及停止等音频操作。
本发明实施例的多屏协同音频传输系统,其系统框图参见图3,包括上述多屏协同音频传输服务端及上述多屏协同音频传输客户端,所述服务端会话模块与客户端会话模块通过网络连接。
使用时,具体处理步骤如下:
步骤1、多屏协同音频传输客户端通过RTSP协议向多屏协同音频传输服务端发送建立会话连接请求,多屏协同音频传输服务端建立会话连接。
本步骤中,可包括以下具体步骤:
步骤101、多屏协同音频传输服务端启动,创建一个传输流量控制实时服务线程、RTP实时服务线程及一个RTSP实时服务线程;
步骤102、多屏协同音频传输服务端创建一个UDP套接字并将其绑定到所提供的服务的地址之上,RTP包使用一个偶数号□,则相应的传输流量控制数据包使用其后的奇数号端口;
步骤103、多屏协同音频传输服务端时刻监听并接收来自多屏协同音频传输客户端的RTSP报告,若接收到多屏协同音频传输客户端发送来的RTSP报告中是会话连接请求,则进入步骤104,否则进入步骤6;
步骤104、多屏协同音频传输服务端响应该会话连接请求,与多屏协同音频传输客户端建立会话连接,进入步骤2。
步骤2、多屏协同音频传输客户端通过RTSP协议向多屏协同音频传输服务端发送音频数据传输请求。
步骤3、多屏协同音频传输服务端将对应的音频数据流封装成RTP包,并打上相应的时间戳信息及序号并发送给多屏协同音频传输客户端。
本步骤中,可包括以下具体步骤:
步骤301、多屏协同音频传输服务端判断对应的音频数据流中各音频数据帧大小,若一帧的长度超过最大传输单元时,则对该帧进行分片封包;
步骤302、多屏协同音频传输服务端将音频数据帧转换为RTP包,并在RTP包头中根据每帧信息设置序号及时间戳信息,用于播放同步及丢包处理;
步骤303、多屏协同音频传输服务端将RTP包存入发送缓冲池按照发送策略发送给多屏协同音频传输客户端。
步骤4、多屏协同音频传输客户端根据接收到的RTP包中时间戳信息对其中的音频数据流解码并存入数据缓冲池。
本步骤中,可包括以下具体步骤:
步骤401、多屏协同音频传输客户端接收到RTP包,对其进行解析,去掉RTP包头信息,并将解析得到的音频数据帧、序号及时间戳信息存入数据缓冲池。
步骤5、多屏协同音频传输客户端的传输质量控制模块从数据缓冲池中提取音频数据流,将其按照序号进行排序后传输给播放器进行播放,并将播放同步信息通过传输流量控制管理数据包反馈给多屏协同音频传输服务端,多屏协同音频传输服务端根据接收到的传输流量控制管理数据包调整发送RTP包的策略以实现音频同步。
本步骤中,可包括以下具体步骤:
步骤501、多屏协同音频传输客户端的传输质量控制模块从数据缓冲池中提取音频数据流;
步骤502、将所提取的音频数据流按照对应序号进行排序,同时分析在UPD传输中丢掉的RTP包,通过传输流量控制管理数据包反馈给多屏协同音频传输服务端;这里,其分析可以为:由于序号都是连续的,则若之前播放的音频数据流的序号与当前提取音频数据流的序号之间不是连续的,则认为其中有丢掉的RTP包,则此时不进入步骤503,而是通过传输流量控制管理数据包反馈给多屏协同音频传输服务端,否则进入步骤503;
步骤503、利用所提取的音频数据流对应的时间戳信息建立绝对时间轴信息,将当前时间信息同绝对时间信息比对并传输给播放器进行播放,将比对差值通过传输流量控制管理数据包反馈给多屏协同音频传输服务端;
步骤504、多屏协同音频传输服务端根据接收到的传输流量控制管理数据包调整发送RTP包的策略以实现音频同步。这里,若接收到的传输流量控制管理数据包中记载的是有丢掉的RTP包,则根据策略进行重发,否则根据比对差值调整RTP包的发送策略。
步骤6、播放时,多屏协同音频传输服务端及多屏协同音频传输客户端均时刻监测接收到的RTSP报告,并对其进行相应处理。
这里,相应处理包括与RTSP报告对应的播放、暂停及停止等音频操作。