WO2017031692A1 - Video downloading method, apparatus, and system - Google Patents

Video downloading method, apparatus, and system Download PDF

Info

Publication number
WO2017031692A1
WO2017031692A1 PCT/CN2015/088033 CN2015088033W WO2017031692A1 WO 2017031692 A1 WO2017031692 A1 WO 2017031692A1 CN 2015088033 W CN2015088033 W CN 2015088033W WO 2017031692 A1 WO2017031692 A1 WO 2017031692A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
code rate
duration
video segment
rate
Prior art date
Application number
PCT/CN2015/088033
Other languages
French (fr)
Chinese (zh)
Inventor
王飞
费泽松
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201580043062.3A priority Critical patent/CN106688239B/en
Priority to PCT/CN2015/088033 priority patent/WO2017031692A1/en
Publication of WO2017031692A1 publication Critical patent/WO2017031692A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Definitions

  • Embodiments of the present invention relate to mobile video technologies, and in particular, to a video download method, apparatus, and system.
  • the client can select the code rate of the downloaded video according to the channel condition, so that the video is not long when the client plays the video. Buffering allows users to get a good viewing experience.
  • the complete original video is segmented according to the code rate on the streaming media server side.
  • the streaming media server first encodes the original video with different code rates, and then divides the video of each code rate into n. Video clips.
  • the video segment that matches the bit rate is requested to be downloaded according to the channel condition during playback, that is, the client selects the closest average according to the average download rate of the previous video segment as the network status changes.
  • the next video segment corresponding to the download rate and the code rate less than the average download rate is downloaded until all video clips are downloaded.
  • the HAS-based video technology only considers the average download rate of the previous video segment. If the network status is unstable, the client will frequently change the code rate during the process of downloading video segments, which may cause pauses in video playback. Reduce the quality of mobile video playback and affect the quality of experience (QoE).
  • the embodiment of the invention provides a video downloading method, device and system, so as to improve the quality of mobile video playback, and at the same time reduce the frequency of code rate replacement during video downloading, and improve user QoE.
  • an embodiment of the present invention provides a video downloading method, including:
  • the video server requesting, by the video server, the N video segments of the preset code rate of the to-be-played video, where N is a natural number, the video segment is the video server pre-playing the to-be-played video according to the M code rates.
  • the M code rates respectively correspond to M code rate levels, and M is a natural number greater than 1.
  • the video playback command is generated after the user clicks and plays the to-be-played video. instruction;
  • the code rate of the video segment determines the corresponding bit rate of the next video segment to be downloaded, including:
  • the average download rate of the previous video segment is greater than the code rate of the previous video segment, determining a second lowest bit rate and a ratio higher than the lowest code rate from the M code rates
  • the code rate of the previous video segment is higher than the code rate of the first level, and the time to be downloaded is calculated according to the duration of the video segment, the code rate of the higher level, and the second low code rate, according to the cached
  • the video duration and the length of time to be downloaded determine the corresponding code rate.
  • the determining, according to the cached video duration and the to-be-downloaded duration, the corresponding code rate include:
  • the higher-level code rate is determined as the corresponding code rate.
  • the determining, according to the cached video duration, and the to-be-downloaded duration includes:
  • the duration of the video segment, the cached video duration, and the previous one The average download rate of the video segment and the code rate of the previous video segment determine the corresponding code rate of the next video segment to be downloaded, including:
  • the corresponding code rate is determined according to the buffered video duration and the duration of the video segment.
  • the determining, according to the cached video duration and the duration of the video segment, the corresponding code Rate including:
  • the determining, according to the cached video duration, and a duration of the video segment The corresponding code rate includes:
  • the duration of the buffered video is greater than or equal to twice the duration of the video segment, determining a code rate of the previous video segment as the corresponding code rate.
  • the time length according to the video segment, the code rate of the higher level, and the time The low bit rate calculates the length of time to be downloaded, including:
  • T m is the duration of the download to be downloaded
  • T s is the duration of the video segment
  • R c+1 is the code rate of the higher level
  • V 2 is the second low code rate
  • the average of the cached video duration and the previous video segment determine the corresponding code rate, including:
  • R n is a value range of the candidate code rate
  • T b is the cached video duration
  • R d is an average download rate of the previous video segment
  • T s is the video segment. Length of time
  • the method further includes:
  • an embodiment of the present invention provides a video downloading method, including:
  • an embodiment of the present invention provides a video downloading apparatus, including:
  • a requesting module configured to request, from the video server, to download, according to the video play instruction, N video segments of a preset code rate of the to-be-played video, where N is a natural number, and the video segment is pre-determined according to the M code rate by the video server.
  • N a natural number
  • the video segment is pre-determined according to the M code rate by the video server.
  • a downloading module configured to download the N video segments after acquiring a video download response replied by the video server
  • a code rate determining module configured to determine a next video to be downloaded according to a duration of the video segment, a buffered video duration, an average download rate of a previous video segment, and a code rate of the previous video segment Corresponding code rate of the segment;
  • the requesting module is further configured to request, by the video server, to download the next video segment of the corresponding code rate;
  • the downloading module is further configured to download the next video segment of the corresponding code rate after acquiring a video download response replied by the video server.
  • the code rate determining module is configured to: if an average download rate of the previous video segment is greater than that of the previous video segment a code rate, wherein a second lower code rate higher than the lowest code rate and a code rate higher than a code rate of the previous video segment are determined from the M code rates, according to the video segmentation The duration of the time, the code rate of the higher level, and the time interval of the second low code rate are calculated, and the corresponding code rate is determined according to the cached video duration and the to-be-downloaded duration.
  • the code rate determining module is configured to: if the cached video duration is greater than the to-be-downloaded The duration is determined by determining the code rate of the higher level as the corresponding code rate.
  • the code rate determining module is specifically configured to: if the cached video duration is less than Or equal to the duration to be downloaded, determining the code rate of the previous video segment as the corresponding code rate.
  • the code rate determining module is specifically configured to be used if the previous video segment is The average download rate is less than or equal to the code rate of the previous video segment, and the corresponding code rate is determined according to the buffered video duration and the duration of the video segment.
  • the code rate determining module is specifically configured to: if the cached video duration is less than twice The duration of the video segment is determined according to the buffered video duration, the average download rate of the previous video segment, and the duration of the video segment.
  • the code rate determining module is specifically configured to: if the cached video duration If the duration of the video segment is greater than or equal to twice, the code rate of the previous video segment is determined as the corresponding code rate.
  • the code rate determining module is specifically configured to calculate the to-be-downloaded time length according to the following formula:
  • T m is the duration of the download to be downloaded
  • T s is the duration of the video segment
  • R c+1 is the code rate of the higher level
  • V 2 is the second low code rate
  • the code rate determining module is specifically configured to calculate a value of the candidate code rate according to the following formula range:
  • R n is a value range of the candidate code rate
  • T b is the cached video duration
  • R d is an average download rate of the previous video segment
  • T s is the video segment. Determining a maximum value of the value range R n of the candidate code rate; determining a code rate that is closest to the maximum value and smaller than the maximum value among the M code rates. The corresponding code rate is described.
  • Obtaining a module configured to acquire a preset duration of the video segment and the M code rate; or, by sending a parameter acquisition request to the video server, acquiring a duration of the video segment and the M Code rate.
  • an embodiment of the present invention provides a video downloading apparatus, including:
  • a determining module configured to determine, according to the channel quality, a highest code rate and a lowest code rate for transmitting the to-be-played video; determining M code rates according to the highest code rate and the lowest code rate, where M is a natural number greater than 1;
  • a segmentation module configured to encode the to-be-played video according to the M code rates, and generate a video segment by segmentation of the to-be-played video corresponding to each code rate;
  • the transceiver module is configured to receive a video download request sent by the client, and transmit the video segment corresponding to the video download request to the client.
  • an embodiment of the present invention provides a client device, including:
  • the transmitter is configured to request, according to the video play instruction, the N video segments of the preset code rate of the video to be played to be downloaded, where N is a natural number, and the video segment is pre-determined according to the M code rate by the video server.
  • N is a natural number
  • M code rates respectively correspond to M code rate levels, and M is a natural number greater than 1.
  • the video play command is an instruction generated by the user after clicking and playing the to-be-played video;
  • a receiver configured to download the N video segments after acquiring a video download response replied by the video server;
  • a processor configured to determine a next video segment to be downloaded according to a duration of the video segment, a buffered video duration, an average download rate of a previous video segment, and a code rate of the previous video segment Corresponding code rate;
  • the transmitter is further configured to request, by the video server, to download the next video segment of the corresponding code rate;
  • the receiver is further configured to download the next video segment of the corresponding code rate after acquiring a video download response replied by the video server.
  • the processor is configured to: if an average download rate of the previous video segment is greater than a code rate of the previous video segment And determining, from the M code rates, a lower-low code rate that is one level higher than the lowest code rate and a code rate higher than a code rate of the previous video segment, according to the duration of the video segmentation. And calculating the to-be-downloaded time length of the high-level code rate and the second low-rate, and determining the corresponding code rate according to the cached video duration and the to-be-downloaded duration.
  • the processor is configured to: if the cached video duration is greater than the to-be-downloaded duration, Then, the code rate of the higher level is determined as the corresponding code rate.
  • the processor is configured to: if the cached video duration is less than or equal to The duration of the to-be-downloaded time determines the code rate of the previous video segment as the corresponding code rate.
  • the processor is specifically configured to: if an average download of the previous video segment The rate is less than or equal to the code rate of the previous video segment, and the corresponding code rate is determined according to the buffered video duration and the duration of the video segment.
  • the processor is configured to: if the cached video duration is less than The duration of the video segment is doubled, and the corresponding code rate is determined according to the buffered video duration, the average download rate of the previous video segment, and the duration of the video segment.
  • the processor is specifically configured to: if the cached video If the duration of the video segment is greater than or equal to twice, the code rate of the previous video segment is determined as the corresponding code rate.
  • the processor is specifically configured to calculate the to-be-downloaded duration according to the following formula:
  • T m is the duration of the download to be downloaded
  • T s is the duration of the video segment
  • R c+1 is the code rate of the higher level
  • V 2 is the second low code rate
  • the processor is specifically configured to calculate the candidate code rate according to the following formula Ranges:
  • R n is a value range of the candidate code rate
  • T b is the cached video duration
  • R d is an average download rate of the previous video segment
  • T s is the video segment. Determining a maximum value of the value range R n of the candidate code rate; determining a code rate that is closest to the maximum value and smaller than the maximum value among the M code rates. The corresponding code rate is described.
  • the processor is further configured to obtain a preset The duration of the video segment and the M code rates; or, by sending a parameter acquisition request to the video server, obtaining the duration of the video segment and the M code rates.
  • an embodiment of the present invention provides a video server, including:
  • a processor configured to determine a highest code rate and a lowest code rate for transmitting the to-be-played video according to the channel quality; determine M code rates according to the highest code rate and the lowest code rate, where M is a natural number greater than 1; The M code rates respectively encode the to-be-played video, and generate a video segment by segmentation of the to-be-played video corresponding to each code rate;
  • a transceiver configured to receive a video download request sent by the client, and transmit the video segment corresponding to the video download request to the client.
  • the embodiment of the present invention provides a mobile video system, including: a video server and a client device, where the video server adopts the device in the fourth aspect, and the client device adopts the third aspect and the third aspect.
  • a mobile video system including: a video server and a client device, where the video server adopts the device in the fourth aspect, and the client device adopts the third aspect and the third aspect.
  • the embodiment of the present invention provides a mobile video system, including: a video server and a client device, where the video server adopts the device in the sixth aspect, and the client device adopts the fifth aspect and the fifth aspect.
  • a mobile video system including: a video server and a client device, where the video server adopts the device in the sixth aspect, and the client device adopts the fifth aspect and the fifth aspect.
  • the video downloading method, device and system determine the most consistent network by downloading the average download rate of the previous video segment, the duration of the video segmentation, the buffered video duration, and the code rate of the previous video segment.
  • the code rate of the next video segment to be downloaded improves the quality of mobile video playback, while minimizing the frequency of code rate replacement during video downloading and improving the user's QoE.
  • FIG. 1 is a flow chart of an embodiment of a video downloading method of the present invention
  • FIG. 2 is a flow chart of another embodiment of a video downloading method according to the present invention.
  • FIG. 3 is a schematic structural diagram of an embodiment of a video downloading apparatus according to the present invention.
  • FIG. 4 is a schematic structural diagram of another embodiment of a video downloading apparatus according to the present invention.
  • FIG. 5 is a schematic structural diagram of still another embodiment of a video downloading apparatus according to the present invention.
  • FIG. 6 is a schematic structural diagram of an embodiment of a client device according to the present invention.
  • FIG. 7 is a schematic structural diagram of an embodiment of a video server according to the present invention.
  • FIG. 8 is a schematic structural diagram of an embodiment of a mobile video system according to the present invention.
  • FIG. 1 is a flowchart of an embodiment of a video downloading method according to the present invention. As shown in FIG. 1 , the method in this embodiment may include:
  • Step 101 Request, according to a video play instruction, a video server to download N video segments of a preset code rate of the to-be-played video, where N is a natural number, and the video segment is the video server pre-determined according to M code rates.
  • N is a natural number
  • M code rates respectively correspond to M code rate levels
  • M is a natural number greater than 1.
  • the video playback instruction is that the user clicks to play the to-be-played video.
  • the client When a user views a mobile video through a client, the client usually plays the video while downloading the video from the video server. In order not to interrupt the video during the user viewing process, a part of the video is cached and then played in the cache. Download the upcoming video during the video.
  • the video server has previously encoded the video to be played according to the M code rates, and then segments the encoded video corresponding to each code rate to generate video segments of equal duration. Table 1 is a list of segments of the video to be played.
  • the video server encodes the video to be played by M code rates, and then divides the encoded video corresponding to each code rate into L video segments, and M code rates correspond to M code rate levels, all videos.
  • the duration of the segments is the same, and the number of bits carried by each code rate corresponding to the video segment is different according to the code rate.
  • the client downloads the to-be-played video, it downloads the first video segment one by one to the L-th video segment in units of video segments.
  • the network status is unclear. You can select a video segment with a smaller bit rate to download. In order to reserve enough space for video playback, you can download two or more according to this smaller bit rate.
  • the video is segmented. Therefore, when the client requests to download the to-be-played video from the video server, the client requests to download N video segments of the preset code rate.
  • the preset code rate may be V 2 in Table 1, and N may be 2.
  • Step 102 After obtaining a video download response replied by the video server, download the N video segments.
  • the video server After receiving the request from the client, the video server can reply a response to the client and start transmitting the video segment of the request to the client, so that the client can start the initial download of the video to be played.
  • the client can pre-arrange a duration with the video server. After the client sends the request, the video server does not need to send a response to the client, but waits for the predetermined duration together, and then starts transmitting and downloading the video. The operation of the segment.
  • Step 103 Determine, according to the duration of the video segment, the buffered video duration, the average download rate of the previous video segment, and the code rate of the previous video segment, the correspondence of the next video segment to be downloaded.
  • the client may accumulate a certain video buffer duration on the one hand, and may also obtain some network status information according to the average download rate of the previously downloaded video segment.
  • the corresponding code rate of the next video segment to be downloaded is determined in conjunction with the duration of the video segment and the code rate of the previous video segment.
  • the client initially requests to download 2 video segments with a code rate of V 2 (ie, video segment 21 and video segment 22).
  • V 2 code rate of V 2
  • the client determines to download the third video segment.
  • the code rate is determined based on the duration of the video segment, the length of the buffered video, the average download rate of the downloaded video segment 22, and the code rate V 2 of the video segment 22.
  • the video segment that best matches the network condition can be selected.
  • the code rate improves the quality of mobile video playback, and can also minimize the frequency of code rate replacement during video download.
  • Step 104 Request the video server to download the next video segment of the corresponding code rate.
  • the client After the client determines to download the corresponding code rate of the next video segment, it can request the video server to download the laundry song video segment corresponding to the corresponding code rate. For example, a request to the video server after downloading the download rate video segments 22 V 3 for a third video segment 33.
  • Step 105 After acquiring the video download response replied by the video server, download the next video segment of the corresponding code rate.
  • Step 105 is similar to step 102 and will not be described here.
  • the method of steps 103-105 refers to the situation when the previous video segment is downloaded, and determines the code rate of the next video segment to be downloaded.
  • the above table 1 is taken as an example, and the client downloads according to the video segment 22 determining a third status bit rate of video segments V 3, downloaded video segments 33, and then determines the bit rate of the fourth video segments in accordance with the status of downloading the video segments 33, and so on, until the client Download all the L video segments of the video to be played.
  • the next video to be downloaded that best matches the network condition is determined according to the average download rate of the previous video segment, the duration of the video segment, the buffered video duration, and the code rate of the previous video segment. Segmented bit rate, improve the quality of mobile video playback, while minimizing the frequency of code rate replacement during video downloading, and improve user QoE.
  • the specific implementation method may be: if the average download rate of the previous video segment is greater than the code rate of the previous video segment, determining the lowest ratio from the M code rates a second lowest code rate having a higher rate of the code rate and a code rate higher than a code rate of the previous video segment, according to the duration of the video segment, the bit rate of the higher level, and the time
  • the low code rate calculates the length of time to be downloaded, and determines the corresponding code rate according to the cached video duration and the to-be-downloaded duration.
  • the client compares the average download rate R d of the previous video segment with the code rate R c of the previous video segment.
  • R d >R c the network condition is good, and the actual download rate that can be achieved is greater than the previous one.
  • the code rate of the video segment can be considered to increase the bit rate of the next video segment by one level.
  • the code rate of the next video segment is determined according to the buffered video duration T b and the to-be-downloaded time length T m , and the to-be-downloaded time length T m indicates that the actual average download rate falls to the next lowest code rate V 2 .
  • the duration of the code rate R c+1 that is one level higher than the code rate R c of the previous video segment is downloaded, and T s is the duration of one video segment.
  • the length of time to be downloaded T m can be calculated according to the following formula:
  • the average download rate of the client download video segment 22 is T d is the actual download duration of video segment 22.
  • T d is the actual download duration of video segment 22.
  • the length of the video that has been played is the duration of the video buffer T b , and the cached video duration T b and time.
  • the low bit rate downloads a higher level of the code rate R c+1 of the video segment to be downloaded for the length T m to be compared, and determines the corresponding code rate of the third video segment to be downloaded.
  • the buffered time is enough to support downloading a higher-level video segment R c+1 at a lower bit rate, without causing interruption of video playback, so that a higher level code rate R c+1 can be used.
  • V 3 determined to correspond to the third bit rate video segments, i.e., 33 to download the video segment.
  • the code rate R c (e.g., V 2 ) of the segment 22 is the corresponding code rate of the third video segment, i.e., the video segment 23 is downloaded.
  • the specific implementation method may further be: if the average download rate of the previous video segment is less than or equal to the code rate of the previous video segment, according to the cached video duration And the duration of the video segment determines the corresponding code rate.
  • the buffered video duration T b When the buffered video duration T b is less than twice the duration of the video segment T s , in order to ensure uninterrupted video playback, the buffered video duration T b must be greater than or equal to the actual download duration T d of the next video segment (T b ⁇ T d ), assuming the actual download duration R n is a value range of the candidate code rate, then At this time, the next video segment corresponding to the code rate can be selected rate M rate with the maximum value of R n R n closest to and smaller than the maximum value, e.g., V 4 ⁇ R n, V 5 > R n , then V 4 is the corresponding code rate of the next video segment.
  • the buffered video duration T b is greater than or equal to twice the duration of the video segment T s , indicating that the buffered video duration is sufficient to support video playback in the current state, thus maintaining the code rate R c of the previous video segment.
  • the corresponding bit rate for the next video segment is greater than or equal to twice the duration of the video segment T s , indicating that the buffered video duration is sufficient to support video playback in the current state, thus maintaining the code rate R c of the previous video segment.
  • the corresponding bit rate for the next video segment is
  • the method may further include: acquiring a preset duration of the video segment and the M code rate; or acquiring the video segment by sending a parameter acquisition request to the video server. The duration and the M code rate.
  • the video server segments the video to be played, and can perform encoding and segmentation according to a preset code rate and duration, so that the code rate and duration can be stored in advance on the video server and the client.
  • the client can request the video server for the code rate and duration before downloading the video to be played.
  • FIG. 2 is a flowchart of another embodiment of a video downloading method according to the present invention. As shown in FIG. 2, the method in this embodiment may include:
  • Step 201 Determine, according to channel quality, a highest code rate and a lowest code rate of the video to be played.
  • the video server analyzes the input conditions of the video at the video source end. Corresponding to different video resolutions, sampling formats, frame rates, original rates, and compression ratios, there are corresponding channel rates, that is, the highest bit rate of the video source. Table 2 shows the list of input conditions for the video source. After determining the highest code rate, the video source also needs to determine the lowest acceptable code rate, the level of video bit rate variation, and the level as a function of code rate.
  • the code rate can reflect the user's subjective experience, so in turn, the lowest acceptable score of the user's subjective evaluation can be used as the score value corresponding to the lowest code rate.
  • Step 202 Determine M code rates according to the highest code rate and the lowest code rate, where M is a natural number greater than 1.
  • a total of M code rate levels are determined, such that the highest code rate V M corresponds to a code rate level y of M, and the lowest code rate V 1 corresponds to a code rate level y of 1.
  • the two sets of data are brought into the code rate level y.
  • the values of a and b can be calculated.
  • the code rates (V 2 ⁇ V M-1 ) corresponding to the M-2 code rate levels are respectively calculated.
  • Step 203 Encode the to-be-played video according to the M code rates, and generate a video segment by segmentation of the to-be-played video corresponding to each code rate.
  • the video server can encode the video to be played according to each code rate, and then segment the encoded video to be played corresponding to each code rate into a video segment as shown in Table 1. .
  • Step 204 Receive a video download request sent by the client, and transmit a video segment corresponding to the video download request to the client.
  • Table 3 is a comparison table of the video download rate changes of the prior art and the present invention.
  • the negative number in Table 3 indicates that the duration of the video has been cached is empty, the video playback is aborted, and the video buffer corresponding to the negative absolute value duration is required for the client to complete playback.
  • Rate level 1 2 3 4 5 6 Rate (unit: kbps) 128 210 350 545 876 1410
  • the video server encodes the video according to the 6 code rates of Table 4, the video of the total 50s is divided into 10 video segments, and the duration T s of each video segment is 5 s .
  • the client initially requests the video server to download two video segments 1 and 2 with a code rate R c of 210 kbps.
  • the average download rate R d of the video segment 2 is 300 kbps, and the cached video is obtained.
  • the duration T b is 10 s, and the corresponding code rate of the video segment 3 to be downloaded is determined based on the information. Since R d >R c , T b > T m , so the corresponding code rate of video segment 3 is a higher rate of code rate R c+1 (350 kbps).
  • the apparatus in this embodiment may include: a requesting module 11, a downloading module 12, and a code rate determining module 13, wherein the requesting module 11 And N video segments for requesting to download a preset code rate of the to-be-played video according to the video playback instruction, where N is a natural number, and the video segment is pre-determined by the video server according to the M code rates.
  • N is a natural number
  • the video segment is pre-determined by the video server according to the M code rates.
  • the M code rates respectively correspond to M code rate levels, and M is a natural number greater than 1.
  • the video playback command is after the user clicks and plays the to-be-played video.
  • the generated module 12 is configured to download the N video segments after acquiring the video download response replied by the video server; before downloading the to-be-played video: the code rate determining module 13 is configured to: Determining the next to be downloaded according to the duration of the video segment, the buffered video duration, the average download rate of the previous video segment, and the code rate of the previous video segment Corresponding code rate of the video segment; the requesting module 11 is further configured to request the video server to download the next video segment of the corresponding code rate; the downloading module 12 is further configured to acquire After the video download response replied by the video server, the next video segment of the corresponding code rate is downloaded.
  • the device in this embodiment may be used to implement the technical solution of the method embodiment shown in FIG. 1 , and the implementation principle and technical effects are similar, and details are not described herein again.
  • the code rate determining module 13 is specifically configured to: if the average download rate of the previous video segment is greater than the code rate of the previous video segment, determine a minimum ratio from the M code rates. a second lowest code rate having a higher rate of the code rate and a code rate higher than a code rate of the previous video segment, according to the duration of the video segment, the bit rate of the higher level, and the time
  • the low code rate calculates the length of time to be downloaded, and determines the corresponding code rate according to the cached video duration and the to-be-downloaded duration.
  • the code rate determining module 13 is configured to determine the code rate of the higher level as the corresponding code rate if the cached video duration is greater than the to-be-downloaded duration.
  • the code rate determining module 13 is configured to: if the cached video duration is less than or equal to the to-be-downloaded duration, determine a code rate of the previous video segment as the corresponding code rate. .
  • the code rate determining module 13 is specifically configured to: if the average download rate of the previous video segment is less than or equal to the code rate of the previous video segment, according to the cached video duration and The duration of the video segment determines the corresponding code rate.
  • the code rate determining module 13 is specifically configured to: if the length of the video segment that is less than twice the duration of the cached video, according to the cached video duration, the previous video score The average download rate of the segments and the duration of the video segments determine the corresponding code rate.
  • the code rate determining module 13 is specifically configured to: if the length of the video segment whose buffered video duration is greater than or equal to twice, determine the code rate of the previous video segment as The corresponding code rate.
  • code rate determining module 13 is specifically configured to calculate the length of the to-be-downloaded according to the following formula:
  • T m is the duration of the download to be downloaded
  • T s is the duration of the video segment
  • R c+1 is the code rate of the higher level
  • V 2 is the second low code rate
  • code rate determining module 13 is specifically configured to calculate a value range of the candidate code rate according to the following formula:
  • R n is a value range of the candidate code rate
  • T b is the cached video duration
  • R d is an average download rate of the previous video segment
  • T s is the video segment. Determining a maximum value of the value range R n of the candidate code rate; determining a code rate that is closest to the maximum value and smaller than the maximum value among the M code rates. The corresponding code rate is described.
  • the apparatus of the present embodiment may further include: an acquiring module 14 on the basis of the apparatus structure shown in FIG.
  • the obtaining module 14 is configured to acquire a preset duration of the video segment and the M code rate; or, by sending a parameter acquisition request to the video server, acquiring a duration of the video segment and the M Rate rate.
  • the device in this embodiment may be used to implement the technical solution of the method embodiment shown in FIG. 1 , and the implementation principle and technical effects are similar, and details are not described herein again.
  • FIG. 5 is a schematic structural diagram of still another embodiment of a video downloading apparatus according to the present invention.
  • the apparatus of this embodiment may include: a determining module 21, a segmentation module 22, and a transceiver module 23, wherein the determining module 21, For determining the highest bit rate and minimum of the video to be played according to the channel quality a code rate; determining M code rates according to the highest code rate and the lowest code rate, where M is a natural number greater than 1; the segmentation module 22 is configured to respectively perform the to-be-played video according to the M code rates Encoding, and segmenting the video to be played corresponding to each code rate to generate a video segment; the transceiver module 23 is configured to receive a video download request sent by the client, and transmit the video download to the client Request the corresponding video segment.
  • the device in this embodiment may be used to implement the technical solution of the method embodiment shown in FIG. 2, and the implementation principle and technical effects are similar, and details are not described herein again.
  • FIG. 6 is a schematic structural diagram of an embodiment of a client device according to the present invention.
  • the device in this embodiment may include: a transmitter 31, a receiver 32, and a processor 33, where the transmitter 31 is configured to And requesting, by the video server, the N video segments of the preset code rate of the to-be-played video, where N is a natural number, the video segment is the video server pre-playing the to-be-played video according to the M code rates.
  • the M code rates respectively correspond to M code rate levels, and M is a natural number greater than 1.
  • the video playback command is generated after the user clicks and plays the to-be-played video.
  • the receiver 32 is configured to download the N video segments after acquiring the video download response replied by the video server; before downloading the to-be-played video: the processor 33 is configured to use the video Determining the corresponding code rate of the next video segment to be downloaded, the duration of the segment, the buffered video duration, the average download rate of the previous video segment, and the code rate of the previous video segment; The transmitter 31 is further configured to request the video server to download the next video segment of the corresponding code rate; the receiver 32 is further configured to acquire a video download response replied by the video server. Thereafter, the next video segment of the corresponding code rate is downloaded.
  • the device in this embodiment may be used to implement the technical solution of the method embodiment shown in FIG. 1 , and the implementation principle and technical effects are similar, and details are not described herein again.
  • the processor 33 is specifically configured to determine a ratio of the lowest code rate from the M code rates if an average download rate of the previous video segment is greater than a code rate of the previous video segment. a lower level code rate of one level higher than a code rate higher than a code rate of the previous video segment, according to a duration of the video segment, a code rate of the higher level, and the second lowest code Rate calculating the length of time to be downloaded, and determining the corresponding code rate according to the length of the cached video and the length of time to be downloaded.
  • the processor 33 is specifically configured to determine the code rate of the higher level as the corresponding code rate if the cached video duration is greater than the to-be-downloaded duration.
  • the processor 33 is specifically configured to determine a code rate of the previous video segment as the corresponding code rate if the cached video duration is less than or equal to the to-be-downloaded duration.
  • the processor 33 is specifically configured to: if the average download rate of the previous video segment is less than or equal to a code rate of the previous video segment, according to the cached video duration and the The duration of the video segment determines the corresponding code rate.
  • the processor 33 is specifically configured to: if the length of the video segment that is less than twice the duration of the cached video, according to the cached video duration, the previous video segment The average download rate and the duration of the video segment determine the corresponding code rate.
  • the processor 33 is specifically configured to determine a code rate of the previous video segment as the length of the video segment if the duration of the buffered video is greater than or equal to twice Corresponding code rate.
  • processor 33 is specifically configured to calculate the length of the to-be-downloaded according to the following formula:
  • T m is the duration of the download to be downloaded
  • T s is the duration of the video segment
  • R c+1 is the code rate of the higher level
  • V 2 is the second low code rate
  • processor 33 is specifically configured to calculate a value range of the candidate code rate according to the following formula:
  • R n is a value range of the candidate code rate
  • T b is the cached video duration
  • R d is an average download rate of the previous video segment
  • T s is the video segment. Determining a maximum value of the value range R n of the candidate code rate; determining a code rate that is closest to the maximum value and smaller than the maximum value among the M code rates. The corresponding code rate is described.
  • the processor 33 is further configured to acquire a preset duration of the video segment and the M code rate, or acquire the video segment by sending a parameter acquisition request to the video server. The duration and the M code rate.
  • FIG. 7 is a schematic structural diagram of an embodiment of a video server according to the present invention.
  • the device in this embodiment may include: a processor 41 and a transceiver 42, wherein the processor 41 is configured to determine transmission according to channel quality.
  • the transceiver 42 is configured to receive a video download request sent by the client, and The client transmits a video segment corresponding to the video download request.
  • the device in this embodiment may be used to implement the technical solution of the method embodiment shown in FIG. 2, and the implementation principle and the technical effect are similar, and details are not described herein again.
  • FIG. 8 is a schematic structural diagram of an embodiment of a mobile video system according to the present invention.
  • the system of the present embodiment includes: a video server 51 and a client device 52, wherein the video server 51 can adopt the device shown in FIG.
  • the technical solution of the method embodiment shown in FIG. 2 can be performed correspondingly, and the implementation principle and technical effects are similar, and details are not described herein;
  • the client device 52 can adopt the device shown in FIG. 3 or FIG.
  • the technical solution of the method embodiment shown in FIG. 1 can be performed correspondingly, and the implementation principle and the technical effect are similar, and details are not described herein again.
  • the video server 51 can adopt the structure of the device embodiment shown in FIG. 7, and correspondingly, the technical solution of the method embodiment shown in FIG. 2 can be executed, and the implementation principle and the technical effect are similar.
  • the configuration of the device embodiment shown in FIG. 1 can be performed, and the implementation principle and technical effects of the method shown in FIG. 1 are similar. Let me repeat.
  • the disclosed apparatus and method may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as the unit may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. . Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of hardware plus software functional units.
  • the above integrated unit implemented in the form of a software functional unit can be stored in a computer Readable in storage media.
  • the above software functional unit is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor to perform the methods of the various embodiments of the present invention. Part of the steps.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes. .

Landscapes

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

Abstract

Embodiments of the present invention provide a video downloading method, apparatus, and system. The video downloading method of the present invention comprises: requesting, according to a video playing instruction, to download N preset-code-rate video fragments of a to-be-played video from a video server, N being a natural number; downloading the N video fragments after obtaining a video downloading response returned by the video server; and repeatedly executing the following steps till the to-be-played video is completely downloaded: determining a corresponding code rate of a next to-be-downloaded video fragment according to a time length of a video fragment, a time length of a buffered video, an average downloading speed of a previous video fragment, and a code rate of the previous video fragment; requesting to download the next video fragment having the corresponding code rate from the video server; and downloading the next video fragment having the corresponding code rate after obtaining a video downloading response returned by the video server. The embodiments of the present invention improve the quality of mobile video playing, greatly reduce the code rate changing frequency in a video downloading process, and improve the QoE of a user.

Description

视频下载方法、装置及***Video download method, device and system 技术领域Technical field
本发明实施例涉及移动视频技术,尤其涉及一种视频下载方法、装置及***。Embodiments of the present invention relate to mobile video technologies, and in particular, to a video download method, apparatus, and system.
背景技术Background technique
随着移动通信的快速发展和智能终端的迅速普及,各种新兴的数据业务不断发展,移动视频业务已经逐渐融入用户日常生活,无论是视频点播、视频直播还是视频会议,移动视频业务已经成为了移动业务的主流。在有限的带宽资源下如何能够提供更优质的移动视频业务已成为业界十分关心的问题。With the rapid development of mobile communication and the rapid spread of intelligent terminals, various emerging data services continue to develop, and mobile video services have gradually integrated into the daily life of users. Whether it is video on demand, live video or video conferencing, mobile video services have become The mainstream of mobile services. How to provide better mobile video services under limited bandwidth resources has become a matter of great concern to the industry.
目前,有一种基于码流自适应(HTTP Adaptive Streaming,简称:HAS)的视频技术,客户端可以随着信道状况选择下载视频的码率,这样在客户端播放视频时既不会有很长的缓冲,又使得用户能够获得良好的观看体验。具体来讲,在流媒体服务器侧对完整的原始视频按照码率进行分段,例如,流媒体服务器先对原始视频进行了m个不同码率的编码,再将每个码率的视频分成n个视频片段。客户端在播放该视频时,会根据播放时的信道状况请求匹配码率的视频片段进行下载,即客户端随着网络状况的变化,根据上一视频分段的平均下载速率,选取最接***均下载速率且小于平均下载速率的码率对应的下一视频分段进行下载,直到所有视频片段下载完成。At present, there is a video technology based on HTTP Adaptive Streaming (HAS). The client can select the code rate of the downloaded video according to the channel condition, so that the video is not long when the client plays the video. Buffering allows users to get a good viewing experience. Specifically, the complete original video is segmented according to the code rate on the streaming media server side. For example, the streaming media server first encodes the original video with different code rates, and then divides the video of each code rate into n. Video clips. When the video is played by the client, the video segment that matches the bit rate is requested to be downloaded according to the channel condition during playback, that is, the client selects the closest average according to the average download rate of the previous video segment as the network status changes. The next video segment corresponding to the download rate and the code rate less than the average download rate is downloaded until all video clips are downloaded.
但是,基于HAS的视频技术只考虑了上一视频分段的平均下载速率,如果网络状况不稳定,会使得客户端在下载视频分段的过程中码率更换频繁,容易造成视频播放中的停顿,降低移动视频播放质量,影响用户的体验质量(Quality of Experience,简称:QoE)。However, the HAS-based video technology only considers the average download rate of the previous video segment. If the network status is unstable, the client will frequently change the code rate during the process of downloading video segments, which may cause pauses in video playback. Reduce the quality of mobile video playback and affect the quality of experience (QoE).
发明内容Summary of the invention
本发明实施例提供一种视频下载方法、装置及***,以提高移动视频播放的质量,同时尽量降低视频下载过程中码率更换的频率,提高用户的QoE。 The embodiment of the invention provides a video downloading method, device and system, so as to improve the quality of mobile video playback, and at the same time reduce the frequency of code rate replacement during video downloading, and improve user QoE.
第一方面,本发明实施例提供一种视频下载方法,包括:In a first aspect, an embodiment of the present invention provides a video downloading method, including:
根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数,所述视频分段为所述视频服务器预先根据M个码率对所述待播放视频编码后再分别进行分段处理后生成的,所述M个码率分别对应M个码率等级,M为大于1的自然数,所述视频播放指令为用户点击播放所述待播放视频后产生的指令;And requesting, by the video server, the N video segments of the preset code rate of the to-be-played video, where N is a natural number, the video segment is the video server pre-playing the to-be-played video according to the M code rates. After the encoding is performed separately, the M code rates respectively correspond to M code rate levels, and M is a natural number greater than 1. The video playback command is generated after the user clicks and plays the to-be-played video. instruction;
在获取所述视频服务器回复的视频下载响应后,下载所述N个视频分段;After acquiring the video download response replied by the video server, downloading the N video segments;
重复执行以下步骤,直到下载完所述待播放视频:Repeat the following steps until the video to be played is downloaded:
根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;Determining, according to a duration of the video segment, a buffered video duration, an average download rate of a previous video segment, and a code rate of the previous video segment, a corresponding code rate of a next video segment to be downloaded;
向所述视频服务器请求下载所述对应码率的所述下一个视频分段;Requesting, by the video server, downloading the next video segment of the corresponding code rate;
在获取所述视频服务器回复的视频下载响应后,下载所述对应码率的所述下一个视频分段。After acquiring the video download response replied by the video server, downloading the next video segment of the corresponding code rate.
结合第一方面,在第一方面的第一种可能的实现方式中,所述根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率,包括:With reference to the first aspect, in a first possible implementation manner of the first aspect, the duration of the video segment, the cached video duration, an average download rate of a previous video segment, and the previous one The code rate of the video segment determines the corresponding bit rate of the next video segment to be downloaded, including:
若所述上一个视频分段的平均下载速率大于所述上一个视频分段的码率,则从所述M个码率中确定比最低码率高一个等级的次低码率和比所述上一个视频分段的码率高一个等级的码率,根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,根据所述已缓存的视频时长和所述待下载时长确定所述对应码率。If the average download rate of the previous video segment is greater than the code rate of the previous video segment, determining a second lowest bit rate and a ratio higher than the lowest code rate from the M code rates The code rate of the previous video segment is higher than the code rate of the first level, and the time to be downloaded is calculated according to the duration of the video segment, the code rate of the higher level, and the second low code rate, according to the cached The video duration and the length of time to be downloaded determine the corresponding code rate.
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据所述已缓存的视频时长和所述待下载时长确定所述对应码率,包括:With reference to the first possible implementation manner of the first aspect, in a second possible implementation manner of the first aspect, the determining, according to the cached video duration and the to-be-downloaded duration, the corresponding code rate, include:
若所述已缓存的视频时长大于所述待下载时长,则将所述高一个等级的码率确定为所述对应码率。If the cached video duration is greater than the to-be-downloaded duration, the higher-level code rate is determined as the corresponding code rate.
结合第一方面的第一种或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述根据所述已缓存的视频时长和所述待下载时长确定 所述对应码率,包括:In conjunction with the first or second possible implementation of the first aspect, in a third possible implementation manner of the first aspect, the determining, according to the cached video duration, and the to-be-downloaded duration The corresponding code rate includes:
若所述已缓存的视频时长小于或等于所述待下载时长,则将所述上一个视频分段的码率确定为所述对应码率。And if the cached video duration is less than or equal to the to-be-downloaded duration, determining a code rate of the previous video segment as the corresponding code rate.
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率,包括:With reference to the first aspect or the first possible implementation manner of the first aspect, in a fourth possible implementation manner of the first aspect, the duration of the video segment, the cached video duration, and the previous one The average download rate of the video segment and the code rate of the previous video segment determine the corresponding code rate of the next video segment to be downloaded, including:
若所述上一个视频分段的平均下载速率小于或等于所述上一个视频分段的码率,则根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率。If the average download rate of the last video segment is less than or equal to the code rate of the previous video segment, the corresponding code rate is determined according to the buffered video duration and the duration of the video segment.
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率,包括:With reference to the fourth possible implementation manner of the first aspect, in a fifth possible implementation manner of the first aspect, the determining, according to the cached video duration and the duration of the video segment, the corresponding code Rate, including:
若所述已缓存的视频时长小于二倍的所述视频分段的时长,则根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率。And determining, according to the buffered video duration, the average download rate of the previous video segment, and the duration of the video segment, if the cached video duration is less than twice the duration of the video segment The corresponding code rate.
结合第一方面的第四种或第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率,包括:With reference to the fourth or fifth possible implementation manner of the first aspect, in a sixth possible implementation manner of the first aspect, the determining, according to the cached video duration, and a duration of the video segment The corresponding code rate includes:
若所述已缓存的视频时长大于或等于二倍的所述视频分段的时长,则将所述上一个视频分段的码率确定为所述对应码率。If the duration of the buffered video is greater than or equal to twice the duration of the video segment, determining a code rate of the previous video segment as the corresponding code rate.
结合第一方面的第一种可能的实现方式,在第一方面的第七种可能的实现方式中,所述根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,包括:With reference to the first possible implementation manner of the first aspect, in a seventh possible implementation manner of the first aspect, the time length according to the video segment, the code rate of the higher level, and the time The low bit rate calculates the length of time to be downloaded, including:
根据以下公式计算所述待下载时长:Calculate the length of the download to be downloaded according to the following formula:
Figure PCTCN2015088033-appb-000001
Figure PCTCN2015088033-appb-000001
其中,Tm为所述待下载时长,Ts为所述视频分段的时长,Rc+1为所述高一个等级的码率,V2为所述次低码率。Where T m is the duration of the download to be downloaded, T s is the duration of the video segment, R c+1 is the code rate of the higher level, and V 2 is the second low code rate.
结合第一方面的第五种可能的实现方式,在第一方面的第八种可能的实现方式中,所述根据所述已缓存的视频时长、所述上一个视频分段的平均下 载速率以及所述视频分段的时长确定所述对应码率,包括:With reference to the fifth possible implementation manner of the first aspect, in an eighth possible implementation manner of the first aspect, the average of the cached video duration and the previous video segment The carrier rate and the duration of the video segment determine the corresponding code rate, including:
根据以下公式计算所述待选码率的取值范围:Calculating the value range of the candidate code rate according to the following formula:
Figure PCTCN2015088033-appb-000002
Figure PCTCN2015088033-appb-000002
其中,Rn为所述待选码率的取值范围,Tb为所述已缓存的视频时长,Rd为所述上一个视频分段的平均下载速率,Ts为所述视频分段的时长;Where R n is a value range of the candidate code rate, T b is the cached video duration, R d is an average download rate of the previous video segment, and T s is the video segment. Length of time;
确定所述待选码率的取值范围Rn的最大取值;Determining a maximum value of the value range R n of the candidate code rate;
将所述M个码率中与所述最大取值最接近且小于所述最大取值的码率确定为所述对应码率。And determining a code rate that is closest to the maximum value and smaller than the maximum value among the M code rates as the corresponding code rate.
结合第一方面、第一方面的第一种至第八种中任一种可能的实现方式,在第一方面的第九种可能的实现方式中,所述根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段之前,还包括:With reference to the first aspect, any one of the first to the eighth possible implementation manners of the first aspect, in the ninth possible implementation manner of the first aspect, the requesting to download to the video server according to the video play instruction Before the N video segments of the preset bit rate of the video to be played, the method further includes:
获取预先设置的所述视频分段的时长和所述M个码率;或者,Obtaining a preset duration of the video segment and the M code rate; or
通过向所述视频服务器发送参数获取请求,获取所述视频分段的时长和所述M个码率。Obtaining a duration of the video segment and the M code rate by sending a parameter acquisition request to the video server.
第二方面,本发明实施例提供一种视频下载方法,包括:In a second aspect, an embodiment of the present invention provides a video downloading method, including:
根据信道质量确定传输待播放视频的最高码率和最低码率;Determining a highest code rate and a lowest code rate of the video to be played according to the channel quality;
根据所述最高码率和所述最低码率确定M个码率,M为大于1的自然数;Determining M code rates according to the highest code rate and the lowest code rate, where M is a natural number greater than 1;
根据所述M个码率分别对所述待播放视频进行编码,并对每个码率对应的所述待播放视频进行分段生成视频分段;And encoding the to-be-played video according to the M code rates, and segmenting the to-be-played video corresponding to each code rate to generate a video segment;
接收客户端发送的视频下载请求,并向所述客户端传输与所述视频下载请求对应的视频分段。Receiving a video download request sent by the client, and transmitting a video segment corresponding to the video download request to the client.
第三方面,本发明实施例提供一种视频下载装置,包括:In a third aspect, an embodiment of the present invention provides a video downloading apparatus, including:
请求模块,用于根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数,所述视频分段为所述视频服务器预先根据M个码率对所述待播放视频编码后再分别进行分段处理后生成的,所述M个码率分别对应M个码率等级,M为大于1的自然数,所述视频播放指令为用户点击播放所述待播放视频后产生的指令;a requesting module, configured to request, from the video server, to download, according to the video play instruction, N video segments of a preset code rate of the to-be-played video, where N is a natural number, and the video segment is pre-determined according to the M code rate by the video server. After the video to be played is encoded and then separately generated by the segmentation process, the M code rates respectively correspond to M code rate levels, and M is a natural number greater than 1, and the video playback instruction is that the user clicks to play the to-be-played An instruction generated after the video is played;
下载模块,用于在获取所述视频服务器回复的视频下载响应后,下载所述N个视频分段;a downloading module, configured to download the N video segments after acquiring a video download response replied by the video server;
在下载完所述待播放视频之前: Before downloading the video to be played:
码率确定模块,用于根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;a code rate determining module, configured to determine a next video to be downloaded according to a duration of the video segment, a buffered video duration, an average download rate of a previous video segment, and a code rate of the previous video segment Corresponding code rate of the segment;
所述请求模块,还用于向所述视频服务器请求下载所述对应码率的所述下一个视频分段;The requesting module is further configured to request, by the video server, to download the next video segment of the corresponding code rate;
所述下载模块,还用于在获取所述视频服务器回复的视频下载响应后,下载所述对应码率的所述下一个视频分段。The downloading module is further configured to download the next video segment of the corresponding code rate after acquiring a video download response replied by the video server.
结合第三方面,在第三方面的第一种可能的实现方式中,所述码率确定模块,具体用于若所述上一个视频分段的平均下载速率大于所述上一个视频分段的码率,则从所述M个码率中确定比最低码率高一个等级的次低码率和比所述上一个视频分段的码率高一个等级的码率,根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,根据所述已缓存的视频时长和所述待下载时长确定所述对应码率。With reference to the third aspect, in a first possible implementation manner of the third aspect, the code rate determining module is configured to: if an average download rate of the previous video segment is greater than that of the previous video segment a code rate, wherein a second lower code rate higher than the lowest code rate and a code rate higher than a code rate of the previous video segment are determined from the M code rates, according to the video segmentation The duration of the time, the code rate of the higher level, and the time interval of the second low code rate are calculated, and the corresponding code rate is determined according to the cached video duration and the to-be-downloaded duration.
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述码率确定模块,具体用于若所述已缓存的视频时长大于所述待下载时长,则将所述高一个等级的码率确定为所述对应码率。With reference to the first possible implementation manner of the third aspect, in a second possible implementation manner of the third aspect, the code rate determining module is configured to: if the cached video duration is greater than the to-be-downloaded The duration is determined by determining the code rate of the higher level as the corresponding code rate.
结合第三方面的第一种或第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述码率确定模块,具体用于若所述已缓存的视频时长小于或等于所述待下载时长,则将所述上一个视频分段的码率确定为所述对应码率。In conjunction with the first or second possible implementation of the third aspect, in a third possible implementation of the third aspect, the code rate determining module is specifically configured to: if the cached video duration is less than Or equal to the duration to be downloaded, determining the code rate of the previous video segment as the corresponding code rate.
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第四种可能的实现方式中,所述码率确定模块,具体用于若所述上一个视频分段的平均下载速率小于或等于所述上一个视频分段的码率,则根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率。With reference to the third aspect or the first possible implementation manner of the third aspect, in a fourth possible implementation manner of the third aspect, the code rate determining module is specifically configured to be used if the previous video segment is The average download rate is less than or equal to the code rate of the previous video segment, and the corresponding code rate is determined according to the buffered video duration and the duration of the video segment.
结合第三方面的第四种可能的实现方式,在第三方面的第五种可能的实现方式中,所述码率确定模块,具体用于若所述已缓存的视频时长小于二倍的所述视频分段的时长,则根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率。With the fourth possible implementation of the third aspect, in a fifth possible implementation manner of the third aspect, the code rate determining module is specifically configured to: if the cached video duration is less than twice The duration of the video segment is determined according to the buffered video duration, the average download rate of the previous video segment, and the duration of the video segment.
结合第三方面的第四种或第五种可能的实现方式,在第三方面的第六种可能的实现方式中,所述码率确定模块,具体用于若所述已缓存的视频时长 大于或等于二倍的所述视频分段的时长,则将所述上一个视频分段的码率确定为所述对应码率。In conjunction with the fourth or fifth possible implementation of the third aspect, in a sixth possible implementation manner of the third aspect, the code rate determining module is specifically configured to: if the cached video duration If the duration of the video segment is greater than or equal to twice, the code rate of the previous video segment is determined as the corresponding code rate.
结合第三方面的第一种可能的实现方式,在第三方面的第七种可能的实现方式中,所述码率确定模块,具体用于根据以下公式计算所述待下载时长:With reference to the first possible implementation manner of the third aspect, in a seventh possible implementation manner of the third aspect, the code rate determining module is specifically configured to calculate the to-be-downloaded time length according to the following formula:
Figure PCTCN2015088033-appb-000003
其中,Tm为所述待下载时长,Ts为所述视频分段的时长,Rc+1为所述高一个等级的码率,V2为所述次低码率。
Figure PCTCN2015088033-appb-000003
Where T m is the duration of the download to be downloaded, T s is the duration of the video segment, R c+1 is the code rate of the higher level, and V 2 is the second low code rate.
结合第三方面的第五种可能的实现方式,在第三方面的第八种可能的实现方式中,所述码率确定模块,具体用于根据以下公式计算所述待选码率的取值范围:With reference to the fifth possible implementation manner of the third aspect, in an eighth possible implementation manner of the third aspect, the code rate determining module is specifically configured to calculate a value of the candidate code rate according to the following formula range:
Figure PCTCN2015088033-appb-000004
其中,Rn为所述待选码率的取值范围,Tb为所述已缓存的视频时长,Rd为所述上一个视频分段的平均下载速率,Ts为所述视频分段的时长;确定所述待选码率的取值范围Rn的最大取值;将所述M个码率中与所述最大取值最接近且小于所述最大取值的码率确定为所述对应码率。
Figure PCTCN2015088033-appb-000004
Where R n is a value range of the candidate code rate, T b is the cached video duration, R d is an average download rate of the previous video segment, and T s is the video segment. Determining a maximum value of the value range R n of the candidate code rate; determining a code rate that is closest to the maximum value and smaller than the maximum value among the M code rates. The corresponding code rate is described.
结合第三方面、第三方面的第一种至第八种中任一种可能的实现方式,在第三方面的第九种可能的实现方式中,还包括:With reference to the third aspect, the possible implementation manner of any one of the first to the eighth aspect, the ninth possible implementation manner of the third aspect,
获取模块,用于获取预先设置的所述视频分段的时长和所述M个码率;或者,通过向所述视频服务器发送参数获取请求,获取所述视频分段的时长和所述M个码率。Obtaining a module, configured to acquire a preset duration of the video segment and the M code rate; or, by sending a parameter acquisition request to the video server, acquiring a duration of the video segment and the M Code rate.
第四方面,本发明实施例提供一种视频下载装置,包括:In a fourth aspect, an embodiment of the present invention provides a video downloading apparatus, including:
确定模块,用于根据信道质量确定传输待播放视频的最高码率和最低码率;根据所述最高码率和所述最低码率确定M个码率,M为大于1的自然数;a determining module, configured to determine, according to the channel quality, a highest code rate and a lowest code rate for transmitting the to-be-played video; determining M code rates according to the highest code rate and the lowest code rate, where M is a natural number greater than 1;
分段模块,用于根据所述M个码率分别对所述待播放视频进行编码,并对每个码率对应的所述待播放视频进行分段生成视频分段;a segmentation module, configured to encode the to-be-played video according to the M code rates, and generate a video segment by segmentation of the to-be-played video corresponding to each code rate;
收发模块,用于接收客户端发送的视频下载请求,并向所述客户端传输与所述视频下载请求对应的视频分段。The transceiver module is configured to receive a video download request sent by the client, and transmit the video segment corresponding to the video download request to the client.
第五方面,本发明实施例提供一种客户端设备,包括:In a fifth aspect, an embodiment of the present invention provides a client device, including:
发送器,用于根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数,所述视频分段为所述视频服务器预先根据M个码率对所述待播放视频编码后再分别进行分段处理后生成的,所述 M个码率分别对应M个码率等级,M为大于1的自然数,所述视频播放指令为用户点击播放所述待播放视频后产生的指令;The transmitter is configured to request, according to the video play instruction, the N video segments of the preset code rate of the video to be played to be downloaded, where N is a natural number, and the video segment is pre-determined according to the M code rate by the video server. After the video to be played is encoded and then separately generated by segmentation processing, the The M code rates respectively correspond to M code rate levels, and M is a natural number greater than 1. The video play command is an instruction generated by the user after clicking and playing the to-be-played video;
接收器,用于在获取所述视频服务器回复的视频下载响应后,下载所述N个视频分段;a receiver, configured to download the N video segments after acquiring a video download response replied by the video server;
在下载完所述待播放视频之前:Before downloading the video to be played:
处理器,用于根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;a processor, configured to determine a next video segment to be downloaded according to a duration of the video segment, a buffered video duration, an average download rate of a previous video segment, and a code rate of the previous video segment Corresponding code rate;
所述发送器,还用于向所述视频服务器请求下载所述对应码率的所述下一个视频分段;The transmitter is further configured to request, by the video server, to download the next video segment of the corresponding code rate;
所述接收器,还用于在获取所述视频服务器回复的视频下载响应后,下载所述对应码率的所述下一个视频分段。The receiver is further configured to download the next video segment of the corresponding code rate after acquiring a video download response replied by the video server.
结合第五方面,在第五方面的第一种可能的实现方式中,所述处理器,具体用于若所述上一个视频分段的平均下载速率大于所述上一个视频分段的码率,则从所述M个码率中确定比最低码率高一个等级的次低码率和比所述上一个视频分段的码率高一个等级的码率,根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,根据所述已缓存的视频时长和所述待下载时长确定所述对应码率。With reference to the fifth aspect, in a first possible implementation manner of the fifth aspect, the processor is configured to: if an average download rate of the previous video segment is greater than a code rate of the previous video segment And determining, from the M code rates, a lower-low code rate that is one level higher than the lowest code rate and a code rate higher than a code rate of the previous video segment, according to the duration of the video segmentation. And calculating the to-be-downloaded time length of the high-level code rate and the second low-rate, and determining the corresponding code rate according to the cached video duration and the to-be-downloaded duration.
结合第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述处理器,具体用于若所述已缓存的视频时长大于所述待下载时长,则将所述高一个等级的码率确定为所述对应码率。With reference to the first possible implementation manner of the fifth aspect, in a second possible implementation manner of the fifth aspect, the processor is configured to: if the cached video duration is greater than the to-be-downloaded duration, Then, the code rate of the higher level is determined as the corresponding code rate.
结合第五方面的第一种或第二种可能的实现方式,在第五方面的第三种可能的实现方式中,所述处理器,具体用于若所述已缓存的视频时长小于或等于所述待下载时长,则将所述上一个视频分段的码率确定为所述对应码率。With reference to the first or second possible implementation of the fifth aspect, in a third possible implementation manner of the fifth aspect, the processor is configured to: if the cached video duration is less than or equal to The duration of the to-be-downloaded time determines the code rate of the previous video segment as the corresponding code rate.
结合第五方面或第五方面的第一种可能的实现方式,在第五方面的第四种可能的实现方式中,所述处理器,具体用于若所述上一个视频分段的平均下载速率小于或等于所述上一个视频分段的码率,则根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率。With reference to the fifth aspect, or the first possible implementation manner of the fifth aspect, in a fourth possible implementation manner of the fifth aspect, the processor is specifically configured to: if an average download of the previous video segment The rate is less than or equal to the code rate of the previous video segment, and the corresponding code rate is determined according to the buffered video duration and the duration of the video segment.
结合第五方面或第五方面的第四种可能的实现方式,在第五方面的第五种可能的实现方式中,所述处理器,具体用于若所述已缓存的视频时长小于 二倍的所述视频分段的时长,则根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率。With reference to the fifth aspect, or the fourth possible implementation manner of the fifth aspect, in a fifth possible implementation manner of the fifth aspect, the processor is configured to: if the cached video duration is less than The duration of the video segment is doubled, and the corresponding code rate is determined according to the buffered video duration, the average download rate of the previous video segment, and the duration of the video segment.
结合第五方面或第五方面的第四种或第五种可能的实现方式,在第五方面的第六种可能的实现方式中,所述处理器,具体用于若所述已缓存的视频时长大于或等于二倍的所述视频分段的时长,则将所述上一个视频分段的码率确定为所述对应码率。With reference to the fifth aspect or the fourth or fifth possible implementation manner of the fifth aspect, in a sixth possible implementation manner of the fifth aspect, the processor is specifically configured to: if the cached video If the duration of the video segment is greater than or equal to twice, the code rate of the previous video segment is determined as the corresponding code rate.
结合第五方面或第五方面的第一种可能的实现方式,在第五方面的第七种可能的实现方式中,所述处理器,具体用于根据以下公式计算所述待下载时长:With reference to the fifth aspect, or the first possible implementation manner of the fifth aspect, in a seventh possible implementation manner of the fifth aspect, the processor is specifically configured to calculate the to-be-downloaded duration according to the following formula:
Figure PCTCN2015088033-appb-000005
其中,Tm为所述待下载时长,Ts为所述视频分段的时长,Rc+1为所述高一个等级的码率,V2为所述次低码率。
Figure PCTCN2015088033-appb-000005
Where T m is the duration of the download to be downloaded, T s is the duration of the video segment, R c+1 is the code rate of the higher level, and V 2 is the second low code rate.
结合第五方面或第五方面的第五种可能的实现方式,在第五方面的第八种可能的实现方式中,所述处理器,具体用于根据以下公式计算所述待选码率的取值范围:With reference to the fifth aspect, or the fifth possible implementation manner of the fifth aspect, in the eighth possible implementation manner of the fifth aspect, the processor is specifically configured to calculate the candidate code rate according to the following formula Ranges:
Figure PCTCN2015088033-appb-000006
其中,Rn为所述待选码率的取值范围,Tb为所述已缓存的视频时长,Rd为所述上一个视频分段的平均下载速率,Ts为所述视频分段的时长;确定所述待选码率的取值范围Rn的最大取值;将所述M个码率中与所述最大取值最接近且小于所述最大取值的码率确定为所述对应码率。
Figure PCTCN2015088033-appb-000006
Where R n is a value range of the candidate code rate, T b is the cached video duration, R d is an average download rate of the previous video segment, and T s is the video segment. Determining a maximum value of the value range R n of the candidate code rate; determining a code rate that is closest to the maximum value and smaller than the maximum value among the M code rates. The corresponding code rate is described.
结合第五方面、第五方面的第一种至第八种中任一种可能的实现方式,在第五方面的第九种可能的实现方式中,所述处理器,还用于获取预先设置的所述视频分段的时长和所述M个码率;或者,通过向所述视频服务器发送参数获取请求,获取所述视频分段的时长和所述M个码率。With reference to the fifth aspect, any one of the first to the eighth possible implementation manners of the fifth aspect, in a ninth possible implementation manner of the fifth aspect, the processor is further configured to obtain a preset The duration of the video segment and the M code rates; or, by sending a parameter acquisition request to the video server, obtaining the duration of the video segment and the M code rates.
第六方面,本发明实施例提供一种视频服务器,包括:In a sixth aspect, an embodiment of the present invention provides a video server, including:
处理器,用于根据信道质量确定传输待播放视频的最高码率和最低码率;根据所述最高码率和所述最低码率确定M个码率,M为大于1的自然数;根据所述M个码率分别对所述待播放视频进行编码,并对每个码率对应的所述待播放视频进行分段生成视频分段;a processor, configured to determine a highest code rate and a lowest code rate for transmitting the to-be-played video according to the channel quality; determine M code rates according to the highest code rate and the lowest code rate, where M is a natural number greater than 1; The M code rates respectively encode the to-be-played video, and generate a video segment by segmentation of the to-be-played video corresponding to each code rate;
收发器,用于接收客户端发送的视频下载请求,并向所述客户端传输与所述视频下载请求对应的视频分段。 And a transceiver, configured to receive a video download request sent by the client, and transmit the video segment corresponding to the video download request to the client.
第七方面,本发明实施例提供一种移动视频***,包括:视频服务器和客户端设备,所述视频服务器采用第四方面所述的装置,所述客户端设备采用第三方面、第三方面的第一种至第九种中任一种可能的实现方式项所述的装置。According to a seventh aspect, the embodiment of the present invention provides a mobile video system, including: a video server and a client device, where the video server adopts the device in the fourth aspect, and the client device adopts the third aspect and the third aspect. The apparatus of any one of the first to the ninth possible implementation aspects.
第八方面,本发明实施例提供一种移动视频***,包括:视频服务器和客户端设备,所述视频服务器采用第六方面所述的装置,所述客户端设备采用第五方面、第五方面的第一种至第九种中任一种可能的实现方式项所述的装置。In an eighth aspect, the embodiment of the present invention provides a mobile video system, including: a video server and a client device, where the video server adopts the device in the sixth aspect, and the client device adopts the fifth aspect and the fifth aspect. The apparatus of any one of the first to the ninth possible implementation aspects.
本发明实施例视频下载方法、装置及***,通过根据下载上一个视频分段的平均下载速率、视频分段的时长、已缓存的视频时长以及上一个视频分段的码率,确定最符合网络状况的待下载的下一个视频分段的码率,提高移动视频播放的质量,同时尽量降低视频下载过程中码率更换的频率,提高用户的QoE。The video downloading method, device and system according to the embodiment of the present invention determine the most consistent network by downloading the average download rate of the previous video segment, the duration of the video segmentation, the buffered video duration, and the code rate of the previous video segment. The code rate of the next video segment to be downloaded improves the quality of mobile video playback, while minimizing the frequency of code rate replacement during video downloading and improving the user's QoE.
附图说明DRAWINGS
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, a brief description of the drawings used in the embodiments or the prior art description will be briefly described below. Obviously, the drawings in the following description It is a certain embodiment of the present invention, and other drawings can be obtained from those skilled in the art without any inventive labor.
图1为本发明视频下载方法的一个实施例的流程图;1 is a flow chart of an embodiment of a video downloading method of the present invention;
图2为本发明视频下载方法的另一个实施例的流程图;2 is a flow chart of another embodiment of a video downloading method according to the present invention;
图3为本发明视频下载装置的一个实施例的结构示意图;3 is a schematic structural diagram of an embodiment of a video downloading apparatus according to the present invention;
图4为本发明视频下载装置的另一个实施例的结构示意图;4 is a schematic structural diagram of another embodiment of a video downloading apparatus according to the present invention;
图5为本发明视频下载装置的又一个实施例的结构示意图;FIG. 5 is a schematic structural diagram of still another embodiment of a video downloading apparatus according to the present invention; FIG.
图6为本发明客户端设备的一个实施例的结构示意图;6 is a schematic structural diagram of an embodiment of a client device according to the present invention;
图7为本发明视频服务器的一个实施例的结构示意图;7 is a schematic structural diagram of an embodiment of a video server according to the present invention;
图8为本发明移动视频***的一个实施例的结构示意图。FIG. 8 is a schematic structural diagram of an embodiment of a mobile video system according to the present invention.
具体实施方式detailed description
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发 明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the following will be combined with the present invention. The technical solutions in the embodiments of the present invention are clearly and completely described in the drawings, and the embodiments are described as a part of the embodiments of the present invention, rather than all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
图1为本发明视频下载方法的一个实施例的流程图,如图1所示,本实施例的方法可以包括:FIG. 1 is a flowchart of an embodiment of a video downloading method according to the present invention. As shown in FIG. 1 , the method in this embodiment may include:
步骤101、根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数,所述视频分段为所述视频服务器预先根据M个码率对所述待播放视频编码后再分别进行分段处理后生成的,所述M个码率分别对应M个码率等级,M为大于1的自然数,所述视频播放指令为用户点击播放所述待播放视频后产生的指令;Step 101: Request, according to a video play instruction, a video server to download N video segments of a preset code rate of the to-be-played video, where N is a natural number, and the video segment is the video server pre-determined according to M code rates. After the video encoding is to be performed, and then separately generated by the segmentation process, the M code rates respectively correspond to M code rate levels, and M is a natural number greater than 1. The video playback instruction is that the user clicks to play the to-be-played video. Post-generated instructions;
当用户通过客户端观看移动视频时,客户端通常是一边从视频服务器下载视频,一边播放视频,为了不使用户观看过程中发生视频中断的情况,需要下载一部分视频缓存起来,然后在播放缓存的视频的过程中下载即将播放的视频。本实施例中,视频服务器已经预先按照M个码率对待播放视频进行编码,然后将每个码率对应的编码后的视频进行分段,生成时长相等的视频分段。表1为待播放视频的分段列表。When a user views a mobile video through a client, the client usually plays the video while downloading the video from the video server. In order not to interrupt the video during the user viewing process, a part of the video is cached and then played in the cache. Download the upcoming video during the video. In this embodiment, the video server has previously encoded the video to be played according to the M code rates, and then segments the encoded video corresponding to each code rate to generate video segments of equal duration. Table 1 is a list of segments of the video to be played.
表1Table 1
Figure PCTCN2015088033-appb-000007
Figure PCTCN2015088033-appb-000007
如表1所示,视频服务器采用M个码率对待播放视频进行编码,然后将编码后的各个码率对应的视频分成L个视频分段,M个码率对应M个码率等级,所有视频分段的时长相同,根据码率的不同,每个码率对应视频分段承载的比特数不同。客户端在下载待播放视频时,是以视频分段为单位,从第一个视频分段逐个下载到第L个视频分段。客户端初始下载时对网络状况不清楚,可以选择一个较小码率的视频分段进行下载,为了给视频的播放留足 缓存余地,可以先按照这个较小码率下载两个或更多个视频分段,因此客户端在向视频服务器请求下载待播放视频时,请求下载预设码率的N个视频分段,例如,预设码率可以是表1中的V2,N可以2。As shown in Table 1, the video server encodes the video to be played by M code rates, and then divides the encoded video corresponding to each code rate into L video segments, and M code rates correspond to M code rate levels, all videos. The duration of the segments is the same, and the number of bits carried by each code rate corresponding to the video segment is different according to the code rate. When the client downloads the to-be-played video, it downloads the first video segment one by one to the L-th video segment in units of video segments. When the client initially downloads, the network status is unclear. You can select a video segment with a smaller bit rate to download. In order to reserve enough space for video playback, you can download two or more according to this smaller bit rate. The video is segmented. Therefore, when the client requests to download the to-be-played video from the video server, the client requests to download N video segments of the preset code rate. For example, the preset code rate may be V 2 in Table 1, and N may be 2.
步骤102、在获取所述视频服务器回复的视频下载响应后,下载所述N个视频分段;Step 102: After obtaining a video download response replied by the video server, download the N video segments.
视频服务器在接收到客户端的请求后,可以给客户端回复一个响应,并开始向客户端传输其请求的视频分段,这样客户端就可以开始对待播放视频的初始下载。After receiving the request from the client, the video server can reply a response to the client and start transmitting the video segment of the request to the client, so that the client can start the initial download of the video to be played.
可选的,客户端可以和视频服务器预先约定一个时长,当客户端发出请求后,视频服务器不需要向客户端发送响应,而是共同等待该预先预定的时长后,同时开始传输和下载视频分段的操作。Optionally, the client can pre-arrange a duration with the video server. After the client sends the request, the video server does not need to send a response to the client, but waits for the predetermined duration together, and then starts transmitting and downloading the video. The operation of the segment.
重复执行步骤103-105,直到下载完所述待播放视频:Repeat steps 103-105 until the video to be played is downloaded:
步骤103、根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;Step 103: Determine, according to the duration of the video segment, the buffered video duration, the average download rate of the previous video segment, and the code rate of the previous video segment, the correspondence of the next video segment to be downloaded. Code rate
客户端在下载了预设码率的N个视频分段后,一方面可以积累一定的视频缓存时长,另一方面也可以根据先前下载的视频分段的平均下载速率获取到一些网络状况的信息,这样就可以基于这些信息结合视频分段的时长和上一个视频分段的码率确定待下载的下一个视频分段的对应码率。例如,客户端初始请求下载码率为V2的2个视频分段(即视频分段21和视频分段22),下载完视频分段22后,客户端要确定下载第三个视频分段的码率,此时就是根据视频分段的时长、已缓存的视频时长、下载视频分段22的平均下载速率以及视频分段22的码率V2来确定。本实施例除了考虑到下载上一个视频分段的平均下载速率,还结合视频分段的时长、已缓存的视频时长以及上一个视频分段的码率,可以选择最符合网络状况的视频分段的码率,提高移动视频播放的质量,还可以尽量减少视频下载过程中码率更换的频率。After downloading the N video segments of the preset bit rate, the client may accumulate a certain video buffer duration on the one hand, and may also obtain some network status information according to the average download rate of the previously downloaded video segment. Thus, based on the information, the corresponding code rate of the next video segment to be downloaded is determined in conjunction with the duration of the video segment and the code rate of the previous video segment. For example, the client initially requests to download 2 video segments with a code rate of V 2 (ie, video segment 21 and video segment 22). After downloading the video segment 22, the client determines to download the third video segment. The code rate is determined based on the duration of the video segment, the length of the buffered video, the average download rate of the downloaded video segment 22, and the code rate V 2 of the video segment 22. In this embodiment, in addition to considering the average download rate of downloading the previous video segment, combined with the duration of the video segment, the buffered video duration, and the code rate of the previous video segment, the video segment that best matches the network condition can be selected. The code rate improves the quality of mobile video playback, and can also minimize the frequency of code rate replacement during video download.
步骤104、向所述视频服务器请求下载所述对应码率的所述下一个视频分段;Step 104: Request the video server to download the next video segment of the corresponding code rate.
客户端确定了下载下一个视频分段的对应码率后,即可向视频服务器请求下载该对应码率对应的洗衣歌视频分段。例如,在下载完视频分段22后向 视频服务器请求下载码率为V3的第三个视频分段33。After the client determines to download the corresponding code rate of the next video segment, it can request the video server to download the laundry song video segment corresponding to the corresponding code rate. For example, a request to the video server after downloading the download rate video segments 22 V 3 for a third video segment 33.
步骤105、在获取所述视频服务器回复的视频下载响应后,下载所述对应码率的所述下一个视频分段。Step 105: After acquiring the video download response replied by the video server, download the next video segment of the corresponding code rate.
步骤105和步骤102类似,此处不再赘述。Step 105 is similar to step 102 and will not be described here.
步骤103-105的方法将上一个视频分段下载时的情况作参考,确定待下载的下一个视频分段的码率,例如,上述以表1为例,客户端根据视频分段22的下载状况确定第三个视频分段的码率为V3,下载的是视频分段33,再根据视频分段33的下载状况确定第四个视频分段的码率,以此类推,直到客户端下载完所有待播放视频的L个视频分段。The method of steps 103-105 refers to the situation when the previous video segment is downloaded, and determines the code rate of the next video segment to be downloaded. For example, the above table 1 is taken as an example, and the client downloads according to the video segment 22 determining a third status bit rate of video segments V 3, downloaded video segments 33, and then determines the bit rate of the fourth video segments in accordance with the status of downloading the video segments 33, and so on, until the client Download all the L video segments of the video to be played.
本实施例,通过根据下载上一个视频分段的平均下载速率、视频分段的时长、已缓存的视频时长以及上一个视频分段的码率,确定最符合网络状况的待下载的下一个视频分段的码率,提高移动视频播放的质量,同时尽量降低视频下载过程中码率更换的频率,提高用户的QoE。In this embodiment, the next video to be downloaded that best matches the network condition is determined according to the average download rate of the previous video segment, the duration of the video segment, the buffered video duration, and the code rate of the previous video segment. Segmented bit rate, improve the quality of mobile video playback, while minimizing the frequency of code rate replacement during video downloading, and improve user QoE.
进一步的,上述步骤103,具体的实现方法可以是:若所述上一个视频分段的平均下载速率大于所述上一个视频分段的码率,则从所述M个码率中确定比最低码率高一个等级的次低码率和比所述上一个视频分段的码率高一个等级的码率,根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,根据所述已缓存的视频时长和所述待下载时长确定所述对应码率。Further, in the foregoing step 103, the specific implementation method may be: if the average download rate of the previous video segment is greater than the code rate of the previous video segment, determining the lowest ratio from the M code rates a second lowest code rate having a higher rate of the code rate and a code rate higher than a code rate of the previous video segment, according to the duration of the video segment, the bit rate of the higher level, and the time The low code rate calculates the length of time to be downloaded, and determines the corresponding code rate according to the cached video duration and the to-be-downloaded duration.
客户端将上一个视频分段的平均下载速率Rd与上一个视频分段的码率Rc进行比较,当Rd>Rc时,表示网络状况良好,可以实现的实际下载速率大于上一个视频分段的码率,此时可以考虑将下一个视频分段的码率提高一个等级。具体地,根据已缓存的视频时长Tb和待下载时长Tm确定下一个视频分段的码率,待下载时长Tm表示在实际平均下载速率下降到次低码率V2的情况下,下载比上一个视频分段的码率Rc高一个等级的码率Rc+1的时长,Ts为一个视频分段的时长。可以根据以下公式计算待下载时长TmThe client compares the average download rate R d of the previous video segment with the code rate R c of the previous video segment. When R d >R c , the network condition is good, and the actual download rate that can be achieved is greater than the previous one. The code rate of the video segment can be considered to increase the bit rate of the next video segment by one level. Specifically, the code rate of the next video segment is determined according to the buffered video duration T b and the to-be-downloaded time length T m , and the to-be-downloaded time length T m indicates that the actual average download rate falls to the next lowest code rate V 2 . The duration of the code rate R c+1 that is one level higher than the code rate R c of the previous video segment is downloaded, and T s is the duration of one video segment. The length of time to be downloaded T m can be calculated according to the following formula:
Figure PCTCN2015088033-appb-000008
Figure PCTCN2015088033-appb-000008
仍然以上述表1为例,客户端下载视频分段22的平均下载速率为
Figure PCTCN2015088033-appb-000009
Td为视频分段22的实际下载时长。客户端下载完视频分段22后 一共下载了时长为2Ts的视频分段,减去视频已经播放的时长就是此时已缓存的视频时长Tb,将已缓存的视频时长Tb与以次低码率下载高一个等级的码率Rc+1的视频分段的待下载时长Tm进行比较,确定待下载的第三个视频分段的对应码率。
Still taking the above Table 1 as an example, the average download rate of the client download video segment 22 is
Figure PCTCN2015088033-appb-000009
T d is the actual download duration of video segment 22. After the client downloads the video segment 22, a total of 2T s video segments are downloaded. The length of the video that has been played is the duration of the video buffer T b , and the cached video duration T b and time. The low bit rate downloads a higher level of the code rate R c+1 of the video segment to be downloaded for the length T m to be compared, and determines the corresponding code rate of the third video segment to be downloaded.
(1)Tb>Tm (1) T b >T m
此时已缓存的时长足以支持以次低码率下载高一个等级的码率Rc+1的视频分段,不会造成视频播放的中断,因此可以将高一个等级的码率Rc+1(例如V3)确定为第三个视频分段的对应码率,即下载视频分段33。At this time, the buffered time is enough to support downloading a higher-level video segment R c+1 at a lower bit rate, without causing interruption of video playback, so that a higher level code rate R c+1 can be used. (e.g., V 3) determined to correspond to the third bit rate video segments, i.e., 33 to download the video segment.
(2)Tb≤Tm (2) T b ≤ T m
此时已缓存的时长不足以支持以次低码率下载高一个等级的码率Rc+1的视频分段,可能会造成视频播放的中断,用以下载视频分段,因此仍将维持视频分段22的码率Rc(例如V2)为第三个视频分段的对应码率,即下载视频分段23。At this time, the buffered time is not enough to support downloading a higher-level video segment R c+1 at a lower bit rate, which may cause interruption of video playback to download video segments, so the video will still be maintained. The code rate R c (e.g., V 2 ) of the segment 22 is the corresponding code rate of the third video segment, i.e., the video segment 23 is downloaded.
进一步的,上述步骤103,具体的实现方法还可以是:若所述上一个视频分段的平均下载速率小于或等于所述上一个视频分段的码率,则根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率。Further, in the foregoing step 103, the specific implementation method may further be: if the average download rate of the previous video segment is less than or equal to the code rate of the previous video segment, according to the cached video duration And the duration of the video segment determines the corresponding code rate.
当Rd≤Rc时,表示网络状况变差了,实现的实际下载速率小于或等于上一个视频分段的码率,此时需要根据已缓存的视频时长Tb和视频分段的时长Ts来确定下一个视频分段的对应码率。When R d ≤ R c , it indicates that the network condition is deteriorated, and the actual download rate achieved is less than or equal to the code rate of the previous video segment. In this case, according to the buffered video duration T b and the duration of the video segment T s to determine the corresponding code rate of the next video segment.
(1)Tb<2Ts (1) T b <2T s
已缓存的视频时长Tb小于两倍视频分段的时长Ts时,为了确保视频播放不中断,已缓存的视频时长Tb必须大于或等于下一个视频分段的实际下载时长Td(Tb≥Td),假设实际下载时长
Figure PCTCN2015088033-appb-000010
Rn为所述待选码率的取值范围,则
Figure PCTCN2015088033-appb-000011
此时下一个视频分段的对应码率可以选取M个码率中与Rn的最大取值最接近且小于该Rn的最大取值的码率,例如,V4≤Rn,V5>Rn,则V4为下一个视频分段的对应码率。
When the buffered video duration T b is less than twice the duration of the video segment T s , in order to ensure uninterrupted video playback, the buffered video duration T b must be greater than or equal to the actual download duration T d of the next video segment (T b ≥ T d ), assuming the actual download duration
Figure PCTCN2015088033-appb-000010
R n is a value range of the candidate code rate, then
Figure PCTCN2015088033-appb-000011
At this time, the next video segment corresponding to the code rate can be selected rate M rate with the maximum value of R n R n closest to and smaller than the maximum value, e.g., V 4 ≤R n, V 5 > R n , then V 4 is the corresponding code rate of the next video segment.
(2)Tb≥2Ts (2) T b ≥ 2T s
已缓存的视频时长Tb大于或等于了两倍视频分段的时长Ts,表示已经缓 存的视频时长在当前状态下足够支持视频的播放,因此仍然维持上一个视频分段的码率Rc为下一个视频分段的对应码率。The buffered video duration T b is greater than or equal to twice the duration of the video segment T s , indicating that the buffered video duration is sufficient to support video playback in the current state, thus maintaining the code rate R c of the previous video segment. The corresponding bit rate for the next video segment.
进一步的,上述步骤101之前,还可以包括:获取预先设置的所述视频分段的时长和所述M个码率;或者,通过向所述视频服务器发送参数获取请求,获取所述视频分段的时长和所述M个码率。Further, before the step 101, the method may further include: acquiring a preset duration of the video segment and the M code rate; or acquiring the video segment by sending a parameter acquisition request to the video server. The duration and the M code rate.
视频服务器对待播放视频进行分段,可以是按照预先设置的码率和时长进行编码和分段处理,这样在视频服务器和客户端可以预先将码率和时长存储下来。或者,客户端可以在下载待播放视频前向视频服务器请求获取码率和时长。The video server segments the video to be played, and can perform encoding and segmentation according to a preset code rate and duration, so that the code rate and duration can be stored in advance on the video server and the client. Alternatively, the client can request the video server for the code rate and duration before downloading the video to be played.
图2为本发明视频下载方法的另一个实施例的流程图,如图2所示,本实施例的方法可以包括:2 is a flowchart of another embodiment of a video downloading method according to the present invention. As shown in FIG. 2, the method in this embodiment may include:
步骤201、根据信道质量确定传输待播放视频的最高码率和最低码率;Step 201: Determine, according to channel quality, a highest code rate and a lowest code rate of the video to be played.
视频服务器在视频源端对视频的输入条件进行分析,对应不同的视频分辨率、采样格式、帧速率、原始速率、压缩率,会有分别对应的信道速率,即视频源端的最高码率。表2为视频源端输入条件列表。在确定最高码率后,视频源端还需要确定最低可接受的码率、视频码率变动的等级,以及等级与码率的函数关系。由于用户观看移动视频给出的主管评价分数视频与视频的码率可以呈现出对数关系,即y=a×ln(Vn)+b,其中,Vn是视频源端的码率,y为码率等级,a和b为待确定的系数。码率可以反映出用户的主观体验,因此反过来,可以以用户主观评价的最低可接受分数作为对应于最低码率的分数值。The video server analyzes the input conditions of the video at the video source end. Corresponding to different video resolutions, sampling formats, frame rates, original rates, and compression ratios, there are corresponding channel rates, that is, the highest bit rate of the video source. Table 2 shows the list of input conditions for the video source. After determining the highest code rate, the video source also needs to determine the lowest acceptable code rate, the level of video bit rate variation, and the level as a function of code rate. Since the rate of video and video of the supervisor evaluation score given by the user watching the mobile video can exhibit a logarithmic relationship, that is, y=a×ln(V n )+b, where V n is the code rate of the video source, and y is The code rate level, a and b are the coefficients to be determined. The code rate can reflect the user's subjective experience, so in turn, the lowest acceptable score of the user's subjective evaluation can be used as the score value corresponding to the lowest code rate.
表2Table 2
分辨率Resolution 采样格式Sampling format 帧速率Frame rate 原始速率Raw rate 压缩率Compression ratio 信道速率Channel rate
988×420988×420 4:2:04:2:0 30fps30fps 149Mbps149Mbps 110H.264110H.264 1.4Mbps1.4Mbps
1280×7201280×720 4:2:04:2:0 30fps30fps 332Mbps332Mbps 110H.264110H.264 3.0Mbps3.0Mbps
1920×10801920×1080 4:2:04:2:0 30fps30fps 747Mbps747Mbps 220H.264220H.264 3.4Mbps3.4Mbps
步骤202、根据所述最高码率和所述最低码率确定M个码率,M为大于1的自然数;Step 202: Determine M code rates according to the highest code rate and the lowest code rate, where M is a natural number greater than 1.
一共确定码率等级有M个,这样最高码率VM对应的码率等级y为M,最低码率V1对应的码率等级y为1,将这两组数据带入码率等级y的计算公 式中,即可计算出a和b的值。再根据y取值从2到M-1,分别计算出这M-2个码率等级分别对应的码率(V2□VM-1)。A total of M code rate levels are determined, such that the highest code rate V M corresponds to a code rate level y of M, and the lowest code rate V 1 corresponds to a code rate level y of 1. The two sets of data are brought into the code rate level y. In the calculation formula, the values of a and b can be calculated. Then, according to the value of y from 2 to M-1, the code rates (V 2 □ V M-1 ) corresponding to the M-2 code rate levels are respectively calculated.
步骤203、根据所述M个码率分别对所述待播放视频进行编码,并对每个码率对应的所述待播放视频进行分段生成视频分段;Step 203: Encode the to-be-played video according to the M code rates, and generate a video segment by segmentation of the to-be-played video corresponding to each code rate.
视频服务器在确定了M个码率后就可以根据每个码率对待播放视频进行编码,然后再把每个码率对应的编码后的待播放视频分段形成如表1所示的视频分段。After determining the M code rates, the video server can encode the video to be played according to each code rate, and then segment the encoded video to be played corresponding to each code rate into a video segment as shown in Table 1. .
步骤204、接收客户端发送的视频下载请求,并向所述客户端传输与所述视频下载请求对应的视频分段。Step 204: Receive a video download request sent by the client, and transmit a video segment corresponding to the video download request to the client.
本实施例,通过根据信道质量确定最高码率和最低码率,确定出M个码率等级,并分别对待播放视频进行编码和分段,确保分段后的视频分段都是可以被客户端下载并播放的,提高移动视频播放的质量,提高用户的QoE。In this embodiment, by determining the highest code rate and the lowest code rate according to the channel quality, determining M code rate levels, and separately encoding and segmenting the played video, ensuring that the segmented video segments are all available to the client. Download and play, improve the quality of mobile video playback, and improve user QoE.
下面采用一个具体的实施例,对上述方法实施例的技术方案进行详细说明。The technical solution of the foregoing method embodiment is described in detail below by using a specific embodiment.
表3为现有技术和本发明视频下载码率变化对比表。Table 3 is a comparison table of the video download rate changes of the prior art and the present invention.
表3table 3
Figure PCTCN2015088033-appb-000012
Figure PCTCN2015088033-appb-000012
Figure PCTCN2015088033-appb-000013
Figure PCTCN2015088033-appb-000013
表3中的负数表示视频已经缓存的时长为空,视频播放产生中止,客户端要完成播放需要对应负数绝对值时长的视频缓存。The negative number in Table 3 indicates that the duration of the video has been cached is empty, the video playback is aborted, and the video buffer corresponding to the negative absolute value duration is required for the client to complete playback.
本实施例中,视频服务器确定了6个码率等级,等级6对应最高码率为1410kbs,等级1对应最低码率为128kbs,这样得到码率等级y=2.079×ln(Vn)+9.1144,再计算其它4个码率等级对应的码率,如表4所示:In this embodiment, the video server determines six code rate levels, the highest code rate corresponding to level 6 is 1410 kbs, and the lowest code rate corresponding to level 1 is 128 kbs, so that the code rate level y=2.079×ln(V n )+9.1144 is obtained. Then calculate the code rate corresponding to the other four code rate levels, as shown in Table 4:
表4Table 4
码率等级Rate level 11 22 33 44 55 66
码率(单位:kbps)Rate (unit: kbps) 128128 210210 350350 545545 876876 14101410
视频服务器根据表4的6个码率对待播放视频编码后,再将总共50s的视频分成10个视频分段,每个视频分段的时长Ts为5s。After the video server encodes the video according to the 6 code rates of Table 4, the video of the total 50s is divided into 10 video segments, and the duration T s of each video segment is 5 s .
客户端初始时向视频服务器请求下载2个码率Rc为210kbps的视频分段1和2,下载完视频分段2后得到视频分段2的平均下载速率Rd为300kbps,已缓存的视频时长Tb为10s,根据这些信息确定待下载的视频分段3的对应码率。由于Rd>Rc
Figure PCTCN2015088033-appb-000014
Tb>Tm,因此视频分段3的对应 码率为高一个等级的码率Rc+1(350kbps)。
The client initially requests the video server to download two video segments 1 and 2 with a code rate R c of 210 kbps. After downloading the video segment 2, the average download rate R d of the video segment 2 is 300 kbps, and the cached video is obtained. The duration T b is 10 s, and the corresponding code rate of the video segment 3 to be downloaded is determined based on the information. Since R d >R c ,
Figure PCTCN2015088033-appb-000014
T b > T m , so the corresponding code rate of video segment 3 is a higher rate of code rate R c+1 (350 kbps).
以此类推,通过上述方法实施例中描述的方法得到的客户端下载待播放视频的码率变化和播放效果就是如表3所示。By analogy, the code rate change and the playback effect of the video downloaded by the client obtained by the method described in the foregoing method embodiment are as shown in Table 3.
图3为本发明视频下载装置的一个实施例的结构示意图,如图3所示,本实施例的装置可以包括:请求模块11、下载模块12以及码率确定模块13,其中,请求模块11,用于根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数,所述视频分段为所述视频服务器预先根据M个码率对所述待播放视频编码后再分别进行分段处理后生成的,所述M个码率分别对应M个码率等级,M为大于1的自然数,所述视频播放指令为用户点击播放所述待播放视频后产生的指令;下载模块12,用于在获取所述视频服务器回复的视频下载响应后,下载所述N个视频分段;在下载完所述待播放视频之前:码率确定模块13,用于根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;所述请求模块11,还用于向所述视频服务器请求下载所述对应码率的所述下一个视频分段;所述下载模块12,还用于在获取所述视频服务器回复的视频下载响应后,下载所述对应码率的所述下一个视频分段。3 is a schematic structural diagram of an embodiment of a video downloading apparatus according to the present invention. As shown in FIG. 3, the apparatus in this embodiment may include: a requesting module 11, a downloading module 12, and a code rate determining module 13, wherein the requesting module 11 And N video segments for requesting to download a preset code rate of the to-be-played video according to the video playback instruction, where N is a natural number, and the video segment is pre-determined by the video server according to the M code rates. After the video encoding is performed, and then separately generated by the segmentation process, the M code rates respectively correspond to M code rate levels, and M is a natural number greater than 1. The video playback command is after the user clicks and plays the to-be-played video. The generated module 12 is configured to download the N video segments after acquiring the video download response replied by the video server; before downloading the to-be-played video: the code rate determining module 13 is configured to: Determining the next to be downloaded according to the duration of the video segment, the buffered video duration, the average download rate of the previous video segment, and the code rate of the previous video segment Corresponding code rate of the video segment; the requesting module 11 is further configured to request the video server to download the next video segment of the corresponding code rate; the downloading module 12 is further configured to acquire After the video download response replied by the video server, the next video segment of the corresponding code rate is downloaded.
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。The device in this embodiment may be used to implement the technical solution of the method embodiment shown in FIG. 1 , and the implementation principle and technical effects are similar, and details are not described herein again.
进一步的,所述码率确定模块13,具体用于若所述上一个视频分段的平均下载速率大于所述上一个视频分段的码率,则从所述M个码率中确定比最低码率高一个等级的次低码率和比所述上一个视频分段的码率高一个等级的码率,根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,根据所述已缓存的视频时长和所述待下载时长确定所述对应码率。Further, the code rate determining module 13 is specifically configured to: if the average download rate of the previous video segment is greater than the code rate of the previous video segment, determine a minimum ratio from the M code rates. a second lowest code rate having a higher rate of the code rate and a code rate higher than a code rate of the previous video segment, according to the duration of the video segment, the bit rate of the higher level, and the time The low code rate calculates the length of time to be downloaded, and determines the corresponding code rate according to the cached video duration and the to-be-downloaded duration.
进一步的,所述码率确定模块13,具体用于若所述已缓存的视频时长大于所述待下载时长,则将所述高一个等级的码率确定为所述对应码率。Further, the code rate determining module 13 is configured to determine the code rate of the higher level as the corresponding code rate if the cached video duration is greater than the to-be-downloaded duration.
进一步的,所述码率确定模块13,具体用于若所述已缓存的视频时长小于或等于所述待下载时长,则将所述上一个视频分段的码率确定为所述对应码率。 Further, the code rate determining module 13 is configured to: if the cached video duration is less than or equal to the to-be-downloaded duration, determine a code rate of the previous video segment as the corresponding code rate. .
进一步的,所述码率确定模块13,具体用于若所述上一个视频分段的平均下载速率小于或等于所述上一个视频分段的码率,则根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率。Further, the code rate determining module 13 is specifically configured to: if the average download rate of the previous video segment is less than or equal to the code rate of the previous video segment, according to the cached video duration and The duration of the video segment determines the corresponding code rate.
进一步的,所述码率确定模块13,具体用于若所述已缓存的视频时长小于二倍的所述视频分段的时长,则根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率。Further, the code rate determining module 13 is specifically configured to: if the length of the video segment that is less than twice the duration of the cached video, according to the cached video duration, the previous video score The average download rate of the segments and the duration of the video segments determine the corresponding code rate.
进一步的,所述码率确定模块13,具体用于若所述已缓存的视频时长大于或等于二倍的所述视频分段的时长,则将所述上一个视频分段的码率确定为所述对应码率。Further, the code rate determining module 13 is specifically configured to: if the length of the video segment whose buffered video duration is greater than or equal to twice, determine the code rate of the previous video segment as The corresponding code rate.
进一步的,所述码率确定模块13,具体用于根据以下公式计算所述待下载时长:Further, the code rate determining module 13 is specifically configured to calculate the length of the to-be-downloaded according to the following formula:
Figure PCTCN2015088033-appb-000015
其中,Tm为所述待下载时长,Ts为所述视频分段的时长,Rc+1为所述高一个等级的码率,V2为所述次低码率。
Figure PCTCN2015088033-appb-000015
Where T m is the duration of the download to be downloaded, T s is the duration of the video segment, R c+1 is the code rate of the higher level, and V 2 is the second low code rate.
进一步的,所述码率确定模块13,具体用于根据以下公式计算所述待选码率的取值范围:Further, the code rate determining module 13 is specifically configured to calculate a value range of the candidate code rate according to the following formula:
Figure PCTCN2015088033-appb-000016
其中,Rn为所述待选码率的取值范围,Tb为所述已缓存的视频时长,Rd为所述上一个视频分段的平均下载速率,Ts为所述视频分段的时长;确定所述待选码率的取值范围Rn的最大取值;将所述M个码率中与所述最大取值最接近且小于所述最大取值的码率确定为所述对应码率。
Figure PCTCN2015088033-appb-000016
Where R n is a value range of the candidate code rate, T b is the cached video duration, R d is an average download rate of the previous video segment, and T s is the video segment. Determining a maximum value of the value range R n of the candidate code rate; determining a code rate that is closest to the maximum value and smaller than the maximum value among the M code rates. The corresponding code rate is described.
图4为本发明视频下载装置的另一个实施例的结构示意图,如图4所示,本实施例的装置在图3所示装置结构的基础上,进一步地,还可以包括:获取模块14,该获取模块14用于获取预先设置的所述视频分段的时长和所述M个码率;或者,通过向所述视频服务器发送参数获取请求,获取所述视频分段的时长和所述M个码率。4 is a schematic structural diagram of another embodiment of a video downloading apparatus according to the present invention. As shown in FIG. 4, the apparatus of the present embodiment may further include: an acquiring module 14 on the basis of the apparatus structure shown in FIG. The obtaining module 14 is configured to acquire a preset duration of the video segment and the M code rate; or, by sending a parameter acquisition request to the video server, acquiring a duration of the video segment and the M Rate rate.
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。The device in this embodiment may be used to implement the technical solution of the method embodiment shown in FIG. 1 , and the implementation principle and technical effects are similar, and details are not described herein again.
图5为本发明视频下载装置的又一个实施例的结构示意图,如图5所示,本实施例的装置可以包括:确定模块21、分段模块22以及收发模块23,其中,确定模块21,用于根据信道质量确定传输待播放视频的最高码率和最低 码率;根据所述最高码率和所述最低码率确定M个码率,M为大于1的自然数;分段模块22,用于根据所述M个码率分别对所述待播放视频进行编码,并对每个码率对应的所述待播放视频进行分段生成视频分段;收发模块23,用于接收客户端发送的视频下载请求,并向所述客户端传输与所述视频下载请求对应的视频分段。FIG. 5 is a schematic structural diagram of still another embodiment of a video downloading apparatus according to the present invention. As shown in FIG. 5, the apparatus of this embodiment may include: a determining module 21, a segmentation module 22, and a transceiver module 23, wherein the determining module 21, For determining the highest bit rate and minimum of the video to be played according to the channel quality a code rate; determining M code rates according to the highest code rate and the lowest code rate, where M is a natural number greater than 1; the segmentation module 22 is configured to respectively perform the to-be-played video according to the M code rates Encoding, and segmenting the video to be played corresponding to each code rate to generate a video segment; the transceiver module 23 is configured to receive a video download request sent by the client, and transmit the video download to the client Request the corresponding video segment.
本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。The device in this embodiment may be used to implement the technical solution of the method embodiment shown in FIG. 2, and the implementation principle and technical effects are similar, and details are not described herein again.
图6为本发明客户端设备的一个实施例的结构示意图,如图6所示,本实施例的设备可以包括:发送器31、接收器32以及处理器33,其中,发送器31,用于根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数,所述视频分段为所述视频服务器预先根据M个码率对所述待播放视频编码后再分别进行分段处理后生成的,所述M个码率分别对应M个码率等级,M为大于1的自然数,所述视频播放指令为用户点击播放所述待播放视频后产生的指令;接收器32,用于在获取所述视频服务器回复的视频下载响应后,下载所述N个视频分段;在下载完所述待播放视频之前:处理器33,用于根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;所述发送器31,还用于向所述视频服务器请求下载所述对应码率的所述下一个视频分段;所述接收器32,还用于在获取所述视频服务器回复的视频下载响应后,下载所述对应码率的所述下一个视频分段。FIG. 6 is a schematic structural diagram of an embodiment of a client device according to the present invention. As shown in FIG. 6, the device in this embodiment may include: a transmitter 31, a receiver 32, and a processor 33, where the transmitter 31 is configured to And requesting, by the video server, the N video segments of the preset code rate of the to-be-played video, where N is a natural number, the video segment is the video server pre-playing the to-be-played video according to the M code rates. After the encoding is performed separately, the M code rates respectively correspond to M code rate levels, and M is a natural number greater than 1. The video playback command is generated after the user clicks and plays the to-be-played video. The receiver 32 is configured to download the N video segments after acquiring the video download response replied by the video server; before downloading the to-be-played video: the processor 33 is configured to use the video Determining the corresponding code rate of the next video segment to be downloaded, the duration of the segment, the buffered video duration, the average download rate of the previous video segment, and the code rate of the previous video segment; The transmitter 31 is further configured to request the video server to download the next video segment of the corresponding code rate; the receiver 32 is further configured to acquire a video download response replied by the video server. Thereafter, the next video segment of the corresponding code rate is downloaded.
本实施例的设备,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。The device in this embodiment may be used to implement the technical solution of the method embodiment shown in FIG. 1 , and the implementation principle and technical effects are similar, and details are not described herein again.
进一步的,所述处理器33,具体用于若所述上一个视频分段的平均下载速率大于所述上一个视频分段的码率,则从所述M个码率中确定比最低码率高一个等级的次低码率和比所述上一个视频分段的码率高一个等级的码率,根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,根据所述已缓存的视频时长和所述待下载时长确定所述对应码率。Further, the processor 33 is specifically configured to determine a ratio of the lowest code rate from the M code rates if an average download rate of the previous video segment is greater than a code rate of the previous video segment. a lower level code rate of one level higher than a code rate higher than a code rate of the previous video segment, according to a duration of the video segment, a code rate of the higher level, and the second lowest code Rate calculating the length of time to be downloaded, and determining the corresponding code rate according to the length of the cached video and the length of time to be downloaded.
进一步的,所述处理器33,具体用于若所述已缓存的视频时长大于所述待下载时长,则将所述高一个等级的码率确定为所述对应码率。 Further, the processor 33 is specifically configured to determine the code rate of the higher level as the corresponding code rate if the cached video duration is greater than the to-be-downloaded duration.
进一步的,所述处理器33,具体用于若所述已缓存的视频时长小于或等于所述待下载时长,则将所述上一个视频分段的码率确定为所述对应码率。Further, the processor 33 is specifically configured to determine a code rate of the previous video segment as the corresponding code rate if the cached video duration is less than or equal to the to-be-downloaded duration.
进一步的,所述处理器33,具体用于若所述上一个视频分段的平均下载速率小于或等于所述上一个视频分段的码率,则根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率。Further, the processor 33 is specifically configured to: if the average download rate of the previous video segment is less than or equal to a code rate of the previous video segment, according to the cached video duration and the The duration of the video segment determines the corresponding code rate.
进一步的,所述处理器33,具体用于若所述已缓存的视频时长小于二倍的所述视频分段的时长,则根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率。Further, the processor 33 is specifically configured to: if the length of the video segment that is less than twice the duration of the cached video, according to the cached video duration, the previous video segment The average download rate and the duration of the video segment determine the corresponding code rate.
进一步的,所述处理器33,具体用于若所述已缓存的视频时长大于或等于二倍的所述视频分段的时长,则将所述上一个视频分段的码率确定为所述对应码率。Further, the processor 33 is specifically configured to determine a code rate of the previous video segment as the length of the video segment if the duration of the buffered video is greater than or equal to twice Corresponding code rate.
进一步的,所述处理器33,具体用于根据以下公式计算所述待下载时长:Further, the processor 33 is specifically configured to calculate the length of the to-be-downloaded according to the following formula:
Figure PCTCN2015088033-appb-000017
其中,Tm为所述待下载时长,Ts为所述视频分段的时长,Rc+1为所述高一个等级的码率,V2为所述次低码率。
Figure PCTCN2015088033-appb-000017
Where T m is the duration of the download to be downloaded, T s is the duration of the video segment, R c+1 is the code rate of the higher level, and V 2 is the second low code rate.
进一步的,所述处理器33,具体用于根据以下公式计算所述待选码率的取值范围:Further, the processor 33 is specifically configured to calculate a value range of the candidate code rate according to the following formula:
Figure PCTCN2015088033-appb-000018
其中,Rn为所述待选码率的取值范围,Tb为所述已缓存的视频时长,Rd为所述上一个视频分段的平均下载速率,Ts为所述视频分段的时长;确定所述待选码率的取值范围Rn的最大取值;将所述M个码率中与所述最大取值最接近且小于所述最大取值的码率确定为所述对应码率。
Figure PCTCN2015088033-appb-000018
Where R n is a value range of the candidate code rate, T b is the cached video duration, R d is an average download rate of the previous video segment, and T s is the video segment. Determining a maximum value of the value range R n of the candidate code rate; determining a code rate that is closest to the maximum value and smaller than the maximum value among the M code rates. The corresponding code rate is described.
进一步的,所述处理器33,还用于获取预先设置的所述视频分段的时长和所述M个码率;或者,通过向所述视频服务器发送参数获取请求,获取所述视频分段的时长和所述M个码率。Further, the processor 33 is further configured to acquire a preset duration of the video segment and the M code rate, or acquire the video segment by sending a parameter acquisition request to the video server. The duration and the M code rate.
图7为本发明视频服务器的一个实施例的结构示意图,如图7所示,本实施例的设备可以包括:处理器41和收发器42,其中,处理器41,用于根据信道质量确定传输待播放视频的最高码率和最低码率;根据所述最高码率和所述最低码率确定M个码率,M为大于1的自然数;根据所述M个码率分别对所述待播放视频进行编码,并对每个码率对应的所述待播放视频进行分段生成视频分段;收发器42,用于接收客户端发送的视频下载请求,并向 所述客户端传输与所述视频下载请求对应的视频分段。FIG. 7 is a schematic structural diagram of an embodiment of a video server according to the present invention. As shown in FIG. 7, the device in this embodiment may include: a processor 41 and a transceiver 42, wherein the processor 41 is configured to determine transmission according to channel quality. a maximum code rate and a lowest code rate of the to-be-played video; determining M code rates according to the highest code rate and the lowest code rate, where M is a natural number greater than 1; respectively, according to the M code rates, the to-be-played The video is encoded, and the video to be played corresponding to each code rate is segmented to generate a video segment; the transceiver 42 is configured to receive a video download request sent by the client, and The client transmits a video segment corresponding to the video download request.
本实施例的设备,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。The device in this embodiment may be used to implement the technical solution of the method embodiment shown in FIG. 2, and the implementation principle and the technical effect are similar, and details are not described herein again.
图8为本发明移动视频***的一个实施例的结构示意图,如图8所示,本实施例的***包括:视频服务器51和客户端设备52,其中,视频服务器51可以采用图5所示装置实施例的结构,其对应地,可以执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述;客户端设备52可以采用图3或图4所示装置实施例的结构,其对应地,可以执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。FIG. 8 is a schematic structural diagram of an embodiment of a mobile video system according to the present invention. As shown in FIG. 8, the system of the present embodiment includes: a video server 51 and a client device 52, wherein the video server 51 can adopt the device shown in FIG. Correspondingly, the technical solution of the method embodiment shown in FIG. 2 can be performed correspondingly, and the implementation principle and technical effects are similar, and details are not described herein; the client device 52 can adopt the device shown in FIG. 3 or FIG. Correspondingly, the technical solution of the method embodiment shown in FIG. 1 can be performed correspondingly, and the implementation principle and the technical effect are similar, and details are not described herein again.
进一步的,图8所示***中,视频服务器51可以采用图7所示装置实施例的结构,其对应地,可以执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述;客户端设备52可以采用图6所示装置实施例的结构,其对应地,可以执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。Further, in the system shown in FIG. 8, the video server 51 can adopt the structure of the device embodiment shown in FIG. 7, and correspondingly, the technical solution of the method embodiment shown in FIG. 2 can be executed, and the implementation principle and the technical effect are similar. The configuration of the device embodiment shown in FIG. 1 can be performed, and the implementation principle and technical effects of the method shown in FIG. 1 are similar. Let me repeat.
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided by the present invention, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of the unit is only a logical function division. In actual implementation, there may be another division manner, for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
所述该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as the unit may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. . Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of hardware plus software functional units.
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机 可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。The above integrated unit implemented in the form of a software functional unit can be stored in a computer Readable in storage media. The above software functional unit is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor to perform the methods of the various embodiments of the present invention. Part of the steps. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes. .
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。A person skilled in the art can clearly understand that for the convenience and brevity of the description, only the division of each functional module described above is exemplified. In practical applications, the above function assignment can be completed by different functional modules as needed, that is, the device is installed. The internal structure is divided into different functional modules to perform all or part of the functions described above. For the specific working process of the device described above, refer to the corresponding process in the foregoing method embodiment, and details are not described herein again.
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。 Finally, it should be noted that the above embodiments are merely illustrative of the technical solutions of the present invention, and are not intended to be limiting; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art will understand that The technical solutions described in the foregoing embodiments may be modified, or some or all of the technical features may be equivalently replaced; and the modifications or substitutions do not deviate from the technical solutions of the embodiments of the present invention. range.

Claims (35)

  1. 一种视频下载方法,其特征在于,包括:A video downloading method, comprising:
    根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数,所述视频分段为所述视频服务器预先根据M个码率对所述待播放视频编码后再分别进行分段处理后生成的,所述M个码率分别对应M个码率等级,M为大于1的自然数,所述视频播放指令为用户点击播放所述待播放视频后产生的指令;And requesting, by the video server, the N video segments of the preset code rate of the to-be-played video, where N is a natural number, the video segment is the video server pre-playing the to-be-played video according to the M code rates. After the encoding is performed separately, the M code rates respectively correspond to M code rate levels, and M is a natural number greater than 1. The video playback command is generated after the user clicks and plays the to-be-played video. instruction;
    在获取所述视频服务器回复的视频下载响应后,下载所述N个视频分段;After acquiring the video download response replied by the video server, downloading the N video segments;
    重复执行以下步骤,直到下载完所述待播放视频:Repeat the following steps until the video to be played is downloaded:
    根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;Determining, according to a duration of the video segment, a buffered video duration, an average download rate of a previous video segment, and a code rate of the previous video segment, a corresponding code rate of a next video segment to be downloaded;
    向所述视频服务器请求下载所述对应码率的所述下一个视频分段;Requesting, by the video server, downloading the next video segment of the corresponding code rate;
    在获取所述视频服务器回复的视频下载响应后,下载所述对应码率的所述下一个视频分段。After acquiring the video download response replied by the video server, downloading the next video segment of the corresponding code rate.
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率,包括:The method according to claim 1, wherein said according to said duration of said video segment, a buffered video duration, an average download rate of a previous video segment, and a code rate of said previous video segment Determining the corresponding bit rate of the next video segment to be downloaded, including:
    若所述上一个视频分段的平均下载速率大于所述上一个视频分段的码率,则从所述M个码率中确定比最低码率高一个等级的次低码率和比所述上一个视频分段的码率高一个等级的码率,根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,根据所述已缓存的视频时长和所述待下载时长确定所述对应码率。If the average download rate of the previous video segment is greater than the code rate of the previous video segment, determining a second lowest bit rate and a ratio higher than the lowest code rate from the M code rates The code rate of the previous video segment is higher than the code rate of the first level, and the time to be downloaded is calculated according to the duration of the video segment, the code rate of the higher level, and the second low code rate, according to the cached The video duration and the length of time to be downloaded determine the corresponding code rate.
  3. 根据权利要求2所述的方法,其特征在于,所述根据所述已缓存的视频时长和所述待下载时长确定所述对应码率,包括:The method according to claim 2, wherein the determining the corresponding code rate according to the cached video duration and the to-be-downloaded duration comprises:
    若所述已缓存的视频时长大于所述待下载时长,则将所述高一个等级的码率确定为所述对应码率。If the cached video duration is greater than the to-be-downloaded duration, the higher-level code rate is determined as the corresponding code rate.
  4. 根据权利要求2或3所述的方法,其特征在于,所述根据所述已缓存的视频时长和所述待下载时长确定所述对应码率,包括:The method according to claim 2 or 3, wherein the determining the corresponding code rate according to the cached video duration and the to-be-downloaded duration comprises:
    若所述已缓存的视频时长小于或等于所述待下载时长,则将所述上一个 视频分段的码率确定为所述对应码率。If the duration of the cached video is less than or equal to the length of time to be downloaded, then the previous one is The code rate of the video segment is determined as the corresponding code rate.
  5. 根据权利要求1或2所述的方法,其特征在于,所述根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率,包括:The method according to claim 1 or 2, wherein said according to said duration of said video segment, a buffered video duration, an average download rate of a previous video segment, and said previous video segmentation The code rate determines the corresponding code rate of the next video segment to be downloaded, including:
    若所述上一个视频分段的平均下载速率小于或等于所述上一个视频分段的码率,则根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率。If the average download rate of the last video segment is less than or equal to the code rate of the previous video segment, the corresponding code rate is determined according to the buffered video duration and the duration of the video segment.
  6. 根据权利要求5所述的方法,其特征在于,所述根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率,包括:The method according to claim 5, wherein the determining the corresponding code rate according to the buffered video duration and the duration of the video segment comprises:
    若所述已缓存的视频时长小于二倍的所述视频分段的时长,则根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率。And determining, according to the buffered video duration, the average download rate of the previous video segment, and the duration of the video segment, if the cached video duration is less than twice the duration of the video segment The corresponding code rate.
  7. 根据权利要求5或6所述的方法,其特征在于,所述根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率,包括:The method according to claim 5 or 6, wherein the determining the corresponding code rate according to the buffered video duration and the duration of the video segment comprises:
    若所述已缓存的视频时长大于或等于二倍的所述视频分段的时长,则将所述上一个视频分段的码率确定为所述对应码率。If the duration of the buffered video is greater than or equal to twice the duration of the video segment, determining a code rate of the previous video segment as the corresponding code rate.
  8. 根据权利要求2所述的方法,其特征在于,所述根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,包括:The method according to claim 2, wherein the calculating the length of time to be downloaded according to the duration of the video segment, the code rate of the higher level, and the second low code rate comprises:
    根据以下公式计算所述待下载时长:Calculate the length of the download to be downloaded according to the following formula:
    Figure PCTCN2015088033-appb-100001
    Figure PCTCN2015088033-appb-100001
    其中,Tm为所述待下载时长,Ts为所述视频分段的时长,Rc+1为所述高一个等级的码率,V2为所述次低码率。Where T m is the duration of the download to be downloaded, T s is the duration of the video segment, R c+1 is the code rate of the higher level, and V 2 is the second low code rate.
  9. 根据权利要求6所述的方法,其特征在于,所述根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率,包括:The method according to claim 6, wherein the determining the corresponding code rate according to the buffered video duration, an average download rate of the last video segment, and a duration of the video segment, include:
    根据以下公式计算所述待选码率的取值范围:Calculating the value range of the candidate code rate according to the following formula:
    Figure PCTCN2015088033-appb-100002
    Figure PCTCN2015088033-appb-100002
    其中,Rn为所述待选码率的取值范围,Tb为所述已缓存的视频时长,Rd为所述上一个视频分段的平均下载速率,Ts为所述视频分段的时长; Where R n is a value range of the candidate code rate, T b is the cached video duration, R d is an average download rate of the previous video segment, and T s is the video segment. Length of time;
    确定所述待选码率的取值范围Rn的最大取值;Determining a maximum value of the value range R n of the candidate code rate;
    将所述M个码率中与所述最大取值最接近且小于所述最大取值的码率确定为所述对应码率。And determining a code rate that is closest to the maximum value and smaller than the maximum value among the M code rates as the corresponding code rate.
  10. 根据权利要求1~9中任一项所述的方法,其特征在于,所述根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段之前,还包括:The method according to any one of claims 1 to 9, wherein before the requesting the video server to download the N video segments of the preset bit rate of the video to be played according to the video playback instruction, the method further includes:
    获取预先设置的所述视频分段的时长和所述M个码率;或者,Obtaining a preset duration of the video segment and the M code rate; or
    通过向所述视频服务器发送参数获取请求,获取所述视频分段的时长和所述M个码率。Obtaining a duration of the video segment and the M code rate by sending a parameter acquisition request to the video server.
  11. 一种视频下载方法,其特征在于,包括:A video downloading method, comprising:
    根据信道质量确定传输待播放视频的最高码率和最低码率;Determining a highest code rate and a lowest code rate of the video to be played according to the channel quality;
    根据所述最高码率和所述最低码率确定M个码率,M为大于1的自然数;Determining M code rates according to the highest code rate and the lowest code rate, where M is a natural number greater than 1;
    根据所述M个码率分别对所述待播放视频进行编码,并对每个码率对应的所述待播放视频进行分段生成视频分段;And encoding the to-be-played video according to the M code rates, and segmenting the to-be-played video corresponding to each code rate to generate a video segment;
    接收客户端发送的视频下载请求,并向所述客户端传输与所述视频下载请求对应的视频分段。Receiving a video download request sent by the client, and transmitting a video segment corresponding to the video download request to the client.
  12. 一种视频下载装置,其特征在于,包括:A video downloading device, comprising:
    请求模块,用于根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数,所述视频分段为所述视频服务器预先根据M个码率对所述待播放视频编码后再分别进行分段处理后生成的,所述M个码率分别对应M个码率等级,M为大于1的自然数,所述视频播放指令为用户点击播放所述待播放视频后产生的指令;a requesting module, configured to request, from the video server, to download, according to the video play instruction, N video segments of a preset code rate of the to-be-played video, where N is a natural number, and the video segment is pre-determined according to the M code rate by the video server. After the video to be played is encoded and then separately generated by the segmentation process, the M code rates respectively correspond to M code rate levels, and M is a natural number greater than 1, and the video playback instruction is that the user clicks to play the to-be-played An instruction generated after the video is played;
    下载模块,用于在获取所述视频服务器回复的视频下载响应后,下载所述N个视频分段;a downloading module, configured to download the N video segments after acquiring a video download response replied by the video server;
    在下载完所述待播放视频之前:Before downloading the video to be played:
    码率确定模块,用于根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;a code rate determining module, configured to determine a next video to be downloaded according to a duration of the video segment, a buffered video duration, an average download rate of a previous video segment, and a code rate of the previous video segment Corresponding code rate of the segment;
    所述请求模块,还用于向所述视频服务器请求下载所述对应码率的所述下一个视频分段; The requesting module is further configured to request, by the video server, to download the next video segment of the corresponding code rate;
    所述下载模块,还用于在获取所述视频服务器回复的视频下载响应后,下载所述对应码率的所述下一个视频分段。The downloading module is further configured to download the next video segment of the corresponding code rate after acquiring a video download response replied by the video server.
  13. 根据权利要求12所述的装置,其特征在于,所述码率确定模块,具体用于若所述上一个视频分段的平均下载速率大于所述上一个视频分段的码率,则从所述M个码率中确定比最低码率高一个等级的次低码率和比所述上一个视频分段的码率高一个等级的码率,根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,根据所述已缓存的视频时长和所述待下载时长确定所述对应码率。The apparatus according to claim 12, wherein the code rate determining module is configured to: if the average download rate of the previous video segment is greater than the code rate of the previous video segment, Determining, in the M code rates, a lower-low code rate one level higher than the lowest code rate and a code rate higher than a code rate of the previous video segment, according to the duration of the video segment, the high The code rate of one level and the time rate of the second low code rate are calculated, and the corresponding code rate is determined according to the cached video duration and the to-be-downloaded duration.
  14. 根据权利要求13所述的装置,其特征在于,所述码率确定模块,具体用于若所述已缓存的视频时长大于所述待下载时长,则将所述高一个等级的码率确定为所述对应码率。The device according to claim 13, wherein the code rate determining module is configured to: if the cached video duration is greater than the to-be-downloaded duration, determine the higher-level code rate as The corresponding code rate.
  15. 根据权利要求13或14所述的装置,其特征在于,所述码率确定模块,具体用于若所述已缓存的视频时长小于或等于所述待下载时长,则将所述上一个视频分段的码率确定为所述对应码率。The apparatus according to claim 13 or 14, wherein the code rate determining module is configured to: if the cached video duration is less than or equal to the to-be-downloaded duration, divide the previous video The code rate of the segment is determined as the corresponding code rate.
  16. 根据权利要求12或13所述的装置,其特征在于,所述码率确定模块,具体用于若所述上一个视频分段的平均下载速率小于或等于所述上一个视频分段的码率,则根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率。The apparatus according to claim 12 or 13, wherein the code rate determining module is configured to: if an average download rate of the last video segment is less than or equal to a code rate of the previous video segment And determining the corresponding code rate according to the buffered video duration and the duration of the video segment.
  17. 根据权利要求16所述的装置,其特征在于,所述码率确定模块,具体用于若所述已缓存的视频时长小于二倍的所述视频分段的时长,则根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率。The device according to claim 16, wherein the code rate determining module is specifically configured to: if the length of the video segment of the cached video is less than twice, according to the cached The video duration, the average download rate of the last video segment, and the duration of the video segment determine the corresponding code rate.
  18. 根据权利要求16或17所述的装置,其特征在于,所述码率确定模块,具体用于若所述已缓存的视频时长大于或等于二倍的所述视频分段的时长,则将所述上一个视频分段的码率确定为所述对应码率。The device according to claim 16 or 17, wherein the code rate determining module is specifically configured to: if the length of the video segment of the cached video is greater than or equal to twice the length of the video segment, The code rate of the previous video segment is determined as the corresponding code rate.
  19. 根据权利要求13所述的装置,其特征在于,所述码率确定模块,具体用于根据以下公式计算所述待下载时长:The apparatus according to claim 13, wherein the code rate determining module is specifically configured to calculate the length of time to be downloaded according to the following formula:
    Figure PCTCN2015088033-appb-100003
    其中,Tm为所述待下载时长,Ts为所述视频分段的时长,Rc+1为所述高一个等级的码率,V2为所述次低码率。
    Figure PCTCN2015088033-appb-100003
    Where T m is the duration of the download to be downloaded, T s is the duration of the video segment, R c+1 is the code rate of the higher level, and V 2 is the second low code rate.
  20. 根据权利要求17所述的装置,其特征在于,所述码率确定模块,具 体用于根据以下公式计算所述待选码率的取值范围:The apparatus according to claim 17, wherein said code rate determining module has The body is used to calculate the value range of the candidate code rate according to the following formula:
    Figure PCTCN2015088033-appb-100004
    其中,Rn为所述待选码率的取值范围,Tb为所述已缓存的视频时长,Rd为所述上一个视频分段的平均下载速率,Ts为所述视频分段的时长;确定所述待选码率的取值范围Rn的最大取值;将所述M个码率中与所述最大取值最接近且小于所述最大取值的码率确定为所述对应码率。
    Figure PCTCN2015088033-appb-100004
    Where R n is a value range of the candidate code rate, T b is the cached video duration, R d is an average download rate of the previous video segment, and T s is the video segment. Determining a maximum value of the value range R n of the candidate code rate; determining a code rate that is closest to the maximum value and smaller than the maximum value among the M code rates. The corresponding code rate is described.
  21. 根据权利要求12~20中任一项所述的装置,其特征在于,还包括:The device according to any one of claims 12 to 20, further comprising:
    获取模块,用于获取预先设置的所述视频分段的时长和所述M个码率;或者,通过向所述视频服务器发送参数获取请求,获取所述视频分段的时长和所述M个码率。Obtaining a module, configured to acquire a preset duration of the video segment and the M code rate; or, by sending a parameter acquisition request to the video server, acquiring a duration of the video segment and the M Code rate.
  22. 一种视频下载装置,其特征在于,包括:A video downloading device, comprising:
    确定模块,用于根据信道质量确定传输待播放视频的最高码率和最低码率;根据所述最高码率和所述最低码率确定M个码率,M为大于1的自然数;a determining module, configured to determine, according to the channel quality, a highest code rate and a lowest code rate for transmitting the to-be-played video; determining M code rates according to the highest code rate and the lowest code rate, where M is a natural number greater than 1;
    分段模块,用于根据所述M个码率分别对所述待播放视频进行编码,并对每个码率对应的所述待播放视频进行分段生成视频分段;a segmentation module, configured to encode the to-be-played video according to the M code rates, and generate a video segment by segmentation of the to-be-played video corresponding to each code rate;
    收发模块,用于接收客户端发送的视频下载请求,并向所述客户端传输与所述视频下载请求对应的视频分段。The transceiver module is configured to receive a video download request sent by the client, and transmit the video segment corresponding to the video download request to the client.
  23. 一种客户端设备,其特征在于,包括:A client device, comprising:
    发送器,用于根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数,所述视频分段为所述视频服务器预先根据M个码率对所述待播放视频编码后再分别进行分段处理后生成的,所述M个码率分别对应M个码率等级,M为大于1的自然数,所述视频播放指令为用户点击播放所述待播放视频后产生的指令;The transmitter is configured to request, according to the video play instruction, the N video segments of the preset code rate of the video to be played to be downloaded, where N is a natural number, and the video segment is pre-determined according to the M code rate by the video server. After the video to be played is encoded and then separately generated by the segmentation process, the M code rates respectively correspond to M code rate levels, and M is a natural number greater than 1, and the video playback instruction is that the user clicks to play the to-be-played An instruction generated after the video is played;
    接收器,用于在获取所述视频服务器回复的视频下载响应后,下载所述N个视频分段;a receiver, configured to download the N video segments after acquiring a video download response replied by the video server;
    在下载完所述待播放视频之前:Before downloading the video to be played:
    处理器,用于根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;a processor, configured to determine a next video segment to be downloaded according to a duration of the video segment, a buffered video duration, an average download rate of a previous video segment, and a code rate of the previous video segment Corresponding code rate;
    所述发送器,还用于向所述视频服务器请求下载所述对应码率的所述下一个视频分段; The transmitter is further configured to request, by the video server, to download the next video segment of the corresponding code rate;
    所述接收器,还用于在获取所述视频服务器回复的视频下载响应后,下载所述对应码率的所述下一个视频分段。The receiver is further configured to download the next video segment of the corresponding code rate after acquiring a video download response replied by the video server.
  24. 根据权利要求22所述的设备,其特征在于,所述处理器,具体用于若所述上一个视频分段的平均下载速率大于所述上一个视频分段的码率,则从所述M个码率中确定比最低码率高一个等级的次低码率和比所述上一个视频分段的码率高一个等级的码率,根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,根据所述已缓存的视频时长和所述待下载时长确定所述对应码率。The device according to claim 22, wherein the processor is configured to: if the average download rate of the last video segment is greater than a code rate of the previous video segment, from the M Determining, in the code rate, a lower-low code rate one level higher than the lowest code rate and a code rate higher than a code rate of the previous video segment, according to the duration of the video segment, the higher level The code rate and the second low code rate calculate the length of time to be downloaded, and determine the corresponding code rate according to the cached video duration and the to-be-downloaded duration.
  25. 根据权利要求24所述的设备,其特征在于,所述处理器,具体用于若所述已缓存的视频时长大于所述待下载时长,则将所述高一个等级的码率确定为所述对应码率。The device according to claim 24, wherein the processor is configured to: if the cached video duration is greater than the to-be-downloaded duration, determine the higher-level code rate as the Corresponding code rate.
  26. 根据权利要求24或25所述的设备,其特征在于,所述处理器,具体用于若所述已缓存的视频时长小于或等于所述待下载时长,则将所述上一个视频分段的码率确定为所述对应码率。The device according to claim 24 or 25, wherein the processor is configured to: if the cached video duration is less than or equal to the to-be-downloaded duration, segment the previous video The code rate is determined to be the corresponding code rate.
  27. 根据权利要求23或24所述的设备,其特征在于,所述处理器,具体用于若所述上一个视频分段的平均下载速率小于或等于所述上一个视频分段的码率,则根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率。The device according to claim 23 or 24, wherein the processor is specifically configured to: if an average download rate of the last video segment is less than or equal to a code rate of the previous video segment, The corresponding code rate is determined according to the buffered video duration and the duration of the video segment.
  28. 根据权利要求27所述的设备,其特征在于,所述处理器,具体用于若所述已缓存的视频时长小于二倍的所述视频分段的时长,则根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率。The device according to claim 27, wherein the processor is specifically configured to: according to the duration of the video segment that is less than twice the duration of the cached video, according to the cached video duration The average download rate of the last video segment and the duration of the video segment determine the corresponding code rate.
  29. 根据权利要求27或28所述的设备,其特征在于,所述处理器,具体用于若所述已缓存的视频时长大于或等于二倍的所述视频分段的时长,则将所述上一个视频分段的码率确定为所述对应码率。The device according to claim 27 or 28, wherein the processor is specifically configured to: if the length of the video segment of the cached video is greater than or equal to twice the duration of the video segment, The code rate of one video segment is determined as the corresponding code rate.
  30. 根据权利要求24所述的设备,其特征在于,所述处理器,具体用于根据以下公式计算所述待下载时长:The device according to claim 24, wherein the processor is specifically configured to calculate the duration of the download according to the following formula:
    Figure PCTCN2015088033-appb-100005
    其中,Tm为所述待下载时长,Ts为所述视频分段的时长,Rc+1为所述高一个等级的码率,V2为所述次低码率。
    Figure PCTCN2015088033-appb-100005
    Where T m is the duration of the download to be downloaded, T s is the duration of the video segment, R c+1 is the code rate of the higher level, and V 2 is the second low code rate.
  31. 根据权利要求28所述的设备,其特征在于,所述处理器,具体用于 根据以下公式计算所述待选码率的取值范围:The device according to claim 28, wherein said processor is specifically configured to Calculating the value range of the candidate code rate according to the following formula:
    Figure PCTCN2015088033-appb-100006
    其中,Rn为所述待选码率的取值范围,Tb为所述已缓存的视频时长,Rd为所述上一个视频分段的平均下载速率,Ts为所述视频分段的时长;确定所述待选码率的取值范围Rn的最大取值;将所述M个码率中与所述最大取值最接近且小于所述最大取值的码率确定为所述对应码率。
    Figure PCTCN2015088033-appb-100006
    Where R n is a value range of the candidate code rate, T b is the cached video duration, R d is an average download rate of the previous video segment, and T s is the video segment. Determining a maximum value of the value range R n of the candidate code rate; determining a code rate that is closest to the maximum value and smaller than the maximum value among the M code rates. The corresponding code rate is described.
  32. 根据权利要求23~31中任一项所述的设备,其特征在于,所述处理器,还用于获取预先设置的所述视频分段的时长和所述M个码率;或者,通过向所述视频服务器发送参数获取请求,获取所述视频分段的时长和所述M个码率。The device according to any one of claims 23 to 31, wherein the processor is further configured to acquire a preset duration of the video segment and the M code rate; or The video server sends a parameter acquisition request, and acquires a duration of the video segment and the M code rates.
  33. 一种视频服务器,其特征在于,包括:A video server, comprising:
    处理器,用于根据信道质量确定传输待播放视频的最高码率和最低码率;根据所述最高码率和所述最低码率确定M个码率,M为大于1的自然数;根据所述M个码率分别对所述待播放视频进行编码,并对每个码率对应的所述待播放视频进行分段生成视频分段;a processor, configured to determine a highest code rate and a lowest code rate for transmitting the to-be-played video according to the channel quality; determine M code rates according to the highest code rate and the lowest code rate, where M is a natural number greater than 1; The M code rates respectively encode the to-be-played video, and generate a video segment by segmentation of the to-be-played video corresponding to each code rate;
    收发器,用于接收客户端发送的视频下载请求,并向所述客户端传输与所述视频下载请求对应的视频分段。And a transceiver, configured to receive a video download request sent by the client, and transmit the video segment corresponding to the video download request to the client.
  34. 一种移动视频***,其特征在于,包括:视频服务器和客户端设备,所述视频服务器采用权利要求22所述的装置,所述客户端设备采用权利要求12~21中任一项所述的装置。A mobile video system, comprising: a video server and a client device, wherein the video server employs the apparatus of claim 22, the client device adopting the method of any one of claims 12-21 Device.
  35. 一种移动视频***,其特征在于,包括:视频服务器和客户端设备,所述视频服务器采用权利要求33所述的装置,所述客户端设备采用权利要求23~32中任一项所述的装置。 A mobile video system, comprising: a video server and a client device, the video server employing the device of claim 33, the client device employing the method of any one of claims 23 to 32 Device.
PCT/CN2015/088033 2015-08-25 2015-08-25 Video downloading method, apparatus, and system WO2017031692A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201580043062.3A CN106688239B (en) 2015-08-25 2015-08-25 Method for downloading video, apparatus and system
PCT/CN2015/088033 WO2017031692A1 (en) 2015-08-25 2015-08-25 Video downloading method, apparatus, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/088033 WO2017031692A1 (en) 2015-08-25 2015-08-25 Video downloading method, apparatus, and system

Publications (1)

Publication Number Publication Date
WO2017031692A1 true WO2017031692A1 (en) 2017-03-02

Family

ID=58099465

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/088033 WO2017031692A1 (en) 2015-08-25 2015-08-25 Video downloading method, apparatus, and system

Country Status (2)

Country Link
CN (1) CN106688239B (en)
WO (1) WO2017031692A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769826A (en) * 2018-06-22 2018-11-06 广州酷狗计算机科技有限公司 Live media stream acquisition methods, device, terminal and storage medium
CN110460875A (en) * 2019-08-05 2019-11-15 北京达佳互联信息技术有限公司 A kind of switching method of video code rate, device, electronic equipment and storage medium
CN111182354A (en) * 2019-12-24 2020-05-19 中移(杭州)信息技术有限公司 Video scoring recommendation method, system and device and computer readable storage medium
CN112822521A (en) * 2020-12-30 2021-05-18 百果园技术(新加坡)有限公司 Code rate control method, device and equipment for audio and video transmission and storage medium
CN114040257A (en) * 2021-11-26 2022-02-11 深圳大学 Self-adaptive video stream transmission playing method, device, equipment and storage medium
CN114979762A (en) * 2022-04-12 2022-08-30 北京字节跳动网络技术有限公司 Video downloading and transmission method, device, terminal equipment, server and medium
CN115002557A (en) * 2022-05-23 2022-09-02 北京字跳网络技术有限公司 Network speed prediction method, device, equipment and storage medium
CN114979762B (en) * 2022-04-12 2024-06-07 北京字节跳动网络技术有限公司 Video downloading and transmitting method and device, terminal equipment, server and medium

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109040855B (en) * 2018-09-03 2021-01-29 重庆邮电大学 Wireless DASH streaming media code rate smooth self-adaptive transmission method
CN109348265A (en) * 2018-11-27 2019-02-15 湖南国科微电子股份有限公司 Based on the live broadcasting method and system under HLS multi-code stream mode
CN110198494B (en) * 2019-06-28 2021-07-20 广州市百果园信息技术有限公司 Video playing method, device, equipment and storage medium
CN111314772B (en) * 2019-11-29 2022-07-08 广州市百果园信息技术有限公司 Method, device, terminal and storage medium for determining video downloading code rate
CN111212301B (en) * 2020-01-09 2021-10-08 鹏城实验室 Video code rate matching method, storage medium and terminal equipment
CN112637631B (en) * 2020-12-17 2022-04-26 清华大学 Code rate determining method and device, electronic equipment and storage medium
CN115134639B (en) * 2021-03-24 2023-12-19 北京字跳网络技术有限公司 Video gear determining method, device, server, storage medium and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010042041A1 (en) * 2008-10-09 2010-04-15 Telefonaktiebolaget Lm Ericsson (Publ) Supporting functions for quality-assured p2p vod services
CN102204272A (en) * 2010-12-31 2011-09-28 华为技术有限公司 A processing method after a playing timepoint in streaming media jumps and a device thereof
CN102301710A (en) * 2009-01-29 2011-12-28 微软公司 Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
CN103702237A (en) * 2012-09-28 2014-04-02 北京大学 Rate self-adapting method and device for HTTP (Hyper Text Transport Protocol) streaming media

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010042041A1 (en) * 2008-10-09 2010-04-15 Telefonaktiebolaget Lm Ericsson (Publ) Supporting functions for quality-assured p2p vod services
CN102301710A (en) * 2009-01-29 2011-12-28 微软公司 Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
CN102204272A (en) * 2010-12-31 2011-09-28 华为技术有限公司 A processing method after a playing timepoint in streaming media jumps and a device thereof
CN103702237A (en) * 2012-09-28 2014-04-02 北京大学 Rate self-adapting method and device for HTTP (Hyper Text Transport Protocol) streaming media

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769826A (en) * 2018-06-22 2018-11-06 广州酷狗计算机科技有限公司 Live media stream acquisition methods, device, terminal and storage medium
CN110460875A (en) * 2019-08-05 2019-11-15 北京达佳互联信息技术有限公司 A kind of switching method of video code rate, device, electronic equipment and storage medium
CN111182354A (en) * 2019-12-24 2020-05-19 中移(杭州)信息技术有限公司 Video scoring recommendation method, system and device and computer readable storage medium
CN111182354B (en) * 2019-12-24 2022-05-10 中移(杭州)信息技术有限公司 Video scoring recommendation method, device and equipment and computer readable storage medium
CN112822521A (en) * 2020-12-30 2021-05-18 百果园技术(新加坡)有限公司 Code rate control method, device and equipment for audio and video transmission and storage medium
CN114040257A (en) * 2021-11-26 2022-02-11 深圳大学 Self-adaptive video stream transmission playing method, device, equipment and storage medium
CN114040257B (en) * 2021-11-26 2023-06-13 深圳大学 Self-adaptive video stream transmission playing method, device, equipment and storage medium
CN114979762A (en) * 2022-04-12 2022-08-30 北京字节跳动网络技术有限公司 Video downloading and transmission method, device, terminal equipment, server and medium
CN114979762B (en) * 2022-04-12 2024-06-07 北京字节跳动网络技术有限公司 Video downloading and transmitting method and device, terminal equipment, server and medium
CN115002557A (en) * 2022-05-23 2022-09-02 北京字跳网络技术有限公司 Network speed prediction method, device, equipment and storage medium
CN115002557B (en) * 2022-05-23 2024-01-30 北京字跳网络技术有限公司 Network speed prediction method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN106688239B (en) 2019-08-27
CN106688239A (en) 2017-05-17

Similar Documents

Publication Publication Date Title
WO2017031692A1 (en) Video downloading method, apparatus, and system
JP6469788B2 (en) Using quality information for adaptive streaming of media content
US20230283653A1 (en) Methods and apparatus to reduce latency for 360-degree viewport adaptive streaming
CN109964488B (en) Using aggregated network statistics to improve quality and user experience of live video streaming from mobile devices
CN106375783B (en) Method for quality-aware adaptive streaming over hypertext transfer protocol
CN107135411B (en) Method for adjusting video code rate and electronic equipment
JP6436772B2 (en) Method for dynamically adapting received bit rate and associated receiver
EP3047627B1 (en) Dash representations adaptations in network
US20200099973A1 (en) Information processing system, terminal apparatus, and non-transitory computer readable medium
CN110636339A (en) Scheduling method and device based on code rate and electronic equipment
US9338204B2 (en) Prioritized side channel delivery for download and store media
CN108833995B (en) Transmission method of self-adaptive streaming media in wireless network environment
EP4152755A1 (en) Methods, systems, and apparatuses for adaptive bitrate ladder construction based on dynamically adjustable neural networks
KR20220059425A (en) Session based adaptive playback profile decision for video streaming
CN104022845A (en) Method, apparatus and system for adjusting bit rate of data block
US10708667B1 (en) Combining fragments with different encodings
WO2013185547A1 (en) Caching server service method, caching server and system thereof
US10609111B2 (en) Client-driven, ABR flow rate shaping
CN107135403B (en) Information processing apparatus
KR101087599B1 (en) Transmission control method for http streaming video service
US20180199100A1 (en) Information processing apparatus and information processing system
KR20190048186A (en) Multipath-based split transmission system and streaming method for adaptive streaming service
US10298645B2 (en) Optimal settings for application streaming
CN106464981B (en) Video transmission method and device
CN114885208B (en) Dynamic self-adapting method, equipment and medium for scalable streaming media transmission under NDN (network discovery network)

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: 15901963

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15901963

Country of ref document: EP

Kind code of ref document: A1