WO2014173079A1 - 媒体文件接收、媒体文件发送方法和装置及系统 - Google Patents
媒体文件接收、媒体文件发送方法和装置及系统 Download PDFInfo
- Publication number
- WO2014173079A1 WO2014173079A1 PCT/CN2013/084513 CN2013084513W WO2014173079A1 WO 2014173079 A1 WO2014173079 A1 WO 2014173079A1 CN 2013084513 W CN2013084513 W CN 2013084513W WO 2014173079 A1 WO2014173079 A1 WO 2014173079A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- mpd
- fragment
- media
- server
- mpd fragment
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000013467 fragmentation Methods 0.000 claims abstract description 93
- 238000006062 fragmentation reaction Methods 0.000 claims abstract description 93
- 239000012634 fragment Substances 0.000 claims description 856
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 14
- 238000004904 shortening Methods 0.000 description 11
- 238000009826 distribution Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 241001103870 Adia Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
Definitions
- the present invention relates to a communication technology, and more particularly to a media file receiving, media file sending method, apparatus and system.
- the htt-based adaptive adaptive streaming over HTTP (DASH) scheme is a new generation media transmission solution being implemented by the international standard organization 3gpp and MPEG.
- the client player side
- the client can automatically adjust according to the network situation and the client's own situation to obtain a suitable media stream for playback.
- the client can request a good quality media stream to play, and when the network is degraded, the client can request a code stream with a slightly lower quality and a lower code rate to play, so that the client can be continuously played.
- the server-side content preparation module in the DHSH system is responsible for preparing media content, slicing, and generating a Media Presentation Description (MPD) file.
- MPD Media Presentation Description
- a code stream of 2 Mbps, 1 Mbps, and 500 kbps is separately generated for adaptation, and the corresponding media files are a-2000.mp4, a-1000.mp4, and a-500.mp4.
- Media slices generated by these different code rate file cuts are described by MPD files.
- the DASH client broadcasts the code stream in the following steps:
- the DHSH client requests the MPD file from the MPD distribution module, obtains the MPD file, parses the MPD file, and obtains the appropriate media from the media segment distribution module according to the media description information in the MPD file. The segment is played.
- the DHSH client needs to request the MPD file from the server first when playing the media file.
- the source time is long, and the cut media fragments are many.
- the MPD file will be very large, causing the client to download the MPD file for a long time.
- MPD file downloading and parsing will take a considerable amount of time due to limitations of network bandwidth and hardware capabilities of the handheld device, which seriously affects the user experience.
- an embodiment of the first aspect of the present invention provides a media file receiving method, where the method includes:
- the client obtains the MPD fragment address of the first MPD fragment from the media presentation description MPD fragment index file according to the initial playback time point requested by the user, where the media fragment corresponding to the first MPD fragment is The play time includes the start play time point;
- the server Receiving, by the client, the first MPD fragment that is fed back by the server, and sending a media fragment acquisition request to the server according to the media description information in the first MPD fragment, so that the server is configured according to the server
- the media fragment obtains a media slice requesting to acquire and feed back the description of the first MPD fragment
- the client receives the media slice described by the first MPD fragment fed back by the server.
- the client can obtain the media fragment described by the MPD fragment from the server according to the media description information of the MPD fragment, thereby shortening
- the delay of the client to start playing the media file achieves the purpose of quickly starting to play the media file.
- the client obtains the first part from the media presentation description MPD fragment index file according to the starting play time point of the user request.
- the method further includes:
- the client sends an MPD fragment index file acquisition request to the server, and receives the service
- the server obtains the MPD fragment index file that is requested to be fed back according to the MPD fragment index file.
- the method further includes: if the client receives the first MPD fragment that is fed back by the server, The next play time point of the user request received by the client is in the playing time of the media segment described in the first MPD fragment, and the client is based on the media description information in the first MPD fragment. Obtaining a media slice corresponding to the next play time point from the server.
- An embodiment of the second aspect of the present invention provides a media file receiving method, where the method includes: the client searches for a first MPD fragment in a media presentation description MPD fragment index file according to a starting playback time point requested by a user.
- the playing time of the media segment corresponding to the first MPD segment includes the initial playing time point;
- the media presentation description MPD fragment index file includes at least one MPD segment and includes at least one MPD segment Fragment address of the slice;
- the client sends a media fragmentation request to the server according to the media description information in the first MPD fragment, and receives the first MPD fragment description fed back by the server according to the media fragmentation request.
- Media shards According to the media file receiving method of the second aspect of the present invention, after the client obtains the MPD fragment, the client can obtain the media fragment described by the MPD fragment from the server according to the media description information of the MPD fragment, thereby shortening The delay of the client to start playing the media file achieves the purpose of quickly starting to play the media file.
- the method further includes:
- the client searches for the MPD fragment index file in the media presentation description according to the starting playback time point requested by the user.
- the MPD fragment address of the first MPD fragment
- a third embodiment of the present invention provides a method for sending a media file, where the method includes: receiving, by a server, an MPD fragment acquisition request, including a media presentation description MPD fragment address, sent by a client, in a pre-stored MPD fragment file. Finding an MPD fragment corresponding to the MPD fragment address, and feeding back the found MPD fragment to the client;
- the server receives the media fragmentation request sent by the client, and feeds back to the client a media fragment corresponding to the media fragmentation request.
- the client after the client obtains the MPD fragment, the client can obtain the media fragment described by the MPD fragment from the server according to the media description information of the MPD fragment, thereby shortening
- the delay of the client to start playing the media file achieves the purpose of quickly starting to play the media file.
- the server before the server receives the MPD fragment acquisition request that is sent by the client, including the media presentation description MPD fragment address, the method also includes:
- the method before the server receives an MPD fragment acquisition request that includes a media presentation description MPD fragment address sent by a client, Also includes:
- the server segments the MPD file according to the preset media duration to obtain at least one MPD fragment
- the server establishes index information for each MPD fragment and saves the file in the MPD fragment index file.
- the index information of an MPD fragment in the MPD fragment index file includes a starting playback time point of the media fragment described by the MPD fragment, a media duration, and an MPD fragment address of the MPD fragment.
- a fourth embodiment of the present invention provides a method for sending a media file, where the method includes: receiving, by a server, a media presentation description MPD fragment acquisition request sent by a client, where the MPD fragment acquisition request includes a starting playback time point And the length of the media;
- the server Receiving, by the server, a media fragment acquisition request sent by the client, where the media fragment requested by the media fragment acquisition request is described by the MPD fragment; the server according to the media fragmentation Acquiring a request to feed back to the client the media fragment described by the MPD fragment.
- the client after the client obtains the MPD fragment, the client can obtain the media fragment described by the MPD fragment from the server according to the media description information of the MPD fragment, thereby shortening
- the delay of the client to start playing the media file achieves the purpose of quickly starting to play the media file.
- the server determines, according to the initial playing time point and the media duration, the initial playing time point and The MPD fragment corresponding to the media duration includes:
- the server parses the source MPD file according to the initial playing time point and the media duration, and locates or assembles the MPD corresponding to the initial playing time point and the media duration in the source MPD file. Fragmentation.
- the server determines, according to the initial playing time point and the media duration, the initial playing time point and And the MPD fragment corresponding to the duration of the media, and feeding back the MPD fragment to the client, including:
- the server is pre-stored according to the start play time point and the MPD fragment index file Finding, in the MPD fragment file, a first MPD fragment corresponding to the media segment corresponding to the playback time point;
- the server feeds back the first MPD fragment to the client.
- the server determines, according to the starting play time point and the media duration, the start Playing the time point and the MPD fragment corresponding to the media duration, and feeding back the MPD fragment to the client, further including:
- the server searches for N MPD fragments backward from the first MPD fragment in the MPD fragment file, and The client feeds back the N pieces of the MPD fragments, and the total media duration of the media fragments described by the first MPD fragment and the N pieces of the MPD fragments is greater than or equal to the media requested by the client.
- Duration, N is a natural number.
- the fifth aspect of the present invention provides a media file receiving method, where the method includes: the client sends a media presentation description MPD fragment acquisition request including a start playing time point and a media duration to the server, so that the server Determining an MPD slice corresponding to the initial play time point and the media duration according to the initial play time point and the media duration;
- the client receives the MPD score corresponding to the initial playing time point and the media duration fed back by the server.
- the film includes:
- the playing time that the client receives the feedback from the server includes a first MPD fragment corresponding to the media slice of the starting playback time point.
- the receiving, by the client, the MPD fragment corresponding to the initial playing time point and the media duration returned by the server further includes:
- the client receives the N MPD fragments fed back by the server until the first MPD fragment and the N
- the total media duration of the media segment described by the MPD fragment is greater than or equal to the media duration requested by the client, and N is a natural number.
- the method further includes:
- the client obtains the location from the server according to the media description information in the MPD segment fed back by the server.
- the media slice corresponding to the next play time point is described.
- An embodiment of the sixth aspect of the present invention provides a media file receiving apparatus, where the apparatus includes: a searching module, configured to acquire, according to a starting play time point requested by a user, a first file from a media presentation description MPD fragment index file.
- a sending module configured to send, to the server, a first MPD fragment obtaining request including an MPD fragment address of the first MPD fragment, so that the server is configured according to an MPD fragment address of the first MPD fragment Obtaining the first MPD fragment in a pre-stored MPD fragment file;
- the sending module is further configured to send a media fragment obtaining request to the server according to the media description information in the first MPD fragment, so that the server obtains and feeds back according to the media fragment obtaining request.
- a receiving module configured to receive the first MPD fragment fed back by the server
- the receiving module is further configured to receive a media slice of the first MPD fragment description fed back by the server.
- the client after acquiring the MPD fragment, the client can immediately obtain the media fragment described by the MPD fragment from the server according to the media description information of the MPD fragment, thereby shortening
- the delay of the client to start playing the media file achieves the purpose of quickly starting to play the media file.
- the sending module is further configured to send an MPD fragment index file acquisition request to the server, where the receiving module is further used to Receiving, by the server, the MPD fragment index file that is fed back according to the MPD fragmentation index file.
- An embodiment of the seventh aspect of the present invention provides a media file receiving apparatus, where the device includes: a searching module, configured to search for a first in a media presentation description MPD fragment index file according to a starting playback time point requested by a user.
- An MPD fragment where a play time of the media slice corresponding to the first MPD slice includes the start play time point;
- the media presentation description MPD slice index file includes at least one MPD slice and includes at least The fragment address of an MPD fragment;
- a sending module configured to: if the searching module finds the first MPD fragment in the media presentation description MPD fragment index file, according to the media description information in the first MPD fragment, to the server Send a media shard request,
- a receiving module configured to receive a media slice that is described by the server according to the first MPD fragment that is fed back by the media fragmentation request.
- the client after the client obtains the MPD fragment, the client can obtain the media fragment described by the MPD fragment from the server according to the media description information of the MPD fragment, thereby shortening
- the delay of the client to start playing the media file achieves the purpose of quickly starting to play the media file.
- the searching module is further configured to: if the searching module searches for the MPD fragment index file in the media presentation description, Go to the first MPD fragment, and search for an MPD fragment address of the first MPD fragment in the media presentation description MPD fragment index file according to the initial playback time point requested by the user;
- the sending module is further configured to send, to the server, a first MPD fragment obtaining request including an MPD fragment address of the first MPD fragment, so that the server is configured according to the MPD of the first MPD fragment The address is obtained in the pre-stored MPD fragment file to obtain the first MPD fragment;
- the receiving module is further configured to receive the first MPD fragment that is fed back by the server, and the sending module is further configured to send the media to the server according to the media description information in the first MPD fragment. Fragment obtaining request, so that the server obtains the request according to the media fragmentation Taking and feeding back the media slice described by the first MPD slice;
- the receiving module is further configured to receive a media slice of the first MPD fragment description fed back by the server.
- An eighth embodiment of the present invention provides a media file sending apparatus, where the apparatus includes: a receiving module, configured to receive an MPD fragment obtaining request that is sent by a client, including a media presentation description MPD fragment address;
- a searching module configured to search, in the pre-stored MPD fragment file, the MPD fragment corresponding to the MPD fragment address according to the MPD fragment acquisition request received by the receiving module;
- a sending module configured to: feed back, to the client, the MPD fragment that is found by the searching module; the receiving module is further configured to receive a media fragmentation request sent by the client, where the sending module is further used to: And feeding back to the client a media fragment corresponding to the media fragmentation request.
- the client after acquiring the MPD fragment, the client can immediately obtain the media fragment described by the MPD fragment from the server according to the media description information of the MPD fragment, thereby shortening
- the delay of the client to start playing the media file achieves the purpose of quickly starting to play the media file.
- the receiving module is further configured to receive an MPD fragment index file acquisition request sent by the client, where the sending module further The MPD fragment index file corresponding to the MPD fragment index file acquisition request is sent to the client, where the index information of one MPD fragment in the MPD fragment index file includes the media described by the MPD fragment The starting playback time point of the slice, the media duration, and the MPD slice address of the MPD slice.
- the apparatus further includes:
- the MPD fragmentation module is configured to slice the MPD file according to a preset media duration to obtain at least one MPD fragment; and is further configured to establish index information for each MPD fragment and save the data in the MPD.
- the index information of an MPD fragment in the MPD fragment index file includes a starting playback time point of the media fragment described by the MPD fragment, a media duration, and an MPD score of the MPD fragment.
- Slice address The ninth aspect of the present invention provides a media file sending apparatus, where the apparatus includes:
- a receiving module configured to receive a media presentation description MPD fragment acquisition request sent by the client, where the MPD fragment acquisition request includes a starting playback time point and a media duration;
- An MPD fragment determining module configured to determine, according to the initial playing time point and the media duration, an MPD fragment corresponding to the initial playing time point and the media duration;
- a sending module configured to feed back the MPD fragment to the client
- the receiving module is further configured to receive a media fragment obtaining request sent by the client, where the media fragment requested by the media fragment obtaining request is described by the MPD fragment;
- the sending module is further configured to feed back, to the client, the media slice of the MPD fragment description.
- the MPD fragment determining module is specifically configured to:
- the MPD fragment determining module is specifically configured to:
- a tenth aspect of the present invention provides a media file transmission system, where the system includes: a client, a server;
- the client is configured to obtain an MPD fragment address of the first MPD fragment from the media presentation description MPD fragment index file according to the initial playback time point requested by the user, where the first MPD fragment corresponds to The playing time of the media segment includes the starting playing time point;
- the client is further configured to send, to the server, a first MPD fragment acquisition request including an MPD fragment address of the first MPD fragment;
- the server is configured to obtain the first MPD fragment in a pre-stored MPD fragment file according to the MPD fragment address of the first MPD fragment, and feed back to the client;
- the client is further configured to receive the first MPD fragment that is fed back by the server, and send a media fragment acquisition request to the server according to the media description information in the first MPD fragment;
- the server is further configured to: according to the media fragment acquisition request, obtain and feed back to the client, the media fragment of the first MPD fragment description;
- the client is further configured to receive a media slice of the first MPD fragment description fed back by the server.
- the client after the client obtains the MPD fragment, the client can obtain the media fragment described by the MPD fragment from the server according to the media description information of the MPD fragment, thereby shortening
- the delay of the client to start playing the media file achieves the purpose of quickly starting to play the media file.
- the client is further configured to send an MPD fragment index file acquisition request to the server, where the server is configured according to the MPD.
- the fragmentation index file obtains the MPD fragmentation index file requested to be fed back to the client.
- the eleventh embodiment of the present invention provides a media file transmission system, where the system includes: a client and a server;
- the client is configured to send a media presentation description MPD fragment acquisition request to the server, where the MPD fragment acquisition request includes a starting playback time point and a media duration;
- the server is configured to receive a media presentation description MPD fragment acquisition request sent by the client, and the server is further configured to determine, according to the initial playback time point and the media duration, the initial playback An MPD slice corresponding to the media duration at a time point, and feeding back the MPD slice to the client;
- the client is further configured to receive the MPD fragment, and the client sends a media fragment acquisition request to the server according to the media fragment described by the MPD fragment;
- the server is further configured to receive a media fragment acquisition request sent by the client;
- the server is further configured to: feed back to the client according to the media fragmentation request
- the media slice described by the MPD slice The media slice described by the MPD slice.
- the client after the client obtains the MPD fragment, the client can obtain the media fragment described by the MPD fragment from the server according to the media description information of the MPD fragment, thereby shortening
- the delay of the client to start playing the media file achieves the purpose of quickly starting to play the media file.
- the server is configured to: according to the starting play time point and the media duration, to the source MPD file. Performing an analysis to locate or assemble an MPD slice corresponding to the initial play time point and the media duration in the source MPD file.
- the server is specifically configured to pre-store according to the start play time point and the MPD fragment index file. The first MPD fragment corresponding to the media segment corresponding to the starting playback time point is searched in the MPD fragment file; and the first MPD fragment is fed back to the client.
- FIG. 1 is a flowchart of a method for receiving a media file according to an embodiment of the present invention
- FIG. 2 is a flowchart of another method for receiving a media file according to an embodiment of the present invention
- 3A is a flowchart of a method for sending a media file according to an embodiment of the present invention
- FIG. 3B is a schematic diagram of a fragmentation of an MPD file by a server according to an embodiment of the present invention
- FIG. 4A is a flowchart of another method for sending a media file according to an embodiment of the present invention
- FIG. 4B is a schematic diagram of an implementation method of FIG. 4A;
- FIG. 4C is a schematic diagram of another implementation method of FIG. 4A;
- FIG. 5 is a flowchart of still another method for receiving a media file according to an embodiment of the present invention.
- FIG. 6 is a schematic structural diagram of a media file receiving apparatus according to an embodiment of the present disclosure.
- FIG. 7 is a schematic structural diagram of another media file receiving apparatus according to an embodiment of the present disclosure
- FIG. 8 is a schematic structural diagram of a media file sending apparatus according to an embodiment of the present invention
- FIG. 9 is a schematic structural diagram of another media file sending apparatus according to an embodiment of the present invention
- FIG. 11 is a schematic structural diagram of a media file transmission system according to an embodiment of the present invention
- FIG. 12 is a schematic structural diagram of another media file transmission system according to an embodiment of the present invention.
- the server performs fragmentation processing on the MPD file in advance, generates an MPD fragment file including at least one MPD fragment, and establishes an MPD fragment file for the MPD fragment file.
- An MPD fragment index file that includes an MPD slice address.
- FIG. 1 is a flowchart of a method for receiving a media file according to an embodiment of the present invention. As shown in FIG. 1, the method provided in this embodiment includes:
- Step 11 The client obtains the MPD fragment address of the first MPD fragment from the media presentation description MPD fragment index file according to the initial playback time point requested by the user, where the media corresponding to the first MPD fragment The play time of the slice includes the start play time point.
- the server performs fragmentation processing on the MPD file according to the playing time of the media file described in the MPD file, and generates an MPD fragment file composed of a plurality of MPD fragments.
- An MPD fragment describes one or more media fragments, including media description information describing the media fragments.
- the media fragment described by one MPD fragment corresponds to the media data of a piece of media time.
- the server creates index information for the MPD fragment and saves it in the MPD fragment index file.
- the MPD fragment index file includes the fragment address of at least one MPD fragment.
- the index information of an MPD fragment in the MPD fragment index file may include a starting playback time point of the media fragment described by the MPD fragment, a media duration, and an address of the MPD fragment.
- the MPD slice index file can be described in the XML language.
- the playback media is started.
- the MPD fragment index file acquisition request is first sent to the server, and the MPD fragment index file generated by the server is obtained.
- the MPD fragment index file acquisition request may be sent to the server to obtain the MPD fragment index file generated by the server.
- the client After receiving the user play request sent by the user and carrying the start play time point, the client parses the MPD fragment index file, and searches for the media slice corresponding to the start play time in the MPD fragment index file.
- the MPD slice address of the MPD slice For example, the user drags the play progress bar on the client, and the time point corresponding to the position where the drag is stopped is the start play time point of the user.
- the client determines that the request requested by the user is played. Point, the parsing of the MPD fragment index file is started, and the first MPD fragment is searched in the MPD fragment index file, and the first MPD fragment is the MPD fragment corresponding to the media fragment whose playback time includes the starting playback time point. .
- the client determines the playing time of the media segment described by the MPD fragment by using the starting playing time point and the media duration of the media segment in the MPD fragment index information, if the starting playing time point is in an MPD point.
- the playing time of the media segment described by the slice that is, the playing time of the media segment described by the MPD segment is found to include the starting playing time point, it is determined that the media segment requested to be played is included in the MPD segment. Described within the media shard.
- Step 12 The client sends the first MPD fragment address including the first MPD fragment to the server.
- the MPD fragment acquires a request to cause the server to obtain the first MPD fragment in the pre-stored MPD fragment file according to the MPD fragment address of the first MPD fragment.
- Step 13 The client receives the first MPD fragment fed back by the server, and sends a media fragment acquisition request to the server according to the media description information in the first MPD fragment, so that the server obtains and feeds back according to the media fragmentation request.
- Step 14 The client receives the media slice described by the first MPD fragment fed back by the server.
- the client After finding the MPD fragment address in the MPD fragment index file, the client obtains the corresponding MPD fragment from the server according to the found MPD fragment address. Then, according to the media description information of the MPD fragment fed back by the server, the media fragment of the MPD fragment description is obtained from the server.
- the MPD fragment index file further includes an address of the MPD file.
- MPD files can be obtained directly from the server with bandwidth and client capability licenses. You can also get a few MPD slices first, and then get the MPD file if possible.
- the MPD fragment index index The first MPD slice of the MPD slice file is included in the file. If the initial playback time point requested by the user is within the playing time of the media segment described in the first MPD fragment, the client sends a media fragment obtaining request to the server according to the media description information in the first MPD fragment. And receiving the media slice described by the first MPD fragment fed back by the server. Therefore, when the client starts playing the media file from the beginning of the media, the first MPD fragment is not required to be requested from the server, and the first MPD can be directly obtained from the server according to the media description information in the first MPD fragment.
- the first MPD fragment of the MPD fragment file is the first MPD fragment obtained when the MPD file is fragmented according to the media duration, and the first MPD fragment is also the MPD fragment including the earliest playback time point. .
- the user when the user requests to play the media segment of the next playing time point, for example, during the playing process, the user drags the playing progress bar on the client, and stops for the last starting time point. The position of the drag is the next start play time point.
- the client determines whether the play time of the media slice described by the first MPD slice that the server has feedback includes the next start play time point. If the next play time point of the user request received by the client is within the playing time of the media slice described by the first MPD fragment, the client does not need to obtain the repeated MPD fragment from the server again.
- the client obtains the information from the server according to the method provided in steps 11 to 13. MPD sharding and described media sharding.
- the client searches for the play time in the MPD fragment index file according to the starting play time point requested by the user, including starting playback.
- the address of the MPD fragment corresponding to the media fragment at the time point, and the corresponding MPD fragment is requested from the server according to the found address. Therefore, the client does not obtain a complete MPD file from the server, but the playback time includes the MPD fragment corresponding to the media slice at the starting playback time point. Since the MPD fragment is small, the client takes a shorter time to acquire the MPD fragment and the time for parsing the MPD fragment is shorter.
- the client After obtaining the MPD fragment, the client can immediately obtain the media fragment described by the MPD fragment according to the media description information of the MPD fragment. Therefore, the delay of starting the playback of the media file by the client is shortened, and the fast startup is achieved. The purpose of playing media files.
- FIG. 2 is a flowchart of another method for receiving a media file according to an embodiment of the present invention.
- the main difference between the corresponding embodiment of FIG. 2 and the corresponding embodiment of FIG. 1 is that the MPD fragment index file in FIG. 2 is included except In addition to the fragment address of one MPD fragment, at least one MPD fragment is included.
- the method provided in this embodiment includes:
- Step 21 The client searches for the first MPD fragment in the media presentation description MPD fragment index file according to the starting playback time point of the user request, where the playback time of the media fragment corresponding to the first MPD fragment includes At the start playback time point, the MPD slice index file includes at least one MPD slice and includes a slice address of at least one MPD slice.
- the server performs fragmentation processing on the MPD file according to the playing time of the media file described in the MPD file, and generates an MPD fragment file composed of a plurality of MPD fragments. After the MPD fragment file is generated, the server indexes the MPD fragment and saves it in the MPD fragment index file.
- the MPD fragment index file includes the fragment address of at least one MPD fragment.
- the index information of an MPD fragment in the MPD fragment index file may include a starting playback time point of the media fragment described by the MPD fragment, a media duration, and an address of the MPD fragment.
- the MPD slice index file can be described in XML language.
- the server retains at least one MPD fragment in the MPD fragment index file. For example, the media description information with a short media length may not be decomposed, and the media description information with a short media duration may be reserved.
- the client receives a user request including the starting playback time point, the playback media is started.
- the client first sends an MPD fragment index file acquisition request to the server to obtain the MPD fragment index file generated by the server.
- the client may also send an MPD fragment index file acquisition request to the server after receiving the user request including the super-start insertion time point, and obtain the MPD fragment index file generated by the server.
- the client After receiving the user play request that is sent by the user and carrying the initial play time point, the client parses the MPD fragment index file, and searches for the first MPD fragment in the MPD fragment index file, where the first MPD fragment is The play time of the corresponding media slice includes the start play time point.
- Step 22 If the first MPD fragment is found in the MPD fragment index file, the client sends a media fragmentation request to the server according to the media description information in the first MPD fragment, and receives the feedback from the server according to the media fragmentation request.
- the client displays the MPD fragment index file in the media presentation according to the starting playback time point requested by the user.
- Finding an MPD slice address of the first MPD slice and then going to the server Sending a first MPD fragment acquisition request including an MPD fragment address of the first MPD fragment, so that the server obtains the MPD fragment file in the pre-stored MPD fragment file according to the MPD address of the first MPD fragment.
- the first MPD slice is described.
- the client When receiving the first MPD fragment that is fed back by the server, the client sends a media fragment acquisition request to the server according to the media description information in the first MPD fragment, so that the server And obtaining, by the media fragment obtaining request, the media fragment described by the first MPD fragment, and then receiving, by the client, the media fragment of the first MPD fragment that is fed back by the server.
- the client searches for the play time in the MPD fragment index file according to the starting play time point requested by the user, including starting playback.
- the MPD fragment corresponding to the media fragment at the time point, and the media fragment described by the MPD fragment is obtained from the server according to the found MPD fragment. Therefore, before the media fragment is obtained, the client obtains not the complete MPD file from the server, but the playback time includes the MPD fragment corresponding to the media fragment of the starting playback time point. Since the MPD fragmentation is small, the time for the client to acquire the MPD fragment is shorter, and the time for parsing the MPD fragment is shorter.
- the client After obtaining the MPD fragment, the client can immediately obtain the media fragment described by the MPD fragment according to the media description information of the MPD fragment. Therefore, the delay of starting the playback of the media file by the client is shortened, and the fast startup is achieved. The purpose of playing media files.
- FIG. 3 is a flowchart of a method for sending a media file according to an embodiment of the present invention. As shown in FIG. 3A, the method provided in this embodiment includes:
- Step 31 The server receives the MPD fragmentation request that is sent by the client, including the MPD fragmentation address, and searches for the MPD fragment corresponding to the MPD fragmentation address in the pre-stored MPD fragment file, and feeds back to the client.
- the MPD slice The MPD slice.
- Step 32 The server receives the media fragmentation request sent by the client, and feeds the media fragment corresponding to the media fragmentation request to the client.
- the server performs fragmentation processing on the MPD file according to the playing time of the media file described in the MPD file, and generates an MPD fragment file composed of a plurality of MPD fragments. After the MPD fragment file is generated, the server creates index information for at least one MPD fragment and saves it in the MPD fragment index file.
- the MPD fragment index file includes a fragment address of at least one MPD fragment.
- MPD fragment index file The index information of an MPD fragment may include the initial broadcast of the media fragment described by the MPD fragment. The time point, the media duration, and the address of the MPD slice.
- the MPD slice index file can be described in the XML language.
- the server retains at least one MPD fragment in the MPD fragment index file.
- the server may not decompose the media description information with a short media duration, and retain the media description information with a short media duration.
- the server can also add the first MPD slice of the MPD slice file to the MPD slice index file.
- the first MPD fragment of the MPD fragment file is the first MPD fragment obtained when the MPD file is fragmented according to the media duration.
- the first MPD fragment is also the MPD fragment including the earliest playback time point. .
- the server may also add the address of the MPD file in the MPD fragment index file.
- MPD files can be obtained directly from the server with bandwidth and client capability licenses. You can also get MPD shards several times and get MPD files when possible.
- the server adds the first MPD fragment of the MPD fragment file to the MPD fragmentation index file.
- the first MPD fragment of the MPD fragment file is the first MPD fragment obtained when the MPD file is fragmented according to the media duration.
- the first MPD fragment is also the MPD fragment including the earliest playback time point. . If the starting playback time point requested by the user is within the playing time of the media segment described in the first MPD fragment, the client sends a media fragment obtaining request to the server according to the media description information in the first MPD fragment. And receiving the media slice described by the first MPD fragment fed back by the server.
- the client when the client starts to play the media file from the beginning of the media, the client does not need to request the first MPD fragment from the server, and can obtain the first MPD score directly from the server according to the media description information in the first MPD fragment.
- the media segmentation described by the slice further shortens the delay for the client to start playing media files.
- the server can use various methods to slice the MPD file according to the time dimension to generate an MPD fragment file, and establish an MPD fragment index file.
- the following is an example of two methods.
- the first method is to generate MPD fragments for the MPD files according to the media duration described by the Duration element in the MPD file, and establish the playback time point of the MPD fragments for each MPD fragment.
- the duration element in the SegmentURL is used to describe the time information of each media slice, that is, the media duration.
- the MPD processing module in the server may perform MPD fragmentation on the MPD file a.mpd according to the media duration described by the Duration element in the MPD file: al.mpd, a-2.mpd, a-3. Mpd, a-4.mpd, ...an.mpd.
- the server creates index information for the above MPD fragment file and saves it in the MPD fragment index file.
- the MPD fragment index file a.mpdindex created according to the above method is exemplified below:
- the ORIGINALMPD element describes the URL of the MPD file
- the MPDFRAGMENTS element describes the MPD fragment file composed of all MPD fragments.
- the URL describing the MPD file can be kept in the MPD slice index file.
- the FRAGMENT element describes the index information of an MPD slice.
- the attribute Start describes the starting time point of the media fragment described by the MPD fragment
- the attribute duration describes the media duration of the media fragment
- the element url describes the url of the MPD fragment.
- the start attribute can be omitted if it can be obtained according to the context.
- the first FRAGMENT description message is: The MPD slice describing the media file starting at 0 seconds and 120 seconds long can be obtained from the URL: http ://www. example .com/a/fragments/a- 1.mpd grip
- the first MPD fragment may also be included in the MPD fragment index file.
- the MPD fragment index file a.mpdindex shown below adds an MPD element under the first FRAGMENT element to describe the first MPD fragment.
- the client does not need to slave the server when playing media files from the beginning of the media. Requesting the first MPD fragment, the media description information in the first MPD fragment can be parsed, and the media fragment of the first MPD fragment description is directly obtained from the server. ⁇ MPDINDEX>
- ⁇ FRAGMENT start 120s duration: 120s
- Another MPD file fragmentation method and a method for establishing an MPD fragment index file are: the server segments the MPD file according to the media duration described by the Period element in the MPD file to generate an MPD fragment, and creates an MPD fragment for the MPD fragment. Index information, and saved in the MPD fragment index file.
- the server segments the MPD file according to the media duration described by the Period element in the MPD file to generate an MPD fragment, and creates an MPD fragment for the MPD fragment. Index information, and saved in the MPD fragment index file.
- a.mpd three Periods are described, and the durations of the three Periods are 2000 seconds, 200 seconds, and 1200 seconds, respectively.
- the server can decompose a longer period of Period, and can keep the Period with a shorter duration.
- the MPD fragment index file created according to the above method is exemplified below: ⁇ MPD>
- the first Period in the original MPD file a.mpd is decomposed into 10 new Periods, each of which is 200 seconds long.
- Each new phase that is decomposed is described by an MPD slice, and the new Period is described in the MPD slice index file.
- the first newly generated Period is described as:
- the duration indicates the duration of the new period, that is, the duration of an MPD fragment, and the attribute of the xlink is added, indicating the url of the MPD fragment corresponding to the new period.
- the second Period is relatively short, and the media description information described in the second Period is not decomposed during processing, and remains unchanged; or, to further reduce the MPD fragment, the media description of the Period is The information is independent, and the attribute xlink description is also used in Period.
- the MPD fragment index file as shown below can also be in the MPD fragment index file. It can also include the first MPD slice, which is the media description of the first Period.
- the main difference between the method embodiment corresponding to the method embodiment of FIG. 4A and FIG. 5 is that the client does not need to obtain the MPD fragment index file from the server, but directly The server requests an MPD slice corresponding to the start play time point and the media duration.
- FIG. 4A is a flowchart of another method for sending a media file according to an embodiment of the present invention. As shown in FIG. 4A, the method provided in this embodiment includes:
- Step 41 The server receives a media presentation description MPD fragment acquisition request sent by the client, where the MPD fragment acquisition request includes a starting playback time point and a media duration.
- the client can carry the media length of the MPD fragment requested by the server in the MPD fragment request, and the server feeds the MPD fragment to the client according to the starting playback time point and the media duration requested by the client.
- the client can also not carry the media duration in the MPD fragment request, but pre-negotiate the media duration with the server.
- the server After receiving the MPD fragment request, the server feeds back the MPD fragment to the client according to the playback time point and the default media duration.
- Step 42 The server determines the MPD fragment corresponding to the starting playing time point and the media duration according to the starting playing time point and the media duration, and feeds back to the client the MPD fragment corresponding to the starting playing time point and the media duration.
- the server may perform fragmentation processing on the MPD file in advance according to the playing time of the media file described in the MPD file, and generate an MPD fragment file composed of a plurality of MPD fragments.
- Each MPD score A slice describes a media slice of a media time, and each MPD slice can describe one or more media slices.
- the content in the MPD slice is the media description information describing the media slice.
- the server establishes index information for the MPD fragment and saves it in the MPD fragment index file.
- the index information of the MPD fragment includes the starting time point of the media fragment described by the MPD fragment, the media duration, and the address of the MPD fragment in the MPD fragment file.
- the MPD fragment index file can be described in XML language.
- the server After receiving the MPD fragment acquisition request from the client, the server starts the playback time point and the MPD fragment index file according to the client request, in the MPD fragment file.
- the first MPD fragment is searched, and the playing time of the media fragment described by the first MPD fragment includes the starting playback time point requested by the client. Further, if the media length of the first MPD fragment is less than the media length requested by the client or the preset media length of the horse, the server continues to search for N MPD fragments in the MPD fragment file starting from the first MPD fragment. The search is stopped until the sum of the media lengths of all the MPD fragments found is greater than or equal to the media length requested by the client. Where N is a natural number.
- the MPD request processing module searches and starts the playback time point in the MPD fragment index file.
- the MPD segment corresponding to the media duration.
- the MPD fragmentation module feeds back to the client the MPD fragment corresponding to the initial playback time point and the media duration found by the MPD request processing module.
- the server may not fragment the MPD file to generate an MPD fragment file in advance, but dynamically slice the MPD file after receiving the MPD fragment request sent by the client.
- the MPD request processing module parses the MPD file, locates or assembles and requests the MPD file.
- the MPD slice corresponding to the start playback time point and the media duration.
- the MPD fragmentation module feeds back the mapped MPD fragments to the client MPD request processing module.
- Step 43 The server receives the media fragment acquisition request sent by the client, where the media fragment requested by the media fragment acquisition request is the media fragment described by the MPD fragment.
- Step 44 The server feeds back, according to the media fragmentation request, the media fragment described by the MPD fragment to the client.
- FIG. 5 is a flowchart of still another method for receiving a media file according to an embodiment of the present invention. As shown in FIG. 5, the method provided in this embodiment includes: Step 51: The client sends a media presentation description MPD fragment acquisition request including a start playing time point and a media duration to the server, so that the server starts the playback time point according to the start time. And the duration of the media, determine the MPD fragment corresponding to the starting playback time point and the media duration.
- the client After receiving the user request including the start playing time point and the media duration, the client sends the initial playing time point and the media duration to the server in the MPD fragment obtaining request, and the server starts the playing time point and the media according to the request of the client. Duration, feedback MPD fragments to the client.
- the user request may not include the media duration, and the client does not carry the media duration in the MPD fragment acquisition request, but the client and the server pre-negotiate the media duration.
- the server After receiving the MPD fragment request, the server feeds back the MPD fragment to the client according to the playback time point and the default media duration. For example, when the client initiates playback, an MPD fragment acquisition request including a starting playback time point and a media duration is sent to the server.
- Step 53 The client sends a media fragment acquisition request to the server according to the MPD fragment that is fed back by the server, so that the server searches for the media fragment described by the MPD fragment;
- Step 54 Client And receiving, by the server, the media fragment of the MPD fragment that is fed back by the server.
- the client when requesting to play the media, the client sends an MPD fragment acquisition request including a starting playback time point and a media duration to the server, and the server sends the request to the client.
- the end responds to the MPD fragment corresponding to the starting playback time point and the media duration.
- the client obtains not the complete MPD file from the server, but the MPD fragment, due to the MPD.
- the fragmentation is small, the time for the client to obtain the MPD fragment is shorter, and the time for parsing the MPD fragment is shorter.
- the client can obtain the MPD from the server according to the media description information of the MPD fragment.
- the media segmentation described by the fragmentation therefore, shortens the delay for the client to start playing the media file, and achieves the purpose of quickly starting to play the media file.
- the playing time fed back by the client receiving the server includes the first MPD fragment corresponding to the media segment starting the playing time point.
- the client continues to receive the MPD fragments fed back by the server until the sum of the media durations of all the MPD fragments received by the client is greater than or equal to the client request.
- Media length
- the client receives the media fragment of the MPD fragment description fed back by the server, if the playback time of the media fragment described by the MPD fragment fed back by the server includes the next playback time
- the client obtains the media fragment corresponding to the next playing time point from the server according to the media description information in the MPD fragment fed back by the server.
- the media file sending apparatus performs fragmentation processing on the MPD file in advance, and generates an MPD fragment file including at least one MPD fragment, and is an MPD fragment.
- the file establishes an MPD fragment index file including the MPD slice address.
- the device sends an MPD fragment index file obtaining request to the media file sending device, and acquires an MPD fragment index file generated by the media file sending device.
- FIG. 6 is a schematic structural diagram of a media file receiving apparatus according to an embodiment of the present invention.
- the apparatus provided in this embodiment includes: a searching module 61, a sending module 62, and a receiving module 63.
- the searching module 61 is configured to obtain an MPD fragment address of the first MPD fragment from the media presentation description MPD fragment index file according to the initial playback time point requested by the user, where the first MPD fragment corresponds to The play time of the media slice includes the start play time point.
- the sending module 62 is configured to send, to the server, a first MPD fragment obtaining request including an MPD fragment address of the first MPD fragment, so that the server is configured according to the MPD fragment of the first MPD fragment The address is obtained in the pre-stored MPD fragment file to obtain the first MPD fragment;
- the sending module 62 is further configured to send, according to the media description information in the first MPD fragment, a media fragment obtaining request to the server, so that the server obtains and feeds back according to the media fragment obtaining request.
- the receiving module 63 is configured to receive the first MPD fragment fed back by the server;
- the receiving module 63 is further configured to receive the media fragment of the first MPD fragment description fed back by the server. Further, the sending module 62 is further configured to send an MPD fragment index file acquisition request to the server. The receiving module 63 is further configured to receive, by the server, the media presentation description MPD fragmentation index file that is fed back according to the MPD fragmentation index file acquisition request.
- FIG. 8 is a schematic structural diagram of a media file sending apparatus according to an embodiment of the present invention.
- the apparatus provided in this embodiment includes: a receiving module 81, a searching module 82, and a sending module 83.
- the receiving module 81 is configured to receive an MPD fragment obtaining request that is sent by the client, including a media presentation description MPD fragment address.
- the searching module 82 is configured to search, in the pre-stored MPD fragment file, the MPD fragment corresponding to the MPD fragment address according to the MPD fragment acquisition request received by the receiving module.
- the sending module 83 is configured to feed back, to the client, the MPD fragment found by the searching module.
- the receiving module 81 is further configured to receive a media fragmentation request sent by the client, where the sending module is further configured to feed back, to the client, a media fragment corresponding to the media fragmentation request.
- the receiving module 81 is further configured to receive an MPD fragment index file obtaining request sent by the client.
- the sending module 83 is further configured to send, to the client, an MPD fragment index file corresponding to the MPD fragment index file acquisition request, where the index information of an MPD fragment in the MPD fragment index file includes The initial play time point of the media slice described by the MPD slice, the media duration, and the MPD slice address of the MPD slice.
- the apparatus shown in FIG. 8 may further include: an MPD fragmentation module.
- the MPD fragmentation module is configured to slice an MPD file according to a preset media duration to obtain at least one MPD fragment.
- the MPD fragmentation module is further configured to: establish an index information for each MPD fragment, and save the index information in an MPD fragment index file, where the index information of an MPD fragment in the MPD fragment index file includes the MPD score
- the slice shows the starting play time point of the media slice, the media duration, and the MPD slice address of the MPD slice.
- FIG. 11 is a schematic structural diagram of a media file transmission system according to an embodiment of the present invention.
- the system shown in Figure 11 includes: a client 111 and a server 112.
- the client 111 is configured to obtain an MPD fragment address of the first MPD fragment from the media presentation description MPD fragment index file according to the initial playback time point requested by the user, where the first The playing time of the media segment corresponding to the MPD fragment includes the initial playing time point; the client 111 is further configured to send, to the server, an MPD fragment address including the first MPD fragment.
- the client 111 is further configured to receive the first MPD fragment that is fed back by the server, and send the media fragmentation to the server according to the media description information in the first MPD fragment.
- the server 112 is further configured to: according to the media fragmentation acquisition request, obtain and feed back to the client, the media fragment of the first MPD fragment description; the client 111 is further configured to receive the The media slice described by the first MPD fragment fed back by the server.
- the client 111 is further configured to send an MPD fragment index file acquisition request to the server; the server displays the media feedback fed back to the client according to the MPD fragment index file acquisition request.
- the MPD fragment index file. 6, 8 and 11 correspond to the technical solution provided by the embodiment, before the client obtains the media fragment of the starting play time point from the server, the client searches for the MPD fragment index file according to the starting play time point of the user request.
- the play time includes the address of the MPD slice corresponding to the media slice at the start play time point, and requests the corresponding MPD slice from the server according to the found address. Therefore, the client obtains not the complete MPD file from the server, but the playback time includes the MPD fragment corresponding to the media segment of the starting playback time point. Since the MPD fragment is small, the time for the client to acquire the MPD fragment is shorter, and the time for parsing the MPD fragment is also shorter. After obtaining the MPD fragment, the client can immediately obtain the media fragment described by the MPD fragment according to the media description information of the MPD fragment. Therefore, the delay of starting the playback of the media file by the client is shortened, and the fast startup is achieved. The purpose of playing media files. FIG.
- the apparatus provided in this embodiment includes: a searching module 71, a sending module 72, and a receiving module 73.
- the searching module 71 is configured to search for a first MPD fragment in the media presentation description MPD fragment index file according to the initial playback time point requested by the user, where the media segment corresponding to the first MPD fragment plays The time includes the initial play time point; the media presentation describes the MPD slice index file
- the piece includes at least one MPD slice and includes a slice address of at least one MPD slice.
- the sending module 72 is configured to: if the lookup module displays the MPD score in the media presentation.
- the first MPD fragment is found in the slice index file, and the media fragmentation request is sent to the server according to the media description information in the first MPD fragment.
- the receiving module 73 is configured to receive a media slice that is described by the server according to the first MPD fragment that is fed back according to the media fragmentation request.
- each module is as follows:
- the searching module is further configured to: if the searching module does not find the first MPD fragment in the media presentation description MPD fragment index file, according to a starting time point of the user request, in the media presentation description
- the MPD fragment index file searches for the MPD fragment address of the first MPD fragment.
- the sending module is further configured to send, to the server, a first MPD fragment obtaining request including an MPD fragment address of the first MPD fragment, so that the server is configured according to the MPD of the first MPD fragment The address is obtained in the pre-stored MPD fragment file to obtain the first MPD fragment;
- the receiving module is further configured to receive the first MPD fragment fed back by the server.
- the sending module is further configured to send a media fragment obtaining request to the server according to the media description information in the first MPD fragment, so that the server obtains and feeds back according to the media fragment obtaining request.
- the receiving module is further configured to receive a media slice of the first MPD fragment description fed back by the server.
- the foregoing media device further obtains an MPD fragment index file from the server, as follows: the sending module is further configured to: before acquiring the MPD fragment address of the first MPD fragment from the media presentation description MPD fragment index file, The server sends an MPD fragment index file acquisition request;
- the receiving module is further configured to receive the MPD fragment index file that is fed back by the server; the receiving module is further configured to acquire user request information, where the user request information includes a starting play point requested by a user.
- the client obtains the starting play time point from the server. Before the media sharding, the client searches for the MPD shard corresponding to the media shard of the playback time in the MPD shard index file according to the initial playback time point of the user request, according to the found MPD shard. Obtain the media fragment of the MPD fragment description from the server. Therefore, before the media fragment is obtained, the client obtains not the complete MPD file from the server, but the playback time includes the MPD fragment corresponding to the media fragment of the starting playback time point. Since the MPD fragment is small, the time for the client to acquire the MPD fragment is shorter, and the time for parsing the MPD fragment is also shorter.
- the client After obtaining the MPD fragment, the client can immediately obtain the media fragment described by the MPD fragment according to the media description information of the MPD fragment. Therefore, the delay of starting the playback of the media file by the client is shortened, and the fast startup is achieved. The purpose of playing media files.
- the main difference between the device embodiment corresponding to FIG. 9, 10 and FIG. 12 and the device embodiment corresponding to FIG. 6, FIG. 7, FIG. 8 and FIG. 11 is that the media file receiving device does not need to obtain the MPD fragment index file from the media file sending device. Instead, the MPD slice corresponding to the start playback time point and the media duration is requested directly from the media file sending device.
- FIG. 9 is a schematic structural diagram of a media file sending apparatus according to an embodiment of the present invention.
- the apparatus provided in this embodiment includes: a receiving module 91, an MPD fragment determining module 92, and a transmitting module 93.
- the receiving module 91 is configured to receive a media presentation description MPD fragment acquisition request sent by the client, where the MPD fragment acquisition request includes a starting playback time point and a media duration;
- the MPD fragment determining module 92 is configured to determine an MPD fragment corresponding to the initial playing time point and the media duration according to the initial playing time point and the media duration;
- a sending module 93 configured to feed back the MPD fragment to the client
- the receiving module 91 is further configured to receive a media fragment obtaining request sent by the client, where the media fragment requested by the media fragment obtaining request is described by the MPD fragment;
- the sending module 93 is further configured to feed back, to the client, the media fragment described by the MPD fragment.
- the MPD fragment determining module 92 is configured to parse the MPD file according to the initial playing time point and the media duration, and locate or assemble the initial playing time in the MPD file. The point and the MPD slice corresponding to the media duration.
- the MPD fragment determining module 92 is configured to: in the pre-stored MPD fragment file, search for a play time, including the start play time point, according to the initial play time point and the MPD fragment index file. The first MPD slice corresponding to the media slice.
- the server searches for N pieces of MPDs backwards from the first MPD fragment in the MPD fragment file, and Feeding the N pieces of the MPD fragments to the client, until the total media duration of the media fragments described by the first MPD fragment and the N pieces of the MPD fragments is greater than or equal to the client request Media duration, N is a natural number.
- FIG. 10 is a schematic structural diagram of still another media file receiving apparatus according to an embodiment of the present invention. As shown in FIG. 10, the apparatus provided in this embodiment includes: a sending module 100 and a receiving module 101.
- the sending module 100 is configured to send, to the server, a media presentation description MPD fragment acquisition request including a starting playback time point and a media duration, so that the server determines the location according to the initial playback time point and the media duration An MPD slice corresponding to the start playing time point and the media duration;
- the receiving module 101 is configured to receive an MPD fragment that is fed back by the server and corresponds to the initial playing time point and the media duration;
- the sending module 100 is configured to send a media fragment obtaining request to the server according to the MPD fragment fed back by the server, so that the server searches for a media fragment of the MPD fragment description;
- the receiving module 101 is further configured to receive a media slice of the MPD fragment description fed back by the server.
- the receiving module 101 is configured to receive, by the server, a playback time that is a first MPD fragment corresponding to the media segment of the initial playback time point. Further, the receiving module 101 is further configured to: if the media duration of the first MPD fragment is less than the media duration, receive the N pieces of the MPD fragments fed back by the server, until the first MPD segment The total media duration of the media slice described by the slice and the N pieces of the MPD slice is greater than or equal to the media duration requested by the client, and N is a natural number.
- the receiving module 101 is further configured to: after the client receives the media fragment of the MPD fragment description fed back by the server, if the media segment described by the server feeds back the MPD fragment The play time of the slice includes the next play time point, and the MPD slice according to the feedback of the server The media description information is obtained, and the media fragment corresponding to the next playback time point is obtained from the server.
- FIG. 12 is a schematic structural diagram of another media file transmission system according to an embodiment of the present invention. As shown in FIG. 12, the system provided in this embodiment includes: a client 121 and a server 122. The client 121 is configured to send a media presentation description MPD fragment acquisition request to the server, where the MPD fragment acquisition request includes an initial playback time point and a media duration;
- the server 122 is configured to receive a media presentation description MPD fragment acquisition request sent by the client;
- the server 122 is further configured to determine, according to the initial playing time point and the media duration, an MPD fragment corresponding to the initial playing time point and the media duration, and feed back to the client.
- the client 121 is further configured to receive the MPD fragment, and the client sends a media fragment acquisition request to the server according to the media fragment described by the MPD fragment;
- the server 122 is further configured to receive a media fragment acquisition request sent by the client, where the server 122 is further configured to feed back, by the client, the MPD fragment description according to the media fragment acquisition request.
- the media segmentation is further configured to receive a media fragment acquisition request sent by the client, where the server 122 is further configured to feed back, by the client, the MPD fragment description according to the media fragment acquisition request. The media segmentation.
- the server 122 is configured to parse an MPD file according to the starting play time point and the media duration, and locate or assemble the MPD file with the start play time point and The MPD segment corresponding to the media duration.
- the server 122 is specifically configured to: in the pre-stored MPD fragment file, search for a media score including the start playback time point according to the initial playback time point and the MPD fragment index file. a first MPD slice corresponding to the slice; feeding the first MPD slice to the client.
- the client sends an MPD fragment acquisition request including a starting playback time point and a media duration to the server when requesting to play the media, and the server feeds back to the client.
- the MPD slice corresponding to the start playback time point and the media duration.
- the client obtains not the complete MPD file from the server, but the MPD fragment. Because the MPD fragment is small, the time for the client to acquire the MPD fragment is shorter, and the time for parsing the MPD fragment is shorter.
- the client After obtaining the MPD fragment, the client can obtain the media fragment described by the MPD fragment from the server according to the media description information of the MPD fragment, thereby shortening the delay for the client to start playing the media file, and achieving the fast Start the purpose of playing a media file.
- the aforementioned program can be stored in a computer readable storage medium.
- the program when executed, performs the steps including the foregoing method embodiments; and the foregoing storage medium includes: a medium that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13882840.5A EP2938091B1 (en) | 2013-04-24 | 2013-09-27 | Method and device for receiving and sending media file and system |
JP2016506753A JP2016519895A (ja) | 2013-04-24 | 2013-09-27 | メディアファイル受信およびメディアファイル送信方法、装置、およびシステム |
KR1020157021327A KR101734168B1 (ko) | 2013-04-24 | 2013-09-27 | 미디어 파일 수신 및 미디어 파일 송신 방법들, 장치들, 및 시스템들 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310144851.9A CN104125516B (zh) | 2013-04-24 | 2013-04-24 | 媒体文件接收、媒体文件发送方法和装置及系统 |
CN201310144851.9 | 2013-04-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014173079A1 true WO2014173079A1 (zh) | 2014-10-30 |
Family
ID=51770756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2013/084513 WO2014173079A1 (zh) | 2013-04-24 | 2013-09-27 | 媒体文件接收、媒体文件发送方法和装置及系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9628547B2 (zh) |
EP (1) | EP2938091B1 (zh) |
JP (1) | JP2016519895A (zh) |
KR (1) | KR101734168B1 (zh) |
CN (1) | CN104125516B (zh) |
WO (1) | WO2014173079A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020211731A1 (zh) * | 2019-04-19 | 2020-10-22 | 华为技术有限公司 | 一种视频播放方法及相关设备 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9954930B2 (en) * | 2015-08-06 | 2018-04-24 | Airwatch Llc | Generating content fragments for content distribution |
CN105872721A (zh) * | 2015-12-14 | 2016-08-17 | 乐视云计算有限公司 | 起播速度的处理方法及装置 |
CN107925669B (zh) * | 2016-01-28 | 2021-01-26 | 联发科技股份有限公司 | 一种消息交互的方法和提供媒体服务的系统 |
CN107027058B (zh) * | 2016-01-29 | 2020-03-17 | 腾讯科技(北京)有限公司 | 在线媒体文件的价格评估方法、客户端及服务器 |
CN107438051A (zh) * | 2016-05-25 | 2017-12-05 | 中兴通讯股份有限公司 | 流媒体快速启动方法、装置和系统 |
CN108574706B (zh) * | 2017-03-09 | 2020-12-01 | 腾讯科技(北京)有限公司 | 媒体文件的推送方法及装置 |
CN108632642B (zh) * | 2017-03-16 | 2021-09-03 | 杭州海康威视数字技术股份有限公司 | 流媒体推送方法及装置 |
CN108668179B (zh) * | 2017-03-27 | 2021-05-14 | 华为技术有限公司 | 媒体索引文件的传输方法及相关设备 |
JP7175658B2 (ja) * | 2018-07-25 | 2022-11-21 | キヤノン株式会社 | 映像配信装置、配信方法及びプログラム |
CN111510789B (zh) * | 2019-01-30 | 2021-09-21 | 上海哔哩哔哩科技有限公司 | 视频播放方法、系统、计算机设备及计算机可读存储介质 |
CN112218166A (zh) * | 2020-10-13 | 2021-01-12 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种对点播视频记忆播放的启播方法及相关装置 |
CN113794898B (zh) * | 2021-08-13 | 2023-03-07 | 网宿科技股份有限公司 | Dash媒体流传输方法、电子设备及存储介质 |
CN114422831B (zh) * | 2022-01-20 | 2024-03-19 | 北京奇艺世纪科技有限公司 | 媒体播放方法及装置、电子设备和可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202900B (zh) * | 2007-03-12 | 2010-09-29 | 深圳市同洲电子股份有限公司 | 一种数字电视直播与回放的切换方法及视频服务器 |
CN102130936A (zh) * | 2010-08-17 | 2011-07-20 | 华为技术有限公司 | 一种在动态http流传输方案中支持时移回看的方法和装置 |
CN102714662A (zh) * | 2010-01-18 | 2012-10-03 | 瑞典爱立信有限公司 | 用于http媒体流分发的方法和装置 |
US20130042013A1 (en) * | 2011-08-10 | 2013-02-14 | Nokia Corporation | Methods, apparatuses and computer program products for enabling live sharing of data |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9386064B2 (en) * | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
EP2114027A1 (en) * | 2008-04-30 | 2009-11-04 | Gemplus | Method of detecting TV off event on a mobile terminal |
KR101786051B1 (ko) * | 2009-11-13 | 2017-10-16 | 삼성전자 주식회사 | 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치 |
US20130117413A1 (en) | 2010-07-20 | 2013-05-09 | Sharp Kabushiki Kaisha | Content distribution device, content playback device, content distribution system, method for controlling a content distribution device, control program, and recording medium |
KR20120010089A (ko) * | 2010-07-20 | 2012-02-02 | 삼성전자주식회사 | Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치 |
US9456015B2 (en) * | 2010-08-10 | 2016-09-27 | Qualcomm Incorporated | Representation groups for network streaming of coded multimedia data |
CN102137137B (zh) * | 2010-09-17 | 2013-11-06 | 华为技术有限公司 | 基于http流的媒体内容动态插播方法、装置及系统 |
CN102148851B (zh) | 2010-09-30 | 2014-09-17 | 华为技术有限公司 | 一种在动态http流传输中应用父母控制的方法和装置 |
MY168733A (en) * | 2010-11-02 | 2018-11-29 | Ericsson Telefon Ab L M | Methods and devices for media description delivery |
CN107071588A (zh) | 2011-01-12 | 2017-08-18 | 夏普株式会社 | 再生装置 |
JP2013021574A (ja) | 2011-07-12 | 2013-01-31 | Sharp Corp | 生成装置、配信サーバ、生成方法、再生装置、再生方法、再生システム、生成プログラム、再生プログラム、記録媒体およびデータ構造 |
US9590814B2 (en) * | 2011-08-01 | 2017-03-07 | Qualcomm Incorporated | Method and apparatus for transport of dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments |
EP2753045B2 (en) * | 2011-09-30 | 2018-06-13 | Huawei Technologies Co., Ltd. | Method and device for transmitting stream media |
US9294531B2 (en) * | 2012-07-12 | 2016-03-22 | Futurewei Technologies, Inc. | Signaling and processing content with variable bitrates for adaptive streaming |
US9716982B2 (en) * | 2012-07-27 | 2017-07-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatus and method for providing interactive services in a network |
US9438654B2 (en) * | 2013-04-18 | 2016-09-06 | Futurewei Technologies, Inc. | Fragment interface into dynamic adaptive streaming over hypertext transfer protocol presentations |
-
2013
- 2013-04-24 CN CN201310144851.9A patent/CN104125516B/zh not_active Expired - Fee Related
- 2013-09-27 EP EP13882840.5A patent/EP2938091B1/en not_active Not-in-force
- 2013-09-27 KR KR1020157021327A patent/KR101734168B1/ko active IP Right Grant
- 2013-09-27 JP JP2016506753A patent/JP2016519895A/ja active Pending
- 2013-09-27 WO PCT/CN2013/084513 patent/WO2014173079A1/zh active Application Filing
-
2014
- 2014-04-10 US US14/249,767 patent/US9628547B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202900B (zh) * | 2007-03-12 | 2010-09-29 | 深圳市同洲电子股份有限公司 | 一种数字电视直播与回放的切换方法及视频服务器 |
CN102714662A (zh) * | 2010-01-18 | 2012-10-03 | 瑞典爱立信有限公司 | 用于http媒体流分发的方法和装置 |
CN102130936A (zh) * | 2010-08-17 | 2011-07-20 | 华为技术有限公司 | 一种在动态http流传输方案中支持时移回看的方法和装置 |
US20130042013A1 (en) * | 2011-08-10 | 2013-02-14 | Nokia Corporation | Methods, apparatuses and computer program products for enabling live sharing of data |
Non-Patent Citations (1)
Title |
---|
See also references of EP2938091A4 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020211731A1 (zh) * | 2019-04-19 | 2020-10-22 | 华为技术有限公司 | 一种视频播放方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104125516A (zh) | 2014-10-29 |
US9628547B2 (en) | 2017-04-18 |
KR101734168B1 (ko) | 2017-05-11 |
EP2938091B1 (en) | 2017-12-27 |
US20140325018A1 (en) | 2014-10-30 |
KR20150104188A (ko) | 2015-09-14 |
JP2016519895A (ja) | 2016-07-07 |
EP2938091A1 (en) | 2015-10-28 |
CN104125516B (zh) | 2018-09-28 |
EP2938091A4 (en) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2014173079A1 (zh) | 媒体文件接收、媒体文件发送方法和装置及系统 | |
US9807452B2 (en) | Practical delivery of high quality video using dynamic adaptive hypertext transport protocol (HTTP) streaming (DASH) without using HTTP in a broadcast network | |
EP2391086B1 (en) | Method and apparatus for playing live content | |
Sodagar | The mpeg-dash standard for multimedia streaming over the internet | |
US20150256600A1 (en) | Systems and methods for media format substitution | |
EP3425921B1 (en) | Method and apparatus for transmitting and receiving adaptive streaming mechanism-based content | |
CN110933517B (zh) | 码率切换方法、客户端和计算机可读存储介质 | |
WO2013053326A1 (zh) | 回看节目录制、播放方法、服务器、客户端及系统 | |
CN105828096B (zh) | 媒体流文件的处理方法和装置 | |
WO2011147352A1 (zh) | 一种在动态http流传输方案中支持时移回看的方法和装置 | |
US9356821B1 (en) | Streaming content delivery system and method | |
TWI616097B (zh) | 串流裝置及方法、串流服務系統及記錄介質 | |
WO2012171507A1 (zh) | 向客户端传输数据文件的方法和装置 | |
WO2016015419A1 (zh) | 流媒体的播放方法与播放装置 | |
US9876840B2 (en) | Method and apparatus for dynamically generating media sequences on demand for HTTP live streaming | |
WO2011039614A1 (en) | Systems, methods and apparatuses for media file streaming | |
WO2011150644A1 (zh) | 一种启动阶段的流媒体数据获取、发送方法及装置 | |
WO2015109847A1 (zh) | 一种分段节目快速分发的方法、服务器及客户端 | |
CN109151614B (zh) | 一种降低hls直播播放延迟的方法及装置 | |
WO2020078388A1 (zh) | 一种流媒体数据传输方法、设备、装置和计算机存储介质 | |
CN106658150B (zh) | 一种实现回看处理的方法及装置 | |
WO2011110117A2 (zh) | 基于超文本传输协议的多码率定位播放方法、设备及系统 | |
CN106791993B (zh) | P2p直播系统及p2p直播方法 | |
WO2012071932A1 (zh) | 一种分段节目快速启动的方法及系统 | |
CN114173145A (zh) | 一种基于hls协议动态码率低延迟直播方法 |
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: 13882840 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013882840 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 20157021327 Country of ref document: KR Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2016506753 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |