流式录像下载方法、装置、存储介质及电子装置与流程

文档序号:31049282发布日期:2022-08-06 06:20阅读:255来源:国知局
流式录像下载方法、装置、存储介质及电子装置与流程

1.本发明实施例涉及数据处理技术领域,具体而言,涉及一种流式录像下载方法、装置、存储介质及电子装置。


背景技术:

2.视频会议系统包含了mcu(多点控制单元,即视频会议服务器)及软、硬终端、录播服务器等各类参与设备。终端采集图像声音并经过编码发送给mcu,mcu则根据会议要求将多个终端发送的图像进行融合或不进行融合,声音混音或不混音后发送给各个参与终端,从而实现多方与会人员的音视频通话。而对于一些重要的会议往往会被要求打开录像,以便后续备查或者制作培训课件。为了利用流式文件系统的性能不衰减、随意切片、无碎片化等优势,相关技术中有使用cqfs(circular queue file system,循环队列文件系统)来存储会议录像,cqfs文件系统中存储的是会议音视频流,而不是录像文件。而当下世界经济形势严峻,故国内很多企业或机构均加速了国产化软件及硬件采购替换的进程。而在国产化pc操作系统环境中,若使用浏览器插件方案来下载流式存储的录像文件,将存在极大的技术困难。即相关技术中存在着在浏览器中下载流式文件时需要严重依赖插件的问题。
3.针对相关技术中存在的下载流式文件需要依赖插件的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本发明实施例提供了一种流式录像下载方法、装置、存储介质及电子装置,以至少解决相关技术中存在的下载流式文件需要依赖插件的问题。
5.根据本发明的一个实施例,提供了一种流式录像下载方法,包括:第一服务接收客户端的第一请求,其中,所述第一请求是在所述客户端接收到第一触发指令后发送的,所述第一请求用于请求对目标录像信息所指示的目标流式录像进行转码,所述第一请求中包括所述目标流式录像的目标参数;所述第一服务基于所述目标参数调用目标下载程序,以指示所述目标下载程序向第二服务发起第二请求,其中,所述第二请求用于指示所述第二服务向所述目标下载程序传输所述目标流式录像,以及指示所述目标下载程序将所述目标流式录像转化为目标录像文件并写入第一存储区域,以供所述客户端下载。
6.在一个示例性实施例中,所述第一服务基于所述目标参数调用目标下载程序,以指示所述目标下载程序向第二服务发起第二请求包括:所述第一服务基于所述目标参数构造目标统一资源定位器url,其中,所述目标url用于指示所述目标流式录像在第二存储区域中的位置;所述第一服务通过将所述目标url输入所述目标下载程序的方式调用所述目标下载程序,以指示所述目标下载程序向所述第二服务发起所述第二请求。
7.在一个示例性实施例中,在第一服务接收客户端的第一请求之后,所述方法还包括:所述第一服务在所述第一存储区域中创建目标目录,其中,所述目标目录用于存储所述目标录像文件;所述第一服务通过将所述目标url输入所述目标下载程序的方式调用所述
目标下载程序,以指示所述目标下载程序向所述第二服务发起所述第二请求包括:所述第一服务通过将所述目标url和所述目标目录输入所述目标下载程序的方式调用所述目标下载程序,以指示所述目标下载程序请求所述第二服务向所述目标下载程序传输所述目标流式录像,以及指示所述目标下载程序将所述目标流式录像转化为所述目标录像文件并写入所述目标目录中。
8.在一个示例性实施例中,所述方法还包括:所述第一服务接收所述客户端发送的第三请求,其中,所述第三请求用于请求获取所述目标流式录像的目标状态参数,所述目标状态参数包括所述目标流式录像的转化状态和当前帧数据的目标时间戳信息,其中,所述当前帧数据为所述目标流式录像中包括的当前正在进行转化的帧数据;所述第一服务基于所述第三请求将所述目标状态参数返回给所述客户端。
9.在一个示例性实施例中,所述第一服务基于所述第三请求将所述目标状态参数返回给所述客户端,包括:所述第一服务基于所述第三请求从目标状态文件中获取所述目标状态参数,其中,所述目标状态文件是由所述目标下载程序基于目标目录所构造的文件,所述目标目录是由所述第一服务基于所述目标参数在所述第一存储区域中创建并输入至所述目标下载程序的,所述目标状态参数是在所述第一服务调用所述目标下载程序后指示所述目标下载程序基于所述目标流式录像的转化过程所确定并写入所述目标状态文件中的;所述第一服务将所述目标状态参数返回给所述客户端;其中,所述转化状态包括第一状态,第二状态和第三状态,所述第一状态用于指示所述目标流式录像正在转化中的状态,所述第二状态用于指示所述目标流式录像已转化完成的状态,所述第三状态用于指示所述目标流式录像转化失败的状态。
10.在一个示例性实施例中,所述方法还包括:所述第一服务在基于所述目标状态参数确定所述目标流式录像已转化完成的情况下,从目标目录中获取目标录像文件列表,其中,所述目标录像文件列表中包括一个或多个所述目标录像文件,所述目标目录用于存储一个或多个所述目标录像文件;所述第一服务基于所述目标录像文件列表生成目标地址列表,其中,所述目标地址列表中包括一个或多个与所述目标录像文件对应的目标地址;所述第一服务将所述目标地址列表返回给所述客户端,并指示所述客户端显示所述目标地址列表,以及,在所述第一服务接收到第一下载指令的情况下,将所述目标录像文件发送至所述客户端,其中,所述第一下载指令是所述客户端接收到第二触发指令后发送的。
11.在一个示例性实施例中,所述第一服务基于所述第三请求将所述目标状态参数返回给所述客户端,包括:所述第一服务将所述目标状态参数返回给所述客户端,以指示所述客户端基于所述目标时间戳信息及所述目标参数确定出目标转化进度,并在所述客户端显示所述目标转化进度。
12.在一个示例性实施例中,在第一服务接收客户端的第一请求之后,所述方法还包括:所述第一服务在确定所述第一存储区域中存在与所述目标参数对应的所述目标录像文件的情况下,将第二目标地址列表返回给所述客户端,以供所述客户端下载,其中,所述第二目标地址列表是所述第一服务基于所述目标录像文件所生成的。
13.在一个示例性实施例中,所述目标参数包括:所述目标流式录像的目标标识、所述目标流式录像的目标开始时间及所述目标流式录像的目标结束时间。
14.根据本发明的另一个实施例,还提供了一种流式录像下载方法,包括:目标下载程
序接收第一服务的第二调用指令,其中,所述第二调用指令是在所述第一服务接收到客户端的第一请求之后发出的,所述第一请求是在所述客户端接收到第一触发指令后发送的,所述第一请求用于请求对目标录像信息所指示的目标流式录像进行转码,所述第一请求中包括所述目标流式录像的目标参数;所述目标下载程序基于所述第二调用指令向第二服务发起第二请求,以请求所述第二服务向所述目标下载程序传输所述目标流式录像;所述目标下载程序接收所述目标流式录像及将所述目标流式录像转化为目标录像文件并写入第一存储区域,以供所述客户端下载。
15.在一个示例性实施例中,在目标下载程序接收第一服务的第二调用指令之后,所述方法还包括:所述目标下载程序基于所述第二调用指令中包括的目标统一资源定位器url,请求所述第二服务向所述目标下载程序传输所述目标流式录像,其中,所述目标url是所述第一服务基于所述目标参数构造的,所述目标url用于指示所述目标流式录像在第二存储区域中的位置;所述目标下载程序接收所述目标流式录像及将所述目标流式录像转化为所述目标录像文件并写入目标目录中,以供所述客户端下载,其中,所述目标目录是所述第一服务在接收到所述第一请求之后在所述第一存储区域中创建的,所述目标目录用于存储所述目标录像文件。
16.在一个示例性实施例中,所述目标下载程序向第二服务发起第二请求,以请求所述第二服务向所述目标下载程序传输所述目标流式录像包括:所述目标下载程序设定目标传输速率;所述目标下载程序向所述第二服务发起所述第二请求,以请求所述第二服务按照所述目标传输速率向所述目标下载程序传输所述目标流式录像。
17.在一个示例性实施例中,所述方法还包括:所述目标下载程序按照预定周期检查所述目标流式录像的目标状态参数,其中,所述目标状态参数包括所述目标流式录像的转化状态和当前帧数据的目标时间戳信息,所述转化状态包括第一状态,第二状态和第三状态,所述第一状态用于指示所述目标流式录像正在转化中的状态,所述第二状态用于指示所述目标流式录像已转化完成的状态,所述第三状态用于指示所述目标流式录像转化失败的状态,所述当前帧数据为所述目标流式录像中包括的当前正在进行转化的帧数据;所述目标下载程序将所述目标状态参数写入目标状态文件中,以指示所述第一服务在接收到所述客户端发送的第三请求的情况下,将所述目标状态参数返回给所述客户端,其中,所述第三请求用于请求获取所述目标流式录像的所述目标状态参数,所述目标状态文件是由所述目标下载程序基于目标目录所构造的文件,所述目标目录是由所述第一服务基于所述目标参数在所述第一存储区域中创建并输入至所述目标下载程序的。
18.在一个示例性实施例中,所述目标参数包括:所述目标流式录像的目标标识、所述目标流式录像的目标开始时间及所述目标流式录像的目标结束时间。
19.根据本发明的又一个实施例,还提供了一种流式录像下载装置,位于第一服务中,包括:第一接收模块,用于接收客户端的第一请求,其中,所述第一请求是在所述客户端接收到第一触发指令后发送的,所述第一请求用于请求对目标录像信息所指示的目标流式录像进行转码,所述第一请求中包括所述目标流式录像的目标参数;第一处理模块,用于基于所述目标参数调用目标下载程序,以指示所述目标下载程序向第二服务发起第二请求,其中,所述第二请求用于指示所述第二服务向所述目标下载程序传输所述目标流式录像,以及指示所述目标下载程序将所述目标流式录像转化为目标录像文件并写入第一存储区域,
以供所述客户端下载。
20.根据本发明的又一个实施例,还提供了一种流式录像下载装置,位于目标下载程序中,包括:第二接收模块,用于接收第一服务的第二调用指令,其中,所述第二调用指令是在所述第一服务接收到客户端的第一请求之后发出的,所述第一请求是在所述客户端接收到第一触发指令后发送的,所述第一请求用于请求对目标录像信息所指示的目标流式录像进行转码,所述第一请求中包括所述目标流式录像的目标参数;请求模块,用于基于所述第二调用指令向第二服务发起第二请求,以请求所述第二服务向所述目标下载程序传输所述目标流式录像;第二处理模块,用于接收所述目标流式录像及将所述目标流式录像转化为目标录像文件并写入第一存储区域,以供所述客户端下载。
21.根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
22.根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
23.通过本发明,由第一服务接收客户端的第一请求,其中,第一请求用于请求对目标流式录像进行转码,第一请求中包括目标流式录像的目标参数,第一服务再基于目标参数调用目标下载程序,以指示目标下载程序向第二服务发起第二请求,以请求第二服务向目标下载程序传输目标流式录像,以及指示目标下载程序将目标流式录像转化为目标录像文件并写入第一存储区域中,以供客户端下载。实现了不需要依赖插件即可下载流式录像的目的。因此,解决了相关技术中存在的使用浏览器下载流式文件需要依赖插件的问题,达到了提高流式录像下载方法的适用性的效果。
附图说明
24.图1是本发明实施例的流式录像下载方法的移动终端硬件结构框图;图2是根据本发明实施例的一种流式录像下载方法流程图;图3是根据本发明实施例的另一种流式录像下载方法流程图;图4是根据本发明实施例的流式录像下载系统架构图;图5是根据本发明具体实施例的媒体流私有帧头示例图;图6是根据本发明具体实施例的cqfs文件系统中录像存储格式示例图;图7是根据本发明具体实施例的cqfs流式录像示例图;图8是根据本发明具体实施例的流式录像无插件下载方法的流程图;图9是根据本发明实施例的一种流式录像下载装置的结构框图;图10是根据本发明实施例的另一种流式录像下载装置的结构框图。
具体实施方式
25.下文中将参考附图并结合实施例来详细说明本发明的实施例。
26.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
27.本技术实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的流式录像下载方法的移动终端硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
28.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的流式录像下载方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
29.传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
30.在本实施例中提供了一种流式录像下载方法,图2是根据本发明实施例的一种流式录像下载方法流程图,如图2所示,该流程包括如下步骤:步骤s202,第一服务接收客户端的第一请求,其中,所述第一请求是在所述客户端接收到第一触发指令后发送的,所述第一请求用于请求对目标录像信息所指示的目标流式录像进行转码,所述第一请求中包括所述目标流式录像的目标参数;步骤s204,所述第一服务基于所述目标参数调用目标下载程序,以指示所述目标下载程序向第二服务发起第二请求,其中,所述第二请求用于指示所述第二服务向所述目标下载程序传输所述目标流式录像,以及指示所述目标下载程序将所述目标流式录像转化为目标录像文件并写入第一存储区域,以供所述客户端下载。
31.通过上述步骤,由第一服务接收客户端的第一请求,其中,第一请求用于请求对目标流式录像进行转码,第一请求中包括目标流式录像的目标参数,第一服务再基于目标参数调用目标下载程序,以指示目标下载程序向第二服务发起第二请求,以请求第二服务向目标下载程序传输目标流式录像,以及指示目标下载程序将目标流式录像转化为目标录像文件并写入第一存储区域中,以供客户端下载。实现了不需要依赖插件即可下载流式录像的目的。因此,解决了相关技术中存在的使用浏览器下载流式文件需要依赖插件的问题,达到了提高流式录像下载方法的适用性的效果。
32.其中,上述步骤的执行主体可以为服务端,或服务端中包括的应用服务,例如,上述第一服务,或web服务端,或者为配置在存储设备上的具备人机交互能力的处理器,或者为具备类似处理能力的处理设备或处理单元等,但不限于此。下面以第一服务执行上述操
作为例(仅是一种示例性说明,在实际操作中还可以是其他的设备或模块来执行上述操作)进行说明。
33.在上述实施例中,第一服务接收客户端的第一请求,其中,第一请求是在客户端接收到第一触发指令后发送的,第一请求用于请求对目标录像信息所指示的目标流式录像进行转码,第一请求中包括目标流式录像的目标参数,例如,上述客户端为web端,或移动端,第一服务为web服务端,第一触发指令可以是用户在web端点击或触摸与目标流式录像相关的目标录像信息后所生成的指令,目标录像信息可以是以标签或控件或链接或图片等形式展现在web端,目标流式录像是存储于cqfs文件系统中的音视频流,例如,将视频会议系统中的会议录像存储于cqfs文件系统中,或者,在视频监控应用领域,将摄像设备(摄像头,或枪机,或球机等)采集的多媒体数据流存储于cqfs文件系统中,上述目标参数可以包括目标流式录像的标识、目标流式录像的开始时间及结束时间,上述目标参数可称为转码请求参数,即相当于录像片段的标识、开始时间及结束时间;然后,第一服务基于目标参数调用目标下载程序,以指示目标下载程序向第二服务发起第二请求,其中,第二请求用于指示第二服务向目标下载程序传输目标流式录像,以及指示目标下载程序将目标流式录像转化为目标录像文件并写入第一存储区域,以供客户端下载,例如,第一服务通过将目标参数输入目标下载程序的方式调用目标下载程序,目标下载程序可基于目标参数请求第二服务传输目标流式录像,例如,第二服务可以是流媒体服务器,目标下载程序可启动一个rtsp客户端,通过rtsp协议向第二服务发起音视频流回放请求,即请求第二服务向目标下载程序传输音视频流,目标下载程序接收目标流式录像,将目标流式录像转化为标准格式的录像文件并存入第一存储区域中,例如,第一存储区域可以是ext4(fourth extended file system,第四代扩展文件系统)文件系统,ext4可作为临时文件系统,这样当用户在web浏览器端点击下载入口时,可从第一存储区域中下载对应的录像文件,上述目标录像文件可包括一个或多个录像文件。实现了不需要依赖插件即可下载流式录像的目的。因此,解决了相关技术中存在的使用浏览器下载流式文件需要依赖插件的问题,达到了提高流式录像下载方法的适用性的效果。
34.在一个可选的实施例中,所述第一服务基于所述目标参数调用目标下载程序,以指示所述目标下载程序向第二服务发起第二请求包括:所述第一服务基于所述目标参数构造目标统一资源定位器url,其中,所述目标url用于指示所述目标流式录像在第二存储区域中的位置;所述第一服务通过将所述目标url输入所述目标下载程序的方式调用所述目标下载程序,以指示所述目标下载程序向所述第二服务发起所述第二请求。在本实施例中,第一服务可基于目标参数构造目标url,即构造目标流式录像(或称为录像片段)下载的rstp url,目标参数可包括录像片段的流id、开始时间戳和结束时间戳,目标流式录像存储于第二存储区域中,例如,第二存储区域为cqfs文件系统,第一服务再将目标参数输入目标下载程序以调用目标下载程序,并指示目标下载程序向第二服务发起第二请求。通过本实施例,实现了基于目标参数构造目标url并调用目标下载程序的目的。
35.在一个可选的实施例中,在第一服务接收客户端的第一请求之后,所述方法还包括:所述第一服务在所述第一存储区域中创建目标目录,其中,所述目标目录用于存储所述目标录像文件;所述第一服务通过将所述目标url输入所述目标下载程序的方式调用所述目标下载程序,以指示所述目标下载程序向所述第二服务发起所述第二请求包括:所述第
一服务通过将所述目标url和所述目标目录输入所述目标下载程序的方式调用所述目标下载程序,以指示所述目标下载程序请求所述第二服务向所述目标下载程序传输所述目标流式录像,以及指示所述目标下载程序将所述目标流式录像转化为所述目标录像文件并写入所述目标目录中。在本实施例中,第一服务在接收到第一请求后,还可在第一存储区域中创建目标目录,该目标目录用于存储目标录像文件,可选地,目标目录名称中可包括前述目标参数,如录像片段的流id、开始时间戳和结束时间戳,第一服务在调用目标下载程序时,可将目标url和目标目录输入目标下载程序以调用目标下载程序,这样,在目标下载程序将目标流式录像转码后,可将目标录像文件存储于目标目录中,以供用户在客户端下载;可选地,在实际应用中,第一服务在将上述目标url和目标目录输入给目标下载程序时,还可输入一个录像存储的目标路径前缀,以使目标下载程序基于目标目录和目标路径前缀构造录像文件的存储路径,例如,目标目录为“/data”,目标路径前缀为“8312”,这样,目标下载程序在将目标流式录像转化为目标录像文件后的文件名“8312_1.mp4”或“8312_2.mp4”或其它,即完整的路径为“/data/8312_1.mp4”;进一步地,目标下载程序还可基于从第二服务所传输的音视频帧数据中获取数据流的类型,如演示流,或视频主流,并在构造录像文件的存储路径时,将流类型也包括在存储路径的名称中,这样,可以将演示流或视频主流对应的录像文件分别写入相应的存储路径中;可选地,在实际应用中,当用户在web浏览器端设置了切片处理策略,例如,一个目标流式录像需要被切分为多个片段,目标下载程序在对目标流式录像进行转化时会生成不同片段所对应的片段索引(或称为文件标记),如上述8312_1、8312_2,分别表示第一片段、第二片段,这样可以更方便用户请求转码或下载所需要的录像片段。通过本实施例,实现了创建目标目录的目的,以及实现了将转码后的目标录像文件存储于目标目录中的目的。
36.在一个可选的实施例中,所述方法还包括:所述第一服务接收所述客户端发送的第三请求,其中,所述第三请求用于请求获取所述目标流式录像的目标状态参数,所述目标状态参数包括所述目标流式录像的转化状态和当前帧数据的目标时间戳信息,其中,所述当前帧数据为所述目标流式录像中包括的当前正在进行转化的帧数据;所述第一服务基于所述第三请求将所述目标状态参数返回给所述客户端。在本实施例中,第一服务还可接收客户端发送的第三请求,以请求获取目标流式录像的目标状态参数,例如,目标流式录像是否转化完成,或目标流式录像当前正在转化的帧数据的时间戳信息(或称为最新一帧的时间戳信息),第一服务再将目标状态参数返回给客户端,这样,用户可及时获取目标流式录像的转化状态,达到了提升用户使用体验的效果。通过本实施例,实现了基于客户端发送的第三请求将目标流式录像的目标状态参数返回给客户端的目的。
37.在一个可选的实施例中,所述第一服务基于所述第三请求将所述目标状态参数返回给所述客户端,包括:所述第一服务基于所述第三请求从目标状态文件中获取所述目标状态参数,其中,所述目标状态文件是由所述目标下载程序基于目标目录所构造的文件,所述目标目录是由所述第一服务基于所述目标参数在所述第一存储区域中创建并输入至所述目标下载程序的,所述目标状态参数是在所述第一服务调用所述目标下载程序后指示所述目标下载程序基于所述目标流式录像的转化过程所确定并写入所述目标状态文件中的;所述第一服务将所述目标状态参数返回给所述客户端;其中,所述转化状态包括第一状态,第二状态和第三状态,所述第一状态用于指示所述目标流式录像正在转化中的状态,所述
第二状态用于指示所述目标流式录像已转化完成的状态,所述第三状态用于指示所述目标流式录像转化失败的状态。在本实施例中,第一服务可基于第三请求从目标状态文件中获取目标状态参数,目标状态文件是由目标下载程序基于目标目录所构造的文件,在实际应用中,第一服务在将目标目录输入至目标下载程序时,还可同时输入一个目标文件前缀,以使目标下载程序基于目标目录和目标文件前缀构造录像下载状态文件的路径,上述目标状态文件用于存储目标流式录像的转化状态的信息,例如,转化状态为“转化中”(或“进行中”),或“已完成”,或“已失败”(或“转化失败”)等,而上述目标状态参数是由目标下载程序在将目标流式录像进行转码过程中所确定的,并由目标下载程序将目标状态参数写入上述目标状态文件中的。通过本实施例,实现了获取目标状态参数并将目标状态参数返回给客户端的目的。
38.在一个可选的实施例中,所述方法还包括:所述第一服务在基于所述目标状态参数确定所述目标流式录像已转化完成的情况下,从目标目录中获取所述目标录像文件,其中,所述目标录像文件列表中包括一个或多个所述目标录像文件,所述目标目录用于存储一个或多个所述目标录像文件;所述第一服务基于所述目标录像文件列表生成目标地址列表,其中,所述目标地址列表中包括一个或多个与所述目标录像文件对应的目标地址;所述第一服务将所述目标地址列表返回给所述客户端,并指示所述客户端显示所述目标地址列表,以及,在所述第一服务接收到第一下载指令的情况下,将所述目标录像文件发送至所述客户端,其中,所述第一下载指令是所述客户端接收到第二触发指令后发送的。在本实施例中,当第一服务确定目标流式录像已转化完成时,例如,当第一服务确定目标流式录像的目标状态参数为“已完成”(对应上述第二状态)时,可从前述目标目录中获取目标录像文件列表,目标录像文件列表中可包括一个或多个目标录像文件,再基于目标录像文件列表生成目标地址列表,例如,当目标流式录像的容量较大时,例如目标流式录像为3小时或5小时或8小时的会议录像,在将目标流式录像转码为标准录像文件时可能会生成多个录像文件进行存储,然后,第一服务再将目标地址列表返回给客户端,客户端可将地址列表显示出来,以方便用户下载,当目标录像文件列表中包括多个目标录像文件时,客户端展示的也将是多个目标地址,这样,用户可分别下载各个目标录像文件。通过本实施例,实现了在确定目标流式录像转码完成后生成录像下载地址列表并返回给客户端以供下载的目的。
39.在一个可选的实施例中,所述第一服务基于所述第三请求将所述目标状态参数返回给所述客户端,包括:所述第一服务将所述目标状态参数返回给所述客户端,以指示所述客户端基于所述目标时间戳信息及所述目标参数确定出目标转化进度,并在所述客户端显示所述目标转化进度。在本实施例中,第一服务将目标状态参数返回给客户端后,客户端可根据目标流式录像的开始时间、结束时间以及目标状态参数中所包括的当前帧数据的目标时间戳信息,确定出目标转化进度,例如,转化进度为60%,或80%等,以方便用户更直观地了解当前目标流式录像的转化情况,进一步提升了用户的使用体验。
40.在一个可选的实施例中,在第一服务接收客户端的第一请求之后,所述方法还包括:所述第一服务在确定所述第一存储区域中存在与所述目标参数对应的所述目标录像文件的情况下,将第二目标地址列表返回给所述客户端,以供所述客户端下载,其中,所述第二目标地址列表是所述第一服务基于所述目标录像文件所生成的。在本实施例中,第一服务在接收到第一请求后,当确定第一存储区域中已经存在与目标参数相对应的目标录像文
件时,可直接将与该目标录像文件对应的下载地址列表返回给客户端,进而可供用户直接下载,实现了对转码已完成录像文件的复用机制,若用户请求的流id、开始时间戳、结束时间戳对应的录像文件已转码完成,且文件存在,则直接返回录像下载列表,跳过转码步骤,这样可节约大量的转码时间,可达到进一步提升用户使用体验的效果。
41.在一个可选的实施例中,所述目标参数包括:所述目标流式录像的目标标识、所述目标流式录像的目标开始时间及所述目标流式录像的目标结束时间。在本实施例中,上述目标流式录像的目标参数可包括目标流式录像的标识(如流id)、开始时间及结束时间。
42.在本实施例中还提供了另一种流式录像下载方法,图3是根据本发明实施例的另一种流式录像下载方法流程图,如图3所示,该流程包括如下步骤:步骤s302,目标下载程序接收第一服务的第二调用指令,其中,所述第二调用指令是在所述第一服务接收到客户端的第一请求之后发出的,所述第一请求是在所述客户端接收到第一触发指令后发送的,所述第一请求用于请求对目标录像信息所指示的目标流式录像进行转码,所述第一请求中包括所述目标流式录像的目标参数;步骤s304,所述目标下载程序基于所述第二调用指令向第二服务发起第二请求,以请求所述第二服务向所述目标下载程序传输所述目标流式录像;步骤s306,所述目标下载程序接收所述目标流式录像及将所述目标流式录像转化为目标录像文件并写入第一存储区域,以供所述客户端下载。
43.通过上述步骤,目标下载程序接收第一服务的第二调用指令,其中,第二调用指令是第一服务在接收到客户端发出的请求对目标流式录像进行转码的第一请求后发出的,第一请求中包括目标流式录像的目标参数,然后,目标下载程序基于第二调用指令向第二服务发起第二请求,以请求第二服务向目标下载程序传输目标流式录像,目标流式程序接收目标流式录像及将目标流式录像转化为目标录像文件并写入第一存储区域中,以供客户端下载。实现了不需要依赖插件即可下载流式录像的目的。因此,解决了相关技术中存在的使用浏览器下载流式文件需要依赖插件的问题,达到了提高流式录像下载方法的适用性的效果。
44.其中,上述步骤的执行主体可以为服务端,或服务端中包括的应用程序,例如,上述目标下载程序,或者为配置在存储设备上的具备人机交互能力的处理器,或者为具备类似处理能力的处理设备或处理单元等,但不限于此。下面以目标下载程序执行上述操作为例(仅是一种示例性说明,在实际操作中还可以是其他的设备或模块来执行上述操作)进行说明:在上述实施例中,目标下载程序接收第一服务的第二调用指令,其中,第二调用指令是在第一服务接收到客户端的第一请求之后发出的,第一请求是在客户端接收到第一触发指令后发送的,第一请求用于请求对目标录像信息所指示的目标流式录像进行转码,第一请求中包括目标流式录像的目标参数,例如,上述客户端为web端,或移动端,第一服务为web服务端,第一触发指令可以是用户在web端点击或触摸与目标流式录像相关的目标录像信息后所生成的指令,目标录像信息可以是以标签或控件或链接或图片等形式展现在web端,目标流式录像是存储于cqfs文件系统中的音视频流,例如,将视频会议系统中的会议录像存储于cqfs文件系统中,或者,在视频监控应用领域,将摄像设备(摄像头,或枪机,或球机等)采集的多媒体数据流存储于cqfs文件系统中,上述目标参数可以包括目标流式录像
的标识、目标流式录像的开始时间及结束时间,上述目标参数可称为转码请求参数,即相当于录像片段的标识、开始时间及结束时间,上述第二调用指令中包括目标参数,第一服务可通过将目标参数输入目标下载程序的方式调用目标下载程序;然后,目标下载程序基于第二调用指令向第二服务发起第二请求,以请求第二服务向目标下载程序传输目标流式录像,例如,第二服务可以是流媒体服务器,目标下载程序可启动一个rtsp客户端,通过rtsp协议向第二服务发起音视频流回放请求,即请求第二服务向目标下载程序传输音视频流;目标下载程序接收目标流式录像及将目标流式录像转化为目标录像文件并写入第一存储区域,以供客户端下载。例如,目标下载程序接收目标流式录像,将目标流式录像转化为标准格式的录像文件并存入第一存储区域中,第一存储区域可以是ext4(fourth extended file system,第四代扩展文件系统)文件系统,ext4可作为临时文件系统,这样当用户在web浏览器端点击下载入口时,可从第一存储区域中下载对应的录像文件,上述目标录像文件可包括一个或多个录像文件。实现了不需要依赖插件即可下载流式录像的目的。因此,解决了相关技术中存在的使用浏览器下载流式文件需要依赖插件的问题,达到了提高流式录像下载方法的适用性的效果。
45.在一个可选的实施例中,在目标下载程序接收第一服务的第二调用指令之后,所述方法还包括:所述目标下载程序基于所述第二调用指令中包括的目标统一资源定位器url,请求所述第二服务向所述目标下载程序传输所述目标流式录像,其中,所述目标url是所述第一服务基于所述目标参数构造的,所述目标url用于指示所述目标流式录像在第二存储区域中的位置;所述目标下载程序接收所述目标流式录像及将所述目标流式录像转化为所述目标录像文件并写入目标目录中,以供所述客户端下载,其中,所述目标目录是所述第一服务在接收到所述第一请求之后在所述第一存储区域中创建的,所述目标目录用于存储所述目标录像文件。在本实施例中,目标下载程序在接收第二调用指令后,可基于第二调用指令中包括的目标url请求第二服务传输目标流式录像,这样,在目标下载程序将目标流式录像转码后,可将目标录像文件存储于目标目录中,以供用户在客户端下载。通过本实施例,实现了基于目标url请求第二服务传输目标流式录像的目的,以及实现了将转码后的目标录像文件存储于目标目录中的目的。
46.在一个可选的实施例中,所述目标下载程序向第二服务发起第二请求,以请求所述第二服务向所述目标下载程序传输所述目标流式录像包括:所述目标下载程序设定目标传输速率;所述目标下载程序向所述第二服务发起所述第二请求,以请求所述第二服务按照所述目标传输速率向所述目标下载程序传输所述目标流式录像。在本实施例中,目标下载程序可设定目标传输速率(或称为回放速率),例如,可配置快放倍速(如128倍,或其它倍速),上述目标传输速率可根据需要进行调整的,以便快速传输目标流式录像。通过本实施例,实现了设定目标传输速率以传输目标流式录像的目的。
47.在一个可选的实施例中,所述方法还包括:所述目标下载程序按照预定周期检查所述目标流式录像的目标状态参数,其中,所述目标状态参数包括所述目标流式录像的转化状态和当前帧数据的目标时间戳信息,所述转化状态包括第一状态,第二状态和第三状态,所述第一状态用于指示所述目标流式录像正在转化中的状态,所述第二状态用于指示所述目标流式录像已转化完成的状态,所述第三状态用于指示所述目标流式录像转化失败的状态,所述当前帧数据为所述目标流式录像中包括的当前正在进行转化的帧数据;所述
目标下载程序将所述目标状态参数写入目标状态文件中,以指示所述第一服务在接收到所述客户端发送的第三请求的情况下,将所述目标状态参数返回给所述客户端,其中,所述第三请求用于请求获取所述目标流式录像的所述目标状态参数,所述目标状态文件是由所述目标下载程序基于目标目录所构造的文件,所述目标目录是由所述第一服务基于所述目标参数在所述第一存储区域中创建并输入至所述目标下载程序的。在本实施例中,目标下载程序可配置为周期性地检查目标流式录像的目标状态参数,例如,每间隔2秒(或3秒,或其它周期)检查目标状态参数,并将目标状态参数写入目标状态文件中,这样,当第一服务在接收到客户端请求获取目标流式录像的转码状态时,可将目标状态参数返回给客户端。通过本实施例,实现了周期性检查目标流式录像的转码状态的目的,还实现了由目标下载程序将目标状态参数写入目标状态文件中并由第一服务将目标状态参数返回给客户端以供客户端及时获取转码状态的目的。
48.在一个可选的实施例中,所述目标参数包括:所述目标流式录像的目标标识、所述目标流式录像的目标开始时间及所述目标流式录像的目标结束时间。在本实施例中,上述目标流式录像的目标参数可包括目标流式录像的标识(如流id)、开始时间及结束时间。
49.显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。下面结合实施例对本发明进行具体说明。
50.本发明实施例提供了一种流式录像下载系统,图4是根据本发明实施例的流式录像下载系统架构图,包括:录播及直播服务402(对应于前述第二服务),流式下载程序404(对应于前述目标下载程序),录播web服务406(对应于前述第一服务),web浏览器408(对应于前述客户端),cqfs文件系统(长期)410(对应于前述第二存储区域),ext4文件系统(临时)412(对应于前述第一存储区域)。下面以视频会议录播系统为例进行说明。
51.常见的视频会议媒体流类型如表1所示,媒体流ssrc生成规则, ssrc = 媒体流生产者id * 10 + 媒体流类型。
52.图5是根据本发明具体实施例的媒体流私有帧头示例图,其中关键字段datetime为系统墙上时间,用于录像索引以及录像查找;其中关键字段pts为系统单调时钟时间,用于录像音视频同步发送及同步播放;音频帧包含音频编码格式信息,视频关键帧包含分辨率、帧率、编码格式等扩展信息。
53.对于上述cqfs文件系统410中录像存储格式如图6所示,图6是根据本发明具体实施例的cqfs文件系统中录像存储格式示例图;cqfs流式录像存储内容如图7所示,图7是根据本发明具体实施例的cqfs流式录像示例图。
54.当然,上述系统也可以应用于视频监控系统中,例如,摄像设备(摄像头,或枪机,或球机等)采集的多媒体数据流存储于cqfs文件系统,也可通过浏览器无插件下载多媒体流式录像。
55.下面对上述系统中的其它组成部分的逻辑或功能分别进行说明。
56.1、录播及直播服务逻辑(1)提供基于流媒体协议(如rtsp协议)的流媒体回放服务,实现从cqfs文件系统获取流媒体数据,并发送给流媒体客户端;(2)流媒体回放支持倍速快放,可设定范围如1x到128x倍速;(3)提供浏览器无插件音视频流回放服务,协议包括hls、httpflv、webrtc等。
57.2、流式下载程序streamdownloader逻辑(1)输入一个rtsp url地址,地址代表一个视频会议录像片段;(2)输入一个录像存储路径前缀,用于构造录像文件路径recordfile及录像下载状态文件路径recordstatus;(3)使用录像下载状态文件路径recordstatus,初始化录像下载状态文件,写入下载初始状态为“进行中”;(4)初始化标准录像文件写入模块,使用recordfile打开录像文件,其中演示流和视频主流分别打开一个录像文件;(5)启动一个rtsp 客户端,向录播及直播服务发起rtsp协议的视频回放请求;(6)设定回放速率为可配置的快放倍速(例如128倍),以便快速回放录像;(7)接收录播及直播服务发送的音视频帧数据,包括:1)调用标准录像文件写入模块,将音视频帧数据写入录像文件,包括演示流和视频主流对应的录像文件;2)记录当前最新一帧音视频帧数据的墙上时间戳;(8)间隔一个时间周期(如2秒)检查rtsp客户端状态,具体地:1)若未完成,则向录像下载状态文件recordstatus写入状态“进行中”,写入最新一帧墙上时间戳;2)若已完成,则向录像下载状态文件recordstatus写入状态“已完成”,写入最新一帧墙上时间戳;3)若已报错,则向录像下载状态文件recordstatus写入状态“已失败”,写入最新一帧墙上时间戳;(9)收流结束,关闭rtsp客户端;(10)调用录像文件写入模块,写入源数据,关闭当前被打开的所有录像文件,生成完整的标准格式录像文件;(11)结束。
58.3、录播web服务逻辑(1)向web浏览器提供录像片段信息查询接口,将cqfs文件系统中存储的录像片段的流id、开始时间戳及结束时间戳返回给浏览器;(2)向web浏览器提供录像转码接口,实现将cqfs文件系统中的录像片段音视频流转码成标准格式的录像文件(如mp4),包括:
1)根据web录像转码请求参数,构造录像下载的rtspurl,包含录像片段的流id、开始时间戳和结束时间戳,ip则使用回环网络设备ip,从而避免走出口网络,示例如:rtsp://127.0.0.1/vod/2811/1634627939/1634628011;2)在设定的ext4文件系统(临时存储)中创建特定目录recordpath,目录名称包含录像片段的流id、开始时间戳和结束时间戳,用于存储转码后的录像文件;3)调用流式下载程序streamdownloader命令行,传入参数rtspurl和recordpath,开始下载转码;(3)向web浏览器提供录像转码状态获取接口,1)根据录像片段的流id、开始时间戳和结束时间戳,构造recordstatus文件名;2)将recordstatus文件中的文件写入状态和最新一帧墙上时间戳返回给浏览器;3)当文件写入状态为“已完成”时,获取recordpath下所有录像文件,生成录像下载地址列表返回给浏览器;(4)提供录像下载接口,将保存在ext4文件系统(临时存储)中的标准录像文件读取后返回给浏览器;(5)周期性检查ext4文件系统(临时存储)剩余空间,小于20%时,触发从老到新的录像文件删除操作,以便释放临时存储空间;(6)实现转码已完成录像文件复用机制,若用户请求的流id、开始时间戳、结束时间戳对应的录像文件已转码完成,且文件存在,则直接返回录像下载列表,跳过转码步骤;(7)实现录像转码任务并发数限制,避免由于下载耗尽磁盘性能导致的录像存储时录像数据丢失的问题;(8)实现转码后标准录像文件的下载限速,避免录播服务器带宽被录像下载请求耗尽;4、录播web浏览器端逻辑(1)调用web服务的录像片段信息查询接口,并展现在页面上,提供在线回放或者转码下载,提供“转码”入口用于触发服务端录像转码;(2)对接收到的录像片段进行进一步的切片处理,可选如下策略:1)自动切片,为了避免生成的mp4等格式录像文件过大,每2小时切一个录像片段,每个切片分别提供给用户进行“转码”及“下载”;示例,一段5小时的录像片段,会被自动切分为2小时、2小时、1小时三个录像片段进行转码下载;2)人工选择片段,选定web服务返回的一段录像后,在其范围之内再提供录像开始时间和录像结束时间的人工选择,选定后作为一个片段提供用户进行“转码”及“下载”;(3)当用户点击转码入口,则调用web服务的录像转码接口,将录像片段对应的流id、开始时间戳及结束时间戳发送给web服务,开始转码;(4)周期性调用web服务的录像转码状态获取接口,包括:1)获取文件写入状态和最新一帧墙上时间戳,根据开始时间戳、最新一帧时间戳、结束时间戳三个值生成转码进度(取值范围是0~100%),并将转码状态和进度展现在页面上;2)转码完成时,获取转码后的录像文件列表,并展现一个录像列表和一个下载入口;
(5)用户选定一个录像文件并点击下载入口时,调用web服务的录像下载接口将录像文件从录播服务器下载到浏览器端;(6)所有生成的录像文件从录播服务器下载到浏览器端后,流程结束。
59.以上是对上述系统中包括的录播及直播服务,流式下载程序,录播web服务,web浏览器的逻辑以及cqfs文件系统、ext4文件系统的作用进行的说明。
60.本发明实施例提供了一种流式录像无插件下载方法,图8是根据本发明具体实施例的流式录像无插件下载方法的流程图,该流程包括:s802,web浏览器调用录播web服务的录像片段信息查询接口;例如,可通过搜索关键词,以查询录像片段信息;可选地,在实际应用中,也可不通过查询手段,而是通过在web浏览器端翻页查找需要的录像片段信息;s804,录播web服务将cqfs文件系统中存储的录像片段的信息(例如,包括录像片段的流id、开始时间戳及结束时间戳信息)返回给web浏览器;s806,web浏览器页面提供在线回放或转码入口;录播web服务会向web浏览器提供录像转码接口,以实现将cqfs文件系统中的录像片段音视频流转码成标准格式的录像文件(如mp4);s808,用户点击转码入口,调用录播web服务的录像转码接口,将录像片段对应的流id、开始时间戳及结束时间戳发送给录播web服务;在实际应用中,用户在点击转码入口前,还可对接收到的录像片段的处理策略进行设置,例如,自动切片或人工选择片段;s810,录播web服务调用流式下载程序;s812,流式下载程序启动rtsp客户端,向录播及直播服务发起rtsp协议的视频回放请求;录播及直播服务提供基于流媒体协议(如rtsp协议)的流媒体回放服务,实现从cqfs文件系统获取流媒体数据,并发送给流媒体客户端(如上述rtsp客户端);s814,向录像下载状态文件写入状态,收流结束,生成标准格式录像文件;该步骤s814中,流式下载程序接收录播及直播服务发送的音视频帧数据中,会周期性地检查rtsp客户端状态,并将相应的状态写入录像下载状态文件recordstatus中;而录播web服务可向web浏览器提供录像转码状态获取接口,将recordstatus文件中的文件写入状态和最新一帧墙上时间戳返回给浏览器,这样,用户可在浏览器端获取录像的转码状态;在实际应用中,web浏览器端可周期性调用web服务的录像转码状态获取接口,以获取文件写入状态和最新一帧墙上时间戳,然后再结合录像片段的开始时间戳和结束时间戳,可得出该录像片段的转码进度,如80%,或50%,或100%等;当流式下载程序向录像下载状态文件recordstatus写入状态“已完成”时,录播web服务可获取recordpath下所有录像文件,生成录像下载地址列表返回给浏览器,即进入步骤s816;s816,录播web服务生成录像下载地址列表返回给web浏览器;s818,用户选定一个录像文件并点击下载入口,调用录播web服务的录像下载接口将标准格式录像文件下载到浏览器端。
61.在上述实施例中,通过在浏览器上查询录像片段、细化切片,触发服务端转码,然后在录播服务器上启动流式下载程序,发起rtsp协议请求快速回放,将cqfs文件系统中的音视频流下载并转储为标准格式的录像文件,后再提供给浏览器进行标准录像文件的下载,解决了流式文件系统cqfs中的录像无法使用浏览器无插件下载的技术问题。
62.通过本发明实施例,相对于相关技术中的方案具备以下优势:1)无需特别的应用软件,无需特别的浏览器插件,使用通用web浏览器即可下载流式文件系统cqfs中的录像片段。从而使视频会议流式录像存储方案适配国产化操作系统,大大提升了方案兼容性;2)录像下载时可选地进行进一步细化自动切片或人工选择时间窗切片,可提供给用户按需选择重点重要录像数据进行下载,从而减少录像下载等待时长,减少录像文件的磁盘空间占用、减少后期加工制作复杂度;这也一定程度上实现了会议音视频录像在线剪辑功能;3)这里实现的“转码”过程是将cqfs文件系统中的音视频流读取后转储为标准格式录像文件的过程,不涉及视频编码格式的二次编码,只是视频封装格式的变换,故相比对比文件中的录像转码合成,硬件开销低很多,硬件要求也低很多,从而节约录播系统的硬件成本;4)cqfs文件系统中的音视频流数据长期保存,转码后的标准录像文件则短期临时保存,从而减少磁盘空间开销的同时,作为原始素材的录像数据依然得以较长时间保存,供长期追溯;5)始终只由录播及直播服务启动cqfs文件系统实例,从而使用同一个io队列处理录像下载请求和录像存储请求。与此同时,实现录像转码任务并发数限制,这避免了录像存储请求被饿死,从而避免了由于录像下载导致录像存储失败导致的录像数据丢失的问题。
63.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
64.在本实施例中还提供了一种流式录像下载装置,位于第一服务中,图9是根据本发明实施例的一种流式录像下载装置的结构框图,如图9所示,该装置包括:第一接收模块902,用于接收客户端的第一请求,其中,所述第一请求是在所述客户端接收到第一触发指令后发送的,所述第一请求用于请求对目标录像信息所指示的目标流式录像进行转码,所述第一请求中包括所述目标流式录像的目标参数;第一处理模块904,用于基于所述目标参数调用目标下载程序,以指示所述目标下载程序向第二服务发起第二请求,其中,所述第二请求用于指示所述第二服务向所述目标下载程序传输所述目标流式录像,以及指示所述目标下载程序将所述目标流式录像转化为目标录像文件并写入第一存储区域,以供所述客户端下载。
65.在一个可选的实施例中,上述第一处理模块904包括:构造单元,用于基于所述目标参数构造目标统一资源定位器url,其中,所述目标url用于指示所述目标流式录像在第二存储区域中的位置;第一处理单元,用于通过将所述目标url输入所述目标下载程序的方式调用所述目标下载程序,以指示所述目标下载程序向所述第二服务发起所述第二请求。
66.在一个可选的实施例中,上述装置还包括:创建模块,用于在接收客户端的第一请求之后,在所述第一存储区域中创建目标目录,其中,所述目标目录用于存储所述目标录像
文件;上述第一处理单元包括:第一处理子单元,用于通过将所述目标url和所述目标目录输入所述目标下载程序的方式调用所述目标下载程序,以指示所述目标下载程序请求所述第二服务向所述目标下载程序传输所述目标流式录像,以及指示所述目标下载程序将所述目标流式录像转化为所述目标录像文件并写入所述目标目录中。
67.在一个可选的实施例中,上述装置还包括:第三接收模块,用于接收所述客户端发送的第三请求,其中,所述第三请求用于请求获取所述目标流式录像的目标状态参数,所述目标状态参数包括所述目标流式录像的转化状态和当前帧数据的目标时间戳信息,其中,所述当前帧数据为所述目标流式录像中包括的当前正在进行转化的帧数据;第一返回模块,用于基于所述第三请求将所述目标状态参数返回给所述客户端。
68.在一个可选的实施例中,上述第一返回模块包括:第一获取单元,用于基于所述第三请求从目标状态文件中获取所述目标状态参数,其中,所述目标状态文件是由所述目标下载程序基于目标目录所构造的文件,所述目标目录是由所述第一服务基于所述目标参数在所述第一存储区域中创建并输入至所述目标下载程序的,所述目标状态参数是在所述第一服务调用所述目标下载程序后指示所述目标下载程序基于所述目标流式录像的转化过程所确定并写入所述目标状态文件中的;第一返回单元,用于将所述目标状态参数返回给所述客户端;其中,所述转化状态包括第一状态,第二状态和第三状态,所述第一状态用于指示所述目标流式录像正在转化中的状态,所述第二状态用于指示所述目标流式录像已转化完成的状态,所述第三状态用于指示所述目标流式录像转化失败的状态。
69.在一个可选的实施例中,上述装置还包括:第一获取模块,用于在基于所述目标状态参数确定所述目标流式录像已转化完成的情况下,从目标目录中获取目标录像文件列表,其中,所述目标录像文件列表中包括一个或多个所述目标录像文件,所述目标目录用于存储一个或多个所述目标录像文件;生成模块,用于基于所述目标录像文件列表生成目标地址列表,其中,所述目标地址列表中包括一个或多个与所述目标录像文件对应的目标地址;第二返回模块,用于将所述目标地址列表返回给所述客户端,并指示所述客户端显示所述目标地址列表,以及,在所述第一服务接收到第一下载指令的情况下,将所述目标录像文件发送至所述客户端,其中,所述第一下载指令是所述客户端接收到第二触发指令后发送的。
70.在一个可选的实施例中,上述第一返回模块包括:第二处理单元,用于将所述目标状态参数返回给所述客户端,以指示所述客户端基于所述目标时间戳信息及所述目标参数确定出目标转化进度,并在所述客户端显示所述目标转化进度。
71.在一个可选的实施例中,上述装置还包括:第三处理模块,用于在第一服务接收客户端的第一请求之后,且在确定所述第一存储区域中存在与所述目标参数对应的所述目标录像文件的情况下,将第二目标地址列表返回给所述客户端,以供所述客户端下载,其中,所述第二目标地址列表是所述第一服务基于所述目标录像文件所生成的。
72.在一个可选的实施例中,上述目标参数包括:所述目标流式录像的目标标识、所述目标流式录像的目标开始时间及所述目标流式录像的目标结束时间。
73.在本实施例中还提供了另一种流式录像下载装置,位于目标下载程序中,图10是根据本发明实施例的另一种流式录像下载装置的结构框图,如图10所示,该装置包括:第二接收模块1002,用于接收第一服务的第二调用指令,其中,所述第二调用指令
是在所述第一服务接收到客户端的第一请求之后发出的,所述第一请求是在所述客户端接收到第一触发指令后发送的,所述第一请求用于请求对目标录像信息所指示的目标流式录像进行转码,所述第一请求中包括所述目标流式录像的目标参数;请求模块1004,用于基于所述第二调用指令向第二服务发起第二请求,以请求所述第二服务向所述目标下载程序传输所述目标流式录像;第二处理模块1006,用于接收所述目标流式录像及将所述目标流式录像转化为目标录像文件并写入第一存储区域,以供所述客户端下载。
74.在一个可选的实施例中,上述装置还包括:第二请求模块,用于在目标下载程序接收第一服务的第二调用指令之后,基于所述第二调用指令中包括的目标统一资源定位器url,请求所述第二服务向所述目标下载程序传输所述目标流式录像,其中,所述目标url是所述第一服务基于所述目标参数构造的,所述目标url用于指示所述目标流式录像在第二存储区域中的位置;第四处理模块,用于接收所述目标流式录像及将所述目标流式录像转化为所述目标录像文件并写入目标目录中,以供所述客户端下载,其中,所述目标目录是所述第一服务在接收到所述第一请求之后在所述第一存储区域中创建的,所述目标目录用于存储所述目标录像文件。
75.在一个可选的实施例中,上述请求模块1004包括:设定单元,用于设定目标传输速率;请求单元,用于向所述第二服务发起所述第二请求,以请求所述第二服务按照所述目标传输速率向所述目标下载程序传输所述目标流式录像。
76.在一个可选的实施例中,上述装置还包括:检查模块,用于按照预定周期检查所述目标流式录像的目标状态参数,其中,所述目标状态参数包括所述目标流式录像的转化状态和当前帧数据的目标时间戳信息,所述转化状态包括第一状态,第二状态和第三状态,所述第一状态用于指示所述目标流式录像正在转化中的状态,所述第二状态用于指示所述目标流式录像已转化完成的状态,所述第三状态用于指示所述目标流式录像转化失败的状态,所述当前帧数据为所述目标流式录像中包括的当前正在进行转化的帧数据;第五处理模块,用于将所述目标状态参数写入目标状态文件中,以指示所述第一服务在接收到所述客户端发送的第三请求的情况下,将所述目标状态参数返回给所述客户端,其中,所述第三请求用于请求获取所述目标流式录像的所述目标状态参数,所述目标状态文件是由所述目标下载程序基于目标目录所构造的文件,所述目标目录是由所述第一服务基于所述目标参数在所述第一存储区域中创建并输入至所述目标下载程序的。
77.在一个可选的实施例中,上述目标参数包括:所述目标流式录像的目标标识、所述目标流式录像的目标开始时间及所述目标流式录像的目标结束时间。
78.需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
79.本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
80.在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为
ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
81.本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
82.在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
83.本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
84.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
85.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1