多媒体数据传输方法、装置及系统与流程

文档序号:17844936发布日期:2019-06-11 21:37阅读:184来源:国知局
多媒体数据传输方法、装置及系统与流程

本申请涉及多媒体技术领域,更具体地说,尤其涉及一种多媒体数据传输方法、装置及系统。



背景技术:

目前,多媒体视频播放已成为互联网基础性应用,尤其是低时延的实时音视频直播正越来越受到互联网企业的重视。多媒体资源从服务端到用户端传输的数据传输协议有多种,不同的数据传输协议在实际应用中的传输效果各有不同。

一般的,多媒体服务提供商会选择某一种数据传输协议用于为用户提供多媒体服务。这种情况下,用户端也只能通过多媒体服务提供商所选择的数据传输协议从该多媒体服务提供商的服务器请求多媒体数据,即便实际数据传输效果并不好,用户也别无选择。



技术实现要素:

基于上述现有技术的缺陷和不足,本申请提出一种多媒体数据传输方法、装置及系统,能够使用户适时切换数据传输协议。

一种多媒体数据传输方法,应用于用户端,所述方法包括:

当从服务器下载多媒体数据时,判断是否有切换数据传输协议的需求;

如果有切换数据传输协议的需求,则获取当前下载的关键数据帧中的索引标志信息;其中,所述关键数据帧为所述多媒体数据所包含的,为其它非关键数据帧提供编码参考的数据帧,所述索引标志信息包括所述多媒体数据的数据流名称和所述关键数据帧的时间戳信息;

根据所述索引标志信息,通过备用数据传输协议从所述服务器下载所述多媒体数据。

可选的,所述根据所述索引标志信息,通过预设的备用数据传输协议从所述服务器下载所述多媒体数据,包括:

确定所述索引标志信息所包含的数据流名称和时间戳信息;

通过预设的备用数据传输协议,向所述服务器发送携带所确定的数据流名称和时间戳信息的多媒体数据请求信息,以便从所述服务器下载与所述数据流名称和所述时间戳信息对应的多媒体数据。

可选的,所述判断是否有切换数据传输协议的需求,包括:

判断是否下载失败,和/或判读下载速率是否小于设定的下载速率阈值;

如果下载失败,和/或下载速率小于设定的下载速率阈值,则确定有切换数据传输协议的需求。

一种多媒体数据传输方法,应用于服务器,所述方法包括:

确定用户端通过设定的数据传输协议发送的多媒体数据请求信息所包含的数据流名称和时间戳信息;其中,所述设定的数据传输协议包括预设的多媒体数据传输协议中的任意一种;

根据所述数据流名称确定多媒体数据,以及根据所述时间戳信息,确定所述多媒体数据的关键数据帧;所述关键数据帧为所述多媒体数据所包含的,为其它非关键数据帧提供编码参考的数据帧,

从所述关键数据帧开始,通过所述设定的数据传输协议将所述多媒体数据包含的数据帧发送给所述用户端。

一种多媒体数据传输装置,应用于用户端,所述装置包括:

判断单元,用于当从服务器下载多媒体数据时,判断是否有切换数据传输协议的需求;

数据获取单元,用于当有切换数据传输协议的需求时,获取当前下载的关键数据帧中的索引标志信息;其中,所述关键数据帧为所述多媒体数据所包含的,为其它非关键数据帧提供编码参考的数据帧,所述索引标志信息包括所述多媒体数据的数据流名称和所述关键数据帧的时间戳信息;

数据下载单元,用于根据所述索引标志信息,通过预设的备用数据传输协议从所述服务器下载所述多媒体数据。

可选的,所述数据下载单元,包括:

信息解析单元,用于确定所述索引标志信息所包含的数据流名称和时间戳信息;

数据请求单元,用于通过预设的备用数据传输协议,向所述服务器发送携带所确定的数据流名称和时间戳信息的多媒体数据请求信息,以便从所述服务器下载与所述数据流名称和所述时间戳信息对应的多媒体数据。

可选的,所述判断单元判断是否有切换数据传输协议的需求时,具体用于:

判断是否下载失败,和/或判读下载速率是否小于设定的下载速率阈值;

如果下载失败,和/或下载速率小于设定的下载速率阈值,则确定有切换数据传输协议的需求。

一种多媒体数据传输装置,应用于服务器,所述装置包括:

解析处理单元,用于确定用户端通过设定的数据传输协议发送的多媒体数据请求信息所包含的数据流名称和时间戳信息;其中,所述设定的数据传输协议包括预设的多媒体数据传输协议中的任意一种;

信息确定单元,用于根据所述数据流名称确定多媒体数据,以及根据所述时间戳信息,确定所述多媒体数据的关键数据帧;所述关键数据帧为所述多媒体数据所包含的,为其它非关键数据帧提供编码参考的数据帧;

数据发送单元,用于从所述关键数据帧开始,通过所述设定的数据传输协议将所述多媒体数据包含的数据帧发送给所述用户端。

一种多媒体数据传输系统,包括:

用户端、服务器、推流端;

其中,所述推流端用于为多媒体数据的关键数据帧添加索引标志信息,并将多媒体数据发送至服务器;其中,所述关键数据帧为所述多媒体数据所包含的,为其它非关键数据帧提供编码参考的数据帧,所述索引标志信息包括多媒体的数据流名称和多媒体的关键数据帧的时间戳信息;

所述服务器,用于存储所述推流端发送的多媒体数据,并通过所述用户端发送多媒体数据请求信息的数据传输协议,将所述用户端所请求的多媒体数据发送给所述用户端;

所述用户端,用于通过设定的数据传输协议向所述服务器发送多媒体数据请求信息,以便从所述服务器下载多媒体数据。

可选的,所述用户端通过设定的数据传输协议向所述服务器发送多媒体数据请求信息时,具体用于:

当从所述服务器下载多媒体数据时,判断是否有切换数据传输协议的需求;

如果有切换数据传输协议的需求,则获取当前下载的关键数据帧中的索引标志信息;

根据所述索引标志信息,通过预设的备用数据传输协议向所述服务器发送多媒体数据请求信息。

本申请提出的多媒体数据传输方法,由用户端在从服务器下载多媒体数据时判断是否有切换数据传输协议的需求,当有切换需求时,通过备用数据传输协议向服务器发送携带数据流名称和时间戳信息的数据请求信息,由此切换为通过备用数据传输协议继续从服务器下载该多媒体数据。上述过程实现了由用户端根据数据下载状态切换数据传输协议,打破了数据传输协议对多媒体数据传输的限制,增加了用户下载多媒体数据的选择性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本申请实施例提供的一种多媒体数据传输系统的结构示意图;

图2是本申请实施例提供的一种多媒体数据传输方法的流程示意图;

图3是本申请实施例提供的一种多媒体数据传输装置的结构示意图;

图4是本申请实施例提供的另一种多媒体数据传输装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例公开了一种多媒体数据传输方法,该方法应用于如图1所示的多媒体数据传输系统,该系统包括推流端、服务器和用户端。

其中,上述推流端是指向上述服务器推送多媒体资源的多媒体服务提供商等。

上述服务器,用于存储上述推流端上传的多媒体数据,并根据用户端的数据请求,将用户端所请求的数据发送给用户端。

上述用户端,是指从上述服务器下载多媒体资源进行观看的用户设备,例如用户电视机顶盒、用户手机、用户电脑等。

参见图2所示,本申请实施例提出的多媒体数据传输方法,包括:

s201、推流端在多媒体数据的关键数据帧中添加索引标志信息。

其中,上述的索引标志信息包括能够唯一索引到该多媒体数据的数据流名称和关键数据帧的时间戳信息。

具体的,所述关键数据帧为所述多媒体数据所包含的,为其它非关键数据帧提供编码参考的数据帧。

多媒体数据由时间上连续的数据帧组成。目前的多媒体数据压缩编码技术普遍将多个时间上连续的数据帧组成一组,组内首帧作为关键数据帧压缩编码,该帧数据编码方式基本为帧内压缩编码,不依赖其它视频帧;组内后续的数据帧为非关键数据帧,压缩编码时会参考之前的关键数据帧信息。

对于多媒体数据的每个关键数据帧,本申请实施例设定由推流端为其添加包含多媒体数据的数据流名称和关键数据帧的时间戳信息的索引标志信息。即,在多媒体数据的每个关键数据帧中,均添加一个索引标志信息,其中,添加的索引标志信息包括多媒体数据的数据流名称,还包括索引标志信息所在的关键数据帧的时间戳信息。

本申请实施例将上述的数据流名称示例性地以字符串的形式表示,即每个多媒体数据,都有一个唯一对应的字符串作为其数据流名称。

上述的时间戳信息,是表示多媒体数据的关键数据帧的绝对时间的信息。该绝对时间,是指该关键数据帧被上传时的绝对时间。具体的,该绝对时间,是指系统时钟时间,例如假设当某一关键数据帧在被上传时的系统时钟时间是2019年1月23日15点49分11秒123毫秒,则该关键数据帧的时间戳就是2019年1月23日15点49分11秒123毫秒。由于多媒体数据所包含的数据帧是前后顺序关联的,因此,多媒体数据所包含的各个关键数据帧的时间戳,也是按照各个关键数据帧的先后顺序而在时间上存在先后关系的。可以理解,前一个关键数据帧的时间戳所表示的时间,要早于后一个关键数据帧的时间戳所表示的时间的。因此,不同的关键数据帧中的时间戳,都是各不相同的。

示例性的,本申请实施例将上述的时间戳信息精确到毫秒级别。实际上,在实际实施本申请实施例技术方案时,可以灵活设定时间戳精度。

可以理解,关键数据帧中的数据流名称,可以方便确定关键数据帧所属的多媒体数据。而由于不同的关键数据帧中的时间戳信息各不相同,因此,关键数据帧中的时间戳信息,可以方便从该多媒体数据中利用时间信息定位到某一个确定的关键数据帧。

s202、推流端将添加了索引标志信息的多媒体数据上传至服务器。

具体的,推流端可以采用任意预设的数据传输协议,将上述的多媒体数据上传至服务器。

例如,推流端可以通过实时消息传输协议(realtimemessagingprotocol,rtmp)或网页即时通信(webreal-timecommunication,rtc)协议中的任意一种协议,以对应协议的协议数据包的形式,将添加了索引标志信息的多媒体数据上传至服务器。

s203、服务器对接收到的协议数据包进行解析处理,获取多媒体数据和多媒体数据的关键数据帧中的索引标志信息。

具体的,服务器在接收到推流端发送的rtmp协议数据包或rtc协议数据包后,对协议数据包进行解析,得到关键数据帧和普通数据帧,从而得到多媒体数据;同时,服务器对关键数据帧中的索引标志信息进行解析,确定该多媒体数据的数据流名称,以及确定各个关键数据帧的时间戳信息。

服务器将解析得到的数据帧,按照其关联的关键数据帧的时间戳先后顺序依次进行存储,则服务器所存储的多媒体数据,就是按照数据帧之间的先后顺序依次存储的。

需要说明的是,为了保证当用户端从服务器下载多媒体数据时,使用户端能够连续地下载多媒体数据流,本申请实施例设定在服务器内,缓存一定时间长度的多媒体数据,例如缓存一个完整视频以上长度的音视频数据。尤其是在直播音视频数据流的传输过程中,服务器对直播音视频数据的缓存可以保证推流端和用户端之间的数据传输更顺畅。同时,服务器存储的多媒体数据的数据量又关乎服务器的存储空间利用问题,因此,实际应用中可以根据推流端和用户端之间的数据传输速率,确定在服务器中缓存的多媒体数据量。一般情况下,只要能够保证当前用户端所下载的多媒体数据帧之后的1至2个数据帧缓存在服务器中,即可保证数据传输的连续性。

s204、用户端从服务器下载多媒体数据。

具体的,用户端设备通过上述的rtmp或rtc或其他数据传输协议中的任意一种协议,向服务器发送多媒体数据请求信息,当服务器接收到用户端发送的多媒体数据请求信息后,将用户端所请求的多媒体数据发送给用户端。

需要说明的是,用户端利用某一种数据传输协议向服务器请求多媒体数据时,在数据请求信息中携带所请求的多媒体数据的数据流名称。当服务器接收到该数据请求信息后,通过解析该信息,确定用户端所请求的多媒体数据,并将服务器中所存储的该多媒体数据的各数据帧,依次下发给用户端。

也就是说,用户端从服务器下载的多媒体数据,具体是以数据流的形式,接收服务器所发送的,该多媒体数据所包含的各数据帧。

s205、当从服务器下载多媒体数据时,用户端判断是否有切换数据传输协议的需求。

具体的,在用户端通过某一种数据传输协议向服务器发送多媒体数据请求信息后,用户端开始通过该数据传输协议接收服务器反馈的多媒体数据帧,服务器与用户端之间传输数据流。

在服务器与用户端之间通过该数据传输协议传输数据流期间,也就是用户端利用该数据传输协议从服务器下载多媒体数据过程中,用户端检测是否有切换数据传输协议的需求。

示例性的,用户端通过检测数据下载结果和/或数据下载速率,来确定是否有切换数据传输协议的需求。

具体的,用户端检测多媒体数据是否下载成功,即检测是否接收到服务器发送的,用户端所请求的多媒体数据。

和/或,

用户端检测当前下载速率是否小于设定的下载速率阈值;

如果当前下载过程下载所请求的多媒体数据成功,并且下载速率也不小于设定的下载速率阈值,则用户端可以确定没有切换数据传输协议的需求,可以继续执行步骤s204,通过当前数据传输协议下载多媒体数据。

相反,如果多媒体数据下载失败,即没有接收到服务器发送的数据帧,和/或当前下载速率小于设定的下载速率阈值,则用户端可以确定当前下载状况不理想,存在切换数据传输协议的需求。

如果有切换数据传输协议的需求,则用户端执行步骤s206、获取当前下载的关键数据帧中的索引标志信息。

其中,上述的索引标志信息包括多媒体数据的数据流名称和关键数据帧的时间戳信息。

具体的,服务器与用户端之间的数据传输,是以数据帧为单位的数据流形式进行的。因此,用户端所下载到的多媒体数据,是一个个的数据帧,包括关键数据帧和普通数据帧,其中,普通数据帧是参考关键数据帧编码得到的,因此可以认为普通数据帧与关键数据帧关联,当获取到普通数据帧时,可以相应获取到该普通数据帧所关联的关键数据帧的信息,包括直接定位到关联的关键数据帧。与当前下载的普通数据帧关联的关键数据帧,可以看做是正在下载的关键数据帧。

因此,当用户端下载数据帧时,能够根据当前下载的数据帧,定位对应的关键数据帧,即确定当前下载的关键数据帧。所定位的关键数据帧,可能是当前接收的数据帧本身,也可能是与当前接收的数据帧关联的关键数据帧。

在确定当前下载的关键数据帧后,用户端获取当前下载的关键数据帧中的索引标志信息。

s207、用户端确定当前下载的关键数据帧中的索引标志信息所包含的数据流名称和时间戳信息。

具体的,用户端在获取当前下载的关键数据帧中的索引标志信息后,读取该索引标志信息中所包含的数据流名称和时间戳信息。

可以理解,用户端在获取上述的数据流名称和关键数据帧的时间戳信息后,可以明确当前正在下载的是哪个多媒体数据,以及明确当前已经下载到了该多媒体数据的哪个关键数据帧。

s208、用户端通过预设的备用数据传输协议,向服务器发送携带所确定的数据流名称和时间戳信息的多媒体数据请求信息。

具体的,上述预设的备用数据传输协议,是指预先设定的,可以用于用户端与服务器之间进行数据传输的数据传输协议。该备用数据传输协议,与当前与服务器的数据传输所使用的数据传输协议,都作为用户端与服务器之间可用的数据传输协议。

例如,假设设置用户端与服务器之间可以通过rtmp或rtc协议进行多媒体数据传输,则当用户端从服务器下载多媒体数据时,可以通过rtmp协议下载,也可以通过rtc协议下载。

当用户端通过rtmp协议从服务器下载多媒体数据时,上述rtc协议就作为备用数据传输协议;当用户端通过rtc协议从服务器下载多媒体数据时,上述rtmp协议就作为备用数据传输协议。

事实上,可以为用户端和服务器之间设置多种可用的数据传输协议,用于进行多媒体数据传输。当用户端与服务器之间真正地进行多媒体数据传输时,选取其中的某一种数据传输协议进行,此时,其它的可用的数据传输协议就作为备用的数据传输协议。

需要说明的是,当上述预设的备用数据传输协议有多种时,用户端从中任选其一,或者根据预设的选取规则从中选出一种数据传输协议,用于后续的数据请求。

在用户端确定备用数据传输协议后,通过该备用数据传输协议,向服务器发送携带所确定的数据流名称和时间戳信息的多媒体数据请求信息。

具体的,用户端将上述的数据流名称和时间戳信息添加到多媒体数据请求信息中,然后通过该备用数据传输协议,将该多媒体数据请求信息发送至服务器。可以理解,上述的多媒体数据请求信息的数据格式,符合该备用数据传输协议的数据格式要求。

示例性的,如果用户端通过rtmp协议向服务器发送数据请求信息,则使用rtmp协议的统一资源标识符uri参数部分携带数据流名称和时间戳信息,具体实例可以定义为:

rtmp://address:port/$sn?ts=$ts

其中$sn表示数据流名称,$ts表示时间戳信息。

如果用户端通过rtc协议向服务器发送数据请求信息,则在发送的数据请求类型的会话描述信息数据报中增加数据流名称a=req_sn以及时间戳信息a=req_ts属性,具体增加在“会话”(“session”)或者“媒体”(“media”)字段中都支持。

s209、服务器确定用户端通过设定的数据传输协议发送的多媒体数据请求信息所包含的数据流名称和时间戳信息。

具体的,上述设定的数据传输协议,是指用户端向服务器发送数据请求信息的具体数据传输协议,可以是预先设置的可用于用户端与服务器之间进行数据传输的数据传输协议中的任意一种,包括上述的备用数据传输协议。在本申请实施例技术方案中,上述设定的数据传输协议,就是指用户端发送多媒体数据请求信息的,上述备用数据传输协议。

理论上,用户端可以灵活选择通过预先设置的可用于进行数据传输的数据传输协中的任意一种数据传输协议,向服务器发起数据传输请求。相应的,服务器也通过用户端发送数据请求的数据传输协议,响应用户端的数据请求。

服务器在接收到用户端通过设定的数据传输协议发送的多媒体数据请求信息后,对该请求信息进行解析,从中确定所包含的数据流名称和时间戳信息。

s210、服务器根据上述数据流名称确定多媒体数据,以及根据上述时间戳信息,确定多媒体数据的关键数据帧。

具体的,服务器从用户端发送的多媒体数据请求信息中获取到数据流名称,实际上就是获取了用户端所请求的多媒体数据的名称,也就是确定了用户端所请求的多媒体数据。

由于多媒体数据在服务器中是以时间上顺序排列的数据帧形式存储的,并且不同关键数据帧的时间戳信息各不相同。因此,服务器通过获取到的时间戳信息,可以唯一地定位到与该时间戳信息对应的关键数据帧,即用户端当前所请求的关键数据帧。

s211、服务器从该关键数据帧开始,通过上述设定的数据传输协议将所确定的多媒体数据包含的数据帧发送给用户端。

具体的,服务器在确定了用户端所请求的多媒体数据以及确定用户端所请求的该多媒体数据的关键数据帧后,从该关键数据帧开始,利用用户端发送多媒体数据请求的数据传输协议,即利用上述备用数据传输协议,将该多媒体数据所包含的各数据帧依次发送给用户端。

可以理解,服务器在接收到用户端通过某一数据传输协议发送的多媒体数据传输请求后,同样通过该数据传输协议将用户端所请求的多媒体数据发送给用户端。服务器与用户端之间进行数据传输的数据传输协议,根据用户端发送多媒体数据请求信息的数据传输协议而决定。

因此,用户端可以根据多媒体数据下载情况,灵活地选择数据传输协议。

可见,本申请实施例提出的多媒体数据传输方法,由用户端在从服务器下载多媒体数据时判断是否有切换数据传输协议的需求,当有切换需求时,通过备用数据传输协议向服务器发送携带数据流名称和时间戳信息的数据请求信息,由此切换为通过备用数据传输协议继续从服务器下载该多媒体数据。上述过程实现了由用户端根据数据下载状态切换数据传输协议,打破了数据传输协议对多媒体数据传输的限制,增加了用户下载多媒体数据的选择性。

需要说明的是,上述步骤s209中的多媒体数据请求信息所包含的数据流名称和时间戳信息,可以是用户任意选择的数据流名称和时间戳信息,即可以不限定是用户端正在下载的多媒体数据的数据流名称和关键数据帧的时间戳信息。当用户需要观看某一个多媒体数据的某一时间节点的视频内容时,直接确定相应的索引标志信息,也就是确定该多媒体数据的数据流名称和时间戳信息,然后依据确定的信息向服务器发送多媒体数据请求信息。

相应的,服务器在接收到该多媒体数据请求信息后,解析其中的数据流名称和时间戳信息,从相应的多媒体数据的关键数据帧开始,向用户端发送多媒体数据。

上述过程实现了用户端点播任意的多媒体数据,并且是从该多媒体数据的任意时间节点开始点播观看。进一步的,上述处理过程也可以使用户端实现多媒体回看功能。但可以理解的是,上述的切换数据传输协议、点播、回看等功能,都是借助于本申请实施例中的“索引标志信息”来明确具体的多媒体数据,从而实现相应数据的获取或保证数据传输的连续性。

在本申请的另一个实施例中,还公开了一种多媒体数据传输装置,该装置可应用于图1所示的数据传输系统的用户端。

参见图3所示,本申请实施例公开的多媒体数据传输装置,包括:

判断单元100,用于当从服务器下载多媒体数据时,判断是否有切换数据传输协议的需求;

数据获取单元110,用于当有切换数据传输协议的需求时,获取当前下载的关键数据帧中的索引标志信息;其中,所述关键数据帧为所述多媒体数据所包含的,为其它非关键数据帧提供编码参考的数据帧,所述索引标志信息包括所述多媒体数据的数据流名称和所述关键数据帧的时间戳信息;

数据下载单元120,用于根据所述索引标志信息,通过预设的备用数据传输协议从所述服务器下载所述多媒体数据。

可选的,在本申请的另一个实施例中还公开了,所述数据下载单元120,包括:

信息解析单元,用于确定所述索引标志信息所包含的数据流名称和时间戳信息;

数据请求单元,用于通过预设的备用数据传输协议,向所述服务器发送携带所确定的数据流名称和时间戳信息的多媒体数据请求信息,以便从所述服务器下载与所述数据流名称和所述时间戳信息对应的多媒体数据。

其中,所述判断单元100判断是否有切换数据传输协议的需求时,具体用于:

判断是否下载失败,和/或判读下载速率是否小于设定的下载速率阈值;

如果下载失败,和/或下载速率小于设定的下载速率阈值,则确定有切换数据传输协议的需求。

具体的,上述各实施例提出的数据传输装置的各个单元的具体工作内容,请参见上述方法实施例的内容,此处不再赘述。

在本申请的另一个实施例中,还公开了另一种多媒体数据传输装置,该装置可应用于图1所示的服务器。

参见图4所示,该装置包括:

解析处理单元200,用于确定用户端通过设定的数据传输协议发送的多媒体数据请求信息所包含的数据流名称和时间戳信息;其中,所述设定的数据传输协议包括预设的多媒体数据传输协议中的任意一种;

信息确定单元210,用于根据所述数据流名称确定多媒体数据,以及根据所述时间戳信息,确定所述多媒体数据的关键数据帧;所述关键数据帧为所述多媒体数据所包含的,为其它非关键数据帧提供编码参考的数据帧;

数据发送单元220,用于从所述关键数据帧开始,通过所述设定的数据传输协议将所述多媒体数据包含的数据帧发送给所述用户端。

具体的,上述实施例中的各个单元的具体工作内容,请参见上述方法实施例的内容,此处不再赘述。

本申请另一实施例还提出一种如图1所示的多媒体数据传输系统,该系统包括:

用户端1、服务器2、推流端3;

其中,所述推流端3用于为多媒体数据的关键数据帧添加索引标志信息,并将多媒体数据发送至服务器2;其中,所述关键数据帧为所述多媒体数据所包含的,为其它非关键数据帧提供编码参考的数据帧,所述索引标志信息包括多媒体的数据流名称和多媒体的关键数据帧的时间戳信息;

所述服务器2,用于存储所述推流端3发送的多媒体数据,并通过所述用户端1发送多媒体数据请求信息的数据传输协议,将所述用户端1所请求的多媒体数据发送给所述用户端;

所述用户端1,用于通过设定的数据传输协议向所述服务器2发送多媒体数据请求信息,以便从所述服务器2下载多媒体数据。

其中,所述用户端通过设定的数据传输协议向所述服务器发送多媒体数据请求信息时,具体用于:

当从所述服务器下载多媒体数据时,判断是否有切换数据传输协议的需求;

如果有切换数据传输协议的需求,则获取当前下载的关键数据帧中的索引标志信息;

根据所述索引标志信息,通过预设的备用数据传输协议向所述服务器发送多媒体数据请求信息。

其中,上述用户端根据所述索引标志信息,通过预设的备用数据传输协议从所述服务器下载所述多媒体数据时,具体用于:

确定所述索引标志信息所包含的数据流名称和时间戳信息;

通过预设的备用数据传输协议,向所述服务器发送携带所确定的数据流名称和时间戳信息的多媒体数据请求信息,以便从所述服务器下载与所述数据流名称和所述时间戳信息对应的多媒体数据。

所述用户端判断是否有切换数据传输协议的需求,具体包括:

判断是否下载失败,和/或判读下载速率是否小于设定的下载速率阈值;

如果下载失败,和/或下载速率小于设定的下载速率阈值,则确定有切换数据传输协议的需求。

上述服务器通过所述用户端发送多媒体数据请求信息的数据传输协议,将所述用户端所请求的多媒体数据发送给所述用户端时,具体用于:

确定用户端通过设定的数据传输协议发送的多媒体数据请求信息所包含的数据流名称和时间戳信息;其中,所述设定的数据传输协议包括预设的多媒体数据传输协议中的任意一种;

根据所述数据流名称确定多媒体数据,以及根据所述时间戳信息,确定所述多媒体数据的关键数据帧;所述关键数据帧为所述多媒体数据所包含的,为其它非关键数据帧提供编码参考的数据帧,

从所述关键数据帧开始,通过所述设定的数据传输协议将所述多媒体数据包含的数据帧发送给所述用户端。

具体的,上述多媒体数据传输系统实施例中的各个部分的具体工作内容,请参见上述方法实施例的内容,此处不再赘述。

对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本申请各实施例种装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。

本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1