CN105828096B - Method and device for processing media stream file - Google Patents

Method and device for processing media stream file Download PDF

Info

Publication number
CN105828096B
CN105828096B CN201610341723.7A CN201610341723A CN105828096B CN 105828096 B CN105828096 B CN 105828096B CN 201610341723 A CN201610341723 A CN 201610341723A CN 105828096 B CN105828096 B CN 105828096B
Authority
CN
China
Prior art keywords
file
media segment
sub
segment file
media
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610341723.7A
Other languages
Chinese (zh)
Other versions
CN105828096A (en
Inventor
刘成彦
陈发民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201610341723.7A priority Critical patent/CN105828096B/en
Publication of CN105828096A publication Critical patent/CN105828096A/en
Application granted granted Critical
Publication of CN105828096B publication Critical patent/CN105828096B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols

Abstract

The invention discloses a method and a device for processing a media stream file. Wherein, the method comprises the following steps: receiving a media stream request message, wherein the media stream request message is used for indicating that a sub-media segment file is acquired from a pre-stored media segment file, the media segment file is a file formed by combining a plurality of sub-media segment files, and the plurality of sub-media segment files are files obtained by cutting a media stream file to be played by a player; and responding to the media stream request message, acquiring the sub-media segment file from the pre-stored media segment file, and sending the acquired sub-media segment file to the player for playing. The invention solves the technical problems that the efficiency of accessing small files is reduced when the media stream file is cut into a large number of small files and the delay of a request for a large file is caused when the media stream file is cut into a large file in the prior art.

Description

Method and device for processing media stream file
Technical Field
The invention relates to the field of video processing, in particular to a method and a device for processing a media stream file.
Background
In the process of processing a media stream file, commonly used streaming media protocols mainly include HTTP progressive download and real-time streaming media protocol based on RTSP/RTP, and the two protocols are basically completely different. At present, the HTTP progressive download method is convenient and preferable, and HTTP Live Streaming is taken as a representative. The HTTP Live Streaming was originally a stream developed for mobile devices such as iPhone, iPod, iTouch, and iPad, and the technology has been widely used on the desktop as the technology develops, and HTML5 can directly support the technology.
HLS (HTTP Live streaming) is a dynamic code rate self-adaption technology, is mainly used for audio and video services of Apple terminals and PCs, and comprises a core m3u8 file (namely an index file or a playlist file), a TS media segment file and a Key encryption file, wherein the m3u8 file contains each small video list required to be played by a player. Fig. 1 is a schematic diagram of a processing flow of a media stream file by using HLS technology according to the prior art, as shown in fig. 1, a server acquires a video file or a video stream; converting the acquired video file or video stream into a h264+ aac format and generating an m3u8 file; cutting a video file or a video stream into video segment files, namely TS files, updating m3u8 files, and storing one file in a storage system; the player requests an m3u8 file of a video to be played through a Web server or a cache server to obtain a playlist, and analyzes the address of a corresponding TS file; and the player downloads and acquires the TS file to be played from the server through the Web server or the cache server according to the address of the TS file for decoding and playing, and continuously repeats the process after playing one TS file so as to play the next TS file.
The processing flow of the media stream file by using the HLS technology has the following defects:
1. cutting media stream files into small slices using HLS generates a large number of files that are stored or processed resulting in a large amount of wasted resources. If a time shift of several days were to be achieved, the amount of indexing would be very large and significantly affect the speed of the request. Therefore, HLS is quite demanding on storage I/O. If the media stream file is cut into a large number of small files, the small files are not accessed efficiently by the local file storage system or the cloud storage system.
2. If the HLS is used to cut the media stream file into large files, the problem of low efficiency of accessing small files by the storage system can be solved, however, the file request time is slow, the time delay is large, and the fast forward or fast backward jumping amplitude of the player during playing is too large, for example, a TS file is cut into 5 minutes, then the fast forward or fast backward is in 5 minutes as a unit, and the user experience is seriously affected.
3. When a large number of users play videos, performance problems and reliability problems such as limited bandwidth, too high load, large area affected by server abnormality and the like exist, so that the pressure of introducing a cache server to cache video sources is needed to improve the throughput and reliability of the system.
In the related art, an effective solution is not provided at present for the problem that the efficiency of accessing small files is reduced by cutting a media stream file into a large number of small files, and the problem that the delay of a request for a large file is large by cutting the media stream file into a large file.
Disclosure of Invention
Embodiments of the present invention provide a method and an apparatus for processing a media stream file, so as to at least solve the technical problem in the related art that cutting a media stream file into a large number of small files will reduce the efficiency of accessing the small files, and cutting the media stream file into a large file will cause a large delay for a request for the large file.
According to an aspect of the embodiments of the present invention, there is provided a method for processing a media stream file, including: receiving a media stream request message, wherein the media stream request message is used for indicating that a sub-media segment file is acquired from a pre-stored media segment file, the media segment file is a file formed by combining a plurality of sub-media segment files, and the plurality of sub-media segment files are files obtained by cutting a media stream file to be played by a player; and responding to the media stream request message, acquiring the sub-media segment file from the pre-stored media segment file, and sending the acquired sub-media segment file to the player for playing.
Further, before receiving the media stream request message, the method further comprises: cutting the media stream file into a plurality of sub-media segment files, and creating a playlist file, wherein the playlist file is used for recording file names of the plurality of sub-media segment files; merging at least two of the plurality of sub-media segment files into a media segment file for storage, and updating a playlist file, wherein a file name of each sub-media segment file recorded in the playlist file is used for indicating the following information: the file name of the media segment file, the offset of the sub-media segment file in the media segment file, the size of the sub-media segment file or the end position of the sub-media segment file.
Further, receiving the media stream request message includes: acquiring a request initiated by a player according to a playlist file, wherein the request is used for requesting to play a sub-media segment file corresponding to a file name recorded in the playlist file, and the request carries the file name of a media segment file to which the sub-media segment file belongs, the offset of the sub-media segment file in the media segment file, the size of the sub-media segment file or the end position of the sub-media segment file; and converting the request into a media stream request message, wherein the file name of the sub-media segment file is replaced by the file name of the media segment file, and the Content-Range header of the HTTP protocol is added to the sub-media segment file before the offset in the media segment file and the size of the sub-media segment file.
Further, acquiring a request initiated by the player according to the playlist file includes: sequentially initiating a request for the sub-media segment file corresponding to each file name according to the sequence of the file names recorded in the playlist file; or simultaneously initiating the requests of the sub-media segment files corresponding to the plurality of file names according to the sequence of the file names recorded in the playlist file.
Further, responding to the media stream request message, acquiring the sub-media segment file from the pre-stored media segment file, and sending the acquired sub-media segment file to the player for playing includes: acquiring a sub-media segment file with a Content-Range header from a media segment file according to the file name of the media segment file, the offset of the sub-media segment file in the media segment file and the size of the sub-media segment file; removing the Content-Range header from the obtained sub-media segment file with the Content-Range header to obtain a sub-media segment file; and sending the sub-media segment file to a player for playing.
Further, after obtaining the sub-media segment file with the Content-Range header, the method further comprises: and caching the obtained sub-media segment file with the Content-Range header, wherein when a media stream request message is received again, the Content-Range header in the cached sub-media segment file with the Content-Range header is directly removed to obtain the sub-media segment file, and the sub-media segment file is sent to the player for playing.
According to another aspect of the embodiments of the present invention, there is also provided a processing apparatus for a media stream file, including: the receiving module is used for receiving a media stream request message, wherein the media stream request message is used for indicating that a sub-media segment file is acquired from a pre-stored media segment file, the media segment file is a file formed by combining a plurality of sub-media segment files, and the plurality of sub-media segment files are files obtained by cutting a media stream file to be played by a player; and the response module is used for responding to the media stream request message, acquiring the sub-media segment file from the pre-stored media segment file, and sending the acquired sub-media segment file to the player for playing.
Further, the apparatus further comprises: the cutting module is used for cutting the media stream file into a plurality of sub-media segment files before receiving the media stream request message, and creating a playlist file, wherein the playlist file is used for recording file names of the plurality of sub-media segment files; a merging module, configured to merge at least two of the multiple sub-media segment files into a media segment file for storage, and update a playlist file, where a file name of each sub-media segment file recorded in the playlist file is used to indicate the following information: the file name of the media segment file, the offset of the sub-media segment file in the media segment file, the size of the sub-media segment file or the end position of the sub-media segment file.
Further, the receiving module includes: the first obtaining module is used for obtaining a request initiated by the player according to the playlist file, wherein the request is used for requesting to play the sub-media segment file corresponding to the file name recorded in the playlist file, and the request carries the file name of the media segment file to which the sub-media segment file belongs, the offset of the sub-media segment file in the media segment file, the size of the sub-media segment file or the end position of the sub-media segment file; and the conversion module is used for converting the request into a media stream request message, wherein the file name of the sub-media segment file is replaced by the file name of the media segment file, and the Content-Range header of the HTTP protocol is added to the sub-media segment file before the offset in the media segment file and the size of the sub-media segment file.
Further, the first obtaining module comprises: the first request module is used for sequentially initiating a request for the sub-media segment file corresponding to each file name according to the sequence of the file names recorded in the playlist file; or the second request module is used for simultaneously initiating the requests of the sub-media segment files corresponding to the plurality of file names according to the sequence of the file names recorded in the playlist file.
Further, the response module includes: the second acquisition module is used for acquiring the sub-media segment file with the Content-Range header from the media segment file according to the file name of the media segment file, the offset of the sub-media segment file in the media segment file and the size of the sub-media segment file; the processing module is used for removing the Content-Range header in the obtained sub-media segment file with the Content-Range header to obtain a sub-media segment file; and the sending module is used for sending the sub-media segment file to the player for playing.
Further, the response module further comprises: and the caching module is used for caching the obtained sub-media segment file with the Content-Range header after the sub-media segment file with the Content-Range header is obtained, wherein when a media stream request message is received again, the Content-Range header in the cached sub-media segment file with the Content-Range header is directly removed to obtain the sub-media segment file, and the sub-media segment file is sent to the player for playing.
In the embodiment of the invention, the media stream file to be played by the player is cut into the plurality of sub-media segment files, and at least two sub-media segment files in the plurality of sub-media segment files are merged into the media segment file for storage, so that the problem that the efficiency of accessing the small file is reduced by cutting the media stream file into a large number of small files is solved. Meanwhile, when the player initiates a request for the sub-media segment file, the request for the sub-media segment file can be converted into a media stream request message, so that the sub-media segment file can be acquired from the pre-stored media segment file, and the problem of large delay of the request for the large file caused by cutting the media stream file into the large file is avoided. The method for processing the media stream file achieves the purposes of improving the access efficiency of the media segment file and reducing the request time delay of the media segment file, thereby realizing the technical effects of improving the processing efficiency of the media stream file and shortening the request time delay of a player for the media stream file, and further solving the technical problems that the efficiency of accessing the small file is reduced when the media stream file is cut into a large number of small files and the delay of the request for the large file is caused when the media stream file is cut into a large number of large files in the related art.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the invention without limiting the invention. In the drawings:
FIG. 1 is a schematic diagram of a process flow for media stream files using HLS techniques according to the prior art;
fig. 2 is a flowchart of a method of processing a media stream file according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of the processing flow of a media stream file according to a preferred embodiment of the present invention; and
fig. 4 is a schematic diagram of a processing apparatus of a media stream file according to an embodiment of the present invention.
Detailed Description
In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
In accordance with an embodiment of the present invention, there is provided a method embodiment of a method for processing a media stream file, it should be noted that the steps illustrated in the flowchart of the accompanying drawings may be performed in a computer system such as a set of computer executable instructions, and that while a logical order is illustrated in the flowchart, in some cases the steps illustrated or described may be performed in an order different than here.
Before explaining the processing method of the media stream file according to the embodiment of the present invention in detail, some terms or phrases appearing in the process of first describing the embodiment of the present invention herein are applicable to the following explanations:
1. the TS file refers to a sub-media segment file obtained by cutting a media stream file.
2. The m3u8 file refers to a playlist file, and the m3u8 file may include a plurality of identification tags, and the function and attribute of each tag are as follows:
#EXTM3U
the first line of each m3u8 file must be this tag, serving as an identification.
#EXT-X-MEDIA-SEQUENCE:140651513
Each media URI has only one unique number in the PlayList, the number +1 between adjacent numbers, and a media URI is not necessarily included, and if not, defaults to 0.
#EXTINF
Specifying the duration (in seconds) of each media segment file TS, valid only for the URI following it, the title being the URL of the download resource.
#EXT-X-TARGETDURATION
The maximum media segment time length (seconds) is specified. Therefore, the length of time specified in # extinn must be less than or equal to this maximum value. This tag can only appear once in the entire PlayList file. It should be noted that in the nested case, there is typically m3u8 of the real TS url where the tag appears.
#EXT-X-KEY
Indicating how to decode the media segments. The range of action is all media URIs before the tag appears next time, and the attribute is NONE or AES-128. NONE indicates that the URI and IV (initialization vector) attributes must not exist, AES-128(Advanced encryption standard) indicates that the URI must exist, and the IV may not exist.
It should be noted that, for the case of AES-128, the keytag and URI attribute together represent a key file, and this key can be obtained through the URI, and if there is no IV (initiation vector), the sequence number is used as the IV for encoding and decoding, the high order of the sequence number is assigned to the buffer of 16 bytes, and 0 is complemented on the left; if there is an IV, the modification is treated as a 16-byte 16-ary number.
#EXT-X-PROGRAM-DATE-TIME
Associating an absolute time or date with the first sample in a media segment is valid only for the next meida URI, in the following format:
#EXT-X-PROGRAM-DATE-TIME:
for example: # EXT-X-PROGRAM-DATE-TIME:2010-02-19T14:54:23.031+08:00
#EXT-X-ALLOW-CACHE
Indicating whether or not caching is allowed, this may occur anywhere in the PlayList file, and at most once, with the effect being all media segments. The format is as follows:
#EXT-X-ALLOW-CACHE:
#EXT-X-PLAYLIST-TYPE
information on the variability of the PlayList is provided, which is valid for the entire PlayList file, and is optional, in the format as follows:
#EXT-X-PLAYLIST-TYPE:
if VOD, the server cannot change the PlayList file; if it is EVENT, the server cannot change or delete any part in the PlayList file, but can add a new line of content to the file.
#EXT-X-ENDLIST
Representing the end of the PlayList, it can appear anywhere in the PlayList, but only one, in the format:
#EXT-X-ENDLIST
#EXT-X-MEDIA
the versions of the different languages/translations used to represent the same content in the PlayLists may be represented, for example, by using 3 such tags to represent the different-language audio in 3, or 2 such tags to represent the different-angle video in the PlayLists. This tag exists independently, and attributes include:
URI: if not, then an alternate version representing this tag description is present in the EXT-X-STREAM-INF of the primary PlayList;
TYPE:AUDIO and VIDEO;
GROUP-ID, MEDIATag with the same ID, forming a GROUP of styles;
language: determining a primary language used;
NAME: translation of a human-readable language;
DEFAULT: YES or NO, NO is defaulted, if YES, the client will play with this option unless the user chooses by himself;
AUTOSELECT: YES or NO, default is NO, if YES, the client will select according to the current playing environment (on the premise that the user does not select according to own preference).
#EXT-X-STREAM-INF
A media URI containing multimedia information is designated as a PlayList, typically for nested use with m3u8, which is valid only for the URI immediately following, in the format:
#EXT-X-STREAM-INF:
the following attributes are available:
bandwidth: bandwidth, must be available;
PROGRAM-ID: this value is a decimal integer that uniquely identifies a particular description within the PlayList file. A PlayList file may contain a plurality of the tags having the same ID;
CODEC: it is not necessary;
RESOLUTION: resolution ratio;
AUDIO: this value is necessary.
3. The detailed flow of the HLS protocol is described as follows:
(1) the server obtains the video file or video stream by reading from the local disk through various protocols such as FTP, HTTP, UDP and the like.
(2) Video files or video streams are converted into TS files in h264+ aac format at intervals and a copy of m3u8 files is generated for storage in the storage system, as in the following example:
#EXTM3U
#EXT-X-TARGETDURATION:8
#EXT-X-MEDIA-SEQUENCE:2680
#EXTINF:8,
fileSequence2680.ts
#EXTINF:8,
fileSequence2681.ts
#EXTINF:8,
fileSequence2682.ts
wherein, m3u8 and the corresponding TS file are stored in the same directory.
(3) The player requests an m3u8 file of a video to be played according to url by using an HTTP protocol, and analyzes the corresponding TS file address.
(4) And the player downloads the TS file of the corresponding list according to the url of the TS, decodes and plays the TS file, and continues to play the next TS after playing one TS.
Based on the above description, the method for processing a media stream file according to an embodiment of the present invention will be described in detail below. Fig. 2 is a flowchart of a method for processing a media stream file according to an embodiment of the present invention, as shown in fig. 2, the method includes the following steps:
step S102, receiving a media stream request message, wherein the media stream request message is used for instructing to acquire a sub-media segment file from pre-stored media segment files, the media segment file is a file formed by combining a plurality of sub-media segment files, and the plurality of sub-media segment files are files obtained by cutting a media stream file to be played by a player;
and step S104, responding to the media stream request message, acquiring the sub-media segment file from the pre-stored media segment file, and sending the acquired sub-media segment file to the player for playing.
It should be noted that the above steps may be performed by a server. Through the steps, the purposes of improving the access efficiency of the media segment files and reducing the request delay of the media segment files can be achieved, the technical problems that in the related art, the efficiency of accessing the small files is reduced by cutting the media stream files into a large number of small files, and the delay of the request of the large files is large by cutting the media stream files into large files are solved, the processing efficiency of the media stream files is improved, and the technical effect that the request delay of a player for the media stream files is shortened is achieved.
In the scheme provided in step S102, at least one media segment file may be stored in advance in the storage system of the server, where the media segment file may be a file formed by combining a plurality of sub-media segment files, and the plurality of sub-media segment files are files obtained by cutting a media stream file to be played by the player. It should be noted that, the player is not specifically limited in the embodiment of the present invention, and may be a web page player or a client player. The media stream file to be played by the player may be a video file or an audio file. The media stream file is cut to obtain a plurality of sub-media segment files, namely TS files. In order to avoid the problem of low access efficiency caused by the fact that a server storage system stores a large number of sub-media segment files, the embodiment of the invention can combine at least two sub-media segment files in a plurality of sub-media segment files obtained by cutting the media stream file into the media segment file for storage, so as to achieve the purposes of improving the access efficiency of the media segment files and further improving the processing efficiency of the media stream files.
As an alternative embodiment, before the server receives the media stream request message in step S102, the server storage system may store the media segment file, and the specific storage process may be implemented by the following steps:
step S1012, the media stream file is cut into a plurality of sub-media segment files, and a playlist file is created, where the playlist file is used to record file names of the plurality of sub-media segment files.
In the technical solution provided in step S1012, the server may obtain the media stream file by reading the media stream file from the local disk through various protocols, such as FTP, HTTP, and UDP, and convert the obtained media stream file into the h264+ aac format. The server may also create a playlist file, i.e., an m3u8 file, while converting the format, and write a file header after creating the m3u8 file. The server may cut the media stream file into a plurality of sub-media segment files, each word media stream file having a file name, and the file names of the plurality of sub-media segment files may be recorded in an m3u8 file.
Step S1014, merging at least two of the plurality of sub-media segment files into a media segment file for storage, and updating a playlist file, wherein a file name of each sub-media segment file recorded in the playlist file is used to indicate the following information: the file name of the media segment file, the offset of the sub-media segment file in the media segment file, the size of the sub-media segment file or the end position of the sub-media segment file.
In the technical solution provided in step S1014, after the server cuts the media stream file into a plurality of sub-media segment files, in order to avoid that the storage efficiency of the sub-media segment files is low due to the storage of a large number of sub-media segment files, at least two sub-media segment files in the plurality of sub-media segment files may be merged into a media segment file, and the obtained media segment file is stored in the storage system of the server. After storing the media segment file merged by at least two sub-media segment files, the server may update the m3u8 file, specifically, the file name of each of the word media segment files, and the file name of the updated sub-media segment file may be used to indicate the following information: the file name of the media segment file, the offset of the sub-media segment file in the media segment file, the size of the sub-media segment file or the end position of the sub-media segment file. For example, the file name of the sub-media segment file recorded in the updated m3u8 file may be in the form of: ts, where big is the file name of the media segment file, offset is the offset of the sub-media segment file in the media segment file big. It should be noted that the file name of the sub-media segment file recorded in the m3u8 file can also be used to indicate other information, which is not illustrated herein.
In the scheme provided in step S102, it should be further noted that the media stream request message may be used to instruct to acquire the sub-media segment file from the pre-stored media segment file. The player can download and acquire the m3u8 file from the storage system of the server, and then sequentially request and play the sub-media segment files corresponding to the file names recorded in the m3u8 file from the server according to the m3u8 file. Because the media segment files stored in the server storage system are formed by combining at least two sub-media segment files, the media segment request received by the server can indicate that the player requests the server to acquire and play the sub-media segment files from the pre-stored media segment files.
Optionally, receiving the media stream request message may include the steps of:
step S1022, acquiring a request initiated by the player according to the playlist file, where the request is used to request to play the sub-media segment file corresponding to the file name recorded in the playlist file, and the request carries the file name of the media segment file to which the sub-media segment file belongs, the offset of the sub-media segment file in the media segment file, the size of the sub-media segment file, or the end position of the sub-media segment file;
in the technical solution provided in step S1022, after downloading and acquiring the m3u8 file from the storage system of the server, the player may acquire a playlist of the media segment files, and the player may sequentially issue requests to the server according to the sequence of file names recorded in the playlist to request the sub media segment files corresponding to the file names to be played. When the server receives a request initiated by the player, the request may be analyzed, and the obtained request may carry information such as a file name of a media segment file to which the sub-media segment file belongs, an offset of the sub-media segment file in the media segment file, a size of the sub-media segment file, or an end position of the sub-media segment file.
Optionally, the step S1022 of acquiring the request initiated by the player according to the playlist file may include: sequentially initiating a request for the sub-media segment file corresponding to each file name according to the sequence of the file names recorded in the playlist file; or simultaneously initiating the requests of the sub-media segment files corresponding to the plurality of file names according to the sequence of the file names recorded in the playlist file.
It should be noted that the player may initiate a request to the server in a serial or concurrent manner according to the sequence of the file names recorded in the playlist file, and the serial manner may be to initiate a request to the sub-media segment file corresponding to each file name one by one according to the sequence of the file names recorded in the playlist file; the concurrent manner may be to initiate a request for a plurality of sub-media segment files corresponding to a plurality of file names at a time in an order of file names recorded in the playlist file. The method for initiating the request by the player is not particularly limited, and the player can adopt a serial mode or a concurrent mode.
Step S1024, converting the request into a media stream request message, wherein the file name of the sub-media segment file is replaced by the file name of the media segment file, and the Content-Range header of the http protocol is added to the sub-media segment file before the offset in the media segment file and the size of the sub-media segment file.
In the technical scheme provided in step S1024, after acquiring the request initiated by the player, the server may convert the request into a media stream request message, where it should be noted that the conversion process may be according to related information carried in the request, and the specific conversion process may include: replacing the file name of the sub-media segment file with the file name of the media segment file to which the sub-media segment file belongs; the sub media segment file is added with a Content-Range header by http protocol before the offset in the media segment file and the size of the sub media segment file. It should be noted that, the conversion of the request initiated by the player into the media stream request message is substantially to convert the request for the sub-media segment file into the request for the media segment file stored in the storage system of the server, but it should be noted that, after receiving the media stream request message, the server responds to the media stream request message and feeds back the sub-media segment file to the player, so that the time delay of the player requesting the large file can be shortened, and the purpose of improving the playing effect of the player is achieved.
In the technical solution provided in step S104, after receiving the media stream request message, the server responds to the media stream request message, and a specific response process may be to acquire a requested sub-media segment file from at least one media segment file pre-stored in the server storage system, and send the acquired sub-media segment file to the player for playing. Optionally, the server obtaining the requested sub-media segment file from the at least one media segment file stored in the storage system may include: according to the file name of the media segment file to which the requested sub-media segment file belongs, positioning a media segment file corresponding to the file name from at least one media segment file stored in the storage system; positioning the position of the requested sub-media segment file in the media segment file according to the offset of the requested sub-media segment file in the media segment file; and acquiring the whole sub-media segment file from the position according to the size of the requested sub-media segment file.
As an alternative embodiment, the step S104, in response to the media stream request message, of acquiring the sub-media segment file from the pre-stored media segment file, and sending the acquired sub-media segment file to the player for playing, may include the following steps:
step S1042, according to the file name of the media segment file, the offset of the sub-media segment file in the media segment file and the size of the sub-media segment file, the sub-media segment file with Content-Range header is obtained from the media segment file.
And step S1044, removing the Content-Range header in the obtained child media segment file with the Content-Range header to obtain the child media segment file.
Step S1046, sending the sub-media segment file to the player for playing.
It should be noted that, in the above steps, the process of the server acquiring the requested sub-media segment file from the at least one media segment file stored in the storage system according to the file name of the sub-media segment file, the offset of the sub-media segment file in the media segment file, and the size of the sub-media segment file has been described in detail in the above embodiments, and details are not described here again. It should be noted that the server searches the obtained sub-media segment file as a sub-media segment file with a Content-Range header, because the server converts the request initiated by the player before responding to the media stream request message, and adds the Content-Range header before the offset of the sub-media segment file in the media segment file and the size of the sub-media segment file.
It should be noted that, in order to ensure the accuracy of the sub-media segment file fed back to the player for playing, after the server obtains the sub-media segment file with the Content-Range header, the server may remove the Content-Range header to obtain the sub-media segment file requested by the player, and send the sub-media segment file to the player for playing. The embodiment of the invention realizes the purpose of simulating the sub-media segment file by using the function of the Content-Range header, thereby solving the problems of low efficiency of storing small files and long request time delay of a player for storing large files in a server storage system.
As an alternative embodiment, after acquiring the sub-media segment file with the Content-Range header in step S1044, the alternative embodiment may further include: and caching the obtained sub-media segment file with the Content-Range header, wherein when a media stream request message is received again, the Content-Range header in the cached sub-media segment file with the Content-Range header is directly removed to obtain the sub-media segment file, and the sub-media segment file is sent to the player for playing.
It should be noted that caching the sub-media segment file with the Content-Range header may be performed by a server, or may be performed by a Web server or a cache server, and the present invention is not limited in particular. The Web server or the cache server is used for caching the sub-media segment file with the Content-Range header, so that when the media stream request message is received again, the request for acquiring the requested sub-media segment file from the storage system is not required to be initiated to the server again, the load of the server can be balanced, the throughput capacity of the system can be improved, and the playing effect of the player can be improved.
Fig. 3 is a schematic diagram of a processing flow of a media stream file according to the preferred embodiment of the present invention, it should be noted that, in the preferred embodiment, the media stream file is described by taking a video file or a video stream as an example, and the processing flow of the video file or the video stream according to the preferred embodiment may be completed by a server and a Web server or a cache server in cooperation. As shown in fig. 3, the process flow of the preferred embodiment can be described as follows:
the server takes a video file or video stream and converts it to h264+ aac format.
An m3u8 file is created, written in the header.
When the server stores the files, the files are cut according to the small TS files, but the n small TS files, namely, small 1.TS small 2.TS small 3.TS … small n.ts, are stored into a large TS file, the file name of the large TS file is big. It should be noted that the small TS file herein corresponds to the sub media segment file in the above embodiment, and the large TS file corresponds to the media segment file in the above embodiment.
Writing information such as the time length of writing the small TS file into the # EXTINF field of the m3u8 file, wherein the file name of the small TS file is big _ offset _ end.ts, big TS file name and big TS file name are consistent, offset is the offset of the current small TS file in big TS file, end is the offset and the length of the current small TS file, for example:
#EXTM3U
#EXT-X-MEDIA-SEQUENCE:62101
#EXT-X-TARGETDURATION:60
#EXT-X-VERSION:1
#EXTINF:10,
#EXTINF:10,
1453254427_0_2352631.ts
#EXTINF:10,
1453254427_2352632_4454283.ts
#EXTINF:11,
1453254427_4454284_6777023.ts
it should be noted that if "_" is not used as a delimiter, it is used "? An "equal sign, is functionally unaffected, but affects the performance of the cache server, since for the same url,"? "the query parameters in the following are different and can be regarded as different urls, so that the back-end cache server caches small TS files, and the performance problem of the small TS files is the same as that of the source station.
The player may download the m3u8 file from the storage system through the Web server or the cache server to obtain a playlist of the player, and then automatically request and play the TS file according to the TS file name in the m3u8 file, so that the suffix name of the requested TS address is big _ offset _ end.ts, and the small TS file name is obtained by identifying this type of TS file name through a third party module such as the lua module of nginx or the Web module and intercepting the small TS file request. Offset and magnitude.
The Web module modifies the request of the small TS file, replaces the file name of the request with big. Range bytes 2352632-. It should be noted that Content-Range header and band? "is more advantageous than the query statement to cache the server cache files, and ensures that large TS files are cached.
The cache server forwards the request with the Content-Range header to request the data from the server. The server responds to the request and sends response data, namely TS files with Content-Range headers to the cache server, and the cache server feeds the requested TS files back to the player after removing the Content-Range headers in the response headers, so that the player is completely transparent and does not know that the request is modified.
It should be noted that the Web module forwards the request to the cache server, and the cache server proxies the request and caches the large TS file, and responds to the request with the Content-Range header. Subsequent identical TS requests may respond directly thereto without the need for further deduplication requests.
The player plays the requested TS file.
The invention realizes the simulation of the small TS file by utilizing the large TS file by properly modifying the file name of the TS file when generating the m3u8 file, thereby solving the contradiction that the storage system has low efficiency of processing the small TS file, and the player for processing the large TS file has poor playing effect and poor user experience. The main invention points of the invention comprise: when the HLS is used for cutting the media stream file, the media stream file is cut according to the small TS file, but the media stream file is stored into a large TS file, the m3u8 file stores the information of the small TS file, but the file name format of the small TS file is modified; the Web server or the cache server needs to start HTTP Range support, and the function of the small TS file is utilized to simulate the small TS file by the large TS file; converting the request of the small TS file into a request of a large TS file by using the characteristic that the file name is fixed when the player requests the TS file and relying on a third-party component; the large TS file is cached by the cache server, so that the load of the server is balanced, and the throughput capacity of the system and the playing experience of a user are improved.
According to an embodiment of the present invention, an apparatus embodiment of a processing apparatus for a media stream file is further provided, where it should be noted that the processing apparatus for a media stream file may be configured to execute a processing method for a media stream file in the embodiment of the present invention, and the processing method for a media stream file in the embodiment of the present invention may be executed in the processing apparatus for a media stream file.
Fig. 4 is a schematic diagram of a media stream file processing apparatus according to an embodiment of the present invention, and as shown in fig. 4, the apparatus may include:
the receiving module 22 is configured to receive a media stream request message, where the media stream request message is used to instruct to acquire a sub-media segment file from a pre-stored media segment file, the media segment file is a file formed by combining a plurality of sub-media segment files, and the plurality of sub-media segment files are files obtained by cutting a media stream file to be played by the player; and a response module 24, configured to respond to the media stream request message, obtain the sub-media segment file from the pre-stored media segment file, and send the obtained sub-media segment file to the player for playing.
It should be noted that the receiving module 22 in this embodiment may be configured to execute step S102 in this embodiment, and the responding module 24 in this embodiment may be configured to execute step S104 in this embodiment. The modules are the same as the corresponding steps in the realized examples and application scenarios, but are not limited to the disclosure of the above embodiments.
As an optional embodiment, the processing apparatus of a media stream file of this embodiment may further include: a cutting module 212, configured to cut the media stream file into a plurality of sub-media segment files before receiving the media stream request message, and create a playlist file, where the playlist file is used to record file names of the plurality of sub-media segment files; a merging module 214, configured to merge at least two of the multiple sub-media segment files into a media segment file for storage, and update a playlist file, where a file name of each sub-media segment file recorded in the playlist file is used to indicate the following information: the file name of the media segment file, the offset of the sub-media segment file in the media segment file, the size of the sub-media segment file or the end position of the sub-media segment file.
It should be noted that the cutting module 212 in this embodiment may be configured to perform step S1012 in this embodiment, and the merging module 214 in this embodiment may be configured to perform step S1014 in this embodiment. The modules are the same as the corresponding steps in the realized examples and application scenarios, but are not limited to the disclosure of the above embodiments.
Alternatively, the receiving module 22 may include: a first obtaining module 222, configured to obtain a request initiated by the player according to the playlist file, where the request is used to request to play the sub-media segment file corresponding to the file name recorded in the playlist file, and the request carries a file name of a media segment file to which the sub-media segment file belongs, an offset of the sub-media segment file in the media segment file, a size of the sub-media segment file, or an end position of the sub-media segment file; a converting module 224, configured to convert the request into a media stream request message, where the file name of the sub-media segment file is replaced with the file name of the media segment file, and the sub-media segment file adds a Content-Range header in the http protocol before the offset in the media segment file and the size of the sub-media segment file.
It should be noted that the first obtaining module 222 in this embodiment may be configured to execute the step S1022 in this embodiment, and the converting module 224 in this embodiment may be configured to execute the step S1024 in this embodiment. The modules are the same as the corresponding steps in the realized examples and application scenarios, but are not limited to the disclosure of the above embodiments.
Optionally, the first obtaining module 222 may include: the first request module is used for sequentially initiating a request for the sub-media segment file corresponding to each file name according to the sequence of the file names recorded in the playlist file; or the second request module is used for simultaneously initiating the requests of the sub-media segment files corresponding to the plurality of file names according to the sequence of the file names recorded in the playlist file.
Optionally, the response module 24 may include: a second obtaining module 242, configured to obtain a sub-media segment file with a Content-Range header from the media segment file according to the file name of the media segment file, the offset of the sub-media segment file in the media segment file, and the size of the sub-media segment file; a processing module 244, configured to remove a Content-Range header from the obtained sub-media segment file with a Content-Range header to obtain a sub-media segment file; a sending module 246, configured to send the sub-media segment file to the player for playing.
It should be noted that the second obtaining module 242 in this embodiment may be configured to execute the step S1022 in this embodiment, the processing module 244 in this embodiment may be configured to execute the step S1024 in this embodiment, and the sending module 246 in this embodiment may be configured to execute the step S1026 in this embodiment. The modules are the same as the corresponding steps in the realized examples and application scenarios, but are not limited to the disclosure of the above embodiments.
As an alternative embodiment, the response module 24 may further include: and the caching module is used for caching the obtained sub-media segment file with the Content-Range header after the sub-media segment file with the Content-Range header is obtained, wherein when a media stream request message is received again, the Content-Range header in the cached sub-media segment file with the Content-Range header is directly removed to obtain the sub-media segment file, and the sub-media segment file is sent to the player for playing.
The processing device of the media stream file of the embodiment of the invention can realize the purposes of improving the access efficiency of the media segment file and reducing the request delay of the media segment file, thereby solving the technical problems that the efficiency of accessing the small file is reduced when the media stream file is cut into a large number of small files, and the delay of the request of the large file is caused when the media stream file is cut into a large file in the related art, improving the processing efficiency of the media stream file and shortening the request delay of a player to the media file.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
In the above embodiments of the present invention, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the embodiments provided in the present application, it should be understood that the disclosed technology can be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units may be a logical division, and in actual implementation, there may be another division, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, units or modules, and may be in an electrical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
The foregoing is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and decorations can be made without departing from the principle of the present invention, and these modifications and decorations should also be regarded as the protection scope of the present invention.

Claims (10)

1. A method for processing a media stream file is characterized by comprising the following steps:
receiving a media stream request message, wherein the media stream request message is used for instructing to acquire a sub-media segment file from a pre-stored media segment file, the media segment file is a file formed by combining a plurality of sub-media segment files, and the plurality of sub-media segment files are files obtained by cutting a media stream file to be played by a player; and
responding to the media stream request message, acquiring the sub-media segment file from the pre-stored media segment file, and sending the acquired sub-media segment file to the player for playing;
wherein, the sub media segment file adds Content-Range header of http protocol before offset in the media segment file and size of the sub media segment file;
after obtaining the sub-media segment file with the Content-Range header, the method further comprises: and caching the obtained sub-media segment file with the Content-Range header, wherein when the media stream request message is received again, the Content-Range header in the cached sub-media segment file with the Content-Range header is directly removed to obtain the sub-media segment file, and the sub-media segment file is sent to the player for playing.
2. The method of claim 1, wherein prior to receiving the media stream request message, the method further comprises:
cutting the media stream file into a plurality of sub-media segment files, and creating a playlist file, wherein the playlist file is used for recording file names of the plurality of sub-media segment files;
merging at least two of the plurality of sub-media segment files into the media segment file for storage, and updating the playlist file, wherein the file name of each sub-media segment file recorded in the playlist file is used for indicating the following information: the file name of the media segment file, the offset of the sub-media segment file in the media segment file, the size of the sub-media segment file or the end position of the sub-media segment file.
3. The method of claim 2, wherein receiving a media stream request message comprises:
acquiring a request initiated by the player according to the playlist file, wherein the request is used for requesting to play the sub-media segment file corresponding to a file name recorded in the playlist file, and the request carries the file name of the media segment file to which the sub-media segment file belongs, an offset of the sub-media segment file in the media segment file, the size of the sub-media segment file or an end position of the sub-media segment file;
and converting the request into the media stream request message, wherein the file name of the sub-media segment file is replaced by the file name of the media segment file.
4. The method of claim 3, wherein obtaining the request initiated by the player in accordance with the playlist file comprises:
sequentially initiating a request for the sub-media segment file corresponding to each file name according to the sequence of the file names recorded in the playlist file; or
And simultaneously initiating requests for the sub-media segment files corresponding to the plurality of file names according to the sequence of the file names recorded in the playlist file.
5. The method according to claim 3 or 4, wherein the obtaining the sub-media segment file from the pre-stored media segment file in response to the media stream request message, and sending the obtained sub-media segment file to the player for playing comprises:
acquiring a sub-media segment file with a Content-Range header from the media segment file according to the file name of the media segment file, the offset of the sub-media segment file in the media segment file and the size of the sub-media segment file;
removing a Content-Range header from the obtained sub-media segment file with the Content-Range header to obtain the sub-media segment file;
and sending the sub-media segment file to the player for playing.
6. A device for processing a media stream file, comprising:
the receiving module is used for receiving a media stream request message, wherein the media stream request message is used for instructing to acquire a sub-media segment file from a pre-stored media segment file, the media segment file is a file formed by combining a plurality of sub-media segment files, and the plurality of sub-media segment files are files obtained by cutting a media stream file to be played by a player; and
the response module is used for responding to the media stream request message, acquiring the sub-media segment file from the pre-stored media segment file, and sending the acquired sub-media segment file to the player for playing;
wherein, the sub media segment file adds Content-Range header of http protocol before offset in the media segment file and size of the sub media segment file;
the response module further comprises: and the caching module is used for caching the obtained sub-media segment file with the Content-Range header after the sub-media segment file with the Content-Range header is obtained, wherein the Content-Range header in the cached sub-media segment file with the Content-Range header is directly removed when the media stream request message is received again, so that the sub-media segment file is obtained, and the sub-media segment file is sent to the player for playing.
7. The apparatus of claim 6, further comprising:
the cutting module is used for cutting the media stream file into a plurality of sub-media segment files before receiving a media stream request message, and creating a playlist file, wherein the playlist file is used for recording file names of the plurality of sub-media segment files;
a merging module, configured to merge at least two of the multimedia segment files into the media segment file for storage, and update the playlist file, where a file name of each of the multimedia segment files recorded in the playlist file is used to indicate the following information: the file name of the media segment file, the offset of the sub-media segment file in the media segment file, the size of the sub-media segment file or the end position of the sub-media segment file.
8. The apparatus of claim 7, wherein the receiving module comprises:
a first obtaining module, configured to obtain a request initiated by the player according to the playlist file, where the request is used to request to play the sub-media segment file corresponding to a file name recorded in the playlist file, and the request carries a file name of the media segment file to which the sub-media segment file belongs, an offset of the sub-media segment file in the media segment file, a size of the sub-media segment file, or an end position of the sub-media segment file;
and the conversion module is used for converting the request into the media stream request message, wherein the file name of the sub-media segment file is replaced by the file name of the media segment file.
9. The apparatus of claim 8, wherein the first obtaining module comprises:
a first request module, configured to sequentially initiate a request for the sub-media segment file corresponding to each file name according to a sequence of file names recorded in the playlist file; or
And the second request module is used for simultaneously initiating requests for the sub-media segment files corresponding to the plurality of file names according to the sequence of the file names recorded in the playlist file.
10. The apparatus of claim 8 or 9, wherein the response module comprises:
a second obtaining module, configured to obtain a sub-media segment file with a Content-Range header from the media segment file according to the file name of the media segment file, the offset of the sub-media segment file in the media segment file, and the size of the sub-media segment file;
the processing module is used for removing the Content-Range header in the obtained sub-media segment file with the Content-Range header to obtain the sub-media segment file;
and the sending module is used for sending the sub-media segment file to the player for playing.
CN201610341723.7A 2016-05-19 2016-05-19 Method and device for processing media stream file Active CN105828096B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610341723.7A CN105828096B (en) 2016-05-19 2016-05-19 Method and device for processing media stream file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610341723.7A CN105828096B (en) 2016-05-19 2016-05-19 Method and device for processing media stream file

Publications (2)

Publication Number Publication Date
CN105828096A CN105828096A (en) 2016-08-03
CN105828096B true CN105828096B (en) 2020-05-15

Family

ID=56530324

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610341723.7A Active CN105828096B (en) 2016-05-19 2016-05-19 Method and device for processing media stream file

Country Status (1)

Country Link
CN (1) CN105828096B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106303671B (en) * 2016-08-16 2019-04-16 任晋军 A kind of playback method of Streaming Media
CN106488259B (en) * 2016-10-25 2019-09-06 上海网达软件股份有限公司 A kind of joining method and system of HLS Streaming Media fragment
CN106604076B (en) * 2016-12-30 2019-10-18 中广热点云科技有限公司 A kind of network TV program monitoring system and method
CN107911712B (en) * 2017-11-30 2020-10-09 歌尔科技有限公司 Data buffering method and electronic equipment
CN108846021B (en) * 2018-05-22 2021-10-26 广东技术师范大学 Mass small file storage method based on user access preference model
CN110881018B (en) * 2018-09-05 2020-11-03 北京开广信息技术有限公司 Real-time receiving method and client of media stream
CN109640171A (en) * 2018-12-07 2019-04-16 北京微播视界科技有限公司 Multimedia messages synthetic method, electronic equipment and computer readable storage medium
CN109743405B (en) * 2019-02-20 2022-01-25 高新兴科技集团股份有限公司 Load balancing file uploading method and system, computer storage medium and equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238434A (en) * 2011-07-22 2011-11-09 中兴通讯股份有限公司 Method and system for segmenting internet protocol television (IPTV) stream media file virtually
CN103414733A (en) * 2013-09-03 2013-11-27 百视通网络电视技术发展有限责任公司 HLS (HTTP Live Streaming) streaming media playing method and HLS streaming media playing system
US9100460B2 (en) * 2012-06-28 2015-08-04 Adobe Systems Incorporated Media stream fragment request
CN104822087A (en) * 2015-04-30 2015-08-05 无锡天脉聚源传媒科技有限公司 Processing method and apparatus of video segment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238434A (en) * 2011-07-22 2011-11-09 中兴通讯股份有限公司 Method and system for segmenting internet protocol television (IPTV) stream media file virtually
US9100460B2 (en) * 2012-06-28 2015-08-04 Adobe Systems Incorporated Media stream fragment request
CN103414733A (en) * 2013-09-03 2013-11-27 百视通网络电视技术发展有限责任公司 HLS (HTTP Live Streaming) streaming media playing method and HLS streaming media playing system
CN104822087A (en) * 2015-04-30 2015-08-05 无锡天脉聚源传媒科技有限公司 Processing method and apparatus of video segment

Also Published As

Publication number Publication date
CN105828096A (en) 2016-08-03

Similar Documents

Publication Publication Date Title
CN105828096B (en) Method and device for processing media stream file
US10560726B2 (en) System and method for delivery and caching of personalized media streaming content
Sodagar The mpeg-dash standard for multimedia streaming over the internet
US9882951B2 (en) Method and device for playing streaming media, and non-transitory storage medium
CN102055717B (en) Quick playing method, terminal and server
US8843596B2 (en) Conversion between streaming media communication protocols
US8516144B2 (en) Startup bitrate in adaptive bitrate streaming
WO2015035942A1 (en) Method for playing back live video and device
CN104796796B (en) Improve the fault-tolerant method of the HLS streaming players of Android platform
US20150256600A1 (en) Systems and methods for media format substitution
US20170245022A1 (en) Splicing method and splicing system for http live streaming media fragment
CN107277081A (en) Section method for down loading and device, the stream media system of stream medium data
CN107634930B (en) Method and device for acquiring media data
CN110870282B (en) Processing media data using file tracks of web content
KR20120080214A (en) System, method and apparatus for dynamic media file streaming
JP6338709B2 (en) Streaming apparatus and method thereof, streaming service system using the same, and computer-readable recording medium (streaming apparatus and method thereof, streaming service system using the streaming medium and computer readable)
JP2016519895A (en) Media file reception and media file transmission method, apparatus, and system
KR102499231B1 (en) Receiving device, sending device and data processing method
EP2873249A1 (en) Method and apparatus for interacting with a media presentation description that describes a summary media presentation and an original media presentation
CN105228001A (en) The method and system that a kind of FLV format video is play online
AU2018299983A1 (en) Processing media data using a generic descriptor for file format boxes
WO2017185601A1 (en) Method and device for providing and downloading video
BR112015007455B1 (en) MEDIA PLAYER DEVICE AND EXECUTIVE METHOD BY CLIENT DEVICE TO PERFORM ADAPTIVE MEDIA STREAM HAVING PLURALITY OF AUDIO TRACKS
CN104410901A (en) Play method and play device of M3U8 format live stream
CN105992044A (en) Method and system of transcoding HLS to RTMP live streaming

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant