WO2012159587A1 - 流媒体的处理方法、分发服务器、客户端及系统 - Google Patents
流媒体的处理方法、分发服务器、客户端及系统 Download PDFInfo
- Publication number
- WO2012159587A1 WO2012159587A1 PCT/CN2012/076120 CN2012076120W WO2012159587A1 WO 2012159587 A1 WO2012159587 A1 WO 2012159587A1 CN 2012076120 W CN2012076120 W CN 2012076120W WO 2012159587 A1 WO2012159587 A1 WO 2012159587A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- code rate
- data transmission
- rate
- client
- content
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/38—Flow control; Congestion control by adapting coding or compression rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0231—Traffic management, e.g. flow control or congestion control based on communication conditions
Definitions
- the present invention relates to the field of communications, and in particular, to a streaming media processing method, a distribution server, a client, and a system.
- Streaming media technology refers to the technology of distributing multimedia content such as audio and video in real time on the Internet in the form of data streams. It is a server that compresses and encodes the entire multimedia file into a plurality of compressed packages, and sequentially transmits them to the client in real time. The client can decompress and play the compressed packets that have been transmitted, and download the subsequent compressed packets, thereby saving time. At present, the server can make a multimedia file into different versions and content fragments with different bit rates for the client to select according to the actual situation.
- a low bit rate video stream can be selected; when the network environment is high bandwidth, a high bit rate video stream can be selected; and when the network environment is variable bandwidth, the variable can be selected to be variable.
- the video stream of the bit rate Since the air interface resources are constantly changing in the wireless network, in order to achieve a more reasonable air interface resource utilization and a better user experience, the code rate of the streaming media is adapted to the code rate as the air resource changes.
- HTTP S treaming the method of processing HTTP streaming media is that the client needs to perform bandwidth detection before requesting a content fragmentation by the client, for example, bandwidth detection according to the occupancy of the buffer (buffer), and the more buffers are occupied, Explain that the better the bandwidth condition, the more available bandwidth, and then select the appropriate bit rate based on the available bandwidth and send a request to the server.
- HTTP streaming uses the HTTP reques t/response mode, which requires a content fragment to be replied to each request.
- the client judges the network bandwidth based on the condition of its own buffer, which is very one-sided and not true. For example, when the cell network is already congested and the client's own buf f er is full, the client considers that the network bandwidth is sufficient at this time to apply for a higher code rate file, which will increase congestion. Summary of the invention
- a streaming media processing method a distribution server, a client, and a system are provided.
- a method for processing a streaming media comprising:
- a distribution server for streaming media includes: a receiving module, configured to receive content fragmentation request information sent by a client;
- a first acquiring module configured to acquire, after the receiving module receives the content fragmentation request information sent by the client, the resource information of the wireless network where the client is located;
- a prediction module configured to predict, according to the resource information acquired by the first acquiring module, a data transmission rate of the wireless network
- a selection module configured to select a content slice that is adapted to a data transmission rate predicted by the prediction module
- a sending module configured to send, to the client, a content slice selected by the selection module.
- a method for processing a streaming media comprising:
- a client in still another aspect, includes:
- a first sending module configured to send content fragmentation request information to a distribution server
- a receiving module configured to receive, after the first sending module sends the content fragmentation request information to the distribution server, the content fragment sent by the distribution server, where the content fragment is received by the distribution server After the content fragmentation request information sent by the client, Describe the resource information of the wireless network where the client is located, and predict the data transmission rate of the wireless network according to the resource information, and select the content fragment that is adapted to the data transmission rate.
- a system for streaming media comprising: a distribution server and a client;
- the distribution server is a distribution server as described above;
- the client is a client as described above.
- the resource information of the wireless network where the client is located is obtained by the distribution server, and the data transmission rate of the wireless network is predicted according to the resource information, and then the content segment adapted to the data transmission rate is selected for the client.
- the code rate of the content fragmentation sent to the client is more suitable, and the bandwidth state of the cell wireless network is generally adjusted, which can stably alleviate network congestion and solve the problem of network congestion.
- FIG. 1 is a flowchart of a method for processing a streaming media according to Embodiment 1 of the present invention
- FIG. 2 is a schematic structural diagram of a system according to Embodiment 2 to Embodiment 10 of the present invention
- FIG. 3 is a flowchart of a method for processing a streaming media according to Embodiment 2 of the present invention.
- FIG. 4 is a flowchart of a method for processing a streaming media according to Embodiment 3 of the present invention.
- FIG. 5 is a flowchart of a method for processing a streaming media according to Embodiment 4 of the present invention.
- FIG. 6 is a flowchart of a method for processing a streaming media according to Embodiment 5 of the present invention.
- FIG. 7 is a flowchart of a method for processing a streaming media according to Embodiment 6 of the present invention.
- FIG. 8 is a schematic structural diagram of a first distribution server according to Embodiment 7 of the present invention.
- FIG. 9 is a schematic structural diagram of a second distribution server according to Embodiment 7 of the present invention.
- FIG. 10 is a schematic structural diagram of a third distribution server according to Embodiment 7 of the present invention.
- FIG. 11 is a schematic structural diagram of a fourth distribution server according to Embodiment 7 of the present invention.
- FIG. 12 is a schematic structural diagram of a fifth distribution server according to Embodiment 7 of the present invention.
- FIG. 13 is a flowchart of a method for processing a streaming media according to Embodiment 8 of the present invention
- FIG. 14 is a schematic structural diagram of a first client according to Embodiment 9 of the present invention
- FIG. 13 is a flowchart of a method for processing a streaming media according to Embodiment 8 of the present invention
- FIG. 14 is a schematic structural diagram of a first client according to Embodiment 9 of the present invention
- FIG. 15 is a schematic structural diagram of a second client provided by Embodiment 9 of the present invention.
- FIG. 16 is a schematic structural diagram of a third client according to Embodiment 9 of the present invention.
- FIG. 17 is a schematic structural diagram of a fourth client provided by Embodiment 9 of the present invention.
- FIG. 18 is a schematic structural diagram of a system for streaming media provided in Embodiment 10 of the present invention. detailed description
- the processing method of the streaming media provided by the embodiment of the present invention can be applied to HTTP-based streaming media transmission, such as: Adaptive HTTP S traaming of 3GPP, and Microsoft S ln Network In servicing , Smooth Streaming of Internet Information Monthly, Apple's real-time HTTP streaming (HTTP Live Streaming), Adobe's HTTP Dynamic Streaming and HTTP Dynamic Streaming Streaming media transmission technology such as RTMP (Rea l-Time Mes saging Protocol).
- This method can also be applied to streaming media transmission technology similar to HTTP.
- the embodiment of the present invention is described by using the method in the Adapte HTTP St reaming system architecture of the 3GPP as an example, but is not limited thereto.
- An embodiment of the present invention provides a method for processing a streaming media, where the method may be performed on a distribution server of a streaming media, and the distribution server of the streaming media may be located in an RNC (Radio Network Controller) of the wireless network.
- RNC Radio Network Controller
- eNB evolved Node B
- the resource information may be signal quality parameter information or a calendar transmission rate.
- the signal quality parameter information may be information such as bandwidth, power, gain, and signal to noise ratio of the wireless network
- the historical transmission rate refers to a data transmission rate of the wireless network at a time before the current time.
- the predicted data transmission rate of the wireless network may be specifically: a data transmission rate of the client in the wireless network at a next moment.
- the method for predicting may include: determining, according to the signal quality parameter information, whether the wireless network is congested, and if congested, determining the traffic of the streaming media service and all services in the wireless network.
- the method for predicting may include: predicting, according to the historical transmission rate, a data transmission rate of the wireless network at a next moment by using a linear minimum variance prediction method.
- the embodiment of the present invention may also adopt other methods to predict the data transmission rate of the wireless network, and is not limited to the foregoing implementation method.
- a content fragment whose code rate is adapted to the data transmission rate is selected.
- the first prediction method when used to predict that the wireless network reduces the data transmission rate at the next moment, it may select a content fragment that is one level lower than the code rate of the transmitted previous content fragment; predicting the wireless network.
- a content slice that is one level higher than the code rate of the previous content slice transmitted may be selected.
- the content fragment whose code rate is less than or equal to the data transmission rate may be selected.
- HTTP S t reaming HTTP S t reaming
- HTTP reques t /response mode HTTP reques t /response mode
- the method provided by the embodiment of the present invention obtains the resource information of the wireless network where the client is located by the distribution server, predicts the data transmission rate of the wireless network according to the resource information, and further selects a content suitable for the data transmission rate for the client.
- the fragmentation makes the code rate of the content fragment sent to the client more suitable, and adjusts the bandwidth condition of the cell wireless network as a whole, can stably alleviate network congestion and solve the problem of network congestion.
- the 3GPP Adapt ive HTTP Streaming system architecture is an HTTP streaming media architecture based on a distribution server (HTTP Cache).
- the content preparation module forms a content slice, and then generates a MPD (Media Presentation Descr ipt ion) of the content slice, and pushes the content slice and the MPD to the HTTP stream.
- the media server HTTP St reaming server
- the MPD is description information of the content segmentation, and mainly includes descriptions of information such as content fragmentation, request structure, and multi-code rate;
- the HTTP streaming server stores the received information.
- Content fragmentation and MPD and in response to the request of the distribution server, the content fragmentation and MPD are injected into the distribution server, while the HTTP streaming server also receives content updates from the content preparation module; the distribution server receives the HTTP streaming client (HTTP)
- HTTP HTTP streaming client
- the MPD request of S treaming Cl ient when the requested MPD exists in the cache of the distribution server, sends the MPD to the client; finally, the client selects an appropriate one from the received MPD according to the bandwidth resource detected by the client.
- Rate generate a content fragmentation request information URL (Uniform Resource Locator, Uniform Resource Locator), And request content fragmentation from the distribution server.
- the streaming media services here include on-demand and live broadcast.
- the embodiment of the present invention provides a method for processing a streaming media, where the method may be performed on a streaming media distribution server, where the streaming media
- the distribution server can be located in the RNC or eNB of the wireless network. Referring to Figure 3, the method flow includes:
- the distribution server constructs a client MPD (Cl ient MPD ) according to the original MPD in the cache.
- constructing the client MPD may include: removing the Representation element in the original MPD in the distribution server cache, and saving the client as a client End MPD. Since only the information for generating the content fragmentation request URL is retained in the client MPD, the multi-rate related information of the content fragment in the other Representation elements is not carried, and therefore, the size of the client MPD is smaller than The original MPD is small. That is to say, the client is no longer selected according to multiple code rates in the MPD, and the client no longer needs to perform bandwidth detection by itself.
- the client can obtain the URL of the MPD through the out-of-band method, and distribute the service through the URL.
- the server sends an MPD request.
- the client MPD corresponding to the MPD requested by the client configured in step 301 is sent to the client instead of transmitting the original MPD. Since the client MPD is smaller than the original MPD, it is sent relatively faster.
- the client MPD since the client MPD does not carry the related information in the Representa element, the client does not carry the required bit rate information according to the content fragmentation request information generated by the client MPD. Therefore, the client also You do not need to detect your own buffer occupancy.
- the resource information may be a historical transmission rate, and specifically refers to a data transmission rate of the wireless network at a time before the current time.
- the predicted data transmission rate of the wireless network may specifically be: a data transmission rate of the client in the wireless network next time.
- a linear minimum variance prediction method is used to predict the data transmission rate of the wireless network at the next moment.
- Embodiments of the present invention are not limited to prediction methods using linear minimum variance, and other prediction methods may also be employed.
- the data transfer rate is recorded every 1 s, and the historical transfer rate recorded to the previous record is: 962, 914, 884, 81 3, 758, 990, 1036, 702, 935, 1049, 101 3, 946, 933 , 734, 1 004, 980, 946, 967, 871, 838, 928, 885, 883, 694, 881, 949, 931, 937, 840, 1 1 35, 1 033, 940, 1 179 (in kbps) .
- the historical transmission rate basically conforms to the Auto Regres s i on Mov ing Average model.
- the order of ARMA model ARMA (p, q) is determined by MATLAB (Ma tr ix Labora tory, matrix laboratory) program, and the data transmission rate predicted to the next moment is: 918kbps.
- the distribution server function can be implemented in the RNC or eNB of the wireless network,
- the data transmission rate of the network can be derived most directly and quickly by the RNC or the eNB.
- the user information includes user level information and/or terminal capability information.
- User Level Information The level obtained by the user at the time of signing, such as a gold medal user, a 4 card user, a bronze card user, etc., the user level information defines the bandwidth resources available to the user.
- the terminal capability information is reported by the client, and the terminal capability information includes the client terminal where the user is located and related information of the browser, such as screen resolution, terminal system platform, terminal model, and terminal IMEI (International Mobile Equipment Identity, international mobile Device ID), terminal configuration Prof, CPU (Central Processing Unit), and memory.
- the user information may also include other useful information such as user selection information for selecting the language of the content slice, subtitles, and the like.
- the embodiment of the present invention does not specifically limit the manner in which the client can report the terminal capability information, and may carry the terminal capability information through the HTTP protocol, or carry the terminal capability information through the UE Capability (capability), and may also adopt other methods.
- the HTTP protocol it can be carried in the header field of the HTTP request sent to the distribution server, such as:
- User-Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobi le 8.12; MSIEMobile 6.0)
- the signaling message between the client and the base station or the base station controller may be transmitted. If the UE Capability is carried in the Attach Request, or the UE is carried in the TAU Request (Tracking Area Update Request message) Capabi li ty, but not limited to the two request messages exemplified here.
- TAU Request Track Area Update Request message
- the selected code rate is less than or equal to the data transmission rate, and is less than Or equal to the content fragment of the highest code rate that the client can support provided by the user level information;
- the selected code rate is less than or equal to the data transmission rate, and is less than or equal to the content fragment of the highest code rate that the client can support by the terminal capability information;
- the selected code rate is less than or equal to the data transmission rate, and is less than or equal to the highest bit rate that the client can support by the user level information and the terminal capability information.
- Content fragmentation is less than or equal to the data transmission rate, and is less than or equal to the highest bit rate that the client can support by the user level information and the terminal capability information.
- the distribution server predicts that the data transmission rate of the client in the wireless network can reach 1130 kbps at the next moment, but the user information indicates that the client cannot support the playback of the bit rate file higher than 845 kbps, and only the reply can be given at this time.
- the client has a content slice of up to 845kbps.
- the HTTP stream (HTTP St reaming) transmission mode that is, the HTTP reques t/response mode, can only be used to reply to one content fragmentation request for one content fragmentation request, and the client is When viewing an entire multimedia file, it is necessary to sequentially send a plurality of content fragmentation request information to complete the viewing.
- the HTTP fragment (HTTP Chunk) transmission manner may also be used to send the content fragment to the client.
- HTTP block mode the client only needs to request once, and the distribution server will send each content slice to the client in HTTP block mode.
- Chunked encoding transmission can be set in the header of the HTTP response, as follows:
- the step 307 of acquiring the user information may be performed only before the selection of the adapted content fragment, that is, the step 307 may be performed at any time before the step 308 is performed, and the embodiment of the present invention is only in the above order.
- the example will be described, but it is not limited thereto.
- the method provided by the embodiment of the present invention obtains the resource information of the wireless network where the client is located by using the distribution server, predicts the data transmission rate of the wireless network according to the resource information, and further serves as a client. Selecting the content fragment matching the data transmission rate can achieve the following beneficial effects: First, the distribution server predicts the data transmission rate of the wireless network at the next moment according to the historical transmission data of the wireless network, which is generally The network bandwidth status is judged. Based on this, the client selects the content fragment that is adapted to the data transmission rate, and performs rate adjustment to better solve the problem of network congestion.
- the distribution server when the network is congested, the distribution server generally determines the network bandwidth status, and the client does not perform the code rate selection. Therefore, the distribution server can adjust the bandwidth of the cell macroscopically, and is stable. Slow down the network congestion and solve the problem of network congestion. Once again, the distribution server predicts the data transmission rate of the wireless network, and immediately adapts the content fragment to the client to achieve a more real-time rate-matching.
- the effect is that, in the prior art, the time for detecting the bandwidth, selecting the code rate, and requesting the server to perform the rate adjustment according to the client is reduced, so that the rate of the rate adjustment in the embodiment of the present invention keeps up with the change speed of the network bandwidth;
- the distribution server also refers to the user information for rate selection, when the bandwidth resource is good, the client can provide the content segment of the higher bit rate in the range of the client capability, thereby improving the user's body horse;
- the client MPD is configured by the distribution server, and the content fragmentation request information sent by the client does not include the required bit rate, that is, the client does not need to perform bandwidth detection. Reduced client complexity;
- the HTTP r eques t / respons e mode used by HTTP streaming media can only send one request to reply to a content fragment, which is inefficient for a large number of content fragments in HTTP streaming media.
- the content fragment is sent to the client by using the HTTP block in the embodiment of the present invention, the client only needs to request once, and the distribution server sequentially sends each content fragment to the client in an HTTP block manner, which improves.
- the embodiment of the present invention provides a processing method of the streaming media, where the method may be performed on a distribution server of the streaming media, where the distribution server of the streaming media may be located in the wireless network.
- the method flow includes:
- the client After the client performs bandwidth detection according to the occupancy of the buffer, the client selects the required code rate, resolution, language, and the like in the Representation element in the content fragmentation request information, and sends the content fragmentation request information to the distribution server. .
- the client requires a bit rate of BitrateL.
- the steps 402-403 are the same as the implementations of the steps 305-306 of the second embodiment. For details, refer to steps 305-306, and details are not described herein again.
- the code rate of the content fragment requested by the client is Bitratel
- step 309 in the second embodiment, and details are not described herein again.
- the method provided by the embodiment of the present invention obtains the resource information of the wireless network where the client is located by using the distribution server, predicts the data transmission rate of the wireless network according to the resource information, and then selects and selects the code for the client by referring to the code rate required by the client.
- Content fragmentation with appropriate data transmission rate can achieve the following beneficial effects:
- the distribution server predicts the next time the wireless network according to the historical transmission data of the wireless network.
- the data transmission rate of the network is to judge the network bandwidth status as a whole.
- the client selects the content fragment that is adapted to the data transmission rate, and performs rate adjustment to better solve the network congestion. problem;
- the distribution server when the network is congested, the distribution server generally determines the network bandwidth status. If the code rate required by the client is high, and the data transmission rate predicted by the distribution server is insufficient, the data is sent to the client. Content fragmentation with lower code rate. If the bandwidth saved is still insufficient, the high-rate content fragmentation request requested by other clients will also send a lower bit rate response according to the situation, so it is distributed.
- the server can adjust the bandwidth of the cell macroscopically, stably slow down network congestion, and solve the problem of network congestion;
- the client detects the bandwidth according to the occupation of the buf f er, selects the code rate, and requests the server to perform the code rate adjustment. After receiving the request, the server sends the content fragment of the corresponding code rate to perform the code. Rate adjustment, the entire adjustment code rate period is too long.
- the server adjusts according to the code rate required by the client, the network bandwidth status at the moment may have changed, very real time, and the method provided by this embodiment is predicted by the distribution server.
- the content rate suitable for the code rate is adjusted to the client at the code rate required by the client to achieve a more real-time rate matching effect, so that the code rate is performed in the embodiment of the present invention.
- the speed of adjustment keeps pace with the speed of network bandwidth changes;
- the HTTP r eques t / respons e mode used by HTTP streaming media can only send one request to reply to a content fragment, which is inefficient for a large number of content fragments in HTTP streaming media.
- the content fragment is sent to the client by using the HTTP block in the embodiment of the present invention, the client only needs to request once, and the distribution server sequentially sends each content fragment to the client in an HTTP block manner, which improves.
- the embodiment of the invention further provides a method for processing a streaming media, which can be performed on a distribution server of a streaming media, and the distribution server of the streaming media can be located in an RNC or an eNB of the wireless network.
- the steps 501-503 are substantially the same as the steps 401-403 in the third embodiment, and are not described here.
- the main difference between the embodiment and the third embodiment is that:
- step 307 For details, refer to the implementation of step 307 in the second embodiment, and details are not described herein again.
- 505 Select, according to the obtained user information, a content fragment that is adapted to the data transmission rate. Specifically, compare the data transmission rate with a required code rate. When the data transmission rate is less than the required code rate, Selecting a content fragment whose code rate is less than or equal to the data transmission rate; when the data transmission rate is greater than or equal to the required code rate, it may be selected as follows:
- One when the acquired user information is user level information, the selected code rate is greater than or equal to the required code rate, less than or equal to the data transmission rate, and less than or equal to the user level information provided by the client can support Content fragmentation of the highest code rate;
- the selected code rate is greater than or equal to the required code rate, less than or equal to the data transmission rate, and is less than or equal to the highest code rate that the client can support.
- the selected code rate is greater than or equal to the required code rate, less than or equal to the data transmission rate, and less than or equal to the user level information and the terminal capability information.
- the code rate of the content fragment requested by the client is Bitratel
- the code rate is compared with the data transmission rate Bitrate2 predicted by the distribution server, and the content fragment matching the code rate is selected. Assuming that the code rate of the selected content fragment is Bitrate3, then if the distribution server determines Bitrate2 ⁇ Bitratel, then Bi trate3 Bi trate2; If the distribution server determines Bitrate2 > Bitratel, Bitratel ⁇ Bitrate3 ⁇ Bitrate4, Bitrate4 is provided for user information. The highest bit rate that the client can support.
- 506 Send the content fragment to the client.
- step 309 in the second embodiment, and details are not described herein again.
- the step 504 of acquiring the user information may be performed only before the content fragment matching the content rate is selected, that is, the step 504 may be performed at any time before the step 505 is performed.
- the embodiment of the present invention is described by taking the above sequence as an example, but is not limited thereto.
- the method provided by the embodiment of the present invention obtains the resource information of the wireless network where the client is located by using the distribution server, predicts the data transmission rate of the wireless network according to the resource information, and then refers to the code rate and user information required by the client as the client. Selecting the content fragment that is compatible with the data transmission rate can not only achieve all the beneficial effects in the third embodiment, but further includes the following beneficial effects with respect to the third embodiment:
- the distribution server also refers to the user information for rate selection, when the client requires a lower code rate and better bandwidth resources, the client can provide a higher code rate than the client requires, and at the same time on the client side. Content fragmentation within the capability range can make the selected code rate more accurate and appropriate, and enhance the user experience.
- the embodiment of the present invention further provides a method for processing a streaming media, which may be performed on a distribution server of a streaming media, where the distribution server of the streaming media may be located in an RNC or an eNB of the wireless network.
- the steps 601-603 are substantially the same as the steps 401-403 in the third embodiment, and are not described here.
- the main difference between the embodiment and the third embodiment is that:
- the client 604 Compare a code rate required in the content fragmentation request information sent by the client with a code rate that can be supported by the client of the local information record, and if the requested code rate is greater than the local information record, the client can support The code rate is updated to the required bit rate information; wherein the local information can be stored locally in various manners for recording the code rate that the client can support.
- the embodiment of the present invention is described by taking a client code rate capability table as an example, but is not limited thereto. See Table 1, for the new client code rate capability table, the initial value is null:
- the client identifier may be a client IP (Internet Protocol) address, or may be another identifier;
- the video stream identifier may be a video URL address identifier of the HTTP request, or may be another identifier;
- the distribution server For this step, each time the client sends the content fragmentation request information, the distribution server must The code rate required in the content fragmentation request information determines whether the code rate capability table needs to be refreshed. When the required code rate is greater than the corresponding maximum code rate, the code rate capability table is refreshed, when the required code rate is less than or equal to the corresponding At the maximum bit rate, the rate capability table does not change. When the client sends the content fragmentation request information without recording in the rate capability table, a new initial record is directly added.
- the carried rate is
- the client IP address is 192. 168. 1. 1
- the video stream identifier is identified by the video URL: ht tp: /www. example, com/videoname. mp4 , the refreshed client
- the code rate capability table is as follows:
- the rate rate fragmentation of Bitrate is 630000 bps.
- the refreshed client code rate capability table is as follows:
- the content fragment whose code rate is less than or equal to the data transmission rate and less than or equal to the code rate that the client can support for the current local information record is selected.
- step 309 in the second embodiment, and details are not described herein again.
- step 604 may be performed before the step 603, as long as the content fragmentation request information is received, and the client maximum bit rate capability table is established and updated according to the required code rate.
- the embodiment does not define the specific implementation location of step 604.
- the method provided by the embodiment of the present invention obtains the resource information of the wireless network where the client is located by using the distribution server, predicts the data transmission rate of the wireless network according to the resource information, and then refers to the code rate required by the client and the current local information record.
- the code rate that the client can support, and the content segmentation that is matched by the data transmission rate for the client not only can achieve all the beneficial effects in the third embodiment, but further includes the following beneficial effects with respect to the third embodiment:
- the distribution server also performs rate selection with reference to the current local information record that the client can support, when the client requires a lower code rate and better bandwidth resources, the client can provide a bit rate ratio client to the client.
- the content fragmentation with high required code rate and less than or equal to the maximum bit rate can make the selected code rate more accurate and suitable, and enhance the user experience.
- the embodiment of the invention further provides a method for processing a streaming media, which can be performed on a distribution server of a streaming media, and the distribution server of the streaming media can be located in an RNC or an eNB of the wireless network.
- the method includes:
- the signal quality parameter information may be information such as bandwidth, power, gain, signal to noise ratio, and the like of the wireless network.
- the data transmission rate of the wireless network is predicted according to the signal quality parameter information.
- the predicted data transmission rate of the wireless network may be: a data transmission rate of the client in the wireless network next time.
- the data transfer rate is increased.
- P-non_hspa indicates non-HSPA (Higgh Speed Packet Acces s, high speed) Packet access) power
- P-hsupa-res means HSUPA (High Speed Up Packet Packet Acces s) reserved power
- P-gbr_ s tr indicates GBR (Guaranteed Bit Rate) guarantee Bit rate) power
- P_max represents the maximum power of the cell
- Thr_olc_tr ig represents the overload trigger threshold
- the first preset threshold is 30%
- the second preset threshold is 70%, but is not limited thereto, and may be set to other values according to actual conditions
- a content fragment that is one level lower than a code rate of the transmitted previous content fragment may be selected; when the wireless network is predicted at the next moment
- a content slice that is one level higher than the code rate of the previous content slice sent may be selected.
- step 309 in the second embodiment, and details are not described herein again.
- the method provided by the embodiment of the present invention obtains the signal quality parameter information of the wireless network where the client is located by the distribution server, and further predicts whether the data transmission rate of the wireless network is increased or decreased according to the signal quality parameter information, and further is a client. Selecting the content fragment that matches the data transmission rate can achieve the following beneficial effects:
- the distribution server predicts whether the data transmission rate of the wireless network increases or decreases according to the signal quality parameter information of the wireless network, and determines the network bandwidth status as a whole, based on the previous content fragmentation code. On the basis of the rate, reducing or increasing the code rate of the latter content slice can better solve the problem of network congestion;
- the data transmission rate of the wireless network is predicted by the distribution server, it is immediately sent to the client.
- Adapting the content fragmentation with appropriate code rate to achieve a more real-time rate-matching effect reducing the time for the client to detect the bandwidth, select the code rate, and request the server to perform the rate adjustment according to the prior art.
- the speed of the rate adjustment of the embodiment of the present invention keeps pace with the change speed of the network bandwidth.
- the HTTP reques t/response mode adopted by the HTTP streaming media can only send one request to reply to one content fragment, and the number of HTTP streaming media. Huge content shards are less efficient.
- the embodiment of the present invention provides a distribution server for an HTTP streaming media, which can implement the method of the distribution server side in the foregoing method embodiment.
- the distribution server includes:
- the receiving module 801 is configured to receive content fragmentation request information sent by the client.
- the first getter module 802 is configured to obtain, after the receiving module 801 receives the content fragmentation request information sent by the client, the resource information of the wireless network where the client is located;
- the prediction module 803 is configured to predict, according to the resource information acquired by the first obtaining module 802, a data transmission rate of the wireless network;
- the selecting module 804 is configured to select a content slice that is adapted to the data transmission rate predicted by the prediction module 803;
- the sending module 805 is configured to send the content slice selected by the selecting module 804 to the client.
- the resource information acquired by the first obtaining module 802 includes: signal quality parameter information;
- the prediction module 803 is specifically configured to determine, according to the signal quality parameter information, whether the wireless network is congested. If the congestion occurs, determine whether the ratio of the traffic of the streaming media service to the traffic of all services in the wireless network is greater than a first preset threshold. If yes, it is predicted that the data transmission rate of the wireless network is reduced at the next moment; if it is not congested, it is determined whether the ratio of the data in the local transmission queue to the size of the buffer area is less than a second preset threshold, and if so, the prediction is performed.
- the data transmission rate of the wireless network is increased at the next moment; that is, the content is specifically used to implement the step 703 of the present invention; correspondingly, the selecting module 804 is specifically configured to predict that the data transmission rate of the wireless network is reduced at the next moment.
- the selecting module 804 is specifically configured to predict that the data transmission rate of the wireless network is reduced at the next moment.
- the signal quality parameter information of the wireless network where the client is located is obtained by the distribution server, and the data transmission rate of the wireless network is further predicted to be increased or decreased according to the signal quality parameter information, thereby selecting the client.
- Content fragmentation compatible with the data transmission rate can achieve the following beneficial effects:
- the distribution server predicts whether the data transmission rate of the wireless network increases or decreases according to the signal quality parameter information of the wireless network, and determines the network bandwidth status as a whole, based on the previous content fragmentation code. On the basis of the rate, lowering or increasing the code rate of the latter content slice can better solve the problem of network congestion; secondly, after the data transmission rate of the wireless network is predicted by the distribution server, the code is immediately adapted to the client. Rate the appropriate content fragmentation to achieve a more real-time rate-matching effect, reducing the time in the prior art for the client to detect the bandwidth, select the code rate, and request the server to perform the rate adjustment, so that the present invention The rate at which the rate adjustment is performed by the embodiment keeps pace with the rate of change of the network bandwidth.
- the resource information acquired by the first obtaining module 802 includes: a historical transmission rate
- the prediction module 803 is specifically configured to predict, according to the historical transmission rate, a data transmission rate of the wireless network at a next moment by using a linear minimum variance prediction method.
- the distribution server may further include:
- the second ear 806 is configured to obtain the user level information of the client before the selection module 804 selects the content slice.
- the selecting module 804 is specifically configured to select the code rate to be less than or equal to the data transmission rate, and less than Or equal to the content fragment of the highest code rate that the client can support provided by the user level information;
- the distribution server may further include:
- the third obtaining block 807 is configured to obtain the terminal capability information of the client before the selecting module 804 selects the content fragment.
- the selecting module 804 is specifically configured to select the code rate to be less than or equal to the data transmission rate. And less than or equal to the content fragment of the highest code rate that the client can support by the terminal capability information.
- the distribution server may further include:
- the fourth obtaining block 808 is configured to obtain the user level information and the terminal capability information of the client before the selecting module 804 selects the content fragment.
- the selecting module 804 is specifically configured to select the code rate to be less than or equal to the data.
- the transmission rate is less than or equal to the content fragmentation of the highest code rate that the client can support provided by the user level information and the terminal capability information.
- the selecting module 804 when the content fragmentation request information received by the receiving module 801 includes the required code rate, the selecting module 804 is specifically configured to compare the data transmission rate and the required code rate. When the data transmission rate is less than the required code rate, selecting a content fragment whose code rate is less than or equal to the data transmission rate; when the data transmission rate is greater than or equal to the required code rate, the selection code rate is equal to the requirement The content of the code rate is fragmented.
- the distribution server may further include:
- the second obtaining block 806 is configured to obtain the user level information of the client before the selecting module 804 selects the content fragment.
- the selecting module 804 is specifically configured to compare the data transmission rate and the required bit rate.
- the size of the data rate is less than or equal to the content rate of the data transmission rate when the data transmission rate is less than the required code rate; when the data transmission rate is greater than or equal to the required code rate, the selected code rate is greater than Or equal to the requested code rate, less than or equal to the data transmission rate, and less than or equal to the content fragment of the highest code rate that the client can support provided by the user level information;
- the distribution server may further include:
- the third acquisition module 807 is configured to obtain the terminal capability information of the client before the selection module 804 selects the content fragment.
- the selection module 804 is specifically configured to compare the data transmission rate with the required code rate.
- the size of the data rate is less than or equal to the content rate of the data transmission rate when the data transmission rate is less than the required code rate; when the data transmission rate is greater than or equal to the required code rate, the selected code rate is greater than Or a content rate equal to the required code rate, less than or equal to the data transmission rate, and less than or equal to the highest code rate supported by the client provided by the terminal capability information;
- the distribution server may further include:
- the fourth obtaining block 808 is configured to obtain the user level information and the terminal capability information of the client before the selecting module 804 selects the content fragment.
- the selecting module 804 is specifically configured to compare the data transmission rate and the The size of the required code rate; when the data transmission rate is less than the required code rate, selecting a content slice whose code rate is less than or equal to the data transmission rate; when the data transmission rate is large At or equal to the required code rate, the selected code rate is greater than or equal to the required code rate, less than or equal to the data transmission rate, and less than or equal to the user level information and the terminal capability information provided by the client. Content fragmentation with the highest bit rate.
- the distribution server when the content fragmentation request information received by the receiving module 801 includes the required code rate, the distribution server further includes:
- the update module 809 is configured to compare the required code rate with a code rate that can be supported by the client of the local information record before the selection module 804 selects the content slice, if the requested code rate is greater than the local information record of the client
- the code rate that can be supported by the terminal is updated to the information of the required code rate.
- the selecting module 804 is specifically configured to select the data rate that is less than or equal to the data transmission rate and less than or equal to the current local information record.
- the client is capable of supporting the rate of content fragmentation.
- the sending module 805 may be configured to send the content fragment to the client by using a transmission method of the HTTP block.
- the distribution server predicts the data transmission rate of the wireless network at the next moment according to the historical transmission data of the wireless network, and determines the network bandwidth status as a whole, thereby selecting the client to match the data transmission rate.
- the content fragmentation and code rate adjustment can better solve the problem of network congestion;
- the distribution server when the network is congested, the distribution server generally determines the network bandwidth status, and the client does not perform the code rate selection. Therefore, the distribution server can adjust the bandwidth of the cell macroscopically, and is stable. Slow down the network congestion and solve the problem of network congestion.
- the client detects the bandwidth according to the occupancy of the buffer, selects the code rate, and requests the server to perform the rate adjustment. The server sends the request and then sends the request. The content rate of the corresponding code rate is adjusted by the code rate, and the period of the entire adjustment code rate is too long.
- the server adjusts according to the code rate required by the client, the network bandwidth status at the moment may have changed, very real time, and
- the method provided by the embodiment after predicting the data transmission rate of the wireless network by the distribution server, immediately adapts the content rate suitable for the code rate to the client according to the code rate required by the client, and achieves a more real-time rate rate adaptation effect.
- the speed of the rate adjustment of the embodiment of the present invention keeps up with the network bandwidth.
- the distribution server also refers to user level information and terminal capability information, etc. Rate selection, when the bandwidth resource is good, the client can provide higher bit rate content fragmentation within the client capability range, thereby improving the user experience;
- the HTTP reques t/respons e mode used by HTTP streaming media can only send one request to reply to a content fragment, which is inefficient for a large number of content fragments in HTTP streaming media.
- the content fragment is sent to the client by using the HTTP block in the embodiment of the present invention, the client only needs to request once, and the distribution server sequentially sends each content fragment to the client in an HTTP block manner, which improves.
- the transmission efficiency of multimedia files Example eight
- the embodiment of the present invention provides a method for processing a streaming media, which can be executed on a client that requests streaming media content from a distribution server.
- the method process includes:
- 1 301 Send content fragmentation request information to a distribution server
- the content fragmentation request information may include the required code rate or may not include the required code rate.
- the content fragment After receiving the content fragmentation request information sent by the client, the content fragment obtains the resource information of the wireless network where the client is located, and predicts the data transmission rate of the wireless network according to the resource information. The selected content fragment that matches the data transmission rate.
- any one of the following implementation manners may be included:
- sending user level information to the distribution server correspondingly, the received content slice is selected by the distribution server to have a code rate less than or equal to a data transmission rate of the wireless network, and less than or equal to the user level information.
- the terminal capability information is sent to the distribution server.
- the received content slice is selected by the distribution server to have a code rate less than or equal to a data transmission rate of the wireless network, and is less than or equal to the terminal capability.
- the content slice selected by the distribution server is less than or equal to the data transmission rate of the wireless network, and is less than or equal to the highest code that the client can support provided by the user level information and the terminal capability information.
- the content of the content is fragmented.
- the received content fragment is the data transmission rate of the wireless network and the required code by the distribution server.
- the size of the rate when the data transmission rate is less than the required code rate, the selected code rate is less than or equal to the content fragment of the data transmission rate, or, when the data transmission rate is greater than or equal to the required code rate, The selected code rate is equal to the content slice of the required code rate.
- any one of the following embodiments may be further included.
- sending user level information to the distribution server correspondingly, the received content fragment is the data transmission rate of the distribution server by comparing the data transmission rate of the wireless network with the required code rate.
- the code rate is less than the required code rate
- the selected code rate is less than or equal to the content fragment of the data transmission rate, or when the data transmission rate is greater than or equal to the required code rate, the selected code rate is greater than or equal to the requirement.
- the terminal capability information is sent to the distribution server; correspondingly, the received content fragment is obtained by the distribution server by comparing the data transmission rate of the wireless network with the required code rate.
- the selected code rate is less than or equal to the content fragment of the data transmission rate, or when the data transmission rate is greater than or equal to the required code rate, the selected code rate is greater than or equal to the a required code rate, less than or equal to the data transmission rate, and less than or equal to the content fragment of the highest code rate that the client can support provided by the terminal capability information;
- the user level information and the terminal capability information are sent to the distribution server; correspondingly, the received content fragment is a size of the data transmission rate and the required code rate of the wireless network by the distribution server.
- the selected code rate is less than or equal to the content fragment of the data transmission rate, or, when the data transmission rate is greater than or equal to the required code rate, the selected code rate a code rate greater than or equal to the requirement, less than or equal to The data transmission rate, and less than or equal to the user level information and the terminal capability information provided by the client, the highest code rate that the client can support.
- the method provided by the embodiment of the present invention sends the content fragmentation request information to the distribution server through the client, and the distribution server selects the content fragment adapted to the data transmission rate of the wireless network for the client, so that the content sent to the client is
- the code rate of the slice is more consistent with the network environment; if the client also sends user information such as user level information or terminal capability information to the server, the distribution server can select a more suitable code rate in combination with the user information, when the code rate requested by the client When the bandwidth is good and the bandwidth is good, the distribution server can provide the client with content fragmentation with higher code rate than the client, and less than or equal to the maximum bit rate that the client can support, improving the user experience. .
- an embodiment of the present invention provides a client, which can implement a client side method in the foregoing method embodiment, where the client includes:
- the first sending module 1401 is configured to send the content fragmentation request information to the distribution server
- the receiving module 1402 is configured to receive the content fragment sent by the distribution server after the first sending module 1401 sends the content fragmentation request information to the distribution server.
- the content fragment is obtained by the distribution server after receiving the content fragmentation request information sent by the client, by acquiring resource information of the wireless network where the client is located, and predicting the data of the wireless network according to the resource information.
- the transmission rate, and the content slice selected to match the data transmission rate.
- the client may optionally include any one of the following modules:
- the second sending module 1403 is configured to send user level information to the distribution server before the receiving module 1402 receives the content fragment sent by the distribution server. Accordingly, the content fragment received by the receiving module 1402 is the The content rate selected by the distribution server is less than or equal to the data transmission rate of the wireless network, and is less than or equal to the content fragment of the highest code rate that the client can support by the user level information;
- the third sending module 1404 is configured to send the terminal capability information to the distribution server before the receiving module 1402 receives the content fragment sent by the distribution server; and correspondingly, the content fragment received by the receiving module 1402.
- the code rate selected for the distribution server is less than or equal to the data transmission rate of the wireless network, and is less than or equal to the client capable of providing the terminal capability information. Content fragmentation of the highest code rate;
- the fourth sending module 1405 is configured to send user level information and terminal capability information to the distribution server before the receiving module 1402 receives the content fragment sent by the distribution server; correspondingly, the receiving module 1402 receives
- the content fragment is a content fragment selected by the distribution server that has a code rate less than or equal to a data transmission rate of the wireless network, and is less than or equal to the highest bit rate that the client can support by the user level information and the terminal capability information.
- the content fragment received by the receiving module 1402 is obtained by the distribution server by comparing the data transmission rate of the wireless network with the required code.
- the size of the rate when the data transmission rate is less than the required code rate, the selected code rate is less than or equal to the content fragment of the data transmission rate, or, when the data transmission rate is greater than or equal to the required code rate, The selected code rate is equal to the content slice of the required code rate.
- the client may further include any one of the following modules:
- the second sending module 1403 is configured to send user level information to the distribution server before the receiving module 1402 receives the content fragment sent by the distribution server. Accordingly, the content fragment received by the receiving module 1402 is the The distribution server compares the data transmission rate of the wireless network with the required code rate, and when the data transmission rate is less than the required code rate, the selected code rate is less than or equal to the content fragmentation of the data transmission rate, or And when the data transmission rate is greater than or equal to the required code rate, the selected code rate is greater than or equal to the required code rate, less than or equal to the data transmission rate, and less than or equal to the client level information provided by the client. Content fragmentation of the highest code rate that can be supported;
- the third sending module 1404 is configured to send the terminal capability information to the distribution server before the receiving module 1402 receives the content fragment sent by the distribution server; and correspondingly, the content fragment received by the receiving module 1402.
- the selected content rate is less than or equal to the content of the data transmission rate.
- the selected code rate is greater than or equal to the required code rate, less than or equal to the data transmission rate, and less than or equal to the terminal capability information provided by the terminal.
- a fourth sending module 1405, configured to receive the distribution at the receiving module 1402 Before the content sent by the server is fragmented, the user level information and the terminal capability information are sent to the distribution server; correspondingly, the content fragment received by the receiving module 1402 is the distribution server comparing the data transmission rate of the wireless network with the requirement a size of the code rate, when the data transmission rate is less than the required code rate, the selected code rate is less than or equal to the content fragment of the data transmission rate, or when the data transmission rate is greater than or equal to the required code rate And selecting a code rate that is greater than or equal to the required code rate, less than or equal to the data transmission rate, and less than or equal to the content level information provided by the client and the highest code rate that the client can support.
- the client provided by the embodiment of the present invention sends the content fragmentation request information to the distribution server, and the distribution server selects the content fragment adapted to the data transmission rate of the wireless network for the client, so that the content sent to the client is divided.
- the code rate of the slice is more consistent with the network environment; if the client also sends user information such as user level information or terminal capability information to the server, the distribution server can select a more suitable code rate in combination with the user information, when the code rate required by the client is higher.
- the distribution server can provide the client with content fragmentation with a higher code rate than the client, and less than or equal to the maximum bit rate that the client can support, thereby improving the user experience.
- an embodiment of the present invention provides a system for streaming media, where the system includes: a distribution server 1801 and a client 1802;
- the distribution server 1801 is the distribution server provided in Embodiment 7 above;
- the client 1802 is the client provided in the above embodiment 9.
- the system provided by the embodiment of the present invention predicts the data transmission rate of the wireless network where the client is located by the distribution server, and further selects a content fragment suitable for the client to match the data transmission rate, because the predicted wireless network data
- the transmission rate is more accurate, and the bandwidth of the cell is adjusted macroscopically, which can stably alleviate network congestion and solve the problem of network congestion.
- the distribution server predicts the data transmission rate at the next moment and immediately goes to the client. Adapting the content fragment with the appropriate bit rate, the code rate adaptation can be performed more quickly. It should be noted that, when the distribution server and the client provided by the foregoing embodiment are used to transmit the streaming media file, only the division of the foregoing functional modules is illustrated.
- the foregoing functions may be assigned different functions according to requirements. Module completed, will be distributed within the server and client The structure is divided into different functional modules to perform all or part of the functions described above.
- the distribution server and the client and the method for processing the streaming media provided by the foregoing embodiments are in the same concept. For the specific implementation process, refer to the method embodiment, and details are not described herein again.
- All or part of the steps in the embodiment of the present invention may be implemented by hardware, or may be instructed by a related program to complete the hardware, and the program may be stored in a readable storage medium, such as a optical disk or a hard disk.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例公开了一种流媒体的处理方法、分发服务器、客户端及系统,其中,所述方法包括:接收客户端发送的内容分片请求信息;获取所述客户端所在无线网络的资源信息;根据所述资源信息预测所述无线网络的数据传输速率;选择与所述数据传输速率相适配的内容分片;向所述客户端发送所述内容分片。本发明实施例通过由分发服务器预测客户端所在无线网络的数据传输速率,进而为客户端选择码率与该数据传输速率相适配的内容分片,使发送给客户端的内容分片的码率更加合适,实现从总体上对小区无线网络的带宽状况进行调节,能稳定的减緩网络拥塞,解决网络拥塞的问题。
Description
流媒体的处理方法、 分发服务器、 客户端及系统 本申请要求于 2011年 5月 25日提交的, 申请号为 201110137167.9,发明 名称为 "流媒体的处理方法、 分发服务器、 客户端及系统" 的中国申请的优 先权, 其全部内容通过引用结合在本申请中。 技术领域
本发明涉及通信领域, 特别涉及一种流媒体的处理方法、 分发服务器、客 户端及系统。
背景技术
流媒体技术是指在互联网上以数据流的方式实时发布音频、 视频等多媒 体内容的技术。 它是由服务器将整个多媒体文件压缩编码成多个压缩包, 向 客户端实时地顺序传送, 客户端可以一边解压播放已经传送过来的压缩包, 一边下载后续的压缩包, 从而节省了时间。 目前服务器端可以把一个多媒体 文件制作成不同版本的、 具有不同码率的内容分片供客户端根据实际情况进 行选择。 例如, 当网络环境是低带宽时, 可以选择低码率的视频流; 当网络 环境为高带宽时, 可以选择高码率的视频流; 而当网络环境是可变带宽时, 可以选择可变码率的视频流。 由于在无线网络中, 空口资源不断变化, 为了 达到更合理的空口资源利用率以及更好的用户体验, 流媒体的码率要随着空 口资源的变化进行码率适配。
针对无线网络码率适配的问题,在 3GPP( The 3rd Generat ion Par tnership Projec t , 第三代合作伙伴计划) 的自适应 HTTP ( Hyper Text Transfer Protoco l , 超文本传输协议)流媒体协议 Adapt ive HTTP S treaming中, HTTP 流媒体的处理方法为, 客户端每请求一个内容分片之前, 客户端需要进行带 宽检测, 比如根据自己 buffer (緩存) 的占用情况进行带宽检测, buffer占 用的越多, 说明带宽状况越好, 可用带宽越多, 再根据可用带宽选择合适的 码率并向服务器发送请求。 同时, HTTP 流媒体采用 的是 HTTP reques t/response (请求 /应答)模式, 即需要针对每个请求回复一个内容分 片。
然而, 客户端单凭自己 buffer的状况判断网络带宽非常片面, 而且不实
时, 例如在小区网络已经拥塞而客户端自己的 buf f er满时, 客户端会认为此 时网络带宽充足从而申请更高码率文件, 这样会加剧拥塞。 发明内容
提供了一种流媒体的处理方法、 分发服务器、 客户端及系统。
一方面, 提供了一种流媒体的处理方法, 所述方法包括:
接收客户端发送的内容分片请求信息;
获取所述客户端所在无线网络的资源信息;
根据所述资源信息预测所述无线网络的数据传输速率;
选择与所述数据传输速率相适配的内容分片;
向所述客户端发送所述内容分片。
另一方面, 提供了一种流媒体的分发服务器, 所述分发服务器包括: 接收模块, 用于接收客户端发送的内容分片请求信息;
第一获取模块, 用于在所述接收模块接收客户端发送的内容分片请求信 息后, 获取所述客户端所在无线网络的资源信息;
预测模块, 用于根据所述第一获取模块获取的资源信息预测所述无线网 络的数据传输速率;
选择模块, 用于选择与所述预测模块预测的数据传输速率相适配的内容 分片;
发送模块, 用于向所述客户端发送所述选择模块选择的内容分片。
另一方面, 还提供了一种流媒体的处理方法, 所述方法包括:
向分发服务器发送内容分片请求信息;
接收所述分发服务器发送的内容分片, 其中, 所述内容分片为所述分发 服务器接收到客户端发送的所述内容分片请求信息后, 通过获取所述客户端 所在无线网络的资源信息, 并才艮据所述资源信息预测所述无线网络的数据传 输速率, 而选择的与所述数据传输速率相适配的内容分片。
再一方面, 提供了一种客户端, 所述客户端包括:
第一发送模块, 用于向分发服务器发送内容分片请求信息;
接收模块, 用于在所述第一发送模块向分发服务器发送内容分片请求信 息之后, 接收所述分发服务器发送的内容分片, 其中, 所述内容分片为所述 分发服务器接收到所述客户端发送的所述内容分片请求信息后, 通过获取所
述客户端所在无线网络的资源信息, 并根据所述资源信息预测所述无线网络 的数据传输速率, 而选择的与所述数据传输速率相适配的内容分片。
再一方面, 提供了一种流媒体的系统, 所述系统包括: 分发服务器和客 户端;
所述分发服务器如上所述的分发服务器;
所述客户端如上所述的客户端。
本发明各方案, 通过由分发服务器获取客户端所在无线网络的资源信息, 根据该资源信息预测该无线网络的数据传输速率, 进而为客户端选择与该数 据传输速率相适配的内容分片, 使发送给客户端的内容分片的码率更加合适, 实现从总体上对小区无线网络的带宽状况进行调节, 能稳定的减緩网络拥塞, 解决网络拥塞的问题。 附图说明
为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例描述中 所需要使用的附图作筒单地介绍, 显而易见地, 下面描述中的附图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的 前提下, 还可以根据这些附图获得其他的附图。
图 1是本发明实施例一提供的流媒体的处理方法流程图;
图 2是本发明实施例二至实施例十提供的系统架构示意图;
图 3是本发明实施例二提供的流媒体的处理方法流程图;
图 4是本发明实施例三提供的流媒体的处理方法流程图;
图 5是本发明实施例四提供的流媒体的处理方法流程图;
图 6是本发明实施例五提供的流媒体的处理方法流程图;
图 7是本发明实施例六提供的流媒体的处理方法流程图;
图 8是本发明实施例七提供的第一种分发服务器结构示意图;
图 9是本发明实施例七提供的第二种分发服务器结构示意图;
图 1 0是本发明实施例七提供的第三种分发服务器结构示意图;
图 1 1是本发明实施例七提供的第四种分发服务器结构示意图;
图 12是本发明实施例七提供的第五种分发服务器结构示意图;
图 1 3是本发明实施例八提供的流媒体的处理方法流程图;
图 14是本发明实施例九提供的第一种客户端结构示意图;
图 15是本发明实施例九提供的第二种客户端结构示意图;
图 16是本发明实施例九提供的第三种客户端结构示意图;
图 17是本发明实施例九提供的第四种客户端结构示意图;
图 18是本发明实施例十提供的流媒体的系统结构示意图。 具体实施方式
为使本发明的目的、 技术方案和优点更加清楚, 下面将结合附图对本发 明实施方式作进一步地详细描述。
本发明实施例提供的流媒体的处理方法可适用于基于 HTTP 的流媒体传 输, 如: 3GPP的自适应 HTTP流媒体传输( Adapt ive HTTP S treaming )、 微软 公司 I l S Clnternet Informa t ion Serv ices , 互联网信息月良务) 的平滑流媒体 传输(Smooth Streaming ), 苹果公司的实时 HTTP 流媒体传输(HTTP Live Streaming )、 奥多比 (Adobe )公司的 HTTP动态流媒体传输(HTTP Dynamic Streaming ) 以及 RTMP ( Rea l-Time Mes saging Protocol , 实时消息协议)等 流媒体传输技术。 该方法还可适用于类似于 HTTP的流媒体传输技术。 本发明 实施例仅以在 3GPP的 Adapt ive HTTP St reaming系统架构下应用该方法为例 进行说明, 但不限定于此。
实施例一
本发明实施例提供了一种流媒体的处理方法, 该方法可以在流媒体的分 发服务器上执行, 该流媒体的分发服务器可以位于在无线网络的 RNC ( Radio Network Control l er , 无线网络控制器)或 eNB ( evolved Node B, 演进型基 站) 中,参见图 1 , 该方法包括:
101: 接收客户端发送的内容分片请求信息 ( Segment Reques t );
102: 获取该客户端所在无线网络的资源信息;
其中, 该资源信息可以为信号质量参数信息或历数传输速率。 具体地, 信号质量参数信息可以为该无线网络的带宽、 功率、 增益、 信噪比等信息, 历史传输速率指当前时刻之前时间该无线网络的数据传输速率。
103: 根据该资源信息预测该无线网络的数据传输速率;
其中, 预测到的该无线网络的数据传输速率具体可以为: 客户端下一时 刻在该无线网络中的数据传输速率。
可选地, 当该资源信息为信号质量参数信息时, 预测的方法可以包括: 根据该信号质量参数信息判断该无线网络是否拥塞, 如果拥塞, 则判断该无 线网络中流媒体业务的流量与全部业务的流量的比例是否大于第一预设门 限, 如果是, 则预测该无线网络在下一时刻的数据传输速率降低; 如果不拥 塞, 则判断分发服务器发送队列中的数据占緩存区大小的比例是否小于第二 预设门限, 如果是, 则预测该无线网络在下一时刻的数据传输速率升高。 或, 当该资源信息为历史传输速率时, 预测的方法可以包括: 根据该历史传 输速率, 采用线性最小方差的预测方法预测该无线网络在下一时刻的数据传 输速率。
本发明实施例还可以采用其他方法来预测该无线网络的数据传输速率, 并不限于上述实现方法。
1 04: 选择与该数据传输速率相适配的内容分片;
具体地, 可以根据上一步预测出来的数据传输速率, 在发送下一个内容 分片时, 选择一个码率与该数据传输速率相适配的内容分片。
例如, 采用上述第一种预测方法预测出该无线网络在下一时刻的数据传 输速率降低时, 可以选择比发送的前一个内容分片的码率低一个级别的内容 分片; 预测出该无线网络在下一时刻的数据传输速率升高时, 可以选择比发 送的前一个内容分片的码率高一个级别的内容分片。
又例如, 采用上述第二种预测方法预测出该无线网络在下一时刻的数据 传输速率后, 可以选择码率小于或等于该数据传输速率的内容分片。
1 05 : 向该客户端发送该内容分片。
其中, 在向客户端发送内容分片时, 可以采用 HTTP流(HTTP S t reaming ) 的传输方式, 即 HTTP reques t /response模式。 当然, 为了提高多媒体文件 的传输效率, 还可以采用 HTTP块(HTTP Chunk ) 的传输方式向客户端发送内 容分片。
本发明实施例提供的方法, 通过由分发服务器获取客户端所在无线网络 的资源信息, 根据该资源信息预测该无线网络的数据传输速率, 进而为客户 端选择与该数据传输速率相适配的内容分片, 使发送给客户端的内容分片的 码率更加合适, 实现从总体上对小区无线网络的带宽状况进行调节, 能稳定 的减緩网络拥塞, 解决网络拥塞的问题。
参见图 2 , 为 3GPP的 Adapt ive HTTP Streaming系统架构, 是一种基于 分发服务器( HTTP Cache )的 HTTP流媒体架构。首先, 内容准备模块( Content 式 (如 3GP 格式), 形成内容分片, 然后生成内容分片的 MPD ( Media Presentat ion Descr ipt ion,媒体呈现描述 ) ,并将内容分片和 MPD推送给 HTTP 流媒体服务器(HTTP St reaming Server ), 其中, MPD是对内容分片的描述信 息, 主要包括对各内容分片、 请求构造、 多码率等信息的描述; 其次, HTTP 流媒体服务器存储接收到的内容分片和 MPD, 并响应分发服务器的请求, 将内 容分片和 MPD注入分发服务器, 同时, HTTP流媒体服务器还接收来自内容准 备模块的内容更新;分发服务器接收来自 HTTP流媒体客户端( HTTP S treaming Cl ient ) 的 MPD请求, 当分发服务器的緩存中存在请求的 MPD时, 向该客户 端发送该 MPD; 最后, 该客户端根据自己检测到的带宽资源从收到的 MPD中选 择合适的码率, 生成内容分片请求信息 URL ( Uniform Resource Locator , 统 一资源定位符), 并向分发服务器请求内容分片。 这里的流媒体服务包括点播 和直播等。
实施例二
为了降低客户端复杂度, 可以不使客户端检测带宽资源和选择码率, 本 发明实施例提供了一种流媒体的处理方法, 该方法可以在流媒体的分发服务 器上执行, 该流媒体的分发服务器可以位于在无线网络的 RNC或 eNB中。 参 见图 3 , 方法流程包括:
301: 分发服务器根据緩存中原有的 MPD构造客户端 MPD ( Cl ient MPD ); 具体地, 构造客户端 MPD 可以包括: 去掉分发服务器緩存中原有的 MPD 中的 Representat ion (呈现)元素, 另存为客户端 MPD。 由于在客户端 MPD 中只保留了用于生成内容分片请求 URL的信息, 其他 Representa t ion元素中 的内容分片的多码率相关信息都不携带, 因此, 该客户端 MPD 的大小要比原 始 MPD小。 也就是说不再使客户端根据 MPD中的多个码率进行选择, 客户端 也就不再需要自己进行带宽检测。
302: 接收客户端发送的 MPD请求;
具体地,客户端可以通过带外方式获得 MPD的 URL, 通过该 URL向分发服
务器发送 MPD请求。
303: 判断是否存在请求的 MPD, 如果是, 则向该客户端发送相应的客户 端 MPD;
具体地, 如果分发服务器的緩存中存在客户端请求的 MPD, 则向该客户端 发送步骤 301中构造的与客户端请求的 MPD相对应的客户端 MPD,而不是发送 原始的 MPD。 由于该客户端 MPD的大小要比原始 MPD小, 因此发送的速度相对 要快一些。
304: 接收客户端发送的内容分片请求信息, 该内容分片请求信息中不包 括要求的码率;
具体地, 由于客户端 MPD中不携带 Representa t ion元素中的相关信息, 客户端根据该客户端 MPD生成的内容分片请求信息中也就不携带要求的码率 信息, 因此, 客户端也就不需要再进行自己 buffer占用情况的检测。
305 : 获取该客户端所在无线网络的资源信息;
其中, 该资源信息可以为历数传输速率, 具体是指当前时刻之前时间该 无线网络的数据传输速率。
306 : 根据该资源信息预测该无线网络的数据传输速率;
其中, 预测到的该无线网络的数据传输速率具体可以为: 客户端下一时 刻在该无线网络中的数据传输速率。
具体地, 根据该历史传输速率, 采用线性最小方差的预测方法预测该无 线网络在下一时刻的数据传输速率。 本发明实施例不限于采用线性最小方差 的预测方式, 还可以采用其他预测方式。
例如, 每隔 I s记录一次数据传输速率, 读取到之前记录的历史传输速率 为: 962、 914、 884、 81 3、 758、 990、 1036、 702、 935、 1049、 101 3、 946、 933、 734、 1 004、 980、 946、 967、 871、 838、 928、 885、 883、 694、 881、 949、 931、 937、 840、 1 1 35、 1 033、 940、 1 179 (单位为 kbps )。 利用差分运 算, 发现历史传输速率基本符合扁 A (Auto Regres s i on Mov ing Average , 自 回归滑动平均)模型。 根据 ARMA模型的自相关和偏相关分析法, 利用 MATLAB ( Ma t r ix Labora tory, 矩阵实验室)程序,确定 ARMA模型的阶数 ARMA (p, q) , 预测到下一时刻数据传输速率为: 918kbps。
实际应用中, 可以在无线网络的 RNC或 eNB中实现分发服务器功能, 利
用 RNC或 eNB能最直接最快速的推算出网络的数据传输速率。
307: 获取该客户端的用户信息;
其中, 该用户信息包括用户等级信息和 /或终端能力信息。 用户等级信息 为用户在签约时获得的等级, 例如金牌用户、 4艮牌用户、 铜牌用户等, 用户 等级信息限定了用户可用的带宽资源。 终端能力信息是由客户端上报的, 终 端能力信息中包含用户所在的客户端终端以及浏览器的相关信息, 例如屏幕 分辨率、 终端系统平台、 终端型号、 终端 IMEI (International Mobile Equipment Identity,国际移动设备身份码)、终端配置 Prof i le、 CPU( Central Processing Unit, 中央处理器)和内存等信息。 用户信息中还可以包括用户 选择信息等其它有用的信息, 用于选择内容分片的语言、 字幕等。
具体地, 本发明实施例不对客户端上报终端能力信息的方式进行具体限 定, 既可以通过 HTTP协议携带终端能力信息,也可以通过 UE Capability (能 力)携带终端能力信息, 还可以采用其他方式。 当通过 HTTP协议携带时, 可 以在向分发服务器发送的 HTTP请求的头域中携带, 如:
GET ######### HTTP/1.1
Accept: */ *
Accept-Language: en-us
Connect ion: Keep-Al ive
Host: #########
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobi le 8.12; MSIEMobile 6.0)
UA-pixels: 240x320
UA-color: colorl6
UA- OS: Windows CE (Pocket PC) -Version 5.2
UA-CPU: x86
Accept-Encoding: gzip, deflate
UA- Voice: TRUE
当通过 UE Capability携带终端能力信息时, 可以通过客户端与基站或 基站控制器之间的信令消息传递。 如在 Attach Request (附着请求消息) 中 携带 UE Capability, 或者在 TAU Request (跟踪区更新请求消息 ) 中携带 UE
Capabi l i ty, 但不局限于此处举例的两种请求消息。
308: 根据获取的用户信息, 选择与该数据传输速率相适配的内容分片; 可选地, 当获取的用户信息为用户等级信息时, 选择码率小于或等于该 数据传输速率, 且小于或等于该用户等级信息提供的该客户端能支持的最高 码率的内容分片;
当获取的用户信息为终端能力信息时, 选择码率小于或等于该数据传输 速率, 且小于或等于该终端能力信息提供的该客户端能支持的最高码率的内 容分片;
当获取的用户信息为用户等级信息和终端能力信息时, 选择码率小于或 等于该数据传输速率, 且小于或等于该用户等级信息和终端能力信息提供的 该客户端能支持的最高码率的内容分片。
例如, 分发服务器预测到客户端下一时刻在该无线网络中的数据传输速 率可达 1130kbps , 但是用户信息中说明客户端不能支持高于 845kbps的码率 文件的播放, 此时也只能回复给客户端最高 845kbps的内容分片。
309: 向该客户端发送该内容分片。
其中, 在向客户端发送内容分片时, 可以采用 HTTP流(HTTP St reaming ) 的传输方式, 即 HTTP reques t/response模式, 只能针对一个内容分片请求 回复一个内容分片, 客户端在观看一整个多媒体文件时, 需要依次发送多个 内容分片请求信息来完成观看。
可选地, 为了提高多媒体文件的传输效率, 在向客户端发送内容分片时, 还可以采用 HTTP块(HTTP Chunk ) 的传输方式向客户端发送内容分片。 当采 用 HTTP块方式时, 客户端只需要请求一次, 分发服务器就会依次将每一个内 容分片用 HTTP块方式向客户端发送。 其中, 可以在 HTTP response的消息头 部设置进行 Chunked编码传输, 如下:
Transfer-Encoding: Chunked
需要说明的是, 获取用户信息的步骤 307 只要保证在选择相适配的内容 分片之前执行即可, 即步骤 307可以在执行步骤 308之前的任意时刻执行, 本发明实施例仅以上述顺序为例进行说明, 但不限定于此。
本发明实施例提供的方法, 通过由分发服务器获取客户端所在无线网络 的资源信息, 根据该资源信息预测该无线网络的数据传输速率, 进而为客户
端选择与该数据传输速率相适配的内容分片 , 可以达到下述有益效果: 首先, 分发服务器根据无线网络的历史传输数据预测下一时刻该无线网 络的数据传输速率, 是从总体上对网络带宽状况进行判断, 以此为依据为客 户端选择与该数据传输速率相适配的内容分片、 进行码率调节能较好的解决 网络拥塞的问题;
其次, 在多用户小区中, 当网络拥塞时, 通过分发服务器总体上对网络 带宽状况进行判断, 而客户端不进行码率选择, 因此分发服务器可以从宏观 上对小区的带宽进行调节, 稳定的减緩网络拥塞, 解决网络拥塞的问题; 再次, 由分发服务器预测该无线网络的数据传输速率后, 即刻向客户端 适配码率合适的内容分片, 达到更实时的进行码率适配的效果, 减少了现有 技术中由客户端根据进行检测带宽、 选择码率、 并请求服务器进行码率调整 的时间, 使本发明实施例进行码率调整的速度跟得上网络带宽的变化速度; 再次, 如果分发服务器同时还参考用户信息进行码率选择, 当带宽资源 较好时, 可以在客户端能力范围内为客户端提供较高码率的内容分片, 提升 用户体马 ;
最后, 本实施例提供的方法中由分发服务器构造并使用客户端 MPD , 那么 客户端发送的内容分片请求信息中就不包括要求的码率, 也就是说客户端不 再需要进行带宽检测, 降低了客户端复杂度;
另外, HTTP流媒体采用的 HTTP r eques t / respons e模式只能发送一个请 求回复一个内容分片, 对 HTTP流媒体中数目庞大的内容分片来说效率较低。 当采用本发明实施例中的 HTTP块的方式向客户端发送内容分片时, 客户端只 需要请求一次, 分发服务器就会依次将每一个内容分片用 HTTP块方式向客户 端发送, 提高了多媒体文件的传输效率。 实施例三
针对分发服务器后续处理客户端的内容分片请求时, 本发明实施例提供 了一种流媒体的处理方法, 该方法可以在流媒体的分发服务器上执行, 该流 媒体的分发服务器可以位于在无线网络的 RNC或 eNB中。 参见图 4 , 方法流程 包括:
401: 接收客户端发送的内容分片请求信息, 该内容分片请求信息中包括
要求的码率;
具体地, 客户端根据自己 buffer的占用情况进行带宽检测后, 在内容分 片请求信息中的 Representation元素中选择要求的码率、 分辨率、 语言等信 息, 并向分发服务器发送内容分片请求信息。 假设客户端要求的码率为 BitrateL
402: 获取该客户端所在无线网络的资源信息;
403: 根据该资源信息预测该无线网络的数据传输速率;
步骤 402-403 与实施例二的步骤 305-306 的实施方式相同, 参见步骤 305-306, 此处不再赘述。
404: 选择与该数据传输速率相适配的内容分片;
具体地, 比较该数据传输速率和要求的码率的大小; 当该数据传输速率 小于要求的码率时, 选择码率小于或等于该数据传输速率的内容分片; 当该 数据传输速率大于或等于要求的码率时, 选择码率等于该要求的码率的内容 分片。
也就是说, 如果客户端请求的内容分片的码率为 Bitratel, 将该码率与 分发服务器预测出的数据传输速率 Bi trate2进行比较, 并选择码率相适配的 内容分片。 假设选择的内容分片的码率为 Bitrate3, 那么如果分发服务器判 断 Bitrate2<Bitratel, 那么 Bi trate3 Bi trate2 , 如果分发月良务器判断 Bitrate2 >Bitratel, 那么 Bi trate3=Bi tratel。
例如, MPD 中携带的媒体码率信息为: 350kbps, 470kbps, 630kbps, 845kbps, 1130kbps; 当 Bitratel=1130kbps时,根据分发服务器的带宽检测, 预测出的数据传输速率为 Bitrate2=900kbps, 那么回复内容分片的码率为 Bitrate3=845kbps0
405: 向该客户端发送该内容分片。
具体可参见实施例二的步骤 309的实施方式, 此处不再赘述。
本发明实施例提供的方法, 通过由分发服务器获取客户端所在无线网络 的资源信息, 根据该资源信息预测该无线网络的数据传输速率, 然后参考客 户端要求的码率, 为客户端选择与该数据传输速率相适配的内容分片, 可以 达到下述有益效果:
首先, 分发服务器根据无线网络的历史传输数据预测下一时刻该无线网
络的数据传输速率, 是从总体上对网络带宽状况进行判断, 以此为依据为客 户端选择与该数据传输速率相适配的内容分片、 进行码率调节能较好的解决 网络拥塞的问题;
其次, 在多用户小区中, 当网络拥塞时, 通过分发服务器总体上对网络 带宽状况进行判断, 如果客户端要求的码率高、 而分发服务器预测到的数据 传输速率不足, 则向客户端发送码率较低的内容分片, 此时如果节省出来的 带宽仍不充足, 那么其它客户端要求的高码率内容分片请求也会根据情况对 其下发较低码率的响应, 因此分发服务器可以从宏观上对小区的带宽进行调 节, 稳定的减緩网络拥塞, 解决网络拥塞的问题;
再次, 现有技术中由客户端根据自己 buf f er的占用情况去检测带宽、 选 择码率、 并请求服务器进行码率调整, 服务器收到请求后再下发相应码率的 内容分片进行码率调整, 整个调整码率的周期过长, 当服务器按照客户端要 求的码率进行调整时, 此刻的网络带宽状况可能已经变了, 非常不实时, 而 本实施例提供的方法由分发服务器预测该无线网络的数据传输速率后, 即刻 参考客户端要求的码率向客户端适配码率合适的内容分片, 达到更实时的进 行码率适配的效果, 使本发明实施例进行码率调整的速度跟得上网络带宽的 变化速度;
另外, HTTP流媒体采用的 HTTP r eques t / respons e模式只能发送一个请 求回复一个内容分片, 对 HTTP流媒体中数目庞大的内容分片来说效率较低。 当采用本发明实施例中的 HTTP块的方式向客户端发送内容分片时, 客户端只 需要请求一次, 分发服务器就会依次将每一个内容分片用 HTTP块方式向客户 端发送, 提高了多媒体文件的传输效率。 实施例四
本发明实施例还提供了一种流媒体的处理方法, 该方法可以在流媒体的 分发服务器上执行,该流媒体的分发服务器可以位于在无线网络的 RNC或 eNB 中。 参见图 5 , 其中步骤 501-503分别与实施例三中步骤 401-403大致相同, 在此不再赘述; 本实施例与实施例三的主要区别在于, 还包括:
504: 获取该客户端的用户信息;
具体可参见实施例二的步骤 307的实施方式, 此处不再赘述。
505: 根据获取的用户信息, 选择与该数据传输速率相适配的内容分片; 具体地, 比较该数据传输速率和要求的码率的大小; 当该数据传输速率 小于要求的码率时, 选择码率小于或等于该数据传输速率的内容分片; 当该 数据传输速率大于或等于要求的码率时, 可以按以下方式选取:
一种是, 当获取的用户信息为用户等级信息时, 选择码率大于或等于该 要求的码率、 小于或等于该数据传输速率、 且小于或等于该用户等级信息提 供的该客户端能支持的最高码率的内容分片;
当获取的用户信息为终端能力信息时, 选择码率大于或等于该要求的码 率、 小于或等于该数据传输速率、 且小于或等于该终端能力信息提供的该客 户端能支持的最高码率的内容分片;
当获取的用户信息为用户等级信息和终端能力信息时, 选择码率大于或 等于该要求的码率、 小于或等于该数据传输速率、 且小于或等于该用户等级 信息和终端能力信息提供的该客户端能支持的最高码率的内容分片。
也就是说, 如果客户端请求的内容分片的码率为 Bitratel, 将该码率与 分发服务器预测出的数据传输速率 Bi trate2进行比较, 并选择码率相适配的 内容分片。 假设选择的内容分片的码率为 Bitrate3, 那么如果分发服务器判 断 Bitrate2<Bitratel, 那么 Bi trate3 Bi trate2; 如果分发月良务器判断 Bitrate2 >Bitratel, Bitratel < Bitrate3 < Bitrate4, Bitrate4 为用户信 息提供的客户端能支持的最高码率。
例如, MPD 中携带的媒体码率信息为: 350kbps, 470kbps, 630kbps, 845kbps, 1130kbps; 当 Bitratel=1130kbps时,根据分发服务器的带宽检测, 预测出的数据传输速率为 Bitrate2=900kbps, 认为没有足够的资源, 那么回 复内容分片的码率为 Bitrate3=845kbps; 当 Bi tratel=630kbps时, 根据分发 服务器的带宽检测, 预测出的数据传输速率为 Bitrate2=1130kbps, 认为有足 够的资源, 但是用户信息中说明客户端不能支持高于 845kbps 的码率文件的 播放, 此时也只能回复给客户端最高 845kbps的内容分片。
506: 向该客户端发送该内容分片。
具体可参见实施例二的步骤 309的实施方式, 此处不再赘述。
需要说明的是, 获取用户信息的步骤 504 只要保证在选择码率相适配的 内容分片之前执行即可, 即步骤 504可以在执行步骤 505之前的任意时刻执
行, 本发明实施例仅以上述顺序为例进行说明, 但不限定于此。
本发明实施例提供的方法, 通过由分发服务器获取客户端所在无线网络 的资源信息, 根据该资源信息预测该无线网络的数据传输速率, 然后参考客 户端要求的码率和用户信息, 为客户端选择与该数据传输速率相适配的内容 分片, 不仅能够达到实施例三中的全部有益效果, 相对于实施例三还进一步 包括下述有益效果:
如果分发服务器同时还参考用户信息进行码率选择, 当客户端要求的码 率较低、 带宽资源较好时, 可以为客户端提供码率比客户端要求的码率高、 同时又在客户端能力范围内的内容分片, 可以使选择的码率更加准确、 合适, 提升用户体验。 实施例五
本发明实施例又提供了一种流媒体的处理方法, 该方法可以在流媒体的 分发服务器上执行,该流媒体的分发服务器可以位于在无线网络的 RNC或 eNB 中。 参见图 6 , 其中步骤 601-603分别与实施例三中步骤 401-403大致相同, 在此不再赘述; 本实施例与实施例三的主要区别在于, 还包括:
604: 将客户端发送的内容分片请求信息中要求的码率与本地信息记录的 该客户端能够支持的码率进行比较, 如果该要求的码率大于该本地信息记录 的该客户端能够支持的码率, 则将该本地信息更新为该要求的码率的信息; 其中, 本地信息可以以各种方式存储在本地, 用于记录客户端能够支持 的码率。 本发明实施例以建立一个客户端码率能力表为例进行说明, 但不限 定于此。 参见表 1 , 为新建的客户端码率能力表, 初始各项值为空:
表 1
其中,客户端标识可以为客户端 IP ( Internet Protocol , 网络互连协议) 地址,也可以为其他标识;视频流标识可以为 HTTP请求的视频 URL地址标识, 也可以为其他标识; 最大码率为当前客户端申请过的最大码率。
针对该步骤, 每次客户端发送内容分片请求信息, 分发服务器都要根据
内容分片请求信息中要求的码率判断是否需要刷新码率能力表, 当要求的码 率大于相应的最大码率时, 则刷新该码率能力表, 当要求的码率小于或等于 相应的最大码率时, 该码率能力表不变。 当客户端发送内容分片请求信息在 码率能力表中没有记录时, 直接添加新的初始记录。
例如, 在收到客户端发送第一个内容分片请求信息时, 携带的码率为
Bi trate=845000 bps , 此时, 客户端 IP地址为 192. 168. 1. 1 , 视频流标识利 用视频 URL来标识: ht tp: /www. example, com/videoname. mp4 , 刷新后的客户 端码率能力表如下:
表 2
此时, 分发服务器经过带宽检测之后, 如果认为目前带宽环境不能满足 845000 bps的数据传输速率, 可以回复 Bi trate为 630000 bps的码率分片。
表 3
605: 根据当前本地信息记录的该客户端能够支持的码率, 选择与该数据 传输速率相适配的内容分片;
具体地, 选择码率小于或等于该数据传输速率、 且小于或等于当前本地 信息记录的该客户端能够支持的码率的内容分片。
606: 向该客户端发送该内容分片。
具体可参见实施例二的步骤 309的实施方式, 此处不再赘述。
需要说明的是, 步骤 604也可以在步骤 603之前执行, 只要保证接收到 内容分片请求信息后, 根据其中要求的码率, 进行客户端最大码率能力表的 建立和更新即可, 本发明实施例不对步骤 604的具体实现位置进行限定。
本发明实施例提供的方法, 通过由分发服务器获取客户端所在无线网络 的资源信息, 根据该资源信息预测该无线网络的数据传输速率, 然后参考客 户端要求的码率和当前本地信息记录的该客户端能够支持的码率, 为客户端 选择与该数据传输速率相适配的内容分片, 不仅能够达到实施例三中的全部 有益效果, 相对于实施例三还进一步包括下述有益效果:
如果分发服务器同时还参考当前本地信息记录的该客户端能够支持的码 率进行码率选择, 当客户端要求的码率较低、 带宽资源较好时, 可以为客户 端提供码率比客户端要求的码率高、 同时又小于或等于最大码率的内容分片, 可以使选择的码率更加准确、 合适, 提升用户体验。 实施例六
本发明实施例还提供了一种流媒体的处理方法, 该方法可以在流媒体的 分发服务器上执行,该流媒体的分发服务器可以位于在无线网络的 RNC或 eNB 中。 参见图 7 , 该方法包括:
701: 接收客户端发送的内容分片请求信息;
702: 获取该客户端所在无线网络的资源信息, 该资源信息为信号质量参 数信息;
具体地, 信号质量参数信息可以为该无线网络的带宽、 功率、 增益、 信 噪比等信息。
703: 根据该信号质量参数信息预测该无线网络的数据传输速率; 其中, 预测到的该无线网络的数据传输速率具体可以为: 客户端下一时 刻在该无线网络中的数据传输速率。
具体地, 根据该信号质量参数信息判断该无线网络是否拥塞, 如果拥塞, 则判断该无线网络中流媒体业务的流量与全部业务的流量的比例是否大于第 一预设门限, 如果是, 则预测该无线网络在下一时刻的数据传输速率降低; 如果不拥塞, 则判断该分发服务器发送队列中的数据占緩存区大小的比例是 否小于第二预设门限, 如果是, 则预测该无线网络在下一时刻的数据传输速 率升高。
下面以根据该无线网络的功率预测该无线网络的数据传输速率为例进行 说明: (其中, P-non_hspa表示非 HSPA ( H i gh Speed Packet Acces s , 高速
分组接入)功率、 P-hsupa-res表示 HSUPA( High Speed Upl ink Packet Acces s , 高速上行链路分组接入)保留功率、 P-gbr_ s tr表示流业务的 GBR (Guaranteed Bi t Rate,保证比特率)功率、 P_max表示小区最大功率、 Thr_olc_ tr ig表示 过载触发门限)
假设第一预设门限为 30%, 第二预设门限为 70%, 但不限定于此, 可以根 据实际情况设置为其他值;
当 P_non_hspa + P-hsupa_ res + P_gbr _ s tr > P_max * Thr_olc_ tr ig 时, 网络拥塞, 此时如果无线网络中流媒体业务的流量与全部业务的流量的 比例大于 30%, 则预测该无线网络在下一时刻的数据传输速率降低, 需要降低 发送内容分片的码率;
当 P_non_hspa + P-hsupa_res + P_gbr_ s tr < P_max * Thr_o lc_ tr i g时, 网络不拥塞, 此时如果无线网络中分发服务器发送队列中的数据占緩存区大 小的比例小于 70%, 则预测该无线网络在下一时刻的数据传输速率升高, 需要 升高发送内容分片的码率。
704: 选择与该数据传输速率相适配的内容分片;
具体地, 当预测出该无线网络在下一时刻的数据传输速率降低时, 可以 选择比发送的前一个内容分片的码率低一个级别的内容分片; 当预测出该无 线网络在下一时刻的数据传输速率升高时, 可以选择比发送的前一个内容分 片的码率高一个级别的内容分片。
705: 向该客户端发送该内容分片。
具体可参见实施例二的步骤 309的实施方式, 此处不再赘述。
本发明实施例提供的方法, 通过由分发服务器获取客户端所在无线网络 的信号质量参数信息, 根据该信号质量参数信息再进一步预测该无线网络的 数据传输速率是升高还是降低, 进而为客户端选择与该数据传输速率相适配 的内容分片, 可以达到下述有益效果:
首先, 分发服务器根据无线网络的信号质量参数信息预测下一时刻该无 线网络的数据传输速率升高还是降低, 是从总体上对网络带宽状况进行判断, 以此为依据在前一内容分片码率的基础上, 降低或者升高后一内容分片的码 率, 能较好的解决网络拥塞的问题;
其次, 由分发服务器预测该无线网络的数据传输速率后, 即刻向客户端
适配码率合适的内容分片, 达到更实时的进行码率适配的效果, 减少了现有 技术中由客户端根据进行检测带宽、 选择码率、 并请求服务器进行码率调整 的时间, 使本发明实施例进行码率调整的速度跟得上网络带宽的变化速度; 另外, HTTP流媒体采用的 HTTP reques t/response模式只能发送一个请 求回复一个内容分片, 对 HTTP流媒体中数目庞大的内容分片来说效率较低。 当采用本发明实施例中的 HTTP块的方式向客户端发送内容分片时, 客户端只 需要请求一次, 分发服务器就会依次将每一个内容分片用 HTTP块方式向客户 端发送, 提高了多媒体文件的传输效率。 实施例七
本发明实施例提供了一种 HTTP流媒体的分发服务器, 能够实现上述方法 实施例中分发服务器侧的方法, 参见图 8 , 该分发服务器包括:
接收模块 801 , 用于接收客户端发送的内容分片请求信息;
第一获耳 ^莫块 802 ,用于在接收模块 801接收客户端发送的内容分片请求 信息后, 获取该客户端所在无线网络的资源信息;
预测模块 803 ,用于根据第一获取模块 802获取的资源信息预测该无线网 络的数据传输速率;
选择模块 804 ,用于选择与预测模块 803预测的数据传输速率相适配的内 容分片;
发送模块 805 , 用于向该客户端发送选择模块 804选择的内容分片。 一种实施方式下, 第一获取模块 802 获取的资源信息包括: 信号质量参 数信息;
相应地,预测模块 803 , 具体用于根据该信号质量参数信息判断该无线网 络是否拥塞, 如果拥塞, 则判断该无线网络中流媒体业务的流量与全部业务 的流量的比例是否大于第一预设门限, 如果是, 则预测该无线网络在下一时 刻的数据传输速率降低; 如果不拥塞, 则判断本地发送队列中的数据占緩存 区大小的比例是否小于第二预设门限, 如果是, 则预测该无线网络在下一时 刻的数据传输速率升高; 也就是说具体用于实现本发明步骤 703的内容; 相应地, 选择模块 804 , 具体用于当预测出该无线网络在下一时刻的数据 传输速率降低时, 选择比发送的前一个内容分片的码率低一个级别的内容分
片; 当预测出该无线网络在下一时刻的数据传输速率升高时, 选择比发送的 前一个内容分片的码率高一个级别的内容分片。
在这种实施方式下, 通过由分发服务器获取客户端所在无线网络的信号 质量参数信息, 根据该信号质量参数信息再进一步预测该无线网络的数据传 输速率是升高还是降低, 进而为客户端选择与该数据传输速率相适配的内容 分片, 可以达到下述有益效果:
首先, 分发服务器根据无线网络的信号质量参数信息预测下一时刻该无 线网络的数据传输速率升高还是降低, 是从总体上对网络带宽状况进行判断, 以此为依据在前一内容分片码率的基础上, 降低或者升高后一内容分片的码 率, 能较好的解决网络拥塞的问题; 其次, 由分发服务器预测该无线网络的 数据传输速率后, 即刻向客户端适配码率合适的内容分片, 达到更实时的进 行码率适配的效果, 减少了现有技术中由客户端根据进行检测带宽、 选择码 率、 并请求服务器进行码率调整的时间, 使本发明实施例进行码率调整的速 度跟得上网络带宽的变化速度。
另一种实施方式下, 第一获取模块 802 获取的资源信息包括: 历史传输 速率;
相应地, 预测模块 803 , 具体用于根据该历史传输速率, 采用线性最小方 差的预测方法预测该无线网络在下一时刻的数据传输速率。
在这种实施方式下, 当接收模块 801接收的内容分片请求信息中不包括 要求的码率时, 可选地, 参见图 9 , 该分发服务器还可以包括:
第二获耳 莫806 , 用于在选择模块 804选择内容分片之前, 获取该客户端 的用户等级信息; 相应地, 选择模块 804 , 具体用于选择码率小于或等于该数 据传输速率, 且小于或等于该用户等级信息提供的该客户端能支持的最高码 率的内容分片;
或者, 可选地, 参见图 10, 该分发服务器还可以包括:
第三获耳 ^莫块 807 , 用于在选择模块 804选择内容分片之前, 获取该客户 端的终端能力信息; 相应地, 选择模块 804 , 具体用于选择码率小于或等于该 数据传输速率, 且小于或等于该终端能力信息提供的该客户端能支持的最高 码率的内容分片。
或者, 可选地, 参见图 11 , 该分发服务器还可以包括:
第四获耳 莫块 808 , 用于在选择模块 804选择内容分片之前, 获取该客户 端的用户等级信息和终端能力信息; 相应地, 选择模块 804 , 具体用于选择码 率小于或等于该数据传输速率, 且小于或等于该用户等级信息和终端能力信 息提供的该客户端能支持的最高码率的内容分片。
可选地, 在这种实施方式下, 当接收模块 801 接收的内容分片请求信息 中包括要求的码率时, 选择模块 804 , 具体用于比较该数据传输速率和该要求 的码率的大小; 当该数据传输速率小于该要求的码率时, 选择码率小于或等 于该数据传输速率的内容分片; 当该数据传输速率大于或等于该要求的码率 时,选择码率等于该要求的码率的内容分片。在此基础上, 可选地, 参见图 9 , 该分发服务器还可以包括:
第二获耳 ^莫块 806 , 用于在选择模块 804选择内容分片之前, 获取该客户 端的用户等级信息; 相应地, 选择模块 804 , 具体用于比较该数据传输速率和 该要求的码率的大小; 当该数据传输速率小于该要求的码率时, 选择码率小 于或等于该数据传输速率的内容分片; 当该数据传输速率大于或等于该要求 的码率时, 选择码率大于或等于该要求的码率、 小于或等于该数据传输速率、 且小于或等于该用户等级信息提供的该客户端能支持的最高码率的内容分 片;
或者, 可选地, 参见图 10, 该分发服务器还可以包括:
第三获耳 ^莫块 807 , 用于在选择模块 804选择内容分片之前, 获取该客户 端的终端能力信息; 相应地, 选择模块 804 , 具体用于比较该数据传输速率和 该要求的码率的大小; 当该数据传输速率小于该要求的码率时, 选择码率小 于或等于该数据传输速率的内容分片; 当该数据传输速率大于或等于该要求 的码率时, 选择码率大于或等于该要求的码率、 小于或等于所述数据传输速 率、 且小于或等于该终端能力信息提供的该客户端能支持的最高码率的内容 分片;
或者, 可选地, 参见图 11 , 该分发服务器还可以包括:
第四获耳 ^莫块 808 , 用于在选择模块 804选择内容分片之前, 获取该客户 端的用户等级信息和终端能力信息; 相应地, 选择模块 804 , 具体用于比较该 数据传输速率和该要求的码率的大小; 当该数据传输速率小于该要求的码率 时, 选择码率小于或等于该数据传输速率的内容分片; 当该数据传输速率大
于或等于该要求的码率时, 选择码率大于或等于该要求的码率、 小于或等于 该数据传输速率、 且小于或等于该用户等级信息和终端能力信息提供的该客 户端能支持的最高码率的内容分片。
或者, 可选地, 参见图 12 , 当接收模块 801接收的内容分片请求信息中 包括要求的码率时, 该分发服务器还包括:
更新模块 809 , 用于在选择模块 804选择内容分片之前, 将要求的码率与 本地信息记录的该客户端能够支持的码率进行比较, 如果该要求的码率大于 本地信息记录的该客户端能够支持的码率, 则将本地信息更新为该要求的码 率的信息; 相应地, 选择模块 804 , 具体用于选择码率小于或等于该数据传输 速率、 且小于或等于当前本地信息记录的该客户端能够支持的码率的内容分 片。
进一步地, 上述发送模块 805 , 可以用于采用 HTTP块的传输方式向客户 端发送内容分片。
上述第二种实施方式的有益效果是:
首先, 分发服务器根据无线网络的历史传输数据预测下一时刻该无线网 络的数据传输速率, 是从总体上对网络带宽状况进行判断, 以此为依据为客 户端选择与该数据传输速率相适配的内容分片、 进行码率调节能较好的解决 网络拥塞的问题;
其次, 在多用户小区中, 当网络拥塞时, 通过分发服务器总体上对网络 带宽状况进行判断, 而客户端不进行码率选择, 因此分发服务器可以从宏观 上对小区的带宽进行调节, 稳定的减緩网络拥塞, 解决网络拥塞的问题; 再次, 现有技术中由客户端根据自己 buffer的占用情况去检测带宽、 选 择码率、 并请求服务器进行码率调整, 服务器收到请求后再下发相应码率的 内容分片进行码率调整, 整个调整码率的周期过长, 当服务器按照客户端要 求的码率进行调整时, 此刻的网络带宽状况可能已经变了, 非常不实时, 而 本实施例提供的方法由分发服务器预测该无线网络的数据传输速率后, 即刻 参考客户端要求的码率向客户端适配码率合适的内容分片, 达到更实时的进 行码率适配的效果, 使本发明实施例进行码率调整的速度跟得上网络带宽的 变化速度;
最后, 如果分发服务器同时还参考用户等级信息和终端能力信息等进行
码率选择, 当带宽资源较好时, 可以在客户端能力范围内为客户端提供较高 码率的内容分片, 提升用户体验;
另外, HTTP流媒体采用的 HTTP reques t/respons e模式只能发送一个请 求回复一个内容分片, 对 HTTP流媒体中数目庞大的内容分片来说效率较低。 当采用本发明实施例中的 HTTP块的方式向客户端发送内容分片时, 客户端只 需要请求一次, 分发服务器就会依次将每一个内容分片用 HTTP块方式向客户 端发送, 提高了多媒体文件的传输效率。 实施例八
本发明实施例提供了一种流媒体的处理方法, 可以在向分发服务器请求 流媒体内容的客户端上执行, 参见图 1 3 , 方法流程包括:
1 301: 向分发服务器发送内容分片请求信息;
可选地, 该内容分片请求信息中既可以包括要求的码率, 也可以不包括 要求的码率。
1 302: 接收该分发服务器发送的内容分片。
其中, 该内容分片为该分发服务器接收到客户端发送的内容分片请求信 息后, 通过获取该客户端所在无线网络的资源信息, 并根据该资源信息预测 该无线网络的数据传输速率, 而选择的与该数据传输速率相适配的内容分片。
当步骤 1 301中发送的内容分片请求信息中不包括要求的码率时, 在接收 该分发服务器发送的内容分片之前, 可选地, 还可以包括以下任意一种实施 方式:
一种实施方式, 向该分发服务器发送用户等级信息; 相应地, 接收的该 内容分片为该分发服务器选择的码率小于或等于该无线网络的数据传输速 率, 且小于或等于该用户等级信息提供的该客户端能支持的最高码率的内容 分片;
另一种实施方式, 向该分发服务器发送终端能力信息; 相应地, 接收的 该内容分片为该分发服务器选择的码率小于或等于该无线网络的数据传输速 率, 且小于或等于该终端能力信息提供的该客户端能支持的最高码率的内容 分片;
又一种实施方式, 向该分发服务器发送用户等级信息和终端能力信息;
相应地, 接收的该内容分片为该分发服务器选择的码率小于或等于该无线网 络的数据传输速率, 且小于或等于该用户等级信息和终端能力信息提供的该 客户端能支持的最高码率的内容分片。
进一步地,当步骤 1 301中发送的内容分片请求信息中包括要求的码率时, 具体地, 接收的该内容分片为该分发服务器通过比较该无线网络的数据传输 速率和该要求的码率的大小, 当该数据传输速率小于该要求的码率时, 选择 的码率小于或等于该数据传输速率的内容分片, 或, 当该数据传输速率大于 或等于该要求的码率时, 选择的码率等于该要求的码率的内容分片。
更近一步地, 当步骤 1 301中发送的内容分片请求信息中包括要求的码率 时, 在接收该分发服务器发送的内容分片之前, 可选地, 还可以包括以下任 意一种实施方式:
一种实施方式, 向该分发服务器发送用户等级信息; 相应地, 接收的该 内容分片为该分发服务器通过比较该无线网络的数据传输速率和该要求的码 率的大小, 当该数据传输速率小于该要求的码率时, 选择的码率小于或等于 该数据传输速率的内容分片, 或, 当该数据传输速率大于或等于该要求的码 率时, 选择的码率大于或等于该要求的码率、 小于或等于该数据传输速率、 且小于或等于该用户等级信息提供的该客户端能支持的最高码率的内容分 片;
另一种实施方式, 向该分发服务器发送终端能力信息; 相应地, 接收的 该内容分片为该分发服务器通过比较该无线网络的数据传输速率和该要求的 码率的大小, 当该数据传输速率小于该要求的码率时, 选择的码率小于或等 于该数据传输速率的内容分片, 或, 当该数据传输速率大于或等于该要求的 码率时, 选择的码率大于或等于该要求的码率、 小于或等于该数据传输速率、 且小于或等于该终端能力信息提供的该客户端能支持的最高码率的内容分 片;
又一种实施方式, 向该分发服务器发送用户等级信息和终端能力信息; 相应地, 接收的该内容分片为该分发服务器通过比较该无线网络的数据传输 速率和该要求的码率的大小, 当该数据传输速率小于该要求的码率时, 选择 的码率小于或等于该数据传输速率的内容分片, 或, 当该数据传输速率大于 或等于该要求的码率时, 选择的码率大于或等于该要求的码率、 小于或等于
该数据传输速率、 且小于或等于该用户等级信息和终端能力信息提供的该客 户端能支持的最高码率的内容分片。
本发明实施例提供的方法, 通过客户端向分发服务器发送内容分片请求 信息, 由分发服务器为该客户端选择与无线网络的数据传输速率相适配的内 容分片, 使发送给客户端的内容分片的码率与网络环境更加符合; 如果客户 端还向服务器发送用户等级信息或终端能力信息等用户信息, 使分发服务器 可以结合用户信息选择更加合适的码率, 当客户端要求的码率较低、 带宽资 源较好时, 使分发服务器可以为客户端提供码率比客户端要求的码率高、 同 时又小于或等于该客户端能支持的最大码率的内容分片, 提高用户体验。 实施例九
参见图 14 , 本发明实施例提供了一种客户端, 能够实现上述方法实施例 中客户端侧的方法, 该客户端包括:
第一发送模块 1401 , 用于向分发服务器发送内容分片请求信息; 接收模块 1402 ,用于在第一发送模块 1401向分发服务器发送内容分片请 求信息之后, 接收该分发服务器发送的内容分片, 其中, 该内容分片为该分 发服务器接收到该客户端发送的内容分片请求信息后, 通过获取该客户端所 在无线网络的资源信息, 并才艮据该资源信息预测该无线网络的数据传输速率, 而选择的与该数据传输速率相适配的内容分片。
当第一发送模块 1401发送的内容分片请求信息中不包括要求的码率时, 可选地, 该客户端还可以包括以下模块中的任意一个:
参见图 15 , 第二发送模块 1403 , 用于在接收模块 1402接收该分发服务 器发送的内容分片之前, 向该分发服务器发送用户等级信息; 相应地, 接收 模块 1402接收的该内容分片为该分发服务器选择的码率小于或等于该无线网 络的数据传输速率, 且小于或等于该用户等级信息提供的该客户端能支持的 最高码率的内容分片;
或, 参见图 16 , 第三发送模块 1404 , 用于在接收模块 1402接收该分发 服务器发送的内容分片之前, 向该分发服务器发送终端能力信息; 相应地, 接收模块 1402接收的该内容分片为该分发服务器选择的码率小于或等于该无 线网络的数据传输速率, 且小于或等于该终端能力信息提供的该客户端能支
持的最高码率的内容分片;
或, 参见图 17 , 第四发送模块 1405 , 用于在接收模块 1402接收该分发 服务器发送的内容分片之前, 向该分发服务器发送用户等级信息和终端能力 信息; 相应地, 接收模块 1402接收的该内容分片为该分发服务器选择的码率 小于或等于该无线网络的数据传输速率, 且小于或等于该用户等级信息和终 端能力信息提供的该客户端能支持的最高码率的内容分片。
当第一发送模块 1401发送的内容分片请求信息中包括要求的码率时, 具 体地, 接收模块 1402接收的内容分片为该分发服务器通过比较该无线网络的 数据传输速率和该要求的码率的大小, 当该数据传输速率小于该要求的码率 时, 选择的码率小于或等于该数据传输速率的内容分片, 或, 当该数据传输 速率大于或等于该要求的码率时, 选择的码率等于该要求的码率的内容分片。
进一步地, 当第一发送模块 1401发送的内容分片请求信息中包括要求的 码率时, 可选地, 该客户端还可以包括以下模块中的任意一个:
参见图 15 , 第二发送模块 1403 , 用于在接收模块 1402接收该分发服务 器发送的内容分片之前, 向该分发服务器发送用户等级信息; 相应地, 接收 模块 1402接收的该内容分片为该分发服务器通过比较该无线网络的数据传输 速率和该要求的码率的大小, 当该数据传输速率小于该要求的码率时, 选择 的码率小于或等于该数据传输速率的内容分片, 或, 当该数据传输速率大于 或等于该要求的码率时, 选择的码率大于或等于该要求的码率、 小于或等于 该数据传输速率、 且小于或等于该用户等级信息提供的该客户端能支持的最 高码率的内容分片;
或, 参见图 16 , 第三发送模块 1404 , 用于在接收模块 1402接收该分发 服务器发送的内容分片之前, 向该分发服务器发送终端能力信息; 相应地, 接收模块 1402接收的该内容分片为该分发服务器通过比较该无线网络的数据 传输速率和该要求的码率的大小, 当该数据传输速率小于该要求的码率时, 选择的码率小于或等于该数据传输速率的内容分片, 或, 当该数据传输速率 大于或等于该要求的码率时, 选择的码率大于或等于该要求的码率、 小于或 等于该数据传输速率、 且小于或等于该终端能力信息提供的该客户端能支持 的最高码率的内容分片;
或, 参见图 17 , 第四发送模块 1405 , 用于在接收模块 1402接收该分发
服务器发送的内容分片之前, 向该分发服务器发送用户等级信息和终端能力 信息; 相应地, 接收模块 1402接收的该内容分片为该分发服务器通过比较该 无线网络的数据传输速率和该要求的码率的大小, 当该数据传输速率小于该 要求的码率时, 选择的码率小于或等于该数据传输速率的内容分片, 或, 当 该数据传输速率大于或等于该要求的码率时, 选择的码率大于或等于该要求 的码率、 小于或等于该数据传输速率、 且小于或等于该用户等级信息和终端 能力信息提供的该客户端能支持的最高码率的内容分片。
本发明实施例提供的客户端, 通过向分发服务器发送内容分片请求信息, 由分发服务器为该客户端选择与无线网络的数据传输速率相适配的内容分 片, 使发送给客户端的内容分片的码率与网络环境更加符合; 如果客户端还 向服务器发送用户等级信息或终端能力信息等用户信息, 使分发服务器可以 结合用户信息选择更加合适的码率, 当客户端要求的码率较低、 带宽资源较 好时, 使分发服务器可以为客户端提供码率比客户端要求的码率高、 同时又 小于或等于该客户端能支持的最大码率的内容分片, 提高用户体验。 实施例十
参见图 18 , 本发明实施例提供了一种流媒体的系统, 该系统包括: 分发 服务器 1801和客户端 1802 ;
其中, 分发服务器 1801如上述实施例七提供的分发服务器;
客户端 1802如上述实施例九提供的客户端。
本发明实施例提供的系统, 通过由分发服务器预测客户端所在无线网络 的数据传输速率, 进而为客户端选择码率与该数据传输速率相适配的内容分 片, 由于预测的无线网络的数据传输速率更加准确, 并且从宏观上对小区的 带宽进行调节, 能稳定的减緩网络拥塞, 解决网络拥塞的问题; 同时, 由分 发服务器预测出下一时刻的数据传输速率后, 即刻向客户端适配码率合适的 内容分片, 可以更快速的进行码率适配。 需要说明的是: 上述实施例提供的分发服务器和客户端在传输流媒体文 件时, 仅以上述各功能模块的划分进行举例说明, 实际应用中, 可以根据需 要而将上述功能分配由不同的功能模块完成, 即将分发服务器和客户端的内
部结构划分成不同的功能模块, 以完成以上描述的全部或者部分功能。 另外, 上述实施例提供的分发服务器和客户端与流媒体的处理方法实施例属于同一 构思, 其具体实现过程详见方法实施例, 这里不再赘述。
上述本发明实施例序号仅仅为了描述, 不代表实施例的优劣。
本发明实施例中的全部或部分步骤, 可以利用硬件实现, 也可以通过程 序来指令相关的硬件完成, 所述程序可以存储在可读取的存储介质中, 如光 盘或硬盘等。
以上所述仅为本发明的较佳实施例, 并不用以限制本发明, 凡在本发明 的精神和原则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发 明的保护范围之内。
Claims
1、 一种流媒体的处理方法, 其特征在于, 所述方法包括:
接收客户端发送的内容分片请求信息;
获取所述客户端所在无线网络的资源信息;
根据所述资源信息预测所述无线网络的数据传输速率;
选择与所述数据传输速率相适配的内容分片;
向所述客户端发送所述内容分片。
2、 根据权利要求 1所述的方法, 其特征在于, 所述资源信息包括: 信号质 量参数信息;
所述根据所述资源信息预测所述无线网络的数据传输速率, 包括: 根据所述信号质量参数信息判断所述无线网络是否拥塞, 如果拥塞, 则判 断所述无线网络中流媒体业务的流量与全部业务的流量的比例是否大于第一预 设门限, 如果是, 则预测所述无线网络在下一时刻的数据传输速率降低;
相应地, 所述选择与所述数据传输速率相适配的内容分片, 包括: 选择比发送的前一个内容分片的码率低一个级别的内容分片。
3、 根据权利要求 1所述的方法, 其特征在于, 所述资源信息包括: 信号质 量参数信息;
所述根据所述资源信息预测所述无线网络的数据传输速率, 包括: 根据所述信号质量参数信息判断所述无线网络是否拥塞, 如果不拥塞, 则 判断本地发送队列中的数据占緩存区大小的比例是否小于第二预设门限, 如果 是, 则预测所述无线网络在下一时刻的数据传输速率升高;
相应地, 所述选择与所述数据传输速率相适配的内容分片, 包括: 选择比发送的前一个内容分片的码率高一个级别的内容分片。
4、 根据权利要求 1所述的方法, 其特征在于, 所述资源信息包括: 历史传 输速率;
所述根据所述资源信息预测所述无线网络的数据传输速率, 包括: 根据所述历史传输速率, 采用线性最小方差的预测方法预测所述无线网络 在下一时刻的数据传输速率。
5、 根据权利要求 4所述的方法, 其特征在于, 所述内容分片请求信息中不 包括要求的码率; 所述选择与所述数据传输速率相适配的内容分片之前, 还包括: 获取所述客户端的用户等级信息;
相应地, 所述选择与所述数据传输速率相适配的内容分片, 包括: 选择码率小于或等于所述数据传输速率, 且小于或等于所述用户等级信息 提供的所述客户端能支持的最高码率的内容分片。
6、 根据权利要求 4所述的方法, 其特征在于, 所述内容分片请求信息中不 包括要求的码率;
所述选择与所述数据传输速率相适配的内容分片之前, 还包括:
获取所述客户端的终端能力信息;
相应地, 所述选择与所述数据传输速率相适配的内容分片, 包括: 选择码率小于或等于所述数据传输速率, 且小于或等于所述终端能力信息 提供的所述客户端能支持的最高码率的内容分片。
7、 根据权利要求 4所述的方法, 其特征在于, 所述内容分片请求信息中不 包括要求的码率;
所述选择与所述数据传输速率相适配的内容分片之前, 还包括:
获取所述客户端的用户等级信息和终端能力信息;
相应地, 所述选择与所述数据传输速率相适配的内容分片, 包括: 选择码率小于或等于所述数据传输速率, 且小于或等于所述用户等级信息 和终端能力信息提供的所述客户端能支持的最高码率的内容分片。
8、 根据权利要求 4所述的方法, 其特征在于, 所述内容分片请求信息中包 括要求的码率;
所述选择与所述数据传输速率相适配的内容分片, 包括:
比较所述数据传输速率和所述要求的码率的大小;
当所述数据传输速率小于所述要求的码率时, 选择码率小于或等于所述数 据传输速率的内容分片;
当所述数据传输速率大于或等于所述要求的码率时, 选择码率等于所述要 求的码率的内容分片。
9、 根据权利要求 4所述的方法, 其特征在于, 所述内容分片请求信息中包 括要求的码率;
所述选择与所述数据传输速率相适配的内容分片之前, 还包括: 获取所述客户端的用户等级信息;
相应地, 所述选择与所述数据传输速率相适配的内容分片, 包括: 比较所述数据传输速率和所述要求的码率的大小;
当所述数据传输速率小于所述要求的码率时, 选择码率小于或等于所述数 据传输速率的内容分片;
当所述数据传输速率大于或等于所述要求的码率时, 选择码率大于或等于 所述要求的码率、 小于或等于所述数据传输速率、 且小于或等于所述用户等级 信息提供的所述客户端能支持的最高码率的内容分片。
1 0、 根据权利要求 4 所述的方法, 其特征在于, 所述内容分片请求信息中 包括要求的码率;
所述选择与所述数据传输速率相适配的内容分片之前, 还包括:
获取所述客户端的终端能力信息;
相应地, 所述选择与所述数据传输速率相适配的内容分片, 包括: 比较所述数据传输速率和所述要求的码率的大小;
当所述数据传输速率小于所述要求的码率时, 选择码率小于或等于所述数 据传输速率的内容分片;
当所述数据传输速率大于或等于所述要求的码率时, 选择码率大于或等于 所述要求的码率、 小于或等于所述数据传输速率、 且小于或等于所述终端能力 信息提供的所述客户端能支持的最高码率的内容分片。
1 1、 根据权利要求 4 所述的方法, 其特征在于, 所述内容分片请求信息中 包括要求的码率;
所述选择与所述数据传输速率相适配的内容分片之前, 还包括:
获取所述客户端的用户等级信息和终端能力信息;
相应地, 所述选择与所述数据传输速率相适配的内容分片, 包括: 比较所述数据传输速率和所述要求的码率的大小;
当所述数据传输速率小于所述要求的码率时, 选择码率小于或等于所述数 据传输速率的内容分片;
当所述数据传输速率大于或等于所述要求的码率时, 选择码率大于或等于 所述要求的码率、 小于或等于所述数据传输速率、 且小于或等于所述用户等级 信息和终端能力信息提供的所述客户端能支持的最高码率的内容分片。
12、 根据权利要求 4 所述的方法, 其特征在于, 所述内容分片请求信息中 包括要求的码率;
所述选择与所述数据传输速率相适配的内容分片之前, 还包括:
将所述要求的码率与本地信息记录的所述客户端能够支持的码率进行比 较, 如果所述要求的码率大于所述本地信息记录的所述客户端能够支持的码率, 则将所述本地信息更新为所述要求的码率的信息;
相应地, 所述选择与所述数据传输速率相适配的内容分片, 包括: 选择码率小于或等于所述数据传输速率、 且小于或等于所述当前本地信息 记录的所述客户端能够支持的码率的内容分片。
1 3、 一种流媒体的分发服务器, 其特征在于, 所述分发服务器包括: 接收模块, 用于接收客户端发送的内容分片请求信息;
第一获取模块, 用于在所述接收模块接收客户端发送的内容分片请求信息 后, 获取所述客户端所在无线网络的资源信息;
预测模块, 用于根据所述第一获取模块获取的资源信息预测所述无线网络 的数据传输速率;
选择模块, 用于选择与所述预测模块预测的数据传输速率相适配的内容分 片;
发送模块, 用于向所述客户端发送所述选择模块选择的内容分片。
14、 根据权利要求 13所述的分发服务器, 其特征在于, 所述第一获取模块 获取的资源信息包括: 信号质量参数信息;
所述预测模块, 具体用于根据所述信号质量参数信息判断所述无线网络是 否拥塞, 如果拥塞, 则判断所述无线网络中流媒体业务的流量与全部业务的流 量的比例是否大于第一预设门限, 如果是, 则预测所述无线网络在下一时刻的 数据传输速率降低;
相应地, 所述选择模块, 具体用于选择比发送的前一个内容分片的码率低 一个级别的内容分片。
15、 根据权利要求 13所述的分发服务器, 其特征在于, 所述第一获取模块 获取的资源信息包括: 信号质量参数信息;
所述预测模块, 具体用于根据所述信号质量参数信息判断所述无线网络是 否拥塞, 如果不拥塞, 则判断本地发送队列中的数据占緩存区大小的比例是否 小于第二预设门限, 如果是, 则预测所述无线网络在下一时刻的数据传输速率 升高;
相应地, 所述选择模块, 具体用于选择比发送的前一个内容分片的码率高 一个级别的内容分片。
16、 根据权利要求 13所述的分发服务器, 其特征在于, 所述第一获取模块 获取的资源信息包括: 历史传输速率;
所述预测模块, 具体用于根据所述历史传输速率, 采用线性最小方差的预 测方法预测所述无线网络在下一时刻的数据传输速率。
17、 根据权利要求 16所述的分发服务器, 其特征在于, 所述接收模块接收 的内容分片请求信息中不包括要求的码率; 所述分发服务器还包括:
第二获取模块, 用于在所述选择模块选择内容分片之前, 获取所述客户端 的用户等级信息;
相应地, 所述选择模块, 具体用于选择码率小于或等于所述数据传输速率, 且小于或等于所述用户等级信息提供的所述客户端能支持的最高码率的内容分 片。
18、 根据权利要求 16所述的分发服务器, 其特征在于, 所述接收模块接收 的内容分片请求信息中不包括要求的码率; 所述分发服务器还包括:
第三获取模块, 用于在所述选择模块选择内容分片之前, 获取所述客户端 的终端能力信息;
相应地, 所述选择模块, 具体用于选择码率小于或等于所述数据传输速率, 且小于或等于所述终端能力信息提供的所述客户端能支持的最高码率的内容分 片。
19、 根据权利要求 16所述的分发服务器, 其特征在于, 所述接收模块接收 的内容分片请求信息中不包括要求的码率; 所述分发服务器还包括:
第四获取模块, 用于在所述选择模块选择内容分片之前, 获取所述客户端 的用户等级信息和终端能力信息;
相应地, 所述选择模块, 具体用于选择码率小于或等于所述数据传输速率, 且小于或等于所述用户等级信息和终端能力信息提供的所述客户端能支持的最 高码率的内容分片。
20、 根据权利要求 16所述的分发服务器, 其特征在于, 所述接收模块接收 的内容分片请求信息中包括要求的码率;
所述选择模块, 具体用于比较所述数据传输速率和所述要求的码率的大小; 当所述数据传输速率小于所述要求的码率时, 选择码率小于或等于所述数据传 输速率的内容分片; 当所述数据传输速率大于或等于所述要求的码率时, 选择 码率等于所述要求的码率的内容分片。
21、 根据权利要求 16所述的分发服务器, 其特征在于, 所述接收模块接收 的内容分片请求信息中包括要求的码率; 所述分发服务器还包括:
第二获取模块, 用于在所述选择模块选择内容分片之前, 获取所述客户端 的用户等级信息;
相应地, 所述选择模块, 具体用于比较所述数据传输速率和所述要求的码 率的大小; 当所述数据传输速率小于所述要求的码率时, 选择码率小于或等于 所述数据传输速率的内容分片; 当所述数据传输速率大于或等于所述要求的码 率时, 选择码率大于或等于所述要求的码率、 小于或等于所述数据传输速率、 且小于或等于所述用户等级信息提供的所述客户端能支持的最高码率的内容分 片。
22、 根据权利要求 16所述的分发服务器, 其特征在于, 所述接收模块接收 的内容分片请求信息中包括要求的码率; 所述分发服务器还包括:
第三获取模块, 用于在所述选择模块选择内容分片之前, 获取所述客户端 的终端能力信息;
相应地, 所述选择模块, 具体用于比较所述数据传输速率和所述要求的码 率的大小; 当所述数据传输速率小于所述要求的码率时, 选择码率小于或等于 所述数据传输速率的内容分片; 当所述数据传输速率大于或等于所述要求的码 率时, 选择码率大于或等于所述要求的码率、 小于或等于所述数据传输速率、 且小于或等于所述终端能力信息提供的所述客户端能支持的最高码率的内容分 片。
23、 根据权利要求 16所述的分发服务器, 其特征在于, 所述接收模块接收 的内容分片请求信息中包括要求的码率; 所述分发服务器还包括:
第四获取模块, 用于在所述选择模块选择内容分片之前, 获取所述客户端 的用户等级信息和终端能力信息;
相应地, 所述选择模块, 具体用于比较所述数据传输速率和所述要求的码 率的大小; 当所述数据传输速率小于所述要求的码率时, 选择码率小于或等于 所述数据传输速率的内容分片; 当所述数据传输速率大于或等于所述要求的码 率时, 选择码率大于或等于所述要求的码率、 小于或等于所述数据传输速率、 且小于或等于所述用户等级信息和终端能力信息提供的所述客户端能支持的最 高码率的内容分片。
24、 根据权利要求 16所述的分发服务器, 其特征在于, 所述接收模块接收 的内容分片请求信息中包括要求的码率; 所述分发服务器还包括:
更新模块, 用于在所述选择模块选择内容分片之前, 将所述要求的码率与 本地信息记录的所述客户端能够支持的码率进行比较, 如果所述要求的码率大 于所述本地信息记录的所述客户端能够支持的码率, 则将所述本地信息更新为 所述要求的码率的信息;
相应地, 所述选择模块, 具体用于选择码率小于或等于所述数据传输速率、 且小于或等于所述当前本地信息记录的所述客户端能够支持的码率的内容分 片。
25、 一种流媒体的处理方法, 其特征在于, 所述方法包括:
向分发服务器发送内容分片请求信息;
接收所述分发服务器发送的内容分片, 其中, 所述内容分片为所述分发服 务器接收到客户端发送的所述内容分片请求信息后, 通过获取所述客户端所在 无线网络的资源信息, 并才艮据所述资源信息预测所述无线网络的数据传输速率, 而选择的与所述数据传输速率相适配的内容分片。
26、 根据权利要求 25所述的方法, 其特征在于, 所述内容分片请求信息中 不包括要求的码率;
所述接收所述分发服务器发送的内容分片之前, 还包括:
向所述分发服务器发送用户等级信息;
相应地, 接收的所述内容分片为所述分发服务器选择的码率小于或等于所 述数据传输速率, 且小于或等于所述用户等级信息提供的所述客户端能支持的 最高码率的内容分片。
27、 根据权利要求 25所述的方法, 其特征在于, 所述内容分片请求信息中 不包括要求的码率;
所述接收所述分发服务器发送的内容分片之前, 还包括: 向所述分发服务器发送终端能力信息;
相应地, 接收的所述内容分片为所述分发服务器选择的码率小于或等于所 述数据传输速率, 且小于或等于所述终端能力信息提供的所述客户端能支持的 最高码率的内容分片。
28、 根据权利要求 25所述的方法, 其特征在于, 所述内容分片请求信息中 不包括要求的码率;
所述接收所述分发服务器发送的内容分片之前, 还包括:
向所述分发服务器发送用户等级信息和终端能力信息;
相应地, 接收的所述内容分片为所述分发服务器选择的码率小于或等于所 述数据传输速率, 且小于或等于所述用户等级信息和终端能力信息提供的所述 客户端能支持的最高码率的内容分片。
29、 根据权利要求 25所述的方法, 其特征在于, 所述内容分片请求信息中 包括要求的码率;
相应地, 接收的所述内容分片为所述分发服务器通过比较所述数据传输速 率和所述要求的码率的大小, 当所述数据传输速率小于所述要求的码率时, 选 择的码率小于或等于所述数据传输速率的内容分片, 或, 当所述数据传输速率 大于或等于所述要求的码率时, 选择的码率等于所述要求的码率的内容分片。
30、 根据权利要求 25所述的方法, 其特征在于, 所述内容分片请求信息中 包括要求的码率;
所述接收所述分发服务器发送的内容分片之前, 还包括:
向所述分发服务器发送用户等级信息;
相应地, 接收的所述内容分片为所述分发服务器通过比较所述数据传输速 率和所述要求的码率的大小, 当所述数据传输速率小于所述要求的码率时, 选 择的码率小于或等于所述数据传输速率的内容分片, 或, 当所述数据传输速率 大于或等于所述要求的码率时, 选择的码率大于或等于所述要求的码率、 小于 或等于所述数据传输速率、 且小于或等于所述用户等级信息提供的所述客户端 能支持的最高码率的内容分片。
31、 根据权利要求 25所述的方法, 其特征在于, 所述内容分片请求信息中 包括要求的码率;
所述接收所述分发服务器发送的内容分片之前, 还包括: 向所述分发服务器发送终端能力信息;
相应地, 接收的所述内容分片为所述分发服务器通过比较所述数据传输速 率和所述要求的码率的大小, 当所述数据传输速率小于所述要求的码率时, 选 择的码率小于或等于所述数据传输速率的内容分片, 或, 当所述数据传输速率 大于或等于所述要求的码率时, 选择的码率大于或等于所述要求的码率、 小于 或等于所述数据传输速率、 且小于或等于所述终端能力信息提供的所述客户端 能支持的最高码率的内容分片。
32、 根据权利要求 25所述的方法, 其特征在于, 所述内容分片请求信息中 包括要求的码率;
所述接收所述分发服务器发送的内容分片之前, 还包括:
向所述分发服务器发送用户等级信息和终端能力信息;
相应地, 接收的所述内容分片为所述分发服务器通过比较所述数据传输速 率和所述要求的码率的大小, 当所述数据传输速率小于所述要求的码率时, 选 择的码率小于或等于所述数据传输速率的内容分片, 或, 当所述数据传输速率 大于或等于所述要求的码率时, 选择的码率大于或等于所述要求的码率、 小于 或等于所述数据传输速率、 且小于或等于所述用户等级信息和终端能力信息提 供的所述客户端能支持的最高码率的内容分片。
33、 一种客户端, 其特征在于, 所述客户端包括:
第一发送模块, 用于向分发服务器发送内容分片请求信息;
接收模块, 用于在所述第一发送模块向分发服务器发送内容分片请求信息 之后, 接收所述分发服务器发送的内容分片, 其中, 所述内容分片为所述分发 服务器接收到所述客户端发送的所述内容分片请求信息后, 通过获取所述客户 端所在无线网络的资源信息, 并才艮据所述资源信息预测所述无线网络的数据传 输速率, 而选择的与所述数据传输速率相适配的内容分片。
34、 根据权利要求 33所述的客户端, 其特征在于, 所述第一发送模块发送 的内容分片请求信息中不包括要求的码率; 所述客户端还包括:
第二发送模块, 用于在所述接收模块接收所述分发服务器发送的内容分片 之前, 向所述分发服务器发送用户等级信息;
相应地, 所述接收模块接收的所述内容分片为所述分发服务器选择的码率 小于或等于所述数据传输速率, 且小于或等于所述用户等级信息提供的所述客 户端能支持的最高码率的内容分片。
35、 根据权利要求 33所述的客户端, 其特征在于, 所述第一发送模块发送 的内容分片请求信息中不包括要求的码率; 所述客户端还包括:
第三发送模块, 用于在所述接收模块接收所述分发服务器发送的内容分片 之前, 向所述分发服务器发送终端能力信息;
相应地, 所述接收模块接收的所述内容分片为所述分发服务器选择的码率 小于或等于所述数据传输速率, 且小于或等于所述终端能力信息提供的所述客 户端能支持的最高码率的内容分片。
36、 根据权利要求 33所述的客户端, 其特征在于, 所述第一发送模块发送 的内容分片请求信息中不包括要求的码率; 所述客户端还包括:
第四发送模块, 用于在所述接收模块接收所述分发服务器发送的内容分片 之前, 向所述分发服务器发送用户等级信息和终端能力信息;
相应地, 所述接收模块接收的所述内容分片为所述分发服务器选择的码率 小于或等于所述数据传输速率, 且小于或等于所述用户等级信息和终端能力信 息提供的所述客户端能支持的最高码率的内容分片。
37、 根据权利要求 33所述的客户端, 其特征在于, 所述第一发送模块发送 的内容分片请求信息中包括要求的码率;
相应地, 所述接收模块接收的所述内容分片为所述分发服务器通过比较所 述数据传输速率和所述要求的码率的大小, 当所述数据传输速率小于所述要求 的码率时, 选择的码率小于或等于所述数据传输速率的内容分片, 或, 当所述 数据传输速率大于或等于所述要求的码率时, 选择的码率等于所述要求的码率 的内容分片。
38、 根据权利要求 33所述的客户端, 其特征在于, 所述第一发送模块发送 的内容分片请求信息中包括要求的码率; 所述客户端还包括:
第二发送模块, 用于在所述接收模块接收所述分发服务器发送的内容分片 之前, 向所述分发服务器发送用户等级信息;
相应地, 所述接收模块接收的所述内容分片为所述分发服务器通过比较所 述数据传输速率和所述要求的码率的大小, 当所述数据传输速率小于所述要求 的码率时, 选择的码率小于或等于所述数据传输速率的内容分片, 或, 当所述 数据传输速率大于或等于所述要求的码率时, 选择的码率大于或等于所述要求 的码率、 小于或等于所述数据传输速率、 且小于或等于所述用户等级信息提供 的所述客户端能支持的最高码率的内容分片。
39、 根据权利要求 33所述的客户端, 其特征在于, 所述第一发送模块发送 的内容分片请求信息中包括要求的码率; 所述客户端还包括:
第三发送模块, 用于在所述接收模块接收所述分发服务器发送的内容分片 之前, 向所述分发服务器发送终端能力信息;
相应地, 所述接收模块接收的所述内容分片为所述分发服务器通过比较所 述数据传输速率和所述要求的码率的大小, 当所述数据传输速率小于所述要求 的码率时, 选择的码率小于或等于所述数据传输速率的内容分片, 或, 当所述 数据传输速率大于或等于所述要求的码率时, 选择的码率大于或等于所述要求 的码率、 小于或等于所述数据传输速率、 且小于或等于所述终端能力信息提供 的所述客户端能支持的最高码率的内容分片。
40、 根据权利要求 33所述的客户端, 其特征在于, 所述第一发送模块发送 的内容分片请求信息中包括要求的码率; 所述客户端还包括:
第四发送模块, 用于在所述接收模块接收所述分发服务器发送的内容分片 之前, 向所述分发服务器发送用户等级信息和终端能力信息;
相应地, 所述接收模块接收的所述内容分片为所述分发服务器通过比较所 述数据传输速率和所述要求的码率的大小, 当所述数据传输速率小于所述要求 的码率时, 选择的码率小于或等于所述数据传输速率的内容分片, 或, 当所述 数据传输速率大于或等于所述要求的码率时, 选择的码率大于或等于所述要求 的码率、 小于或等于所述数据传输速率、 且小于或等于所述用户等级信息和终 端能力信息提供的所述客户端能支持的最高码率的内容分片。
41、 一种流媒体的系统, 其特征在于, 所述系统包括: 分发服务器和客户 端;
所述分发服务器如上述权利要求 13-24中任一权利要求所述的分发服务器; 所述客户端如上述权利要求 33-40中任一权利要求所述的客户端。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP12789361.8A EP2717536B1 (en) | 2011-05-25 | 2012-05-25 | Processing method, distribution server, client and system for streaming media |
| US14/088,057 US9432436B2 (en) | 2011-05-25 | 2013-11-22 | Processing method, distribution server, client, and system for streaming media |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201110137167.9A CN102801690B (zh) | 2011-05-25 | 2011-05-25 | 流媒体的处理方法、分发服务器、客户端及系统 |
| CN201110137167.9 | 2011-05-25 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US14/088,057 Continuation US9432436B2 (en) | 2011-05-25 | 2013-11-22 | Processing method, distribution server, client, and system for streaming media |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2012159587A1 true WO2012159587A1 (zh) | 2012-11-29 |
Family
ID=47200656
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2012/076120 Ceased WO2012159587A1 (zh) | 2011-05-25 | 2012-05-25 | 流媒体的处理方法、分发服务器、客户端及系统 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US9432436B2 (zh) |
| EP (1) | EP2717536B1 (zh) |
| CN (1) | CN102801690B (zh) |
| WO (1) | WO2012159587A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114390320A (zh) * | 2022-02-18 | 2022-04-22 | 百果园技术(新加坡)有限公司 | 数据编码码率自适应调节方法、装置、设备和存储介质 |
Families Citing this family (65)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8387150B2 (en) * | 2008-06-27 | 2013-02-26 | Microsoft Corporation | Segmented media content rights management |
| US9294531B2 (en) * | 2012-07-12 | 2016-03-22 | Futurewei Technologies, Inc. | Signaling and processing content with variable bitrates for adaptive streaming |
| US9167310B2 (en) * | 2012-09-14 | 2015-10-20 | Comcast Cable Communications, Llc | Optimized delivery techniques |
| CN103024071A (zh) * | 2012-12-28 | 2013-04-03 | 苏州汉辰数字科技有限公司 | 基于量子流媒体云计算的云聚合社区系统 |
| WO2014108207A1 (en) * | 2013-01-11 | 2014-07-17 | Telefonaktiebolaget L M Ericsson (Publ) | Technique for operating client and server devices in a broadcast communication network |
| CN103973662B (zh) * | 2013-02-06 | 2017-06-20 | 华为技术有限公司 | 流媒体请求方法及控制器 |
| US9357021B2 (en) | 2013-03-14 | 2016-05-31 | Comcast Cable Communications, Llc | Delivery of content |
| CN103281568B (zh) * | 2013-04-25 | 2016-11-09 | 网宿科技股份有限公司 | 实现流媒体直播动态码率的方法及系统 |
| CN104168081B (zh) * | 2013-05-20 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 一种文件传输方法及装置 |
| CN103338401A (zh) * | 2013-06-03 | 2013-10-02 | 贝壳网际(北京)安全技术有限公司 | 用于移动终端浏览器中的视频播放控制方法、装置和系统 |
| WO2015013687A1 (en) * | 2013-07-25 | 2015-01-29 | Futurewei Technologies, Inc. | System and method for effectively controlling client behavior in adaptive streaming |
| CN103607436B (zh) * | 2013-11-05 | 2016-08-24 | 天脉聚源(北京)传媒科技有限公司 | 一种信息展示方法及装置 |
| US9253231B2 (en) * | 2013-12-19 | 2016-02-02 | Verizon Patent And Licensing Inc. | Retrieving and caching adaptive bitrate stream segments based on network congestion |
| US9978079B1 (en) * | 2013-12-20 | 2018-05-22 | Google Llc | Content selection based on connection information |
| CN104735114B (zh) * | 2013-12-24 | 2018-02-23 | 中国移动通信集团公司 | 一种在线视频优化方法和移动终端 |
| CN105027530B (zh) * | 2014-01-23 | 2018-09-07 | 华为技术有限公司 | 移动终端、第一基站及流媒体分段获取方法 |
| CN103929608B (zh) * | 2014-04-16 | 2017-06-16 | 浙江宇视科技有限公司 | 一种动态分配缓存容量的方法以及装置 |
| WO2016000211A1 (zh) * | 2014-07-01 | 2016-01-07 | 华为技术有限公司 | 视频数据传输装置、方法、服务器、基站和客户端 |
| US10178203B1 (en) * | 2014-09-23 | 2019-01-08 | Vecima Networks Inc. | Methods and systems for adaptively directing client requests to device specific resource locators |
| CN104243609B (zh) * | 2014-09-29 | 2019-08-09 | 中国联合网络通信集团有限公司 | 一种信息业务推送方法和装置 |
| CN104581229B (zh) | 2015-01-16 | 2018-08-03 | 京东方科技集团股份有限公司 | 一种流媒体数据传输装置、方法和系统 |
| CN108124202B (zh) * | 2015-01-30 | 2020-07-21 | 青岛海信传媒网络技术有限公司 | 一种使流媒体服务器支持hls协议的方法 |
| US9756112B2 (en) | 2015-02-11 | 2017-09-05 | At&T Intellectual Property I, L.P. | Method and system for managing service quality according to network status predictions |
| CN106162229B (zh) * | 2015-04-10 | 2019-04-16 | 北京大学 | 改善公平性的平滑码率自适应方法及装置 |
| CN104811499A (zh) * | 2015-05-14 | 2015-07-29 | 广东中烟工业有限责任公司 | 一种网络文件传输优化方法 |
| FR3038180A1 (fr) * | 2015-06-26 | 2016-12-30 | Orange | Adaptation d'un profil de transmission d'une communication web temps reel |
| US10993069B2 (en) * | 2015-07-16 | 2021-04-27 | Snap Inc. | Dynamically adaptive media content delivery |
| CN106412701A (zh) * | 2015-07-23 | 2017-02-15 | 株式会社Ntt都科摩 | 视频传输方法、接入设备和网络设备 |
| CN105306960B (zh) * | 2015-10-18 | 2018-05-04 | 北京航空航天大学 | 一种用于传输高质量在线课程视频的动态自适应流系统 |
| CN105898403A (zh) * | 2015-11-16 | 2016-08-24 | 乐视云计算有限公司 | 在线媒体服务的码流自适应方法及系统 |
| LT3398379T (lt) * | 2015-12-30 | 2022-01-10 | Deutsche Telekom Ag | Būdas sukurti ryšio kanalą ryšių terminalui per ryšių tinklo sekciją |
| CN105430533B (zh) * | 2015-12-31 | 2018-09-11 | 武汉鸿瑞达信息技术有限公司 | Hls视频点播加速方法及系统 |
| US9813299B2 (en) * | 2016-02-24 | 2017-11-07 | Ciena Corporation | Systems and methods for bandwidth management in software defined networking controlled multi-layer networks |
| CN105763896A (zh) * | 2016-05-12 | 2016-07-13 | 山东大学 | 一种多用户动态自适应视频码率分配系统 |
| CN107566854B (zh) * | 2016-06-30 | 2020-08-07 | 华为技术有限公司 | 一种媒体内容的获取和发送方法及装置 |
| CN107800665B (zh) * | 2016-08-31 | 2020-08-25 | 华为技术有限公司 | 多媒体传输方法、接入网设备及终端 |
| CN106603494A (zh) * | 2016-11-14 | 2017-04-26 | 上海华为技术有限公司 | 一种数据处理方法及基站 |
| CN106790005B (zh) * | 2016-12-13 | 2019-09-17 | 武汉市烽视威科技有限公司 | 实现低延时hls直播的系统及方法 |
| US10484446B1 (en) * | 2017-01-31 | 2019-11-19 | Amazon Technologies, Inc. | VBR encoding of live content |
| US10313419B1 (en) * | 2017-01-31 | 2019-06-04 | Amazon Technologies, Inc. | VBR encoding of live content |
| CN107948684A (zh) * | 2017-11-20 | 2018-04-20 | 广州虎牙信息科技有限公司 | 直播间视频播放控制方法、装置及服务器 |
| CN107948664B (zh) * | 2017-11-20 | 2020-10-16 | 广州虎牙信息科技有限公司 | 直播间视频播放控制方法、装置及终端 |
| US10652589B2 (en) | 2017-12-08 | 2020-05-12 | Sling Media Pvt Ltd | Systems and methods for selecting an initial streaming bitrate |
| CN108174286B (zh) * | 2017-12-27 | 2021-02-09 | 北京奇艺世纪科技有限公司 | 一种视频码流的处理方法及装置 |
| CN109981532A (zh) * | 2017-12-27 | 2019-07-05 | 中移(杭州)信息技术有限公司 | 一种媒体文件的传输方法和服务器 |
| CN108495147A (zh) * | 2018-03-09 | 2018-09-04 | 网宿科技股份有限公司 | 一种提供视频资源的方法和系统 |
| US10693575B2 (en) | 2018-08-31 | 2020-06-23 | At&T Intellectual Property I, L.P. | System and method for throughput prediction for cellular networks |
| CN110933516B (zh) * | 2018-09-19 | 2022-06-10 | 华为技术有限公司 | 多媒体直播方法、装置及设备 |
| CN109348265A (zh) * | 2018-11-27 | 2019-02-15 | 湖南国科微电子股份有限公司 | 基于hls多码流模式下的直播方法及系统 |
| US10868726B2 (en) | 2018-12-07 | 2020-12-15 | At&T Intellectual Property I, L.P. | Apparatus and method for selecting a bandwidth prediction source |
| TWI692955B (zh) | 2019-01-16 | 2020-05-01 | 香港商希瑞科技股份有限公司 | 伺服器及相關的電腦程式產品 |
| TWI725791B (zh) | 2019-01-16 | 2021-04-21 | 香港商希瑞科技股份有限公司 | 伺服器及相關的電腦程式產品 |
| CN111510789B (zh) * | 2019-01-30 | 2021-09-21 | 上海哔哩哔哩科技有限公司 | 视频播放方法、系统、计算机设备及计算机可读存储介质 |
| US11490149B2 (en) | 2019-03-15 | 2022-11-01 | At&T Intellectual Property I, L.P. | Cap-based client-network interaction for improved streaming experience |
| US11334387B2 (en) * | 2019-05-28 | 2022-05-17 | Micron Technology, Inc. | Throttle memory as a service based on connectivity bandwidth |
| US12436804B2 (en) | 2019-05-28 | 2025-10-07 | Micron Technology, Inc. | Memory as a service for artificial neural network (ANN) applications |
| AU2020320270B2 (en) * | 2019-08-01 | 2025-10-23 | Dolby Laboratories Licensing Corporation | Encoding and decoding IVAS bitstreams |
| CN110708682B (zh) * | 2019-09-12 | 2023-04-28 | 中国神华能源股份有限公司神朔铁路分公司 | 车地数据通信方法及装置、计算机设备和存储介质 |
| CN110572699A (zh) * | 2019-10-09 | 2019-12-13 | 北京邮电大学 | 一种基于多小区簇的网络辅助视频流媒体传输优化方法 |
| CN111245949A (zh) * | 2020-01-19 | 2020-06-05 | 中国建设银行股份有限公司 | 文件归档传输方法、装置及设备 |
| US11240339B2 (en) * | 2020-05-12 | 2022-02-01 | T-Mobile Usa, Inc. | Managing multimedia content at edge servers |
| CN111596628B (zh) * | 2020-05-29 | 2021-07-30 | 北京赛博云睿智能科技有限公司 | 一种海量工业数据的采集方法和采集系统 |
| CN113301392B (zh) * | 2021-05-26 | 2023-05-16 | 百果园技术(新加坡)有限公司 | 码率确定方法、装置、设备及存储介质 |
| CN113824771A (zh) * | 2021-08-25 | 2021-12-21 | 深圳市玩物科技有限公司 | 文件传输方法、装置、设备、存储介质及程序产品 |
| CN113747245A (zh) * | 2021-09-06 | 2021-12-03 | 北京字跳网络技术有限公司 | 多媒体资源上传方法、装置、电子设备以及可读存储介质 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1599341A (zh) * | 2003-09-18 | 2005-03-23 | 西安电子科技大学 | 无线局域网多速率传输方法 |
| CN1630270A (zh) * | 2003-12-15 | 2005-06-22 | 上海贝尔阿尔卡特股份有限公司 | 基于网络服务质量动态调整数据分组长度的方法 |
| CN101616077A (zh) * | 2009-07-29 | 2009-12-30 | 武汉大学 | 互联网大文件的快速传输方法 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| NO150015C (no) * | 1981-11-13 | 1984-08-08 | Vingmed As | Fremgangsmaate ved blodstroemhastighetsmaaling med ultralyd, kombinert med ekko-amplitudeavbildning, for undersoekelse av levende biologiske strukturer |
| CN100518132C (zh) * | 2007-03-15 | 2009-07-22 | 上海交通大学 | 分布式交通信息存储文件系统 |
| CN101765003A (zh) * | 2008-12-23 | 2010-06-30 | 上海茂碧信息科技有限公司 | 在不同速率网络环境下传输音频和视频的方法 |
| CN102025760B (zh) | 2009-09-21 | 2015-11-25 | 华为技术有限公司 | Http的媒体传输方法及装置 |
| US9124642B2 (en) * | 2009-10-16 | 2015-09-01 | Qualcomm Incorporated | Adaptively streaming multimedia |
| CN101932029A (zh) * | 2010-08-13 | 2010-12-29 | 华为技术有限公司 | 数据传输方法、设备及系统 |
-
2011
- 2011-05-25 CN CN201110137167.9A patent/CN102801690B/zh active Active
-
2012
- 2012-05-25 EP EP12789361.8A patent/EP2717536B1/en active Active
- 2012-05-25 WO PCT/CN2012/076120 patent/WO2012159587A1/zh not_active Ceased
-
2013
- 2013-11-22 US US14/088,057 patent/US9432436B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1599341A (zh) * | 2003-09-18 | 2005-03-23 | 西安电子科技大学 | 无线局域网多速率传输方法 |
| CN1630270A (zh) * | 2003-12-15 | 2005-06-22 | 上海贝尔阿尔卡特股份有限公司 | 基于网络服务质量动态调整数据分组长度的方法 |
| CN101616077A (zh) * | 2009-07-29 | 2009-12-30 | 武汉大学 | 互联网大文件的快速传输方法 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP2717536A4 * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114390320A (zh) * | 2022-02-18 | 2022-04-22 | 百果园技术(新加坡)有限公司 | 数据编码码率自适应调节方法、装置、设备和存储介质 |
| CN114390320B (zh) * | 2022-02-18 | 2024-02-13 | 百果园技术(新加坡)有限公司 | 数据编码码率自适应调节方法、装置、设备和存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN102801690A (zh) | 2012-11-28 |
| CN102801690B (zh) | 2015-09-30 |
| EP2717536B1 (en) | 2017-09-13 |
| EP2717536A4 (en) | 2014-05-21 |
| US9432436B2 (en) | 2016-08-30 |
| US20140082192A1 (en) | 2014-03-20 |
| EP2717536A1 (en) | 2014-04-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2012159587A1 (zh) | 流媒体的处理方法、分发服务器、客户端及系统 | |
| CN110536179B (zh) | 一种内容分发系统和方法 | |
| US8717890B2 (en) | Application, usage and radio link aware transport network scheduler | |
| EP3318067B1 (en) | A media user client, a media user agent and respective methods performed thereby for providing media from a media server to the media user client | |
| CN108141443B (zh) | 用户设备、媒体流传输网络辅助节点和媒体流传输方法 | |
| CN103875304B (zh) | 无线通信设备及通过无线通信设备检索内容的方法 | |
| JP6236459B2 (ja) | Httpストリーミングのための多仮説レート適合 | |
| WO2012079396A1 (zh) | 一种带宽控制的方法、设备和系统 | |
| CN101917742B (zh) | 数据传输方法、设备及系统 | |
| US9596323B2 (en) | Transport accelerator implementing client side transmission functionality | |
| CN106817721B (zh) | 一种流媒体业务带宽估算的方法、装置、终端及服务器 | |
| WO2012171507A1 (zh) | 向客户端传输数据文件的方法和装置 | |
| WO2008125029A1 (fr) | Procédé, système et dispositif permettant de contrôler le débit de codage du flux multimédia | |
| WO2014117408A1 (zh) | 流媒体数据传输的方法及装置 | |
| WO2011143916A1 (zh) | 媒体适配的方法和装置 | |
| JP2023537585A (ja) | 端末デバイス、インフラストラクチャ機器および方法 | |
| CN105144730B (zh) | 视频传输方法、装置与系统 | |
| CN103384236A (zh) | 获取流媒体数据的方法、装置及系统 | |
| CN116711370A (zh) | 一种通信方法与装置 | |
| JP4482002B2 (ja) | リアルタイムストリーミングを伝送する際のトラフィック切替の方法及びシステム | |
| WO2015096450A1 (zh) | 一种获取媒体业务参数指示的方法、装置和系统 | |
| HK1251733B (zh) | 多播广播多媒体服务辅助内容分发 | |
| HK1239973B (zh) | 多播广播多媒体服务辅助内容分发 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12789361 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| REEP | Request for entry into the european phase |
Ref document number: 2012789361 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2012789361 Country of ref document: EP |


