CN113301391B - 视频下载方法、装置、计算设备、介质和云端存储系统 - Google Patents

视频下载方法、装置、计算设备、介质和云端存储系统 Download PDF

Info

Publication number
CN113301391B
CN113301391B CN202010521387.0A CN202010521387A CN113301391B CN 113301391 B CN113301391 B CN 113301391B CN 202010521387 A CN202010521387 A CN 202010521387A CN 113301391 B CN113301391 B CN 113301391B
Authority
CN
China
Prior art keywords
video
file
video file
downloading
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010521387.0A
Other languages
English (en)
Other versions
CN113301391A (zh
Inventor
王涛伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010521387.0A priority Critical patent/CN113301391B/zh
Publication of CN113301391A publication Critical patent/CN113301391A/zh
Application granted granted Critical
Publication of CN113301391B publication Critical patent/CN113301391B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种视频下载方法、装置、计算设备、介质和云端存储系统。该方法,包括:接收终端发送的视频下载请求,视频下载请求包括第一对象标识和下载时段;基于第一对象标识,读取第一对象标识对应的第一对象中的第一视频文件以及第一视频文件关联的视频分析文件,视频分析文件包括第一视频文件的描述信息;基于视频分析文件和下载时段,对第一视频文件进行处理,得到与下载时段对应的第二视频文件;发送第二视频文件至终端。根据本发明实施例,可以实现用户按照时间范围下载可播放的视频文件。

Description

视频下载方法、装置、计算设备、介质和云端存储系统
技术领域
本发明涉及计算机领域,尤其涉及一种视频下载方法、装置、计算设备、介质和云端存储系统。
背景技术
对象存储产品是各个主流的云计算厂商向外提供的一种数据存储服务,具有海量、安全、低成本、高可靠、可弹性扩展等各种优点,是互联网的一种基础设施服务。
随着上云逐渐成为一种趋势,越来越多企业或者个人用户将数据存储于云端。这些数据中,就有各种各样的视频文件,比如用户喜欢的电影、手机录播的重要视频、各种重要的讲座或者课件视频等等。
当用户需要下载这些存储于云端的视频时,有时候希望下载视频的一部分,而非整个完整视频。这是因为,若将完整视频下载,不仅会延长下载时间,而且会占用存储资源。
发明内容
本发明实施例提供一种视频下载方法、装置、计算设备、介质和云端存储系统,能够解决用户想下载部分视频的问题。
根据本发明实施例的第一方面,提供一种视频下载方法,该方法包括:
接收终端发送的视频下载请求,视频下载请求包括第一对象标识和下载时段;
基于所述第一对象标识,读取所述第一对象标识对应的第一对象中的第一视频文件以及所述第一视频文件关联的视频分析文件,所述视频分析文件包括所述第一视频文件的描述信息;
基于视频分析文件和下载时段,对第一视频文件进行处理,得到与下载时段对应的第二视频文件;
发送第二视频文件至终端。
根据本发明实施例的第二方面,提供一种云端存储系统,包括:对象存储系统、第一处理器和第二处理器;
所述对象存储系统用于接收终端发送的视频下载请求,并向所述第一处理器发送所述视频下载请求,所述视频下载请求包括第一对象标识和下载时段;
所述第一处理器用于接收所述视频下载请求,并基于所述第一对象标识,从所述对象存储系统中读取所述第一对象标识对应的第一对象中的第一视频文件;
所述第二处理器中存储有所述第一视频文件关联的视频分析文件;
所述第一处理器还用于基于所述第一对象标识从所述第二处理器中读取所述视频分析文件,所述视频分析文件包括所述第一视频文件的描述信息;
所述第一处理器还用于基于所述视频分析文件和所述下载时段,对所述第一视频文件进行处理,得到与所述下载时段对应的第二视频文件;
所述第一处理器还用于向所述对象存储系统发送所述第二视频文件;
所述对象存储系统还用于向所述终端发送所述第二视频文件。
根据本发明实施例的第三方面,提供一种视频下载装置,该装置包括:
接收模块,用于接收终端发送的视频下载请求,所述视频下载请求包括第一对象标识和下载时段;
获取模块,用于基于所述第一对象标识,读取所述第一对象标识对应的第一对象中的第一视频文件以及所述第一视频文件关联的视频分析文件,所述视频分析文件包括所述第一视频文件的描述信息;
视频文件确定模块,用于基于所述视频分析文件和所述下载时段,对所述第一视频文件进行处理,得到与所述下载时段对应的第二视频文件;
发送模块,用于发送所述第二视频文件至所述终端。
根据本发明实施例的第四方面,提供了一种计算设备,包括:处理器以及存储有计算机程序指令的存储器;
处理器执行计算机程序指令时实现如上述第一方面提供的视频下载方法。
根据本发明实施例的第五方面,提供一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如上述第一方面提供的视频下载方法。
根据本发明实施例,通过利用接收的视频下载请求中的第一对象标识获取第一对象标识对应的第一对象中的第一视频文件以及第一视频文件关联的视频分析文件,然后基于视频分析文件和视频下载请求中的下载时段,对第一视频文件进行处理,得到与下载时段对应的第二视频文件;接着将第二视频文件发送至终端,从而实现在对象存储场景下用户可以根据需求按照时间范围下载可播放的视频文件,不用下载完整视频,提高了视频的下载速度。并且,通过利用预先与第一视频文件关联的视频分析文件,节省了对第一视频文件进行解析的过程,可以提高对第一视频文件处理的速度,即可以提高了第二视频文件的下载速度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的视频下载系统的结构示意图;
图2为本发明一实施例提供的视频下载方法的流程示意图;
图3为本发明实施例提供的Mp4文件的结构示意图;
图4为本发明另一实施例提供的视频下载方法的流程示意图;
图5为本发明实施例提供的视频下载装置的结构示意图;
图6为本发明实施例提供的计算设备的结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
目前各云计算厂商对象存储产品对视频文件的下载,一般是支持完整下载。对象存储可以理解为关键字(key)和值(value)的一种存储结构,是云端的一种存储系统。
如果和文件存储系统做类比,对象存储系统中的对象(object)可以理解为一个文件。对象的key是文件名,对象的value是文件的内容。不过和文件存储系统不同的是,文件有目录和层级结构,而对象存储系统全是扁平化的结构。每个对象都在一个被称作存储桶(bucket)的扁平地址空间的同一级别里。一个对象不会属于另一个对象的下一级。
对象存储系统中的Bucket,为存储object的容器。同一个bucket下面的object的key不能相同,但不同bucket下面的object的key可以相同,同一个object只能属于唯一的一个bucket。不同的用户可以创建不同的bucket,每个bucket的名字不同,这样不同的用户的数据就可以区分开来。
在一些应用场景下,用户仅仅需要下载视频中的部分。目前有一些支持范围(range)下载,range下载是指超文本传输协议(Hyper Text Transfer Protocol,HTTP)支持的一种可以根据用户指定数据的偏移位置和长度将数据下载到本地的下载方式。HTTP协议是互联网使用的最广泛的一种协议,是一个简单的请求-响应协议。但是,若将视频文件按照长度范围下载,下载下来的文件已经不是一个完整的视频格式文件,播放器无法直接播放。因此,如何提供满足用户的下载需求的可播放视频文件,是急需解决的问题。
基于此,本发明实施例提供一种视频下载方法、装置、计算设备及介质,可以实现根据用户的下载时段需求,向用户提供该下载时段对应的可播放视频文件。下面结合具体的实施例和附图进行详细介绍。
图1示出本发明实施例提供的视频下载系统的结构示意图。如图1所示,该系统包括终端110和云端存储系统120。其中,云端存储系统120基于对象对数据进行存储。
在本发明的实施例中,用户在从云端存储系统120中下载视频文件之前,需要先将视频文件存储至云端存储系统120。下面先介绍一下视频文件的存储方法的具体实现方式。
在一些实施例中,用户可以通过终端110发送第一视频文件的上传请求。其中,该上传请求包括第一视频文件支持按照时间段下载的指示信息、即第一对象标识以及原始视频文件(即第一视频文件)。其中,第一对象标识为用于存储第一视频文件的存储标识。
云端存储系统120接收终端110发送的对第一视频文件的上传请求,然后对接收到的文件进行格式判断。若接收到的文件不是视频格式的文件,则返回上传失败的提示信息至终端110。若接收到的文件为视频格式的文件,则基于上传请求中的第一对象标识,存储第一视频文件。
作为一个示例,云端存储系统120生成第一对象存储第一视频文件。其中,第一对象的key为该第一对象标识。也就是说,云端存储系统120生成第一对象标识对应的第一对象,该第一对象中存储有第一视频文件。
需要说明的是,在生成第一视频文件对应的object的同时,生成一个通用唯一识别码(Universally Unique Identifier,UUID),作为第一视频文件的唯一身份标识。UUID是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分,可以理解为一个字符串。该字符串是全球唯一的,不可能和其他的UUID重复,具有唯一性。
接着,云端存储系统120在第一视频文件对应的第一对象的文件元数据中保存该第一对象支持按照时间段下载以及该第一视频文件的UUID(即该第一视频文件的身份标识)。当云端存储系统120存储了第一视频文件之后,云端存储系统120向终端110返回第一视频文件上传成功的提示信息。
然后,云端存储系统120对原始的第一视频文件进行预分析处理,得到第一视频文件关联的视频分析文件。云端存储系统120将生成以第一视频文件的身份标识为对象标识的第二对象,并将视频分析文件存储于第二对象中。也就是说第二对象的key为第一视频文件的UUID。
在本发明的实施例中,在用户需要下载第一视频文件中的部分视频的应用场景下,用户通过终端110发送视频下载请求至云端存储系统120。云端存储系统120接收终端110发送的视频下载请求,该请求包括第一对象标识和下载时段。
参见图1,例如用户想下载第一视频文件中第100ms~1000ms中的视频片段,则用户可以输入第一对象标识(即第一视频文件的object key)和下载时段(即100ms~1000ms),以发起视频下载请求。
云端存储系统120基于视频下载请求中的第一对象标识,可以读取第一对象标识对应的第一对象中的第一视频文件以及第一视频文件关联的视频分析文件,该视频分析文件包括第一视频文件的描述信息。然后云端存储系统120基于视频分析文件和下载时段,对第一视频文件进行处理,得到与下载时段对应的第二视频文件。接着,将第二视频文件发送至终端110。终端110播放第二视频文件。
在本发明的实施例中,在对象存储的应用场景下,可以实现用户可以根据需求按照时间范围下载可播放的视频文件,不用下载完整视频,提高了视频的下载速度。并且,通过利用预先与第一视频文件关联的视频分析文件,节省了对第一视频文件进行解析的过程,可以提高对第一视频文件处理的速度,即可以提高了第二视频文件的下载速度。
图2示出本发明实施例提供的视频下载方法200的流程示意图。如图2所示,该方法可以应用于图1中的云端存储系统120,包括S210~S240。
首先,S210,接收终端110发送的视频下载请求,视频下载请求包括第一对象标识和下载时段。接着,S220,基于第一对象标识,读取第一对象标识对应的第一对象中的第一视频文件以及第一视频文件关联的视频分析文件,视频分析文件包括第一视频文件的描述信息;然后,S230,基于视频分析文件和下载时段,对第一视频文件进行处理,得到与下载时段对应的第二视频文件;再然后,S240,发送第二视频文件至终端110。
下面分别对S210~S240中每个步骤的具体实现方式进行详细介绍。
在本发明的实施例中,在S210中,第一对象标识即为存储第一视频文件的objectkey,该第一对象标识是用户自己设置的。参考上述叙述,用户通过终端110发送至云端存储系统120的对第一视频文件的上传请求中包括第一对象标识。当云端存储系统120接收该上传请求时,则以第一对象标识作为第一视频文件的object key,即第一对象的key。
下面介绍S220的具体实现方式。在一些实施例中,S220包括基于第一对象标识,读取第一对象标识对应的第一对象中的第一视频文件以及第一视频文件的身份标识;基于身份标识,读取以身份标识为对象标识的第二对象中的第一视频文件关联的视频分析文件。
在本发明的实施例中,基于第一对象标识,则可以查询到该第一对象标识对应的第一对象,并从第一对象中读取第一视频文件。
在本申请的一些实施例中,基于第一对象标识,可以读取到该第一对象的元数据,该元数据中包括第一视频文件的身份标识,即第一视频文件的UUID。
参考上述关于存储第一视频文件的叙述,由于存储第一视频文件的视频分析文件的第二对象的对象标识为第一视频文件的UUID,即第一视频文件的身份标识,则基于第一视频文件的身份标识,则可以读取到以第一视频文件的身份标识为对象标识的第二对象中的第一视频文件关联的视频分析文件。
由于大部分视频文件为采用动态图像专家组(MPEG,Moving Picture ExpertsGroup 4)封装格式封装媒体数据形成的MP4文件,这里以Mp4文件格式举例来说明视频分析文件所包括的信息。
MP4文件由若干个容器(box)组成。box由唯一的类型标识符和长度定义的面向对象的构件。每个box有类型和长度,可以将box理解为一个数据对象块。box中可以包含另一个box,此时box称为“容器的容器(container box)”。容器头部包括容量(size)和类型(type),容量指明了容器所占用的存储空间的大小,类型指明了容器的类型。
参见图3,MP4文件中涉及的基本容器类型包括文件类型容器(file type box,ftype box)、元数据容器(metadata container box,moov box)和媒体数据容器(mediadata container box,mdat box)。即MP4格式文件主要分两大部分,包括头部信息ftypebox和moov box这两个box,以及数据部分mdat box。
其中,头部信息存储的是对视频数据的描述和索引信息,真正用于播放的音视频数据存储于mdat box中。mdat box由一系列的数据块(chunk)组成,每个chunk又由一系列类型相同、且连续存放的采样(sample)组成。sample是音视频数据最小的存储的单位。
需要说明的是MP4文件中的一个sample也就是一个帧。在一个chunk里面Sample顺序紧凑排列,使用chunk的目的是为了加快sample数据访问效率,在一个Mp4文件里面,所有box处理的samples都是严格按照帧序号排列的。
参见图3,moov box中可以包括mvhd box和轨道容器(track box)。其中,mvhd box对整个文件所包含的媒体数据作全面的全局的描述,例如时长、创建时间等信息。trackbox为用于存放视频或音频流的容器。track box包括用于描述轨道的特性和总体信息(如时长、宽高)的容器(记为tkhd box)以及记录轨道的媒体信息(比如媒体类型和采样的信息)的容器(记为mdia box)。
其中,轨道(track),也称为流(Stream),mdat box中按时间排序的相关的sample。对于媒体数据来说,轨道表示一个视频帧序列或一个音频帧序列,还可以包括与视频帧序列同步的字幕轨,同一轨道中的一组连续的采样称为chunk。
mdia box可以包括:记录轨道的相关属性和内容的容器(记为mdhd box),mdhdbox可以定义TimeScale,轨道需要通过TimeScale换算成真实时间。mdia box还可以包括记录媒体的播放过程信息的容器(记为hdlr box)和描述轨道中媒体数据的媒体信息的容器(记为minf box)。其中,hdlr box可以表明track的类型,指明是video(视频)、audio(音频)或hint(指示)。
其中,minf box中封装了用于记录轨道中采样的所有时间信息(解码时间/显示时间)、位置信息和编解码等信息的子容器(记为stbl box)。
下面说明stbl box中的各个子容器。
stsd box包含了一个采样描述(sample description)表,根据不同的编码方案和存储数据的文件数目,每个媒体文件中可以有一个或多个描述表,通过描述表可以找到每个采样的描述信息,描述信息可以保证采样的正确的解码,不同的媒体类型存储不同的描述信息,例如,视频媒体而言描述信息就是图像的结构。
stts box存储了采样的时长信息,并提供表来映射时间(解码时间)和采样的序号,通过stts box,可以定位媒体文件中任何时间的sample。stts box中还使用其他的表来映射采样的容量和指针,表中每个条目提供了在同一个时间偏移量里面连续的采样的序号,以及采样的偏移量,递增这些偏移量,可以建立一个完整的时间-采样的映射表。
stsc box记录了sample与chunk的映射关系,通过表来映射sample的序号和chunk的序号之间的关系,通过查表可以找到包含指定sample的chunk。
stsz box记录了媒体文件中每个采样的容量(即大小)。
stsz2 box是记录媒体文件中每个采样的容量的另一种存储算法,更节省空间。
stss box记录了媒体文件中的关键帧的序号。关键帧是为了支持随机访问。
stco box定义了每个chunk的偏移,即每个chunk在文件中的位置。每个sample的偏移位置,可以结合stsz box和stsc box计算后取得。
Co64 box也定义了64位的每个chunk的偏移。
通过读取第一视频文件的moov box信息,则可以生成与第一视频文件关联的视频分析文件。作为一个示例,视频分析文件可以包括以下内容:
(1)ftype box和moov box这两个box在第一视频文件的偏移位置和长度。
(2)mdat box在第一视频文件中的偏移位置和长度。
(3)每个关键帧对应的时间、chunk编号、关键帧所在chunk中第一个sample的编号以及该chunk在第一视频文件中的偏移位置时间戳和偏移地址。
(4)每一个chunk的信息,主要信息如下:chunk编号、chunk中第一个sample编号、chunk中的sample数、chunk在第一视频文件中的偏移地址。
下面介绍S230的具体实现方式。在一些实施例中,S230包括S2301~S2304。S2301,基于下载时段和视频分析文件,确定截取信息。S2302,通过截取信息,从第一视频文件的媒体数据中获取与下载时段对应的目标媒体数据。S2303,根据视频分析文件和截取信息,修改第一视频文件的头部信息,得到与下载时段对应的目标头部信息。S2304,基于目标头部信息和目标媒体数据,生成第二视频文件。
在S2301中,在一些实施例中,与下载时段对应的第二视频文件若也为MP4文件,则第二视频文件包括与下载时段对应的目标头部信息和目标媒体数据。需要说明的是,下载时段对应的目标头部信息包括第二视频文件的文件类型信息和第二视频文件的元数据。
作为一个示例,截取信息包括下载时段对应的目标媒体数据的数据信息在第一视频文件中的第一偏移地址和下载时段对应的目标媒体数据的数据信息的第一长度。
在一些实施例中,S2301包括:基于视频分析文件中每个关键帧的时间戳以及每个关键帧的数据块信息,确定下载时段对应的起始数据块和结束数据块;从视频分析文件中获取起始数据块在第一视频文件中的第二偏移地址和结束数据块在第一视频文件中的第三偏移地址;基于第二偏移地址和第三偏移地址,确定下载时段对应的目标媒体数据的数据信息在第一视频文件中的第一偏移地址和下载时段对应的目标媒体数据的数据信息的第一长度。
在本发明的一些实施例中,从与第一视频文件关联的视频分析文件中可以读取每个关键帧的时间戳信息,以及每个关键帧的数据块信息。其中,关键帧的数据块信息可以为该关键帧所在的chunk。
通过将每个关键帧的时间戳与下载时段对应的开始时刻和结束时刻进行匹配,得到与下载时段的开始时刻对应的第一时间戳,以及与下载时段的结束时刻对应的第二时间戳。
然后,将具有第一时间戳的关键帧所在的chunk作为下载时段对应的起始数据块(即起始chunk),然后将第二时间戳的关键帧所在的chunk作为下载时段对应的结束数据块(即结束chunk)。
需要说明的是,与下载时段的开始时刻匹配的时间戳可以为与该开始时刻之间的时长最短的关键帧的时间戳。与下载时段的结束时刻匹配的时间戳可以为与该结束时刻之间的时长最短的关键帧的时间戳。
由于视频分析文件中保存了每个chunk的信息,例如该chunk在第一视频文件的偏移地址信息,因此可以从视频分析文件中获取下载时段对应的起始chunk在第一视频文件中的第二偏移地址以及下载时段对应的结束chunk在第一视频文件中的第三偏移地址。
需要说明的是,目标多媒体数据具有头部信息和数据信息。其中,第二偏移地址可以作为下载时段对应的目标媒体数据的数据信息在第一视频文件中的第一偏移地址。
其中,第二偏移地址和第三偏移地址之间的偏移量即为下载时段对应的目标媒体数据的数据信息的第一长度。
在一些实施例中,S2302包括:基于视频分析文件中第一视频文件的媒体数据的第四偏移地址,读取第一视频文件的媒体数据的第一头部信息;基于第一长度对第一头部信息进行修改,得到修改后的第一头部信息;基于第一偏移地址和第一长度,从第一视频文件的媒体数据中截取下载时段对应的目标媒体数据的数据信息;将修改后的第一头部信息和下载时段对应的目标媒体数据的数据信息,组成下载时段对应的目标媒体数据。
需要说明的是,第一视频文件的媒体数据包括该媒体数据的第一头部信息和数据信息。视频分析文件中第一视频文件的媒体数据的第四偏移地址即为第一视频文件的媒体数据的第一头部信息在第一视频文件的偏移地址。
由于,第一头部信息的格式和长度是固定的,因此基于第四偏移地址可以读取到第一头部信息。其中,第一视频文件的媒体数据的第一头部信息可以包括第一视频文件的媒体数据的数据信息的长度等信息。
由于下载时段对应的目标媒体数据的数据信息是从第一视频文件的媒体数据中截取的信息,因此下载时段对应的目标媒体数据的头部信息,与第一视频文件的媒体数据的头部信息不同。
但是,下载时段对应的目标媒体数据的头部信息与第一视频文件的媒体数据的第一头部信息的格式类似,因此,可以基于第一长度对第一视频文件的媒体数据的第一头部信息进行更改,例如,将第一头部信息中第一视频文件的媒体数据的数据信息的长度信息更改为第一长度,即得到修改后的第一头部信息,即为下载时段对应的目标媒体数据的头部信息。
基于第一偏移地址和第一长度可以从第一视频文件的媒体数据中截取下载时段对应的目标媒体数据的数据信息。
然后,将修改后的第一头部信息(即下载时段对应的目标媒体数据的头部信息)和下载时段对应的目标媒体数据的数据信息按照预设规定的格式进行组合,即可以组成下载时段对应的目标媒体数据,即下载时段对应的新mdat box中的信息。
需要说明的是,MP4格式文件主要分两大部分,包括头部信息ftype box和moovbox这两个box,以及数据部分mdat box。若想得到与下载时段对应的可播放的第二视频文件,不仅需要获取与下载时段对应的目标多媒体数据,还需要获取与下载时段对应的目标头部信息。
在本发明的一些实施例中,S2303包括步骤A~步骤D。步骤A,基于视频分析文件中第一视频文件的元数据在第一视频文件中的第五偏移地址和第一视频文件的元数据的第二长度,读取第一视频文件的元数据。步骤B,根据视频分析文件中保存的第一视频文件的文件类型信息在第一视频文件中的第六偏移地址和第一视频文件的文件类型信息的第三长度,读取第一视频文件的文件类型信息。步骤C,按照视频分析文件中保存的与截取信息相关的信息,对第一视频文件的元数据进行修改,得到目标元数据;步骤D,将目标元数据和第一视频文件的文件类型信息,组成目标头部信息。
在步骤A中,由于视频分析文件中已经获取了第一视频文件的元数据在第一视频文件中的第五偏移地址和第一视频文件的元数据的第二长度,因此基于第五偏移地址和第二长度,可以直接从第一视频文件的object中读取第一视频文件的元数据,即第一视频文件中moov box中的信息。
在步骤B中,由于视频分析文件中已经获取了第一视频文件的文件类型信息在第一视频文件中的第六偏移地址和第一视频文件的文件类型信息的第三长度,因此基于第六偏移地址和第三长度可以从第一视频文件的object中读取第一视频文件的文件类型信息,即第一视频文件中ftype box中的信息。
在步骤C中,由于利用截取信息对第一视频文件中的信息进行了截取,因此需要对第一视频文件中的moov box中的元数据进行相应更改,得到下载时段对应的新moov box。
需要说明的是,由于上述已经得到了下载时段对应的起始chunk和结束chunk。根据视频分析文件中的信息可以得到起始chunk中的第一个sample和结束chunk中的最后一个sample。起始chunk中的第一个sample为下载时段对应的起始sample,结束chunk中的最后一个sample为下载时段对应的结束sample。
由于从视频分析文件中已经得到了起始时间、起始sample、结束时间、结束sample,且各个box基本上是按照sample排序,因此不再需要很复杂的计算和分析,就可以直接对各个box内容按照实际需要sample进行截取,以及按照实际的sample数量进行修改。比如修改第一视频文件的moov box中的时长信息,实际sample数量信息等。
另外,stsc box记录了sample和chunk的对应关系,由于sample编号从起始sample重新进行了编号,且对mdat box的内容进行了截取,所以各个chunk在下载时段对应的第二视频文件中的偏移地址也发生了变化,因此需要重新修改和生成。
在本发明的实施例中,对第一视频文件的moov box的内容按照新的sample数量和实际偏移位置进行了修改和截取后,就重新生成了一个新的moov box,该新的moov box中的信息即为下载时段对应的目标元数据。
需要说明的是,与下载时段对应的新生成的视频文件的文件类型信息与第一视频文件的文件类型信息相同,因此,可以直接将获取的第一视频文件的文件类型信息作为要生成的与下载时段对应的第二视频文件的文件类型信息。
因此,可以将目标元数据和第一视频文件的文件类型信息,作为下载时段对应的目标头部信息。
在S2304中,对第一视频文件的moov box进行修改后得到的与下载时段对应的新moov box对应的信息(即目标元数据)、以及第一视频文件的ftype box对应的信息(文件类型信息)和与下载时段对应的新mdat box对应的视频数据(即目标媒体数据)会组成一个新的视频文件,即下载时段对应的第二视频文件。
在S240中,当云端存储系统120得到与下载时段对应的第二视频文件之后,可以流式的将数据返回给终端110。
在本发明的一些实施例中,在S210之前,本发明实施例提供的视频下载方法还包括:S201,接收终端110发送的第一视频文件的上传请求,上传请求包括第一对象标识;S203,基于第一对象标识,存储第一视频文件;S205,对第一视频文件进行预分析处理,得到第一视频文件关联的视频分析文件。
在本发明的一些实施例中,S203包括基于第一对象标识,生成第一对象标识对应的第一对象,第一对象中存储有第一视频文件。
在本发明的一些实施例中,在S201之后,本申请实施例提供的视频下载方法还包括:生成第一视频文件的身份标识。在此基础上,在S203之后,本申请实施例提供的视频下载方法还包括:生成以身份标识为对象标识的第二对象,第二对象中存储有第一视频文件关联的视频分析文件。
其中,关于对第一视频文件的存储过程可以参考上述中对视频下载系统中的叙述,在此不再赘述。
对于视频分析文件的叙述可以参考上述S220的叙述,在此不再赘述。
在本发明的实施例中,通过对第一视频文件进行预分析处理,并将分析结果保存在第二对象中;则实现可以直接读取视频分析文件的内容,以基于视频分析文件的内容,可以利用第一视频文件的头部数据快速的生成新的与下载时段对应的视频头部数据,以及快速的截取第一视频文件的mdat box中数据内容以生成新的与下载时段对应的mdat内容。从而提高了下载与用户输入的下载时段对应的第二视频文件的下载速度。
图4示出本发明另一实施例提供的视频下载方法的流程示意图。如图4所示,云端存储系统120包括对象存储系统、第一处理器和第二处理器。
在本申请的一些实施例中,对象存储系统用于接收终端发送的对第一视频文件的上传请求,上传请求包括第一对象标识。对象存储系统还用于基于第一对象标识,生成第一对象标识对应的第一对象以及第一视频文件的身份标识,第一对象中存储有第一视频文件。对象存储系统还用于向第二处理器发送预分析请求,预分析请求包括第一对象标识和身份标识。
第二处理器用于接收预分析请求,并基于第一对象标识读取第一视频文件。第二处理器还用于对第一视频文件进行预分析处理,得到第一视频文件关联的视频分析文件,并生成以身份标识为对象标识的第二对象,第二对象中存储有视频分析文件。
下面首先介绍用户存储第一视频文件的具体实现过程,如图4中的实线箭头所示。
如图4所示,用户通过终端110发送第一视频文件的上传请求。其中,该上传请求包括第一视频文件支持按照时间段下载的指示信息、第一对象标识以及第一视频文件。
对象存储系统接收终端110发送的对第一视频文件的上传请求,然后对接收到的文件进行格式判断。若接收到的文件不是视频格式的文件,则返回上传失败的提示信息至终端110。若接收到的文件为视频格式的文件,则基于第一对象标识,存储第一视频文件,对象存储系统生成一个第一对象标识对应的第一对象存储第一视频文件。
需要说明的是,对象存储系统在生成第一视频文件对应的第一对象的同时,生成一个UUID,作为第一视频文件的唯一身份标识,用于作为该第一视频文件的视频分析文件的第二对象的对象标识。然后对象存储系统在第一对象的文件元数据中保存该第一对象支持按照时间段下载以及该第一视频文件的UUID。对象存储系统向用户终端110返回第一视频文件上传成功的提示信息。
接着,对象存储系统发送预分析请求至第一处理器。其中,预分析请求中包括第一对象标识和第一视频文件的身份标识。
第一处理器根据第一对象标识,从对象存储系统中读取第一视频文件。然后,第一处理器对第一视频分析文件的内容进行预分析处理,得到第一视频文件关联的视频分析文件,并生成以第一视频文件的身份标识为对象标识的第二对象以存储视频分析文件。也就是说,第一处理器将该视频分析文件存储于另外一个object中,该object的key即为第一视频文件的UUID。
其中,视频分析文件主要给第二处理器使用,可以提高第二处理器的速度,增强性能。
在本申请的实施例中,对象存储系统用于接收终端发送的视频下载请求,并向第一处理器发送视频下载请求,视频下载请求包括第一对象标识和下载时段。第一处理器用于接收视频下载请求,并基于第一对象标识,从对象存储系统中读取第一对象标识对应的第一对象中的第一视频文件。
第二处理器中存储有第一视频文件关联的视频分析文件。
第一处理器还用于基于第一对象标识从第二处理器中读取视频分析文件,视频分析文件包括第一视频文件的描述信息。第一处理器还用于基于视频分析文件和下载时段,对第一视频文件进行处理,得到与下载时段对应的第二视频文件。第一处理器还用于向对象存储系统发送第二视频文件。
对象存储系统还用于向终端发送第二视频文件。
下面介绍用户根据下载时段从云端存储系统120下载与下载时段对应的第二视频文件的具体实现过程,如图4中的虚线箭头所示。
用户通过终端110发送视频下载请求至对象存储系统。其中,该下载请求中包括第一对象标识(即第一视频文件的object key)和下载时段。
对象存储系统接收终端110发送的视频下载请求之后,发送该视频下载请求至第二处理器。其中,第二处理器接收视频下载请求,并根据第一对象标识可以从对象存储系统中读取第一视频文件以及从第一视频文件的文件元数据中读取第一视频文件的UUID。
由于第一视频文件的UUID为第一视频文件关联的视频分析文件对应的第二对象的key。因此,第二处理器根据第一视频文件的UUID可以读取第一视频文件对应的视频分析文件。
第二处理器读取第一视频文件的头部信息(即第一视频文件的文件类型信息和第一视频文件的元数据),根据视频分析文件中记录的结果和下载时段,可以快速生成一个与下载时段对应的新的头部信息。第二处理器根据视频分析文件和下载时段,可以从第一视频文件中读取所需要的截取的视频文件的媒体数据,然后结合得到的新的头部信息生成一个新的满足Mp4文件格式规范的第二视频文件。
第二处理器将新生成的与下载时段对应的第二视频文件返回给对象存储系统。对象存储系统将新的第二视频文件返回给终端。由于该新的第二视频文件是第二处理器生成的满足Mp4文件格式规范的文件,因此终端下载到本地后,播放器可以直接对其播放。
其中,第一处理器主要作用就是对第一视频文件进行预分析处理,生成一个视频分析文件,该视频分析文件包含第一视频文件的重要描述信息,会直接提供给第二处理器使用,提升第二处理器的性能。
第二处理器的作用就是根据用户的下载时段信息,利用视频分析文件的结果从第一视频文件中快速取出所需要的数据,并对这些数据进行修改和截取,裁剪出对应下载时段的数据,并生成一个新的满足mp4规范的视频文件返回给用户。
在本申请的实施例中,第二处理器基于视频分析文件和下载时段,对第一视频文件进行处理,得到与下载时段对应的第二视频文件的具体实现方式,可参考上述实施例中关于S230的相关叙述,在此不再赘述。
在本发明的实施例中,通过在原有的对象存储系统的基础上新增第一处理器和第二处理器提供新的视频裁剪服务,对原有系统改动较小。并且第一处理器可以提高第二处理器的处理速度。
本发明实施例提供的视频下载方法可以为云端存储系统120中的视频文件提供了按照时间范围下载的功能,下载下来的文件也满足Mp4格式规范,可以直接播放。
需要说明的是,在用户上传第一视频文件以及按照下载时段下载第一视频文件时,所使用的协议均为HTTP协议。通过利用简单的HTTP协议接口对视频内容按照给定时间范围裁剪,使用极其简单和方便。
图5示出本发明实施例提供的视频下载装置500的结构示意图。如图5所示,该视频下载装置500包括:
接收模块501,用于接收终端110发送的视频下载请求,视频下载请求包括第一对象标识和下载时段;
获取模块502,用于基于第一对象标识,读取第一对象标识对应的第一对象中的第一视频文件以及第一视频文件关联的视频分析文件,视频分析文件包括第一视频文件的描述信息;
视频文件确定模块503,用于基于视频分析文件和下载时段,对第一视频文件进行处理,得到与下载时段对应的第二视频文件;
发送模块504,用于发送第二视频文件至终端110。
在本发明的实施例中,通过利用接收的视频下载请求中的第一对象标识获取第一对象标识对应的第一对象中的第一视频文件以及第一视频文件关联的视频分析文件,然后基于视频分析文件和视频下载请求中的下载时段,对第一视频文件进行处理,得到与下载时段对应的第二视频文件;接着将第二视频文件发送至终端110,从而实现在对象存储场景下用户可以根据需求按照时间范围下载可播放的视频文件,不用下载完整视频,提高了视频的下载速度。并且,通过利用预先与第一视频文件关联的视频分析文件,节省了对第一视频文件进行解析的过程,可以提高对第一视频文件处理的速度,即可以提高了第二视频文件的下载速度。
在本发明的一些实施例中,获取模块502,用于:
基于第一对象标识,读取第一对象标识对应的第一对象中的第一视频文件以及第一视频文件的身份标识;
基于身份标识,读取以身份标识为对象标识的第二对象中的第一视频文件关联的视频分析文件。
在本发明的一些实施例中,视频文件确定模块503,包括:
截取信息确定单元,用于基于下载时段和视频分析文件,确定截取信息。
目标媒体数据获取单元,用于通过截取信息,从第一视频文件的媒体数据中获取与下载时段对应的目标媒体数据。
目标头部信息确定单元,用于根据视频分析文件和截取信息,修改第一视频文件的头部信息,得到与下载时段对应的目标头部信息。
第二视频文件生成单元,用于基于目标头部信息和目标媒体数据,生成第二视频文件。
在本发明的一些实施例中,截取信息确定单元,用于:
基于视频分析文件中每个关键帧的时间戳以及每个关键帧的数据块信息,确定下载时段对应的起始数据块和结束数据块;
从视频分析文件中获取起始数据块在第一视频文件中的第二偏移地址和结束数据块在第一视频文件中的第三偏移地址;
基于第二偏移地址和第三偏移地址,确定下载时段对应的目标媒体数据的数据信息在第一视频文件中的第一偏移地址和下载时段对应的目标媒体数据的数据信息的第一长度。
在本发明的一些实施例中,截取信息包括下载时段对应的目标媒体数据的数据信息在第一视频文件中的第一偏移地址和下载时段对应的目标媒体数据的数据信息的第一长度;
其中,目标媒体数据获取单元用于:
基于视频分析文件中第一视频文件的媒体数据的第四偏移地址,读取第一视频文件的媒体数据的第一头部信息;
基于第一长度对第一头部信息进行修改,得到修改后的第一头部信息;
基于第一偏移地址和第一长度,从第一视频文件的媒体数据中截取下载时段对应的目标媒体数据的数据信息;
将修改后的第一头部信息和下载时段对应的目标媒体数据的数据信息,组成下载时段对应的目标媒体数据。
在本发明的一些实施例中,第一视频文件的头部信息包括第一视频文件的文件类型信息和第一视频文件的元数据;
其中,目标头部信息确定单元,用于:
基于视频分析文件中第一视频文件的元数据在第一视频文件中的第五偏移地址和第一视频文件的元数据的第二长度,读取第一视频文件的元数据;
根据视频分析文件中保存的第一视频文件的文件类型信息在第一视频文件中的第六偏移地址和第一视频文件的文件类型信息的第三长度,读取第一视频文件的文件类型信息;
按照视频分析文件中保存的与截取信息相关的信息,对第一视频文件的元数据进行修改,得到目标元数据;
将目标元数据和第一视频文件的文件类型信息,组成目标头部信息。
在本发明的一些实施例中,视频下载装置500还包括:
上传请求接收模块,用于接收终端发送的对第一视频文件的上传请求,上传请求包括第一对象标识。
存储模块,用于基于第一对象标识,存储第一视频文件。
视频分析模块,用于对第一视频文件进行预分析处理,得到第一视频文件关联的视频分析文件。
在本申请的一些实施例中,存储模块用于基于第一对象标识,生成第一对象标识对应的第一对象,第一对象中存储有第一视频文件。
在本申请的一些实施例中,视频下载装置500还包括:
身份标识生成模块,用于生成第一视频文件的身份标识;
对象生成模块,用于生成以身份标识为对象标识的第二对象,第二对象中存储有第一视频文件关联的视频分析文件。
根据本发明实施例的视频下载装置500的其他细节与以上结合图2至图4描述的根据本说明书实施例的视频下载方法类似,在此不再赘述。
结合图2和图5描述的根据本发明实施例的视频下载方法和装置可以由计算设备来实现。图6是示出根据发明实施例的计算设备的硬件结构600示意图。
如图6所示,计算设备600包括输入设备601、输入接口602、处理器603、存储器604、输出接口605、以及输出设备606。其中,输入接口602、处理器603、存储器604、以及输出接口605通过总线610相互连接,输入设备601和输出设备606分别通过输入接口602和输出接口605与总线610连接,进而与计算设备600的其他组件连接。
其中,处理器603可以包括:中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processing Unit,NPU)、张量处理器(Tensor Processing Unit,TPU)、现场可编程门阵列(Field Programmable Gate Array,FpGA)芯片或者人工智能(ArtificialIntelligence,AI)芯片等类型的处理器,该附图仅为示例性说明,并不局限于文中列举的类型的处理器。
具体地,输入设备601接收来自外部的输入信息,并通过输入接口602将输入信息传送到处理器603;处理器603基于存储器604中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器604中,然后通过输出接口605将输出信息传送到输出设备606;输出设备606将输出信息输出到计算设备600的外部供用户使用。
也就是说,图6所示的计算设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现结合图2至图5描述的视频下载方法和装置。
本发明实施例还提供一种计算机存储介质,该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现本发明实施例提供的视频下载方法。
以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

Claims (13)

1.一种视频下载方法,包括:
接收终端发送的视频下载请求,所述视频下载请求包括第一对象标识和下载时段;
基于所述第一对象标识,读取所述第一对象标识对应的第一对象中存储的第一视频文件以及所述第一视频文件的身份标识;
基于所述身份标识,读取以所述身份标识为对象标识的第二对象中存储的所述第一视频文件关联的视频分析文件,所述视频分析文件包括所述第一视频文件的描述信息;
基于所述视频分析文件和所述下载时段,对所述第一视频文件进行处理,得到与所述下载时段对应的第二视频文件;
发送所述第二视频文件至所述终端。
2.根据权利要求1所述的方法,其中,所述基于所述视频分析文件和所述下载时段,对所述第一视频文件进行处理,得到与所述下载时段对应的第二视频文件,包括:
基于所述下载时段和所述视频分析文件,确定截取信息;
通过所述截取信息,从所述第一视频文件的媒体数据中获取与所述下载时段对应的目标媒体数据;
根据所述视频分析文件和所述截取信息,修改所述第一视频文件的头部信息,得到与所述下载时段对应的目标头部信息;
基于所述目标头部信息和所述目标媒体数据,生成所述第二视频文件。
3.根据权利要求2所述的方法,其中,所述基于所述下载时段和所述视频分析文件,确定截取信息,包括:
基于所述视频分析文件中每个关键帧的时间戳以及每个所述关键帧的数据块信息,确定所述下载时段对应的起始数据块和结束数据块;
从所述视频分析文件中获取所述起始数据块在所述第一视频文件中的第二偏移地址和所述结束数据块在所述第一视频文件中的第三偏移地址;
基于所述第二偏移地址和所述第三偏移地址,确定所述下载时段对应的目标媒体数据的数据信息在所述第一视频文件中的第一偏移地址和所述下载时段对应的目标媒体数据的数据信息的第一长度。
4.根据权利要求2所述的方法,其中,所述截取信息包括所述下载时段对应的目标媒体数据的数据信息在所述第一视频文件中的第一偏移地址和所述下载时段对应的目标媒体数据的数据信息的第一长度;
其中,所述通过所述截取信息,从所述第一视频文件的媒体数据中获取与所述下载时段对应的目标媒体数据,包括:
基于所述视频分析文件中所述第一视频文件的媒体数据的第四偏移地址,读取所述第一视频文件的媒体数据的第一头部信息;
基于所述第一长度对所述第一头部信息进行修改,得到修改后的第一头部信息;
基于所述第一偏移地址和所述第一长度,从所述第一视频文件的媒体数据中截取所述下载时段对应的目标媒体数据的数据信息;
将所述修改后的第一头部信息和所述下载时段对应的目标媒体数据的数据信息,组成所述下载时段对应的目标媒体数据。
5.根据权利要求2所述的方法,其中,所述第一视频文件的头部信息包括所述第一视频文件的文件类型信息和所述第一视频文件的元数据;
其中,所述根据所述视频分析文件和所述截取信息,修改所述第一视频文件的头部信息,得到与所述下载时段对应的目标头部信息,包括:
基于所述视频分析文件中所述第一视频文件的元数据在所述第一视频文件中的第五偏移地址和所述第一视频文件的元数据的第二长度,读取所述第一视频文件的元数据;
根据所述视频分析文件中保存的所述第一视频文件的文件类型信息在所述第一视频文件中的第六偏移地址和所述第一视频文件的文件类型信息的第三长度,读取所述第一视频文件的文件类型信息;
按照所述视频分析文件中保存的与所述截取信息相关的信息,对所述第一视频文件的元数据进行修改,得到目标元数据;
将所述目标元数据和所述第一视频文件的文件类型信息,组成所述目标头部信息。
6.根据权利要求1所述的方法,其中,在所述接收终端发送的视频下载请求之前,所述方法还包括:
接收所述终端发送的对所述第一视频文件的上传请求,所述上传请求包括第一对象标识;
基于所述第一对象标识,存储所述第一视频文件;
对所述第一视频文件进行预分析处理,得到所述第一视频文件关联的视频分析文件。
7.根据权利要求6所述的方法,其中,所述基于所述第一对象标识,存储所述第一视频文件,包括:
基于所述第一对象标识,生成所述第一对象标识对应的第一对象,所述第一对象中存储有所述第一视频文件。
8.根据权利要求6所述的方法,其中,在所述基于所述第一对象标识,存储所述第一视频文件之后,所述方法还包括:
生成所述第一视频文件的身份标识;
在所述对所述第一视频文件进行预分析处理,得到所述第一视频文件关联的视频分析文件之后,所述方法还包括:
生成以所述身份标识为对象标识的第二对象,所述第二对象中存储有所述第一视频文件关联的视频分析文件。
9.一种云端存储系统,包括:对象存储系统、第一处理器和第二处理器;
所述对象存储系统用于接收终端发送的视频下载请求,并向所述第一处理器发送所述视频下载请求,所述视频下载请求包括第一对象标识和下载时段;
所述第一处理器用于接收所述视频下载请求,并基于所述第一对象标识,从所述对象存储系统中读取所述第一对象标识对应的第一对象中存储的第一视频文件以及所述第一视频文件的身份标识;
所述第二处理器中存储有所述第一视频文件关联的视频分析文件;
所述第一处理器还用于基于所述第一视频文件的身份标识从所述第二处理器中读取所述视频分析文件,所述视频分析文件包括所述第一视频文件的描述信息;
所述第一处理器还用于基于所述视频分析文件和所述下载时段,对所述第一视频文件进行处理,得到与所述下载时段对应的第二视频文件;
所述第一处理器还用于向所述对象存储系统发送所述第二视频文件;
所述对象存储系统还用于向所述终端发送所述第二视频文件。
10.根据权利要求9所述的系统,其中,所述对象存储系统还用于接收所述终端发送的对所述第一视频文件的上传请求,所述上传请求包括第一对象标识;
所述对象存储系统还用于基于所述第一对象标识,生成所述第一对象标识对应的第一对象以及所述第一视频文件的身份标识,所述第一对象中存储有所述第一视频文件;
所述对象存储系统还用于向所述第二处理器发送预分析请求,所述预分析请求包括所述第一对象标识和所述身份标识;
所述第二处理器用于接收所述预分析请求,并基于所述第一对象标识读取所述第一视频文件;
所述第二处理器还用于对所述第一视频文件进行预分析处理,得到所述第一视频文件关联的视频分析文件,并生成以所述身份标识为对象标识的第二对象,所述第二对象中存储有所述视频分析文件。
11.一种视频下载装置,其中,所述装置包括:
接收模块,用于接收终端发送的视频下载请求,所述视频下载请求包括第一对象标识和下载时段;
获取模块,用于基于所述第一对象标识,读取所述第一对象标识对应的第一对象中存储的第一视频文件以及所述第一视频文件的身份标识;
所述获取模块,还用于基于所述身份标识,读取以所述身份标识为对象标识的第二对象中存储的所述第一视频文件关联的视频分析文件,所述视频分析文件包括所述第一视频文件的描述信息;
视频文件确定模块,用于基于所述视频分析文件和所述下载时段,对所述第一视频文件进行处理,得到与所述下载时段对应的第二视频文件;
发送模块,用于发送所述第二视频文件至所述终端。
12.一种计算设备,其中,所述计算设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-8任意一项所述的视频下载方法。
13.一种计算机存储介质,其中,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-8任意一项所述的视频下载方法。
CN202010521387.0A 2020-06-10 2020-06-10 视频下载方法、装置、计算设备、介质和云端存储系统 Active CN113301391B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010521387.0A CN113301391B (zh) 2020-06-10 2020-06-10 视频下载方法、装置、计算设备、介质和云端存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010521387.0A CN113301391B (zh) 2020-06-10 2020-06-10 视频下载方法、装置、计算设备、介质和云端存储系统

Publications (2)

Publication Number Publication Date
CN113301391A CN113301391A (zh) 2021-08-24
CN113301391B true CN113301391B (zh) 2023-07-14

Family

ID=77318255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010521387.0A Active CN113301391B (zh) 2020-06-10 2020-06-10 视频下载方法、装置、计算设备、介质和云端存储系统

Country Status (1)

Country Link
CN (1) CN113301391B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114007100A (zh) * 2021-10-28 2022-02-01 深圳市商汤科技有限公司 视频处理方法、装置、计算机设备以及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217638B (zh) * 2007-12-28 2012-10-24 深圳市迅雷网络技术有限公司 视频文件分段下载的方法、系统及装置
US9491225B2 (en) * 2012-03-16 2016-11-08 Tencent Technology (Shenzhen) Company Limited Offline download method and system
CN105100839A (zh) * 2015-07-14 2015-11-25 网易传媒科技(北京)有限公司 一种视频文件下载方法、装置、服务器和终端设备
CN109819265B (zh) * 2017-11-20 2022-05-06 杭州萤石网络股份有限公司 数据存储、数据获取方法及系统

Also Published As

Publication number Publication date
CN113301391A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
JP7015617B2 (ja) コンテンツの送受信方法及び装置
CN103081433B (zh) 用于经译码视频数据的网络串流传输的清单文件更新
CN111063376B (zh) 一种mp4修复中音视频同步的方法、终端设备和存储介质
US8904191B2 (en) Multiple content protection systems in a file
US8010566B2 (en) Extended multimedia file structure and multimedia file producting method and multimedia file executing method
JP2023090754A (ja) 再生方法および再生装置
CN104572952A (zh) 直播多媒体文件的识别方法及装置
CN104104971A (zh) 一种视频文件处理方法及系统
CN104967862A (zh) 一种视频存储方法及装置和视频搜索方法及装置
CN105338124A (zh) 一种资源传播跟踪方法、装置及系统
CN110011991B (zh) 用于在广播网络中发送媒体数据的装置
CN110784741A (zh) 媒体数据的时移响应方法及装置
CN104284238A (zh) 一种基于二维码的视频播放方法和装置
CN101873355A (zh) 一种下载文件的方法、装置和系统
CN104602105A (zh) 视频文件的播放方法及用户设备
CN113301391B (zh) 视频下载方法、装置、计算设备、介质和云端存储系统
JP7391963B2 (ja) コンテナファイルフォーマットで情報をシグナリングするための装置及び方法
CN113742518A (zh) 存储和提供视频的方法、设备和计算机程序产品
CN108141640B (zh) 信息处理设备和信息处理方法
CN109587517B (zh) 一种多媒体文件的播放方法及装置、服务器及存储介质
CN114390319B (zh) Mp4文件的读取下载方法、装置、电子设备及存储介质
CN112929686B (zh) 线上实时回放录制视频的方法及装置
CN106961626B (zh) 一种视频元信息自动补全整理的方法和装置
CN113660442A (zh) 一种视频修复方法、装置、电子设备及可读介质
CN104346338A (zh) 应用于终端的多媒体信息显示方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40058633

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant