WO2018014557A1 - 一种流媒体文件分片下载方法、装置及终端 - Google Patents
一种流媒体文件分片下载方法、装置及终端 Download PDFInfo
- Publication number
- WO2018014557A1 WO2018014557A1 PCT/CN2017/074597 CN2017074597W WO2018014557A1 WO 2018014557 A1 WO2018014557 A1 WO 2018014557A1 CN 2017074597 W CN2017074597 W CN 2017074597W WO 2018014557 A1 WO2018014557 A1 WO 2018014557A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- streaming media
- media file
- sub
- downloaded
- file fragment
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26216—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4622—Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6125—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
Definitions
- the present application relates to the field of streaming media technologies, and in particular, to a streaming media file fragment downloading method, apparatus, and terminal.
- Streaming media files are file formats that are transmitted using streaming media transmission technology.
- Traditional streaming media files consist of multiple shards.
- streaming media file playback is based on sharding, that is, downloading a shard can be played, without waiting for all shards to be downloaded. Therefore, while playing the downloaded shards, download other shards that need to be played.
- the terminal When the terminal downloads the streaming media file, it generates a streaming media file fragmentation list according to the streaming media file to be downloaded.
- the streaming media file fragmentation list includes the fragmentation address and the fragmentation address sequence.
- the address of the slice to be downloaded is determined according to the sequence of the slice addresses, and after determining the address of the slice to be downloaded, the address is linked to the indicated server. Because the address information will contain the information of the fragment to be downloaded, the fragment that needs to be downloaded can be accurately found according to the fragmentation information, and then downloaded.
- the terminal decodes the slice and plays it, and the next slice starts to enter the download.
- the terminal can decode and play the slice only after the slice is completely downloaded.
- the network between the terminal and the server presents different network quality along with the time of transmission.
- the larger fragmentation requires a longer download. Time, it is easy to cause the downloaded shards to be decoded and played, and the shards to be played have not been downloaded yet, resulting in problems such as playing cards.
- the present invention provides a streaming file segment downloading method, device, and terminal.
- the streaming media file is large and the network environment is poor, the downloading efficiency of the streaming media file fragment can be improved.
- the present application provides a method for downloading a streaming media file fragment, including: determining a length of a streaming media file fragment to be downloaded; and when the length of the streaming media file to be downloaded is greater than a preset length, The stream file fragment to be downloaded is split into at least two sub-slices, wherein each sub-slice is not longer than the preset length; each of the sub-slices is downloaded separately. Since the split sub-segment has a short length, it takes less time to download a sub-shard, and each sub-slice can be downloaded separately, so the streaming media file before the split can be faster. Complete the download.
- the fragment length information returned by the server is obtained, and after being compared with the preset length, it is determined whether splitting is needed to achieve fast download of the fragment.
- the preset length is matched with a transmission bandwidth between the terminal and the server, according to the transmission between the terminal and the server.
- the bandwidth is set to a preset length to ensure smooth downloading of streaming media file fragments.
- the splitting the streaming media file to be downloaded into the at least two sub-slices includes: determining the sub-slice The maximum length of the stream media file fragment to be downloaded; the field range is divided into at least two sub-ranges, wherein the length of each sub-range is not greater than the maximum length.
- the preset length is set according to the transmission bandwidth of the current terminal and the server. Therefore, the length of the sub-segment is not greater than the preset length, so that smooth downloading of the fragment can be achieved under the current transmission bandwidth.
- the dividing the field range into the at least two sub-ranges includes: dividing the field range, at least a sub-range and a second sub-range, wherein the first sub-range corresponds to a field range in which the streaming media file fragment to be downloaded is played first; the field length of the first sub-range is smaller than the second sub-range Field length. This ensures that when the different threads are downloaded at the same time, the range of fields to be downloaded first to be downloaded can be downloaded as much as possible.
- the separately downloading each sub-slice includes: generating a download request of the sub-slice, each download request and one Corresponding to the sub-range, including the sub-range corresponding to the downloading address of the streaming media file to be downloaded and the download request; sending the download request of the sub-shard; and receiving the sub-segment sent back by the server according to the download request of the sub-shard .
- Each download request corresponds to a sub-scope, and different download requests complete the download request of the downloadable slice, and different ranges are separately downloaded, which ensures the download efficiency of the downloaded streaming media file fragment.
- the downloading the sub-chip download request includes: sending the download request in parallel.
- the downloading request in parallel and requesting to download multiple sub-shards the streaming file fragment to be downloaded can be completed faster.
- the method further includes: acquiring an address of the second streaming media file fragment, where the second streaming media file fragment is the to-be-downloaded The next streaming media file fragment of the streaming media file fragment; determining, according to the address of the second streaming media file fragment, the server where the second streaming media file fragment is located; if the second streaming media file is divided The slice is different from the server where the streaming media file fragment to be downloaded is located, and requests to download the second streaming media file fragment. If the terminal can continue to request downloading, after completing the download request for downloading the streaming media file fragment, continue the second streaming media to different servers. The file fragment is sent out to download the request, so that the parallel downloading of the multi-stream media file fragment is realized, so that the probability of the card is reduced when the terminal plays the streaming media file.
- the method further includes: after the downloading of the to-be-downloaded streaming media file is completed, statistically downloading the fragment of the streaming media file to be downloaded a transmission bandwidth between the terminal and the server; determining a second preset length according to the transmission bandwidth. After the download of the downloaded streaming media file is completed, the transmission bandwidth between the terminal and the server is counted, and the split preset length of the next streaming media file fragment is determined, and the next streaming media file fragment is quickly downloaded as much as possible. To achieve smooth playback of the terminal.
- the present application further provides a streaming media file fragment downloading apparatus, including: a determining unit, configured to determine a length of a streaming media file fragment to be downloaded.
- the processing unit is configured to split the streaming media file to be downloaded into at least two when the length of the streaming media file to be downloaded is greater than a preset length that matches the transmission bandwidth between the terminal and the server. a sub-slice, wherein each sub-slice is not longer than the preset length. a download unit for downloading each of the sub-slices separately.
- the sub-shards after the processing unit is split are shorter in length, and the time required to download one sub-slice is also less, and the download unit downloads each sub-slice separately, so the streaming media before the splitting is performed. File sharding can complete the download faster.
- the determining unit includes: a sending subunit, configured to send a fragment download request to the server.
- the receiving subunit is configured to receive feedback information sent back by the server, where the feedback information includes a length of the streaming media file fragment to be downloaded.
- the sending subunit sends a fragment download request, and the receiving subunit receives the fragment length information fed back by the server, and quickly obtains the length of the downloaded streaming media file fragment.
- the processing unit includes: a first determining subunit, configured to determine a maximum length of the sub-slice. And a second determining subunit, determining a field range of the streaming media file fragment to be downloaded. And dividing a subunit for dividing the field range into at least two subranges, wherein each subrange is not longer than the maximum length.
- the downloading includes: a request generating subunit, a download request for generating a sub-shard, each download request and A sub-range corresponds to the sub-scope corresponding to the download URL of the streaming media file to be downloaded and the download request.
- a request sending subunit is configured to send a download request of the sub-slice.
- the fragment receiving subunit is configured to receive a sub-segment sent back by the server according to the download request of the sub-shard.
- Each download request generated by the request generation subunit corresponds to one sub-range, and the request sending sub-unit issues a download request for downloading the slice to be downloaded, and the different ranges are separately downloaded, which ensures The download efficiency of the streaming file segment to be downloaded.
- the request sending subunit is configured to send the download request in parallel.
- the request sending subunit is configured to send the download request in parallel.
- the device further includes: an acquiring unit and a second determining unit.
- the acquiring unit is configured to obtain an address of the second streaming media file fragment, and the second streaming media file fragment is a next streaming media file fragment of the streaming media file fragment to be downloaded.
- the second determining unit is configured to determine, according to the address of the second streaming media file fragment, the server where the second streaming media file fragment is located.
- the downloading unit requests to download the second streaming media file fragment if the second streaming media file fragment is different from the server where the streaming media file fragment to be downloaded is located. If the downloading request of the downloading of the streaming media file fragment is completed, the obtaining unit continues to issue a download request to the second streaming media file fragment of the different server, so that the multi-streaming media file fragmentation is implemented.
- the parallel downloading makes the terminal reduce the chance of getting stuck when playing the streaming media file.
- the apparatus further includes: a statistics unit and a setting unit.
- the statistic unit is configured to periodically download the transmission bandwidth between the terminal of the to-be-downloaded streaming media file fragment and the server after the downloading of the to-be-downloaded streaming media file is completed.
- the setting unit determines a second preset length according to the transmission bandwidth. After the downloading of the downloaded streaming media file fragment is completed, the statistical unit counts the transmission bandwidth between the terminal and the server, and the setting unit determines to download the split preset length of the next streaming media file fragment, as much as possible to ensure A streaming media file is quickly downloaded to achieve smooth playback of the terminal.
- the present application further provides a terminal, including: a processor, a communication interface, and a memory, wherein the processor, the communication interface, and the memory are connected by a communication bus; the processor is configured to determine The length of the stream file fragment to be downloaded; the processor is further configured to: when the stream file length of the to-be-downloaded file is greater than a preset length matching the transmission bandwidth between the terminal and the server, The streaming media file fragment to be downloaded is split into at least two sub-shards; the communication interface is configured to receive each sub-segment sent back by the server, and transmit the same to the processor through the communication bus; The memory is used to store each sub-slice received through the communication interface.
- FIG. 1 is a schematic flowchart diagram of an embodiment of a streaming media file fragment downloading method provided by the present application
- FIG. 2 is a schematic diagram of an embodiment of splitting a stream media file fragment field to be downloaded provided by the present application
- FIG. 3 is a schematic diagram of another embodiment of splitting a stream media file fragmentation field to be downloaded according to the present application.
- FIG. 4 is a schematic diagram of a third embodiment of a splitting of a streaming media file fragmentation field to be downloaded according to the present application
- FIG. 5 is a schematic diagram of an embodiment of requesting to download a streaming media file fragment to be downloaded according to the present application
- FIG. 6 is a schematic diagram of an embodiment of requesting to download multiple streaming media file fragments of a server according to the present application
- FIG. 7 is a schematic diagram of an embodiment of requesting to download multiple streaming media file fragments of different servers according to the present application.
- FIG. 8 is a schematic diagram of an embodiment of a streaming media file fragment downloading apparatus provided by the present application.
- FIG. 9 is a schematic diagram of an embodiment of a terminal provided by the present application.
- FIG. 1 is a schematic flowchart of a streaming media file fragment downloading method according to an exemplary embodiment, where the method includes:
- the streaming media file fragment to be downloaded is determined. If the streaming media file fragment has not been downloaded at the previous moment, the streaming media corresponding to the first fragment address is downloaded according to the address sequence in the streaming media file fragmentation list. If the file is fragmented, the streaming file fragment corresponding to the first fragment address is fragmented by the streaming media file to be downloaded.
- the streaming media file fragment corresponding to the nth fragment address needs to be downloaded at the next moment, and the nth The streaming media file fragment corresponding to the fragmentation address is a fragment of the streaming media file to be downloaded.
- the server After receiving the fragment download request, the server searches for the corresponding streaming media file fragment according to the identifier information included in the download request, and then sends back a feedback message to the terminal that sends the download request, the feedback.
- the information includes the length of the stream file fragment corresponding to the first fragment address.
- the terminal After receiving the feedback information sent by the server, the terminal completes the analysis of the feedback information and obtains the length of the stream file file to be downloaded.
- the terminal After obtaining the length of the streaming media file fragment to be downloaded, the terminal fragments the streaming media file to be downloaded. The length is compared to the preset length. When the length of the streaming media file fragment to be downloaded is greater than the preset length, the streaming media file to be downloaded is split into at least two sub-slices.
- the preset length is set according to a transmission bandwidth between the terminal and the server, and the preset length is preset to different lengths according to different transmission bandwidths. Assume that the transmission bandwidth at a certain moment is Q1, and the preset length according to Q1 is L1; at the next moment, the transmission bandwidth becomes Q2, and Q2 is smaller than Q1. At this time, the preset length needs to be adjusted to L2, where L2 is smaller than L1. That is, the preset length is proportional to the transmission bandwidth.
- the transmission bandwidth between the terminal and the server is 10M
- 4 threads are downloaded simultaneously between the terminal and the server, and each download thread can obtain a download bandwidth of 1M to 2M.
- the preset length can be set to 512K.
- the download bandwidth of each download thread may be less than 1M.
- the preset length is also set to 512K, the download will be blocked. Therefore, the preset length can be set to 256K or less to ensure the fluency of multi-threaded download.
- the preset length data corresponding to the different bandwidths given above is only schematic. In practice, the preset length setting also refers to the historical data in the actual downloading process, and obtains the optimal preset length value in combination with the current network environment. .
- the fragment of the to-be-downloaded streaming media file is split into at least two sub-shards, which is not a physical split, but is based on the length and pre-segment of the streaming media file to be downloaded.
- the length is set to divide the field range of the streaming media file fragment to be divided into several sub-ranges. First determining a maximum length of the sub-segment, the maximum length is not greater than the preset length; and then determining a field range of the streaming media file fragment to be downloaded, and sharding the to-be-downloaded streaming media file according to the determined maximum length The field range is divided.
- the length of the streaming media file fragment to be downloaded is 2 MB
- the preset length set according to the transmission bandwidth between the terminal and the server at the current moment is 512 KB. Therefore, the maximum length of the sub-slice can be set to 512 KB, so that the field range of the stream file fragment to be downloaded is divided into four sub-ranges, and the four sub-ranges are (0 KB, 512 KB], (512 KB, 1024 KB). , (1024KB, 1536KB), (1536KB, 2048KB).
- the length of the stream file fragment to be downloaded is a multiple of a preset length.
- the length of the streaming media file to be downloaded is 1.25 MB
- the preset length is still 512 KB
- the maximum length of the sub-slice can also be set to 512 KB
- the streaming media to be downloaded is to be downloaded.
- the field range of the file fragmentation is divided into three sub-ranges, and the three sub-ranges are (0KB, 512KB), (512KB, 1024KB), (1024KB, 1280KB). It can be seen that the field lengths of the above three sub-ranges are respectively It is 512 KB, 512 KB, and 256 KB.
- the third sub-slice will be downloaded first.
- the terminal plays the streaming media file fragmentation, it is still played in the order of the original fragmentation.
- the above three subranges can be set first. Shorter. The above only considers the case where the download speed of the three threads is the same. In practice, the download speed will fluctuate with time, as long as the field of each slice is guaranteed. The length is not greater than the preset length.
- the maximum length of the sub-segment can also be adjusted, and the maximum length is set to 430 KB. If the streaming file fragment to be downloaded is split into three field ranges, as shown in FIG. 4, three sub-subjects can be used. The range is divided into (0KB, 430KB), (430KB, 860KB), (860KB, 1280KB), and the lengths of the three sub-ranges are 430KB, 430KB, and 420KB, respectively.
- the above maximum length setting is only exemplary, and is not Limited to the above set length.
- the sub-segment corresponding to the range of the header file field of the to-be-downloaded streaming media file carries the format, encoding mode, and stream of the streaming media file fragment to be downloaded. Information such as the total length of the media file fragmentation field.
- the field ranges corresponding to the four sub-slices are (0KB, 512KB), (512KB, 1024KB), (1024KB, 1536KB), (1536KB, 2048KB). (0KB, 512KB)
- the sub-segment of the field range is the file header portion of the streaming media file to be downloaded, and the sub-segment carries the format, encoding mode, and streaming media file fragmentation field of the streaming media file fragment to be downloaded. Length and other information.
- the field range When the sub-segment of the (0KB, 512KB) field range is downloaded and sent to the decoder of the terminal for decoding and playback, the field ranges from (512KB, 1024KB), (1024KB, 1536KB) and (1536KB, 2048KB). After the download of the slice is completed, it will be serially sent to the decoder of the terminal to decode and play, and the information decoders such as the data format and encoding mode of the data of the above three sub-segments have been known from the sub-slice corresponding to (0KB, 512KB). Therefore, the decoding can be performed directly until the data decoding of the last field range is completed, and the terminal determines that the streaming media file segmentation is completed according to the total length of the streaming media file fragmentation field that is known in advance.
- Each sub-slice download request includes a download address of the streaming media file fragment to be downloaded and a sub-range corresponding to the current download request.
- the server After receiving the sub-segment download request, the server sends back the sub-segment of the corresponding field range according to the field range of the downloaded streaming media file fragment requested by the sub-slice download, and the terminal receives the sub-segment sent back by the server. download.
- the terminal sends the sub-slice download request to the server in parallel, that is, simultaneously requests to download multiple sub-shards.
- the terminal can simultaneously download four sub-slices at a time.
- the length of the streaming media file to be downloaded is 2 MB
- the preset length of the transmission bandwidth setting between the terminal and the server at the current moment is 512 KB.
- the range is divided into four sub-ranges, and the four sub-ranges are (0KB, 512KB), (512KB, 1024KB), (1024KB, 1536KB), (1536KB, 2048KB). It is assumed that the address of the streaming file to be downloaded is URL1.
- the addresses included in the four sub-segment download requests sent by the terminal are the same, all of which are URL1.
- the difference is that the sub-slices corresponding to the four sub-slice download requests have different field ranges, and the four sub-slice download requests are respectively The different field ranges of the requested streaming media file fragments to be downloaded. It is assumed that the four sub-tile download requests in parallel are named download request 1, download request 2, download request 3, and download request 4, and the four sub-slice download requests are At the same time, as shown in FIG.
- the server sends back the sub-fragment field range of the download request 1
- the download request 2 to the download request 4 may sequentially request the field range of the streaming media file fragment to be downloaded (512 KB) ,1024KB], (1024K B, 1536 KB] and (1536 KB, 2048 KB) portions.
- the above embodiment is only illustrative, and the download request 1 may also request any of the above four different sub-ranges, and details are not described herein again.
- the terminal can download 4 sub-shards at a time. If another situation is found in S102, the length of the streaming file to be downloaded is 1.25 MB, and the maximum length of the sub-slice is 512 KB, and the streaming file to be downloaded is to be downloaded. The field range of the shard is split into 3 sub-ranges. In this case, you need to send 3 sub-slice download requests to download the streaming file to be downloaded. However, if only one sub-slice download request is issued, the resource between the terminal and the server is wasted. As shown in FIG. 6, when the terminal issues three sub-segment download requests, the second streaming media file fragment is also sent. Download request.
- the second streaming media file fragment is a streaming media file fragment corresponding to a next fragment address of the streaming media file fragment address in the fragmentation list.
- Two different situations occur. After the terminal sends a second streaming media file fragment request to the server, if the received feedback information indicates that the second streaming media file fragment is not greater than the preset length, the terminal may directly And sending a second streaming media file fragment download request, and simultaneously downloading the second streaming media file fragment and the three sub-shards of the to-be-downloaded streaming media file fragment. If the second streaming media file fragment is larger than the preset length, the second streaming media file fragment is split according to the method in S102, and the corresponding field range is requested to be downloaded. For details, refer to the description in S102, and details are not described herein again.
- the method for downloading the streaming media file fragment determines the preset length according to the transmission bandwidth between the terminal and the server, and when the fragment length of the streaming media file to be downloaded is greater than the preset length.
- the streaming media file fragment to be downloaded is split according to the preset length. Specifically, the field range of the streaming media file fragment to be downloaded is split into multiple sub-ranges, and then multiple sub-ranges are requested to be downloaded in parallel. Since the sub-slices corresponding to each sub-range are of a short length, the streaming media file shards before the split can be downloaded faster. Moreover, the plurality of sub-shards are separately downloaded, thereby improving the downloading efficiency of the entire streaming media file fragment.
- the different streaming media files may be different in the server. Therefore, the second streaming media file fragment may be different from the server where the streaming media file fragment is to be downloaded, because the preset length is set according to the transmission bandwidth between the terminal and the server, so if the second streaming media When the server is different, the terminal and the second streaming media file are divided.
- the third preset length between the servers in which the tiles are located may be different from the preset lengths.
- the preset length is 512 KB according to the transmission bandwidth between the terminal and the server where the streaming media file fragment is to be downloaded. If the transmission bandwidth between the terminal and the server where the second streaming media file is located is twice the transmission bandwidth between the terminal and the server where the streaming media file is to be downloaded, the third preset length may be set to 1 MB. .
- the terminal issues a download request and simultaneously downloads the n streaming media file fragments.
- the terminal downloads the corresponding splits of the streaming media files from different servers.
- the preset length is also different.
- the terminal may send a streaming file download request to multiple servers, thereby implementing downloading of multiple streaming media files. It ensures that the terminal decodes the streaming media file fragmentation more smoothly than the traditional way.
- the statistic downloads the transmission bandwidth between the terminal and the server of the streaming media file fragment to be downloaded, and determines the second preset length according to the transmission bandwidth.
- the preset length is set to 512 KB in S102 according to the current transmission bandwidth between the terminal and the server, and the statistics are re-stated after the streaming media file is downloaded.
- the foregoing embodiment is only an example.
- the terminal may send multiple streaming media file fragments at the same time, and is not limited to the one-time four download requests mentioned in the foregoing embodiment.
- the download method is applicable to the network adaptive streaming protocol (based on fragmentation), such as HLS, DASH, etc., and the general progressive download streaming protocol is also applicable, such as the http protocol, etc., which are not described in detail.
- the present application further discloses a streaming media file fragment downloading apparatus.
- the apparatus includes: a determining unit 201, a processing unit 202, and a downloading unit 203.
- the determining unit 201 is configured to determine a length of the streaming media file fragment to be downloaded.
- the determining unit 201 includes a transmitting subunit 2011 and a receiving subunit 2012.
- the sending sub-unit 2011 sends a fragment download request to the server.
- the server After receiving the download request, the server sends back feedback information corresponding to the download request to the determining unit 201, where the feedback information includes the length of the streaming media file fragment to be downloaded.
- the receiving subunit 2012 receives feedback information sent back by the server.
- the processing unit 202 is configured to split the streaming media file to be downloaded into pieces when the length of the streaming media file to be downloaded is greater than a preset length that matches the transmission bandwidth between the terminal and the server. At least two a sub-slice, wherein each sub-slice is not longer than the preset length.
- the processing unit 202 includes a first determining subunit 2021, a second determining subunit 2022, and a dividing subunit 2023.
- the first determining subunit 2021 is configured to determine a maximum length of the sub-slice, wherein the maximum length is not greater than the preset length.
- a second determining sub-unit 2022 configured to determine a field range of the to-be-downloaded streaming media file fragment, where a field end of the field range of the to-be-downloaded streaming media file fragment and a field header are only equal to the to-be-downloaded streaming medium The length of the file fragment.
- the dividing subunit 2023 is configured to divide the field range into at least two sub-ranges, wherein a length of each sub-range is not greater than the maximum length.
- the download unit 203 is configured to download each of the sub-slices separately.
- the download unit 203 includes: a request generation subunit 2031, a request transmission subunit 2032, and a fragmentation receiving subunit 2033.
- the request generating sub-unit 2031 is configured to generate a download request of the sub-segment, where each download request corresponds to a sub-range, and includes a sub-range corresponding to the downloading of the streaming media file and the download request; the request The sending subunit 2032 is configured to send a download request of the sub-slice. Preferably, the request sending subunit sends a download request of the sub-slice in parallel.
- the fragment receiving subunit 2033 is configured to receive a sub-segment sent back by the server according to the download request of the sub-slice.
- the streaming media file fragment downloading device further includes an obtaining unit 204 and a second determining unit 205.
- the obtaining unit 204 is configured to obtain an address of the second streaming media file fragment, where the second streaming media file fragment is the next streaming media file fragment of the streaming media file fragment to be downloaded.
- the second determining unit 205 is configured to determine, according to the address of the second streaming media file fragment, the server where the second streaming media file fragment is located.
- the downloading unit 203 is configured to request to download the second streaming media file fragment if the second streaming media file fragment is different from the server where the streaming media file fragment to be downloaded is located.
- the streaming media file fragment downloading device further includes a statistics unit 206 and a setting unit 207.
- the statistic unit 206 is configured to: after the downloading of the to-be-downloaded streaming media file is completed, downloading a transmission bandwidth between the terminal and the server of the to-be-downloaded streaming media file fragment; the setting unit 207 is configured to: Determining a second preset length according to the transmission bandwidth.
- the present application also discloses a terminal.
- the terminal includes a processor 301, a communication serial port 302, and a memory 303.
- the processor 301, the communication interface 302, and the memory 303 pass through a communication bus 304. Connected.
- the processor 301 is configured to determine a length of the streaming media file fragment to be downloaded, and when the length of the streaming media file to be downloaded is greater than a preset length matching the transmission bandwidth between the terminal and the server,
- the streaming media file to be downloaded is split into at least two sub-slices. Specifically include:
- the processor 301 sends a fragment download request to the server, and then receives feedback information sent by the server, where the feedback information includes the length of the stream file fragment to be downloaded, thereby determining the length of the stream file fragment to be downloaded. .
- the processor 301 determines a maximum length of the sub-slice and a field range of the streaming media file fragment to be downloaded.
- the field range is divided into at least two sub-ranges, wherein the length of each sub-range is not greater than the maximum length.
- the download request of the sub-segment is generated, and each download request corresponds to a sub-range, and the downloaded streaming media file is downloaded.
- the sub-range corresponding to the address and download request.
- the download request for the sub-slice is then sent to the server.
- the communication interface 302 receives each sub-segment sent back by the server, and transmits the sub-segment to the processor through the communication bus 304;
- the memory 303 is configured to store each sub-slice received through the communication interface.
- the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment.
- the present application is applicable to a wide variety of general purpose or special purpose computing system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor based systems, set-top boxes, programmable consumer electronics devices, network PCs, small computers, mainframe computers, including A distributed computing environment of any of the above systems or devices, and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种流媒体文件分片下载方法、装置及终端,包括确定待下载的流媒体文件分片的长度;当所述待下载的流媒体文件分片长度大于预设长度时,将所述待下载的流媒体文件分片拆分为至少两个子分片,其中,每一个子分片的长度都不大于所述预设长度;分别下载每一个所述子分片。当网络环境比较差,且待下载流媒体文件分片比较长时,根据预设长度将待下载流媒体文件分片进行拆分,然后并行下载拆分后的子分片。由于拆分后的子分片长度较短,因此相对拆分前的待下载流媒体文件分片可以更快的完成下载。而且对多个子分片分别进行下载,从而提高了整个流媒体文件分片的下载效率。
Description
本申请涉及流媒体技术领域,尤其涉及一种流媒体文件分片下载方法、装置及终端。
流媒体文件是利用流媒体传输技术实现传输的文件形式,传统的流媒体文件由多个分片组成。与常见的下载播放不同的是,流媒体文件播放是以分片为单位,即下载完一个分片就可以实现播放,不需要等待将所有分片全部下载完。从而实现边播放已经下载好的分片,边下载其他需要播放的分片。
终端下载流媒体文件时,会根据需要下载的流媒体文件生成一个流媒体文件分片列表,流媒体文件分片列表中包含分片地址和分片地址顺序。首先根据分片地址顺序确定待下载分片的地址,确定了待下载分片的地址后,通过该地址链接到指示的服务器。因为地址信息中会包含需要下载的分片的信息,因此可以根据分片的信息准确找到需要下载的分片,然后进行下载。当一个分片下载完成后,终端对该分片进行解码,并播放,同时下一个分片开始进入下载。
由于流媒体的播放是以分片为单位,因此只有分片被完整下载后,终端才能对该分片进行解码播放。但是在实际的分片下载过程中,终端与服务器之间的网络会随着传输的时间呈现不同的网络质量。当根据流媒体文件分片列表中指示的分片地址下载分片时,如果分片较大而服务器与终端之间的网络环境此时较差,那么较大的分片就需要较长的下载时间,易造成已下载的分片已经被解码播放完毕,而待播放的分片尚未下载完毕,从而导致播放卡顿等问题。
发明内容
本申请提供了流媒体文件分片下载方法、装置及终端,当流媒体文件分片较大且网络环境较差时,可以提高流媒体文件分片的下载效率。
第一方面,本申请提供了流媒体文件分片下载方法,包括:确定待下载的流媒体文件分片的长度;当所述待下载的流媒体文件分片长度大于预设长度时,将所述待下载的流媒体文件分片拆分为至少两个子分片,其中,每一个子分片的长度都不大于所述预设长度;分别下载每一个所述子分片。由于拆分后的子分片长度较短,下载完一个子分片所需的时间也更少,而且可以分别下载每一个子分片,因此相对拆分前的流媒体文件分片可以更快的完成下载。
结合第一方面的实现方式,在第一方面第一种可能的实现方式中,所述确定待下载的流媒体文件分片的长度包括:向服务器发出分片下载请求;接收服务器发回的反馈信息,所述反馈信息包含待下载的流媒体文件分片的长度。通过发出分片下载请求,获得服务器反馈回来的分片长度信息,通过与预设长度比较后,确定是否需要进行拆分,实现分片的快速下载。
结合第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,所述预设长度与终端与服务器之间的传输带宽相匹配,根据终端与服务器之间的传输带宽设置预设长度,保证流畅下载流媒文件子分片。
结合第一方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,所述将待下载的流媒体文件分片拆分为至少两个子分片包括:确定子分片的最大长度;确定所述待下载流媒体文件分片的字段范围;将所述字段范围划分为至少两个子范围,其中,每一个子范围的长度都不大于所述最大长度。所述预设长度是根据当前终端与服务器的传输带宽设定的,因此设置子分片长度不大于预设长度,可以保证在当前传输带宽下可以实现分片的流畅下载。
结合第一方面第三种可能的实现方式,在第一方面第四种可能的实现方式中,所述将字段范围划分为至少两个子范围,包括:将所述字段范围进行划分,至少包括第一子范围和第二子范围,其中所述第一子范围对应所述待下载流媒体文件分片最先播放的字段范围;所述第一子范围的字段长度小于所述第二子范围的字段长度。这样可以保证在不同线程同时下载时,待下载流媒体文件分片需要最先下载的字段范围可以尽可能的优先下载完毕。
结合第一方面第三种可能的实现方式,在第一方面第五种可能的实现方式中,所述分别下载每一个子分片包括:生成子分片的下载请求,每一个下载请求与一个子范围相对应,包含待下载流媒体文件分片下载地址和下载请求对应的子范围;发送所述子分片的下载请求;接收服务器根据所述子分片的下载请求发回的子分片。每个下载请求对应一个子范围,不同的下载请求就完成了待下载分片的下载请求,且不同范围是分别进行下载的,保证了待下载流媒体文件分片的下载效率。
结合第一方面第五种可能的实现方式,在第一方面第六种可能的实现方式中,所述发送子分片的下载请求包括:并行发送所述下载请求。并行发出下载请求,同时请求下载多个子分片,可以更快的完成待下载流媒体文件分片。
结合第一方面的实现方式,在第一方面第七种可能的实现方式中,还包括:获取第二流媒体文件分片的地址,所述第二流媒体文件分片为所述待下载的流媒体文件分片的下一个流媒体文件分片;根据所述第二流媒体文件分片的地址确定所述第二流媒体文件分片所处的服务器;如果所述第二流媒体文件分片与所述待下载的流媒体文件分片所处服务器不相同,请求下载所述第二流媒体文件分片。如果终端的可以继续请求下载,完成对待下载流媒体文件分片的下载请求后,继续对不同服务器的第二流媒
体文件分片发出下载请求,这样实现了多流媒体文件分片的并行下载,使得终端后续播放流媒体文件分片时减少卡顿的几率。
结合第一方面或第一方面第一至七种可能的实现方式其中任意一种,还包括:所述待下载流媒体文件分片下载完成后,统计下载所述待下载流媒体文件分片的终端与服务器之间的传输带宽;根据所述传输带宽确定第二预设长度。完成待下载流媒体文件分片的下载后,统计终端与服务器之间的传输带宽,确定下载下一个流媒体文件分片的拆分预设长度,尽可能保证下一个流媒体文件分片快速下载,实现终端的流畅播放。
第二方面,本申请还提供了流媒体文件分片下载装置,包括:确定单元,用于确定待下载的流媒体文件分片的长度。处理单元,用于当所述待下载的流媒体文件分片长度大于终端与服务器之间的传输带宽相匹配的预设长度时,将所述待下载的流媒体文件分片拆分为至少两个子分片,其中,每一个子分片的长度都不大于所述预设长度。下载单元,用于分别下载每一个所述子分片。所述处理单元拆分后的子分片长度较短,下载完一个子分片所需的时间也更少,而且所述下载单元分别下载每一个子分片,因此相对拆分前的流媒体文件分片可以更快的完成下载。
结合第二方面的实现方式,在第二方面第一种可能的实现方式中,所述确定单元包括:发送子单元,用于向服务器发出分片下载请求。接收子单元,用于接收服务器发回的反馈信息,所述反馈信息包含待下载的流媒体文件分片的长度。所述发送子单元发出分片下载请求,所述接收子单元接收服务器反馈回来的分片长度信息,快速获得所述带下载流媒体文件分片的长度。
结合第二方面第一种可能的实现方式,在第二方面第二种可能的实现方式中,所述处理单元包括:第一确定子单元,用于确定子分片的最大长度。第二确定子单元,确定所述待下载流媒体文件分片的字段范围。划分子单元,用于将所述字段范围划分为至少两个子范围,其中,每一个子范围的长度都不大于所述最大长度。
结合第二方面第二种可能的实现方式,在第二方面第三种可能的实现方式中,所述下载包括:请求生成子单元,用于生成子分片的下载请求,每一个下载请求与一个子范围相对应,包含待下载流媒体文件分片下载地址和下载请求对应的子范围。请求发送子单元,用于发送所述子分片的下载请求。分片接收子单元,用于接收服务器根据所述子分片的下载请求发回的子分片。所述请求生成子单元生成的每个下载请求对应一个子范围,所述请求发送子单元发出不同的下载请求就完成了待下载分片的下载请求,且不同范围是分别进行下载的,保证了待下载流媒体文件分片的下载效率。
结合第二方面第三种可能的实现方式,在第二方面第四种可能的实现方式中,所述请求发送子单元,用于并行发送所述下载请求。并行发出下载请求,同时请求下载多个子分片,可以更快的完成待下载流媒体文件分片。
结合第二方面的实现方式,在第二方面第五种可能的实现方式中,所述装置还包括:获取单元和第二确定单元。
所述获取单元,用于获取第二流媒体文件分片的地址,所述第二流媒体文件分片为所述待下载的流媒体文件分片的下一个流媒体文件分片。所述第二确定单元,用于根据所述第二流媒体文件分片的地址确定所述第二流媒体文件分片所处的服务器。所述下载单元,如果所述第二流媒体文件分片与所述待下载的流媒体文件分片所处服务器不相同,请求下载所述第二流媒体文件分片。如果终端的可以继续请求下载,完成对待下载流媒体文件分片的下载请求后,所述获取单元继续对不同服务器的第二流媒体文件分片发出下载请求,这样实现了多流媒体文件分片的并行下载,使得终端后续播放流媒体文件分片时减少卡顿的几率。
结合第二方面或第一方面第一至五种可能的实现方式其中任意一种,所述装置还包括:统计单元和设置单元。所述统计单元,用于所述待下载流媒体文件分片下载完成后,统计下载所述待下载流媒体文件分片的终端与服务器之间的传输带宽。所述设置单元,根据所述传输带宽确定第二预设长度。完成待下载流媒体文件分片的下载后,所述统计单元统计终端与服务器之间的传输带宽,所述设置单元确定下载下一个流媒体文件分片的拆分预设长度,尽可能保证下一个流媒体文件分片快速下载,实现终端的流畅播放。
第三方面,本申请还提供了一种终端,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器通过通信总线相连接;所述处理器,用于确定待下载的流媒体文件分片的长度;所述处理器,还用于当所述待下载的流媒体文件分片长度大于终端与服务器之间的传输带宽相匹配的预设长度时,将所述待下载的流媒体文件分片拆分为至少两个子分片;所述通信接口,用于接收服务器端发回的每一个子分片,通过所述通信总线传输给所述处理器;所述存储器,用于存储通过通信接口接收的每一个子分片。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的流媒体文件分片下载方法的一个实施例流程示意图;
图2为本申请提供的待下载流媒体文件分片字段拆分的一个实施例示意图;
图3为本申请提供的待下载流媒体文件分片字段拆分的另一个实施例示意图;
图4为本申请提供的待下载流媒体文件分片字段拆分的第三个实施例示意图;
图5为本申请提供的请求下载待下载流媒体文件分片的一个实施例示意图;
图6为本申请提供的请求下载同服务器多个流媒体文件分片的一个实施例示意图;
图7为本申请提供的请求下载不同服务器多个流媒体文件分片的一个实施例示意图;
图8为本申请提供的流媒体文件分片下载装置的一个实施例示意图;
图9为本申请提供的终端的一个实施例示意图。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种流媒体文件分片下载方法的流程示意图,方法包括:
S101,确定待下载的流媒体文件分片的长度。
获取流媒体文件分片列表中的分片地址,按照分地址的顺序依次下载流媒体文件分片。首先确定待下载的流媒体文件分片,假设前一时刻还未对流媒体文件分片进行下载,则根据流媒体文件分片列表中的地址顺序,执行下载第一个分片地址对应的流媒体文件分片,则此时第一个分片地址对应的流媒体文件分片为待下载的流媒体文件分片。同理,如果前一时刻已经完成n-1个分片地址对应的流媒体文件分片的下载,则下一时刻需要下载第n个分片地址对应的流媒体文件分片,则第n个分片地址对应的流媒体文件分片为待下载流媒体文件分片。
根据确定出的待下载流媒体文件分片的下载地址链接到对应的服务器,并发出分片下载请求,所述下载请求中包含有需要下载的流媒体文件分片的标识信息。服务器接收到该分片下载请求后,会根据所述下载请求中包含的标识信息,寻找到对应的流媒体文件分片,然后向发送所述下载请求的终端发回一个反馈信息,所述反馈信息中包含第一个分片地址对应的流媒体文件分片的长度。终端接收服务器发回的反馈信息后,完成对反馈信息的解析,获得待下载流媒体文件分片的长度。
S102,当所述待下载的流媒体文件分片长度大于预设长度时,将所述待下载的流媒体文件分片拆分为至少两个子分片。
终端在获得待下载的流媒体文件分片的长度后,将所述待下载的流媒体文件分片
的长度与预设长度进行比较。当所述待下载的流媒体文件分片的长度大于所述预设长度时,将所述待下载流媒体文件分片拆分为至少两个子分片。所述预设长度是根据终端与服务器之间的传输带宽设定的,所述预设长度根据传输带宽的不同预设不同的长度。假设某一时刻的传输带宽为Q1,根据Q1预设的长度为L1;下一时刻,传输带宽变为了Q2,且Q2小于Q1,此时需要调整预设长度为L2,其中L2小于L1。也就是说,所述预设长度与传输带宽成正比。
例如:终端与服务器之间的传输带宽为10M,终端与服务器之间4线程同时下载,每个下载线程均能获得1M至2M的下载带宽。假设在1M至2M的下载带宽可以流畅下载512K长度的流媒体文件,所述预设长度可以设置为512K。当终端与服务器之间的传输带宽为4M,仍然维持4线程同时下载,每个下载线程的下载带宽可能会小于1M,如果此时预设长度还设置为512K,则会导致下载堵塞。因此可以将预设长度设置为256K或者更小,以保证多线程下载的流畅性。当然上述给出的不同带宽对应的预设长度数据只是示意性的,实际中预设长度的设置还会参考在实际下载过程中的历史数据,结合当前的网络环境获得最优的预设长度值。
需要指出的,本实施例中将所述待下载流媒体文件分片拆分为至少两个子分片,并不是物理意义上的拆分,而是根据待下载流媒体文件分片的长度和预设长度,将所述待下载流媒体文件分片的字段范围划分为若干个子范围。首先确定子分片的最大长度,最大长度不大于所述预设长度;然后确定所述待下载流媒体文件分片的字段范围,根据确定的最大长度将所述待下载流媒体文件分片的字段范围进行划分。
如图2所示,假设所述待下载的流媒体文件分片的长度为2MB,根据当前时刻终端与服务器之间的传输带宽设置的预设长度为512KB。因此可以将子分片的最大长度设置为512KB,这样就将待下载流媒体文件分片的字段范围拆分为4个子范围,且4个子范围分别为(0KB,512KB]、(512KB,1024KB]、(1024KB,1536KB]、(1536KB,2048KB]。
当然,上述给出的实施例是待下载流媒体文件分片的长度是预设长度的倍数。参见图3,假设所述待下载的流媒体文件分片的长度为1.25MB,所述预设长度依然为上述的512KB,同样可以将子分片的最大长度设置为512KB,将待下载流媒体文件分片的字段范围拆分为了3个子范围,且3个子范围分别为(0KB,512KB]、(512KB,1024KB]、(1024KB,1280KB]。可以看出,上述的3个子范围的字段长度分别为512KB、512KB、256KB。
如果分别请求下载上述3个字段范围的子分片,且每个下载线程下载速度相同时,第三个子分片会优先下载完。但是终端播放流媒体文件分片时,还是按照原来分片的顺序进行播放,为了保证待下载流媒体文件分片的优先播放的字段范围先下载完,因此上述3个子范围可以将第一个设置的较短一些。上述只是考虑到三个线程下载速度相同的情况,实际中下载速度会随着时间出现波动,只要保证每个分片的字段
长度不大于所述预设长度即可。
当然,也可以调整子分片的最大长度,设置所述最大长度为430KB,此时如果将待下载流媒体文件分片拆分为3个字段范围,如图4所示,则可以将3个子范围分别划分为(0KB,430KB]、(430KB,860KB]、(860KB,1280KB],此时3个子范围的长度分别为430KB、430KB、420KB。当然上述最大长度的设置只是示例性的,并不限于上述设置长度。
上述对待下载流媒体文件分片的字段范围进行划分之后,对应待下载流媒体文件分片文件头字段范围的子分片中携带有所述待下载流媒体文件分片的格式、编码方式和流媒体文件分片字段总长度等信息。当该子分片请求下载完成后送入终端的解码器进行解码播放,后续下载的子分片将按照原始字段范围的顺序串行送入终端的解码器直接进行解码,完成所述待下载流媒体文件分片的完整播放。因此无需对分段下载的子分片再进行标识处理,也可以保证每一个子分片都能正常解码播放。
以图2中的待下载流媒体文件分片为例,4个子分片对应的字段范围分别为(0KB,512KB]、(512KB,1024KB]、(1024KB,1536KB]、(1536KB,2048KB]。其中(0KB,512KB]字段范围的子分片为待下载流媒体文件的文件头部分,该子分片携带有所述待下载流媒体文件分片的格式、编码方式和流媒体文件分片字段总长度等信息。当(0KB,512KB]字段范围的子分片下载完毕后送入终端的解码器解码播放,字段范围为(512KB,1024KB]、(1024KB,1536KB]和(1536KB,2048KB]三个子分片下载完成后会依次串行送入终端的解码器解码播放,上述3个子分片的数据的数据格式、编码方式等信息解码器已经从(0KB,512KB]对应的子分片中获知,因此可以直接进行解码,直到最后一个字段范围的数据解码播放完毕,终端会根据提前获知的流媒体文件分片字段总长度确定该流媒体文件分片播放完毕。
S103,分别下载每一个所述子分片。
根据S102中对所述待下载流媒体文件分片划分的多个子范围生成子分片下载请求,其中每一个子分片下载请求与一个子范围相对应。其中,每一个子分片下载请求包含待下载流媒体文件分片的下载地址和当前下载请求对应的子范围。
根据所述子分片的下载请求中的待下载流媒体文件分片的下载地址链接到对应的服务器,并发送所述子分片的下载请求。服务器接收到子分片下载请求后,根据子分片下载请求的待下载流媒体文件分片的字段范围,发回对应字段范围的子分片,终端对服务器发回的子分片进行接收完成下载。其中,终端向服务器发送子分片下载请求是并行发送的,即同时申请下载多个子分片。
假设终端一次可以同时请求下载4个子分片,以S102中为例,待下载流媒体文件分片长度为2MB,当前时刻终端与服务器之间的传输带宽设置的预设长度为512KB。将子分片的最大长度设置为512KB,这样就将待下载流媒体文件分片的字段
范围拆分为4个子范围,4个子范围分别为(0KB,512KB]、(512KB,1024KB]、(1024KB,1536KB]、(1536KB,2048KB]。假设待下载流媒体文件分片的地址为URL1,则终端同时发送的4个子分片下载请求中包含的地址都是一样的,均为URL1。不同的是4个子分片下载请求对应的子分片的字段范围不同,4个子分片下载请求分别请求的待下载流媒体文件分片的不同字段范围。假设将并行的4个子分片下载请求命名为下载请求1、下载请求2、下载请求3和下载请求4,且4个子分片下载请求是同时的不分先后。如图5所示,如果下载请求1中请求的待下载流媒体文件分片的(0KB,512KB]字段范围,则服务器发回给下载请求1的子分片字段范围即为待下载流媒体文件分片的(0KB,512KB]范围的字段的分片数据。对应的,下载请求2到下载请求4可以依次请求的待下载流媒体文件分片的字段范围中的(512KB,1024KB]、(1024KB,1536KB]和(1536KB,2048KB]部分。当然上述实施例只是示意性的,下载请求1也可以请求上述4个不同子范围中的任一个,在此不再赘述。
同样假设终端一次可以下载4个子分片,如果如S102中另一种情况,待下载的流媒体文件分片的长度为1.25MB,子分片的最大长度设置为512KB,将待下载流媒体文件分片的字段范围拆分为了3个子范围。此时需要将待下载流媒体文件分片下载完成只需要发出3个子分片下载请求即可。但是如果只发出一个子分片下载请求则会造成终端与服务器之间的资源浪费,如图6所示,终端发出3个子分片下载请求的同时,还会发出第二流媒体文件分片的下载请求。
所述第二流媒体文件分片为分片列表中待下载流媒体文件分片地址的下一个分片地址对应的流媒体文件分片。此时会出现两种不同的情况,终端向服务器发出第二流媒体文件分片请求后,如果收到的反馈信息得知第二流媒体文件分片不大于所述预设长度,则可以直接发出第二流媒体文件分片下载请求,对第二流媒体文件分片同所述待下载流媒体文件分片的3个子分片同时进行下载。如果第二流媒体文件分片大于所述预设长度,此时则按照S102中的方法对第二流媒体文件分片进行拆分,请求下载相应的字段范围。具体可参见S102中的描述,在此不再赘述。
由以上技术方案可见,本申请实施例提供的流媒体文件分片下载方法,根据终端与服务器之间的传输带宽确定预设长度,当待下载流媒体文件分片长度大于所述预设长度时,根据预设长度将待下载流媒体文件分片进行拆分,具体的是将待下载流媒体文件分片的字段范围拆分为多个子范围,然后并行请求下载多个子范围。由于每个子范围对应的子分片长度较短,因此相对拆分前的流媒体文件分片可以更快的完成下载。而且对多个子分片分别进行下载,从而提高了整个流媒体文件分片的下载效率。
因为一个流媒体视频文件是由多个流媒体文件分片组成,不同的流媒体文件分片可能所在的服务器是不同的。因此,所述第二流媒体文件分片可能与待下载流媒体文件分片所处的服务器不同,因为预设长度是根据终端与服务器之间的传输带宽进行设置的,所以如果第二流媒体文件分片所述服务器不同时,则终端与第二流媒体文件分
片所在的服务器之间的第三预设长度可能与所述预设长度不同。
仍然以S102中为例,根据终端与待下载流媒体文件分片所在的服务器之间的传输带宽设置预设长度为512KB。如果终端与第二流媒体文件分片所在的服务器之间的传输带宽为终端与待下载流媒体文件分片所在的服务器之间的传输带宽的两倍,则第三预设长度可以设置为1MB。
如图7所示,当流媒体文件分片列表中连续n个流媒体文件分片地址均对应不同服务器时,且所述n个流媒体文件分片地址所对应的流媒体文件分片均不大于对应的预设长度,则终端发出下载请求,同时下载所述n个流媒体文件分片。
由以上技术方案可知,当不同流媒体文件分片在不同服务器时,由于终端与不同服务器之间的传输带宽是不一样的,因此终端从不同服务器之间下载流媒体文件分片对应的拆分预设长度也不同。而且当不同服务器中的流媒体文件分片长度均不大于对应的预设长度时,终端可以向多个服务器发出流媒体文件分片下载请求,这样就实现了多个流媒体文件分片的下载,保证了终端解码播放流媒体文件分片时相对传统的方式更加流畅。
当待下载流媒体文件分片下载完成后,进一步的统计下载所述待下载流媒体文件分片的终端与服务器之间的传输带宽,根据所述传输带宽确定第二预设长度。
假设下载所述待下载流媒体文件分片时,根据终端与服务器之间当前的传输带宽,设置预设长度为S102中的512KB,当所述待在流媒体文件分片下载完成后,重新统计终端与服务器之间的传输带宽。如果传输带宽相比下载前带宽变的更大,则可以将第二预设长度设置的更大,具体依据实际的带宽设定。如果传输带宽比下载前还要差,则根据当前的传输带宽减小预设长度值。当然上述实施例仅是举例说明,例如终端可能同时发出多个流媒体文件分片,并不仅限于上述实施例中提到的一次性发出四个下载请求,需要指出的是上述流媒体文件分片下载方法适用于网络自适应流媒体协议(基于分片),如HLS、DASH等,普通的渐进式下载流媒体协议也同样适用,如http协议等,具体不在赘述。
与上述方法实施例相对应,本申请还公开了一种流媒体文件分片下载装置,如图8所示所述装置包括:确定单元201、处理单元202和下载单元203。
所述确定单元201,用于确定待下载的流媒体文件分片的长度。所述确定单元201包括发送子单元2011和接收子单元2012。所述发送子单元2011向服务器发出分片下载请求,服务器接收到下载请求后,向确定单元201发回下载请求对应的反馈信息,所述反馈信息包含待下载的流媒体文件分片的长度。所述接收子单元2012接收服务器发回的反馈信息。
所述处理单元202用于当所述待下载的流媒体文件分片长度大于终端与服务器之间的传输带宽相匹配的预设长度时,将所述待下载的流媒体文件分片拆分为至少两
个子分片,其中,每一个子分片的长度都不大于所述预设长度。所述处理单元202包括第一确定子单元2021、第二确定子单元2022和划分子单元2023。
所述第一确定子单元2021,用于确定子分片的最大长度,其中所述最大长度不大于所述预设长度。第二确定子单元2022,用于确定所述待下载流媒体文件分片的字段范围,所述待下载流媒体文件分片的字段范围的字段尾与字段头只差等于所述待下载流媒体文件分片的长度。所述划分子单元2023,用于将所述字段范围划分为至少两个子范围,其中,每一个子范围的长度都不大于所述最大长度。
下载单元203,用于分别下载每一个所述子分片。所述下载单元203包括:请求生成子单元2031、请求发送子单元2032和分片接收子单元2033.
所述请求生成子单元2031,用于生成子分片的下载请求,每一个下载请求与一个子范围相对应,包含待下载流媒体文件分片下载地址和下载请求对应的子范围;所述请求发送子单元2032,用于发送所述子分片的下载请求。优选地,所述请求发送子单元并行发送所述子分片的下载请求。所述分片接收子单元2033,用于接收服务器根据所述子分片的下载请求发回的子分片。
所述的流媒体文件分片下载装置,还包括获取单元204和第二确定单元205。
所述获取单元204,用于获取第二流媒体文件分片的地址,所述第二流媒体文件分片为所述待下载的流媒体文件分片的下一个流媒体文件分片。所述第二确定单元205,用于根据所述第二流媒体文件分片的地址确定所述第二流媒体文件分片所处的服务器。所述下载单元203,用于如果所述第二流媒体文件分片与所述待下载的流媒体文件分片所处服务器不相同,请求下载所述第二流媒体文件分片。
所述流媒体文件分片下载装置,还包括统计单元206和设置单元207。
所述统计单元206,用于所述待下载流媒体文件分片下载完成后,统计下载所述待下载流媒体文件分片的终端与服务器之间的传输带宽;所述设置单元207,用于根据所述传输带宽确定第二预设长度。
本申请还公开了一种终端,如图9所示,所述终端包括处理器301、通信串口302和存储器303,所述处理器301、所述通信接口302和所述存储器303通过通信总线304相连接。
所述处理器301,用于确定待下载的流媒体文件分片的长度,当所述待下载的流媒体文件分片长度大于终端与服务器之间的传输带宽相匹配的预设长度时,将所述待下载的流媒体文件分片拆分为至少两个子分片。具体包括:
所述处理器301向服务器发出分片下载请求,然后接收服务器发回的反馈信息,所述反馈信息包含待下载的流媒体文件分片的长度,从而确定待下载的流媒体文件分片的长度。当所述待下载的流媒体文件分片长度大于终端与服务器之间的传输带宽相
匹配的预设长度时,所述处理器301确定子分片的最大长度和所述待下载流媒体文件分片的字段范围。将所述字段范围划分为至少两个子范围,其中,每一个子范围的长度都不大于所述最大长度。
所述处理器301将所述待下载流媒体文件分片的字段范围划分完成后,生成子分片的下载请求,每一个下载请求与一个子范围相对应,包含待下载流媒体文件分片下载地址和下载请求对应的子范围。然后向服务器发送所述子分片的下载请求。
所述通信接口302,接收服务器端发回的每一个子分片,通过通信总线304传输给所述处理器;
所述存储器303,用于存储通过通信接口接收的每一个子分片。
对于装置或终端实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。可以理解的是,本申请可用于众多通用或专用的计算***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
本领域技术人员在考虑说明书及实践这里申请的公开后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (17)
- 一种流媒体文件分片下载方法,其特征在于,包括:确定待下载的流媒体文件分片的长度;当所述待下载的流媒体文件分片长度大于预设长度时,将所述待下载的流媒体文件分片拆分为至少两个子分片,其中,每一个子分片的长度都不大于所述预设长度;分别下载每一个所述子分片。
- 如权利要求1所述的方法,其特征在于,所述确定待下载的流媒体文件分片的长度包括:向服务器发出分片下载请求;接收服务器发回的反馈信息,所述反馈信息包含待下载的流媒体文件分片的长度。
- 如权利要求2所述的方法,其特征在于,所述预设长度与终端与服务器之间的传输带宽相匹配。
- 如权利要求3所述的方法,其特征在于,所述将待下载的流媒体文件分片拆分为至少两个子分片包括:确定子分片的最大长度;确定所述待下载流媒体文件分片的字段范围;将所述字段范围划分为至少两个子范围,其中,每一个子范围的长度都不大于所述最大长度。
- 如权利要求4所述的方法,其特征在于,所述将字段范围划分为至少两个子范围,包括:将所述字段范围进行划分,至少包括第一子范围和第二子范围,其中所述第一子范围对应所述待下载流媒体文件分片最先播放的字段范围;所述第一子范围的字段长度小于所述第二子范围的字段长度。
- 如权利要求4所述的方法,其特征在于,所述分别下载每一个子分片包括:生成子分片的下载请求,每一个所述下载请求与一个子范围相对应,包含待下载流媒体文件分片下载地址和下载请求对应的子范围;发送所述子分片的下载请求;接收服务器根据所述子分片的下载请求发回的子分片。
- 如权利要求6所述的方法,其特征在于,所述发送子分片的下载请求包括:并行发送所述下载请求。
- 如权利要求1所述的方法,其特征在于,还包括:获取第二流媒体文件分片的地址,所述第二流媒体文件分片为所述待下载的流媒体文件分片的下一个流媒体文件分片;根据所述第二流媒体文件分片的地址确定所述第二流媒体文件分片所处的服务器;如果所述第二流媒体文件分片与所述待下载的流媒体文件分片所处服务器不相同,请求下载所述第二流媒体文件分片。
- 如权利要求1-8任一项所述的方法,其特征在于,还包括:所述待下载流媒体文件分片下载完成后,统计下载所述待下载流媒体文件分片的终端与服务器之间的传输带宽;根据所述传输带宽确定第二预设长度。
- 一种流媒体文件分片下载装置,其特征在于,包括:确定单元,用于确定待下载的流媒体文件分片的长度;处理单元,用于当所述待下载的流媒体文件分片长度大于终端与服务器之间的传输带宽相匹配的预设长度时,将所述待下载的流媒体文件分片拆分为至少两个子分片,其中,每一个子分片的长度都不大于所述预设长度;下载单元,用于分别下载每一个所述子分片。
- 如权利要求10所述的装置,其特征在于,所述确定单元包括:发送子单元,用于向服务器发出分片下载请求;接收子单元,用于接收服务器发回的反馈信息,所述反馈信息包含待下载的流媒体文件分片的长度。
- 如权利要求11所述的装置,其特征在于,所述处理单元包括:第一确定子单元,用于确定子分片的最大长度;第二确定子单元,用于确定所述待下载流媒体文件分片的字段范围;划分子单元,用于将所述字段范围划分为至少两个子范围,其中,每一个子 范围的长度都不大于所述最大长度。
- 如权利要求12所述的装置,其特征在于,所述下载单元包括:请求生成子单元,用于生成子分片的下载请求,每一个下载请求与一个子范围相对应,包含待下载流媒体文件分片下载地址和下载请求对应的子范围;请求发送子单元,用于发送所述子分片的下载请求;分片接收子单元,用于接收服务器根据所述子分片的下载请求发回的子分片。
- 如权利要求13所述的装置,其特征在于,所述请求发送子单元,用于并行发送所述子分片的下载请求。
- 如权利要求10所述的装置,其特征在于,还包括获取单元和第二确定单元,所述获取单元,用于获取第二流媒体文件分片的地址,所述第二流媒体文件分片为所述待下载的流媒体文件分片的下一个流媒体文件分片;所述第二确定单元,用于根据所述第二流媒体文件分片的地址确定所述第二流媒体文件分片所处的服务器;所述下载单元,用于如果所述第二流媒体文件分片与所述待下载的流媒体文件分片所处服务器不相同,请求下载所述第二流媒体文件分片。
- 如权利要求10-15任一所述的装置,其特征在于,还包括:统计单元,用于所述待下载流媒体文件分片下载完成后,统计下载所述待下载流媒体文件分片的终端与服务器之间的传输带宽;设置单元,用于根据所述传输带宽确定第二预设长度。
- 一种终端,其特征在于,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器通过通信总线相连接;所述处理器,用于确定待下载的流媒体文件分片的长度;所述处理器,还用于当所述待下载的流媒体文件分片长度大于终端与服务器之间的传输带宽相匹配的预设长度时,将所述待下载的流媒体文件分片拆分为至少两个子分片;所述通信接口,用于接收服务器端发回的每一个子分片,通过所述通信总线传输给所述处理器;所述存储器,用于存储通过通信接口接收的每一个子分片。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17830205.5A EP3481077A1 (en) | 2016-07-22 | 2017-02-23 | Method, device, and terminal for downloading streaming media file fragment |
US16/253,660 US20190158936A1 (en) | 2016-07-22 | 2019-01-22 | Method and Apparatus for Downloading Streaming Media File Fragment and Terminal |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610584207.7 | 2016-07-22 | ||
CN201610584207.7A CN106231440A (zh) | 2016-07-22 | 2016-07-22 | 一种流媒体文件分片下载方法、装置及终端 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/253,660 Continuation US20190158936A1 (en) | 2016-07-22 | 2019-01-22 | Method and Apparatus for Downloading Streaming Media File Fragment and Terminal |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018014557A1 true WO2018014557A1 (zh) | 2018-01-25 |
Family
ID=57531450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/074597 WO2018014557A1 (zh) | 2016-07-22 | 2017-02-23 | 一种流媒体文件分片下载方法、装置及终端 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20190158936A1 (zh) |
EP (1) | EP3481077A1 (zh) |
CN (1) | CN106231440A (zh) |
WO (1) | WO2018014557A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108337574A (zh) * | 2017-01-20 | 2018-07-27 | 中兴通讯股份有限公司 | 一种流媒体传输方法及装置、***、服务器、终端 |
CN107360191B (zh) * | 2017-08-28 | 2021-02-02 | 腾讯科技(深圳)有限公司 | 一种文件获取方法、装置及存储设备 |
CN108289197A (zh) * | 2017-12-29 | 2018-07-17 | 深圳市朗诚科技股份有限公司 | 浮标4g无线视频监控监测方法及*** |
CN110324681B (zh) * | 2019-07-08 | 2021-05-25 | 广州酷狗计算机科技有限公司 | 多媒体数据的切片方法、装置、存储介质及传输*** |
US20230224548A1 (en) * | 2019-08-19 | 2023-07-13 | Koninklijke Kpn N.V. | Streaming Assistance System and Computer-Implemented Method |
CN111031383B (zh) * | 2019-12-06 | 2022-08-05 | RealMe重庆移动通信有限公司 | 流媒体传输方法及装置、电子设备 |
CN111586103A (zh) * | 2020-04-08 | 2020-08-25 | 北京明略软件***有限公司 | 一种文件片段下载方法及装置 |
CN112306604B (zh) * | 2020-08-21 | 2022-09-23 | 海信视像科技股份有限公司 | 一种传输文件的进度显示方法及显示设备 |
CN112738270B (zh) | 2021-01-07 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 一种文件传输方法、装置、设备及存储介质 |
CN113163226B (zh) * | 2021-03-26 | 2023-04-07 | 维沃移动通信有限公司 | 媒体文件的播放方法、装置、电子设备、服务器和介质 |
CN113691886B (zh) * | 2021-08-25 | 2024-05-07 | 三星电子(中国)研发中心 | 流媒体文件的下载方法和装置 |
CN114666627A (zh) * | 2022-03-01 | 2022-06-24 | 深圳市博安智控科技有限公司 | 一种流媒体视频预加载的方法、装置、电子设备以及存储介质 |
CN115190117A (zh) * | 2022-07-11 | 2022-10-14 | 南京国盛华兴科技有限公司 | 一种文件上传的控制方法、装置、电子设备及存储介质 |
US12047474B1 (en) * | 2023-03-14 | 2024-07-23 | Open Text Holdings, Inc. | Method and system for parallel content download |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867617A (zh) * | 2010-06-13 | 2010-10-20 | 优视科技有限公司 | 一种基于移动终端的文件上传方法、***和上传服务器 |
CN102170475A (zh) * | 2011-04-22 | 2011-08-31 | 中兴通讯股份有限公司 | 一种基于p2p的文件分发***及分片方法 |
CN103873926A (zh) * | 2012-12-13 | 2014-06-18 | 腾讯科技(深圳)有限公司 | 下载并播放媒体文件的方法及*** |
CN105357591A (zh) * | 2015-11-16 | 2016-02-24 | 北京理工大学 | 一种自适应码率视频直播的QoE监控和优化方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050216754A1 (en) * | 2004-03-24 | 2005-09-29 | Natan Ehud | Method of encrypting digital items delivery through a communication network |
CN101562635B (zh) * | 2009-05-15 | 2012-05-09 | 中兴通讯股份有限公司 | 一种移动流媒体的点播方法和播放器 |
EP2477397A1 (en) * | 2011-01-12 | 2012-07-18 | Nxp B.V. | Handling the initialization for HTTP streaming of multimedia files via parallel TCP connections |
US8843803B2 (en) * | 2011-04-01 | 2014-09-23 | Cleversafe, Inc. | Utilizing local memory and dispersed storage memory to access encoded data slices |
CN103188279B (zh) * | 2011-12-27 | 2016-06-01 | 中国电信股份有限公司 | 通过对等网络从多个邻居节点下载文件的方法和装置 |
CN104168081B (zh) * | 2013-05-20 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 一种文件传输方法及装置 |
CN103327415B (zh) * | 2013-06-05 | 2017-04-12 | 北京奇虎科技有限公司 | 一种加速网络视频下载的方法和装置 |
CN103763638B (zh) * | 2014-01-23 | 2017-02-15 | 中国联合网络通信集团有限公司 | 视频资源获取方法及装置 |
CN104967635B (zh) * | 2014-05-22 | 2017-04-19 | 腾讯科技(深圳)有限公司 | 一种数据传输方法及装置 |
CN104184741A (zh) * | 2014-09-05 | 2014-12-03 | 重庆市汇链信息科技有限公司 | 音频视频海量数据在分发服务器中的分发方法 |
CN104202682A (zh) * | 2014-09-05 | 2014-12-10 | 重庆市汇链信息科技有限公司 | 基于卫星传输的音频视频压缩传输*** |
FR3029376B1 (fr) * | 2014-11-28 | 2016-12-30 | B<>Com | Procede de traitement d'une requete de livraison de donnees, dispositif, module proxy, terminal client et programme d'ordinateur associes |
CN104837033B (zh) * | 2015-05-20 | 2018-09-25 | 腾讯科技(北京)有限公司 | 一种信息处理方法及服务器 |
-
2016
- 2016-07-22 CN CN201610584207.7A patent/CN106231440A/zh active Pending
-
2017
- 2017-02-23 EP EP17830205.5A patent/EP3481077A1/en not_active Withdrawn
- 2017-02-23 WO PCT/CN2017/074597 patent/WO2018014557A1/zh unknown
-
2019
- 2019-01-22 US US16/253,660 patent/US20190158936A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867617A (zh) * | 2010-06-13 | 2010-10-20 | 优视科技有限公司 | 一种基于移动终端的文件上传方法、***和上传服务器 |
CN102170475A (zh) * | 2011-04-22 | 2011-08-31 | 中兴通讯股份有限公司 | 一种基于p2p的文件分发***及分片方法 |
CN103873926A (zh) * | 2012-12-13 | 2014-06-18 | 腾讯科技(深圳)有限公司 | 下载并播放媒体文件的方法及*** |
CN105357591A (zh) * | 2015-11-16 | 2016-02-24 | 北京理工大学 | 一种自适应码率视频直播的QoE监控和优化方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3481077A4 * |
Also Published As
Publication number | Publication date |
---|---|
CN106231440A (zh) | 2016-12-14 |
EP3481077A4 (en) | 2019-05-08 |
US20190158936A1 (en) | 2019-05-23 |
EP3481077A1 (en) | 2019-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018014557A1 (zh) | 一种流媒体文件分片下载方法、装置及终端 | |
TWI623226B (zh) | 用於儲存媒體片段之基於目錄限制之系統及方法 | |
US9060207B2 (en) | Adaptive video streaming over a content delivery network | |
ES2842589T3 (es) | Transmisión de flujos por multidifusión | |
US9780894B2 (en) | Systems for synchronous playback of media using a hybrid bluetooth™ and Wi-Fi network | |
US9298638B2 (en) | Dynamic caching module selection for optimized data deduplication | |
WO2017080428A1 (zh) | 流媒体频道录制、回看方法、装置、服务器及存储介质 | |
US9917916B2 (en) | Media delivery service protocol to support large numbers of client with error failover processes | |
US20100241757A1 (en) | System and Method for Storing Streaming Media File | |
WO2018133601A1 (zh) | 一种流媒体传输方法、装置、服务器及终端 | |
US20170104550A1 (en) | System for media rebroadcasting for synchronized rendering across multiple devices | |
RU2014107894A (ru) | Способ и устройство для транспорта фрагментов описания сегментов инициализации динамической адаптивной потоковой передачи по нттр (dash) в качестве фрагментов описания пользовательских услуг | |
WO2016197875A1 (zh) | 应用于服务提供设备的数据处理方法和设备 | |
US20230109997A1 (en) | Local Cache Bandwidth Matching | |
WO2015196590A1 (zh) | 桌面云视频的播放处理方法及装置 | |
WO2017101418A1 (zh) | 多路流媒体播放方法及设备 | |
WO2017201980A1 (zh) | 一种视频录制的方法、装置和*** | |
CN103826139A (zh) | Cdn***、观看服务器以及流媒体数据传输方法 | |
WO2017088394A1 (zh) | 在线直播视频播放器及方法 | |
WO2018028986A1 (en) | Improved adaptive bit rate streaming of live content | |
CN106686083A (zh) | 一种视频文件下载方法及装置 | |
US10986382B2 (en) | Content-modification system with system resource request feature | |
US20170150206A1 (en) | Online video player and its method | |
WO2020155956A1 (zh) | 首帧均衡限流方法、装置、计算机设备及可读存储介质 | |
WO2020124726A1 (zh) | 音视频流分发***中的音视频流分发方法及动态父节点 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17830205 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2017830205 Country of ref document: EP Effective date: 20190204 |