Systems, methods, and apparatuses for managing segmented media content

By generating and using public metadata files in the cDVR system to manage media segments, the problem of high storage and processing resource requirements in existing technologies is solved, achieving more efficient storage and processing.

CN113254685BActive Publication Date: 2026-03-24SYNAMEDIA LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-02-10
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

Existing cloud-enabled digital video recording systems (cDVRs) require significant system resources to store and process metadata files for discrete media segments, resulting in high storage and processing demands and hindering system scalability.

Method used

By generating and using a single public metadata file to manage multiple sequential media segments, which contains sorting information, the need for storage and processing resources is reduced.

Benefits of technology

By using public metadata files, the need for storage and processing resources is reduced, thereby improving the system's storage and processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113254685B_ABST
    Figure CN113254685B_ABST
Patent Text Reader

Abstract

Systems, methods, and devices for managing segmented media content are disclosed. One method includes receiving a request to initiate recording of a media object. The media object includes a first plurality of sequential media segments. The first plurality of sequential media segments is associated with a corresponding plurality of metadata files, each of the corresponding plurality of metadata files providing a description of a respective media segment of the first plurality of sequential media segments. The method includes generating, in response to receiving the request to initiate recording of the media object, a first common metadata file associated with the media object from the corresponding plurality of metadata files. The first common metadata file includes ordering information associated with the first plurality of sequential media segments. The method includes storing the first plurality of sequential media segments based on the ordering information included in the first common metadata file.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to storage systems, and more specifically to more efficient management of media segments. Background Technology

[0002] Cloud-enabled / network-based digital video recording (cDVR) facilitates the recording and delivery (e.g., playback) of media content. cDVR systems typically store media content as media objects corresponding to complete recordings (such as entire episodes of television programs). Typically, a media object comprises many discrete media segments. To manage (e.g., record, play back, and delete) these discrete media segments, conventional cDVR systems associate each segment with a corresponding metadata file describing that segment. However, conventional cDVR systems utilize high levels of system resources (e.g., memory and processing resources) and power in storing and processing each corresponding metadata file. Attached Figure Description

[0003] Therefore, those skilled in the art will understand the contents of this disclosure and can obtain a more detailed description by referring to aspects of some exemplary embodiments, some of which are shown in the accompanying drawings.

[0004] Figure 1 It is a block diagram of a cloud-based digital video recording (cDVR) operating environment.

[0005] Figure 2 It is a data flow diagram associated with multiple playback requests in the cDVR operating environment.

[0006] Figure 3 This is an example of a cDVR environment for storing media objects, based on some implementation schemes.

[0007] Figure 4A This is an example of a block diagram of a first cDVR system operating in public copy mode according to some implementation schemes.

[0008] Figure 4B This is an example of a block diagram of a second cDVR system operating in a unique copy mode according to some implementation schemes.

[0009] Figure 5 This is an example of a block diagram of a cDVR system that satisfies playback requests for different representations of the requested media object according to some implementation schemes.

[0010] Figure 6 This is an example of a flowchart illustrating a method for managing media segments using public metadata files, based on some implementation schemes.

[0011] Figure 7This is an example of a flowchart illustrating different representations of media segments using different public metadata files, based on several implementation schemes.

[0012] Figure 8 This is an example of a flowchart illustrating methods for performing unique copy operations and public copy operations on media segments according to some implementation schemes.

[0013] By convention, the various features illustrated in the accompanying drawings may not be drawn to scale. Therefore, for clarity, the dimensions of various features may be arbitrarily enlarged or reduced. Additionally, some drawings may not depict all components of a given system, method, or apparatus. Finally, the same reference numerals may be used to denote the same features throughout the specification and drawings. Detailed Implementation

[0014] Numerous details have been described to provide a thorough understanding of the exemplary embodiments illustrated in the accompanying drawings. However, the drawings illustrate only some exemplary aspects of this disclosure and should therefore not be considered limiting. Those skilled in the art will understand that other effective aspects and / or variations do not include all the specific details described herein. Furthermore, well-known systems, methods, components, devices, and circuits have not been described exhaustively so as not to obscure further relevant aspects of the exemplary embodiments described herein.

[0015] Overview

[0016] This document describes techniques for managing (e.g., storing, playing back, and deleting) media objects more efficiently. Specifically, various methods, systems (e.g., cDVR systems), and devices involve generating and utilizing a single public metadata file for media objects. A media object includes sequencing information associated with multiple sequential media segments.

[0017] To this end, according to some embodiments, a method is performed at an electronic device having one or more processors and non-transitory memory, such as at a cDVR recorder (e.g., a storage and playback system). The method includes receiving a request to initiate recording of a media object. The media object includes a first plurality of sequential media segments. The first plurality of sequential media segments are associated with a corresponding plurality of metadata files. In some embodiments, a portion of the corresponding plurality of metadata files is associated with a plurality of metadata records, respectively. Each of the corresponding plurality of metadata files provides a description of a corresponding media segment among the first plurality of sequential media segments. The method includes generating a first public metadata file associated with the media object based on the corresponding plurality of metadata files in response to receiving the request to initiate recording of the media object. The first public metadata file includes sorting information associated with the first plurality of sequential media segments. The method includes storing the first plurality of sequential media segments based on the sorting information included in the first public metadata file.

[0018] According to some embodiments, an electronic device includes one or more processors and non-transitory memory. One or more programs are stored in the non-transitory memory and configured to be executed by the one or more processors, and the one or more programs include instructions for performing operations of any of the methods described herein or causing operations to be performed of any of the methods described herein. According to some embodiments, a non-transitory computer-readable storage medium has instructions stored therein, which, when executed by one or more processors of an electronic device, cause the device to perform operations of any of the methods described herein or cause operations to be performed of any of the methods described herein. According to some embodiments, an electronic device includes means for performing operations of any of the methods described herein or causing operations to be performed of any of the methods described herein. According to some embodiments, an information processing apparatus for use in an electronic device includes means for performing operations of any of the methods described herein or causing operations to be performed of any of the methods described herein.

[0019] cDVR systems facilitate the recording and playback of media content. In some systems, media content is often stored as media objects corresponding to complete recordings (such as entire episodes of television programs). Typically, a media object comprises many discrete media segments. For example, a cDVR system can record a television program every two seconds. In an adaptive bit rate (ABR) environment, a cDVR system records multiple discrete media segments corresponding to multiple different representations of the same media content (e.g., different bitrates providing 720p, 1080p, and 4K resolutions).

[0020] cDVR systems typically include a storage system and a sorting system for ordering discrete media segments based on corresponding metadata files. To manage (e.g., record, playback, and deletion) discrete media segments, a cDVR system associates each discrete media segment with a corresponding metadata file describing the media segment. For example, the metadata file includes a source identifier, a record identifier, and a segment identifier. However, because a separate metadata file is associated with each discrete media segment, the storage system often requires large storage capacity to store a relatively large number of metadata files. Furthermore, the required storage capacity is even higher when storing multiple representations of the same media object. Additionally, the sorting system utilizes significant computational resources (e.g., processing resources and power) when performing complex sorting operations on media segments based on corresponding metadata files. For example, to delete a media object, the system processes many individual deletion requests corresponding to the number of media segments in the media object. Moreover, the storage and processing challenges arising from using per-segment metadata files are amplified in a single-copy system because a different set of metadata files is stored for each record identifier (e.g., each user profile). High storage and processing requirements prevent efficient system scaling.

[0021] Figure 1 This is a block diagram of a cloud-based digital video recording (cDVR) operating environment 100. In short, a Content Acquisition Platform (CAP) 150 can communicate with a cDVR system 160, which includes a media storage device 178 for storing media content (such as television programs). The cDVR system 160 typically stores media content as media objects corresponding to complete recordings (such as entire episodes of television programs). Typically, a media object comprises many discrete media segments. One or more client devices 110 can communicate with the cDVR system 160 via one or more networks 130.

[0022] CAP 150 includes one or more computing devices that provide content streaming (real-time and / or non-real-time content delivery), delivery of stored and / or recorded discrete media segments, etc. Additionally, CAP 150 acquires discrete media segments and transcodes them, and optionally protects and encrypts them. cDVR system 160 may include one or more edge servers, one or more routers and / or bridges, one or more data center servers, one or more content databases and / or one or more content servers. The components of cDVR system 160 can cooperate to receive discrete media segments from CAP 150 and appropriately cache them for access by one or more client devices 110.

[0023] cDVR system 160 stores records associated with a user account and discrete media segments associated with the user account on a magnetic recording and playback device (such as media storage 178). Media storage 178 includes one or more hard disk drives, which can be controlled by various hard disk controllers.

[0024] To facilitate the management of discrete media segments (e.g., recording, playback, and deletion), cDVR system 160 includes a metadata management controller 179. The metadata management controller 179 performs sorting on multiple discrete media segments based on corresponding metadata files. Each metadata file describes a corresponding discrete media segment, and each metadata file is stored on cDVR system 160. For example, to store five discrete media segments of a media object (e.g., the first 10 seconds of a television program), the metadata management controller 179 performs five sorting operations on these five discrete media segments. For each of these five sorting operations, the metadata management controller 179 processes the corresponding metadata file.

[0025] cDVR system 160 includes one or more processors 162, one or more memories 170, one or more input / output (I / O) interfaces 164, and one or more communication interfaces 166. The one or more processors 162 may individually include one or more cores and may be configured to at least partially access and execute instructions stored in the one or more memories 170. The one or more memories 120 include one or more non-transitory computer-readable storage media (CRSM). The one or more memories 170 may include, but are not limited to, random access memory (RAM), flash RAM, magnetic media, optical media, etc. The one or more memories 170 may be volatile—because they retain information when power is provided—or non-volatile—because they retain information when no power is provided.

[0026] One or more memories 170 store instructions for execution by processor 162 to perform certain actions or functions. These instructions may include an operating system (OS) 172 configured to manage hardware resources, such as I / O interface 164, and to provide various services to applications executing on processor 162. One or more memories 170 may also store data files including information about the operating system 172.

[0027] One or more client devices 110 communicate with the cDVR system 160 via one or more networks 130. The one or more client devices 110 include, but are not limited to, set-top boxes (STBs), smartphones, laptops, tablets, e-book readers, processor-based devices, etc. The one or more client devices 110 communicate with the cDVR system 160 via one or more types of networks 130, such as Wi-Fi networks, Wi-Fi Direct networks, Bluetooth, radio networks, cellular networks (e.g., third-generation, fourth-generation (e.g., LTE), and / or fifth-generation (5G)), satellite networks, cable networks, terrestrial networks, the Internet, intranets, telephone networks, television networks, data networks, or other communication media that interconnect multiple computing devices, as non-limiting examples.

[0028] One or more client devices 110 each include one or more processors 112, one or more memories 120, data memory 118, one or more input / output (I / O) interfaces 114, and one or more communication interfaces 116. The one or more processors 112 may individually include one or more cores and may be configured to at least partially access and execute instructions stored in the one or more memories 120. The one or more memories 120 include one or more non-transitory computer-readable storage media (CRSM). The one or more memories 120 may include, but are not limited to, random access memory (RAM), flash RAM, magnetic media, optical media, etc. The one or more memories 120 may be volatile—because they retain information when power is provided—or non-volatile—because they retain information when power is not provided.

[0029] One or more communication interfaces 116 provide data transmission between client device 110 and another device, either directly or via a network, or directly and via a network. Communication interfaces 116 may include, but are not limited to, personal area networks (PANs), wired local area networks (LANs), wireless local area networks (WLANs), and wireless wide area networks (WWANs). One or more communication interfaces 116 may use acoustic signals, radio frequency signals, optical signals, or other signals to exchange data between one or more client devices 110 and another device (such as an access point, host computer, router, e-reader device, or another client device within one or more client devices 110).

[0030] One or more memories 120 store instructions for execution by processor 112 to perform certain actions or functions. These instructions may include an operating system (OS) 122 configured to manage hardware resources, such as I / O interface 114, and to provide various services to applications executing on processor 112. One or more memories 120 may also store data files 124 including information about the operating system 122.

[0031] One or more memories 120 store a cDVR client 126. The cDVR client 126 can receive or access information associated with the cDVR operating environment 100. The cDVR client 126 can communicate with the cDVR system 160 via one or more networks 130. The memories 120 store inventory data accessible to the cDVR client 126, wherein the inventory data is provided so that the client device 110 can specify a media segment when requesting recording.

[0032] One or more memories 120 store a live client 128. The live client 128 can receive information collected or generated by the cDVR client 126. The live client 128 can communicate with the cDVR system 160 via one or more networks 130.

[0033] One or more memories 170 store a cDVR client application 174. The cDVR client application 174 can receive requests, schedule records, perform validation checks, perform quality control checks, and perform other cDVR functions from one or more client devices 110. The cDVR client application 174 communicates with one or more client devices 110 or other devices in the cDVR operating environment 100 via one or more networks 130.

[0034] One or more memories 170 store an Adaptive Bit Rate (ABR) application 176. The ABR application 176 can receive information associated with network connection quality and / or client device 110 to determine an adaptive bit rate associated with client device 110. The ABR application 176 can determine, at least in part, an optimal bit rate set associated with a specific device class associated with client device 110 based on information associated with client device 110, information associated with the network connection quality of client device 110, requests received from client device 110, and / or user account profiles associated with client device 110.

[0035] cDVR system 160 communicates with Content Experience Platform (CEP) 180. CEP 180 can provide guidance data (e.g., linear video metadata management), including application programming interface servers (e.g., API servers or "app" servers for linear and on-demand services), and / or content and service protection platforms (e.g., a combination of content protection for privacy, cybersecurity, conditional access, and digital rights components). For example, CEP 180 communicates to cDVR system 160 the need for a unique copy modality, and therefore, cDVR system 160 stores unique copies of different media segments for specific media objects per client device or per subscriber (e.g., per user account).

[0036] cDVR system 160 manages source data, which may describe where the source is located and any information that can be requested by a user in association with different media segments (e.g., rating information for different media segments, duration of different media segments, date of recording of different media segments, etc.). For example, cDVR system 160 stores the current segment duration for each of one or more sources. Other characteristics may also be stored in association with different media segments. cDVR system 160 may store information indicating whether a segment is stored in a manner that allows a user to receive a copy of the segment or whether a segment can be shared by multiple users.

[0037] cDVR client 126 generates a request and transmits the request to cDVR client application 174 to request a list of different media segments associated with the user account associated with client device 110. cDVR client application 174 may retrieve or otherwise obtain other information components within cDVR system 160 and generate a list of all different media segments associated with the user account, as well as metadata associated with each media segment. For example, metadata may include, but is not limited to, the availability of different media segments, quota information associated with different media segments, etc. The list of different media segments associated with the user account, recording status, and quota information may be compiled and transmitted to cDVR client 126 of client device 110.

[0038] Figure 2This is a data flow diagram associated with multiple playback requests in cDVR operating environment 200. In short, cDVR operating environment 200 includes cDVR system 201, which processes multiple playback requests on a per-metadata-file basis. In short, cDVR system 201 includes metadata management controller 203, which performs a sorting operation on media segments in response to each playback request. Metadata management controller 203 performs the sorting operation based on metadata 204 stored on cDVR system 201.

[0039] That is, the metadata management controller 203 receives multiple requests 202-1–202-N to replay corresponding media segments 206-1–206-N stored on the cDVR system 201. For example, each of the multiple media segments 206-1–206-N corresponds to a different representation of a media object, which itself may correspond to a complete recording of a television program. For example, the first media segment 206-1 represents the first two seconds of the media object, the second media segment 206-2 represents the second two seconds of the media object, and so on. Additionally, as... Figure 2 As illustrated, each of the multiple media segments 206-1–206-N is associated with a 720p video resolution. Those skilled in the art will understand that in other cases, the video resolution of the segments is different.

[0040] To process multiple requests 202-1–202-N, the metadata management controller 203 obtains metadata 204 stored on the cDVR system 201. Metadata 204 includes multiple metadata files 204-1–204-N associated with multiple media segments 206-1–206-N, respectively. Specifically, metadata 204 includes a first metadata file 204-1 describing a first media segment 206-1, a second metadata file 204-2 describing a second media segment 206-2, and so on. Therefore, in response to receiving a request 202-1 to play back a 720p representation of the first media segment, the metadata management controller 203 obtains and processes the first metadata file 204-1 to enable retrieval of the first media segment 206-1 stored on the cDVR system 201. Thus, for a specific media segment, the cDVR system 201 stores a corresponding metadata file, and the metadata management controller 203 processes the corresponding metadata file in response to receiving a request associated with said specific media segment. Furthermore, in an ABR environment, metadata 204 additionally includes multiple separate metadata files for each additional encoding rate. Thus, in a 1080p-4K dual encoding rate environment involving recording requests of 1000 media segments, cDVR system 201 stores 1000 metadata files associated with the 1080p representation and another 1000 metadata files associated with the 4K representation.

[0041] Example Implementation Plan

[0042] Reference will now be made to embodiments providing improved utilization of storage and processing in a cDVR environment. Examples of embodiments are illustrated in the accompanying drawings. Numerous specific details are set forth in the following description to provide a thorough understanding of the embodiments described. However, it will be apparent to those skilled in the art that the embodiments described can be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail to avoid unnecessarily obscuring aspects of the embodiments.

[0043] For reference Figure 1 and Figure 2 In contrast to the management of media segments on a per-metadata-file basis described herein, the various embodiments disclosed herein include methods, cDVR systems, and apparatuses for generating and using a public metadata file. The public metadata file includes a combination of sorting information associated with multiple sequential media segments, such as time information and sparsely distinguishable metadata (e.g., a first segment identifying a media object). Based on the sorting information, one method includes storing multiple sequential media segments at a storage device, for example, separate from a recording agent or playback agent. In some embodiments, the method includes recording media objects in different representations (e.g., different video resolutions, such as 720p, 1080p, 4K) by generating and utilizing separate public metadata files for each representation. In cases where there are unique copies (e.g., as required by law), the method includes utilizing the sorting information included in the public metadata file and utilizing limited additional information (e.g., additional client recording identifiers) to store unique copies of multiple sequential media segments. Therefore, compared to some cDVR systems that store and utilize multiple metadata files corresponding to multiple media segments, smaller public metadata files are stored and utilized. Consequently, the various embodiments disclosed herein utilize fewer storage and processing resources.

[0044] Figure 3 This is an example of a cDVR environment 300 for storing media objects 302 according to some implementation schemes. In short, the cDVR environment 300 includes a cDVR system 310 for storing media objects 302 comprising multiple sequential media segments based on sorting information included in a public metadata file 308.

[0045] cDVR environment 300 includes public metadata file generator 306. In some implementations, such as Figure 3As illustrated, the public metadata file generator 306 is separate from the cDVR system 310 (e.g., located on a different device). In some embodiments, the public metadata file generator 306 is integrated within the cDVR system 310.

[0046] A public metadata file generator 306 generates a public metadata file 308 from multiple metadata files 304-1–304-M. The public metadata file 308 includes sorting information associated with multiple sequential media segments, which will be detailed below. The multiple metadata files 304-1–304-M are each associated with a multiple sequential media segment included in a media object 302. Each of the multiple metadata files 304-1–304-M provides a description of a corresponding media segment among the multiple sequential media segments. In some embodiments, the public metadata file generator 306 generates the public metadata file 308 by concatenating the multiple metadata files 304-1–304-M. In some embodiments, the public metadata file generator 306 generates the public metadata file 308 by aggregating the multiple metadata files 304-1–304-M together.

[0047] In some implementations, the sequencing information includes time information associated with media object 302. For example, the time information includes a time range (e.g., the length of the recording) and / or a start time value and a stop time value. In some implementations, the sequencing information includes a first segment identifier (e.g., a presentation time stamp, PTS) associated with a first media segment among a plurality of sequential media segments. For example, the first media segment among a plurality of sequential media segments is the first segment of a television program in chronological order (e.g., opening credits). The time information can indicate the time span of the recording in a variety of ways. In some implementations, the time information indicates one or more standard programming slots (e.g., 8:00 PM to 8:30 PM and 8:30 PM to 9:00 PM), and the cDVR system 310 determines the time span of the recording based on the programming slot.

[0048] In some implementations, the public metadata file 308 includes a source identifier that identifies the source associated with the media object 302, such as a specific television channel. For example, the source identifier indicates a broadcast channel or sub-channel (also referred to as a profile). In some implementations, a broadcast channel may include multiple versions of sub-channels having the same broadcast. For example, a broadcast channel may include sub-channels (also referred to as channels) with video data having different bitrates or different audio / subtitles. Therefore, in some implementations, the source identifier indicates a broadcast channel, and the recording request also includes data indicating a sub-channel or profile. In some implementations, the source identifier indicates a sub-channel or profile.

[0049] In some implementations, the public metadata file 308 includes a record identifier associated with the media object 302, such as a user profile identifier (e.g., a user's credentials) or a subscriber identifier. In some implementations, the record identifier may be different for each record request. For example, the record identifier may be a UUID (universally unique identifier). In some implementations, the request identifier includes a user ID, or at least indicates a user identifier or user device (such as a set-top box).

[0050] In some implementations, the public metadata file 308 includes encoding rate identifiers for different video resolutions, such as "480p", "1080p", etc.

[0051] cDVR system 310 acquires multiple sequential media segments (to be stored in media object data storage 314) and acquires a common metadata file 308. In some embodiments, common metadata file data storage 316 stores common metadata file 308. The size of common metadata file 308 is smaller than (e.g., requires less storage space) the sum of the sizes of the corresponding metadata files 304-1–304-M. Therefore, compared with Figure 2 Compared to cDVR system 201, cDVR system 310 utilizes fewer storage resources when storing metadata for media segments used to process (e.g., store, play back, and delete) media objects.

[0052] The cDVR system 310 includes a media segment concatenator 312. The media segment concatenator 312 stores multiple sequential media segments in a media object data storage 314 based on sorting information included in a public metadata file 308. Because the media segment concatenator 312 processes a single public metadata file 308, it is compatible with... Figure 2Compared to the metadata management controller 203 that processes multiple metadata files 204-1-204-N, the media segment connector 312 utilizes fewer processing resources.

[0053] In some implementations, the media segment connector 312 generates a mapping information (map) that maps sorting information to address ranges, and stores multiple sequential media segments at said address ranges. For example, in some implementations, the mapping information includes multiple logical byte offset values. As another example, in some implementations, the address range corresponds to a contiguous address range.

[0054] Figure 4A This is an example of a block diagram of a first cDVR system 400A operating in public copy mode according to some implementation schemes. According to several implementation schemes, the first cDVR system 400A is similar to and adapted from... Figure 3 The cDVR system 310 is shown in the example. While certain specific features are illustrated, it will be understood by those skilled in the art from this disclosure that various other features are not illustrated for the sake of brevity and to avoid obscuring further relevant aspects of the exemplary embodiments disclosed herein.

[0055] Regarding recording operations, the first cDVR system 400A includes an ingestor 414 that receives data 404 (e.g., from a content acquisition platform 150), a recording agent 412 that receives one or more recording requests 402 to store data 404, and a media object data storage 420 that stores data 404. The media object data storage 420 includes a plurality of storage locations that can store media objects. The media object data storage 420 also stores common copies of different media objects (e.g., different episodes of television programs or different television programs), among other things. For example, a particular common copy of a media object corresponds to a sports program that will be requested for recording by multiple subscribers. Therefore, during playback, the first cDVR system 400A can retrieve a particular common copy multiple times for multiple subscribers.

[0056] In some implementations, the record agent 412 includes a public metadata file generator (e.g., Figure 3 The public metadata file generator 306 generates multiple public metadata files and stores them in the public metadata file data storage 416. Each of the multiple public metadata files is associated with a corresponding media object. Therefore, each of the multiple public metadata files includes sorting information associated with corresponding multiple sequential media segments included in the corresponding media object.

[0057] Furthermore, in some implementations, the recording agent 412 includes a media segment linker (e.g., Figure 3The media segment linker 312 processes incoming sequential media segments based on corresponding public metadata files among a plurality of public metadata files. For example, in response to receiving a request 402 to record a first media object comprising a first plurality of sequential media segments, the record agent 412 generates a corresponding public metadata file and stores the public metadata file in a public metadata file data storage 416. Continuing this example, the record agent 412 stores the first plurality of sequential media segments based on sorting information included in the corresponding metadata files.

[0058] Regarding playback operations, the first cDVR system 400A includes a playback agent 430, which receives one or more playback requests 406 to play back (e.g., retrieve) one or more media objects from a media object data storage 420. In response to receiving one or more playback requests 406, the playback agent 430 retrieves the corresponding public copy from the media object data storage 420 and outputs the corresponding public copy of the media object 408.

[0059] In some implementations, the playback agent 430 includes a media segment linker (e.g., Figure 3 The media segment linker 312 in the middle obtains multiple public metadata files from the public metadata file data storage 416 and utilizes a portion thereof. For example, in response to receiving a request 406 to play back a first media object comprising a first plurality of sequential media segments, the playback agent 430 identifies the corresponding public metadata file among the multiple public metadata files. Continuing this example, the playback agent 430 retrieves the first plurality of sequential media segments based on the sorting information included in the corresponding public metadata files among the multiple public metadata files.

[0060] Figure 4B This is an example of a block diagram of a second cDVR system 400B operating in a unique copy mode according to some embodiments. While certain specific features are illustrated, it will be understood by those skilled in the art from this disclosure that various other features are not illustrated for the sake of brevity and to avoid obscuring further relevant aspects of the example embodiments disclosed herein. For example, the second cDVR system 400B includes some of the components included in the first cDVR system 400A; therefore, for the sake of brevity, a discussion of these components is omitted.

[0061] In contrast to the first cDVR system 400A, the second cDVR system 400B operates in a unique copy mode, such as in accordance with mandatory requirements under copyright law. Therefore, as... Figure 4BAs illustrated, the second cDVR system 400B stores multiple unique copies of media objects in the media object data storage 420. For example, the second cDVR system 400B receives a recording request 402 from a logical client 401, the recording request 402 including multiple recording identifiers that respectively identify multiple subscribers 403-1–403-O. In some embodiments, the logical client 401 corresponds to a headend device. In some embodiments, the multiple subscribers 403-1–403-O are associated with multiple user profiles.

[0062] The second cDVR system 400B is based on sorting information in public metadata file 416—such as regarding… Figure 4A The described—and based on distinguishable metadata 418, manages (e.g., recording, playback, and deletion) media segments. Distinguishing metadata 418 differentiates multiple subscribers 403-1–403-O (e.g., multiple user profiles) from one another. For example, in some embodiments, distinguishable metadata 418 includes multiple metadata files (e.g., stored in corresponding metadata file data storage 419-1–419-O) that respectively identify the multiple subscribers 403-1–403-O. For example, each of the multiple metadata files 419-1–419-O includes a corresponding record identifier. Therefore, continuing this example, each of the recording agent 412 and playback agent 430 compares the multiple record identifiers within the distinguishable metadata with the record identifiers included in the recording request 402 to facilitate recording and playback operations respectively. Therefore, in some embodiments, the second cDVR system 400B utilizes a combination of a common metadata file 416 and multiple metadata files 419-1–419-O. However, the second cDVR system 400B and… Figure 2 The cDVR system 201 illustrated uses fewer storage and processing resources because it uses a total of A×B metadata files, where A is the number of media segments in the media object and B is the number of subscribers identified in the corresponding request.

[0063] Figure 5 This is an example of a block diagram of a cDVR system 500 that satisfies playback requests for different representations of requested media objects according to some implementation schemes. For example, in some implementations, the cDVR system 500 operates in ABR mode. According to several implementations, the cDVR system 500 is similar to and adapted from... Figure 3 cDVR system 310. According to several implementations, cDVR system 500 is similar to and adapted from... Figure 4A The first cDVR system 400A is described. According to several implementations, cDVR system 500 is similar to and adapted from... Figure 4BThe second cDVR system 400B is shown. Although certain specific features are illustrated, it will be understood by those skilled in the art from this disclosure that various other features are not illustrated for the sake of brevity and to avoid obscuring more relevant aspects of the exemplary embodiments disclosed herein.

[0064] According to several implementations, the cDVR system 500 utilizes multiple public metadata files, each associated with a multiple representation of a media object. In some implementations, each of the multiple representations is associated with a different coding rate, resolution, audio quality, or a combination thereof. For example, as... Figure 5 As illustrated, the cDVR system 500 includes a first public metadata file storage 514-1, which stores a first public metadata file associated with a 720p video resolution of a media object. The cDVR system 500 includes a second public metadata file storage 514-2, which stores a second public metadata file associated with a 1080p video resolution of a media object. The cDVR system 500 includes a third public metadata file storage 514-3, which stores a third public metadata file associated with a 4K video resolution of a media object. Those skilled in the art will understand that in some embodiments, the cDVR system 500 stores and utilizes more or fewer public metadata files, such as those associated with different video resolutions, audio rates, etc.

[0065] cDVR system 500 receives a playback request 502 requesting the playback of media at 720p resolution. In response to receiving playback request 502, cDVR system 500 identifies a first public metadata file associated with the 720p resolution and retrieves it from a first public metadata file data storage 514-1. The first public metadata file includes sorting instructions that enable cDVR system 500 to retrieve a 720p media segment from media object data storage 516. cDVR system 500 provides a 720p media object 522 to the requesting entity for playback. In some embodiments, cDVR system 500 generates mapping information that maps sorting information to byte values ​​associated with media object data storage 516.

[0066] The cDVR system 500 also receives playback requests 504 for media playback at 1080p resolution and 506 for media playback at 4K resolution. Therefore, the cDVR system 500 accordingly obtains a second public metadata file 514-2 and a third public metadata file 514-3, and similarly provides corresponding 1080p media objects 524 and 4K media objects 526, as described above regarding satisfying playback request 502 for 720p media objects.

[0067] Therefore, cDVR system 500 utilizes (e.g., stores and processes) a single common metadata file for each representation of a media object. Other cDVR systems, on the other hand, utilize a total of B×C metadata files to satisfy requests for different representations of a media object, where B is the number of metadata files associated with many media segments within the media object, and C is the number of different representations. Therefore, cDVR system 500 utilizes fewer storage and processing resources compared to other cDVR systems.

[0068] Figure 6 This is an example of a flowchart of a method 600 for managing media segments using public metadata files, based on some implementation schemes. In some implementation schemes, in Figure 3 cDVR system 310 in Figure 4A The first cDVR system in the 400A, Figure 4B The second cDVR system 400B or Figure 5 Method 600 or a portion thereof is executed at cDVR system 500. In some embodiments, method 600 or a portion thereof is executed by electronic equipment or apparatus.

[0069] As indicated by block 602, method 600 includes receiving a request for a record of the initiating media object, such as Figure 4A and Figure 4B Record request 402. As indicated by block 604, the media object includes a first plurality of sequential media segments. The first plurality of sequential media segments are associated with a corresponding plurality of metadata files, and each of the corresponding plurality of metadata files provides a description of a corresponding media segment among the first plurality of sequential media segments. In some embodiments, a portion of the corresponding plurality of metadata files is associated with a plurality of metadata records, respectively. For example, the media object is a complete (e.g., the entire) record. In some embodiments, a record broker separate from the storage device receives the request. In some embodiments, the request is idempotent, such as an HTTP PUT request. In some embodiments, the request is not idempotent, such as an HTTP POST request, in which case subsequent requests can alter the result caused by the initial request.

[0070] As indicated by block 606, method 600 includes generating a first public metadata file associated with the media object based on a plurality of corresponding metadata files in response to receiving the request to initiate the record of the media object, for example, referring to Figure 3 The public metadata file generator 306 generates a public metadata file 308. The first public metadata file is smaller than the sum of the corresponding multiple metadata files.

[0071] As indicated by block 608, the first public metadata file includes sorting information associated with the first plurality of sequential media segments. In some embodiments, the sorting information includes object size information indicating the total size of the first plurality of sequential media segments. In some embodiments, the sorting information includes segment number information indicating the number of the first plurality of sequential media segments.

[0072] As indicated by block 610, in some embodiments, method 600 includes generating mapping information that maps the sorting information to address ranges. In some embodiments, the mapping information is maintained at a storage device separate from the recording agent or playback agent. For example, the address range corresponds to bytes on a disk. As indicated by block 612, in some embodiments, the mapping information includes multiple logical byte offset values. In some embodiments, the address range is a contiguous address range.

[0073] As indicated by block 614, method 600 includes storing the first plurality of sequential media segments based on the ordering information included in the first public metadata file. In some embodiments, a storage device stores the first plurality of sequential media segments. For example, refer to... Figure 3 The media segment linker 312 stores the first plurality of sequential media segments in the media object data storage 314 based on sorting information stored in the public metadata file data storage 316. As another example, see [reference 2]. Figure 4A and Figure 4B Method 600 includes storing the first plurality of sequential media segments in media object data storage 420 based on sorting information stored at public metadata file data storage 416. Therefore, in some embodiments, method 600 provides dynamic on-the-fly flattening of the media segments described by the first public metadata file. For example, in some embodiments, dynamic flattening of media segments includes concatenating media segments based on the sorting information. As indicated by block 616, in some embodiments, storing the first plurality of sequential media segments includes storing the first plurality of sequential media segments at the address range.

[0074] As indicated by block 618, in some embodiments, method 600 includes receiving a request to initiate playback of the media object. For example, refer to... Figure 5 The cDVR system 500 receives different playback requests 502-506 associated with different representations of the media object. In some embodiments, the playback request is associated with a single representation (such as a single user profile). In some embodiments, the playback request is received at a playback agent that can be separate from the storage device. In some embodiments, the playback request is a GET request. In some embodiments, the playback request is received from multiple subscribers (e.g., Figure 4B A logical client (e.g., 403-1–403-O) that communicates with multiple subscribers in the network. Figure 4B The logical client 401 in the middle receives the playback request. In some embodiments, the playback request is received directly from a specific subscriber. As indicated by block 620, in some embodiments, method 600 includes retrieving the first plurality of sequential media segments at an address range indicated by mapping information in response to receiving the request to initiate playback of the media object, and providing the first plurality of sequential media segments for playback. For example, refer to Figure 4B The second cDVR system 400B provides the playback media object 408 to the logical client 401.

[0075] In some implementations, method 600 includes flattening media segments to enable more efficient playback of sequential media segments. For example, method 600 includes flattening 32 sequential media segments by storing them sequentially in a 128k memory block. Thus, the first 4K of the 128k memory block includes a first 4K sequential media segment, the second 4K of the 128k memory block includes a second 4K sequential media segment, and so on. In some implementations, in response to receiving a request to play back the first 4K sequential media segment, method 600 includes performing an I / O operation on the 128k memory block and retrieving the first 4K sequential media segment based on the I / O operation for playback. For example, performing the I / O operation includes copying the contents of the 128k memory block into RAM, and retrieving the first 4K sequential media segment includes reading the first 4K sequential media segment from RAM. In response to playback requests for subsequent sequential media segments, such as a second 4K sequential media segment, a third 4K sequential media segment, etc., method 600 includes reading the corresponding sequential media segment from RAM without performing additional I / O operations. For example, method 600 includes using one or more offset byte values ​​to read sequential media segments from RAM. Therefore, method 600 achieves a more efficient playback operation than other cDVR systems, which perform separate I / O operations for each playback request of a media segment.

[0076] As indicated by block 622, in some embodiments, method 600 includes receiving a request to delete a specific media segment from a plurality of sequential media segments. As indicated by block 624, in some embodiments, method 600 includes determining, based on the content of the deletion request, that the specific media segment from the plurality of sequential media segments is associated with a media object. Furthermore, in response to determining that the specific media segment from the plurality of sequential media segments is associated with a media object, method 600 includes removing the plurality of sequential media segments included in the media object. In some embodiments, the content of the deletion request includes source information associated with the media object, start time information associated with the media object, and stop time information associated with the media object. Therefore, unlike other cDVR systems that utilize multiple deletion requests to trigger deletion operations on corresponding multiple media segments, method 600 enables the processing of a single deletion request to remove multiple media segments. Thus, method 600 achieves a more efficient lifecycle for the corresponding cDVR system using fewer storage and processing resources. In contrast to the features described in reference method 600, other cDVR systems receive numerous deletion requests corresponding to the number of media segments to be deleted, such as receiving 1800 individual deletion requests for a media object comprising 1800 media segments. Therefore, compared to other cDVR systems, the features of method 600 utilize less processing and storage in performing the deletion of media object resources.

[0077] Figure 7 This is an example of a flowchart 700 illustrating a method 700 for storing different representations of media segments using different public metadata files according to some implementation schemes. In some implementation schemes, in Figure 3 cDVR system 310 in Figure 4A The first cDVR system in the 400A, Figure 4B The second cDVR system 400B or Figure 5 Method 700 or a portion thereof is executed at cDVR system 500. In some embodiments, method 700 or a portion thereof is executed by electronic equipment or apparatus.

[0078] As indicated by block 702, method 700 includes receiving a request to initiate a record of a media object. As indicated by block 704, the media object includes a first plurality of sequential media segments. As indicated by block 706, the first plurality of sequential media segments are characterized by a first representation—such as video resolution, audio resolution, or combinations thereof. For example, refer to... Figure 5 The first plurality of sequential media segments correspond to a plurality of media segments stored in the media object data storage 516 that are associated with a 720p video resolution.

[0079] As indicated by block 708, the media object further includes a second plurality of sequential media segments. As indicated by block 710, the second plurality of sequential media segments are represented by a second representation different from the first representation. The second plurality of sequential media segments are associated with a second corresponding plurality of metadata files. Each of the second corresponding plurality of metadata files provides a description of a corresponding media segment among the second plurality of sequential media segments. For example, refer to... Figure 5 The second plurality of sequential media segments correspond to a plurality of media segments stored in the media object data memory 516 and associated with a 1080p video resolution. In some embodiments, a first representation and a second representation are utilized according to an ABR implementation.

[0080] As indicated by block 712, in some embodiments, method 700 includes generating a first public metadata file associated with the media object in response to receiving a request to initiate a record of the media object. Method 700 includes generating the first public metadata file based on the corresponding plurality of metadata files associated with the first plurality of sequential media segments. The first public metadata file includes sorting information associated with the first plurality of sequential media segments. As indicated by block 714, in some embodiments, the first public metadata file includes a first coding rate identifier providing information associated with the first representation.

[0081] As indicated by block 716, in some embodiments, method 700 includes generating a second public metadata file associated with the media object in response to receiving the request to initiate a record of the media object. Method 700 includes generating the second public metadata file based on a plurality of corresponding metadata files associated with the second plurality of sequential media segments. The second public metadata file includes sorting information associated with the second plurality of sequential media segments. As indicated by block 718, in some embodiments, the second public metadata file includes a second coding rate identifier that provides information associated with the second representation.

[0082] As indicated by block 720, in some embodiments, method 700 includes storing the first plurality of sequential media segments based on the ordering information included in the first public metadata file. As indicated by block 722, in some embodiments, method 700 includes storing the second plurality of sequential media segments based on the ordering information included in the second public metadata file.

[0083] Figure 8 This is an example of a flowchart illustrating a method 800 for performing unique copy operations and public copy operations on media segments according to some implementation schemes. In some implementation schemes, in Figure 3cDVR system 310 in Figure 4A The first cDVR system in the 400A, Figure 4B The second cDVR system 400B or Figure 5 Method 800 or a portion thereof is executed at cDVR system 500. In some embodiments, method 800 or a portion thereof is executed by electronic equipment or apparatus.

[0084] As indicated by block 802, in some embodiments, method 800 includes receiving a request from a logical client to initiate a record of a media object. The media object includes a first plurality of sequential media segments. The first plurality of sequential media segments are associated with corresponding plurality of metadata files, and each of the corresponding plurality of metadata files provides a description of a corresponding media segment among the first plurality of sequential media segments. For example, refer to... Figure 4B The second cDVR system 400B receives a recording request 402 from the logical client 401. As another example, the logical client corresponds to a headend device that serves multiple subscribers.

[0085] As indicated by block 804, in some embodiments, the request includes multiple record identifiers. As indicated by block 806, in some embodiments, the multiple record identifiers identify corresponding multiple user profiles. For example, refer to... Figure 4B Record request 402 includes multiple record identifiers that respectively identify multiple subscribers 403-1–403-O. As another example, the multiple record identifiers respectively identify multiple subscribers. In some embodiments, method 800 includes receiving a separate record request for each record identifier (e.g., each user profile) of interest in a media segment.

[0086] As indicated by block 808, method 800 includes generating a common metadata file associated with the media object based on the corresponding plurality of metadata files. The common metadata file includes sorting information associated with the first plurality of sequential media segments.

[0087] As indicated by block 810, in some embodiments, method 800 includes obtaining distinguishing metadata that differentiates the respective plurality of user profiles from one another. For example, refer to Figure 4B The metadata 418 distinguishes multiple metadata files (e.g., stored in corresponding multiple metadata file data storage locations 419-1–419-O).

[0088] As indicated by block 812, in some embodiments, method 800 includes determining whether a unique copy operation mode is appropriate, such as one that can be enforced by copyright. If the unique copy operation mode is determined to be appropriate, method 800 proceeds to a portion of method 800 indicated by block 814. Conversely, if the unique copy operation mode is determined not to be appropriate, method 800 proceeds to a portion of method 800 indicated by block 816.

[0089] As indicated by block 814, in some embodiments, method 800 includes the functional storage of multiple unique copies of the first plurality of sequential media segments based on the sorting information and the distinguishing metadata. For example, refer to Figure 4B The second cDVR system 400B stores multiple unique copies in the media object data storage 420 based on the ability to distinguish metadata 418 and the public metadata file stored in the public metadata file data storage 416.

[0090] As indicated by block 816, in some embodiments, method 800 includes functionally storing a common copy of the first plurality of sequential media segments based on the sorting information. For example, refer to Figure 4A The first cDVR system 400A stores a single public copy in the media object data storage 420 based on the function of the public metadata file stored in the public metadata file data storage 416.

[0091] In some implementations, method 800 includes storing the first public metadata file in association with the distinguishing metadata.

[0092] This disclosure describes various features, none of which individually contributes to the benefits described herein. It will be understood that the various features described herein can be combined, modified, or omitted, as will be apparent to a person skilled in the art. Other combinations and sub-combinations besides those specifically described herein will be apparent to a person skilled in the art and are intended to form part of this disclosure. This document describes various methods in conjunction with various flowchart steps and / or stages. It will be understood that in many cases, certain steps and / or stages can be combined such that multiple steps and / or stages shown in the flowchart can be performed as a single step and / or stage. Additionally, certain steps and / or stages can be decomposed into additional sub-components for separate execution. In some cases, the order of steps and / or stages can be rearranged, and certain steps and / or stages can be omitted entirely. Likewise, the methods described herein should be understood as open-ended, such that additional steps and / or stages of the steps and / or stages shown and described herein can also be performed.

[0093] Some or all of the methods and tasks described herein can be performed by a computer system and are fully automated. In some cases, the computer system may include multiple different computers or computing devices (e.g., physical servers, workstations, storage arrays, etc.) that communicate and interact via a network to perform the described functions. Each such computing device typically includes a processor (or processors) that executes program instructions or modules stored in memory or other non-transitory computer-readable storage media or devices. The various functions disclosed herein can be implemented with such program instructions, although some or all of the disclosed functions may alternatively be implemented with application-specific circuitry of the computer system (e.g., ASIC, FPGA, or GP-GPU). In cases where the computer system includes multiple computing devices, these devices may be co-located or non-co-located. The results of the disclosed methods and tasks can be persistently stored by transforming physical storage devices such as solid-state storage chips and / or disks into different states.

[0094] This disclosure is not intended to be limited to the embodiments shown herein. Various modifications to the embodiments described herein will be readily apparent to those skilled in the art, and the general principles defined herein can be applied to other embodiments without departing from the spirit or scope of this disclosure. The teachings of the invention provided herein can be applied to other methods and systems, and are not limited to those described above, and elements and actions of the various embodiments described above can be combined to provide other embodiments. Therefore, the novel methods and systems described herein can be implemented in a wide variety of other forms; furthermore, various omissions, substitutions, and changes can be made to the form of the methods and systems described herein without departing from the spirit of this disclosure. The appended claims and their equivalents are intended to cover such forms or modifications that fall within the scope and spirit of this disclosure.

Claims

1. A method for managing segmented media content, the method comprising: Receive multiple requests for a record of a startup media object, wherein the media object includes a first plurality of sequential media segments, wherein the first plurality of sequential media segments are associated with a corresponding plurality of metadata files, and wherein each of the corresponding plurality of metadata files provides a description of a corresponding media segment among the first plurality of sequential media segments; In response to receiving the plurality of requests to initiate the media object, a first public metadata file associated with the media object is generated based on the corresponding plurality of metadata files, including linking the plurality of sequential media segments and recording sorting information associated with the plurality of sequential media segments and a plurality of record identifiers associated with the plurality of requests in the first public metadata file; as well as The first public metadata file stores records for the media object and the first plurality of sequential media segments stored based on the sorting information included in the first public metadata file.

2. The method according to claim 1, further comprising generating mapping information that maps the sorting information to an address range, wherein storing the first plurality of sequential media segments includes storing the first plurality of sequential media segments at the address range.

3. The method according to claim 2, wherein the mapping information includes a plurality of logical byte offset values.

4. The method according to claim 2, wherein the address range corresponds to a continuous address range.

5. The method according to claim 2, further comprising: Receive a request to start playback of the media object; In response to receiving the request to initiate playback of the media object, the first plurality of sequential media segments are retrieved at the address range; as well as Provide the first plurality of sequential media segments for playback.

6. The method of claim 1, wherein the sorting information indicates the linking of the first plurality of sequential media segments.

7. The method of claim 1, wherein the sorting information includes time information associated with the media object.

8. The method of claim 1, wherein the sorting information includes a first segment identifier associated with a first media segment in the plurality of sequential media segments.

9. The method of claim 1, wherein the first public metadata file includes a source identifier that identifies the source associated with the media object.

10. The method of claim 9, wherein the source identifier identifies a television channel.

11. The method of claim 1, wherein the first public metadata file includes a record identifier associated with the media object.

12. The method of claim 1, wherein the first public metadata file includes a coding rate identifier.

13. The method of claim 1, wherein the first plurality of sequential media segments are represented by a first representation, and wherein the media object further comprises a second plurality of sequential media segments, the second plurality of sequential media segments being represented by a second representation different from the first representation, wherein the second plurality of sequential media segments are associated with a second corresponding plurality of metadata files, and wherein each of the second corresponding plurality of metadata files provides a description of a corresponding media segment among the second plurality of sequential media segments, the method further comprising: In response to receiving the plurality of requests to initiate the media object, a second public metadata file associated with the media object is generated based on the second corresponding plurality of metadata files, including linking the second plurality of sequential media segments and recording sorting information associated with the second plurality of sequential media segments and the plurality of record identifiers associated with the plurality of requests in the second public metadata file; as well as The second public metadata file stores records for the media object and the second plurality of sequential media segments stored based on the sorting information included in the second public metadata file.

14. The method of claim 13, wherein the first representation and the second representation are utilized according to an adaptive bit rate implementation.

15. The method of claim 1, wherein the plurality of requests are received from a first logical client, wherein the plurality of record identifiers identify corresponding plurality of user profiles, the method further comprising: Based on the sorting information and distinguishing metadata, the system stores multiple unique copies of the first plurality of sequential media segments, wherein the distinguishing metadata distinguishes the corresponding plurality of user profiles from one another.

16. The method of claim 15, further comprising: The first public metadata file is stored in association with the distinguishing metadata.

17. The method according to claim 1, further comprising: Receive a request to delete a specific media segment from the plurality of sequential media segments; Based on the content of the deletion request, determine that the specific media segment among the plurality of sequential media segments is associated with the media object; as well as In response to determining that a particular media segment among the plurality of sequential media segments is associated with the media object, the plurality of sequential media segments included in the media object are removed.

18. The method of claim 17, wherein the content of the deletion request includes source information associated with the media object, start time information associated with the media object, and stop time information associated with the media object.

19. A cloud-based digital video recorder system, comprising: One or more processors; as well as A non-transitory computer-readable medium, the non-transitory computer-readable medium comprising instructions that, when executed, cause the one or more processors to perform operations including: Receive multiple requests for a record of a startup media object, wherein the media object includes a first plurality of sequential media segments, wherein the first plurality of sequential media segments are associated with a corresponding plurality of metadata files, and wherein each of the corresponding plurality of metadata files provides a description of a corresponding media segment among the first plurality of sequential media segments; In response to receiving the plurality of requests to initiate the media object, a first public metadata file associated with the media object is generated based on the corresponding plurality of metadata files, including linking the plurality of sequential media segments and recording sorting information associated with the plurality of sequential media segments and a plurality of record identifiers associated with the plurality of requests in the first public metadata file; as well as The first public metadata file stores records for the media object and the first plurality of sequential media segments stored based on the sorting information included in the first public metadata file.

20. A non-transitory computer-readable medium comprising instructions that, when executed by an electronic device including one or more processors, cause the electronic device to: Receive multiple requests for a record of a startup media object, wherein the media object includes a first plurality of sequential media segments, wherein the first plurality of sequential media segments are associated with a corresponding plurality of metadata files, and wherein each of the corresponding plurality of metadata files provides a description of a corresponding media segment among the first plurality of sequential media segments; In response to receiving the plurality of requests to initiate the media object, a first public metadata file associated with the media object is generated based on the corresponding plurality of metadata files, including linking the plurality of sequential media segments and recording sorting information associated with the plurality of sequential media segments and a plurality of record identifiers associated with the plurality of requests in the first public metadata file; as well as The first public metadata file stores records for the media object and the first plurality of sequential media segments stored based on the sorting information included in the first public metadata file.

Citation Information

Patent Citations

  • Directory limit based system and method for storing media segments

    CN107743708A

  • Dynamic multimedia stream insertion from multiple sources

    CN110771172A