WO2021121303A1 - Mp4文件虚拟mss分片方法、mss适配器、媒体服务器和存储介质 - Google Patents

Mp4文件虚拟mss分片方法、mss适配器、媒体服务器和存储介质 Download PDF

Info

Publication number
WO2021121303A1
WO2021121303A1 PCT/CN2020/137122 CN2020137122W WO2021121303A1 WO 2021121303 A1 WO2021121303 A1 WO 2021121303A1 CN 2020137122 W CN2020137122 W CN 2020137122W WO 2021121303 A1 WO2021121303 A1 WO 2021121303A1
Authority
WO
WIPO (PCT)
Prior art keywords
mss
file
segment
data
virtual
Prior art date
Application number
PCT/CN2020/137122
Other languages
English (en)
French (fr)
Inventor
许静
白雅贤
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Priority to US17/779,759 priority Critical patent/US20230008979A1/en
Priority to EP20902724.2A priority patent/EP4075814A4/en
Publication of WO2021121303A1 publication Critical patent/WO2021121303A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • H04N21/2358Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages for generating different versions, e.g. for different recipient devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Definitions

  • This application relates to multimedia services, such as a method for virtual MSS fragmentation of MP4 files, MSS adapters, media servers and storage media.
  • MP4 (Moving Picture Experts Group 4 Part 14, MPEG-4 Part 14) is a more commonly used multimedia file format, which is widely used in various terminals.
  • MP4 files can be used as storage containers for various video files, stored in a terminal device or on a network server, and various MP4 files can be played on-demand using an MP4 player in the terminal device.
  • Figure 1 is a schematic diagram of the structure of a common MP4 file.
  • the header of the MP4 file includes two containers, FtypBox and MoovBox.
  • FtypBox is used to store the encoding format and standard used by the MP4 file.
  • MoovBox is The movie box records all subsequent audio and video frames (Audio) and video frames (Video) decoding information, time stamp, location and other very critical data. It can also be called the index data of MP4 files, especially the key frames in the video frame.
  • the key frame is the most important node, and the player will refresh the entire image in the key frame.
  • all the index information of the current MP4 files are stored in the MoovBox. The larger the file, the larger the MoovBox.
  • the player For the player, it must first obtain and analyze the index information in the MoovBox before it can play the MP4 file. If the MoovBox is too large, the player needs more time to load the data in the MoovBox, which causes the file playback buffer time to be too long.
  • MSS Microsoft Smooth Streaming
  • large MP4 files are converted into many small media file fragments.
  • the loading speed of small media file fragments is faster, which avoids the problem of too long buffering time during MP4 file playback.
  • many small-capacity media file fragments are like file fragments, which are difficult to manage and affect the performance of the server storing the files. Therefore, the management of MP4 files is an urgent problem to be solved.
  • the embodiment of the present application provides a method for virtual MSS fragmentation of an MP4 file, an MSS adapter, a media server, and a storage medium.
  • an embodiment of the present application provides a method for virtual MSS fragmentation of an MP4 file, including: receiving an MSS download request sent by an MSS player, the MSS download request being used to request to download at least one MSS fragment of the first MP4 file;
  • the MSS fragment index and the virtual fragment index of the first MP4 file determine the data fragment corresponding to the data of at least one MSS fragment in the first MP4 file.
  • the MSS fragment index includes the data of each MSS fragment of the first MP4 file.
  • the data segment download request is used to request to download the data segment of the first MP4 file corresponding to the at least one MSS segment; the data segment is assembled to generate at least one MSS segment, and the at least one MSS segment is sent to the MSS player.
  • an embodiment of the present application provides a method for virtual MSS fragmentation of an MP4 file, which includes: receiving a data segment download request sent by an MSS adapter, and the data segment download request is used to request to download the first segment corresponding to at least one MSS segment.
  • a data segment of an MP4 file; the data segment of the first MP4 file is sent to the MSS adapter.
  • an embodiment of the present application provides an MSS adapter, including a processor and a memory, and the processor is configured to run program instructions stored in the memory to execute the MP4 file virtual MSS fragmentation method of the first aspect.
  • an embodiment of the present application provides a media server including a processor and a memory, and the processor is configured to run program instructions stored in the memory to execute the MP4 file virtual MSS fragmentation method of the second aspect.
  • an embodiment of the present application provides a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, it implements the MP4 file virtual MSS fragmentation method as in the first or second aspect.
  • Figure 1 is a schematic diagram of the structure of a common MP4 file
  • FIG. 2 is a flowchart of a method for virtual MSS fragmentation of MP4 files according to an embodiment
  • Figure 3 is a schematic diagram of virtual fragmentation of MP4 files
  • Figure 4 is a schematic diagram of virtual fragmentation of MP4 files
  • FIG. 5 is a flowchart of another method for virtual MSS fragmentation of MP4 files according to an embodiment
  • FIG. 6 is a flowchart of another method for virtual MSS fragmentation of MP4 files according to an embodiment
  • FIG. 7 is a flowchart of another method for virtual MSS fragmentation of MP4 files according to an embodiment
  • FIG. 8 is an interactive flowchart of another method for virtual MSS fragmentation of MP4 files according to an embodiment
  • FIG. 9 is a schematic structural diagram of a virtual MSS fragmentation device for MP4 files according to an embodiment
  • FIG. 10 is a schematic structural diagram of a virtual MSS fragmentation device for MP4 files according to an embodiment
  • FIG. 11 is a schematic structural diagram of an MSS adapter provided by an embodiment
  • FIG. 12 is a schematic structural diagram of a media server provided by an embodiment
  • FIG. 13 is a schematic structural diagram of an MP4 file MSS fragmentation system provided by an embodiment.
  • MP4 file is the most common multimedia file format.
  • the structure of MP4 file is shown in Figure 1.
  • the header of the MP4 file includes two containers FtypBox and MoovBox.
  • FtypBox is used to store the encoding format and standard used by the MP4 file.
  • MoovBox that is, movie box, records the decoding information, timestamp, position and other critical data of all subsequent audio frames and video frames. It can also be called the index data of MP4 files, especially the key frames in the video frame.
  • the index data of MP4 files especially the key frames in the video frame.
  • the data of each audio frame (Audio) and video frame (Video) are stored, and each audio frame and video frame are corresponding.
  • the player After the player obtains the MP4 file, it determines the encoding format according to the content recorded in the FtypBox, etc. Then, according to the content recorded in MoovBox, determine the position and time stamp of each audio frame and video frame, so as to decode each audio frame and video frame in turn, and then play it. During playback, it needs to be based on each audio frame and video frame. The time stamp information is aligned. In each video frame, some frames are key frames, and the player will refresh the entire image at the key frame position, so the key frame can be considered as the starting point of image decoding.
  • the MSS protocol is used to split MP4 files.
  • a large number of audio frames and video frames in the MP4 file are divided, and the entire MP4 file is converted into multiple smaller media file segments.
  • Each file segment includes one or more video frames and audio frames. data.
  • the embodiment of the present application proposes a method for virtual MSS fragmentation of MP4 files to solve the above-mentioned problems.
  • FIG. 2 is a flowchart of a method for virtual MSS fragmentation of MP4 files according to an embodiment. As shown in FIG. 2, the method provided in this embodiment includes the following steps.
  • Step S2010 Receive an MSS download request sent by an MSS player, where the MSS download request is used to request to download at least one MSS segment of the first MP4 file.
  • the method for virtual MSS fragmentation of MP4 files is used for MSS adapters, which are devices or modules that convert between MP4 files and MSS files.
  • the MSS adapter can be an independent device, or the MSS adapter can be set in a terminal that plays MP4, or the MSS adapter can be set in a media server that stores MP4 files.
  • the storage of MP4 files in the media server will cause the terminal to cache time when playing large-capacity MP4 files, and if the MSS fragments that divide the MP4 file according to the MSS protocol are stored in the media server, it will cause the storage of the media server Too many fragmented files affect the performance of the media server.
  • the MSS adapter is separately configured, and the MSS adapter is used to convert between MP4 files and MSS fragments, so that the media server still only needs to store the complete MP4 file without storing in the media server MSS fragments after splitting MP4 files.
  • a player based on the MSS protocol can be used for playback, thereby reducing the long buffer time required for playing MP4 files.
  • the MSS adapter uses the method of virtualizing the MP4 file into MSS fragments for processing, that is, the virtual MSS fragment is established in the MSS adapter, and the correspondence between the virtual MSS fragment and the MP4 file is established Relationship, the virtual MSS segment is provided to the MSS player in the terminal, and when the MSS player needs to play the MSS segment, the MSS adapter determines the MSS segment to be played and the audio in the MP4 file stored in the media player Correspondence between frames and video frames, and download the corresponding audio frame and video frame data from the media player and then assemble them into MSS fragments, so that the MSS fragments requested by the MSS player can be provided to the MSS player for playback.
  • the MSS adapter will receive the MSS download request sent by the MSS player.
  • the MSS download request is used to request to download at least one MSS segment in the first MP4 file.
  • the MSS download request is sent by the MSS player according to the MSS fragment index of the first MP4 file.
  • the MSS fragment index of the first MP4 file includes the playback address of each MSS fragment of the first MP4 file.
  • Each MSS segment includes at least one video frame and the data of the corresponding audio frame. In order to ensure the normal playback of the MSS segment, each MSS segment should include at least one key video frame, and the key video frame should be MSS The first video frame of the slice.
  • FIG 3 is a schematic diagram of virtual fragmentation of MP4 files.
  • xxx.mp4 is the MP4 file stored in the media player.
  • the data structure of the xxx.mp4 file is shown in the figure.
  • the header includes the FtypBox container and the MoovBox container.
  • the MdatBox container is used to store the audio frame and video frame data of the MP4 file.
  • Sample 1-Sample n represents the combination of n audio frames and video frames with the same time stamp.
  • Each Sample includes a video frame and an audio frame with the same time stamp.
  • Sample 4 Sample 8 and Sample 12 include the key Video frame. Taking the key video frame as the boundary, the data in the xxx.mp4 file is virtually divided. The video and audio frame data in multiple Samples are divided into one data segment, and multiple m4s fragments are generated, each m4s fragment The address information of multiple video frames and audio frames in a data segment is recorded. Multiple .m4s fragments are composed of a xxx.isml file, and the xxx.isml file is the MSS fragment index of the MP4 file.
  • the xxx.index file is generated according to the correspondence between each m4s segment in the xxx.isml file and the data segment of the MP4 file, that is, the virtual segment index of the MP4 file.
  • the xxx.index file records a corresponding address information for each data segment in the MP4 file, seg-0–seg-n represents the actual location information in the MP4 file corresponding to each data segment.
  • the information recorded in seg-0 is the start frame number (start), the end frame number (end), the position of the start frame (seg_offset), and the length of the data segment (seg_size) in the MP4 file.
  • the information in the (start) byte in seg-0 in Figure 3 is 1 means the start frame is Sample 1
  • the information in the (end) byte is 4 means the end frame is Sample 4
  • the value in the (seg_offset) byte is For example, when the information is 13781 indicating the starting position of seg-0, the 13781th byte of the xxx.mp4 file, and the information in the (seg_size) byte is 4000, for example, indicating that the length of seg-0 is 4000 bytes.
  • the information in the (start) byte of seg-1 is 5, which means the start frame is Sample 5
  • the information in the (end) byte is 8 which means the end frame is Sample 8
  • the information in the (seg_offset) byte is, for example, 17781
  • the information in the (seg_size) byte is, for example, 4200, indicating that the length of seg-1 is 4200 bytes.
  • Step S2020 Determine the data segment corresponding to the data of at least one MSS segment in the first MP4 file according to the MSS segment index and the virtual segment index of the first MP4 file.
  • the MSS segment index includes each of the first MP4 file.
  • the playback address of the MSS fragment, and the virtual fragment index includes the correspondence between the data of each MSS fragment and the data fragment of the first MP4 file.
  • the MSS segment index of the first MP4 file and the virtual segment index of the first MP4 file are stored in the MSS adapter.
  • the MSS segment index includes the playback address of each MSS segment of the first MP4 file
  • the virtual segment index includes the correspondence between the data of each MSS segment and the data segment of the first MP4 file.
  • the MSS adapter saves the MSS segment index for the MSS player, which is the same as the index file provided to the MSS player when the MSS segment is stored in the media server, so the MSS player does not need to perform additional Upgrade and change.
  • the virtual slice index stored in the MSS adapter is an index file used to indicate the correspondence between the data of each MSS slice index and the data in the first MP4 file.
  • the virtual slice index includes the correspondence between each audio frame and video frame data of each MSS slice and each audio frame and video frame data in the first MP4 file.
  • the virtual slice index can determine the MSS download sent by the MSS player The position of each audio frame and video frame in the first MP4 file in the MSS fragment requested to be downloaded in the request. Then the MSS adapter can determine the data segment corresponding to the data of the at least one MSS segment in the first MP4 file according to the MSS segment index and the virtual segment index of the first MP4 file.
  • determining the data segment corresponding to the data of the at least one MSS segment in the first MP4 file according to the MSS segment index and the virtual segment index of the first MP4 file includes: according to the at least one MSS segment The virtual segment index corresponding to the index of, calculate the real data position range of the data of at least one MSS segment in the first MP4 file.
  • the data in the MP4 file is divided according to the timestamps of the video frame and the audio frame in the MP4 file, as shown in FIG. 4, which is a schematic diagram of virtual fragmentation of the MP4 file.
  • FIG. 4 for example, the audio frame and video frame at the 0th second to the audio frame and video frame at the 2nd second are taken as a data segment, and the corresponding relationship between the data segment and the MSS segment is established.
  • the MSS adapter can calculate the real data location range of the data of at least one MSS segment in the first MP4 file according to the virtual segment index corresponding to the index of the at least one MSS segment, thereby determining the MSS that the MSS player needs to download The audio frame and video frame corresponding to the slice.
  • Step S2030 Send a data segment download request to the media server and receive the data segment of the first MP4 file sent by the media server.
  • the data segment download request is used to request to download the data of the first MP4 file corresponding to the at least one MSS segment. Segmented.
  • the MSS adapter After the MSS adapter determines the data segment corresponding to at least one MSS segment in the first MP4 file, it can send a data segment download request to the media server, requesting to download the first MP4 corresponding to the at least one MSS segment Data segmentation of the file.
  • the data segment download request includes the address information of each data segment to be downloaded in the first MP4 file.
  • Each data segment includes at least one video frame and a corresponding audio frame.
  • the media server After receiving the data segment download request, the media server determines the location of each video frame and audio frame data in the data segment to be downloaded in the first MP4 file, and then sets the video frame of each data segment requested to be downloaded And the audio frame is composed of each data segment and then sent to the MSS adapter.
  • Step S2040 Assemble the data in segments to generate at least one MSS segment and send the at least one MSS segment to the MSS player.
  • the MSS adapter After the MSS adapter receives the data segment sent by the media server, it needs to reassemble the video frame and audio frame data in each data segment into a data format that complies with the MSS protocol, that is, the data segment is assembled to generate at least one MSS segment. sheet. In this way, each MSS segment requested by the MSS player to be played can be sent to the MSS player, so that the MSS player can play each MSS segment normally.
  • the MP4 file virtual MSS fragmentation method provided by the embodiment of the application is applied to the MSS adapter.
  • the MSS download request sent by the MSS player is received.
  • the MSS download request is used to request to download at least one MSS fragment of the first MP4 file.
  • the MSS fragment index and the virtual fragment index of the first MP4 file determine the data fragment corresponding to the data of at least one MSS fragment in the first MP4 file.
  • the MSS fragment index includes the data of each MSS fragment of the first MP4 file.
  • the playback address and the virtual segment index include the correspondence between the data of each MSS segment and the data segment of the first MP4 file.
  • the data segment download request is used to request to download the data segment of the first MP4 file corresponding to at least one MSS segment, so that the data segment can be assembled to generate at least one MSS segment, and the at least one MSS segment can be sent to the MSS player MSS fragmentation, so that the MSS player set in the terminal can directly play the MSS fragmentation specified in the MSS protocol without upgrading and changing, and the media server storing MP4 files does not need to store a large number of MSS fragmentation fragments, which is reducing Based on the MP4 file playback buffer time, the performance impact of a large number of file fragments stored in the media server is avoided.
  • FIG. 5 is a flowchart of another method for virtual MSS fragmentation of MP4 files provided in an embodiment. As shown in FIG. 5, the method provided in this embodiment includes the following steps.
  • Step S5010 Receive the first MSS playlist request sent by the MSS player, where the MSS playlist request is used to request the MSS fragment index of the first MP4 file.
  • the MSS player in the terminal first needs to obtain the first MSS fragment index of the first MP4 file, that is, obtain the playback address of each MSS fragment in the first MP4 file.
  • the MSS fragment index is an index file required by the MSS player to play MSS fragments conforming to the MSS protocol.
  • the MSS player needs to play the MSS segment of the first MP4 file, it first needs to send the first MSS playlist request to the MSS adapter, and the MSS adapter receives the first MSS playlist request sent by the MSS player, where MSS plays The list request is used to request the MSS fragment index of the first MP4 file.
  • Step S5020 Send a second MSS playlist request to the media server and receive the MSS segment index and virtual segment index of the first MP4 file sent by the media server.
  • the second MSS playlist request is used to request the MSS segment index of the first MP4 file. Slice index and virtual slice index.
  • the actual media files are MP4 files stored in the media server, so when the MSS player sends the first MSS playlist request to the MSS adapter, the MSS adapter needs to send it to the media server The second MSS playlist request.
  • the second MSS playlist request is used to request the MSS segment index and the virtual segment index of the first MP4 file.
  • the media server needs to segment the video frame and audio frame in the first MP4 file to obtain multiple data segments on the basis of storing the first MP4 file. , Each data segment includes at least one video frame and a corresponding audio frame.
  • the media server does not divide the first MP4 file into multiple actual data segments, but performs virtual segmentation on the first MP4 file to establish a virtual segment index.
  • the media server also establishes an MSS segment index of the first MP4 file, and the MSS segment index of the first MP4 file includes the play address of each MSS segment of the first MP4 file.
  • the purpose of the MSS adapter sending the second MSS playlist request to the media server is to obtain the MSS fragment index and the virtual fragment index of the first MP4 file stored in the media server.
  • Step S5030 Send the MSS fragment index of the first MP4 file to the MSS player.
  • the MSS adapter After receiving the MSS fragment index and the virtual fragment index of the first MP4 file sent by the media server, the MSS adapter will store the virtual fragment index and the MSS fragment index of the first MP4 file, and store the MSS of the first MP4 file.
  • the fragment index is sent to the MSS player. In this way, the MSS player in the terminal obtains the MSS fragment index conforming to the MSS protocol, and the MSS player can select the MSS fragment to be played according to the obtained MSS fragment index to download and play.
  • the MSS adapter stores the virtual slice index and MSS slice index of the first MP4 file.
  • the MSS player After receiving the playback request sent by the MSS player, the MSS player can be determined by querying the virtual slice index of the first MP4 file The position of the MSS segment requested to be played in the first MP4 file, and then request to the media server storing the first MP4 file to download the corresponding video frame and audio frame in the first MP4 file, and assemble it into the MSS segment in the MSS adapter After the film is sent to the MSS player, the normal playback of the MSS player can be realized.
  • Step S5040 Receive an MSS download request sent by the MSS player, where the MSS download request is used to request to download at least one MSS segment of the first MP4 file.
  • step S5050-step S5100 is executed.
  • step S5050-step S5100 is the same as step S2010-step S2060, and will not be repeated here.
  • Step S5050 Determine the data segment corresponding to the data of the at least one MSS segment in the first MP4 file according to the MSS segment index and the virtual segment index of the first MP4 file.
  • the MSS segment index includes each of the first MP4 file.
  • the playback address of the MSS fragment, and the virtual fragment index includes the correspondence between the data of each MSS fragment and the data fragment of the first MP4 file.
  • Step S5060 Send a data segment download request to the media server and receive the data segment of the first MP4 file sent by the media server.
  • the data segment download request is used to request to download data of the first MP4 file corresponding to at least one MSS segment. Segmented.
  • Step S5070 Assemble the data in segments to generate at least one MSS segment and send the at least one MSS segment to the MSS player.
  • FIG. 6 is a flowchart of another method for virtual MSS fragmentation of MP4 files provided by an embodiment. As shown in FIG. 6, the method provided by this embodiment includes the following steps.
  • Step S6010 Receive a data segment download request sent by the MSS adapter, where the data segment download request is used to request to download the data segment of the first MP4 file corresponding to the at least one MSS segment.
  • the MP4 file virtual MSS fragmentation method provided in this embodiment is used for a media server.
  • the media server is a server for storing media files, and may be located in the cloud or in the user's local area.
  • the storage of MP4 files in the media server will cause the terminal to cache time when playing large-capacity MP4 files, and if the MSS fragments that divide the MP4 file according to the MSS protocol are stored in the media server, it will cause the storage of the media server Too many fragmented files affect the performance of the media server.
  • an MSS adapter is configured, and the MSS adapter is a device or module that converts between MP4 files and MSS files.
  • the MSS adapter can be an independent device, or the MSS adapter can be set in a terminal that plays MP4, or the MSS adapter can be set in a media server that stores MP4 files. In this way, the media server still only needs to store the complete MP4 file, and there is no need to store the MSS fragments after the MP4 file is split in the media server.
  • a player based on the MSS protocol can be used for playback, thereby reducing the long buffer time required for playing MP4 files.
  • the MSS adapter uses the method of virtualizing the MP4 file into MSS fragments for processing, that is, the virtual MSS fragment is established in the MSS adapter, and the correspondence between the virtual MSS fragment and the MP4 file is established Relationship, the virtual MSS segment is provided to the MSS player in the terminal, and when the MSS player needs to play the MSS segment, the MSS adapter determines the MSS segment to be played and the audio in the MP4 file stored in the media player Correspondence between frames and video frames, and download the corresponding audio frame and video frame data from the media player and then assemble them into MSS fragments, so that the MSS fragments requested by the MSS player can be provided to the MSS player for playback.
  • the MSS adapter will receive the MSS download request sent by the MSS player.
  • the MSS download request is used to request to download at least one MSS segment in the first MP4 file.
  • the MSS download request is sent by the MSS player according to the MSS fragmentation index of the first MP4 file.
  • the MSS fragmentation index of the first MP4 file includes the playback address of each MSS fragment of the first MP4 file.
  • the MSS player is based on the MSS fragmentation index. After the index determines the MSS segment to be played, it sends an MSS download request to the MSS adapter.
  • Each MSS segment includes at least one video frame and the data of the corresponding audio frame. In order to ensure the normal playback of the MSS segment, each MSS segment should include at least one key video frame, and the key video frame should be MSS The first video frame of the slice.
  • the media server will receive a data segment download request sent by the MSS adapter, where the data segment download request is used to request to download the data segment of the first MP4 file corresponding to at least one MSS segment.
  • the MSS adapter sends the data segment download request
  • the MSS adapter determines that the data of at least one MSS segment is sent after the corresponding data segment in the first MP4 file according to the MSS segment index and the virtual segment index of the first MP4 file. .
  • the MSS segment index of the first MP4 file and the virtual segment index of the first MP4 file are stored in the MSS adapter.
  • the MSS segment index includes the playback address of each MSS segment of the first MP4 file
  • the virtual segment index includes the correspondence between the data of each MSS segment and the data segment of the first MP4 file.
  • the MSS adapter saves the MSS segment index for the MSS player, which is the same as the index file provided to the MSS player when the MSS segment is stored in the media server, so the MSS player does not need to perform additional Upgrade and change.
  • the virtual slice index stored in the MSS adapter is an index file used to indicate the correspondence between the data of each MSS slice index and the data in the first MP4 file.
  • the virtual slice index includes the correspondence between each audio frame and video frame data of each MSS slice and each audio frame and video frame data in the first MP4 file.
  • the virtual slice index can determine the MSS download sent by the MSS player The position of each audio frame and video frame in the first MP4 file in the MSS fragment requested to be downloaded in the request. Then the MSS adapter can determine the data segment corresponding to the data of the at least one MSS segment in the first MP4 file according to the MSS segment index and the virtual segment index of the first MP4 file.
  • Step S6020 Send the data segment of the first MP4 file to the MSS adapter.
  • the media server After receiving the data segment download request, the media server determines the location of each video frame and audio frame data in the data segment to be downloaded in the first MP4 file, and then sets the video frame of each data segment requested to be downloaded And the audio frame is composed of each data segment and then sent to the MSS adapter.
  • the MSS adapter After the MSS adapter receives the data segment sent by the media server, it needs to reassemble the video frame and audio frame data in each data segment into a data format that conforms to the MSS protocol, that is, the data segment is assembled to generate at least one MSS Fragmentation. In this way, each MSS segment requested by the MSS player to be played can be sent to the MSS player, so that the MSS player can play each MSS segment normally.
  • the MP4 file virtual MSS fragmentation method provided by the embodiment of this application is applied to a media server.
  • the data segment download request sent by the MSS adapter is received.
  • the data segment download request is used to request to download the first corresponding to at least one MSS segment.
  • the data segment of the MP4 file, and then the data segment of the first MP4 file is sent to the MSS adapter, so that the data segment can be assembled to generate at least one MSS segment, and at least one MSS segment can be sent to the MSS player.
  • the MSS player in the terminal can directly play the MSS fragments specified in the MSS protocol without upgrading and changing, and there is no need to store a large number of MSS fragments in the media server that stores MP4 files, which is the basis for reducing the buffering time of MP4 files. It avoids the impact on performance of a large number of file fragments stored in the media server.
  • FIG. 7 is a flowchart of another method for virtual MSS fragmentation of MP4 files provided by an embodiment. As shown in FIG. 7, the method provided by this embodiment includes the following steps.
  • Step S7010 Receive the MSS playlist request sent by the MSS adapter.
  • the MSS playlist request is used to request the MSS segment index and the virtual segment index of the first MP4 file.
  • the MSS segment index includes the MSS segment index of the first MP4 file.
  • the playback address and the virtual segment index include the correspondence between the data of each MSS segment and the data segment of the first MP4 file.
  • the MSS player in the terminal first needs to obtain the first MSS fragment index of the first MP4 file, that is, obtain the playback address of each MSS fragment in the first MP4 file.
  • the MSS fragment index is an index file required by the MSS player to play MSS fragments conforming to the MSS protocol.
  • the MSS player needs to play the MSS segment of the first MP4 file, it first needs to request the MSS adapter to send the MSS segment index of the first MP4 file. Since the actual media files are not stored in the MSS adapter, the actual media files are MP4 files stored in the media server.
  • the MSS adapter needs to send an MSS playlist request to the media server.
  • the MSS playlist request is used to request the MSS segment index and the virtual segment index of the first MP4 file.
  • the media server needs to segment the video frame and audio frame in the first MP4 file to obtain multiple data segments on the basis of storing the first MP4 file.
  • Each data segment includes at least one video frame and a corresponding audio frame.
  • the corresponding relationship between the data in each data segment and the data of the MSS segment is established, that is, the virtual segment index of the first MP4 file.
  • the media server does not divide the first MP4 file into multiple actual data segments, but performs virtual segmentation on the first MP4 file to establish a virtual segment index.
  • the media server also establishes an MSS segment index of the first MP4 file, and the MSS segment index of the first MP4 file includes the play address of each MSS segment of the first MP4 file.
  • the purpose of the MSS adapter sending the MSS playlist request to the media server is to obtain the MSS fragment index and the virtual fragment index of the first MP4 file stored in the media server.
  • the virtual fragment index includes the real data position range of the data of at least one MSS fragment in the first MP4 file. As shown in Figure 3, the MP4 file is not actually divided, but only the MSS fragment index and the virtual fragment index related to the MP4 file are generated.
  • Step S7020 Send the MSS fragment index and the virtual fragment index of the first MP4 file to the MSS adapter.
  • the media server queries the MSS fragment index and the virtual fragment index of the first MP4 file according to the MSS playlist request sent by the MSS adapter, and then sends it to the MSS adapter. After receiving the MSS fragment index and the virtual fragment index of the first MP4 file sent by the media server, the MSS adapter will store the virtual fragment index and the MSS fragment index of the first MP4 file, and store the MSS of the first MP4 file.
  • the fragment index is sent to the MSS player. In this way, the MSS player in the terminal obtains the MSS fragment index conforming to the MSS protocol, and the MSS player can select the MSS fragment to be played according to the obtained MSS fragment index to download and play.
  • the MSS adapter stores the virtual slice index and MSS slice index of the first MP4 file. After receiving the playback request sent by the MSS player, the MSS player can be determined by querying the virtual slice index of the first MP4 file The position of the MSS segment requested to be played in the first MP4 file, and then request to the media server storing the first MP4 file to download the corresponding video frame and audio frame in the first MP4 file, and assemble it into the MSS segment in the MSS adapter After the film is sent to the MSS player, the normal playback of the MSS player can be realized.
  • Step S7030 Receive a data segment download request sent by the MSS adapter, where the data segment download request is used to request to download the data segment of the first MP4 file corresponding to the at least one MSS segment.
  • Step S7040 Send the data segment of the first MP4 file to the MSS adapter.
  • step S7030-step S7040 is the same as step S6010-step S6020, and will not be repeated here.
  • FIG. 8 is an interaction flowchart of another method for virtual MSS fragmentation of MP4 files provided by an embodiment. As shown in FIG. 8, the method provided by this embodiment includes the following steps.
  • step S8010 the MSS player requests the MSS adapter to download the xxx.isml file.
  • step S8020 the MSS adapter requests the media server to download the xxx.isml file and the xxx.index file.
  • step S8030 the media server sends the xxx.isml file and the xxx.index file to the MSS adapter.
  • step S8040 the MSS adapter sends the xxx.isml file to the MSS player.
  • step S8050 the MSS player sends a 0.m4s download request to the MSS adapter.
  • step S8060 the MSS adapter calculates the real address range of the segment seg-0 corresponding to 0.m4s in the MP4 file according to the xxx.isml file and the xxx.index file.
  • step S8070 the MSS adapter requests the media server to download the data within the determined real address range, that is, the audio frame and video frame data corresponding to seg-0.
  • step S8080 the media server sends the content corresponding to seg-0 in the MP4 file to the MSS adapter.
  • step S8090 the MSS adapter parses the received audio frame and video frame data, and assembles them into 0.m4s fragments.
  • step S8100 the MSS adapter sends 0.m4s fragments to the MSS player.
  • the interaction flow chart provided in this embodiment shows the complete process of the MSS player playing the MP4 file stored in the media server through the MSS adapter, where the MP4 file is stored in the media server, and the xxx.isml and xxx.isml as shown in Figure 3 are generated. xxx.index file.
  • FIG. 9 is a schematic structural diagram of an MP4 file virtual MSS fragmentation device provided by an embodiment. As shown in FIG. 9, the MP4 file virtual MSS fragmentation device provided in this embodiment includes:
  • the receiving module 91 is configured to receive an MSS download request sent by the MSS player, and the MSS download request is used to request to download at least one MSS fragment of the first MP4 file; the processing module 92 is configured to be based on the MSS fragment index of the first MP4 file And the virtual segment index to determine the data segment corresponding to the data of at least one MSS segment in the first MP4 file.
  • the MSS segment index includes the playback address of each MSS segment of the first MP4 file, and the virtual segment index includes each The corresponding relationship between the data of the MSS fragment and the data segment of the first MP4 file;
  • the sending module 93 is configured to send a data segment download request to the media server, and the data segment download request is used to request download corresponding to at least one MSS segment
  • the receiving module 91 is also configured to receive the data segment of the first MP4 file sent by the media server;
  • the processing module 92 is also configured to assemble the data segments to generate at least one MSS segment;
  • the sending module 93 is further configured to send at least one MSS segment to the MSS player.
  • the MP4 file virtual MSS fragmentation device provided in this embodiment is set in the MSS adapter, and is used to implement the MP4 file virtual MSS fragmentation method of the embodiment shown in FIG. 2.
  • the implementation principle of the MP4 file virtual MSS fragmentation device provided in this embodiment It is similar to the technical effect, so I won't repeat it here.
  • FIG. 10 is a schematic structural diagram of an MP4 file virtual MSS fragmentation device provided by an embodiment. As shown in FIG. 10, the MP4 file virtual MSS fragmentation device provided in this embodiment includes:
  • the receiving module 101 is configured to receive a data segment download request sent by the MSS adapter, and the data segment download request is used to request to download the data segment of the first MP4 file corresponding to at least one MSS segment; the sending module 102 is configured to The MSS adapter sends the data segment of the first MP4 file.
  • the MP4 file virtual MSS fragmentation device provided in this embodiment is set in the media server, and is used to implement the MP4 file virtual MSS fragmentation method in the embodiment shown in FIG. 6, and the implementation principle of the MP4 file virtual MSS fragmentation device provided in this embodiment It is similar to the technical effect, so I won't repeat it here.
  • FIG. 11 is a schematic structural diagram of an MSS adapter provided by an embodiment.
  • the MSS adapter includes a processor 111, a memory 112, a transmitter 113, and a receiver 114; the number of processors 111 in the MSS adapter can be It is one or more.
  • one processor 111 is taken as an example; the processor 111 and the memory 112, the transmitter 113 and the receiver 114 in the MSS adapter can be connected by bus or other methods. Connect as an example.
  • the memory 112 can be configured to store software programs, computer-executable programs, and modules, such as the program instructions/modules corresponding to the MP4 file virtual MSS fragmentation method in the embodiment of FIG. 2 to FIG. 5 of this application (For example, the receiving module 91, the processing module 92, and the sending module 93 in the MP4 file virtual MSS fragmentation device).
  • the processor 111 executes the software programs, instructions, and modules stored in the memory 112 to complete at least one functional application and data processing of the MSS adapter, that is, to implement the aforementioned MP4 file virtual MSS fragmentation method.
  • the memory 112 may mainly include a program storage area and a data storage area.
  • the program storage area may store an operating system and an application program required by at least one function; the data storage area may store data created according to the use of the MSS adapter.
  • the memory 112 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state storage devices.
  • the transmitter 113 is a module or a combination of devices that can send data to the MSS player or the media server in the terminal through any wired or wireless network.
  • the receiver 114 is a module or a combination of devices that receives data sent by the MSS player or the media server in the terminal through any kind of wired or wireless network.
  • FIG. 12 is a schematic structural diagram of a media server provided by an embodiment.
  • the media server includes a processor 121, a memory 122, a transmitter 123, and a receiver 124; the number of processors 121 in the media server can be It is one or more.
  • one processor 121 is taken as an example; the processor 121 and the memory 122, the transmitter 123 and the receiver 124 in the media server can be connected by a bus or other methods. Connect as an example.
  • the memory 122 can be configured to store software programs, computer-executable programs, and modules, such as the program instructions/modules corresponding to the MP4 file virtual MSS fragmentation method in the embodiments of FIG. 6 to FIG. 7 of this application (For example, the receiving module 101 and the sending module 102 in the MP4 file virtual MSS fragmentation device).
  • the processor 121 executes the software programs, instructions, and modules stored in the memory 122 to complete at least one functional application and data processing of the media server, that is, to implement the aforementioned MP4 file virtual MSS fragmentation method.
  • the memory 122 may mainly include a program storage area and a data storage area.
  • the program storage area may store an operating system and an application program required by at least one function; the data storage area may store data created according to the use of the media server.
  • the memory 122 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state storage devices.
  • the transmitter 123 is a module or combination of devices capable of sending data to the MSS player or the media server in the terminal through any wired or wireless network.
  • the receiver 124 is a module or a combination of devices that receives data sent by the MSS player or the media server in the terminal through any kind of wired or wireless network.
  • FIG. 13 is a schematic structural diagram of an MP4 file MSS fragmentation system provided by an embodiment.
  • the MP4 file MSS fragmentation system includes an MSS player 131, an MSS adapter 132, and a media server 133.
  • the MSS player 131 is set in a terminal, and the terminal includes, for example, a mobile phone, a tablet computer, a desktop computer, a set-top box, and other terminals that support media access and playback.
  • the MSS adapter 132 may be installed in the terminal or in the media server 133.
  • the media server 133 is a server that stores media files, and can be set in the cloud or in the same local area network as the terminal.
  • the embodiment of the present application also provides a storage medium containing computer-executable instructions.
  • the computer-executable instructions are executed by a computer processor, they are used to execute a method for virtual MSS fragmentation of MP4 files.
  • the method includes: receiving a message from an MSS player. MSS download request, the MSS download request is used to request to download at least one MSS segment of the first MP4 file; according to the MSS segment index and virtual segment index of the first MP4 file, it is determined that the data of at least one MSS segment is in the first MP4 file.
  • the corresponding data segment in the MP4 file, the MSS segment index includes the playback address of each MSS segment of the first MP4 file, and the virtual segment index includes the correspondence between the data of each MSS segment and the data segment of the first MP4 file ;
  • the embodiment of the present application also provides a storage medium containing computer-executable instructions.
  • the computer-executable instructions When executed by a computer processor, they are used to execute a method for virtual MSS fragmentation of MP4 files.
  • the method includes: receiving a message sent by an MSS adapter.
  • the data segment download request the data segment download request is used to request to download the data segment of the first MP4 file corresponding to at least one MSS segment; send the data segment of the first MP4 file to the MSS adapter.
  • An MP4 file virtual MSS fragmentation method, MSS adapter, media server, and storage medium provided by the embodiments of the present application avoid the performance impact of a large number of file fragments stored in the media server on the basis of reducing the MP4 file playback buffer time.
  • user terminal encompasses any suitable type of wireless user equipment, such as a mobile phone, a portable data processing device, a portable web browser, or a vehicle-mounted mobile station.
  • the various embodiments of the present application can be implemented in hardware or dedicated circuits, software, logic or any combination thereof.
  • some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software that may be executed by a controller, microprocessor, or other computing device, although the present application is not limited thereto.
  • the embodiments of the present application may be implemented by executing computer program instructions by a data processor of a mobile device, for example, in a processor entity, or by hardware, or by a combination of software and hardware.
  • Computer program instructions can be assembly instructions, (Instruction Set Architecture, ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or any combination of one or more programming languages Source code or object code written.
  • ISA Instruction Set Architecture
  • the block diagram of any logic flow in the drawings of the present application may represent program steps, or may represent interconnected logic circuits, modules, and functions, or may represent a combination of program steps and logic circuits, modules, and functions.
  • the computer program can be stored on the memory.
  • the memory can be of any type suitable for the local technical environment and can be implemented using any suitable data storage technology, such as but not limited to read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), optical Memory devices and systems (Digital Video Disc (DVD) or optical disc ((Compact Disc, CD)), etc.
  • Computer readable media can include non-transitory storage media.
  • the data processor can be any local technology
  • the type of environment such as but not limited to general-purpose computers, special-purpose computers, microprocessors, digital signal processors (Digital Signal Processing, DSP), application specific integrated circuits (ASICs), programmable logic devices (Field-Programmable Gate Array, FGPA) and processors based on multi-core processor architecture.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

一种MP4文件虚拟MSS分片方法、MSS适配器、媒体服务器和存储介质,其中的一种MP4文件虚拟MSS分片方法,包括:接收MSS播放器发送的MSS下载请求;根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段,MSS分片索引包括第一MP4文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系;向媒体服务器发送数据分段下载请求;接收媒体服务器发送的第一MP4文件的数据分段;将数据分段组装生成至少一个MSS分片;向MSS播放器发送至少一个MSS分片。

Description

MP4文件虚拟MSS分片方法、MSS适配器、媒体服务器和存储介质
相关申请的交叉引用
本申请基于申请号为201911315661.2、申请日为2019年12月19日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本申请涉及多媒体业务,例如涉及一种MP4文件虚拟MSS分片方法、MSS适配器、媒体服务器和存储介质。
背景技术
MP4(Moving Picture Experts Group 4 Part 14,MPEG-4 Part 14)为较常用的多媒体文件格式,广泛应用于各种终端中。MP4文件可以作为各种视频文件的存储容器,存储于终端设备中或者网络服务器上,在终端设备中使用MP4播放器即可点播各种MP4文件。
图1为常见的MP4文件的结构示意图,如图1所示,在MP4文件的头部包括FtypBox和MoovBox两个容器,其中FtypBox用于存储MP4文件所使用的编码格式、标准等内容,MoovBox即movie box中记录了后续所有音频帧(Audio)和视频帧(Video)的解码信息、时间戳、位置等非常关键的数据,也可称为MP4文件的索引数据,特别是视频帧中的关键帧的相关信息。在视频帧中,关键帧是最重要的节点,播放器会在关键帧对整个图像进行刷新。但是目前的MP4文件的所有索引信息都集中存放在MoovBox中,容量越大的文件,MoovBox也越大,对于播放器而言,必须首先获取并解析MoovBox中的索引信息后,才能播放MP4文件。而MoovBox过大,播放器就需要更多的时间加载MoovBox中的数据,导致文件播放缓冲时间过长。
为了缩短MP4文件播放时缓冲时间过长的问题,微软平滑流媒体(Microsoft Smooth Streaming,MSS)协议越来越普及,MSS协议中将大的MP4文件转换为许多小的媒体文件分片,这样每块小的媒体文件分片的加载速度较快,避免了MP4文件播放时缓冲时间过长的问题。但众多的小容量媒体文件分片如同文件碎片,难以进行管理,并且影响存储文件的服务器的性能。因此,对于MP4文件的管理是亟待解决的问题。
发明内容
本申请实施例提供一种MP4文件虚拟MSS分片方法、MSS适配器、媒体服务器和存储介质。
第一方面,本申请实施例提供一种MP4文件虚拟MSS分片方法,包括:接收MSS播放器发送的MSS下载请求,MSS下载请求用于请求下载第一MP4文件的至少一个MSS分片;根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段,MSS分片索引包括第一MP4文件的各MSS分片 的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系;向媒体服务器发送数据分段下载请求并接收媒体服务器发送的第一MP4文件的数据分段,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段;将数据分段组装生成至少一个MSS分片并向MSS播放器发送至少一个MSS分片。
第二方面,本申请实施例提供一种MP4文件虚拟MSS分片方法,包括:接收MSS适配器发送的数据分段下载请求,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段;向MSS适配器发送第一MP4文件的数据分段。
第三方面,本申请实施例提供一种MSS适配器,包括处理器和存储器,处理器被设置成运行储存在存储器里的程序指令以执行第一方面的MP4文件虚拟MSS分片方法。
第四方面,本申请实施例提供一种媒体服务器,包括处理器和存储器,处理器被设置成运行储存在存储器里的程序指令以执行第二方面的MP4文件虚拟MSS分片方法。
第五方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面或第二方面的MP4文件虚拟MSS分片方法。
附图说明
图1为常见的MP4文件的结构示意图;
图2为一实施例提供的一种MP4文件虚拟MSS分片方法的流程图;
图3为对MP4文件进行虚拟分片的示意图;
图4为对MP4文件进行虚拟分片的示意图;
图5为一实施例提供的另一种MP4文件虚拟MSS分片方法的流程图;
图6为一实施例提供的另一种MP4文件虚拟MSS分片方法的流程图;
图7为一实施例提供的另一种MP4文件虚拟MSS分片方法的流程图;
图8为一实施例提供的另一种MP4文件虚拟MSS分片方法的交互流程图;
图9为一实施例提供的一种MP4文件虚拟MSS分片装置的结构示意图;
图10为一实施例提供的一种MP4文件虚拟MSS分片装置的结构示意图;
图11为一实施例提供的一种MSS适配器的结构示意图;
图12为一实施例提供的一种媒体服务器的结构示意图;
图13为一实施例提供的一种MP4文件MSS分片***的结构示意图。
具体实施方式
下文中将结合附图对本申请的实施例进行详细说明。
MP4文件为最常见的多媒体文件格式,MP4文件的结构如图1所示,其中,在MP4文件的头部包括FtypBox和MoovBox两个容器,其中FtypBox用于存储MP4文件所使用的编码格式、标准等内容,MoovBox即movie box中记录了后续所有音频帧和视频帧的解码信息、时间戳、位置等非常关键的数据,也可称为MP4文件的索引数据,特别是视频帧中的关键帧的相关信息。在MoovBox容器后,即存储各音频帧(Audio)和视频帧(Video)的数据,每个音频帧和视频帧是对应的,播放器获取MP4文件后,根据FtypBox中记载的内容确定编码格式等信息,然后根据MoovBox中记载的内容确定各音频帧和视频帧的位 置、时间戳等信息,从而依次对各音频帧和视频帧进行解码后播放,在播放时还需要根据各音频帧和视频帧的时间戳信息进行对齐。在各视频帧中,一些帧为关键帧,播放器会在关键帧位置对整个图像进行刷新,因此关键帧可以认为是图像解码的起点。
当MP4文件的容量很大时,视频帧和音频帧的数量也很多,那么在MoovBox中就需要存储大量的索引数据,而播放器在播放MP4文件之前需要先读取MoovBox中的索引数据,这样将导致MP4文件播放时的缓冲时间过长。为了缩短MP4文件播放时缓冲时间过长的问题,目前使用MSS协议对MP4文件进行分割。MSS协议中将MP4文件中大量的音频帧和视频帧进行分割,将整个MP4文件转换为多个较小的媒体文件分片,每个文件分片中包括一个或多个视频帧和音频帧的数据。这样每块小的媒体文件分片的加载速度较快,避免了MP4文件播放时缓冲时间过长的问题。但众多的小容量媒体文件分片如同文件碎片,难以进行管理,并且影响存储文件的服务器的性能。本申请实施例提出一种MP4文件虚拟MSS分片方法,用于解决上述问题。
图2为一实施例提供的一种MP4文件虚拟MSS分片方法的流程图,如图2所示,本实施例提供的方法包括如下步骤。
步骤S2010,接收MSS播放器发送的MSS下载请求,MSS下载请求用于请求下载第一MP4文件的至少一个MSS分片。
本实施例提供的MP4文件虚拟MSS分片方法用于MSS适配器,MSS适配器是在MP4文件和MSS文件之间进行转换的设备或模块。MSS适配器可以为独立的设备,或者MSS适配器可以设置于播放MP4的终端中,或者MSS适配器可以设置于存储MP4文件的媒体服务器中。由于在媒体服务器中存储MP4文件会导致终端在播放大容量MP4文件时的缓存时间过程,而若在媒体服务器中存储根据MSS协议将MP4文件分割的MSS分片,则会导致媒体服务器中存储的碎片文件过多而影响媒体服务器的性能。
因此在本实施例中,单独配置了MSS适配器,MSS适配器用于进行MP4文件和MSS分片之间的转换,这样使得媒体服务器中仍然仅需存储完整的MP4文件,而无需在媒体服务器中存储将MP4文件分割后的MSS分片。而在终端中可以使用基于MSS协议的播放器进行播放,从而降低播放MP4文件时所需的较长缓冲时间。为了实现MSS适配器的上述功能,在MSS适配器中采用将MP4文件虚拟为MSS分片的方法进行处理,也即在MSS适配器中建立虚拟的MSS分片,并建立虚拟MSS分片与MP4文件的对应关系,将虚拟MSS分片提供给终端中的MSS播放器,而当MSS播放器需要播放MSS分片时,MSS适配器确定所需播放的MSS分片与媒体播放器中存储的MP4文件中的音频帧和视频帧的对应关系,并从媒体播放器中下载相应的音频帧和视频帧数据后组装成MSS分片,从而可以将MSS播放器请求播放的MSS分片提供给MSS播放器进行播放。
那么首先,当MSS播放器需要播放MSS分片时,MSS适配器将接收到MSS播放器发送的MSS下载请求。MSS下载请求用于请求下载第一MP4文件中的至少一个MSS分片。MSS下载请求是MSS播放器根据第一MP4文件的MSS分片索引发送的,第一MP4文件的MSS分片索引包括第一MP4文件的各MSS分片的播放地址,MSS播放器根据MSS 分片索引确定所需播放的MSS分片后,向MSS适配器发送MSS下载请求。每个MSS分片中包括至少一个视频帧和对应的音频帧的数据,其中为了保证MSS分片的正常播放,每个MSS分片中应至少包括一个关键视频帧,且关键视频帧应为MSS分片的第一个视频帧。
图3为对MP4文件进行虚拟分片的示意图,如图3所示,xxx.mp4为存储于媒体播放器中存储的MP4文件,xxx.mp4文件的数据结构如图所示,其中在文件的头部包括FtypBox容器和MoovBox容器,MdatBox容器用于存储MP4文件的音频帧和视频帧数据。首先解析xxx.mp4文件中的MoovBox容器,获取xxx.mp4文件中的音频帧和视频帧索引和关键视频帧的信息。其中Sample 1-Sample n表示n个相同时间戳的音频帧和视频帧的组合,每个Sample中包括时间戳相同的一个视频帧和一个音频帧,其中Sample 4、Sample 8、Sample 12中包括关键视频帧。以关键视频帧为界,对xxx.mp4文件中的数据进行虚拟划分,多个Sample中的视频帧和音频帧数据划分为一个数据分段,并生成多个m4s分片,每个m4s分片记录了一个数据分段中的多个视频帧和音频帧的地址信息。多个.m4s分片组成为xxx.isml文件,xxx.isml文件即为MP4文件的MSS分片索引。接着,根据xxx.isml文件中的各m4s分片与MP4文件的数据分段的对应关系生成xxx.index文件,也即MP4文件的虚拟分片索引。xxx.index文件中对于每个MP4文件中的数据分段记载一个对应的地址信息,seg-0–seg-n表示各数据分段所对应的MP4文件中的真实位置信息。例如seg-0中记载的信息为MP4文件中的起始帧编号(start)、结束帧编号(end)、起始帧的位置(seg_offset)、数据分段的长度(seg_size)。图3中的seg-0中(start)字节中的信息为1表示起始帧为Sample 1,(end)字节中的信息为4表示结束帧为Sample 4,(seg_offset)字节中的信息例如为13781表示seg-0的起始位置时xxx.mp4文件的第13781字节、(seg_size)字节中的信息例如为4000表示seg-0的长度是4000字节。seg-1中(start)字节中的信息为5表示起始帧为Sample 5,(end)字节中的信息为8表示结束帧为Sample 8,(seg_offset)字节中的信息例如为17781表示seg-1的起始位置时xxx.mp4文件的第17781字节、(seg_size)字节中的信息例如为4200表示seg-1的长度是4200字节。
步骤S2020,根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段,MSS分片索引包括第一MP4文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系。
在MSS适配器中存储有第一MP4文件的MSS分片索引和第一MP4文件的虚拟分片索引。其中MSS分片索引包括第一MP4文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系。也就是说,MSS适配器中保存有用于提供给MSS播放器的MSS分片索引,这与在媒体服务器中存储MSS分片时提供给MSS播放器的索引文件相同,因此MSS播放器无需进行额外的升级和改变。MSS适配器中保存的虚拟分片索引是用于指示各MSS分片索引的数据与第一MP4文件中数据的对应关系的索引文件,由于并未对媒体服务器中的MP4文件进行实际的分割,而仅是使 用了虚拟分片索引这样的索引文件建立与MSS索引文件的对应关系,因此无需对媒体服务器中存储的MP4文件进行分割,媒体服务器中仍然可以存储完整的MP4文件,从而避免媒体服务器中存储过多的文件碎片而对媒体服务器工作效率的影响。虚拟分片索引中包括个MSS分片的各音频帧和视频帧数据与第一MP4文件中的各音频帧和视频帧数据的对应关系,通过虚拟分片索引可以确定MSS播放器发送的MSS下载请求中请求下载的MSS分片中各音频帧和视频帧在第一MP4文件中的位置。那么MSS适配器就可以根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段。
在一实施例中,根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段,包括:根据至少一个MSS分片的索引对应的虚拟分片索引,计算至少一个MSS分片的数据在第一MP4文件中的真实数据位置范围。
在对MP4文件进行分割时,是根据MP4文件中的视频帧和音频帧的时间戳对MP4文件中的数据进行分割,如图4所示,图4为对MP4文件进行虚拟分片的示意图。在图4中,例如将第0秒的音频帧和视频帧到第2秒的音频帧和视频帧作为一个数据分段,并建立该数据分段中与MSS分片的对应关系。那么MSS适配器就可以根据至少一个MSS分片的索引对应的虚拟分片索引,计算至少一个MSS分片的数据在第一MP4文件中的真实数据位置范围,从而确定MSS播放器所需下载的MSS分片对应的音频帧和视频帧。
步骤S2030,向媒体服务器发送数据分段下载请求并接收媒体服务器发送的第一MP4文件的数据分段,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段。
MSS适配器在确定了至少一个MSS分片的数据在第一MP4文件中对应的数据分段之后,就可以向媒体服务器发送数据分段下载请求,请求下载与至少一个MSS分片对应的第一MP4文件的数据分段。数据分段下载请求中包括每个需要下载的数据分段在第一MP4文件中的地址信息。每个数据分段中包括至少一个视频帧和对应的音频帧。
媒体服务器在接收到数据分段下载请求后,在第一MP4文件中确定所需下载的数据分段中的各视频帧和音频帧数据的位置,然后将请求下载的各数据分段的视频帧和音频帧组成各数据分段后发送给MSS适配器。
步骤S2040,将数据分段组装生成至少一个MSS分片并向MSS播放器发送至少一个MSS分片。
MSS适配器在接收到媒体服务器发送的数据分段后,需要将各数据分段中的视频帧和音频帧数据重新组装为符合MSS协议规定的数据格式,也即将数据分段组装生成至少一个MSS分片。这样才能将MSS播放器请求播放的各MSS分片发送给MSS播放器,使得MSS播放器能够正常地播放各MSS分片。
本申请实施例提供的MP4文件虚拟MSS分片方法,应用于MSS适配器,首先接收MSS播放器发送的MSS下载请求,MSS下载请求用于请求下载第一MP4文件的至少一个 MSS分片,然后根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段,MSS分片索引包括第一MP4文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系,在向媒体服务器发送数据分段下载请求之后接收媒体服务器发送的第一MP4文件的数据分段,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段,从而可以将数据分段组装生成至少一个MSS分片,并向MSS播放器发送至少一个MSS分片,这样设置于终端中的MSS播放器无需进行升级和改变即可直接播放MSS协议规定的MSS分片,而存储MP4文件的媒体服务器中也无需存储大量的MSS分片碎片,在降低MP4文件播放缓冲时间的基础上,避免了媒体服务器中存储大量文件碎片对性能的影响。
图5为一实施例提供的另一种MP4文件虚拟MSS分片方法的流程图,如图5所示,本实施例提供的方法包括如下步骤。
步骤S5010,接收MSS播放器发送的第一MSS播放列表请求,MSS播放列表请求用于请求第一MP4文件的MSS分片索引。
终端中的MSS播放器为了播放第一MP4文件的MSS分片,首先需要获取第一MP4文件的第一MSS分片索引,也就是获取第一MP4文件中各MSS分片的播放地址。MSS分片索引是MSS播放器在播放符合MSS协议的MSS分片所需的索引文件。那么,在MSS播放器需要播放第一MP4文件的MSS分片时,首先需要向MSS适配器发送第一MSS播放列表请求,MSS适配器接收MSS播放器发送的第一MSS播放列表请求,其中,MSS播放列表请求用于请求第一MP4文件的MSS分片索引。
步骤S5020,向媒体服务器发送第二MSS播放列表请求并接收媒体服务器发送的第一MP4文件的MSS分片索引和虚拟分片索引,第二MSS播放列表请求用于请求第一MP4文件的MSS分片索引和虚拟分片索引。
由于MSS适配器中并不存储实际的媒体文件,实际的媒体文件是存储于媒体服务器中的MP4文件,因此当MSS播放器向MSS适配器发送第一MSS播放列表请求后,MSS适配器需要向媒体服务器发送第二MSS播放列表请求。第二MSS播放列表请求用于请求第一MP4文件的MSS分片索引和虚拟分片索引。媒体服务器为了支持存储的第一MP4文件被终端的MSS播放器播放,需要在存储第一MP4文件的基础上,将第一MP4文件中的视频帧和音频帧进行分段得到多个数据分段,每个数据分段中包括至少一个视频帧和对应的音频帧。并且建立各数据分段中的数据与MSS分片的数据的对应关系,即第一MP4文件的虚拟分片索引。媒体服务器中并不是将第一MP4文件分割为多个实际的数据分段,而是对第一MP4文件进行虚拟的分割,建立虚拟分片索引。另外,媒体服务器还建立第一MP4文件的MSS分片索引,第一MP4文件的MSS分片索引包括第一MP4文件的各MSS分片的播放地址。MSS适配器向媒体服务器发送第二MSS播放列表请求的目的就是为了获取媒体服务器中存储的第一MP4文件的MSS分片索引和虚拟分片索引。
步骤S5030,向MSS播放器发送第一MP4文件的MSS分片索引。
MSS适配器在接收到媒体服务器发送的第一MP4文件的MSS分片索引和虚拟分片索引后,将存储第一MP4文件的虚拟分片索引和MSS分片索引,并将第一MP4文件的MSS分片索引发送给MSS播放器。这样终端中的MSS播放器就获取到了符合MSS协议的MSS分片索引,MSS播放器就可以根据得到的MSS分片索引选择需要播放的MSS分片进行下载并播放。而MSS适配器中存储了第一MP4文件的虚拟分片索引和MSS分片索引,在接收到MSS播放器发送的播放请求后,就可以通过查询第一MP4文件的虚拟分片索引确定MSS播放器请求播放的MSS分片在第一MP4文件中的位置,然后向存储第一MP4文件的媒体服务器请求下载第一MP4文件中相应的视频帧和音频帧,并在MSS适配器中进行组装成MSS分片后发送给MSS播放器,从而实现MSS播放器的正常播放。
步骤S5040,接收MSS播放器发送的MSS下载请求,MSS下载请求用于请求下载第一MP4文件的至少一个MSS分片。
在MSS播放器得到第一MP4文件的MSS分片索引,以及MSS适配器中存储了第一MP4文件的MSS分片索引和虚拟分片索引后,MSS播放器即可进行MSS分片的播放,也即执行步骤S5050-步骤S5100的处理。步骤S5050-步骤S5100的处理过程与步骤S2010-步骤S2060相同,此处不再赘述。
步骤S5050,根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段,MSS分片索引包括第一MP4文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系。
步骤S5060,向媒体服务器发送数据分段下载请求并接收媒体服务器发送的第一MP4文件的数据分段,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段。
步骤S5070,将数据分段组装生成至少一个MSS分片并向MSS播放器发送至少一个MSS分片。
图6为一实施例提供的另一种MP4文件虚拟MSS分片方法的流程图,如图6所示,本实施例提供的方法包括如下步骤。
步骤S6010,接收MSS适配器发送的数据分段下载请求,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段。
本实施例提供的MP4文件虚拟MSS分片方法用于媒体服务器,媒体服务器是用于存储媒体文件的服务器,可以位于云端也可以位于用户的本地。由于在媒体服务器中存储MP4文件会导致终端在播放大容量MP4文件时的缓存时间过程,而若在媒体服务器中存储根据MSS协议将MP4文件分割的MSS分片,则会导致媒体服务器中存储的碎片文件过多而影响媒体服务器的性能。
因此在本实施例中,配置了MSS适配器,MSS适配器是在MP4文件和MSS文件之间进行转换的设备或模块。MSS适配器可以为独立的设备,或者MSS适配器可以设置于播放MP4的终端中,或者MSS适配器可以设置于存储MP4文件的媒体服务器中。这样使 得媒体服务器中仍然仅需存储完整的MP4文件,而无需在媒体服务器中存储将MP4文件分割后的MSS分片。而在终端中可以使用基于MSS协议的播放器进行播放,从而降低播放MP4文件时所需的较长缓冲时间。为了实现MSS适配器的上述功能,在MSS适配器中采用将MP4文件虚拟为MSS分片的方法进行处理,也即在MSS适配器中建立虚拟的MSS分片,并建立虚拟MSS分片与MP4文件的对应关系,将虚拟MSS分片提供给终端中的MSS播放器,而当MSS播放器需要播放MSS分片时,MSS适配器确定所需播放的MSS分片与媒体播放器中存储的MP4文件中的音频帧和视频帧的对应关系,并从媒体播放器中下载相应的音频帧和视频帧数据后组装成MSS分片,从而可以将MSS播放器请求播放的MSS分片提供给MSS播放器进行播放。
那么首先,当MSS播放器需要播放MSS分片时,MSS适配器将接收到MSS播放器发送的MSS下载请求。MSS下载请求用于请求下载第一MP4文件中的至少一个MSS分片。MSS下载请求是MSS播放器根据第一MP4文件的MSS分片索引发送的,第一MP4文件的MSS分片索引包括第一MP4文件的各MSS分片的播放地址,MSS播放器根据MSS分片索引确定所需播放的MSS分片后,向MSS适配器发送MSS下载请求。每个MSS分片中包括至少一个视频帧和对应的音频帧的数据,其中为了保证MSS分片的正常播放,每个MSS分片中应至少包括一个关键视频帧,且关键视频帧应为MSS分片的第一个视频帧。
媒体服务器将接收MSS适配器发送的数据分段下载请求,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段。MSS适配器发送的数据分段下载请求时MSS适配器根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段后发送的。在MSS适配器中存储有第一MP4文件的MSS分片索引和第一MP4文件的虚拟分片索引。其中MSS分片索引包括第一MP4文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系。也就是说,MSS适配器中保存有用于提供给MSS播放器的MSS分片索引,这与在媒体服务器中存储MSS分片时提供给MSS播放器的索引文件相同,因此MSS播放器无需进行额外的升级和改变。MSS适配器中保存的虚拟分片索引是用于指示各MSS分片索引的数据与第一MP4文件中数据的对应关系的索引文件,由于并未对媒体服务器中的MP4文件进行实际的分割,而仅是使用了虚拟分片索引这样的索引文件建立与MSS索引文件的对应关系,因此无需对媒体服务器中存储的MP4文件进行分割,媒体服务器中仍然可以存储完整的MP4文件,从而避免媒体服务器中存储过多的文件碎片而对媒体服务器工作效率的影响。虚拟分片索引中包括个MSS分片的各音频帧和视频帧数据与第一MP4文件中的各音频帧和视频帧数据的对应关系,通过虚拟分片索引可以确定MSS播放器发送的MSS下载请求中请求下载的MSS分片中各音频帧和视频帧在第一MP4文件中的位置。那么MSS适配器就可以根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段。
步骤S6020,向MSS适配器发送第一MP4文件的数据分段。
媒体服务器在接收到数据分段下载请求后,在第一MP4文件中确定所需下载的数据分段中的各视频帧和音频帧数据的位置,然后将请求下载的各数据分段的视频帧和音频帧组成各数据分段后发送给MSS适配器。而MSS适配器在接收到媒体服务器发送的数据分段后,需要将各数据分段中的视频帧和音频帧数据重新组装为符合MSS协议规定的数据格式,也即将数据分段组装生成至少一个MSS分片。这样才能将MSS播放器请求播放的各MSS分片发送给MSS播放器,使得MSS播放器能够正常地播放各MSS分片。
本申请实施例提供的MP4文件虚拟MSS分片方法,应用于媒体服务器,首先接收MSS适配器发送的数据分段下载请求,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段,然后向MSS适配器发送第一MP4文件的数据分段,从而可以将数据分段组装生成至少一个MSS分片,并向MSS播放器发送至少一个MSS分片,这样设置于终端中的MSS播放器无需进行升级和改变即可直接播放MSS协议规定的MSS分片,而存储MP4文件的媒体服务器中也无需存储大量的MSS分片碎片,在降低MP4文件播放缓冲时间的基础上,避免了媒体服务器中存储大量文件碎片对性能的影响。
图7为一实施例提供的另一种MP4文件虚拟MSS分片方法的流程图,如图7所示,本实施例提供的方法包括如下步骤。
步骤S7010,接收MSS适配器发送的MSS播放列表请求,MSS播放列表请求用于请求第一MP4文件的MSS分片索引和虚拟分片索引,MSS分片索引包括第一MP4文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系。
终端中的MSS播放器为了播放第一MP4文件的MSS分片,首先需要获取第一MP4文件的第一MSS分片索引,也就是获取第一MP4文件中各MSS分片的播放地址。MSS分片索引是MSS播放器在播放符合MSS协议的MSS分片所需的索引文件。那么,在MSS播放器需要播放第一MP4文件的MSS分片时,首先需要请求MSS适配器发送第一MP4文件的MSS分片索引。由于MSS适配器中并不存储实际的媒体文件,实际的媒体文件是存储于媒体服务器中的MP4文件,因此当MSS播放器向MSS适配器发送请求后,MSS适配器需要向媒体服务器发送MSS播放列表请求。MSS播放列表请求用于请求第一MP4文件的MSS分片索引和虚拟分片索引。媒体服务器为了支持存储的第一MP4文件被终端的MSS播放器播放,需要在存储第一MP4文件的基础上,将第一MP4文件中的视频帧和音频帧进行分段得到多个数据分段,每个数据分段中包括至少一个视频帧和对应的音频帧。并且建立各数据分段中的数据与MSS分片的数据的对应关系,即第一MP4文件的虚拟分片索引。媒体服务器中并不是将第一MP4文件分割为多个实际的数据分段,而是对第一MP4文件进行虚拟的分割,建立虚拟分片索引。另外,媒体服务器还建立第一MP4文件的MSS分片索引,第一MP4文件的MSS分片索引包括第一MP4文件的各MSS分片的播放地址。MSS适配器向媒体服务器发送MSS播放列表请求的目的就是为了获取媒体服务器中存储的第一MP4文件的MSS分片索引和虚拟分片索引。
在一实施例中,虚拟分片索引包括至少一个MSS分片的数据在第一MP4文件中的真 实数据位置范围。如图3所示,并不对MP4文件进行实际的分割,而是仅生成与MP4文件相关的MSS分片索引和虚拟分片索引。
步骤S7020,向MSS适配器发送第一MP4文件的MSS分片索引和虚拟分片索引。
媒体服务器根据MSS适配器发送的MSS播放列表请求,查询到第一MP4文件的MSS分片索引和虚拟分片索引后,发送给MSS适配器。MSS适配器在接收到媒体服务器发送的第一MP4文件的MSS分片索引和虚拟分片索引后,将存储第一MP4文件的虚拟分片索引和MSS分片索引,并将第一MP4文件的MSS分片索引发送给MSS播放器。这样终端中的MSS播放器就获取到了符合MSS协议的MSS分片索引,MSS播放器就可以根据得到的MSS分片索引选择需要播放的MSS分片进行下载并播放。而MSS适配器中存储了第一MP4文件的虚拟分片索引和MSS分片索引,在接收到MSS播放器发送的播放请求后,就可以通过查询第一MP4文件的虚拟分片索引确定MSS播放器请求播放的MSS分片在第一MP4文件中的位置,然后向存储第一MP4文件的媒体服务器请求下载第一MP4文件中相应的视频帧和音频帧,并在MSS适配器中进行组装成MSS分片后发送给MSS播放器,从而实现MSS播放器的正常播放。
步骤S7030,接收MSS适配器发送的数据分段下载请求,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段。
步骤S7040,向MSS适配器发送第一MP4文件的数据分段。
步骤S7030-步骤S7040的处理过程与步骤S6010-步骤S6020相同,此处不再赘述。
图8为一实施例提供的另一种MP4文件虚拟MSS分片方法的交互流程图,如图8所示,本实施例提供的方法包括如下步骤。
步骤S8010,MSS播放器向MSS适配器请求下载xxx.isml文件。
步骤S8020,MSS适配器向媒体服务器请求下载xxx.isml文件和xxx.index文件。
步骤S8030,媒体服务器向MSS适配器发送xxx.isml文件和xxx.index文件。
步骤S8040,MSS适配器向MSS播放器发送xxx.isml文件。
步骤S8050,MSS播放器向MSS适配器发送0.m4s的下载请求。
步骤S8060,MSS适配器根据xxx.isml文件和xxx.index文件,计算出0.m4s对应的分段seg-0在MP4文件中的真实地址范围。
步骤S8070,MSS适配器向媒体服务器请求下载确定的真实地址范围内的数据,即seg-0对应的音频帧和视频帧数据。
步骤S8080,媒体服务器将MP4文件中的seg-0对应的内容发送给MSS适配器。
步骤S8090,MSS适配器解析接收到的音频帧和视频帧数据,并拼装为0.m4s分片。
步骤S8100,MSS适配器向MSS播放器发送0.m4s分片。
本实施例提供的交互流程图示出了MSS播放器通过MSS适配器播放媒体服务器中存储的MP4文件的完整过程,其中媒体服务器中存储有MP4文件,以及生成如图3所示的xxx.isml和xxx.index文件。
图9为一实施例提供的一种MP4文件虚拟MSS分片装置的结构示意图,如图9所示, 本实施例提供的MP4文件虚拟MSS分片装置包括:
接收模块91,设置为接收MSS播放器发送的MSS下载请求,MSS下载请求用于请求下载第一MP4文件的至少一个MSS分片;处理模块92,设置为根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段,MSS分片索引包括第一MP4文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系;发送模块93,设置为向媒体服务器发送数据分段下载请求,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段;接收模块91,还设置为接收媒体服务器发送的第一MP4文件的数据分段;处理模块92,还设置为将数据分段组装生成至少一个MSS分片;发送模块93,还设置为向MSS播放器发送至少一个MSS分片。
本实施例提供的MP4文件虚拟MSS分片装置设置于MSS适配器中,用于实现图2所示实施例的MP4文件虚拟MSS分片方法,本实施例提供的MP4文件虚拟MSS分片装置实现原理和技术效果类似,此处不再赘述。
图10为一实施例提供的一种MP4文件虚拟MSS分片装置的结构示意图,如图10所示,本实施例提供的MP4文件虚拟MSS分片装置包括:
接收模块101,设置为接收MSS适配器发送的数据分段下载请求,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段;发送模块102,设置为向MSS适配器发送第一MP4文件的数据分段。
本实施例提供的MP4文件虚拟MSS分片装置设置于媒体服务器中,用于实现图6所示实施例的MP4文件虚拟MSS分片方法,本实施例提供的MP4文件虚拟MSS分片装置实现原理和技术效果类似,此处不再赘述。
图11为一实施例提供的一种MSS适配器的结构示意图,如图11所示,该MSS适配器包括处理器111、存储器112、发送器113和接收器114;MSS适配器中处理器111的数量可以是一个或多个,图11中以一个处理器111为例;MSS适配器中的处理器111和存储器112、发送器113和接收器114;可以通过总线或其他方式连接,图11中以通过总线连接为例。
存储器112作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序以及模块,如本申请图2-图5实施例中的MP4文件虚拟MSS分片方法对应的程序指令/模块(例如,MP4文件虚拟MSS分片装置中的接收模块91、处理模块92、发送模块93)。处理器111通过运行存储在存储器112中的软件程序、指令以及模块,从而完成MSS适配器至少一种功能应用以及数据处理,即实现上述的MP4文件虚拟MSS分片方法。
存储器112可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据MSS适配器的使用所创建的数据等。此外,存储器112可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
发送器113为能够通过任一种有线或无线网络向终端中的MSS播放器或媒体服务器发 送数据的模块或器件组合。接收器114为通过任一种有线或无线网络接收终端中的MSS播放器或媒体服务器发送的数据的模块或器件组合。
图12为一实施例提供的一种媒体服务器的结构示意图,如图12所示,该媒体服务器包括处理器121、存储器122、发送器123和接收器124;媒体服务器中处理器121的数量可以是一个或多个,图12中以一个处理器121为例;媒体服务器中的处理器121和存储器122、发送器123和接收器124;可以通过总线或其他方式连接,图12中以通过总线连接为例。
存储器122作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序以及模块,如本申请图6-图7实施例中的MP4文件虚拟MSS分片方法对应的程序指令/模块(例如,MP4文件虚拟MSS分片装置中的接收模块101、发送模块102)。处理器121通过运行存储在存储器122中的软件程序、指令以及模块,从而完成媒体服务器至少一种功能应用以及数据处理,即实现上述的MP4文件虚拟MSS分片方法。
存储器122可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据媒体服务器的使用所创建的数据等。此外,存储器122可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
发送器123为能够通过任一种有线或无线网络向终端中的MSS播放器或媒体服务器发送数据的模块或器件组合。接收器124为通过任一种有线或无线网络接收终端中的MSS播放器或媒体服务器发送的数据的模块或器件组合。
图13为一实施例提供的一种MP4文件MSS分片***的结构示意图,如图13所示,该MP4文件MSS分片***包括MSS播放器131、MSS适配器132和媒体服务器133。其中MSS播放器131设置于终端中,终端例如包括手机、平板电脑、台式电脑、机顶盒等支持媒体访问即播放的终端。MSS适配器132可以设置于终端中也可以设置于媒体服务器133中。媒体服务器133为存储媒体文件的服务器,可以设置于云端也可以设置于与终端相同的局域网中。
本申请实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种MP4文件虚拟MSS分片方法,该方法包括:接收MSS播放器发送的MSS下载请求,MSS下载请求用于请求下载第一MP4文件的至少一个MSS分片;根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段,MSS分片索引包括第一MP4文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系;向媒体服务器发送数据分段下载请求并接收媒体服务器发送的第一MP4文件的数据分段,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段;;将数据分段组装生成至少一个MSS分片并向MSS播放器发送至少一个MSS分片。
本申请实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种MP4文件虚拟MSS分片方法,该方法包括:接收MSS 适配器发送的数据分段下载请求,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段;向MSS适配器发送第一MP4文件的数据分段。
本申请实施例提供的一种MP4文件虚拟MSS分片方法、MSS适配器、媒体服务器和存储介质,在降低MP4文件播放缓冲时间的基础上,避免了媒体服务器中存储大量文件碎片对性能的影响。
以上仅为本申请的一些实施例而已,并非用于限定本申请的保护范围。
本领域内的技术人员应明白,术语用户终端涵盖任何适合类型的无线用户设备,例如移动电话、便携数据处理装置、便携网络浏览器或车载移动台。
一般来说,本申请的多种实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在可以被控制器、微处理器或其它计算装置执行的固件或软件中,尽管本申请不限于此。
本申请的实施例可以通过移动装置的数据处理器执行计算机程序指令来实现,例如在处理器实体中,或者通过硬件,或者通过软件和硬件的组合。计算机程序指令可以是汇编指令、指令集架构((Instruction Set Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码。
本申请附图中的任何逻辑流程的框图可以表示程序步骤,或者可以表示相互连接的逻辑电路、模块和功能,或者可以表示程序步骤与逻辑电路、模块和功能的组合。计算机程序可以存储在存储器上。存储器可以具有任何适合于本地技术环境的类型并且可以使用任何适合的数据存储技术实现,例如但不限于只读存储器(Read-Only Memory,ROM)、随机访问存储器(Random Access Memory,RAM)、光存储器装置和***(数码多功能光碟(Digital Video Disc,DVD)或光盘((Compact Disc,CD))等。计算机可读介质可以包括非瞬时性存储介质。数据处理器可以是任何适合于本地技术环境的类型,例如但不限于通用计算机、专用计算机、微处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑器件(Field-Programmable Gate Array,FGPA)以及基于多核处理器架构的处理器。

Claims (10)

  1. 一种MP4文件虚拟MSS分片方法,包括:
    接收微软平滑流媒体MSS播放器发送的MSS下载请求,所述MSS下载请求用于请求下载第一MP4文件的至少一个MSS分片;
    根据所述第一MP4文件的MSS分片索引和虚拟分片索引,确定所述至少一个MSS分片的数据在所述第一MP4文件中对应的数据分段,所述MSS分片索引包括所述第一MP4文件的各MSS分片的播放地址,所述虚拟分片索引包括各MSS分片的数据与所述第一MP4文件的数据分段的对应关系;
    向媒体服务器发送数据分段下载请求并接收所述媒体服务器发送的所述第一MP4文件的数据分段,所述数据分段下载请求用于请求下载与所述至少一个MSS分片对应的所述第一MP4文件的数据分段;
    将所述数据分段组装生成所述至少一个MSS分片并向所述MSS播放器发送所述至少一个MSS分片。
  2. 根据权利要求1所述的方法,所述的接收MSS播放器发送的MSS下载请求的步骤之前,还包括:
    接收所述MSS播放器发送的第一MSS播放列表请求,所述MSS播放列表请求用于请求所述第一MP4文件的MSS分片索引;
    向所述媒体服务器发送第二MSS播放列表请求并接收所述媒体服务器发送的所述第一MP4文件的MSS分片索引和虚拟分片索引,所述第二MSS播放列表请求用于请求所述第一MP4文件的MSS分片索引和虚拟分片索引;
    向所述MSS播放器发送所述第一MP4文件的MSS分片索引。
  3. 根据权利要求1或2所述的方法,其中,所述根据所述第一MP4文件的MSS分片索引和虚拟分片索引,确定所述至少一个MSS分片的数据在所述第一MP4文件中对应的数据分段,包括:
    根据所述至少一个MSS分片的索引对应的虚拟分片索引,计算所述至少一个MSS分片的数据在所述第一MP4文件中的真实数据位置范围。
  4. 一种MP4文件虚拟MSS分片方法,包括:
    接收微软平滑流媒体MSS适配器发送的数据分段下载请求,所述数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段;
    向所述MSS适配器发送所述第一MP4文件的数据分段。
  5. 根据权利要求4所述的方法,所述的接收MSS适配器发送的数据分段下载请求的步骤之前,还包括:
    接收所述MSS适配器发送的MSS播放列表请求,所述MSS播放列表请求用于请求所述第一MP4文件的MSS分片索引和虚拟分片索引,所述MSS分片索引包括所述第一MP4文件的各MSS分片的播放地址,所述虚拟分片索引包括各MSS分片的数据与所述第 一MP4文件的数据分段的对应关系;
    向所述MSS适配器发送所述第一MP4文件的MSS分片索引和虚拟分片索引。
  6. 根据权利要求5所述的方法,所述的接收所述MSS适配器发送的MSS播放列表请求的步骤之前,还包括:
    解析所述第一MP4文件的索引数据,确定所述第一MP4文件中的视频关键帧;
    以所述第一MP4文件中的视频关键帧为界限,将所述第一MP4文件分割为多个数据分段,每个数据分段中包括至少一个视频关键帧;
    建立所述第一MP4文件的每个数据分段与MSS分片的数据的对应关系,并生成所述虚拟分片索引;
    根据对所述第一MP4文件的数据分段生成所述MSS分片索引。
  7. 根据权利要求6所述的方法,其中,所述虚拟分片索引包括所述至少一个MSS分片的数据在所述第一MP4文件中的真实数据位置范围。
  8. 一种MSS适配器,包括处理器和存储器,其中,所述处理器被设置成运行储存在所述存储器里的程序指令以执行根据权利要求1-3中任意一项所述的MP4文件虚拟微软平滑流媒体MSS分片方法。
  9. 一种媒体服务器,包括处理器和存储器,其中,所述处理器被设置成运行储存在所述存储器里的程序指令以执行根据权利要求4-7中任意一项所述的MP4文件虚拟微软平滑流媒体MSS分片方法。
  10. 一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求1~7中任一所述的MP4文件虚拟微软平滑流媒体MSS分片方法。
PCT/CN2020/137122 2019-12-19 2020-12-17 Mp4文件虚拟mss分片方法、mss适配器、媒体服务器和存储介质 WO2021121303A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/779,759 US20230008979A1 (en) 2019-12-19 2020-12-17 Mp4 file virtual mss fragmentation method, mss adapter, media server, and storage medium
EP20902724.2A EP4075814A4 (en) 2019-12-19 2020-12-17 VIRTUAL MSS FRAGMENTATION PROCESS FOR MP4 FILE, MSS ADAPTER, MEDIA SERVER AND STORAGE MEDIUM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911315661.2 2019-12-19
CN201911315661.2A CN113014966A (zh) 2019-12-19 2019-12-19 Mp4文件虚拟mss分片方法、设备和存储介质

Publications (1)

Publication Number Publication Date
WO2021121303A1 true WO2021121303A1 (zh) 2021-06-24

Family

ID=76381410

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/137122 WO2021121303A1 (zh) 2019-12-19 2020-12-17 Mp4文件虚拟mss分片方法、mss适配器、媒体服务器和存储介质

Country Status (4)

Country Link
US (1) US20230008979A1 (zh)
EP (1) EP4075814A4 (zh)
CN (1) CN113014966A (zh)
WO (1) WO2021121303A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108271048A (zh) * 2018-02-09 2018-07-10 北京邮电大学 一种兼顾吞吐量和视频缓冲的码率自适应调整装置和方法
CN109274696A (zh) * 2018-09-20 2019-01-25 青岛海信电器股份有限公司 基于dash协议的流媒体播放方法及装置
CN109787983A (zh) * 2019-01-24 2019-05-21 北京百度网讯科技有限公司 直播流切片方法、装置和***
CN110198494A (zh) * 2019-06-28 2019-09-03 广州市百果园信息技术有限公司 一种视频播放方法、装置、设备和存储介质
US10432690B1 (en) * 2016-06-03 2019-10-01 Amazon Technologies, Inc. Manifest partitioning

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9532092B1 (en) * 2009-12-30 2016-12-27 Akamai Technologies, Inc. Multiple bitrate format-agnostic streaming architecture
EP3647974A1 (en) * 2010-02-17 2020-05-06 Verimatrix, Inc. Systems and methods for securing content delivered using a playlist
US8954596B2 (en) * 2010-04-02 2015-02-10 Netflix, Inc. Dynamic virtual chunking of streaming media content
US8914534B2 (en) * 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
EP2685742A4 (en) * 2011-04-07 2014-03-05 Huawei Tech Co Ltd METHOD, DEVICE AND SYSTEM FOR SENDING AND PROCESSING MEDIA CONTENT
CN102238434B (zh) * 2011-07-22 2017-12-19 中兴通讯股份有限公司 一种iptv流媒体文件虚拟分段和使用的方法及***
US10212022B2 (en) * 2013-09-13 2019-02-19 Microsoft Technology Licensing, Llc Enhanced network virtualization using metadata in encapsulation header
WO2015093011A1 (ja) * 2013-12-16 2015-06-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 送信方法、受信方法、送信装置及び受信装置
CN106254300B (zh) * 2015-06-08 2020-04-21 中兴通讯股份有限公司 流媒体传输方法、播放方法、传输装置及播放装置
FR3044194A1 (fr) * 2015-11-20 2017-05-26 B<>Com Procede de traitement de donnees codees, procede de reception de donnees codees, dispositifs et programmes d'ordinateurs correspondants
US10831385B2 (en) * 2017-04-17 2020-11-10 StorageOS Limited System and method for managing volumes of data in a block storage system
EP3646611A4 (en) * 2017-06-29 2020-06-24 ActiveVideo Networks, Inc. ORCHESTRALIZED NETWORK APPLICATION SERVICE SYSTEM AND METHODS
CN112673638B (zh) * 2018-07-06 2024-04-19 诺基亚技术有限公司 处理媒体数据的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10432690B1 (en) * 2016-06-03 2019-10-01 Amazon Technologies, Inc. Manifest partitioning
CN108271048A (zh) * 2018-02-09 2018-07-10 北京邮电大学 一种兼顾吞吐量和视频缓冲的码率自适应调整装置和方法
CN109274696A (zh) * 2018-09-20 2019-01-25 青岛海信电器股份有限公司 基于dash协议的流媒体播放方法及装置
CN109787983A (zh) * 2019-01-24 2019-05-21 北京百度网讯科技有限公司 直播流切片方法、装置和***
CN110198494A (zh) * 2019-06-28 2019-09-03 广州市百果园信息技术有限公司 一种视频播放方法、装置、设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4075814A4 *

Also Published As

Publication number Publication date
EP4075814A1 (en) 2022-10-19
EP4075814A4 (en) 2023-04-05
CN113014966A (zh) 2021-06-22
US20230008979A1 (en) 2023-01-12

Similar Documents

Publication Publication Date Title
US10051013B2 (en) Method and apparatus for streaming multimedia content of server by using cache
WO2018076952A1 (zh) 一种视频文件的存储、定位播放方法及装置
US11490173B2 (en) Switch of audio and video
CN110996160B (zh) 视频处理方法、装置、电子设备及计算机可读取存储介质
US7558806B2 (en) Method and apparatus for buffering streaming media
JP6585773B2 (ja) ハイブリッドネットワークにおけるマルチメディアデータを受信するための方法
US10838691B2 (en) Method and apparatus of audio/video switching
EP3209025A1 (en) Splicing method and splicing system for http live streaming media fragmentation
US20210400317A1 (en) Method for processing video-dragging data, and proxy server
WO2017080428A1 (zh) 流媒体频道录制、回看方法、装置、服务器及存储介质
JPH10276227A (ja) データ・ストリームの処理方法及びデータ処理システム
US9510026B1 (en) Apparatus and methods for generating clips using recipes with slice definitions
WO2018233539A1 (zh) 视频处理方法、计算机存储介质及设备
CN113115120B (zh) 视频切片方法、装置、电子设备及存储介质
CN109089174B (zh) 一种多媒体数据流的处理方法及装置、计算机存储介质
CN110290396B (zh) 一种视频处理的方法、装置、***、设备和存储介质
WO2020155956A1 (zh) 首帧均衡限流方法、装置、计算机设备及可读存储介质
CN101707697B (zh) 一种推送视频及数据内容的方法、***及设备
WO2021121303A1 (zh) Mp4文件虚拟mss分片方法、mss适配器、媒体服务器和存储介质
CN112287127B (zh) 多媒体文件存储、读取方法
JP7269392B2 (ja) Mp4オンライン再生方法、装置、電子機器、記憶媒体およびコンピュータプログラム
CN113691886B (zh) 流媒体文件的下载方法和装置
CN115412777A (zh) 流媒体数据的传输方法及装置、***
WO2015085764A1 (zh) 文件访问的方法和云网关
CN115250266B (zh) 视频处理方法及装置、流媒体设备及存储点播***

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20902724

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020902724

Country of ref document: EP

Effective date: 20220714