CN113742518A - 存储和提供视频的方法、设备和计算机程序产品 - Google Patents

存储和提供视频的方法、设备和计算机程序产品 Download PDF

Info

Publication number
CN113742518A
CN113742518A CN202010470802.4A CN202010470802A CN113742518A CN 113742518 A CN113742518 A CN 113742518A CN 202010470802 A CN202010470802 A CN 202010470802A CN 113742518 A CN113742518 A CN 113742518A
Authority
CN
China
Prior art keywords
video
data blocks
frames
frame
streaming media
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.)
Pending
Application number
CN202010470802.4A
Other languages
English (en)
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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN202010470802.4A priority Critical patent/CN113742518A/zh
Priority to US16/917,801 priority patent/US11315605B2/en
Publication of CN113742518A publication Critical patent/CN113742518A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/322Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier used signal is digitally coded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42661Internal components of the client ; Characteristics thereof for reading from or writing on a magnetic storage medium, e.g. hard disk drive
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开的实施例涉及存储和提供视频的方法、设备和计算机程序产品。提供了一种存储视频的方法,包括:获取要被存储的视频中的帧存储信息,该帧存储信息包括与视频中的多个帧的存储有关的信息;基于该帧存储信息,将视频转换成多个数据块;以及将该帧存储信息转换成流媒体索引文件,以与多个数据块相关联地表征视频。本公开的实施例还提供了一种提供视频的方法。通过本公开的实施例,能够节省视频的存储空间,提高视频的存储效率,还能够提高视频提供的效率。

Description

存储和提供视频的方法、设备和计算机程序产品
技术领域
本公开的实施例总体上涉及信息处理领域,具体涉及存储和提供视频的方法、设备和计算机程序产品。
背景技术
随着网络技术和视频技术的发展,人们越来越多地观看、下载、创建、编辑和在线分享视频内容。同时,人们对于存储视频的需求也日益增长。当前的存储系统或备份系统通常是将要被存储的文件转换成若干数据块,然后对其进行本地存储或传输到其他存储设备中进行远程存储,以节省存储空间和提高存储效率。
然而,这样的方式对于视频存储而言并未带来预期的益处。这是因为视频具有独特的数据组织结构,传统的存储方式会破坏其结构。因此,目前,视频的存储对存储空间的要求较高且存储效率较低。此外,如果用户期望观看视频中的一部分,只能先从存储视频的设备中还原整个视频,并且用户也无法知道所观看的视频内容是否是独特的。
发明内容
本公开的实施例提供了存储和提供视频的方法、设备和计算机程序产品。
在本公开的第一方面,提供了一种存储视频的方法。该方法包括:获取要被存储的视频中的帧存储信息,该帧存储信息包括与视频中的多个帧的存储有关的信息;基于该帧存储信息,将视频转换成多个数据块;以及将该帧存储信息转换成流媒体索引文件,以与多个数据块相关联地表征视频。
在本公开的第二方面,提供了一种电子设备。该电子设备包括:至少一个处理单元;至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令,该指令当由至少一个处理单元执行时,使得电子设备执行动作,该动作包括:获取要被存储的视频中的帧存储信息,该帧存储信息包括与视频中的多个帧的存储有关的信息;基于该帧存储信息,将视频转换成多个数据块;以及将该帧存储信息转换成流媒体索引文件,以与多个数据块相关联地表征视频。
在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令。该机器可执行指令在由设备执行时使该设备执行根据本公开的第一方面所描述的方法的任意步骤。
在本公开的第四方面,提供了一种提供视频的方法。该方法包括:根据确定接收到用于获取针对视频中的至少一部分的请求,获取所述视频的流媒体索引文件,所述视频至少通过所述流媒体索引文件和多个数据块来相关联地表征;基于所述流媒体索引文件,从所述多个数据块中确定与所述视频中的所述至少一部分相对应的一组数据块;以及通过流媒体服务数据的形式来提供所述一组数据块。
在本公开的第五方面,提供了一种电子设备。该电子设备包括:至少一个处理单元;至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令,该指令当由至少一个处理单元执行时,使得电子设备执行动作,该动作包括:根据确定接收到用于获取针对视频中的至少一部分的请求,获取所述视频的流媒体索引文件,所述视频至少通过所述流媒体索引文件和多个数据块来相关联地表征;基于所述流媒体索引文件,从所述多个数据块中确定与所述视频中的所述至少一部分相对应的一组数据块;以及通过流媒体服务数据的形式来提供所述一组数据块。
在本公开的第六方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令。该机器可执行指令在由设备执行时使该设备执行根据本公开的第四方面所描述的方法的任意步骤。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的重要特征或必要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了本公开的实施例能够在其中被实现的示例视频系统的框图;
图2示出了使用传统的视频存储方法之后的结果的示意图;
图3示出了根据本公开的实施例的用于存储视频的示例方法的流程图;
图4A示出了根据本公开的实施例的一种类型的视频的数据结构的示意图;
图4B示出了根据本公开的实施例的另一种类型的视频的数据结构的示意图;
图5示出了根据本公开的实施例的用于提供视频的示例方法的流程图;以及
图6示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
如上文所提及的,随着网络技术和视频技术的发展,人们越来越多地观看、下载和在线分享视频内容。以下是2019年在全球范围内产生的视频数据:超过400万小时的视频内容被上传到视频网站YouTube;YouTube的用户每天观看59.7亿小时的YouTube视频;在线影片提供方Netflix用户流传输694,444小时的视频;短视频提供方TikTok的用户观看了超过10亿个视频等等。不仅如此,人们还创建和编辑视频内容。53%的Tiktok用户不仅观看内容,还创建视频并将其上传到互联网。相应地,人们对于存储或备份视频的需求也日益增长。
当前的视频存储系统或备份系统通常是将要被存储的文件转换成若干数据块,然后再将文件的元数据或数据块进行本地存储或传输到诸如备份服务器之类的其他存储设备中进行远程存储。元数据和数据块的哈希值可以被计算,以用作元数据或数据块的索引。
这样的存储方式是有益处的:首先,可以节省存储空间。将文件切分成数据块之后就可以对数据块进行去重复操作。相同的数据块仅被存储在一个副本中,具有该数据块的其他文件可以通过索引来引用该数据块,而不是重复地存储该数据块。其次,可以提高存储效率。当新的文件数据要被存储时,仅需检查其在存储设备上的哈希的存在,而无需将实际数据块传输到存储设备。
然而,这样的方式并未给视频的存储带来预期的益处。这是因为视频具有独特的数据组织结构,传统的数据块划分方式会破坏其结构。因此,即使对于具有相同编码的视频帧,划分的块对于不同的容器格式也将是不同的。这会导致视频的去重复率非常低。而视频往往较大,因此,视频的存储对存储空间的要求较高且存储效率较低。
此外,如果要读取已被存储在存储设备中的视频的一部分,则首先必须从所存储的数据块中还原整个视频然后进行读取。这使得视频提供的效率低下且浪费资源。而且用户也无法知道所观看的视频内容是否是独特的,换言之,是否被存储设备中的其他视频所引用。
本公开的实施例提出了一种存储和提供视频的解决方案,以解决上述问题和其他潜在问题中的一个或多个问题。该解决方案通过根据帧存储信息将视频转换成多个数据块,并且将帧存储信息转换成流媒体索引文件以与多个数据块相关联地表征视频,不仅实现了节省视频的存储空间,提高视频的存储效率,还使得用户能够在不还原整个视频的情况下读取视频的至少一部分。
图1示出了本公开的实施例能够在其中被实现的示例视频系统100的框图。如图1所示,视频系统100包括视频存储设备110和视频提供设备120。
视频存储设备110是能够对视频130进行处理和存储的设备。视频130可以是各种类型的视频,例如,MP4类型的视频、AVI类型的视频等。如下文详细描述的,视频存储设备110能够将视频转换成多个数据块160-1至160-3(统称为数据块160),同时保留视频130的原始数据结构。关于视频130的数据结构,将在下文关于图4详细描述。视频存储设备110还可以生成流媒体索引文件150以和数据块160一起表征视频130。视频存储设备110可以例如是计算机、虚拟机、服务器等,本公开在此方面不受限制。
视频提供设备120是能够接收用于获取视频的请求并根据请求来提供视频内容的设备。视频提供设备120上存储有从视频存储设备110传输的视频的文件元数据141、流媒体索引文件151以及数据块161等。视频提供设备120可以例如是计算机、虚拟机、服务器等,本公开在此方面不受限制。视频存储设备110和视频提供设备120可以通过网络彼此通信,网络可以例如是互联网、内联网等。
应当理解,仅出于示例性的目的描述视频系统100的结构,而不暗示对于本公开的范围的任何限制。例如,本公开的实施例还可以被应用到与视频系统100不同的系统中。应当理解,上述各设备的具体数目仅出于说明性目的给出,而不暗示对本公开范围的任何限制。例如,本公开的实施例还可以被应用于更多的视频提供设备120。或者,本公开的实施例还可以将视频存储设备110和视频提供设备120集成在相同的设备中。
图2示出了使用传统的视频存储方法之后的结果200的示意图。如图2所示,示例视频具有视频信息包210和220以及视频数据包230。视频数据包230具有多个帧。在使用传统的视频存储方法之后得到数据块240-1至240-4(统称为数据块240)。如图2所示,数据块240不再保留视频的原始包结构。因此,即使对于具有相同编码的视频帧,由于不同的容器格式,这些视频帧所对应的数据块也是不同的,从而导致视频的去重复率降低。
图3示出了根据本公开的实施例的用于存储视频的示例方法300的流程图。例如,方法300可以由如图1所示的视频存储设备110来执行。应当理解,方法300还可以由其他设备来执行,本公开的范围在此方面不受限制。还应当理解,方法300还可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。
在310,视频存储设备110可以获取要被存储的视频中的帧存储信息,帧存储信息包括与视频中的多个帧的存储有关的信息。
在一些实施例中,视频可以是各种类型的视频,例如,MP4类型的视频、AVI类型的视频等。帧存储信息可以包括与视频中的多个帧的存储有关的信息。例如,在一些实施例中,帧存储信息可以包括视频中的多个帧的偏移,每个帧的偏移指示该帧的起始存储位置与视频的起始存储位置之间的距离。附加地,在另一些实施例中,帧存储信息可以包括视频的容器类型。通过视频的容器类型,视频存储设备110可以确定帧的编码方式,以用于后续将视频的帧转换成数据块。附加地,在又一些实施例中,帧存储信息可以包括视频中的多个帧的数目和多个帧的类型,例如视频帧、音频帧等。
为了便于说明,以下参考图4A和图4B来描述图3。图4A示出了根据本公开的实施例的一种类型的视频的数据结构的示意图410。如图4A所示,一种类型的视频,例如MP4类型的视频,可以包括文件元数据411、ftyp包412、moov包413、视频数据包414以及音频数据包415。文件元数据411中可以存储例如该视频在操作系统中的存储类型、视频文件的大小、视频的创建时间等信息。ftyp包412中可以存储视频的容器类型、版本、兼容协议等信息。moov包413中可以存储视频中的多个帧的偏移、多个帧的数目、多个帧的类型等信息。视频数据包414和音频数据包415包括多个帧416-1、416-2、416-3和416-4等(统称为帧416)。
在这样的实施例中,帧存储信息可以包括ftyp包412和moov包413。视频存储设备110可以通过读取moov包413来获取视频中的多个帧416的偏移,每个帧的偏移指示该帧的起始存储位置与视频的起始存储位置之间的距离。视频存储设备110还可以通过读取ftyp包412来获取视频的容器类型,在该实施例中,容器类型为MP4。
图4B示出了根据本公开的实施例的另一种类型的视频的数据结构的示意图420。如图4B所示,另一种类型的视频,例如AVI类型的视频,可以包括文件元数据421、容器类型信息422、头文件列表423、信息列表424、视频列表425、音频列表426以及索引块427。类似地,文件元数据421中可以存储例如该视频在操作系统中的存储类型、视频文件的大小、视频的创建时间等信息。帧存储信息可以包括容器类型信息422、头文件列表423、信息列表424和索引块427。视频列表425和音频列表426包括多个帧428-1、428-2、428-3和428-4等(统称为帧428)。
在这样的实施例中,类似于图4A,视频存储设备110可以通过读取帧存储信息来获取视频中的多个帧428的偏移和视频的容器类型。在该实施例中,容器类型为AVI。
图4A和图4B示出了两种不同类型的视频的数据结构。应当理解,仅出于示例性的目的示出了一些视频的数据结构,而不暗示对于本公开的范围的任何限制。例如,本公开的实施例还适用于其他类型的视频。
现在返回图3。在320,视频存储设备110可以根据帧存储信息将视频转换成多个数据块。
在一些实施例中,视频存储设备110可以根据帧存储信息来确定视频中的多个帧中的每个帧的起始存储位置和结束存储位置,然后根据起始存储位置和结束存储位置将多个帧中的一个或多个帧存储成一个数据块。
例如,在一些实施例中,视频存储设备110可以根据读取帧存储信息所获取的每个帧的偏移和每个帧的大小来确定每个帧的起始起始存储位置和结束存储位置,然后将每个帧存储成一个数据块。备选地,在另一些实施例中,视频存储设备110可以将多个帧存储成一个数据块。附加地,在一些实施例中,视频存储设备110可以将帧存储信息存储成一个数据块。例如,在如图4A所示的实施例中,视频存储设备110可以将ftyp包412和moov包413存储成一个数据块。在如图4B所示的实施例中,视频存储设备110可以将容器类型信息422、头文件列表423、信息列表424和索引块427存储成一个数据块。
通过这种方式,在将视频转换成多个数据块时,视频的原始数据结构被保留,而不是如图2所示的那样结构被破坏。由于每个帧都被完整地存储在数据块中,因此在对多个数据块进行去重复操作时,相同的帧能够被有效地去重复,从而提高视频的去重复率。这有利于节省视频的存储空间,提高视频的存储效率。
在330,视频存储设备110可以将帧存储信息转换成流媒体索引文件,以与多个数据块相关联地表征该视频。
在一些实施例中,视频存储设备110可以将帧存储信息转换成m3u8索引文件。该m3u8索引文件符合流媒体协议HTTP Live Streaming(HLS)。备选地,在其他实施例中,视频存储设备110可以将帧存储信息转换成符合诸如HTTP Dynamic Streaming(HDS)、Real-Time Messaging Protocol(RTMP)和Microsoft Smooth Streaming(MSS)等的流媒体协议的流媒体索引文件。附加地,在一些实施例中,视频存储设备110可以将流媒体索引文件和文件元数据存储在一起。
在一些实施例中,视频存储设备110可以将流媒体索引文件与多个数据块传输到视频存储设备110外部的设备进行存储。例如,可以传输到视频提供设备120。备选地或附加地,视频存储设备110也可以本地存储流媒体索引文件与多个数据块。由于流媒体索引文件的存在,用户可以通过流媒体协议向视频所位于的视频存储设备110或视频提供设备120发出获取针对视频的至少一部分的请求,然后视频的该至少一部分可以被确定并且通过流媒体服务数据的形式被提供给用户,使得在不还原整个视频的情况下读取视频的至少一部分成为可能。关于这方面,将在下文参考图5来详细描述。
在上述示例性实施例中,通过根据帧存储信息将视频转换成多个数据块,并且将帧存储信息转换成流媒体索引文件以与多个数据块相关联地表征视频,不仅可以节省视频的存储空间,提高视频的存储效率,还可以使得在不还原整个视频的情况下读取视频的至少一部分成为可能。
图5示出了根据本公开的实施例的用于提供视频的示例方法500的流程图。例如,方法500可以由如图1所示的视频提供设备120来执行。应当理解,方法500还可以由其他设备来执行,本公开的范围在此方面不受限制。还应当理解,方法500还可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。
在510,视频提供设备120可以根据确定接收到用于获取针对视频中的至少一部分的请求,获取视频的流媒体索引文件,该视频至少通过流媒体索引文件和多个数据块来相关联地表征。
在一些实施例中,要获取视频的用户可以向视频提供设备120发出用于获取针对视频中的至少一部分的请求,该请求可以包括要获取的视频的ID。视频提供设备120在接收到具有视频ID的请求之后,根据视频ID来获取视频的流媒体文件。
在520,视频提供设备120可以根据流媒体索引文件从多个数据块中确定与视频中的该至少一部分相对应的一组数据块。
在一些实施例中,视频提供设备120可以根据所获取的流媒体索引文件将所请求的至少一部分所对应的帧索引解析为数据块的偏移,然后根据偏移来确定一组数据块。
在530,视频提供设备120可以通过流媒体服务数据的形式来提供该一组数据块。
在一些实施例中,视频提供设备120可以将该一组数据块转换成流数据格式,例如,可以转换成MPEG-2片段,然后将流数据格式转换成流媒体服务数据来提供给用户或用户设备。
附加地,在一些实施例中,为了提供更流畅的视频内容,视频提供设备120可以在接收到多个请求之后,缓冲该多个请求所对应的多组数据块,然后将多组数据块一起提供给用户或用户设备。例如,视频提供设备120可以缓冲5分钟的视频内容,然后将其一起提供给用户或用户设备。
附加地,在一些实施例中,视频提供设备120可以将与视频有关的统计信息添加到流媒体服务数据中,该统计信息至少指示该一组数据块是否被视频所位于的存储设备中的其他视频所引用。在本文所示的实施例中,视频所位于的存储设备可以是视频存储设备110或视频提供设备120。
例如,在一些实施例中,视频提供设备120可以在视频被传输到视频提供设备120的同时生成视频的统计信息,该统计信息可以指示视频的帧去重复率、视频提供设备120上的其他视频对多个帧所对应的数据块的引用情况等。附加地,在一些实施例中,视频提供设备120可以使用EXT-X-DATERANGE标签将该基于SCTE-35规范的统计信息添加到媒体播放列表文件中。在分别包含SCTE35-OUT和SCTE35-IN属性的两个EXT-X-DATERANGE标签之间可以存在一系列媒体片段URI。这些媒体片段通常表示可以被本地的或定制的广告替换的广告程序。视频提供设备120可以将这些统计信息生成为小视频,然后将其添加到服务器tmp文件中,当所提供的视频部分正在播放时,播放列表将跳至所生成的小视频来播放统计信息。
作为示例,如果在5分钟的视频内容中,从时间1:00至时间2:00的内容是视频提供设备120中的其他视频所没有引用的独特帧,则视频提供设备120可以生成5秒的包含统计信息的小视频,以通知用户:“以下时间1:00至2:00的内容是存储设备中的独特部分”。当用户观看视频直到00:55秒时,所生成的5秒的小视频将播放以通知用户接下来的1:00至2:00的部分是独特的。用户可能会根据该统计信息来还原该视频。附加地或备选地,如果所提供的内容不是独特的,则视频提供设备120可以列出引用了与所提供的内容相对应的数据块的视频名称。应当理解,仅出于示例性的目的示出了上述示例实施例,而不暗示对于本公开的范围的任何限制。例如,统计信息还可以指示其他信息,还可以通过其他方式来添加统计信息等。
在上述示例性实施例中,通过利用流媒体索引文件来提供视频的数据块,能够在不还原整个视频的情况下读取视频的至少一部分。此外,通过添加与视频有关的统计信息,能够指示所提供的视频内容在视频所位于的存储设备上是否是独特的。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。例如,如图1所示的视频存储设备110和/或视频提供设备可以由电子设备600实施。如图6所示,电子设备600包括中央处理装置(CPU)601,其可以根据存储在只读存储器(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可存储电子设备600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
电子设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法300和500,可由处理装置601执行。例如,在一些实施例中,方法300和500可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到电子设备600上。当计算机程序被加载到RAM 603并由CPU 601执行时,可以执行上文描述的方法300和500的一个或多个动作。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理装置,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理装置执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (14)

1.一种存储视频的方法,包括:
获取要被存储的视频中的帧存储信息,所述帧存储信息包括与所述视频中的多个帧的存储有关的信息;
基于所述帧存储信息,将所述视频转换成多个数据块;以及
将所述帧存储信息转换成流媒体索引文件,以与所述多个数据块相关联地表征所述视频。
2.根据权利要求1所述的方法,其中获取所述视频的所述帧存储信息包括:获取所述视频中的所述多个帧的偏移,每个帧的偏移指示所述帧的起始存储位置与所述视频的起始存储位置之间的距离。
3.根据权利要求2所述的方法,其中获取所述视频的所述帧存储信息还包括获取以下中的至少一项:所述视频的容器类型、所述多个帧的数目以及所述多个帧的类型。
4.根据权利要求1所述的方法,其中将所述视频转换成所述多个数据块包括:
基于所述帧存储信息,确定所述视频中的所述多个帧中的每个帧的起始存储位置和结束存储位置;以及
基于所述起始存储位置和所述结束存储位置,将所述多个帧中的一个或多个帧存储成一个数据块。
5.一种提供视频的方法,包括:
根据确定接收到用于获取针对视频中的至少一部分的请求,获取所述视频的流媒体索引文件,所述视频至少通过所述流媒体索引文件和多个数据块来相关联地表征;
基于所述流媒体索引文件,从所述多个数据块中确定与所述视频中的所述至少一部分相对应的一组数据块;以及
通过流媒体服务数据的形式来提供所述一组数据块。
6.根据权利要求5所述的方法,还包括:
将与所述视频有关的统计信息添加到所述流媒体服务数据中,所述统计信息至少指示所述一组数据块是否被所述视频之外的其他视频所引用。
7.一种电子设备,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述电子设备执行动作,所述动作包括:
获取要被存储的视频中的帧存储信息,所述帧存储信息包括与所述视频中的多个帧的存储有关的信息;
基于所述帧存储信息,将所述视频转换成多个数据块;以及
将所述帧存储信息转换成流媒体索引文件,以与所述多个数据块相关联地表征所述视频。
8.根据权利要求7所述的电子设备,其中获取所述视频的所述帧存储信息包括:获取所述视频中的所述多个帧的偏移,每个帧的偏移指示所述帧的起始存储位置与所述视频的起始存储位置之间的距离。
9.根据权利要求8所述的电子设备,其中获取所述视频的所述帧存储信息还包括获取以下中的至少一项:所述视频的容器类型、所述多个帧的数目以及所述多个帧的类型。
10.根据权利要求7所述的电子设备,其中将所述视频转换成所述多个数据块包括:
基于所述帧存储信息,确定所述视频中的所述多个帧中的每个帧的起始存储位置和结束存储位置;以及
基于所述起始存储位置和所述结束存储位置,将所述多个帧中的一个或多个帧存储成一个数据块。
11.一种电子设备,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述电子设备执行动作,所述动作包括:
根据确定接收到用于获取针对视频中的至少一部分的请求,获取所述视频的流媒体索引文件,所述视频至少通过所述流媒体索引文件和多个数据块来相关联地表征;
基于所述流媒体索引文件,从所述多个数据块中确定与所述视频中的所述至少一部分相对应的一组数据块;以及
通过流媒体服务数据的形式来提供所述一组数据块。
12.根据权利要求11所述的电子设备,其中所述动作还包括:
将与所述视频有关的统计信息添加到所述流媒体服务数据中,所述统计信息至少指示所述一组数据块是否被所述视频之外的其他视频所引用。
13.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令,所述机器可执行指令在由设备执行时使所述设备执行根据权利要求1-4中的任一项所述的方法。
14.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令,所述机器可执行指令在由设备执行时使所述设备执行根据权利要求5-6中的任一项所述的方法。
CN202010470802.4A 2020-05-28 2020-05-28 存储和提供视频的方法、设备和计算机程序产品 Pending CN113742518A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010470802.4A CN113742518A (zh) 2020-05-28 2020-05-28 存储和提供视频的方法、设备和计算机程序产品
US16/917,801 US11315605B2 (en) 2020-05-28 2020-06-30 Method, device, and computer program product for storing and providing video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010470802.4A CN113742518A (zh) 2020-05-28 2020-05-28 存储和提供视频的方法、设备和计算机程序产品

Publications (1)

Publication Number Publication Date
CN113742518A true CN113742518A (zh) 2021-12-03

Family

ID=78704687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010470802.4A Pending CN113742518A (zh) 2020-05-28 2020-05-28 存储和提供视频的方法、设备和计算机程序产品

Country Status (2)

Country Link
US (1) US11315605B2 (zh)
CN (1) CN113742518A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114245169A (zh) * 2021-12-21 2022-03-25 北京达佳互联信息技术有限公司 视频处理方法、装置、电子设备、介质和程序产品

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114491145B (zh) * 2022-01-27 2022-10-21 北京中电兴发科技有限公司 一种基于流存储的元数据设计方法
CN115103023B (zh) * 2022-06-14 2024-04-05 北京字节跳动网络技术有限公司 视频缓存方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101917388A (zh) * 2009-12-17 2010-12-15 新奥特(北京)视频技术有限公司 一种流媒体数据存储方法及装置
CN102413358A (zh) * 2011-08-12 2012-04-11 青岛海信传媒网络技术有限公司 流媒体文件存储和播放的方法、装置及系统
CN102663005A (zh) * 2012-03-19 2012-09-12 杭州海康威视系统技术有限公司 基于云计算的海量视频文件存储系统、分析方法及其系统
CN104750859A (zh) * 2015-04-16 2015-07-01 成都影泰科技有限公司 一种网络存储方法
CN109348251A (zh) * 2018-10-08 2019-02-15 腾讯科技(深圳)有限公司 用于视频播放的方法、装置、计算机可读介质及电子设备
US20190090023A1 (en) * 2017-09-19 2019-03-21 Sling Media L.L.C. Intelligent filtering and presentation of video content segments based on social media identifiers

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002016919A (ja) * 2000-04-28 2002-01-18 Sony Corp 情報送信方法及び装置、情報受信方法及び装置、情報記録方法及び装置、並びに、情報記録再生方法及び装置
CN100544439C (zh) * 2006-11-21 2009-09-23 华为技术有限公司 一种支持多种编码格式的媒体数据的方法及系统
CN101321265B (zh) * 2007-06-07 2011-03-16 中兴通讯股份有限公司 对等网络媒体点播跨帧播放方式的实现方法及系统
US8045836B2 (en) * 2008-01-11 2011-10-25 Texas Instruments Incorporated System and method for recording high frame rate video, replaying slow-motion and replaying normal speed with audio-video synchronization
US9911460B2 (en) * 2014-03-24 2018-03-06 Microsoft Technology Licensing, Llc Fast and smart video trimming at frame accuracy on generic platform
US20170155697A1 (en) * 2015-12-01 2017-06-01 Le Holdings (Beijing) Co., Ltd. Method and device for processing streaming media

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101917388A (zh) * 2009-12-17 2010-12-15 新奥特(北京)视频技术有限公司 一种流媒体数据存储方法及装置
CN102413358A (zh) * 2011-08-12 2012-04-11 青岛海信传媒网络技术有限公司 流媒体文件存储和播放的方法、装置及系统
CN102663005A (zh) * 2012-03-19 2012-09-12 杭州海康威视系统技术有限公司 基于云计算的海量视频文件存储系统、分析方法及其系统
CN104750859A (zh) * 2015-04-16 2015-07-01 成都影泰科技有限公司 一种网络存储方法
US20190090023A1 (en) * 2017-09-19 2019-03-21 Sling Media L.L.C. Intelligent filtering and presentation of video content segments based on social media identifiers
CN109348251A (zh) * 2018-10-08 2019-02-15 腾讯科技(深圳)有限公司 用于视频播放的方法、装置、计算机可读介质及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114245169A (zh) * 2021-12-21 2022-03-25 北京达佳互联信息技术有限公司 视频处理方法、装置、电子设备、介质和程序产品
CN114245169B (zh) * 2021-12-21 2024-01-23 北京达佳互联信息技术有限公司 视频处理方法、装置、电子设备、介质和程序产品

Also Published As

Publication number Publication date
US11315605B2 (en) 2022-04-26
US20210375326A1 (en) 2021-12-02

Similar Documents

Publication Publication Date Title
CN114666308B (zh) 对于流式内容部分的基于请求的编码系统和方法
US10560726B2 (en) System and method for delivery and caching of personalized media streaming content
US9532114B2 (en) Optimizing caches for media streaming
CN105052107B (zh) 使用质量信息进行媒体内容自适应传输
CA2826552C (en) Method and apparatus for receiving presentation metadata
US11350184B2 (en) Providing advanced playback and control functionality to video client
CN113742518A (zh) 存储和提供视频的方法、设备和计算机程序产品
WO2022170836A1 (zh) 多媒体文件中轨道数据的处理方法、装置、介质及设备
US10681431B2 (en) Real-time interstitial content resolution and trick mode restrictions
US9055268B2 (en) Multi-tier recorder to enable seek-back unique copy recording
US10419798B2 (en) Method and apparatus for just-in-time transcoding
US8706803B1 (en) Client-side generation of preliminary version of network page
CN113079386B (zh) 一种视频在线播放方法、装置、电子设备及存储介质
CN113873288A (zh) 在直播过程中生成回放的方法和装置
CN104572964A (zh) 一种压缩文件的解压方法和装置
EP2882199B1 (en) Method and apparatus for prefetching content in a data stream
US9866619B2 (en) Transmission of hierarchical data files based on content selection
EP2378441A1 (en) Method and system for comparing media assets
CN111107443A (zh) 一种dash分片文件合并方法、终端设备及存储介质
JP2022058789A (ja) Mp4オンライン再生方法、装置、電子機器、記憶媒体およびコンピュータプログラム
CN111800649A (zh) 存储视频的方法和装置以及生成视频的方法和装置
CN115905156A (zh) 针对对象存储的数据传输方法、设备和计算机程序产品
CN115802118A (zh) 直播视频的时移回看方法及装置
CN115756329A (zh) 一种数据处理方法及装置、存储介质
CN113453062A (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