WO2008125029A1 - Procédé, système et dispositif permettant de contrôler le débit de codage du flux multimédia - Google Patents

Procédé, système et dispositif permettant de contrôler le débit de codage du flux multimédia Download PDF

Info

Publication number
WO2008125029A1
WO2008125029A1 PCT/CN2008/070186 CN2008070186W WO2008125029A1 WO 2008125029 A1 WO2008125029 A1 WO 2008125029A1 CN 2008070186 W CN2008070186 W CN 2008070186W WO 2008125029 A1 WO2008125029 A1 WO 2008125029A1
Authority
WO
WIPO (PCT)
Prior art keywords
code rate
server
adaptation
rate
streaming media
Prior art date
Application number
PCT/CN2008/070186
Other languages
English (en)
French (fr)
Inventor
Zhimin Wang
Original Assignee
Huawei Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Publication of WO2008125029A1 publication Critical patent/WO2008125029A1/zh
Priority to US12/437,290 priority Critical patent/US20090216897A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a stream media rate control method, system, and device. Background technique
  • streaming QoS control is performed by means of MBR (Multiple Rate).
  • MBR Multiple Rate
  • the principle is as follows: When the encoder performs content encoding, select different encoding rates, such as 30 kbps, 60 kbps, 100 kbps, etc., and the streaming media files are made into a streaming media file by the same program source at these different encoding rates, and the streaming media server
  • the streaming media file including a plurality of encoding rates is stored as a program source.
  • the streaming server and the terminal player interact through the QoS control protocol.
  • the streaming media server knows the current network status according to the feedback of the user terminal, and selects the code stream with the appropriate code rate to be sent to the player of the user terminal for playing, for example, when the network condition is good, the user uses the encoding rate of 100 kbps to play to the user; When the network is not in good condition, reduce the encoding rate and play to the user at a coding rate of 60 kbps or 30 kbps.
  • the streaming media QoS control is performed by using the MBR mode, and the same program needs to be encoded into the same streaming media file by using different code rates, thereby increasing the occupation of the storage space on the streaming media server.
  • the MBR file is produced, only a limited number of rates can be selected for encoding. There are few code rate parameters that can be selected during playback, which is not very good. Meet the requirements of bandwidth adaptation.
  • playing the MBR file requires a large amount of streaming media server hardware and software resources, which increases the operating cost of the service. Especially when multiple server clusters are networked, each streaming server requires high performance and increases operating costs. Summary of the invention
  • an embodiment of the present invention provides a streaming media rate control method, system, and device, which are used to reduce the complexity of streaming media source encoding and save streaming media storage space.
  • an embodiment of the present invention provides a streaming media rate control method, including the following steps:
  • the adaptation parameters are determined;
  • An embodiment of the present invention further provides a streaming media rate control system, including: a streaming media server, configured to: when determining, according to a network condition fed back by a user terminal, that a code rate of a media stream sent to the user terminal needs to be adjusted, And the code rate adaptation server sends the original media stream and the adaptation parameter, and sends the code rate-processed media stream sent by the rate adaptation server to the user terminal;
  • a streaming media server configured to: when determining, according to a network condition fed back by a user terminal, that a code rate of a media stream sent to the user terminal needs to be adjusted, And the code rate adaptation server sends the original media stream and the adaptation parameter, and sends the code rate-processed media stream sent by the rate adaptation server to the user terminal;
  • the rate adaptation server is configured to perform rate adaptation processing on the original media stream sent by the streaming media server according to the adaptation parameter sent by the streaming media server, and send the original media stream to the streaming media server.
  • An embodiment of the present invention further provides a streaming media server, including:
  • a determining module configured to determine, according to a network condition that is fed back by the user terminal, whether to adapt a code rate of the media stream sent to the user terminal, and send a determination result that needs to perform the code rate adaptation to the streaming media Forwarding module
  • a streaming media forwarding module configured to send, to a code rate adaptation server in the network, an original media stream to be adapted and an adaptation parameter;
  • the streaming media receiving module is configured to receive the adapted media stream sent by the rate adaptation server in the network.
  • An embodiment of the present invention further provides a code rate adaptation server, including:
  • a receiving module configured to store the original media stream sent by the streaming media server to the cache, and provide the rate to the rate conversion module
  • a rate conversion module configured to perform rate adaptation processing on the media stream received by the receiving module according to the adaptation parameter sent by the streaming media server;
  • a sending module configured to send the media stream after the rate conversion processing by the rate conversion module to the streaming server.
  • the rate adaptation server adapts the streaming rate required by the streaming media server, and only needs to store the source at a single code rate on the streaming server, which saves storage space on the streaming server and reduces the stream.
  • Media source coding complexity DRAWINGS
  • FIG. 1 is a flowchart of a streaming media rate control method according to Embodiment 1 of the present invention
  • FIG. 2 is a signaling flowchart of streaming media rate control for different user terminals according to Embodiment 2 of the present invention
  • FIG. 3 is a schematic structural diagram of a streaming media rate control system according to Embodiment 3 of the present invention
  • FIG. 4 is a schematic structural diagram of a streaming media server according to Embodiment 4 of the present invention
  • FIG. 5 is a code rate adaptation server according to Embodiment 5 of the present invention
  • FIG. 6 is a schematic structural diagram of a network of a rate matching server cluster in Embodiment 6 of the present invention.
  • a streaming media rate control method is shown in FIG. 1 and includes the following steps: Step s10, the user terminal sends a streaming media play request to the streaming media server.
  • the user terminal sends a streaming media play request to the streaming server through an RTSP (Real Time Streaming Protocol) protocol.
  • RTSP Real Time Streaming Protocol
  • Step sl02 The streaming media server sends the media stream to the user terminal.
  • the streaming server sends a media stream to the user terminal, and the user terminal plays the media stream.
  • the streaming server selects the initial transmission rate of the media stream, it needs to refer to the network bandwidth, the transmission rate under normal conditions, and the like.
  • the streaming media server can use the coding rate in the normal state of the network as the initial transmission code rate, so that each user terminal can achieve the best media stream playback effect under normal conditions, and send to different user terminals.
  • the media stream, the streaming server is identified by the session connection ID.
  • Step sl03 The user terminal feeds back the current network status to the streaming media server in real time.
  • the user terminal feeds back the current network status to the streaming media server in real time through the RTCP (Real Time Control Protocol) protocol during playback.
  • the feedback RTCP packet includes parameters such as the maximum sequence number of the packet received by the user terminal, the number of lost packets, delay jitter, and time stamp.
  • Step sl04 the streaming media server determines whether the code rate adaptation process is required, and if necessary, step sl05 is performed, and if necessary, step sl06 is performed.
  • the streaming server can estimate the delay according to the parameters in the parsed RTCP packet, and can determine whether the rate adaptation process is needed according to the network condition such as the number of packet loss and delay jitter.
  • the environment in which each user terminal is located such as the mobility, the signal quality of the transmission channel, and the bandwidth, may change, which may cause the user terminal to pause, mosaic, etc. when playing a high-rate media stream. , reducing the user terminal experience.
  • the streaming media server can estimate how to adjust the sending rate of the media stream according to these parameters, that is, estimate the matching code rate that matches the network condition of the user terminal, so that the user terminal can obtain the streaming media file with better quality. Playback effect.
  • Step s105 the streaming media server directly sends the original media stream to the terminal, and does not need to be adapted.
  • the streaming media server finds that the network status of the user terminal can play the media stream file normally, it is not necessary to adapt the code rate of the media stream.
  • Step sl06 The streaming media server sends the original media stream and the required relevant adaptation bandwidth parameters to the rate adaptation server.
  • the streaming media server finds that the network status of the user terminal is not normal, the code rate of the media stream needs to be adapted.
  • the streaming server adapts the server IP address according to a preset code rate, and sends the original media stream and the required relevant adaptation bandwidth parameters to the rate adaptation server.
  • the adaptation bandwidth parameter includes a session connection ID to which the original media stream belongs, a converted matching code rate, and the like.
  • the standard RTP (Real-time Transport Protocol) protocol is used to carry the original media stream.
  • Step sl07 The rate adaptation server performs rate adaptation processing on the original media stream.
  • the rate adaptation server performs rate adaptation processing on the original media stream sent by the streaming media server according to the adapted bandwidth parameter.
  • the code rate adaptation server receives the original media stream forwarded from the streaming media server, the original media stream is stored in the cache, and the code rate is performed on the multimedia frame after each complete multimedia frame is received. Adapted, the media stream encoded with the matching code rate received in step s106 is obtained.
  • Step sl08 The code rate adaptation server sends the adapted media stream to the corresponding streaming media server.
  • the code rate adaptation server sends the media stream including the adapted converted multimedia frame to the corresponding media stream address conversion conversion according to the address of the streaming media server that sends the original media stream.
  • a streaming server wherein the session connection ID to which the adapted media stream belongs is carried, the ID is the same as the session connection ID of the media stream before the adaptation, that is, the code rate adaptation server receives the step in the step s06 The session connection ID to which the original media stream belongs.
  • Step sl09 The streaming media server sends the adapted media stream to the terminal.
  • the streaming media server sends the adapted media stream to the corresponding terminal according to the session connection ID to which the adapted media stream belongs.
  • the streaming media server determines, according to the network condition fed back by the user terminal, whether to adjust the streaming media code rate sent to the user terminal in real time; and adapts the original media stream by the code rate adaptation server when the adjustment needs to be performed, and then The adapted media stream is sent to the user terminal by the streaming server. Therefore, only one source of the code rate is stored on the streaming media server, which saves the storage space on the streaming media server and reduces the complexity of the streaming media source encoding.
  • the second embodiment of the present invention uses a 3G wireless network as an example to describe a method for controlling the streaming rate of different user terminals in a 3G wireless network.
  • the normal play rate of the streaming media between the streaming media server and the user terminal in the 3G wireless network is 100 Kbps, and the source stored on the streaming media server is only encoded at 100 Kbps.
  • the streaming server with the IP address of 192.168.1.2 provides the streaming service service to the user terminal 1 and the user terminal 2 at the same time.
  • the rate adaptation processing requirement of the streaming media server is determined by the code rate of an IP address of 192.168.1.10.
  • the server is complete.
  • the optional play rate of the media stream between the streaming server and the user terminal may be a continuously variable arbitrary coding rate.
  • the code rate adaptation server may be adapted.
  • the selected code rate is set to discrete values, such as: 30Kbps, 40Kbps, 50Kbps, 60Kbps, 70Kbps, 80Kbps, 90Kbps, 100Kbps.
  • the description in this embodiment will take the optional play rate as the above discrete value as an example.
  • the media stream of the user terminal 1 does not need to perform code rate adaptation processing. As shown in FIG. 2, the following steps are included:
  • Step s201 The user terminal 1 sends a streaming media play request to the streaming media server by using the RTSP protocol.
  • Step s202 The streaming media server sends a media stream to the user terminal 1, and the user terminal 1 plays the media stream, and the code rate of the media stream is 100 Kbps.
  • Step s203 The user terminal 1 feeds back the current network status to the streaming media server in real time through the RTCP protocol.
  • Step s204 The streaming media server parses the RTCP data packet sent by the user terminal 1, The network status of the network where the user terminal 1 is located is estimated according to the parameters carried in the data packet, and it is determined that the code rate of the media stream does not need to be adapted.
  • the RTCP data packet includes parameters such as the maximum sequence number of the received data packet, the number of lost data packets, the delay jitter, and the time stamp.
  • the streaming server can estimate the delay according to these parameters, and can be based on the number of packet losses and In the case of delay jitter, etc., it is judged whether the code rate currently used by the media stream transmitted to the user terminal 1 is appropriate, and the determination result is that the adaptation is not required.
  • Step s205 The streaming media server continues to send the media stream to the user terminal 1, and the user terminal 1 plays the media stream and ends.
  • the media stream of the user terminal 2 needs to perform code rate adaptation processing. As shown in FIG. 2, the following steps are included:
  • Step s211 The user terminal 2 sends a streaming media play request to the streaming server through the RTSP protocol.
  • Step s212 The streaming media server sends a media stream to the user terminal 2, and the user terminal 2 plays the media stream, and the media stream has a code rate of 100 Kbps.
  • Step s213 The user terminal 2 feeds back the current network status to the streaming media server in real time through the RTCP protocol.
  • the RTCP data packet includes parameters such as the maximum sequence number of the received data packet, the number of lost data packets, the delay jitter, and the time stamp.
  • the streaming server can estimate the delay according to these parameters, and can be based on the number of packet losses and Delay jitter and other conditions estimate how to adjust the transmission rate of the media stream, so that the user terminal can get a better quality streaming media file playback effect.
  • the streaming media server estimates that the matching code rate matching the wireless network status of the user terminal 2 is about 82 Kbps according to the parameters carried in the data packet.
  • Step s215 The streaming media server sends the original media stream and the required relevant adaptation bandwidth parameter to the rate adaptation server.
  • the IP address of the destination bit rate adaptation server is 192.168.1.10, sent
  • the content and parameters include: the original media stream expressed in the form of RTP packets, the adaptation code rate of 82 Kbps, the streaming server IP address 192.168.1.2, and the session connection ID to which the current media stream belongs (assumed to be 101).
  • Step s216 The rate adaptation server performs code rate adaptation processing on the media stream.
  • the rate adaptation server After receiving the parameter sent by the streaming server with the IP address of 192.168 ⁇ 2, the rate adaptation server buffers the original media stream sent by the streaming media server, and after receiving a complete frame of data, the code rate is adapted to the frame. With processing.
  • the rate adaptation server acquires a code rate of less than 82 Kbps and closest to 82 Kbps.
  • the target rate in this case 80Kbps. Therefore, after the original media stream with a code rate of 100 Kbps is adapted, the code rate is 80 Kbps.
  • Step s217 The rate adaptation server sends the adapted media stream to the streaming server.
  • the rate adaptation server After each frame is converted, the rate adaptation server sends the frame to the streaming server with the IP address of 192.168.1.2, and carries the session connection ID to which the adapted media stream belongs.
  • the ID is adapted to the media stream.
  • the previous session connection ID is the same, in this case 101.
  • Step s218 The streaming media server sends the adapted media stream to the terminal 2.
  • the streaming server sends the adapted media stream with the code rate of 80 Kbps to the user terminal 2 according to the session connection ID to which the media stream belongs, and the user terminal 2 plays the new media stream.
  • the streaming media server still determines, according to the feedback of the user terminal 2, whether to adjust the encoding rate of the media stream sent to the user terminal 2 in real time according to the above process. Assuming that at a certain time t1, the streaming server estimates that the code rate supported by the user terminal 2 is about 85 Kbps, the streaming media server sends the original media stream and the matching code rate of 85 Kbps to the rate adaptation server, the rate adaptation server. According to the process described in step s216, the code rate of the original media stream is still adapted to 80 Kbps; and at the next time t2, if the streaming media server estimates that the code rate supported by the user terminal 2 is about 75 Kbps, the code rate is adapted.
  • the server will adapt the bitrate of the original media stream to 70Kbps; the next one At time t3, if the streaming media server estimates that the code rate supported by the user terminal 2 is about 100 Kbps, the streaming media server directly sends the original media stream to the user terminal, and does not need the code rate adaptation server to perform the adaptation conversion.
  • the flow rate control flow of the t1, t2, and t3 times described above is similar to the process described in the steps s211 to s218, and will not be repeatedly described herein.
  • the streaming media server and the rate adaptation server cooperate to perform streaming media rate control.
  • the streaming media server determines whether it is necessary to adjust the streaming media code rate sent to the user terminal according to the user terminal feedback; and sends the media stream adapted by the code rate adaptation server to the user terminal when the adjustment is needed. Therefore, only one source of the code rate is stored on the streaming media server, which saves storage space on the streaming media server.
  • the addition of the rate adaptation server enables the network side to use a more diverse stream rate rate, and can adapt to the playback requirements of streaming media files under different network conditions.
  • a streaming media rate control system includes a user terminal, a streaming media server, and a code rate adaptation server. As shown in FIG. 3, the system includes a code rate adaptation server 10, a streaming media server 20, and a plurality of user terminals 30.
  • the streaming server 1 provides streaming media services for three user terminals connected thereto, and the streaming media server 2 provides streaming media services for two user terminals connected thereto.
  • the rate adaptation server provides a rate adaptation processing service for both the streaming server 1 and the streaming server 2.
  • the user terminal 30 receives the media stream sent by the streaming media server 20, and feeds back to the streaming media server 20 the status of the network in which it is currently located.
  • the streaming server 20 determines whether the code rate of the media stream transmitted to the user terminal 30 needs to be adjusted according to the network status fed back by the user terminal 30.
  • the adaptation adjustment is needed, the original media stream and the matching rate matching the network condition of the user terminal are sent to the code rate adaptation server 10, and the code rate adaptation server 10 transmits the code rate adaptation process.
  • the media stream is sent to the user terminal 30 corresponding to the media stream.
  • the code rate adaptation server 10 processes the code rate of the original media stream sent by the streaming media server 20 to the target code rate according to the adaptation processing request of the streaming media server 20, and then sends the result to the streaming media server 20.
  • a streaming media server is configured as shown in FIG. 4, and further includes a terminal service processing module 11, a determining module 12, a streaming media forwarding module 13, a streaming media receiving module 14, and a storage module 15.
  • the terminal service processing module 11 performs parallel transmission and buffer control of streaming media, and a simple RTCP protocol parsing and control mechanism to provide basic functions of the streaming media service.
  • the original media stream is sent to the user terminal, or the adapted media stream received from the streaming media receiving module 14 is transmitted to the user terminal.
  • the network status sent by the user terminal in real time is received and forwarded to the judging module 12.
  • the determining module 12 determines, according to the network condition fed back by the user terminal that is received by the terminal service processing module 11, whether the code rate of the media stream currently sent to the user terminal needs to be adapted, and if it needs to be adapted, the media stream needs to be adapted. The result of the adaptation of the code rate is sent to the streaming media forwarding module 13.
  • the streaming media forwarding module 13 sends the original media stream to be adapted to the code rate adaptation server in the network when receiving the message sent by the determining module 12, and also needs to carry the session connection ID and the conversion to which the media stream belongs when transmitting.
  • the matching bandwidth rate and other adaptation bandwidth parameters are used to carry the session connection ID and the conversion to which the media stream belongs when transmitting.
  • the streaming media receiving module 14 receives the adapted media stream sent by the rate adaptation server in the network, and sends the adapted media stream and the corresponding session connection ID to the terminal service processing module 11.
  • the storage module 15 stores the original media stream file.
  • the original media stream is provided when the terminal service processing module 11 needs to send the original media stream to the user terminal, or when the streaming media forwarding module 13 needs to send the original media stream to the rate adaptation server in the network.
  • a code rate adaptation server is configured as shown in FIG. 5, and further includes a receiving module 21, a rate conversion module 22, and a sending module 23.
  • the receiving module 21 receives the original media stream sent by the streaming media server in the network and stores it in the cache, and receives the adapted bandwidth parameter sent by the streaming media server, where the adapted bandwidth parameter includes the session connection ID to which the media stream belongs, and after the conversion.
  • the matching code rate and so on are the adapted bandwidth parameter sent by the streaming media server in the network and stores it in the cache.
  • the rate conversion module 22 performs rate conversion on the original media stream according to the original media stream stored in the buffer by the receiving module 21 and the converted target code rate, and converts the data in real time.
  • the subsequent media stream is sent to the sending module 23.
  • the sending module 23 sends the media stream converted by the rate conversion module 22 to the corresponding media server in real time, and also needs to carry the session connection ID to which the converted media stream belongs.
  • the structure of the streaming media rate control system is described by taking a different rate media server to share a code rate adaptation server as an example.
  • the code rate adaptation server may be added, and the streaming rate adaptation may be provided by means of cluster networking. service.
  • two rate adaptation servers provide streaming media rate conversion services for three streaming media servers.
  • the IP addresses of the two rate adaptation servers are 192.168.1.10 and 192.168.1.11, respectively, and the IP addresses of the three streaming servers are 192.168.1.2, 192.168.1.3, and 192.168.1.2.
  • the rate adaptation server can offload the service to meet the business needs of the three streaming media servers. For example, a rate adaptation server with an IP of 192.168.1.10 forwards a newly received service request to a rate adaptation server with an IP of 192.168.1.11 when the traffic is near the limit; or notifies the sender of the new service request. The request is sent to a rate adaptation server with an IP of 192.168.1.11.
  • the streaming media server and the rate adaptation server can distinguish the same devices according to different IPs and make contact with each other.
  • the streaming media server By using the streaming media rate control system, the streaming media server, and the rate adaptation server as described in Embodiments 3 through 6 above, when the streaming media server needs to adjust the streaming media code rate sent to the user terminal, The rate adaptation server performs an adaptation process on the media stream that needs to be rate-adjusted, and the media server sends the adapted media stream to the user terminal. Therefore, only one source of the code rate is stored on the streaming media server, which saves storage space on the streaming media server. In addition, through the addition of the rate adaptation server, the streaming media rate that can be used by the network side is more abundant, and can adapt to the playback requirements of streaming media files under different network conditions.
  • the present invention can be implemented by means of software plus a necessary general hardware platform, and of course, can also be through hardware, but in many cases, the former is a better implementation. the way.
  • the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium, including a plurality of instructions for making a A computer device (which may be a personal computer, server, or network device, etc.) performs the methods described in various embodiments of the present invention.
  • a computer device which may be a personal computer, server, or network device, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

流媒体码率控制方法、 ***和设备 技术领域
本发明涉及通信技术领域, 尤其涉及一种流媒体码率控制方法、 ***和设备。 背景技术
随着通信技术, 特别是无线移动网络技术的发展, 网络带宽已经 能够满足开展实时流媒体业务的需求,流媒体业务已经成为未来通信 增值业务的发展方向。 为了充分利用已有的网络资源, 同时提高用户 的体验, 需要在开展流媒体业务的同时引入 QoS ( Quality of Service, 业务质量)控制机制。 特别是对于带宽差异很大的无线网络, 通过 QoS控制机制, 可以大大增强用户业务体验, 增加对用户的吸引力。
现有技术中, 通过 MBR ( Multiple Bit Rate, 多码率) 的方式进 行流媒体 QoS控制。 其原理为: 在编码器进行内容编码的时候, 选 择不同的编码速率, 例如 30kbps、 60kbps, 100kbps等, 流媒体文件 将同一节目源以这些不同编码速率制作到一个流媒体文件内,流媒体 服务器存储该包括多个编码速率的流媒体文件作为节目源。在流媒体 播放过程中, 流媒体服务器和终端播放器通过 QoS控制协议进行交 互。 流媒体服务器根据用户终端的反馈, 了解当前的网络状况, 选择 合适码率的码流发送给用户终端的播放器进行播放,如在网络情况较 好时, 釆用 100kbps的编码速率向用户播放; 在网络状况不佳时, 降 低编码速率, 使用 60kbps或 30kbps的编码速率向用户播放。
发明人在实现本发明的过程中, 发现现有方法至少存在以下缺 点:
由上述方案可知, 通过 MBR的方式进行流媒体 QoS控制, 需要 将同一节目使用不同的码率编码到同一流媒体文件中,增加了流媒体 服务器上存储空间的占用。 另外, MBR文件在制作时, 只能选择有 限的几种速率进行编码, 播放时可选择的码率参数很少, 不能很好的 满足带宽适配的要求。 最后, 播放 MBR文件, 需要占用较多的流媒 体服务器硬件和软件资源, 增加业务的运营成本。 尤其在进行多个服 务器集群组网时, 每一个流媒体服务器都需要很高的性能, 增加运营 成本。 发明内容
有鉴于此, 本发明的实施例提供一种流媒体码率控制方法、 *** 和设备, 用于减少流媒体片源编码复杂度, 节省流媒体存储空间。
为了达到上述目的, 本发明的实施例提供一种流媒体码率控 制方法, 包括以下步骤:
根据用户终端反馈的网络状况,判断是否调整向所述用户终端发 送的媒体流的码率;
需要进行所述调整时, 确定适配参数;
根据所述适配参数对媒体流进行码率适配处理;
将所述适配处理后的媒体流向所述用户终端发送。
本发明的实施例还提供一种流媒体码率控制***, 包括: 流媒体服务器, 用于在根据用户终端反馈的网络状况判断需 要调整向所述用户终端发送的媒体流的码率时, 向码率适配服务 器发送原始媒体流及适配参数, 并将所述码率适配服务器发送的 码率适配处理后的媒体流发送给所述用户终端;
码率适配服务器, 用于根据流媒体服务器发送的适配参数, 将所述流媒体服务器发送的原始媒体流进行码率适配处理, 并发 送给所述流媒体服务器。
本发明的实施例还提供一种流媒体服务器, 包括:
判断模块, 用于根据用户终端反馈的网络状况判断是否需要 对向所述用户终端发送的媒体流的码率进行适配, 将需要进行所 述码率适配的判断结果发送给所述流媒体转发模块;
流媒体转发模块, 用于向网络中的码率适配服务器发送待适 配的原始媒体流及适配参数; 流媒体接收模块, 用于接收网络中的码率适配服务器发送的 适配后的媒体流。
本发明的实施例还提供一种码率适配服务器, 包括:
接收模块, 用于将流媒体服务器发送的原始媒体流存储到緩 存, 并提供给所述码率转换模块;
码率转换模块, 用于根据所述流媒体服务器发送的适配参数, 对所述接收模块接收的媒体流进行码率适配处理;
发送模块, 用于将所述码率转换模块进行码率适配处理后的 媒体流向所述流媒体服务器发送。
与现有技术相比, 本发明的实施例具有以下优点:
码率适配服务器对流媒体服务器所需的流媒体码率进行适配 处理, 在流媒体服务器上只需要将片源按照单一码率存储, 节省 了流媒体服务器上的存储空间, 同时减少了流媒体片源编码复杂 度。 附图说明
图 1是本发明的实施例一中流媒体码率控制方法的流程图; 图 2 是本发明的实施例二中对不同的用户终端进行流媒体码率 控制的信令流程图;
图 3是本发明的实施例三中流媒体码率控制***的结构示意图; 图 4是本发明的实施例四中流媒体服务器的结构示意图; 图 5是本发明的实施例五中码率适配服务器的结构示意图; 图 6 是本发明的实施例六中码率适配服务器集群组网的结构示 意图。 具体实施方式
下面结合附图和实施例, 对本发明的实施方式做进一步说明。 本发明的实施例一中, 一种流媒体码率控制方法如图 1所示, 包 括以下步骤: 步骤 slOl、 用户终端向流媒体服务器发送流媒体播放请求。
该步骤中, 用户终端通过 RTSP ( Real Time Streaming Protocol, 实时流)协议向流媒体服务器发送流媒体播放请求。
步骤 sl02、 流媒体服务器向用户终端发送媒体流。
该步骤中, 用户终端通过流媒体服务器的鉴权认证后, 流媒体服 务器向该用户终端发送媒体流, 用户终端进行媒体流的播放。 流媒体 服务器在选择媒体流的初始发送码率时, 需要参照网络带宽、正常情 况下的传输速率等。 综合考虑以上因素后, 流媒体服务器可以使用网 络正常状态下的编码速率作为初始发送码率,以使各用户终端在正常 情况下能够达到最佳的媒体流播放效果,对于向不同的用户终端发送 的媒体流, 流媒体服务器通过会话连接 ID进行标识。
步骤 sl03、 用户终端实时向流媒体服务器反馈当前网络状况。 该步骤中,用户终端在播放过程中,通过 RTCP( Real Time Control Protocol, 实时传输控制协议)协议, 实时向流媒体服务器反馈当前 网络状况。在反馈的 RTCP数据包中包括用户终端已接收数据包的最 大序列号、 丟失的数据包数目、 延时抖动和时间戳等参数。
步骤 sl04、流媒体服务器判断是否需要进行码率适配处理, 不需 要时进行步骤 sl05 , 需要时进行步骤 sl06。
该步骤中,流媒体服务器根据解析 RTCP数据包中的参数可以估 计出时延,并且可以根据数据包丟失数目和延时抖动等网络状况确定 是否需要进行码率适配处理。在实际应用中各用户终端所处的环境不 同, 如由于移动性、 传输信道的信号质量、 带宽等因素不断变化, 可 能会导致用户终端在播放高码率的媒体流时出现停顿、 马赛克等现 象, 降低了用户终端的使用体验。 同时, 流媒体服务器可以根据这些 参数估算出应如何调整媒体流的发送速率,即估算出与该用户终端所 在网络状况相匹配的匹配码率,以使用户终端能够得到质量较好的流 媒体文件播放效果。
步骤 sl05、流媒体服务器直接将原始媒体流发送给终端, 不需要 进行适配。 该步骤中,在流媒体服务器发现用户终端所处的网络状况能够正 常的播放媒体流文件时, 则不需要对媒体流的码率进行适配。
步骤 sl06、流媒体服务器将原始媒体流和需要的相关适配带宽参 数发送给码率适配服务器。
该步骤中,在流媒体服务器发现用户终端所处的网络状况不能正 常的播放媒体流文件时, 则需要对媒体流的码率进行适配。 流媒体服 务器根据预先设置好的码率适配服务器 IP地址, 将原始媒体流和需 要的相关适配带宽参数发送给码率适配服务器。该适配带宽参数包括 原始媒体流所属的会话连接 ID、 转换后的匹配码率等。 其中, 在发 送原始媒体流时, 釆用标准 RTP ( Real-time Transport Protocol, 实时 传送协议)协议承载。
步骤 sl07、 码率适配服务器对原始媒体流进行码率适配处理。 该步骤中, 码率适配服务器根据适配带宽参数, 对流媒体服务器 发送的原始媒体流进行码率适配处理。 具体的, 码率适配服务器接收 到从流媒体服务器转发过来的原始媒体流时,将该原始媒体流存储到 緩存中, 在每接收到一个完整的多媒体帧之后, 对该多媒体帧进行码 率适配, 得到以步骤 sl06中接收到的匹配码率编码的媒体流。
步骤 sl08、码率适配服务器将适配后的媒体流发送给相应的流媒 体服务器。
该步骤中,码率适配服务器根据发送原始媒体流的流媒体服务器 地址, 每完成一个多媒体帧的码率适配转换, 就将包括该适配转换后 的多媒体帧的媒体流发送给相应的流媒体服务器,其中需要携带该适 配后的媒体流所属的会话连接 ID, 该 ID与媒体流在适配前所属的会 话连接 ID相同, 即为步骤 sl06中码率适配服务器接收到的该原始媒 体流所属的会话连接 ID。
步骤 sl09、 流媒体服务器将适配后的媒体流发送给终端。
该步骤中, 流媒体服务器根据适配后的媒体流所属的会话连接 ID, 将适配后的媒体流发送给对应的终端。
通过釆用如上述实施例一所描述的具体场景下流媒体码率控制 方法, 由流媒体服务器根据用户终端反馈的网络状况, 实时判断是否 需要调整向用户终端发送的流媒体码率;并在需要调整时由码率适配 服务器对原始媒体流进行适配处理,再由流媒体服务器将适配处理后 的媒体流发送给用户终端。 因此, 流媒体服务器上只需存储一种码率 的片源, 节省了流媒体服务器上的存储空间, 减少了流媒体片源编码 复杂度。
本发明的实施例二以 3G无线网络为例, 说明对于 3G无线网络 中不同的用户终端流媒体码率的控制方法。 该实施例中, 设 3G无线 网络中流媒体服务器与用户终端间流媒体的正常播放码率为 100Kbps,此时流媒体服务器上存放的片源只以 100Kbps来进行编码。 设一 IP地址为 192.168.1.2的流媒体服务器同时对用户终端 1与用户 终端 2提供流媒体业务服务,该流媒体服务器的码率适配处理需求由 一 IP地址为 192.168.1.10的码率适配服务器完成。其中, 流媒体服务 器与用户终端间媒体流的可选播放码率可以为连续可变的任意编码 速率。但在考虑到无线网络复杂多变的环境网络状况时, 为了避免网 络状况的细微变化即造成适用的码率变化、 导致码率转换的频繁发 生,也可以将将码率适配服务器适配处理后的可选码率设置为离散的 数值, 如: 30Kbps、 40Kbps、 50Kbps、 60Kbps、 70Kbps、 80Kbps、 90Kbps, 100Kbps„ 本实施例中的描述将以可选播放码率为以上离散 数值为例。
以用户终端 1的媒体流不需要进行码率适配处理为例,如图 2所 示, 包括如下步骤:
步骤 s201、用户终端 1通过 RTSP协议向流媒体服务器发送流媒 体播放请求。
步骤 s202、 流媒体服务器向用户终端 1发送媒体流, 用户终端 1 播放该媒体流, 该媒体流的码率为 100Kbps。
步骤 s203、用户终端 1通过 RTCP协议实时向流媒体服务器反馈 当前网络状况。
步骤 s204、 流媒体服务器解析用户终端 1发送的 RTCP数据包, 根据该数据包中携带的参数估算用户终端 1所在网络的网络状况,判 断不需要对媒体流的码率进行适配。
该 RTCP数据包中包括已接收数据包的最大序列号、丟失的数据 包数目、 延时抖动和时间戳等参数, 流媒体服务器根据这些参数可以 估计出时延, 并且可以根据数据包丟失数目和延时抖动等情况, 判断 当前向用户终端 1发送的媒体流所釆用的码率是否合适,这里以判断 结果为不需要进行适配为例。
步骤 s205、流媒体服务器继续向用户终端 1发送媒体流,用户终 端 1播放该媒体流并结束。
以用户终端 2的媒体流需要进行码率适配处理为例,如图 2所示, 包括如下步骤:
步骤 s211、用户终端 2通过 RTSP协议向流媒体服务器发送流媒 体播放请求。
步骤 s212、 流媒体服务器向用户终端 2发送媒体流, 用户终端 2 播放该媒体流, 该媒体流的码率为 100Kbps。
步骤 s213、用户终端 2通过 RTCP协议实时向流媒体服务器反馈 当前网络状况。步骤 s214、流媒体服务器解析用户终端 2发送的 RTCP 数据包,根据该数据包中携带的参数估算用户终端 2所在网络的网络 状况, 判断需要对媒体流的码率进行适配。
该 RTCP数据包中包括已接收数据包的最大序列号、丟失的数据 包数目、 延时抖动和时间戳等参数, 流媒体服务器根据这些参数可以 估计出时延,并且可以根据数据包丟失数目和延时抖动等情况估算出 应如何调整媒体流的发送速率,以使用户终端能够得到质量较好的流 媒体文件播放效果。 此步骤中, 设流媒体服务器根据该数据包中携带 的参数,估算出与用户终端 2所在无线网络状况相匹配的匹配码率约 为 82Kbps。
步骤 s215、流媒体服务器将原始媒体流和需要的相关适配带宽参 数发送给码率适配服务器。
发送时, 目的码率适配服务器的 IP地址为 192.168.1.10, 发送的 内容和参数包括: 以 RTP数据包形式表示的原始媒体流、 适配码率 82Kbps、 流媒体服务器 IP地址 192.168.1.2以及当前媒体流所属的会 话连接 ID (假设为 101 )。
步骤 s216、 码率适配服务器对媒体流进行码率适配处理。
接收到 IP地址为 192.168丄 2的流媒体服务器发送的参数后, 码 率适配服务器对流媒体服务器发送的原始媒体流进行緩存,每接收到 一帧完整的数据后, 对该帧进行码率适配处理。 在选择该适配处理的 目标码率时, 由于流媒体服务器发送的匹配码率为 82Kbps, 为了避 免频繁的码率转换, 码率适配服务器获取设置中小于 82Kbps且最接 近 82Kbps 的码率作为目标速率, 此例中为 80Kbps。 因此, 码率为 100Kbps的原始媒体流经适配处理后, 码率为 80Kbps。
步骤 s217、码率适配服务器将适配后的媒体流发送给流媒体服务 器。
每转换完成一帧, 码率适配服务器将该帧发送到 IP 地址为 192.168.1.2的流媒体服务器,同时携带该适配后的媒体流所属的会话 连接 ID, 该 ID与媒体流在适配前所属的会话连接 ID相同, 此例中 为 101。
步骤 s218、 流媒体服务器将适配后的媒体流发送用户给终端 2。 流媒体服务器根据媒体流所属的会话连接 ID, 将适配后的码率 为 80Kbps的媒体流发送给用户终端 2 , 用户终端 2进行新媒体流的 播放。
在步骤 s218后, 流媒体服务器仍按照以上流程实时根据用户终 端 2 的反馈判断是否需要调整向用户终端 2发送的媒体流的编码速 率。假设接下来某一时刻 tl , 流媒体服务器估算出用户终端 2能够支 持的码率约为 85Kbps, 则流媒体服务器向码率适配服务器发送原始 媒体流及匹配码率 85Kbps, 码率适配服务器按照步骤 s216描述的过 程仍将原始媒体流的码率适配为 80Kbps; 再接下来的一时刻 t2, 若 流媒体服务器估算出用户终端 2能够支持的码率约为 75Kbps, 则码 率适配服务器会将原始媒体流的码率适配为 70Kbps; 再接下来的一 时刻 t3 , 若流媒体服务器估算出用户终端 2 能够支持的码率约为 100Kbps, 则流媒体服务器直接将原始媒体流发送给用户终端, 无需 码率适配服务器进行适配转换。 以上描述的 tl、 t2、 t3时刻的流媒体 码率控制流程与步骤 s211至步骤 s218描述的流程相似, 在此不作重 复描述。
通过釆用如上述实施例二所描述的具体场景下的流媒体码率控 制方法, 实现了由流媒体服务器和码率适配服务器相配合, 进行流媒 体码率控制。 其中, 由流媒体服务器根据用户终端反馈判断是否需要 调整向用户终端发送的流媒体码率;并在需要调整时将码率适配服务 器适配处理后的媒体流发送给用户终端。 因此, 流媒体服务器上只需 存储一种码率的片源, 节省了流媒体服务器上的存储空间。 另外, 码 率适配服务器的加入使得网络侧能够使用的流媒体码率种类更加多 样, 能够适应不同网络条件下流媒体文件的播放要求。
本发明的实施例三中, 一种流媒体码率控制***包括用户终端、 流媒体服务器和码率适配服务器。 如图 3所示, ***中包括码率适配 服务器 10、 流媒体服务器 20以及多个用户终端 30。 其中, 流媒体服 务器 1为与其连接的三个用户终端提供流媒体服务, 流媒体服务器 2 为与其连接的两个用户终端提供流媒体服务。码率适配服务器同时为 流媒体服务器 1和流媒体服务器 2提供码率适配处理服务。
具体的, 用户终端 30, 接收流媒体服务器 20发送的媒体流, 并 实时向流媒体服务器 20反馈其当前所处网络的状况。
流媒体服务器 20, 根据用户终端 30反馈的网络状况, 判断是否 需要调整向用户终端 30发送的媒体流的码率。需要进行适配调整时, 向码率适配服务器 10发送原始媒体流以及与该用户终端所处网络状 况相匹配的匹配速率, 并将码率适配服务器 10发送的码率适配处理 后的媒体流发送给与该媒体流对应的用户终端 30。
码率适配服务器 10 , 按照流媒体服务器 20的适配处理要求, 将 流媒体服务器 20发送的原始媒体流的码率适配处理为目标码率后, 发送给流媒体服务器 20。 本发明的实施例四中, 一种流媒体服务器的结构如图 4所示, 进 一步包括终端业务处理模块 11、 判断模块 12、 流媒体转发模块 13、 流媒体接收模块 14和存储模块 15。
终端业务处理模块 11 , 进行流媒体的并行发送、 緩存控制, 以 及简单的 RTCP协议解析和控制机制, 提供流媒体服务的基本功能。 在接收到用户终端发送的媒体流播放请求时,向用户终端发送原始媒 体流, 或向用户终端发送从流媒体接收模块 14接收到的适配后的媒 体流。 另外, 接收用户终端实时发送的网络状况并转发给判断模块 12。
判断模块 12, 根据终端业务处理模块 11接收到的用户终端反馈 的网络情况,判断是否需要对当前向用户终端发送的媒体流的码率进 行适配, 需要适配时, 将需要对媒体流的码率进行适配的判断结果发 送给流媒体转发模块 13。
流媒体转发模块 13 , 接收到判断模块 12发送的消息时, 向网络 中的码率适配服务器发送待适配的原始媒体流,在发送时还需要携带 该媒体流所属的会话连接 ID、 转换后的匹配码率等适配带宽参数。
流媒体接收模块 14, 接收网络中的码率适配服务器发送的适配 后的媒体流, 并将该适配后的媒体流以及对应的会话连接 ID发送给 终端业务处理模块 11。
存储模块 15 , 存储原始媒体流文件。 在终端业务处理模块 11需 要向用户终端发送原始媒体流时, 或在流媒体转发模块 13需要向网 络中的码率适配服务器发送原始媒体流时, 提供原始媒体流。
本发明的实施例五中, 一种码率适配服务器的结构如图 5所示, 进一步包括接收模块 21、 码率转换模块 22和发送模块 23。
接收模块 21 , 接收网络中流媒体服务器发送的原始媒体流并将 其存储在緩存中, 同时接收流媒体服务器发送的适配带宽参数, 该适 配带宽参数包括媒体流所属的会话连接 ID、 转换后的匹配码率等。
码率转换模块 22 , 根据接收模块 21存储在緩存中的原始媒体流 以及转换后的目标码率, 对原始媒体流进行码率转换, 并实时将转换 后的媒体流发送至发送模块 23。
发送模块 23 , 将码率转换模块 22转换后的媒体流实时向对应的 媒体服务器发送,其中还需要携带该转换后的媒体流所属的会话连接 ID。
在上述实施例三中,以不同的流媒体服务器共享一台码率适配服 务器为例 ,对流媒体码率控制***的结构进行了说明。在实际应用中 , 如果在业务量很大的情况下, 一台码率适配服务器不能满足要求, 也 可以通过增加码率适配服务器、通过集群组网的方式提供流媒体码率 适配服务。 如本发明的实施例四中图 6所示的组网方式, 由两台码率 适配服务器为三台流媒体服务器提供流媒体码率转换服务。 例如, 两 台码率适配服务器的 IP分别为 192.168.1.10和 192.168.1.11 , 三台流 媒体服务器的 IP分别为 192.168.1.2、 192.168.1.3和 192.168.1.2。 在 三台流媒体服务器都向码率适配服务器发送需要进行适配的原始媒 体流时, 如果因业务量很大, 导致一台码率适配服务器的处理速度不 能满足要求, 则两台码率适配服务器可以对业务进行分流, 以满足三 台流媒体服务器的业务需求。 例如, IP为 192.168.1.10的码率适配服 务器在业务量接近极限时, 将新接收到的业务请求转发给 IP 为 192.168.1.11 的码率适配服务器; 或通知该新业务请求的发送方将该 请求发送至 IP为 192.168.1.11的码率适配服务器。在处理过程中, 流 媒体服务器与码率适配服务器之间可以根据不同的 IP区分同种设备, 进行彼此的联系。
通过釆用如上述实施例三至实施例六所描述的流媒体码率控制 ***、 流媒体服务器和码率适配服务器, 在流媒体服务器需要调整向 用户终端发送的流媒体码率时,由码率适配服务器对需要进行码率调 整的媒体流进行适配处理,并由流媒体服务器将适配处理后的媒体流 发送给用户终端。 因此, 流媒体服务器上只需存储一种码率的片源, 节省了流媒体服务器上的存储空间。 另外, 通过码率适配服务器的加 入使得网络侧可使用的流媒体码率种类更加丰富,能够适应不同网络 条件下流媒体文件的播放要求。 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解 到本发明可借助软件加必需的通用硬件平台的方式来实现, 当然也可 以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解, 本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以 软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质 中, 包括若干指令用以使得一台计算机设备(可以是个人计算机, 服 务器, 或者网络设备等)执行本发明各个实施例所述的方法。 以上公 开的仅为本发明的几个具体实施例, 但是, 本发明并非局限于此, 任 何本领域的技术人员能思之的变化都应落入本发明的保护范围。
以上所述仅为本发明实施例的过程及方法实施例,并不用以限制 本发明实施例, 凡在本发明实施例的精神和原则之内所做的任何修 改、 等同替换、 改进等, 均应包含在本发明实施例的保护范围之内。

Claims

权利要求
1、 一种流媒体码率控制方法, 其特征在于, 包括以下步骤: 根据用户终端反馈的网络状况,判断是否调整向所述用户终端发 送的媒体流的码率;
需要进行所述调整时, 确定适配参数;
根据所述适配参数对媒体流进行码率适配处理;
将所述适配处理后的媒体流向所述用户终端发送。
2、 如权利要求 1所述流媒体码率控制方法, 其特征在于, 所述 需要进行所述调整时, 确定适配参数的步骤具体包括:
流媒体服务器确定调整的适配参数;
所述方法进一步包括:
流媒体服务器获取码率适配服务器的地址;
流媒体服务器根据所述地址,向所述码率适配服务器发送所述原 始媒体流及适配参数,所述适配参数包括所述原始媒体流所属会话的 标识、 以及与所述网络状况相匹配的匹配码率。
3、 如权利要求 2所述流媒体码率控制方法, 其特征在于, 所述 流媒体服务器确定调整的适配参数的步骤具体为:
所述流媒体服务器接收用户终端反馈的当前网络状况,所述网络 状况包括所述用户终端已接收数据包的最大序列号、丟失的数据包数 目、 延时抖动和时间戳参数中的一种或多种;
所述流媒体服务器根据所述用户终端的反馈确定调整的适配参 数。
4、 如权利要求 2所述流媒体码率控制方法, 其特征在于, 所述 码率适配服务器适配处理后的目标码率为连续码率值时,所述根据适 配参数对媒体流进行码率适配处理的步骤具体包括:
所述码率适配服务器将所述流媒体服务器发送的所述原始媒体 流存储到緩存;
每存储一个完整的多媒体帧,所述码率适配服务器将所述多媒体 帧的码率适配为所述匹配码率;
所述码率适配服务器向所述流媒体服务器发送所述码率适配处 理后的多媒体帧。
5、 如权利要求 2所述流媒体码率控制方法, 其特征在于, 所述 码率适配服务器适配处理后的目标码率为离散码率值时,所述根据适 配参数对媒体流进行码率适配处理的步骤具体包括:
所述码率适配服务器将所述流媒体服务器发送的所述原始媒体 流存储到緩存;
每存储一个完整的多媒体帧,所述码率适配服务器将所述多媒体 帧的码率适配为所述离散码率值中小于所述匹配码率且最接近所述 匹配码率的码率;
所述码率适配服务器向所述流媒体服务器发送所述码率适配处 理后的多媒体帧。
6、 如权利要求 4或 5所述流媒体码率控制方法, 其特征在于, 所述将适配处理后的媒体流向所述用户终端发送的步骤具体包括: 所述流媒体服务器接收包括所述码率适配处理后的多媒体帧的 媒体流;
所述流媒体服务器获取所述媒体流所属会话的标识;
所述流媒体服务器向与所述标识对应的用户终端发送所述码率 适配处理后的媒体流。
7、 一种流媒体码率控制***, 其特征在于, 包括:
流媒体服务器,用于在根据用户终端反馈的网络状况判断需要调 整向所述用户终端发送的媒体流的码率时,向码率适配服务器发送原 始媒体流及适配参数,并将所述码率适配服务器发送的码率适配处理 后的媒体流发送给所述用户终端;
码率适配服务器, 用于根据流媒体服务器发送的适配参数, 将所 述流媒体服务器发送的原始媒体流进行码率适配处理,并发送给所述 流媒体服务器。
8、 如权利要求 7所述流媒体码率控制***, 其特征在于, 所述 码率适配服务器适配处理后的目标码率为连续码率值,所述码率适配 服务器将所述流媒体服务器发送的所述原始媒体流存储到緩存;每存 储一个完整的多媒体帧,将所述多媒体帧的码率适配为所述适配参数 中携带的匹配码率,并向所述流媒体服务器发送所述码率适配处理后 的多媒体帧。
9、 如权利要求 7所述流媒体码率控制***, 其特征在于, 所述 码率适配服务器适配处理后的目标码率为离散码率值,所述码率适配 服务器将所述流媒体服务器发送的所述原始媒体流存储到緩存;每存 储一个完整的多媒体帧,将所述多媒体帧的码率适配为所述离散码率 值中小于所述适配参数中携带的匹配码率且最接近所述匹配码率的 码率, 并向所述流媒体服务器发送所述码率适配处理后的多媒体帧。
10、 一种流媒体服务器, 其特征在于, 包括:
判断模块,用于根据用户终端反馈的网络状况判断是否需要对向 所述用户终端发送的媒体流的码率进行适配,将需要进行所述码率适 配的判断结果发送给所述流媒体转发模块;
流媒体转发模块,用于向网络中的码率适配服务器发送待适配的 原始媒体流及适配参数;
流媒体接收模块,用于接收网络中的码率适配服务器发送的适配 后的媒体流。
11、 如权利要求 10所述流媒体服务器, 其特征在于, 还包括: 终端业务处理模块, 用于向用户终端发送媒体流, 并将用户终端 反馈的网络状况发送给所述判断模块;
存储模块,用于存储原始流媒体文件并提供给所述终端业务处理 模块和流媒体转发模块。
12、 一种码率适配服务器, 其特征在于, 包括
接收模块, 用于将流媒体服务器发送的原始媒体流存储到緩存, 并提供给所述码率转换模块;
码率转换模块, 用于根据所述流媒体服务器发送的适配参数, 对 所述接收模块接收的媒体流进行码率适配处理; 发送模块,用于将所述码率转换模块进行码率适配处理后的媒体 流向所述流媒体服务器发送。
13、 如权利要求 12所述码率适配服务器, 其特征在于, 所述码 率适配服务器适配处理后的目标码率为连续码率值,所述码率转换模 块将所述接收模块存储到緩存的原始媒体流的码率,适配为所述适配 参数中携带的匹配码率。
14、 如权利要求 12所述码率适配服务器, 其特征在于, 所述码 率适配服务器适配处理后的目标码率为离散码率值,所述码率转换模 块将所述接收模块存储到緩存的原始媒体流的码率,适配为所述离散 码率值中小于所述适配参数中携带的匹配码率且最接近所述匹配码 率的码率。
PCT/CN2008/070186 2007-04-13 2008-01-25 Procédé, système et dispositif permettant de contrôler le débit de codage du flux multimédia WO2008125029A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/437,290 US20090216897A1 (en) 2007-04-13 2009-05-07 Method and system for controlling streaming rates

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200710090127.7 2007-04-13
CN2007100901277A CN101068236B (zh) 2007-04-13 2007-04-13 流媒体码率控制方法、***和设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/437,290 Continuation US20090216897A1 (en) 2007-04-13 2009-05-07 Method and system for controlling streaming rates

Publications (1)

Publication Number Publication Date
WO2008125029A1 true WO2008125029A1 (fr) 2008-10-23

Family

ID=38880672

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2008/070186 WO2008125029A1 (fr) 2007-04-13 2008-01-25 Procédé, système et dispositif permettant de contrôler le débit de codage du flux multimédia

Country Status (3)

Country Link
US (1) US20090216897A1 (zh)
CN (1) CN101068236B (zh)
WO (1) WO2008125029A1 (zh)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2088751B1 (en) * 2008-02-08 2013-07-03 Accenture Global Services Limited Streaming media interruption and resumption system
CN101621351B (zh) * 2008-06-30 2013-09-11 华为技术有限公司 一种调节多媒体编码速率的方法、装置及***
CN101741509B (zh) * 2008-11-17 2013-01-09 华为技术有限公司 速率适配方法、装置及***
WO2010111261A1 (en) * 2009-03-23 2010-09-30 Azuki Systems, Inc. Method and system for efficient streaming video dynamic rate adaptation
CN102045552B (zh) * 2009-10-14 2012-12-19 中兴通讯股份有限公司 一种多媒体码流发送的方法和***
US9124642B2 (en) 2009-10-16 2015-09-01 Qualcomm Incorporated Adaptively streaming multimedia
US8601153B2 (en) * 2009-10-16 2013-12-03 Qualcomm Incorporated System and method for optimizing media playback quality for a wireless handheld computing device
GB0921831D0 (en) 2009-12-14 2010-01-27 British Telecomm Graphical data delivery
CN101795264A (zh) * 2009-12-30 2010-08-04 北京新岸线网络技术有限公司 一种视频数据传送方法及***
CN102118357B (zh) * 2009-12-31 2014-12-17 华为技术有限公司 一种流媒体处理方法、设备和***
GB201000738D0 (en) 2010-01-18 2010-03-03 British Telecomm Graphical data processing
CN102148747A (zh) * 2010-07-20 2011-08-10 华为软件技术有限公司 媒体流的发送方法及装置
KR20120011774A (ko) * 2010-07-29 2012-02-08 한국전자통신연구원 전송 스케쥴링 방법
CN101977185A (zh) * 2010-10-14 2011-02-16 杭州海康威视数字技术股份有限公司 视频监控***中数字录像机及其网络连接控制方法
WO2011150657A1 (zh) * 2010-12-31 2011-12-08 华为技术有限公司 流媒体中播放时间点跳转后的处理方法及装置
CN102131241B (zh) * 2011-03-15 2013-09-11 上海华为技术有限公司 一种控制流媒体速率的方法、基站及***
CN102137047B (zh) * 2011-03-21 2013-09-25 华中科技大学 一种多参数媒体适配网关及其适配方法
CN102957578B (zh) * 2011-08-31 2017-03-08 幻音科技(深圳)有限公司 网络运行状态监测方法及装置
WO2013071517A1 (zh) * 2011-11-18 2013-05-23 华为技术有限公司 媒体流的发送方法及服务器
US9942580B2 (en) * 2011-11-18 2018-04-10 At&T Intellecutal Property I, L.P. System and method for automatically selecting encoding/decoding for streaming media
CN103188725B (zh) * 2011-12-29 2018-01-30 中兴通讯股份有限公司 一种协同业务的适配、分流传输及流切换方法和***
CN102595204A (zh) * 2012-02-28 2012-07-18 华为终端有限公司 一种流媒体传输方法、设备及***
EP2871811B1 (en) * 2012-07-25 2018-04-04 Huawei Technologies Co., Ltd. Data shunting method, data transmission device and shunting node device
US9253229B1 (en) * 2013-01-07 2016-02-02 Cox Communications, Inc. Correlating video quality with video playback view
GB2517771A (en) * 2013-09-02 2015-03-04 Nokia Corp Method, apparatus and computer program product for accessing multimedia content
US9246970B2 (en) * 2014-02-14 2016-01-26 GM Global Technology Operations LLC System and method for compensating for delay and jitter
CN104581385A (zh) * 2014-12-23 2015-04-29 深圳市九洲电器有限公司 多屏互动自适应播放方法及***
CN105898403A (zh) * 2015-11-16 2016-08-24 乐视云计算有限公司 在线媒体服务的码流自适应方法及***
CN106817721B (zh) * 2015-11-30 2019-11-19 ***通信集团公司 一种流媒体业务带宽估算的方法、装置、终端及服务器
CN106993014B (zh) * 2016-01-20 2020-12-18 中兴通讯股份有限公司 缓存内容的调整方法、装置及***
EP3429104A4 (en) * 2016-05-25 2019-04-17 Guangdong OPPO Mobile Telecommunications Corp., Ltd. DATA TRANSMISSION PROCESS, DEVICE AND SYSTEM
CN105915539B (zh) * 2016-05-31 2019-03-19 微梦创科网络科技(中国)有限公司 一种流媒体参数监控方法及装置
CN106792489A (zh) * 2017-02-16 2017-05-31 上海斐讯数据通信技术有限公司 一种基于蓝牙的语音传输方法、***及物联网终端
CN107734360B (zh) * 2017-09-15 2020-04-21 深圳英飞拓科技股份有限公司 流媒体服务器的控制方法及装置
CN107613331B (zh) * 2017-11-03 2019-07-19 中广热点云科技有限公司 视频传输过程的码率控制方法
CN107743253B (zh) * 2017-11-03 2019-07-19 中广热点云科技有限公司 用于无线网络中的视频传输速率适配方法
CN108063961B (zh) * 2017-12-22 2020-07-31 深圳市云网拜特科技有限公司 一种基于强化学习的自适应码率视频传输方法以及***
CN109195024B (zh) * 2018-08-24 2019-07-26 深圳爱克莱特科技股份有限公司 一种基于流媒体技术的灯光控制***数据处理***
CN109104592A (zh) * 2018-09-30 2018-12-28 广东电网有限责任公司 一种移动视频传输的方法、sdn控制器、***及设备
CN111107382B (zh) * 2018-10-29 2022-05-06 阿里巴巴集团控股有限公司 数据流的控制方法、装置和***
CN110446081B (zh) * 2019-09-04 2022-02-22 南京安谱软件有限公司 一种视频处理方法、装置及***
CN113014969B (zh) 2019-12-19 2022-06-07 花瓣云科技有限公司 视频播放的控制方法、终端设备、服务器和存储介质
CN113141523B (zh) 2020-01-17 2022-07-22 北京达佳互联信息技术有限公司 资源传输方法、装置、终端及存储介质
WO2021217318A1 (zh) * 2020-04-26 2021-11-04 华为技术有限公司 一种流媒体参数动态自适应网络的调整方法及装置
CN111669619B (zh) * 2020-06-04 2023-02-28 北京奇艺世纪科技有限公司 一种视频流数据切换方法、装置、终端和可读存储介质
CN112188239B (zh) * 2020-09-30 2022-12-20 中国联合网络通信集团有限公司 音视频流传输方法、媒体服务器及无线接入网络实体
CN113596139B (zh) * 2021-07-26 2024-07-16 北京飞讯数码科技有限公司 一种集群通信***及方法
CN113852866B (zh) * 2021-09-16 2022-08-02 珠海格力电器股份有限公司 媒体流的处理方法、装置及***
CN117750014A (zh) * 2022-11-24 2024-03-22 行吟信息科技(武汉)有限公司 视频编码方法、装置及存储介质
CN118214744A (zh) * 2022-12-16 2024-06-18 中兴通讯股份有限公司 码率适配方法、装置以及服务器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1655547A (zh) * 2004-09-09 2005-08-17 上海川海信息科技有限公司 一种流媒体传输***中的速率控制方法
CN1662009A (zh) * 2004-02-27 2005-08-31 乐金电子(中国)研究开发中心有限公司 移动通讯终端的流服务控制方法
CN1744592A (zh) * 2005-09-29 2006-03-08 西安交通大学 多源流媒体传输QoS控制方法
CN1764184A (zh) * 2005-10-20 2006-04-26 中兴通讯股份有限公司 一种实时流媒体通讯传输***和方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5928330A (en) * 1996-09-06 1999-07-27 Motorola, Inc. System, device, and method for streaming a multimedia file
AU5140200A (en) * 1999-05-26 2000-12-18 Enounce, Incorporated Method and apparatus for controlling time-scale modification during multi-media broadcasts
JP3884920B2 (ja) * 2001-04-16 2007-02-21 株式会社日立製作所 データ配送方法
US7191246B2 (en) * 2001-07-18 2007-03-13 Sharp Laboratories Of America, Inc. Transmission rate selection for a network of receivers having heterogenous reception bandwidth
US7047308B2 (en) * 2001-08-31 2006-05-16 Sharp Laboratories Of America, Inc. System and method for simultaneous media playout
US20040240390A1 (en) * 2003-05-30 2004-12-02 Vidiator Enterprises Inc. Method and apparatus for dynamic bandwidth adaptation
US7054774B2 (en) * 2003-06-27 2006-05-30 Microsoft Corporation Midstream determination of varying bandwidth availability
ES2313323T3 (es) * 2005-04-11 2009-03-01 Telefonaktiebolaget Lm Ericsson (Publ) Tecnica para controlar transmisiones de paquetes de datos de velocidad binaria variable.
US7889765B2 (en) * 2005-11-30 2011-02-15 Time Warner Cable Inc. Apparatus and methods for utilizing variable rate program streams in a network
US7962563B2 (en) * 2006-03-24 2011-06-14 International Business Machines Corporation System and method for managing storage system performance as a resource
US20080101410A1 (en) * 2006-10-25 2008-05-01 Microsoft Corporation Techniques for managing output bandwidth for a conferencing server
US7652993B2 (en) * 2006-11-03 2010-01-26 Sharp Laboratories Of America, Inc. Multi-stream pro-active rate adaptation for robust video transmission

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1662009A (zh) * 2004-02-27 2005-08-31 乐金电子(中国)研究开发中心有限公司 移动通讯终端的流服务控制方法
CN1655547A (zh) * 2004-09-09 2005-08-17 上海川海信息科技有限公司 一种流媒体传输***中的速率控制方法
CN1744592A (zh) * 2005-09-29 2006-03-08 西安交通大学 多源流媒体传输QoS控制方法
CN1764184A (zh) * 2005-10-20 2006-04-26 中兴通讯股份有限公司 一种实时流媒体通讯传输***和方法

Also Published As

Publication number Publication date
US20090216897A1 (en) 2009-08-27
CN101068236A (zh) 2007-11-07
CN101068236B (zh) 2011-10-26

Similar Documents

Publication Publication Date Title
WO2008125029A1 (fr) Procédé, système et dispositif permettant de contrôler le débit de codage du flux multimédia
JP5351170B2 (ja) 無線パケットネットワークにおける効率的なマルチメディア伝達のための方法および構成
KR101993167B1 (ko) 정체로 유도된 비디오 스케일링
US7444418B2 (en) Transcoding multimedia information within a network communication system
JP3853765B2 (ja) パケット圧縮方式及びパケット復元方式並びにパケット圧縮方法及びパケット復元方法
Thomas et al. Enhancing MPEG DASH performance via server and network assistance
JP4323432B2 (ja) ストリーミングメディアの伝送品質を高めるための方法
WO2006086691A2 (en) A network for providing a streaming service
Setton et al. Low latency video streaming over peer-to-peer networks
Go et al. Hybrid TCP/UDP-based enhanced HTTP adaptive streaming system with multi-homed mobile terminal
Cui et al. Dash+: Download multiple video segments with stream multiplexing of quic
WO2007051343A1 (fr) Système de transmission de support de flux à bande passante adaptative de système serveur de support de flux et méthode pour ceux-ci
WO2013071517A1 (zh) 媒体流的发送方法及服务器
Abdelsalam et al. Evaluation of DASH algorithms on dynamic satellite-enhanced hybrid networks
Zink et al. Scalable TCP-friendly video distribution for heterogeneous clients
KR101384125B1 (ko) 통신 시스템에서 맥 계층의 서비스 품질 파라미터 생성장치 및 방법
KR20080037950A (ko) 데이터를 송수신하는 방법 및 장치
WO2009155773A1 (zh) 下一代网络中传输多媒体业务的方法、***、 及媒体网关、媒体网关控制器
WO2023160403A1 (zh) 数据处理方法及装置
JP2005101873A (ja) ストリーム制御方法とその方法を利用可能な通信装置および端末
CN117041226A (zh) 基于组播和quic协议的流媒体多通道传输方法
Kesavan et al. Conventional to Cloud: Detailed survey and comparative study of multimedia streaming rate Adaptation
Verma et al. Multimedia Streaming in Mobile Wireless Networks
JP2012195864A (ja) 伝送システム及び伝送装置、並びに伝送方法
Hayasaka et al. Peer-to-peer multimedia streaming with guaranteed QoS for future real-time applications

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08706563

Country of ref document: EP

Kind code of ref document: A1