一种上传视频文件并支持断点续传特性的方法及系统与流程

文档序号:12754493阅读:832来源:国知局

本发明涉及一种文件上传技术,特别涉及上传视频文件时断点续传特性的方法。



背景技术:

随着互联网教育、播客和网络直播的发展,人们对视频媒体的需求量越来越大,针对视频的压缩、传输、转码等相关技术也在飞速发展。视频文件较一般其他文本数据的文件来说最显著的特点的是数据量大,上传过程中可能因为客户端的意外崩溃或重启导致上传中断,再次上传时又重新上传整个文件,影响用户体验。



技术实现要素:

本发明提出一种简便、有效实现断点续传的视频文件上传的方法。

本发明的技术方案是这样实现的:

一种上传视频文件并支持断点续传特性的方法,包括步骤:

S1、根据用户指令选择待上传的视频文件,并获取该视频文件的地址信息;

S2、根据该地址信息检查本地是否有记录,若有则根据该地址信息获取对应的远程服务器上的上传地址;若无则利用初始上传地址配置服务器,初始化该视频文件,并获取服务器返回的新上传地址,将该新上传地址记录到本地;

S3、根据上传地址获取服务器上该视频文件的已上传信息,并根据上传信息续传该视频文件剩余字节至服务器;或者根据新上传地址上传该视频文件至服务器;

S4、根据服务器返回信息获取上传结果呈现于客户端。

本发明提供的上传视频文件并支持断点续传特性的方法,当选择上传视频时可以先检查本地是否存于记录,再根据存在的记录判断已上传的信息,从而可以上传剩余字节,或者若是新上传视频则匹配新的上传地址用于上传,而上传的结果则可以实时的反馈给用户进行查看;本发明提供的上传方法其检测均在移动端完成,且均是本地操作,操作简便,且可以有效的实现断点续传的功能。

附图说明

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

图1为本发明一种上传视频文件并支持断点续传特性的方法的流程图。

具体实施方式

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

请参见图1,一种上传视频文件并支持断点续传特性的方法,包括步骤:

S1、根据用户指令选择待上传的视频文件,并获取该视频文件的地址信息;

S2、根据该地址信息检查本地是否有记录,若有则根据该地址信息获取对应的远程服务器上的上传地址;若无则利用初始上传地址配置服务器,初始化该视频文件,并获取服务器返回的新上传地址,将该新上传地址记录到本地,以便之后进行续传时可以直接拿到服务器上已存在的部分视频文件地址;上传地址为已知上传服务器地址(企业或CDN服务器地址),初始化上传服务器配置好文件会返回给客户端此文件的具体地址

S3、根据上传地址获取服务器上该视频文件的已上传信息,并根据上传信息续传该视频文件剩余字节至服务器;或者根据新上传地址上传该视频文件至服务器;

S4、根据服务器返回信息获取上传结果呈现于客户端。

优选的,本发明方法中客户端和服务器连接中主要使用到的HTTP请求类型及说明:

POST:提交POST类型请求进行用户合法性验证及为待上传的视频文件做初始化配置。

HEAD:每一次HEAD类型请求,服务器返回Offset的头部变量,标志当前上传完成的字节数。

PATCH:服务器通过PATCH类型请求接受文件上传的数据。所有PATCH请求必须使用Content-Type:application/offset+octet-stream。

优选的,在执行步骤若无则利用初始上传地址配置服务器,初始化该视频文件,并获取服务器返回的新上传地址,将该新上传地址记录到本地的步骤时,其具体的步骤包括:

步骤一:根据该视频文件在服务器初始化相关配置,包括:

④设置请求头域信息,参数包括:ts(毫秒时间戳)、userid(用户ID,企业注册用户的ID信息,用于用户的唯一标识符)、hash(哈希值,根据ts和writeToken顺序拼凑起来的字符串进行MD5计算得到的值)、Final-Length(文件大小(单位字节));

⑤设置请求体参数,title(视频标题信息)、cataid(视频分类信息)、ext(视频扩展名)、tag(视频标签信息)、desc(视频描述信息);

⑥执行HTTP POST请求至上传服务器接口;

步骤二:根据HTTP POST请求服务器新上传地址,将该新上传地址记录到本地。

优选的,在执行步骤根据上传地址获取服务器上该视频文件的已上传信息的步骤时,其具体的步骤包括:

发送HTTP HEAD类型的请求至服务器,请求地址为服务器上的上传地址;

服务器根据该HTTP HEAD类型的请求及上传地址返回状态码和Offset值。

优选的,在执行步骤S3上传视频文件之前,其还包括步骤:对该视频文件进行流式处理。一般来说视频文件会比文本、图片等其他类型的文件数据大很多,上百M或者多少G的内容都是比较正常的,所以在上传过程中利用HTTP body的流式读写方法来避免在客户端和服务器端占用内存过高的问题。

优选的,在执行步骤S3时,其具体的步骤包括:

设置请求头域信息,writeToken(上传授权码,企业注册用户用于后台上传的上传授权码)和Offset(偏移量,Offset头部变量标志当前上传文件完成的偏移量,Offset为0或者大于0的整型);

将HTTP的body设置为视频文件的输入流;

执行HTTP PATCH请求上传剩余字节的视频文件。

优选的,在执行步骤S4时,其包括以下几项:

视频上传中时,服务器返回信息获得本次上传的数据大小、已完成的上传数据大小和期望上传的数据大小等参数信息;

视频上传成功时,服务器返回上传完成信息;

视频上传失败时,回到步骤S3重新执行。此步骤重新从服务器上获取已上传视频文件的信息,为操作的可行性,可在客户端限定重试次数,当不再重试时需要关闭流文件。

优选的,在执行步骤1之前,还包括步骤:对待上传的视频文件进行压缩处理。在客户端上进行视频的压缩处理,并获取压缩后的视频文件地址;当然其不限定必须做压缩处理,不压缩,则获取原视频文件地址。通过压缩可以减少视频上传时文件大小,从而提高上传速度。

在上传过程中客户端意外崩溃或重启等原因造成上传中断,再次上传时执行步骤S2,此时会续传之前视频文件。

本发明提供的上传视频文件并支持断点续传特性的方法,当选择上传视频时可以先检查本地是否存于记录,再根据存在的记录判断已上传的信息,从而可以上传剩余字节,或者若是新上传视频则匹配新的上传地址用于上传,而上传的结果则可以实时的反馈给用户进行查看;本发明提供的上传方法其检测均在移动端完成,且均是本地操作,操作简便,且可以有效的实现断点续传的功能。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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