音视频的重定向方法及装置与流程

文档序号:14477621阅读:401来源:国知局
音视频的重定向方法及装置与流程

本发明涉及云计算领域,具体涉及一种音视频的重定向方法及装置。



背景技术:

随着云计算技术的发展和普及,虚拟机技术越来越受到人们的关注,并逐渐应用到日常的工作和学习中。在虚拟机技术中,视频播放一直是性能瓶颈。由于视频解码占用较多cpu资源,在虚拟机环境中,多个虚拟系统共享一套物理设备,同时播放视频导致cpu很容易达到使用瓶颈,拖慢系统响应。

目前虚拟机技术中,采用了基于dxva的视频重定向技术,在视频播放时,虚拟机的服务端检测到视频播放经过硬件加速,则在视频处理时,截获视频码流,发送到瘦终端进行解码显示。这样就将视频解码这样运算量大的工作转移到瘦终端上,从而给虚拟机服务端减负。由于dxva在底层处理,不和播放器藕合,所以不需要针对不同的播放器做适配来实现视频重定向。



技术实现要素:

针对现有技术的不足,本发明提供了一种音视频的重定向方法及装置,解决了服务器消耗大的问题。

为实现以上目的,本发明通过以下技术方案予以实现:

根据本发明第一方面,提供一种音视频的重定向方法,包括:

对播放的音视频进行分离处理,分别截获视频数据及音频数据;

将所述视频数据及所述音频数据发送至所述客户端,供所述客户端将接收到的所述视频数据及所述音频数据进行解码并显示;

其中,所述视频数据及所述音频数据的播放进度相同。

进一步地,所述对播放视频进行分离处理,分别截获视频数据及音频数据,包括:

使用音视频分离器对所述音视频进行分离处理;

其中,所述音视频分离器在所述音视频解码过程中分别截获视频数据及音频数据。

进一步地,所述使用音视频分离器对所述音视频进行分离处理,包括:

使用指定播放器的音视频分离器按预设参数对所述音视频进行分离处理。

进一步地,所述分别截获视频数据及音频数据,包括:

截获音频数据及所述音频数据对应的播放进度时间t1;

截获视频数据及所述视频数据对应的播放进度时间t2;

其中,所述音频数据为音频码流,所述视频数据为视频码流。

进一步地,所述将所述视频数据及所述音频数据发送至所述客户端,包括:

根据所述播放时间t1与所述播放时间t2的大小关系,调整所述音频数据及所述视频数据的截获间隔;

当所述音频数据的播放进度时间t1等于当前视频数据的播放进度时间t1时,将所述视频数据及音频数据发送至所述客户端。

根据本发明第二方面,提供一种音视频的重定向装置,包括:

处理模块,用于对播放的音视频进行分离处理,分别截获视频数据及音频数据;

发送模块,用于将所述视频数据及所述音频数据发送至所述客户端,供所述客户端将接收到的所述视频数据及所述音频数据进行解码并显示;

其中,所述视频数据及所述音频数据的播放进度相同。

进一步地,所述处理模块包括:

第一处理子单元,用于使用音视频分离器对所述音视频进行分离处理;

其中,所述音视频分离器在所述音视频解码过程中分别截获视频数据及音频数据。

进一步地,所述处理模块还包括:

第二处理子单元,用于使用指定播放器的音视频分离器按预设参数对所述音视频进行分离处理。

进一步地,所述处理模块包括:

第一截获单元,用于截获音频数据及所述音频数据对应的播放进度时间t1;

第二截获单元,用于截获视频数据及所述视频数据对应的播放进度时间t2;

其中,所述音频数据为音频码流,所述视频数据为视频码流。

进一步地,所述发送模块包括:

第一发送单元,用于根据所述播放时间t1与所述播放时间t2的大小关系,调整所述音频数据及所述视频数据的截获间隔;

第二发送单元,用于当所述音频数据的播放进度时间t1等于当前视频数据的播放进度时间t1时,将所述视频数据及音频数据发送至所述客户端。

本发明实施例提供了一种音视频的重定向方法及装置。具备以下有益效果:

通过在服务器播放视频时捕获音频码流、视频码流,将音频码流、视频码流重定向到客户端进行音视频同步播放;不仅可以释放服务器的cpu资源,提高服务器响应速度,还可以使得客户端播放过程中音频与视频同步,提升播放效果。

附图说明

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

图1是本发明中一实施例中示出的音视频的重定向方法的流程图。

图2是本发明中另一实施例中示出的音视频的重定向方法的流程图。

图3是本发明中一实施例中示出的音视频的重定向装置的方框图。

具体实施方式

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

现有技术中,现有的基于dxva的视频重定向技术,利用驱动层硬件加速来实现在播放器播放过程中截获视频码流。此方案的缺点在于重定向支持的视频编码格式受到硬件加速的限制,不是所有的视频都能开启硬件加速,具体能否开启硬件加速还要依赖显卡的解码能力,可以借助一款软件(dxvachecker)来检测硬件加速能力。但现有的dxva技术的缺点是需要替换系统库文件,并且依赖显卡的硬件加速能力,它只能重定向视频数据,对音频数据解码还是在虚机上进行。另外,这种方式的重定向截获的码流缺少音频数据,不利于在播放过程中音视频同步。

因此本发明提供一种音视频的重定向方法,使得音视频重定向无需替换系统文件、不依赖于显卡的加速能力,并能够与视频数据一起重定向音频数据,使音频数据与视频数据同步定向至客户端。

图1是本发明中一实施例中示出的音视频的重定向方法的流程图。如图1所示,本发明提供的音视频的重定向方法,包括以下步骤:

在步骤101中,对播放的音视频进行分离处理,分别截获视频数据及音频数据。

在该步骤中,所述播放的音视频可以是客户端通过远程桌面向服务器请求播放的音视频。具体可采用使用音视频分离器对所述音视频进行分离处理,该音视频分离器在所述音视频解码过程中分别截获视频数据及音频数据。

其中,音视频分离器可以使用指定播放器自带的音视频分离器对音视频进行处理。举例来说,使用potplayer播放器,使用其内置的源滤镜/分离器设置功能按预设参数对所述音视频进行分离处理;例如,按播放帧序列将音视频分离为音频码流以及视频码流。这样,使用播放器对音视频进行分离处理,无需替换系统库文件,不依赖显卡的硬件加速能力。当然,也可以采用其他带有分离功能播放器,本公开在此不做限制。

在步骤102中,将所述视频数据及所述音频数据发送至所述客户端,供所述客户端将接收到的所述视频数据及所述音频数据进行解码并显示。

在该步骤中,发送给所述客户端的所述视频数据及所述音频数据的播放时间进度相同。所述客户端接收到所述视频数据及所述音频数据后,分别用音频解码器和视频解码器处理所述视频数据及所述音频数据,然后进行播放显示;在客户端进行音视频解码,可以减轻服务器对音视频的解码的cpu占用,以释放服务器资源。由于所述视频数据及所述音频数据播放时间进度相同,因而可以在播放过程中做到音频与视频同步,从而提升播放效果。

下面通过一具体实施例对本发明作进一步地说明。图2是本发明中另一实施例中示出的音视频的重定向方法的流程图。如图2所示,所示重定向方法包括以下步骤:

在步骤201中,音视频分离。

在音视频解码过程中使用音视频分离器对所述音视频进行分离处理,将音视频分离为视频码流和音频码流。

在步骤202中,截获音频数据,记录播放进度时间t1。

截获上述步骤中分离的音频码流,并记录当前音频播放的时间进度t1。在该步骤中还可以屏蔽原来播放器的解码播放流程。

在步骤203中,截获视频数据,记录播放进度时间t2。

截获上述步骤中分离的视频码流,并记录当前视频播放的时间进度t2。在该步骤中还可以屏蔽原来播放器的解码播放流程。

在步骤204中,对比播放进度时间t1与播放进度时间t2;当t1≥t2时执行步骤205,当t1小于t2时执行步骤206。

在该步骤中,可通过截获音频数据及所述音频数据对应的播放进度时间t1,及截获视频数据及所述视频数据对应的播放进度时间t2;然后根据所述播放进度时间t1与所述播放进度时间t2的大小关系,调整所述音频数据及所述视频数据的截获间隔。当所述音频数据的播放进度时间t1等于当前视频数据的播放进度时间t1时,将所述视频数据及音频数据发送至所述客户端。

由于常的播放过程中每两个视频帧之间会有一个帧间隔时间时间,这个时间和视频源的帧率有关,其关系可以简单的表示为:帧间隔时间=1000/帧率。假如音频超前,视频能够以最快的速度发送到客户端,这个中间不做等待,不影响观看视频。因为网络传输速度远远高于音频播放速度,所以视频处理进度能够赶上音频。具体执行以下步骤。

在步骤205中,截获视频数据。

在该步骤中,响应于所述播放进度时间t1大于或等于所述播放进度时间t2,表示音频超前。可截获当前视频数据的下一帧视频数据,直至截获的视频数据与当前截获的音频相匹配。当所述视频数据的播放进度时间t2等于当前视频数据的播放进度时间t1时,将所述视频数据及音频数据发送至所述客户端。

在步骤206中,等待音频数据同步。

在该步骤中,响应于所述播放进度时间t1小于所述播放进度时间t2时,表示视频超前。可暂停截获视频数据并等待一定时间(不影响观看体验)后再继续截获音频数据,直至截获的视频数据与当前截获的音频相匹配。当所述音频数据的播放进度时间t1等于当前视频数据的播放进度时间t1时,将所述视频数据及音频数据发送至所述客户端。

在步骤207中,发送至客户端。

所述客户端将接收到的所述视频数据及所述音频数据进行解码并显示。

由上述实施例可知,本发明在服务端播放视频时,通过音视频分离器在其音视频解码过程中截获音视频码流,然后重定向到客户端进行音视频同步播放。实现了利用音视频分离器获视频码流进行视频重定向。音视频分离器同时重定向音视频数据,使得可以在播放过程中做音视频同步,可以达到更好的播放效果。

如图3所示,本发明还提供一种音视频的重定向装置,该装置包括:

处理模块31,用于对播放的音视频进行分离处理,分别截获视频数据及音频数据;

发送模块32,用于将所述视频数据及所述音频数据发送至所述客户端,供所述客户端将接收到的所述视频数据及所述音频数据进行解码并显示;

其中,所述视频数据及所述音频数据的播放进度相同。

进一步地,所述处理模块31包括:

第一处理子单元,用于使用音视频分离器对所述音视频进行分离处理;

其中,所述音视频分离器在所述音视频解码过程中分别截获视频数据及音频数据。

进一步地,所述处理模块31还包括:

第二处理子单元,用于使用指定播放器的音视频分离器按预设参数对所述音视频进行分离处理。

进一步地,所述处理模块31包括:

第一截获单元,用于截获音频数据及所述音频数据对应的播放进度时间t1;

第二截获单元,用于截获视频数据及所述视频数据对应的播放进度时间t2;

其中,所述音频数据为音频码流,所述视频数据为视频码流。

进一步地,所述发送模块32包括:

第一发送单元,用于根据所述播放时间t1与所述播放时间t2的大小关系,调整所述音频数据及所述视频数据的截获间隔;

第二发送单元,用于当所述音频数据的播放进度时间t1等于当前视频数据的播放进度时间t1时,将所述视频数据及音频数据发送至所述客户端。

上述装置中各个模块、单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

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

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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