CN102204272B - A processing method after a playing timepoint in streaming media jumps and a device thereof - Google Patents

A processing method after a playing timepoint in streaming media jumps and a device thereof Download PDF

Info

Publication number
CN102204272B
CN102204272B CN201080003687.4A CN201080003687A CN102204272B CN 102204272 B CN102204272 B CN 102204272B CN 201080003687 A CN201080003687 A CN 201080003687A CN 102204272 B CN102204272 B CN 102204272B
Authority
CN
China
Prior art keywords
code rate
playing
condition
video
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201080003687.4A
Other languages
Chinese (zh)
Other versions
CN102204272A (en
Inventor
代金良
冯江平
李玲玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN102204272A publication Critical patent/CN102204272A/en
Application granted granted Critical
Publication of CN102204272B publication Critical patent/CN102204272B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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

Landscapes

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

Abstract

The invention provides a processing method after a playing time point in a streaming media jumps and a device thereof. The method includes acquiring playing state and network condition; determining a start code rate of a video slice after time point jumps according to the playing state and the network condition, wherein the start code rate includes code rate of video slice in playing. The method and the device in the invention can improve the watching experience of users through guaranteeing quick play and good image quality.

Description

Processing method and device after playing time point in streaming media is jumped
Technical Field
The present invention relates to network communication technologies, and in particular, to a method and an apparatus for processing a skipped playing time point in a streaming media.
Background
Some existing streaming media technologies, for example, a smooth streaming (smooth streaming) mechanism of microsoft or a dynamic streaming (dynamic streaming) mechanism of adobe, are based on a HyperText Transfer Protocol (HTTP), and can adaptively change a transmission code rate according to a network condition, so as to achieve a purpose of smoothly playing a terminal. In these techniques, the video content is bounded by a Group of pictures (GOP), one or more GOPs are packed into a fragment, and fragments of the same coding rate are packed into a segment. And storing the packaged audio and video files on an HTTP web server, and using the HTTP fragment by fragment to request the corresponding audio and video fragments by the client side and playing the audio and video fragments.
Taking microsoft's smooth streaming mechanism as an example, at a starting stage when a user requests a certain video, the client analyzes a received description file (manifest), and generates URLs of respective fragment requests of the audio and video content according to a Uniform Resource Locator (URL) template of a fragment given in the manifest file. Suppose that the lowest bit rate of video obtained from manifest is 300000 bps. During video playback, the player decides which bit rate file to request based on the detected actual network bandwidth and client processing power. And if the current network condition is better, the client requests the video fragment with higher code rate, otherwise, the client requests the video fragment with lower code rate. In the video playing process, the playing progress bar is dragged to any position at will, the client side sends a slicing request from a new time point, and in order to reduce the starting delay after dragging, the client side requests the video slicing with the lowest code rate (300000 bps). In addition, the decoding buffer (buffer) of the client is set to a smaller value.
Although the start delay can be reduced by taking a lower code rate as the start code rate, the video quality is reduced after the code rate is reduced, the continuity of the image quality before and after the video segment is dragged cannot be maintained, and the user experience is reduced.
Disclosure of Invention
The embodiment of the invention provides a method and a device for processing a jump playing time point in a streaming media, which are used for improving user experience.
The embodiment of the invention provides a processing method after a play time point in streaming media jumps, which comprises the following steps:
acquiring a playing state and a network condition;
and determining the starting code rate of the video fragment after the time point is jumped according to the playing state and the network condition, wherein the starting code rate comprises the code rate of the currently played video fragment.
The embodiment of the invention provides a processing device after a stream media playing time point jumps, which comprises:
the acquisition module is used for acquiring the playing state and the network condition;
and the determining module is used for determining the starting code rate of the video fragment after the time point is jumped according to the playing state and the network condition, wherein the starting code rate comprises the code rate of the currently played video fragment.
According to the technical scheme, the starting code rate is determined according to the playing state and the network condition instead of directly setting the requested code rate as the lowest code rate, so that the continuity of the video quality before and after the time jump can be ensured as much as possible, and the user experience is improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without inventive labor.
FIG. 1 is a schematic flow chart of a method according to a first embodiment of the present invention;
FIG. 2 is a schematic flow chart of a method according to a second embodiment of the present invention;
fig. 3 is a schematic structural diagram of an apparatus according to a third embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Fig. 1 is a schematic flow chart of a method according to a first embodiment of the present invention, which includes:
step 11: acquiring a playing state and a network condition;
for example, the playing state may be full-screen playing or non-full-screen playing; alternatively, the playing status may be the resolution of the currently playing video.
The network condition can be determined according to the code rate of the currently played video fragment and the code rate of the previous video fragment, as well as the playing time of the currently played video fragment and the downloading time of the previous video fragment; or, averaging the network conditions corresponding to a set number of video slices and determining, wherein the network condition corresponding to each video slice is determined in the following manner: determining according to the code rate of the currently played video fragment and the code rate of the previous video fragment, as well as the playing time of the currently played video fragment and the downloading time of the previous video fragment; or, determining according to the code rate of the video in the set time before the time point jumps, the downloading duration of the video in the set time and the set time; or, averaging the network conditions corresponding to the videos in a plurality of set times before the time point jump, and then determining, wherein the network condition corresponding to the video in each set time is determined in the following manner: and determining according to the code rate of the video in the set time, the downloading time length of the video in the set time and the set time.
Step 12: and determining the starting code rate of the video fragment after the time point is jumped according to the playing state and the network condition, wherein the starting code rate comprises the code rate of the currently played video fragment.
In the embodiment, the start code rate is determined according to the playing state and the network state, and the start code rate can be the code rate of the currently played video fragment, rather than directly setting the code rate as the lowest code rate, so that the video quality seen by the user after jumping is basically consistent with the video quality seen by the user before jumping, and the user experience is improved.
Fig. 2 is a schematic flow chart of a method according to a second embodiment of the present invention, in which a play time point jump in the present embodiment takes a dragging as an example, and referring to fig. 2, the present embodiment includes:
step 201: and (5) normally playing.
Step 202: and judging whether dragging occurs, if so, executing step 203, otherwise, executing step 207.
Step 203: and judging whether the download range is exceeded, if so, executing the step 204, otherwise, executing the step 207.
Step 204: a lower threshold of the cache is determined.
For example, the initial value of the lower threshold may be set to buf _ thrd ═ 1. The lower threshold may be updated when the client downloads a new video segment from the server, and the specific content of the update may be referred to in the following steps.
Step 205: and determining the starting code rate of the dragged video fragments.
The start code rate can be determined according to the play state and the network condition, and the specific steps are as follows:
in case one, the playing state is full screen state or non-full screen state
If the user drags in a full-screen state, the image quality continuity is emphasized when the switched starting rate is selected; on the contrary, if the user drags in a non-full screen state, the starting speed may be reset when the switched starting speed is selected. The specific scheme is as follows:
defining LastDownLoadRatio ═ Dur/DL _ Dur, LastDownLoadRatio denotes the relationship of play speed and download speed,
dur denotes the duration of the currently playing slice,
DL _ dur represents the download duration of the previous slice,
br _ dl represents a code rate corresponding to the previous slice,
br _ disp represents the bitrate corresponding to the currently played slice,
br _ start denotes a code rate after the dragging,
br _ min represents the lowest available code rate,
the current network conditions can be represented by the following equation (1):
formula (1) ═ LastDownLoadRatio br _ dl/br _ disp,
equation (1) can be understood simply as: dividing (the code rate corresponding to the previous fragment is multiplied by the time length of the currently played fragment) by (the code rate corresponding to the currently played fragment is multiplied by the downloading time length of the previous fragment), namely the ratio of the total number of the downloaded bytes to the total number of the played bytes.
Formula (1) is a simple method for calculating the number of bytes before and after dragging, but is affected by many factors (such as network jitter), and the result calculated by formula (1) may be different from the result obtained in the actual network environment, so a statistical method can be adopted to estimate the network state.
Assuming that the size of a sliding window is N slices, equation (1) can be transformed into equation (2):
wherein lastdownloadratio (i) represents the relationship between the playing speed and the downloading speed of the ith slice, br _ dl (i) represents the bitrate corresponding to the previous slice of the ith slice, and br _ disp (i) represents the bitrate corresponding to the ith slice currently.
Further, the formula (2) can be processed again, and abnormal data can be eliminated by using the weighted average value. For example, a filter is provided to filter abnormal data in the network, and then the information of the current network condition is obtained by using formula (2).
In addition, the formula (1) estimates the current network status in units of slices, or may estimate the current network status in units of time, that is, each piece of slice information in the formula (1) is replaced with information in a set time period.
The embodiment of the present invention will be described by taking formula (1) as an example.
1. If the user is playing in full screen, the continuity of quality before and after dragging needs to be ensured
1) If LastDownLoadRatio br _ dl/br _ disp > -2, which indicates that the downloading speed is higher than the playing speed and the current network condition is good, br _ start is br _ disp;
2) if 1 < LastDownLoadRatio > br _ dl/br _ disp < 2, which indicates that the downloading speed and the playing speed are equivalent and the current network condition is better, br _ start is max { [ br _ disp/2], br _ min };
3) if LastDownLoadRatio br _ dl/br _ disp is less than 1, which indicates that the downloading speed is slower than the playing speed and the current network condition is not good, br _ start is br _ min;
in the embodiment of the present invention, LastDownLoadRatio br _ disp > -2 may be referred to as a first condition, 1 < LastDownLoadRatio br _ dl/br _ disp < 2 may be referred to as a second condition, and LastDownLoadRatio br _ dl/br _ disp < 1 may be referred to as a third condition.
2. If currently playing in non-full screen, quality continuity may be degraded
1) If LastDownLoadRatio br _ dl/br _ disp > -2 and the playing window size is not less than the play resolution before dragging, br _ start _ br _ disp;
the playing window refers to the size of the corresponding playing window when the full screen is not played currently. The playing resolution refers to the resolution of the image sent by the server side.
2) If LastDownLoadRatio br _ dl/br _ disp > -2, the size of a playing window is smaller than the resolution of playing before dragging, and br _ start is max (the resolution is smaller than or equal to the code rate of the video fragment of the resolution before dragging);
3) otherwise, br _ start ═ br _ min;
in case two, the playing status is the resolution of the currently playing (i.e. currently viewed by the user) video
When a user drags a video, in case one, for different viewing states of the current user, it is determined whether the starting rate after switching is a heavy image quality continuity or a heavy starting speed. Besides, whether the starting speed after switching is the continuity of the image quality or the starting speed of the image quality can be determined according to the resolution of the video currently played by the user. The specific scheme is as follows:
defining LastDownLoadRatio ═ Dur/DL _ Dur, LastDownLoadRatio denotes the relationship of play speed and download speed,
dur denotes the duration of the currently playing slice,
DL _ dur represents the download duration of the previous slice,
br _ dl represents a code rate corresponding to the previous slice,
br _ disp represents the bitrate corresponding to the currently played slice,
br _ start represents the code rate after dragging
br _ min represents the lowest available code rate
1. If the resolution of the currently played video is large and the size is 1920 × 1080, the continuity of the quality before and after dragging needs to be ensured at this time
1) If LastDownLoadRatio br _ dl/br _ disp > -2, which indicates that the downloading speed is higher than the playing speed and the current network condition is good, br _ start is br _ disp;
2) if 1 < LastDownLoadRatio > br _ dl/br _ disp < 2, which indicates that the downloading speed and the playing speed are equivalent and the current network condition is better, br _ start is max { [ br _ disp/2], br _ min };
3) if LastDownLoadRatio br _ dl/br _ disp is less than 1, which indicates that the downloading speed is slower than the playing speed and the current network condition is not good, br _ start is br _ min;
2. if the resolution of the currently playing video is small, 720 x 576, the quality continuity can be weakened
1) If LastDownLoadRatio br _ dl/br _ disp > -2 and the playing window size is not less than the play resolution before dragging, br _ start _ br _ disp;
2) if LastDownLoadRatio br _ dl/br _ disp > -2, the size of a playing window is smaller than the resolution of playing before dragging, and br _ start is max (the resolution is smaller than or equal to the code rate of the video fragment of the resolution before dragging);
3) otherwise, br _ start ═ br _ min;
in addition, the above-mentioned code rate determination may also be performed in combination with the full-screen non-full-screen state and the resolution of the currently played video.
Step 206: the cache is filled quickly.
For example, the client requests the server for the video segment with the determined start code rate, and then caches the video segment sent by the server in the cache until reaching the threshold of the cache.
Step 207: and judging whether the length of the cached video fragment reaches a playing threshold value, if so, executing a step 208, otherwise, executing a step 209.
Step 208: and playing the video fragment.
Step 209: and downloading the video fragments and updating the cached lower threshold.
In the prior art, two methods of starting at the lowest code rate and setting a very small buffer (less than 0.1s) are adopted to achieve the purpose of fast playing, but the fluency in the video playing process is ignored. Due to the fact that the initial buffer setting is small, intermittent pause of video pictures can be caused, and user experience is affected.
The embodiment of the invention provides a method for dynamically calculating a buffer lower limit threshold, which can ensure that the play can be performed quickly and smoothly. Where the parameter buffthrd represents the lower threshold of the player buffer and buf len represents the length of the buffer that has been downloaded to the player, the remaining parameters are as described in the first embodiment.
When a user drags a video, setting an initial value of a player buffer lower limit threshold to be 1, namely, buff _ thrd is 1; the lower limit threshold of the initial buffer may be determined according to current network conditions, performance of the player, performance of the server, and the like, and is not limited to 1 slice set in the embodiment of the present invention.
1) If Dur _ br _ DL/(DL _ Dur _ br _ disp) > (2), which indicates that the current network state is better, when buf _ len > (2) buff _ thrd, buff _ thrd ═ 2 _ buff _ thrd, wherein the maximum value of the lower threshold buff _ thrd may be a stationary threshold, and the stationary threshold may be preset. Without limiting to dynamically adjusting the lower threshold of the buffer in a linear manner (or other algorithms such as the smart buffer algorithm), the user is presented with a smooth video experience.
2) If Dur br DL/(DL Dur br disp) < 2, indicating that the current network state is not good, buf thrd buf len, until the plateau threshold is reached.
According to the current network condition, 1) and 2) are repeatedly executed, and the change of the network is dynamically adapted, so that the user can continuously and smoothly experience.
Step 210: whether the playing is completed is determined, if yes, step 211 is executed, otherwise step 202 is executed.
Step 211: and (6) exiting.
The embodiment determines the starting code rate according to the playing state and the network condition, can ensure the continuity of the video quality, and dynamically adapts to the change of the network by dynamically updating the cache threshold value, thereby providing continuous and smooth experience for users.
The execution subject may be a client or a server. For example, for the client, the client may determine the playing state and the network condition from the information of the client, and then determine the start code rate by the client, and request the server for the video segment of the start code rate. Or, for the server, the client reports the playing state and the network condition to the server, or the server counts the state of the video fragment to be sent in real time, then the server determines the starting code rate, and when the client requests the video fragment, the client sends the video fragment with the determined starting code rate to the client.
Fig. 3 is a schematic structural diagram of an apparatus according to a third embodiment of the present invention, including an obtaining module 31 and a determining module 32; the obtaining module 31 is configured to obtain a playing status and a network status; the determining module 32 is configured to determine a start code rate of the video segment after the time point skips according to the playing state and the network condition, where the start code rate includes a code rate of a currently played video segment.
The playing state acquired by the acquisition module is a full-screen state or a non-full-screen state, and/or the playing state is the resolution of a currently played video.
The obtaining module 31 is specifically configured to: acquiring a network condition according to the code rate of the currently played video fragment and the code rate of the previous video fragment, as well as the playing time of the currently played video fragment and the downloading time of the previous video fragment; or after averaging the network conditions corresponding to the set number of video segments, obtaining the network conditions, wherein the network conditions corresponding to each video segment are determined in the following manner: determining the network condition corresponding to each video fragment according to the code rate of the currently played video fragment and the code rate of the previous video fragment, as well as the playing time of the currently played video fragment and the downloading time of the previous video fragment; or acquiring a network state according to the code rate of the video in the set time before the time point jumps, the downloading time of the video in the set time and the set time; or after averaging the network conditions corresponding to the videos in a plurality of set times before the time point jump, acquiring the network conditions, wherein the network conditions corresponding to the videos in each set time are determined in the following manner: and determining the network condition corresponding to the video in each set time according to the code rate of the video in the set time, the downloading time length of the video in the set time and the set time.
When the playing state is a full-screen state or a non-full-screen state, the determining module is specifically configured to: if the playing state is full-screen playing and the network condition meets a first condition, the starting code rate is the code rate of the currently played video fragment; or, if the playing state is full-screen playing and the network condition meets a second condition, the start code rate is the maximum value between one half of the code rate of the currently played video slice and the lowest code rate; or, if the playing state is full-screen playing and the network condition meets a third condition, the starting code rate is the lowest code rate; or, if the playing state is non-full screen playing, the network condition meets a first condition, and the size of a playing window during the non-full screen playing is greater than or equal to the playing resolution before the time point jumps, the starting code rate is the code rate of the currently played video fragment; or, if the playing state is non-full screen playing, the network condition meets a first condition, and the size of a playing window during the non-full screen playing is smaller than the playing resolution before time point jump, the starting code rate is the maximum value of the code rate of the selectable video fragment, and the resolution of the selectable video fragment is smaller than or equal to the playing resolution before time point jump; or, if the playing state is non-full screen playing and the network condition does not meet a first condition, the starting code rate is the lowest code rate; the network condition satisfying the first condition is better than the network condition satisfying the second condition, and the network condition satisfying the second condition is better than the network condition satisfying the third condition.
When the playing state is the resolution of the currently played video, the determining module is specifically configured to: if the resolution of the currently played video corresponding to the playing state is greater than or equal to a preset threshold and the network state meets a first condition, determining the starting code rate as the code rate of the currently played video fragment; or, if the resolution of the currently played video corresponding to the playing state is greater than or equal to a preset threshold and the network state meets a second condition, determining the start code rate to be the maximum value between one half of the code rate of the currently played video fragment and the lowest code rate; or, if the resolution of the currently played video corresponding to the playing state is greater than or equal to a preset threshold and the network condition meets a third condition, determining that the start code rate is the lowest code rate; or, if the resolution of the currently played video corresponding to the playing state is smaller than a preset threshold, the network condition meets a first condition, and the size of the playing window when the video resolution is smaller than the preset threshold is greater than or equal to the playing resolution before the time point jumps, determining the start code rate as the code rate of the currently played video fragment; or, if the resolution of the currently played video corresponding to the playing state is smaller than a preset threshold, the network condition meets a first condition, and the size of a playing window when the video resolution is smaller than the preset threshold is smaller than the playing resolution before time point jump, determining the starting code rate as the maximum value of the code rate of the selectable video fragment, wherein the resolution of the selectable video fragment is smaller than or equal to the playing resolution before time point jump; or, if the resolution of the currently played video corresponding to the playing state is smaller than a preset threshold and the network condition does not meet a first condition, determining that the start code rate is the lowest code rate.
The present embodiment may further include an updating module, configured to update the lower limit value of the cache according to the set initial cache lower limit value and the length downloaded to the cache, where the updated lower limit value of the cache is maximum to a stationary phase threshold, so as to determine the start code rate after exceeding the updated cache value.
The device can be located at a client side or a server side.
According to the embodiment, the starting code rate is determined according to the playing state and the network condition, instead of directly setting the requested code rate as the lowest code rate, the continuity of the video quality before and after the time jump can be ensured as much as possible, and the user experience is improved.
It will be appreciated that the relevant features of the method and apparatus described above are referred to one another. In addition, "first", "second", and the like in the above embodiments are for distinguishing the embodiments, and do not represent merits of the embodiments.
Those of ordinary skill in the art will understand that: all or part of the steps for realizing the method embodiments can be completed by hardware related to program instructions, the program can be stored in a computer readable storage medium, and the program executes the steps comprising the method embodiments when executed; and the aforementioned storage medium includes: various media that can store program codes, such as ROM, RAM, magnetic or optical disks.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (7)

1. A processing method after playing time point jump in streaming media is characterized by comprising the following steps:
acquiring a playing state and a network condition;
determining the starting code rate of the video fragment after the time point jumps according to the playing state and the network condition, wherein the starting code rate comprises the code rate of the currently played video fragment; the playing state is a full screen state or a non-full screen state, and/or the playing state is the resolution of a currently played video;
when the playing state is a full-screen state or a non-full-screen state, determining the starting code rate of the video fragments after the time point skips according to the playing state and the network condition, wherein the method comprises the following steps:
if the playing state is full-screen playing and the network condition meets a first condition, the starting code rate is the code rate of the currently played video fragment;
or,
if the playing state is full-screen playing and the network condition meets a second condition, the starting code rate is the maximum value between one half of the code rate of the currently played video fragment and the lowest code rate;
or,
if the playing state is full-screen playing and the network condition meets a third condition, the starting code rate is the lowest code rate;
or,
if the playing state is non-full screen playing, the network condition meets a first condition, and the size of a playing window during the non-full screen playing is larger than or equal to the playing resolution ratio before jumping of a time point, the starting code rate is the code rate of the currently played video fragment;
or,
if the playing state is non-full screen playing, the network condition meets a first condition, and the size of a playing window during the non-full screen playing is smaller than the playing resolution before time point skipping, the starting code rate is the maximum value of the code rate of the selectable video fragment, and the resolution of the selectable video fragment is smaller than or equal to the playing resolution before time point skipping;
or,
if the playing state is non-full screen playing and the network condition does not meet a first condition, the starting code rate is the lowest code rate;
the network condition meeting the first condition is superior to the network condition meeting the second condition, and the network condition meeting the second condition is superior to the network condition meeting the third condition; or,
when the playing state is the resolution of the currently played video, determining the starting code rate of the video fragments after the time point is jumped according to the playing state and the network condition, wherein the method comprises the following steps:
if the resolution of the currently played video corresponding to the playing state is greater than or equal to a preset threshold and the network state meets a first condition, the starting code rate is the code rate of the currently played video fragment;
or,
if the resolution of the currently played video corresponding to the playing state is greater than or equal to a preset threshold and the network state meets a second condition, the starting code rate is the maximum value between one half of the code rate of the currently played video fragment and the lowest code rate;
or,
if the resolution of the currently played video corresponding to the playing state is greater than or equal to a preset threshold and the network condition meets a third condition, the starting code rate is the lowest code rate;
or,
if the resolution of the currently played video corresponding to the playing state is smaller than a preset threshold, the network condition meets a first condition, and the size of a playing window when the video resolution is smaller than the preset threshold is larger than or equal to the playing resolution before the skip of the time point, the starting code rate is the code rate of the currently played video fragment;
or,
if the resolution of the currently played video corresponding to the playing state is smaller than a preset threshold, the network condition meets a first condition, and the size of a playing window when the video resolution is smaller than the preset threshold is smaller than the playing resolution before time point jump, the starting code rate is the maximum value of the code rate of the selectable video fragment, and the resolution of the selectable video fragment is smaller than or equal to the playing resolution before time point jump;
or,
if the resolution ratio of the playing state corresponding to the currently played video is smaller than a preset threshold value and the network condition does not meet a first condition, the starting code rate is the lowest code rate;
the network condition meeting the first condition is superior to the network condition meeting the second condition, and the network condition meeting the second condition is superior to the network condition meeting the third condition; the video resolution ratio greater than or equal to the preset threshold value is higher than the video resolution ratio smaller than the preset threshold value.
2. The method of claim 1, wherein the obtaining the network condition comprises:
acquiring a network condition according to the code rate of the currently played video fragment and the code rate of the previous video fragment, as well as the playing time of the currently played video fragment and the downloading time of the previous video fragment;
or,
after averaging the network conditions corresponding to the set number of video segments, obtaining the network conditions, wherein the network conditions corresponding to each video segment are determined in the following manner: determining the network condition corresponding to each video fragment according to the code rate of the currently played video fragment and the code rate of the previous video fragment, as well as the playing time of the currently played video fragment and the downloading time of the previous video fragment;
or,
acquiring a network state according to the code rate of the video in the set time before the time point jumps, the downloading duration of the video in the set time and the set time;
or,
after averaging the network conditions corresponding to the videos in a plurality of set times before the jump of the time point, acquiring the network conditions, wherein the network conditions corresponding to the videos in each set time are determined in the following manner: and determining the network condition corresponding to the video in each set time according to the code rate of the video in the set time, the downloading time length of the video in the set time and the set time.
3. The method of claim 1, further comprising:
and updating the lower limit value of the cache according to the set lower limit value of the initial cache and the length downloaded to the cache, wherein the maximum updated lower limit value of the cache is a threshold value in a stable stage so as to determine the starting code rate after exceeding the updated lower limit value of the cache.
4. A processing apparatus after a play time point jump in a streaming media, comprising:
the acquisition module is used for acquiring the playing state and the network condition;
the determining module is used for determining the starting code rate of the video fragments after the time point jumps according to the playing state and the network condition, wherein the starting code rate comprises the code rate of the currently played video fragments;
the playing state acquired by the acquisition module is a full-screen state or a non-full-screen state, and/or the playing state is the resolution of a currently played video;
when the playing state is a full-screen state or a non-full-screen state, the determining module is specifically configured to:
if the playing state is full-screen playing and the network condition meets a first condition, determining the starting code rate as the code rate of the currently played video fragment;
or,
if the playing state is full-screen playing and the network condition meets a second condition, determining the starting code rate to be the maximum value between one half of the code rate of the currently played video fragment and the lowest code rate;
or,
if the playing state is full-screen playing and the network condition meets a third condition, determining the starting code rate as the lowest code rate;
or,
if the playing state is non-full screen playing, the network condition meets a first condition, and the size of a playing window during the non-full screen playing is larger than or equal to the playing resolution before jumping of a time point, determining the starting code rate as the code rate of the currently played video fragment;
or,
if the playing state is non-full screen playing, the network condition meets a first condition, and the size of a playing window during the non-full screen playing is smaller than the playing resolution before time point skipping, determining that the starting code rate is the maximum value of the code rate of the selectable video fragment, and the resolution of the selectable video fragment is smaller than or equal to the playing resolution before time point skipping;
or,
if the playing state is non-full screen playing and the network condition does not meet a first condition, determining the starting code rate as the lowest code rate;
the network condition meeting the first condition is superior to the network condition meeting the second condition, and the network condition meeting the second condition is superior to the network condition meeting the third condition; or,
when the playing state is the resolution of the currently played video, the determining module is specifically configured to:
if the resolution of the currently played video corresponding to the playing state is greater than or equal to a preset threshold and the network state meets a first condition, determining the starting code rate as the code rate of the currently played video fragment;
or,
if the resolution of the currently played video corresponding to the playing state is greater than or equal to a preset threshold and the network state meets a second condition, determining the starting code rate to be the maximum value between one half of the code rate of the currently played video fragment and the lowest code rate;
or,
if the resolution of the currently played video corresponding to the playing state is greater than or equal to a preset threshold and the network condition meets a third condition, determining the starting code rate as the lowest code rate;
or,
if the resolution of the currently played video corresponding to the playing state is smaller than a preset threshold, the network condition meets a first condition, and the size of a playing window when the video resolution is smaller than the preset threshold is larger than or equal to the playing resolution before the skip of a time point, determining the starting code rate as the code rate of the currently played video fragment;
or,
if the resolution of the currently played video corresponding to the playing state is smaller than a preset threshold, the network condition meets a first condition, and the size of a playing window when the video resolution is smaller than the preset threshold is smaller than the playing resolution before time point jump, determining the starting code rate as the maximum value of the code rate of the selectable video fragment, wherein the resolution of the selectable video fragment is smaller than or equal to the playing resolution before time point jump;
or,
if the resolution ratio of the playing state corresponding to the currently played video is smaller than a preset threshold value and the network condition does not meet a first condition, determining the starting code rate as the lowest code rate;
the network condition meeting the first condition is superior to the network condition meeting the second condition, and the network condition meeting the second condition is superior to the network condition meeting the third condition; the video resolution ratio greater than or equal to the preset threshold value is higher than the video resolution ratio smaller than the preset threshold value.
5. The apparatus of claim 4, wherein the obtaining module is specifically configured to:
acquiring a network condition according to the code rate of the currently played video fragment and the code rate of the previous video fragment, as well as the playing time of the currently played video fragment and the downloading time of the previous video fragment;
or,
after averaging the network conditions corresponding to the set number of video segments, obtaining the network conditions, wherein the network conditions corresponding to each video segment are determined in the following manner: determining the network condition corresponding to each video fragment according to the code rate of the currently played video fragment and the code rate of the previous video fragment, as well as the playing time of the currently played video fragment and the downloading time of the previous video fragment;
or,
acquiring a network state according to the code rate of the video in the set time before the time point jumps, the downloading duration of the video in the set time and the set time;
or,
after averaging the network conditions corresponding to the videos in a plurality of set times before the jump of the time point, acquiring the network conditions, wherein the network conditions corresponding to the videos in each set time are determined in the following manner: and determining the network condition corresponding to the video in each set time according to the code rate of the video in the set time, the downloading time length of the video in the set time and the set time.
6. The apparatus of claim 4, further comprising:
and the updating module is used for updating the lower limit value of the cache according to the set lower limit value of the initial cache and the length downloaded to the cache, wherein the maximum updated lower limit value of the cache is a threshold value in a stable stage, so that the starting code rate is determined after the updated lower limit value of the cache is exceeded.
7. The apparatus according to any of claims 4-6, wherein the apparatus is located at a client or a server.
CN201080003687.4A 2010-12-31 2010-12-31 A processing method after a playing timepoint in streaming media jumps and a device thereof Active CN102204272B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2010/080659 WO2011150657A1 (en) 2010-12-31 2010-12-31 Processing method and device after play time-point jump in streaming media

Publications (2)

Publication Number Publication Date
CN102204272A CN102204272A (en) 2011-09-28
CN102204272B true CN102204272B (en) 2012-12-19

Family

ID=44662832

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080003687.4A Active CN102204272B (en) 2010-12-31 2010-12-31 A processing method after a playing timepoint in streaming media jumps and a device thereof

Country Status (2)

Country Link
CN (1) CN102204272B (en)
WO (1) WO2011150657A1 (en)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870503B (en) * 2012-12-14 2017-11-24 北京音之邦文化科技有限公司 Search method and equipment in online broadcasting
CN103945244B (en) * 2013-01-17 2018-05-29 华为技术有限公司 The method and apparatus for controlling video traffic transmission
CN104581424B (en) * 2013-10-25 2018-11-30 华为技术有限公司 A kind of flow-medium transmission method, relevant device and system
CN103745737B (en) * 2013-12-23 2017-12-08 乐视致新电子科技(天津)有限公司 A kind of method and apparatus for obtaining media file total duration
CN104022962B (en) * 2014-06-27 2017-12-12 宇龙计算机通信科技(深圳)有限公司 Flow control methods and volume control device
CN105263037B (en) * 2014-07-18 2018-07-03 中国科学院声学研究所 A kind of adaptive fluidizing method based on client-cache
CN104581340B (en) * 2015-01-16 2018-02-16 京东方科技集团股份有限公司 Client, stream medium data method of reseptance and stream medium data transmission system
CN106688239B (en) * 2015-08-25 2019-08-27 华为技术有限公司 Method for downloading video, apparatus and system
CN105357591B (en) * 2015-11-16 2018-10-12 北京理工大学 A kind of QoE monitoring of self-adaption code rate net cast and optimization method
CN105916008A (en) * 2015-12-15 2016-08-31 乐视网信息技术(北京)股份有限公司 Video buffering method and device
CN105407107A (en) * 2015-12-24 2016-03-16 成都信息工程大学 Transmission method and device for streaming media data
CN108540827B (en) * 2017-03-01 2021-04-27 杭州海康威视数字技术股份有限公司 Data processing method and device
CN110149299B (en) * 2018-02-13 2022-06-21 中兴通讯股份有限公司 Video optimization method, device and system, terminal and network equipment
CN109327716B (en) * 2018-10-31 2020-09-11 北京达佳互联信息技术有限公司 Delay control method, delay control apparatus, and computer-readable storage medium
CN109688465B (en) 2018-11-27 2020-12-29 Oppo广东移动通信有限公司 Video enhancement control method and device and electronic equipment
CN111698536B (en) * 2019-03-15 2023-03-28 瑞昱半导体股份有限公司 Video processing method and system
CN110198494B (en) * 2019-06-28 2021-07-20 广州市百果园信息技术有限公司 Video playing method, device, equipment and storage medium
CN110366006A (en) * 2019-07-24 2019-10-22 北京奇艺世纪科技有限公司 Video broadcasting method, device, terminal device and computer readable storage medium
CN110662093A (en) * 2019-10-17 2020-01-07 北京达佳互联信息技术有限公司 Initial code rate determination method and device, electronic equipment and storage medium
CN113596584B (en) * 2021-08-11 2023-03-28 抖音视界有限公司 Video playing method, device and storage medium
CN114501084B (en) * 2022-02-17 2023-08-01 北京百度网讯科技有限公司 Play method, device, equipment and medium of player

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030120793A1 (en) * 2001-12-21 2003-06-26 Pekka Marjola Method and arrangement for sending a video presentation
CN101534408A (en) * 2009-04-22 2009-09-16 北京数码视讯科技股份有限公司 Method for storing and playing dynamic code rate transport stream and media stream and for detecting exception
US20090307368A1 (en) * 2008-06-06 2009-12-10 Siddharth Sriram Stream complexity mapping
US20090328124A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Adaptive video switching for variable network conditions
US20100235472A1 (en) * 2009-03-16 2010-09-16 Microsoft Corporation Smooth, stateless client media streaming

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725557B2 (en) * 2002-06-24 2010-05-25 Microsoft Corporation Client-side caching of streaming media content
CN101068236B (en) * 2007-04-13 2011-10-26 华为技术有限公司 Streaming media bit rate control method, system and equipment
CN101765003A (en) * 2008-12-23 2010-06-30 上海茂碧信息科技有限公司 Method for transmitting audio and video under environment of network with different speeds
CN101848205A (en) * 2010-03-16 2010-09-29 深圳市同洲电子股份有限公司 RTSP based stream media playing method and system thereof on mobile terminal

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030120793A1 (en) * 2001-12-21 2003-06-26 Pekka Marjola Method and arrangement for sending a video presentation
US20090307368A1 (en) * 2008-06-06 2009-12-10 Siddharth Sriram Stream complexity mapping
US20090328124A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Adaptive video switching for variable network conditions
US20100235472A1 (en) * 2009-03-16 2010-09-16 Microsoft Corporation Smooth, stateless client media streaming
CN101534408A (en) * 2009-04-22 2009-09-16 北京数码视讯科技股份有限公司 Method for storing and playing dynamic code rate transport stream and media stream and for detecting exception

Also Published As

Publication number Publication date
CN102204272A (en) 2011-09-28
WO2011150657A1 (en) 2011-12-08

Similar Documents

Publication Publication Date Title
CN102204272B (en) A processing method after a playing timepoint in streaming media jumps and a device thereof
US10110650B2 (en) Client side stream switching
US9167007B2 (en) Stream complexity mapping
EP3200423B1 (en) Media host transmitting media stream with adapted bit rate
AU2014223523B2 (en) Adaptive streaming techniques
CN103535047B (en) Transmit the node in the method for video content, the network of monitoring video content stream as a stream
EP2820819B1 (en) Improved dash client and receiver with playback rate selection
EP2547062B1 (en) Media streaming with adaptation
CA2888218C (en) Playback stall avoidance in adaptive media streaming
CN104967884B (en) A kind of bitstreams switching method and apparatus
CN106688239A (en) Video downloading method, apparatus, and system
CN113411643B (en) Video quality optimization method, system, electronic equipment and storage medium
CN110022498B (en) Method and device for realizing code rate switching
WO2014107951A1 (en) Method, player and terminal for selecting code stream segmentations based on stream media
JP6021385B2 (en) Streaming media playback apparatus, streaming media playback method, and program
CN104509061B (en) The adjusting method and device of transmission of flow media data
CN108989838B (en) DASH code rate self-adaption method based on video content complexity perception
JP6099715B2 (en) Streaming media playback apparatus, streaming media playback method, and program
CN106559684B (en) Method, terminal and system for reducing live broadcast delay
Lee et al. Enhanced quality adaptation scheme for improving QoE of MPEG DASH
Mushtaq et al. HTTP rate adaptive algorithm with high bandwidth utilization
TR2021020846A2 (en) A METHOD TO PLAY HIGH-QUALITY VIDEOS ON OLD DEVICES
CN117560522A (en) Code rate determining method, device, equipment and storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant