WO2019153930A1 - 实现视频业务的方法、设备、通信系统及计算机可读存储介质 - Google Patents
实现视频业务的方法、设备、通信系统及计算机可读存储介质 Download PDFInfo
- Publication number
- WO2019153930A1 WO2019153930A1 PCT/CN2018/124101 CN2018124101W WO2019153930A1 WO 2019153930 A1 WO2019153930 A1 WO 2019153930A1 CN 2018124101 W CN2018124101 W CN 2018124101W WO 2019153930 A1 WO2019153930 A1 WO 2019153930A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- video stream
- video
- rate
- smoothing
- transmission
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000004891 communication Methods 0.000 title claims abstract description 23
- 230000005540 biological transmission Effects 0.000 claims description 250
- 238000009499 grossing Methods 0.000 claims description 170
- 230000000875 corresponding effect Effects 0.000 claims description 41
- 230000011664 signaling Effects 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 20
- 230000002596 correlated effect Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 8
- 238000013468 resource allocation Methods 0.000 claims description 2
- 230000004044 response Effects 0.000 description 37
- 230000006870 function Effects 0.000 description 16
- 230000007246 mechanism Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000008030 elimination Effects 0.000 description 7
- 238000003379 elimination reaction Methods 0.000 description 7
- 239000012634 fragment Substances 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 229910001369 Brass Inorganic materials 0.000 description 1
- 239000010951 brass Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/23805—Controlling the feeding rate to the network, e.g. by controlling the video pump
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26216—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64723—Monitoring of network processes or resources, e.g. monitoring of network load
- H04N21/64738—Monitoring network characteristics, e.g. bandwidth, congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64746—Control signals issued by the network directed to the server or the client
- H04N21/64753—Control signals issued by the network directed to the server or the client directed to the client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64746—Control signals issued by the network directed to the server or the client
- H04N21/64761—Control signals issued by the network directed to the server or the client directed to the server
- H04N21/64769—Control signals issued by the network directed to the server or the client directed to the server for rate control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64784—Data processing by the network
- H04N21/64792—Controlling the complexity of the content stream, e.g. by dropping packets
Definitions
- the present application relates to the field of video services, and in particular, to a method, device, communication system, and computer readable storage medium for implementing a video service.
- IPTV Internet Protocol Television
- OTT Over The Top
- packet loss is the main cause of poor video experience.
- An important cause of network packet loss is traffic bursts. When a traffic burst occurs, a large number of data packets are received in a short period of time, causing the queue buffer to overflow and packet loss occurs.
- the embodiments of the present invention provide a method, a device, and a system for implementing a video service, which are used to reduce packet loss caused by traffic bursts.
- a first aspect provides a method for implementing a video service, the method comprising: acquiring feature information of a video stream, where the feature information of the video stream includes information indicating a highest code rate of the video stream; The feature information of the video stream determines a smoothing rate, where the smoothing rate is not less than a highest code rate of the video stream, and the smoothing code rate is used to determine a time interval at which the target device sends the data packet of the video stream to the video terminal.
- the smoothing rate determined according to the highest code rate of the video stream is not less than the highest code rate of the video stream, and the time interval of sending the data packet determined according to the smoothing rate can ensure the target device at the smoothing rate.
- the data packet is sent to the video terminal at a constant speed. Therefore, the probability that the downstream device of the target device receives the burst traffic can be effectively reduced under the premise of ensuring the smoothness of the video playback, thereby reducing the packet loss caused by the video traffic burst.
- the feature information of the video stream further includes information for indicating a maximum transmission rate of the video stream. Since the maximum transmission rate of the video stream is also considered when determining the smoothing rate, when the transmission rate of the video stream received by the target device is large, the smoothness of the video playback can be effectively ensured.
- the first rate may be determined according to the feature information of the video stream, where the first rate is not less than the The highest bit rate of the video stream.
- the first rate may be used as the smoothing rate, and a minimum of the first rate and a maximum available bandwidth corresponding to the video terminal may be determined as the smoothing rate.
- the method of determining the minimum value of the first rate and the maximum available bandwidth corresponding to the video terminal as the smoothing rate is adopted, when the first rate is greater than the maximum available bandwidth, determining the size of the smoothing rate and the video
- the maximum available bandwidth of the terminal is the same, that is, it is not greater than the maximum available bandwidth corresponding to the video terminal. Therefore, the occupation of the network bandwidth by the target device does not affect the transmission quality of other data transmitted in the network, so the transmission quality of other data in the network can be effectively guaranteed under the premise of ensuring the video playback effect of the video terminal as much as possible. .
- the first rate may be positively correlated with a highest code rate of the video stream.
- the highest code rate of the video stream is the rate of the video data itself (ie, the bare data), and when the video data is transmitted, the video data needs to be encapsulated into the data message, and in order to ensure the reliability of the data transmission, it is usually taken before To Service Error Assurance (SQA) mechanisms such as Forward Error Correction (FEC) and Retransmission (RET), these mechanisms result in additional traffic overhead.
- SQA To Service Error Assurance
- FEC Forward Error Correction
- RET Retransmission
- the traffic overhead caused by the transmission overhead factor such as packet header encapsulation and SQA mechanism needs to be considered when determining the first rate.
- the transmission overhead factor can be embodied as the transmission overhead coefficient a.
- the feature information of the video stream further includes a type of a transport layer protocol of the video stream, and a value of a is related to a type of a transport layer protocol of the video stream.
- the transport layer protocol of the video stream is a Transmission Control Protocol (TCP)
- TCP Transmission Control Protocol
- UDP User Datagram Protocol
- a ⁇ [1.05, 1.2], such as a 1.17.
- the transmission overhead of the UDP protocol is often greater than that of the TCP protocol. Therefore, the value of a corresponding to UDP can be greater than the value of a corresponding to TCP, so that the first rate can be calculated more accurately.
- the information for indicating a highest code rate of the video stream includes An average code rate E ave of the video stream, and a ratio R of a highest code rate of the video stream to an average code rate E ave of the video stream;
- the information for indicating a maximum transmission rate of the video stream includes An average code rate E ave , and a ratio n of a maximum transmission rate of the video stream and an average code rate E ave of the video stream;
- the application layer control protocol of the video stream may be a Real Time Streaming Protocol (RTSP), and correspondingly, when the video terminal enables the fast cache function, n ⁇ [1.1, 1.3], when the video When the terminal does not enable the fast cache function, n is 1.
- RTSP Real Time Streaming Protocol
- the maximum sending rate is usually greater than the maximum sending rate when the video terminal does not enable the fast buffer. Therefore, the first calculated rate is determined according to whether the video terminal turns on the fast buffer and determines the value of n to calculate the first rate. The rate is more accurate.
- the method is performed by the target device.
- the method further includes: determining, by the target device, the time interval according to the smoothing rate, and speaking to the video terminal at the time interval. Sending a data message of the video stream.
- the target device is a transmission device between a video server that sends the video stream and the video terminal, where the time interval is The sending, by the target device, the data packet of the video stream to the video terminal, when the target device receives the data packet of the video stream sent by the video server, the target device The video terminal sends the received data message of the video stream.
- a queue cache is further allocated to the video stream.
- the length of the queue buffer may be positively correlated with the smoothing rate.
- the method may further include: determining the video stream When the occupancy of the queue buffer exceeds the occupancy threshold, the size of the receiving window in the TCP acknowledgement (ACK) packet received from the video terminal is modified to the size of the remaining buffer of the queue buffer, and the carried The modified TCP ACK message of the receiving window size is sent to the video server.
- TCP acknowledgement ACK
- the remaining cache of the queue cache is small, that is, the modified receive window size is small, so the video server is reduced according to the modified receive window size.
- the rate at which the video stream is sent small, which can effectively reduce the risk of packet loss caused by the queue buffer overflow.
- the occupancy threshold may be greater than 50% of the length of the queue cache, such as greater than 60% of the length of the queue cache and less than 70% of the length of the queue cache. Because the set occupancy threshold is large, the utilization of the queue cache can be effectively improved.
- the acquiring the feature information of the video stream includes: receiving the video And control signaling corresponding to the video stream transmitted between the terminal and the video server, and determining part or all of the feature information of the video stream according to the control signaling. Since the feature information of the video stream can be obtained by parsing the control signaling without acquiring the feature information of the video stream by interacting with the video server or the video terminal, the burden on the video server or the video terminal can be effectively reduced.
- the method may be performed by a traffic engineering device.
- the method before the acquiring the feature information of the video stream, the method further includes: the traffic engineering device receiving a resource reservation request, where the resource reservation request includes feature information of the video stream.
- the acquiring the feature information of the video stream includes: the traffic engineering device acquiring the feature information of the video stream from the resource reservation request.
- the method further includes: the traffic engineering device allocating the target device and the video to the video stream according to the smoothing rate. A bandwidth resource between the terminals and transmitting the smoothing rate to the target device.
- the bandwidth resource between the target device and the video terminal can be allocated according to the smoothing rate, the risk of packet loss occurring downstream of the target device can be effectively reduced, thereby ensuring the transmission quality of the video stream.
- the resource reservation request may further include location information of the video terminal.
- the method further includes: the traffic engineering device according to the The smoothing rate and the location information determine a transmission path between the target device and the video terminal that satisfies the transmission of the video stream at the smoothing rate.
- a method for implementing a video service is provided, the method being performed by a transmission device located between a video server and a video terminal, and a video stream sent by the video server to the video terminal is transmitted through the transmission device .
- the method includes: the transmitting device receiving an identifier of a video stream and a smoothing rate of the video stream, and receiving the data packet of the video stream identified by the identifier of the video stream at the time interval The video terminal sends the received data message of the video stream.
- the transmitting device sends the data packet to the video terminal at a uniform interval according to the time interval of sending the data packet, so that the probability that the downstream device of the transmitting device receives the burst traffic can be effectively reduced.
- the network is lost.
- control signaling transmitted between the video server and the video terminal is transmitted by using the transmission device; and a transport layer protocol of the video stream is TCP.
- a transport layer protocol of the video stream is TCP.
- the method further includes: when determining that the occupancy of the queue buffer of the video stream exceeds an occupation threshold The transmission device modifies the receiving window size in the TCP ACK packet received by the video terminal to the remaining buffer size of the queue buffer, and sends the TCP ACK packet carrying the modified receiving window size. Give the video server.
- the remaining cache of the queue cache is small, that is, the modified receive window size is small, so the video server is reduced according to the modified receive window size.
- the rate at which the video stream is sent small, which can effectively reduce the risk of packet loss caused by the queue buffer overflow.
- an apparatus for implementing a video service comprising: an obtaining unit and a determining unit.
- the acquiring unit is configured to acquire feature information of a video stream, where the feature information of the video stream includes information indicating a highest code rate of the video stream.
- the information for indicating a highest code rate of the video stream includes an average code rate of the video stream, and a ratio of a highest code rate of the video stream to the average code rate, or the The information of the highest code rate of the video stream includes the highest code rate of the video stream.
- the determining unit is configured to determine, according to the feature information of the video stream, a smoothing rate, where the smoothing rate is not less than a highest code rate of the video stream, where the smoothing code rate is used to determine that the target device sends the The time interval of the data message of the video stream.
- the smoothing rate determined according to the highest code rate of the video stream is not less than the highest code rate of the video stream, and the time interval of sending the data packet determined according to the smoothing rate can ensure that the target device uses the smoothing rate.
- the data packet is sent to the video terminal at a uniform speed. Therefore, the probability that the downstream device of the target device receives the burst traffic can be effectively reduced under the premise of ensuring the smoothness of the video playback, thereby reducing network packet loss caused by the burst of the video traffic.
- the feature information of the video stream further includes information used to indicate a maximum transmission rate of the video stream.
- the information for indicating a maximum transmission rate of the video stream includes an average code rate of the video stream, and a ratio of a maximum transmission rate of the video stream to an average code rate of the video stream, or the The information indicating the maximum transmission rate of the video stream includes the maximum transmission rate of the video stream. Since the maximum transmission rate of the video stream is also considered when determining the smoothing rate, when the transmission rate of the video stream received by the target device is large, the smoothness of the video playback can be effectively ensured.
- the determining unit is specifically configured to determine a first rate according to the feature information of the video stream, The first rate is not less than the highest code rate of the video stream.
- the first rate may be used as the smoothing rate, and a minimum of the first rate and a maximum available bandwidth corresponding to the video terminal may be determined as the smoothing rate.
- the method of determining the minimum value of the first rate and the maximum available bandwidth corresponding to the video terminal as the smoothing rate is adopted, when the first rate is greater than the maximum available bandwidth, determining the size of the smoothing rate and the video
- the maximum available bandwidth of the terminal is the same, that is, it is not greater than the maximum available bandwidth corresponding to the video terminal. Therefore, the occupation of the network bandwidth by the target device does not affect the transmission quality of other data transmitted in the network, so the transmission quality of other data in the network can be effectively guaranteed under the premise of ensuring the video playback effect of the video terminal as much as possible. .
- the first rate may be positively correlated with a highest code rate of the video stream.
- the highest code rate of the video stream is the rate of the video data itself (ie, the bare data), and when the video data is transmitted, the video data needs to be encapsulated into the data message, and in order to ensure the reliability of the data transmission, it is usually taken before To correct the SQA mechanism such as FEC and RET, these mechanisms will cause additional traffic overhead.
- the traffic overhead caused by the transmission overhead factor such as packet header encapsulation and SQA mechanism needs to be considered when determining the first rate.
- the transmission overhead factor can be embodied as the transmission overhead coefficient a.
- the feature information of the video stream further includes a type of a transport layer protocol of the video stream, and a value of a is related to a type of a transport layer protocol of the video stream.
- a transport layer protocol of the video stream is TCP
- UDP transport layer protocol of the video stream
- the transmission overhead of the UDP protocol is often greater than that of the TCP protocol. Therefore, the value of a corresponding to UDP can be greater than the value of a corresponding to TCP, so that the first rate can be calculated more accurately.
- the information for indicating a highest code rate of the video stream includes An average code rate E ave of the video stream, and a ratio R of a highest code rate of the video stream to an average code rate E ave of the video stream;
- the information for indicating a maximum transmission rate of the video stream includes An average code rate E ave , and a ratio n of a maximum transmission rate of the video stream and an average code rate E ave of the video stream;
- the application layer control protocol of the video stream may be RTSP, and correspondingly, when the video terminal starts the fast cache function, n ⁇ [1.1, 1.3], when the video terminal does not enable the fast cache function, n is 1 .
- the maximum sending rate is usually greater than the maximum sending rate when the video terminal does not enable the fast buffer. Therefore, the first calculated rate is determined according to whether the video terminal turns on the fast buffer and determines the value of n to calculate the first rate. The rate is more accurate.
- the device and the target device are the same device.
- the device further includes a processing unit and a transmission unit, wherein the processing unit is configured to determine the time interval according to the smoothing rate, and send the video terminal to the video terminal by using the transmission unit at the time interval The data message of the video stream.
- the device is a transmission device between a video server that sends the video stream and the video terminal, or a service in the transmission device Board.
- the processing unit is specifically configured to: when receiving, by the sending unit, the data packet of the video stream sent by the video server, send, by the transmission unit, the received video message to the video terminal at the time interval The data message of the video stream.
- the processing unit further allocates a queue cache for the video stream.
- the length of the queue buffer may be positively correlated with the smoothing rate.
- the processing unit is further configured to: when determining that the occupancy of the queue buffer of the video stream exceeds an occupancy threshold, receive, by the transmitting unit, from the video terminal The receiving window size in the TCP ACK packet is modified to the remaining buffer size of the queue buffer, and the TCP ACK packet carrying the modified receiving window size is sent to the video server by the transmitting unit.
- the remaining cache of the queue cache is small, that is, the modified receive window size is small, so the video server is reduced according to the modified receive window size.
- the rate at which the video stream is sent small, which can effectively reduce the packet loss caused by the queue buffer overflow.
- the occupancy threshold may be greater than 50% of the length of the queue cache, such as greater than 60% of the length of the queue cache and less than 70% of the length of the queue cache. Because the set occupancy threshold is large, the utilization of the queue cache can be effectively improved.
- the acquiring unit may be specifically received according to the device.
- the control signaling corresponding to the video stream transmitted between the video terminal and the video server determines part or all of the feature information of the video stream. Since the feature information of the video stream can be obtained by parsing the control signaling without acquiring the feature information of the video stream by interacting with the video server or the video terminal, the burden on the video server or the video terminal can be effectively reduced.
- the device may be a traffic engineering device.
- the device further includes a resource reservation unit and a transmission unit.
- the transmission unit is configured to receive a resource reservation request, where the resource reservation request includes feature information of the video stream.
- the acquiring unit is specifically configured to acquire feature information of the video stream from the resource reservation request.
- the resource allocation unit is configured to allocate a bandwidth resource between the target device and the video terminal to the video stream according to the smoothing rate, and send the smoothing rate to the target device by using the transmitting unit .
- the bandwidth resource between the target device and the video terminal can be allocated according to the smoothing rate, the risk of packet loss occurring downstream of the target device can be effectively reduced, thereby ensuring the transmission quality of the video stream.
- the resource reservation request may further include location information of the video terminal.
- the resource reservation unit is further configured to use, according to the smoothing rate, the bandwidth resource between the target device and the video terminal according to the smoothing rate, according to the smoothing rate and the location. The information determines a transmission path between the target device and the video terminal that satisfies the transmission of the video stream at the smoothing rate.
- a transmission device that implements a video service is provided, and a video stream sent by the video server to the video terminal is transmitted through the transmission device.
- the transmission device includes a processing unit and a transmission unit.
- the transmitting unit is configured to receive an identifier of the video stream and a smoothing rate of the video stream.
- the processing unit is configured to send, by the transmission unit, the received location to the video terminal by using the transmission unit at the time interval when receiving, by the transmission unit, the data packet of the video stream identified by the identifier of the video stream The data message of the video stream.
- the transmitting device sends the data packet to the video terminal uniformly according to the time interval of sending the data packet determined by the smoothing rate, so that the probability that the downstream device of the transmitting device receives the burst traffic can be effectively reduced.
- the video traffic burst causes network packet loss.
- the control signaling transmitted between the video server and the video terminal is transmitted by using the transmission device, and the transport layer protocol of the video stream is a transmission control protocol (TCP).
- TCP transmission control protocol
- the processing unit is further configured to: when determining that the occupancy of the queue buffer of the video stream exceeds an occupation threshold, modify a size of a receiving window in a TCP ACK message received by the transmission unit from the video terminal to The remaining buffer size of the queue cache is sent, and the TCP ACK message carrying the modified receiving window size is sent to the video server by the transmitting unit.
- the remaining cache of the queue cache is small, that is, the modified receive window size is small, so the video server is reduced according to the modified receive window size.
- the rate at which the video stream is sent small, which can effectively reduce the risk of packet loss caused by the queue buffer overflow.
- a communication system including a target device and a determining device.
- the determining device is configured to acquire feature information of the video stream, determine a smoothing rate according to the feature information of the video stream, and send the smoothing rate to the target device, where the feature information of the video stream includes The highest bit rate information of the video stream, the smoothing rate being not less than the highest code rate of the video stream.
- the target device is configured to receive the smoothing rate sent by the target device, and determine, according to the smoothing rate, a time interval for sending a data packet of the video stream to a video terminal, and use the time interval to The video terminal sends a data message of the video stream.
- the smoothing rate determined according to the highest code rate of the video stream is not less than the highest code rate of the video stream, and the time interval of sending the data packet determined according to the smoothing rate can ensure that the target device uses the smoothing rate.
- the data packet is sent to the video terminal at a constant speed. Therefore, the probability that the downstream device of the target device receives the burst traffic can be effectively reduced under the premise of ensuring the smoothness of the video playback, thereby solving the problem that the video traffic burst causes the network to lose packets.
- control signaling transmitted between the video server and the video terminal is transmitted by the target device; and a transport layer protocol of the video stream is TCP.
- the target device is further configured to: when determining that the occupancy of the queue buffer of the video stream exceeds an occupation threshold, modify a receiving window size in a TCP ACK packet received from the video terminal to a remaining of the queue cache. Cache size, and send the TCP ACK message carrying the modified receiving window size to the video server.
- the remaining cache of the queue cache is small, that is, the modified receive window size is small, so the video server is reduced according to the modified receive window size.
- the rate at which the video stream is sent small, which can effectively avoid the risk of packet loss caused by the overflow of the queue buffer.
- an apparatus for implementing a video service including: a processor and a memory.
- the processor is configured to execute instructions stored in the memory, the processor implementing the method of any of the first aspect or the first aspect by executing the instructions.
- a transmission device for implementing a video service including: a processor and a memory.
- the processor is configured to execute instructions stored in the memory, the processor implementing the method of any of the second aspect or the second aspect by executing the instructions.
- a computer readable storage medium stores instructions that, when executed on a processor of a computer, cause the processor to perform the first aspect or A method provided by any of the implementations of the aspect, or the method of any one of the second aspect or the second aspect.
- FIGS. 1A and 1B are schematic diagrams showing a networking structure of a communication system 100 according to an embodiment of the present invention
- FIGS. 2 and 3A-3D are schematic flowcharts of a method 200 according to Embodiment 1 of the present invention.
- 4A-4C are schematic structural diagrams of a device 200 according to Embodiment 2 of the present invention.
- FIG. 5 is a schematic structural diagram of a transmission device 300 according to Embodiment 3 of the present invention.
- FIG. 6 is a schematic structural diagram of an apparatus 1000 according to Embodiment 4 of the present invention.
- FIG. 7 is a schematic structural diagram of a transmission device 2000 according to Embodiment 5 of the present invention.
- FIG. 8 is a schematic structural diagram of a communication system 4000 according to Embodiment 6 of the present invention.
- FIG. 1A is a schematic diagram of a networking structure of a communication system 100 according to an embodiment of the present invention.
- the communication system 100 includes a video server 110, at least one transmission device 120, and a video terminal 130.
- the control signaling transmitted between the video server 110 and the video terminal 130 and the data message encapsulated with the video data transmitted by the video server 110 to the video terminal 130 are transmitted through the transmission device 120.
- the application layer protocol used by the video server 110 to send video data to the video terminal 130 may be Real-time Transport Protocol (RTP), Hypertext Transfer Protocol (HTTP), etc., and the transport layer protocol used. It can be UDP or TCP.
- the video data sent by the video server 110 may be sequentially encapsulated by an application layer protocol header, a transport layer protocol header, and an Internet Protocol (IP) header, or may be sequentially encapsulated with a transport layer protocol header and an IP header. transmission.
- RTP Real-time Transport Protocol
- HTTP Hypertext Transfer Protocol
- IP Internet Protocol
- the data packet in the embodiment of the present invention may be an application layer protocol packet, such as an RTP packet or an HTTP packet, or a transport layer protocol packet, such as a UDP packet or a TCP packet. It can also refer to IP packets.
- the video data encapsulated in the data message constitutes a video stream.
- the communication system 100 can also include a traffic engineering device 140 for resource reservation for transporting video streams.
- the communication system 100 may specifically be an IPTV system as shown in FIG. 1B.
- the video server 110 is an IPTV head end
- the video terminal 130 is a set top box (STB)
- the transmission device 120 can be a home gateway, a core router (Core Router, CR), and a broadband network gateway (Broadband Network). Gateway, BNG), Optical Line Terminal (OLT) or Broadband Remote Access Server (BRAS).
- BNG Core Router
- ONT Optical Line Terminal
- BRAS Broadband Remote Access Server
- the method 200 provided in the first embodiment of the present invention is described below with reference to FIGS. 1A-1B, 2, and 3A-3D.
- a smoothing rate of the video stream is determined based on the feature information of the video stream, and the video stream is transmitted to the video terminal at the smoothing rate.
- traffic burst cancellation the subsequent transmission of the video stream to the video terminal at a smooth rate
- the device that determines the smoothing rate is referred to as a determining device
- the device that implements traffic burst cancellation is referred to as a target device.
- the method 200 of Embodiment 1 of the present invention can be applied to the communication system 100 shown in FIGS. 1A and 1B.
- the determining device may be the video server 110 in the communication system 100, or any of the transmitting devices 120, or the traffic engineering device 140, which may be the video server 110 in the communication system 100, or any of the transmitting devices 120.
- the deployment location of the traffic burst elimination function may be determined according to the location of the network bottleneck.
- the traffic burst cancellation function can be implemented on the video server or the transmission device close to the video server.
- the traffic burst elimination function is implemented on the intelligent network card of the video server
- the traffic burst elimination function is implemented on the device between the video server and the CR
- the router with the traffic burst elimination function is deployed between the video server and the CR.
- the upstream packet loss rate of the transmission device is not high, but the downstream packet loss rate of the transmission device is relatively high, and traffic burst can be implemented on the transmission device. Eliminate functionality.
- Embodiment 1 The smoothing rate is determined by a transmission device (e.g., BRAS) located between the video server and the video terminal and traffic burst elimination is performed.
- a transmission device e.g., BRAS
- Embodiment 2 The smoothing rate is determined by the traffic engineering device and traffic burst cancellation is performed by at least one transmission device located between the video server and the video terminal according to a smoothing rate determined by the traffic engineering device.
- Embodiment 3 The smoothing rate is determined by the video server and traffic burst cancellation is performed.
- Embodiment 4 The smoothing rate is determined by the traffic engineering device and the traffic burst is eliminated by the video server according to the smoothing rate determined by the traffic engineering device.
- the method 200 includes the following steps:
- Embodiment 1 of the present invention is a schematic flow chart of a method provided by Embodiment 1 of the present invention
- S201 Determine that the device acquires feature information of the video stream.
- the feature information of the video stream includes information indicating the highest code rate of the video stream.
- the information used to represent the highest code rate of the video stream may include an average code rate, and a ratio R of the highest code rate of the video stream to an average code rate of the video stream; information indicating the highest code rate of the video stream
- the highest code rate E max of the video stream can be included.
- R is usually a value belonging to the interval [1.5, 4], and can be, for example, 1.80.
- the feature information of the video stream may also include information indicating a maximum transmission rate of the video stream.
- the information indicating the maximum transmission rate of the video stream may include an average code rate E ave , and a ratio n of a maximum transmission rate of the video stream and an average code rate of the video stream; for indicating a maximum transmission rate of the video stream
- the information can also be the maximum transmission rate of the video stream.
- the maximum transmission rate of the video stream is the maximum rate at which the estimated video server sends the video stream.
- HTTP HyperText Transfer Protocol
- Step S202 The determining device determines, according to the feature information of the video stream, a smoothing rate, where the smoothing rate is not less than the highest code rate, and the smoothing rate is used to determine a time interval at which the target device sends the data packet of the video stream to the video terminal.
- the rate S may be first determined according to the feature information of the video stream or according to the feature information of the video stream and other information (such as a service policy), and then the rate S is directly used as the smoothing rate, or the rate S is The minimum of the maximum available bandwidth corresponding to the video terminal is determined as the smoothing rate.
- the rate S and the maximum transmission rate, the rate S, and the highest code rate are all positive correlations.
- the highest code rate of the video stream is the rate of the video data itself (ie, the bare data), and when the video data is transmitted, the video data needs to be encapsulated into the data message, and in order to ensure the reliability of the data transmission, it is usually taken before To Service Error Assurance (SQA) mechanisms such as Forward Error Correction (FEC) and Retransmission (RET), these mechanisms result in additional traffic overhead.
- SQA To Service Error Assurance
- FEC Forward Error Correction
- RET Retransmission
- the traffic overhead caused by the transmission overhead factor such as the packet header encapsulation and the SQA mechanism needs to be considered when determining the rate S.
- the value of a may be related to the type of the transport layer protocol of the video stream.
- the feature information of the video stream may further include a type of a transport layer protocol of the video stream, and the type of the transport layer protocol may be determined according to the type of the transport layer protocol. Value.
- rate S it can also be determined in combination with a business policy.
- the service policy is used to indicate that the transmission quality of the video stream that satisfies the preset condition is preferentially guaranteed.
- the service policy is used to indicate that the transmission quality of the 4k video stream is preferentially guaranteed, or the transmission quality of the video stream of the VIP (very important person (VIP) user is preferentially guaranteed.
- the business policy can be pre-set on the determining device.
- the feature information of the video stream may further include information for indicating whether the video stream is satisfying the preset condition, for example, including information for indicating whether the video stream is a 4k video stream, or for indicating the Whether the user of the video terminal corresponding to the video stream is the information of the VIP user.
- the determined rate S is positively correlated with the policy coefficient determined according to the service policy, wherein the value of the policy coefficient determined according to the service policy may be [0.5, 3].
- the value of the policy coefficient b 1 corresponding to the video stream that meets the preset condition is greater than the value of the policy coefficient b 2 corresponding to the video stream that does not satisfy the preset condition, where b 1 ⁇ [0.5,3], b 2 ⁇ [0.5, 3].
- the service policy may include the value of the policy coefficient corresponding to the video stream that meets the preset condition and the video stream that does not meet the preset condition.
- the value of the policy coefficient corresponding to the 4k video stream is 2.5.
- the value of the policy coefficient corresponding to the non-4k video stream is 1.0.
- the determining device determines the value of the corresponding policy coefficient, and further determines the rate S according to the determined value of the determined policy coefficient.
- a coefficient b can be determined according to each service policy, and the determined rate S is positively correlated with the maximum value of the coefficient b respectively determined according to the plurality of service policies.
- the rate S can be calculated according to the following formula:
- B is a coefficient b determined according to the service policy.
- B is a maximum value of the coefficient b determined according to each service policy.
- the smoothing rate determined by the highest code rate of the video stream is not less than the highest code rate of the video stream, and the time interval of sending the data packet determined according to the smoothing rate can ensure that the target device uses the The smoothing rate sends data packets to the video terminal at a uniform rate. Therefore, the probability that the downstream device of the transmission device receives the burst traffic can be effectively reduced under the premise of ensuring the smoothness of the video playback, thereby reducing the packet loss caused by the video traffic burst. .
- Embodiment 1 of Embodiment 1 of the present invention is described below with reference to FIG. 3A.
- the target device and the determining device are the same device, and are a transmitting device (such as a BRAS) located between the video server and the video terminal, and are hereinafter referred to as a first transmitting device.
- a transmitting device such as a BRAS
- Step S3A01 The first transmission device acquires feature information of the video stream.
- the control signaling transmitted between the video terminal and the video server is transmitted by the first transmission device. Accordingly, the first transmission device may acquire part or all of the feature information of the video stream according to the received control signaling.
- the application layer control protocol used between the video terminal and the video server may be RTSP.
- the first transmission device may determine, according to the value of tcp.port in the received signaling, that the application layer control protocol used between the video terminal and the video server is RTSP, and may determine the letter according to the value of the method in the received signaling.
- the type of order. The process by which the first transmission device acquires the feature information of the video stream is as follows.
- the video terminal first sends a DESCRIBE request to the video server.
- the DESCRIBE request includes a five-tuple of the RTSP session, namely a source IP address, a destination IP address, a source port number, a destination port number, and a transport layer protocol.
- the first transmission device may extract the quintuple from the DESCRIBE request.
- the first transmission device can subsequently use the quintuple to match other control signaling related to the RTSP session, and the control signaling including the same quintuple corresponds to the same video stream.
- the video server After receiving the DESCRIBE request, the video server replies to the video terminal with a DESCRIBE response.
- the first transmission device may extract an average code rate from the b: as field of the DESCRIBE response.
- the video terminal After receiving the DESCRIBE response, the video terminal sends a SETUP request to the video server, where the SETUP request carries the quintuple of the RTSP session.
- the video server After receiving the SETUP request, the video server returns a SETUP response to the video terminal, and the value of the transport field of the SETUP response is a media transmission mode, including a transport layer protocol (such as TCP or UDP) and a source IP address used for subsequent transmission of the video stream.
- a transport layer protocol such as TCP or UDP
- the first transmission device may extract the transport layer protocol and the source IP address from the transport field of the SETUP response. Further, the transmission overhead coefficient a can be determined according to the extracted transport layer protocol.
- a is a value in the range [1.05, 1.11]
- the transport layer protocol is UDP
- a is a range [1.05 , the value within 1.2], such as 1.17.
- the video terminal After receiving the SETUP response, the video terminal sends a SET_PARAMETER request to the video server, the SET_PARAMETER request carrying the quintuple of the RTSP session. After receiving the SET_PARAMETER request, the video server returns a SET_PARAMETER response to the video terminal.
- the value of the x-Fast_Cache field in the SET_PARAMETER response is used to indicate whether the video terminal enables the fast cache function.
- the first transmission device may determine, according to the value of the x-Fast_Cache field of the SET_PARAMETER response, whether the video terminal has enabled the fast cache function.
- the ratio of the maximum transmission rate of the video stream and the average code rate of the video stream is a value obtained in advance from a video service provider or a preset value, such as 1.1. Or 1.2. If it is determined that the fast cache function is not enabled, it can be determined that the maximum transmission rate is the average code rate, that is, the value of n is 1.
- the video terminal After receiving the SET_PARAMETER response, the video terminal sends a PLAY request to the video server, and after receiving the PLAY request, the video server returns a PLAY response to the video terminal, and sends a video stream to the video terminal.
- the application layer control protocol used between the video terminal and the video server can also be HTTP.
- the video terminal first sends an HTTP GET request to the video server.
- the URL field of the HTTP GET request includes the character “index.m3u8” for requesting the top index file index.m3u8 of the video, and the HTTP GET further includes a five-tuple, the five-member
- the group includes the IP address of the video server, the IP address of the video terminal, the port number of the video server, the port number of the video terminal, and the transport layer protocol.
- the video server After receiving the HTTP GET request, the video server returns an HTTP GET response to the video terminal, where the HTTP GET response includes the top-level index file index.m3u8 of the requested video, and the top-level index file includes different versions (such as HD version, SD version).
- the first transmitting device determines a ratio n of the maximum transmission rate of the video stream requested by the HTTP GET request and the average bit rate of the video stream, which is usually 1.81, and from the HTTP GET Extracting information that can be used to identify the video stream (ie, the identifier of the video stream), such as the source IP address of the video stream (ie, the IP address of the video server), the source port number (ie, the port number of the video server), and the destination port.
- the number (ie, the port number of the video terminal) and the transport layer protocol, the identifier of the extracted video stream may be used to match other control signaling corresponding to the same video stream that is subsequently received and the video stream.
- the first transmission device may also extract the average code rate of the highest definition version as the average code rate of the video stream; if the description information of each version includes the highest code rate The first transmission device can also extract the highest code rate of the highest definition version as the highest code rate of the video stream.
- the video terminal After receiving the top-level index file, the video terminal sends an HTTP GET request for obtaining a secondary index file corresponding to one version to the video server. For example, the user selects a version of PROGRAM-ID of 4.
- the URL of the HTTP GET request includes characters.
- the string 4.m3u8 indicates the request for the secondary index file 4.m3u8.
- the video terminal may also request to obtain all secondary index files from the video server.
- the video server returns the requested secondary index file to the video terminal, and the returned secondary index file includes information about all the video segments of the version corresponding to the secondary index file, for example, including each of the 100 fragments.
- the url, size, and duration may also include the bitrate of each shard.
- the first transmission device acquires the information of the slice from the secondary index file of the highest-definition version and determines the average code rate and the highest code rate of the video stream according to the information of the slice.
- the code rate of each slice may be calculated according to the size and duration of each slice in the secondary index file, and the code rate of the slice with the highest code rate is used as the highest code rate of the video stream, and the code of each slice is calculated. The average of the rates is taken as the average code rate of the video stream. If the code rate of each slice is included in the secondary index file, the code rate of each slice may not be calculated, but the average of the video stream is directly determined according to the code rate of each slice included in the secondary index. Rate and highest bit rate.
- the first transmission device can obtain the highest code rate and the average code rate by using the top-level index file, and can also obtain the highest code rate and the average code rate by using the highest-level version of the secondary index file, regardless of which The highest code rate and average code rate obtained by the method can be used to calculate the smoothing rate.
- the video terminal After receiving the secondary index file, the video terminal sends an HTTP GET request for requesting the corresponding video fragment to the video server according to the URL of the video fragment in the secondary index file of the version selected by the user.
- the video server sends the requested video fragment to the video terminal.
- the maximum code rate of the video stream may not be limited to R times of the average code rate of the video stream, and the first transmission device may acquire the multiple R storage set by the video server from the video server before step S3A01. Down, you can also set the value of R in the first transmission device and store it. Accordingly, the stored R can also be acquired in step S3A01.
- the first transmission device may be a transparent TCP proxy.
- the first transmission device After receiving the control signaling sent by the video terminal, the first transmission device interacts with the video server instead of the video terminal, and after receiving the control signaling sent by the video server, replaces the video server to interact with the video terminal, and establishes the video server and the first transmission device.
- a TCP connection hereinafter referred to as TCP connection 1
- TCP connection 2 a TCP connection between the first transmission device and the video terminal
- the first transmission device may further determine, according to the average code rate, whether the video stream is a 4k video.
- the first transmission device may further acquire, according to the IP address of the video terminal, the pre-stored user service policy data of the video terminal, where the user service policy data includes a maximum available bandwidth corresponding to the video terminal and a user used to indicate the video terminal.
- Information for VIP users may be acquired, according to the IP address of the video terminal, the pre-stored user service policy data of the video terminal, where the user service policy data includes a maximum available bandwidth corresponding to the video terminal and a user used to indicate the video terminal.
- Information for VIP users may be acquired, according to the IP address of the video terminal, the pre-stored user service policy data of the video terminal, where the user service policy data includes a maximum available bandwidth corresponding to the video terminal and a user used to indicate the video terminal.
- the first transmission device may further acquire, according to the IP address of the video terminal, an identifier of the OLT to which the video terminal belongs, or an identifier of an interface connected to the video terminal on the OLT.
- the feature information of the video stream can be obtained by parsing the control signaling without acquiring the feature information of the video stream by interacting with the video server or the video terminal, the burden on the video server or the video terminal can be effectively reduced.
- Step S3A02 The first transmission device determines a smoothing rate of the video stream according to the feature information of the video stream.
- step S3A02 is the same as that of step S202, and details are not described herein.
- Step S3A03 The first transmission device sends a resource reservation request to the traffic engineering device, where the resource reservation request includes the smoothing rate, to request the traffic engineering device to allocate the first transmission device and the video terminal to the video stream according to the smoothing rate. Bandwidth resources.
- the smoothing rate is used to indicate the size of the bandwidth resource requested to be reserved.
- Step S3A04 After receiving the resource reservation request, the traffic engineering device allocates the bandwidth resource between the first transmission device and the video terminal to the video stream according to the smoothing rate.
- the resource reservation request may also include location information of the video terminal.
- the location information of the video terminal may be an IP address of the video terminal, an identifier of the OLT to which it belongs, or an identifier of an interface connected to the video terminal on the OLT.
- the resource reservation request may further include an identifier of the video stream, where the identifier of the video stream may be a quintuple of the video stream, or may be part of a quintuple of the video stream, such as a source IP address of the video stream. Source port number, destination port number, and transport layer protocol.
- the identifier of the video stream includes the IP address of the video terminal, if the identifier of the video stream is a quintuple of the video stream, the IP address of the video terminal is both part of the identifier of the video stream. Is the location information of the video terminal.
- the traffic engineering device can determine the first transmission device and the video terminal by using the collected network topology and the location information of the video terminal. And a forwarding path for transmitting the video stream, and determining whether the video stream can be accepted according to the available bandwidth resource on the transmission path and the smoothing rate, that is, determining whether the available bandwidth resource on the transmission path satisfies the smoothing rate.
- the video stream is transmitted. If it is acceptable, allocate bandwidth resources for the video stream and perform step S3A05; otherwise, return a resource reservation response indicating that the reservation failed.
- the traffic engineering device can use the smoothing rate and the location information as the The video stream determines a transmission path between the first transmission device and the video terminal that satisfies the transmission of the video stream at the smoothing rate, and performs step S3A05. Specifically, the traffic engineering device establishes a tunnel between the first transmission device and the video terminal for transmitting the video stream according to the collected network topology, the location information, and the smoothing rate, or calculates between the first transmission device and the video terminal. The forwarding path used to transport the video stream.
- MPLS multi-protocol label switching
- the traffic engineering device may further send, to the network controller for controlling the transmission path of the video stream, a forwarding label corresponding to the tunnel or the forwarding path, so that the network controller forwards the label according to the forwarding label through the tunnel or the transmission device on the forwarding path.
- Video stream may also directly send the forwarding label corresponding to the tunnel or the forwarding path to the transmission device located on the tunnel or the forwarding path, to indicate that the transmission device on the tunnel or the forwarding path forwards the video stream according to the forwarding label.
- Step S3A05 After allocating the bandwidth resource, the traffic engineering device returns a resource reservation response indicating that the reservation is successful to the first transmission device.
- the resource reservation response can include an identification of the video stream. It should be noted that the first transmission device usually requests resource reservation from the traffic engineering device based on multiple video streams, and the identifier of the video stream carried in the resource reservation request and the resource reservation response may be used to indicate resource reservation and video stream. Correspondence.
- Step S3A06 The first transmission device allocates a queue buffer for the video stream, and determines a time interval for transmitting the data packet of the video stream according to the smoothing rate.
- the length of the queue buffer allocated for the video stream can be positively correlated with the smoothing rate.
- the length of the queue buffer may be the product of the smoothing rate and the buffer duration C, where C may be a value within the interval [10 ms, 1000 ms]. Since the smoothing rate of the video stream is larger, the queue buffer allocated to the video stream is larger, so the risk of buffer overflow can be effectively reduced.
- the first transmission device can preset the value of C, such as 100 ms.
- C may also be determined based on the total cache size of the first transmission device, the planned size of the total video traffic that can be accommodated, and the length of the queue buffer that is scheduled to be allocated for each video stream. Specifically, C can be determined by using the quotient of the planned total video traffic size and the length of the queue buffer allocated to each video stream as the total number of video streams that can be accommodated, and the total cache size and total amount can be The quotient of the number of video streams to be accommodated is used as the estimated queue length, and the quotient of the estimated queue length and the estimated smoothing rate is taken as the value of C.
- the estimated smoothing rate may be preset, such as 60 mbps (ie, per second). 60 megabits).
- the planned total video traffic size is 512G
- the queue buffer allocated to each video stream is planned to be 1G in length
- the total cache size is 100G
- the interval for sending each two adjacent data packets is 0.13 ms.
- Step S3A07 The first transmission device transmits the data message of the video stream received from the video server to the video terminal at the time interval.
- the video stream sent by the video server to the video terminal is transmitted by the first transmission device, and the first transmission device puts the data packet sent by the received video server into the queue cache, and then removes the data packet from the queue cache according to the time interval.
- the outgoing port is sent out. For example, when the time interval is 0.13 ms, when there is a data packet in the queue buffer, the first transmission device sends a data packet from the queue buffer every 0.13 ms and sends it out through the outbound port.
- the first transmission device may also The values of the priority fields of the data packets are all marked as the first priority, wherein the first priority is higher than the priority of the non-voice and non-video services, and accordingly, the transmission device between the first transmission device and the video terminal The video stream will be transmitted with the first priority.
- the video terminal When the video stream is transmitted through the TCP protocol, the video terminal will reply the TCP ACK message to the video server when receiving the TCP data packet encapsulating the video data, and the received TCP ACK carries the receiving window size of the video terminal (receive window) Size, RWS).
- the video server adjusts the rate of sending the video stream according to the size of the receiving window carried in the received TCP ACK packet.
- the first transmission device can also reduce the overflow of the queue buffer of the video stream by performing the subsequent steps S3A08-S3A09.
- Step S3A08 The first transmission device, when determining that the occupancy of the queue buffer of the video stream exceeds the occupancy threshold, changes the size of the receiving window in the TCP ACK message received from the video terminal to the size of the remaining buffer of the queue buffer.
- the occupancy threshold is greater than 50% of the size of the queue cache, typically a value greater than 60% of the size of the queue cache and less than 70% of the size of the queue cache.
- Step S3A09 The first transmission device sends a TCP ACK message carrying the modified receiving window size to the video server.
- the video server adjusts the rate at which the video stream is sent according to the size of the receiving window in the received TCP ACK message.
- the remaining cache of the queue cache is small, that is, the modified receive window size is small, so the video server is reduced according to the modified receive window size.
- the rate at which the video stream is sent small, so that the packet loss caused by the overflow of the queue buffer can be effectively performed.
- Step S3A10 After determining that the video stream transmission ends, the first transmission device releases the queue buffer resource, and sends a resource release request to the traffic engineering device to request the traffic engineering device to release the resource allocated for the video stream.
- Embodiment 2 of Embodiment 1 of the present invention is described below with reference to FIG. 3B.
- the target device is a transmission device (such as a BRAS) located between the video server and the video terminal, and the device is determined to be a traffic engineering device.
- a transmission device such as a BRAS
- Step S3B01 Acquire feature information of the video stream.
- Step S3B01 may be performed by the target device (as shown in FIG. 3B) or may be performed by the video server.
- step S3B01 is performed by the target device, the specific implementation of the step S3B01 is the same as the step S3A01, and details are not described herein.
- the video server may obtain the stored feature information corresponding to the video according to the requested video after receiving the video request sent by the video terminal.
- Step S3B02 Send a resource reservation request to the traffic engineering device, where the resource reservation request includes feature information of the video stream.
- Step S3B02 is the same as the execution body of step S3B01.
- the resource reservation request may further include an identifier of the video stream, location information of the terminal, and location information of the video server.
- the location information of the video terminal may be an IP address of the video terminal, an identifier of the OLT to which it belongs, or an identifier of an interface connected to the video terminal on the OLT.
- the location information of the video server may specifically be the IP address of the video server.
- the identifier of the video stream may be a quintuple of the video stream or a part of a quintuple of the video stream, such as a source IP address, a source port number, a destination port number, and a transport layer protocol of the video stream.
- the identifier of the video stream includes the IP address of the video terminal, if the identifier of the video stream is a quintuple of the video stream, the IP address of the video terminal is both part of the identifier of the video stream. Is the location information of the video terminal; if the identifier of the video stream includes the IP address of the video server, if the identifier of the video stream is a quintuple of the video stream, the IP address of the video server is the identifier of the video stream. Part of it is the location information of the video server.
- Step S3B03 After receiving the resource reservation request, the traffic engineering device obtains the feature information of the video stream from the resource reservation request, and determines the smoothing rate according to the acquired feature information of the video stream.
- step S202 The method for determining the smoothing rate is the same as step S202 and will not be described again.
- Step S3B04 The traffic engineering device allocates a bandwidth resource between the target device and the video terminal for the video stream according to the smoothing rate.
- step S3B04 is the same as that of S3A04, and details are not described herein again.
- the traffic engineering device needs to determine the target device in step S3B04.
- the location information of the video terminal and the location information of the video server may be used to determine between the video server and the video terminal.
- a transmission path for transmitting the video stream and determining, according to a pre-configured list of devices that implement traffic burst elimination, a device (ie, a target device) that implements traffic burst elimination on the transmission path, and further the video stream. Allocate bandwidth resources between the target device and the video terminal.
- Step S3B05 The traffic engineering device sends a notification message to the target device, where the notification message includes the determined smoothing rate.
- the notification message in step S3B05 is a resource reservation response.
- the resource reservation request and the resource reservation response may further include an identifier of the video stream, and is used to indicate a correspondence between the resource reservation and the video stream.
- the traffic engineering device sends a notification message in the step S3B05 to the target device determined in step S3B04, and transmits a resource reservation response indicating that the reservation is successful to the video server.
- Step S3B06-S3B09 Same as step S3A06-S3A09, and will not be described again.
- Embodiment 3 The target device and the determining device are both video servers.
- Step S3C01 The video server acquires feature information of the video stream.
- the video server may obtain the stored feature information corresponding to the video according to the requested video.
- Step S3C02 The video server determines a smoothing rate of the video stream according to the feature information of the video stream.
- step S3C02 is the same as that of step S202, and details are not described herein again.
- Step S3C03 The video server sends a resource reservation request to the traffic engineering device, where the resource reservation request includes the smoothing rate, to request the traffic engineering device to allocate the bandwidth between the first transmission device and the video terminal to the video stream according to the smoothing rate. Resources.
- the smoothing rate is used to indicate the size of the bandwidth resource requested to be reserved.
- Step S3C04 After receiving the resource reservation request, the traffic engineering device allocates the bandwidth resource between the first transmission device and the video terminal for the video stream according to the smoothing rate.
- step S3C04 is the same as that of S3A04, and will not be described again.
- Step S3C05 After allocating the bandwidth resource, the traffic engineering device returns a resource reservation response indicating that the reservation is successful to the first transmission device.
- the resource reservation response can include an identification of the video stream. It should be noted that the first transmission device usually requests resource reservation from the traffic engineering device based on multiple video streams, and the identifier of the video stream carried in the resource reservation request and the resource reservation response may be used to indicate resource reservation and video stream. Correspondence.
- Step S3C06 The video server determines a time interval for transmitting the data packet of the video stream according to the smoothing rate.
- the time interval interval is calculated in the same manner as step S3A07, and will not be described again.
- Step S3C07 The video server sends the data packet of the video stream to the video terminal at the time interval.
- the video server may include middleware, a protocol stack, and an intelligent network card.
- the middleware After performing the steps S3C01-S3C02, the middleware performs step S3C03 to send a resource reservation request to the traffic engineering device through the intelligent network card, receives the resource reservation response through the intelligent network card, and notifies the smart network card of the smoothing rate.
- the intelligent network card performs step S3C06 to determine a time interval for transmitting the data message of the video stream according to the smoothing rate.
- the middleware reads the video data from the video file of the video requested by the user, and sends the read video data to the protocol stack of the video server through the system kernel of the video server, for example, sending 100K to the protocol stack every 50 ms.
- Video data the protocol stack of the video server encapsulates the received video data into an IP packet and sends the encapsulated IP packet to the intelligent network card of the video server, and then the intelligent network card of the video server performs step S3C07 to send and receive at the time interval. IP packet.
- the intelligent network card sends the received IP packet to the queue cache, and the IP packet is sent out from the queue buffer according to the time interval and sent out through the outbound port.
- Embodiment 4 The target device is a video server, and the device is determined to be a traffic engineering device.
- Step S3D01 The video server acquires feature information of the video stream.
- the video server may obtain the stored feature information corresponding to the video according to the requested video.
- Step S3D02 The video server sends a resource reservation request to the traffic engineering device, where the resource reservation request includes feature information of the video stream.
- Step S3D03 The traffic engineering device determines the smoothing rate according to the feature information of the video stream in the resource reservation request.
- step S202 The method for determining the smoothing rate is the same as step S202 and will not be described again.
- Step S3D04 The traffic engineering device allocates bandwidth resources between the video server and the video terminal for the video stream according to the smoothing rate.
- step S3D04 is the same as that of S3A04, and will not be described again.
- Step S3D05 The traffic engineering device returns a resource reservation response indicating that the reservation is successful to the video server, and the resource reservation response includes the determined smoothing rate.
- the resource reservation request and the resource reservation response may also include an identification of the video stream. It should be noted that the target device usually requests resource reservation from the traffic engineering device based on multiple video streams, and the identifier of the video stream carried in the resource reservation request and the resource reservation response may be used to indicate the correspondence between the resource reservation and the video stream. relationship.
- Step S3D06 The video server determines a time interval for transmitting the data packet of the video stream according to the smoothing rate.
- the time interval interval is calculated in the same manner as step S3A07, and will not be described again.
- Step S3D07 The video server sends the data packet of the video stream to the video terminal at the time interval.
- the video server may include middleware, a protocol stack, and an intelligent network card.
- the middleware performs step S3D02 after performing step S3D01 to send a resource reservation request to the traffic engineering device through the intelligent network card, and receives the resource reservation response through the intelligent network card in step S3D05, and obtains the smoothing rate from the resource reservation response and The smoothing rate is notified to the smart network card.
- the intelligent network card performs step S3D06 to determine a time interval for transmitting the data message of the video stream according to the smoothing rate, and performs step S3D07 to send the IP packet received from the protocol stack at the time interval.
- Embodiment 2 of the present invention provides an apparatus 200.
- the apparatus 200 includes: an obtaining unit 210 and a determining unit 220.
- the acquiring unit 210 is configured to acquire feature information of the video stream, where the feature information of the video stream includes information indicating a highest code rate of the video stream.
- the determining unit 220 is configured to determine, according to the feature information of the video stream acquired by the acquiring unit 210, a smoothing rate, where the smoothing rate is not less than a highest code rate of the video stream, where the smoothing code rate is used to determine that the target device sends the video to the video terminal.
- the time interval of the data message of the video stream is configured to determine, according to the feature information of the video stream acquired by the acquiring unit 210, a smoothing rate, where the smoothing rate is not less than a highest code rate of the video stream, where the smoothing code rate is used to determine that the target device sends the video to the video terminal.
- the device 200 and the target device may be the same device (such as a BRASS, such as a video server). As shown in FIG. 4B, the device 200 may further include a processing unit 230 and a transmission unit 240.
- the processing unit 230 is configured to determine the time interval according to the smoothing rate, and send the data packet of the video stream to the video terminal by using the transmission unit 240 at the time interval.
- the transmitting unit 240 is configured to communicate with other devices, such as sending and receiving control signaling, sending and receiving data messages, sending resource reservation requests, receiving resource reservation responses, and the like.
- the device 200 may specifically be a video server, or a traffic engineering device, or a transmission device located between the video server and the video terminal, or may be a service card that can be deployed on the transmission device. If the service board is deployed on the transmission device, the transmission unit 240 on the service board can specifically communicate with other devices through the interface card of the transmission device.
- Device 200 can also be a flow engineering device. As shown in FIG. 4C, the device 200 may further include a resource reservation unit 250 and a transmission unit 260.
- the transmission unit 260 is configured to receive a resource reservation request, where the resource reservation request includes feature information of the video stream.
- the obtaining unit 210 is specifically configured to acquire feature information of the video stream from the resource reservation request.
- the resource reservation unit 250 is configured to allocate a bandwidth resource between the target device and the video terminal to the video stream according to the smoothing rate, and send the smoothing rate to the target device by using the transmission unit.
- the resource reservation request may be received from the target device, and correspondingly, may be sent to the target device by using the resource reservation response indicating that the reservation is successful.
- Embodiment 2 of the present invention can be used to implement the operations performed by the determining device in the method described in Embodiment 1 above.
- Embodiment 3 of the present invention proposes a transmission device 300, and a video stream sent by the video server to the video terminal is transmitted through the transmission device 300.
- the transmission device 300 includes a processing unit 310 and a transmission unit 320.
- the transmitting unit 310 is configured to receive an identifier of the video stream and a smoothing rate of the video stream.
- the processing unit 320 is configured to: when the data packet of the video stream identified by the identifier of the video stream is received by the transmitting unit 310, send the received video stream to the video terminal by using the transmission unit 310 at the time interval. Data message.
- the functional unit described in Embodiment 2 of the present invention can be used to implement the operations performed by the target device in Embodiment 2 of Embodiment 1 described above.
- Embodiment 4 of the present invention provides a determining apparatus 1000.
- the determining apparatus 1000 includes a processor 1010 and a memory 1020, wherein the processor 1010 and the memory 1020 are completed by a bus. Communication with each other.
- the memory 1020 is configured to store computer operation instructions. Specifically, it may be a high speed RAM memory or a non-volatile memory.
- the processor 1010 is configured to execute computer operation instructions stored in the memory 1020.
- the processor 1010 may be a central processing unit (CPU), or an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present invention.
- CPU central processing unit
- ASIC Application Specific Integrated Circuit
- the processor 1010 executes the computer operation instruction to cause the determining device 1000 to perform the operation performed by the device in the method described in Embodiment 1 above.
- the determining device 1000 may specifically be a video server, or a traffic engineering device, or a transmission device located between the video server and the video terminal, or may be a service card that can be deployed on the transmission device. If the service board is deployed on the transmission device, the processor 1010 on the service board can specifically communicate with other devices through the interface card of the transmission device.
- Embodiment 5 of the present invention provides a transmission device 2000.
- the transmission device 2000 includes a processor 2010 and a memory 2020, wherein the processor 2010 and the memory 2020 are completed by using a bus. Communication with each other.
- the memory 2020 is configured to store computer operating instructions. Specifically, it may be a high speed RAM memory or a non-volatile memory.
- the processor 2010 is configured to execute computer operation instructions stored in the memory 2020.
- Processor 2010 may specifically be a CPU, or an ASIC, or one or more integrated circuits configured to implement embodiments of the present invention.
- the processor 2010 executes the computer operation instructions such that the transmission device 2000 performs the operations performed by the target device in Embodiment 2 of the above-described Embodiment 1.
- Embodiment 6 of the present invention proposes an implementation communication system 4000.
- the system 4000 includes a determination device 4010 and a target device 4020.
- the determining device 4010 can perform the operations performed by the determining device in the method described in Embodiment 1 above
- the target device 4020 can perform the operations performed by the target device in the method described in Embodiment 1 above.
- the determining device 4010 may specifically be a video server. Accordingly, the target device 4020 may specifically be a transmission device located between the video server and the video terminal.
- the determining device 4010 may specifically be a traffic engineering device. Accordingly, the target device 4020 may specifically be a video server or a transmission device located between the video server and the video terminal.
- the computer program product includes one or more computer instructions.
- the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
- the computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium.
- the computer readable storage medium can be any available media that can be accessed by a computer.
- the usable medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (such as a solid state disk (SSD)).
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了一种实现视频业务的方法、设备、通信系统和计算机可读存储介质。所述方法包括:获取视频流的特征信息,所述视频流的特征信息包括用于表示所述视频流的最高码率的信息;根据所述视频流的特征信息确定平滑速率,所述平滑速率不小于所述视频流的最高码率,所述平滑码率用于确定目标设备向视频终端发送所述视频流的数据报文的时间间隔。采用本申请的技术方案,可以有效减少该目标设备的下游设备接收到突发流量的几率,从而减少视频流量突发导致的网络丢包。
Description
本申请要求于2018年2月11日提交中国专利局、申请号为201810142299.2、申请名称为“实现视频业务的方法、设备、通信系统及计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及视频业务领域,特别涉及一种实现视频业务的方法、设备、通信系统及计算机可读存储介质。
随着通信技术的发展,IPTV(Internet Protocol Television,因特网协议电视)、过顶(Over The Top,OTT)等视频业务,已经进入大规模商用阶段。为了保证视频业务的质量,构建以视频体验为核心的网络是运营商提升竞争力所需面对的重要问题。
在视频播放过程中,如果发生丢包,会导致视频画面发生卡顿、花屏等,因此,丢包是导致视频体验差的主要原因。造成网络丢包的一个重要原因是流量突发。在发生流量突发时,由于在短时间内接收到大量的数据报文,导致队列缓存溢出,从而发生丢包。
发明内容
本发明实施例提供一种实现视频业务的方法、设备和系统,用于减少流量突发导致的丢包。
第一方面,提供了一种实现视频业务的方法,所述方法包括:获取视频流的特征信息,所述视频流的特征信息包括用于表示所述视频流的最高码率的信息;根据所述视频流的特征信息确定平滑速率,所述平滑速率不小于所述视频流的最高码率,所述平滑码率用于确定目标设备向视频终端发送所述视频流的数据报文的时间间隔。
根据第一方面的实现方式,根据视频流的最高码率确定的平滑速率不小于该视频流的最高码率,根据该平滑速率确定的发送数据报文的时间间隔可以保证目标设备以该平滑速率向视频终端匀速发送数据报文,因此,可以在保证视频播放流畅度的前提下有效减少该目标设备的下游设备接收到突发流量的几率,从而减少视频流量突发导致网络的丢包。
在第一方面的第一种可能的实现方式中,所述视频流的特征信息还包括用于表示所述视频流的最大发送速率的信息。由于在确定该平滑速率时还考虑了该视频流的最大发送速率,因此在目标设备接收的该视频流的发送速率较大时,也可以有效保证视频播放的流畅度。
根据第一方面或第一方面的第一种实现方式,在第一方面的第二种实现方式中,可以根据所述视频流的特征信息确定第一速率,所述第一速率不小于所述视频流的最 高码率。在具体实现时,可以将所述第一速率作为所述平滑速率,也可以将所述第一速率和所述视频终端对应的最大可用带宽中的最小值确定为所述平滑速率。
如果采用将所述第一速率和所述视频终端对应的最大可用带宽中的最小值确定为所述平滑速率的方法,当第一速率大于最大可用带宽时,确定的平滑速率的大小与该视频终端对应的的最大可用带宽相同,即不会大于该视频终端对应的的最大可用带宽。因此,该目标设备对网络带宽的占用不会影响到网络中传输的其它数据的传输质量,所以可以在尽可能保障该视频终端的视频播放效果的前提下有效保障网络中的其它数据的传输质量。
根据第一方面的第二种实现方式,在第一方面的第三种实现方式中,所述第一速率可以和所述视频流的最高码率正相关。则视频流的最高码率越大,确定的第一速率越大,因此,可以有效改善视频播放的流畅度。
视频流的最高码率为视频数据本身(即裸数据)的速率,而在传输该视频数据时,需要将视频数据封装到数据报文,并且为了保证数据传输的可靠性,通常还会采取前向纠错(Forward Error Correction,FEC)、重传(Retransmission,RET)等业务质量保证(Service Quality Assurance,SQA)机制,这些机制会导致额外的流量开销。为了更加精确地计算第一速率,在确定第一速率时还需要考虑报文头封装、SQA机制等传输开销因素导致的流量开销。传输开销因素可以体现为传输开销系数a。
相应地,为了更加精确地计算第一速率,根据第一方面的第二种实现方式或第三种实现方式,在第一方面的第四种实现方式中,确定的第一速率与传输开销系数a正相关,其中,1<a<=2。在具体实现时,所述视频流的特征信息还包括所述视频流的传输层协议的类型,a的取值与所述视频流的传输层协议的类型相关。如,当所述视频流的传输层协议为传输控制协议(Transmission Control Protocol,TCP)时,a∈[1.05,1.11],当所述视频流的传输层协议为用户数据报协议(User Datagram Protocol,UDP)时,a∈[1.05,1.2],如a=1.17。由于采用UDP协议时的传输开销往往会大于采用TCP协议时的传输开销,因此,UDP对应的a的取值可以大于TCP对应的a的取值,从而更加精确地计算第一速率。
根据第一方面或第一方面的第一至第四种实现方式中的任一种实现方式,在第五种实现方式中,所述用于表示所述视频流的最高码率的信息包括所述视频流的平均码率E
ave、以及所述视频流的最高码率与所述视频流的平均码率E
ave的比值R;所述用于表示所述视频流的最大发送速率的信息包括平均码率E
ave、以及所述视频流的最大发送速率和所述视频流的平均码率E
ave的比值n;所述根据所述视频流的特征信息确定所述第一速率包括,根据如下公式计算所述第一速率S1:S1=a*n*R*E
ave。
所述视频流的应用层控制协议可以为实时流传输协议(Real Time Streaming Protocol,RTSP),相应地,当所述视频终端开启快速缓存功能时,n∈[1.1,1.3],当所述视频终端没有开启快速缓存功能时,n为1。
视频终端开启快速缓存时的最大发送速率通常会大于视频终端未开启快速缓存时的最大发送速率,因此,根据视频终端是否开启快速缓存在确定n的值以计算第一速率,计算出的第一速率更加准确。
根据第一方面或第一方面的上述任一种实现方式,在第六种实现方式中,所述方 法由所述目标设备执行。相应地,所述根据所述视频流的特征信息确定平滑速率之后,所述方法还包括:所述目标设备根据所述平滑速率确定所述时间间隔,并以所述时间间隔向所述视频终端发送所述视频流的数据报文。
根据第一方面的第六种实现方式,在第七种实现方式中,所述目标设备为发送所述视频流的视频服务器和所述视频终端之间的传输设备,所述以所述时间间隔向所述视频终端发送所述视频流的数据报文包括:所述目标设备在接收到所述视频服务器发送的所述视频流的数据报文时,所述目标设备以所述时间间隔向所述视频终端发送接收的所述视频流的数据报文。
根据第一方面的第七种实现方式,在第八种实现方式中,在确定所述平滑速率后,还会为所述视频流分配队列缓存。所述队列缓存的长度可以与所述平滑速率正相关,如所述队列缓存的长度为所述平滑速率与缓存时长C的乘积,其中10ms<=C<=1000ms。由于视频流的平滑速率越大为该视频流分配的队列缓存越大,因此,可以有效降低缓存溢出的风险。
当所述视频流的传输层协议为TCP时,在传输所述视频服务器和所述视频终端之间的视频流的数据报文的过程中,所述方法还可以包括:在确定所述视频流的队列缓存的占用量超过占用阈值时,将从所述视频终端接收的TCP确认(acknowledgment,ACK)报文中的接收窗口大小修改为所述队列缓存的剩余缓存的大小,并将所述携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
由于该视频流的队列缓存的占用量已经超过了占用阈值,所以该队列缓存的剩余缓存较小,即修改后的接收窗口大小较小,所以,视频服务器会根据该修改后的接收窗口大小减小发送视频流的速率,从而可以有效降低队列缓存溢出导致丢包的风险。
所述占用阈值可以大于所述队列缓存的长度的50%,如大于所述队列缓存的长度的60%且小于所述队列缓存的长度的70%。由于设置的占用阈值较大,可以有效提升队列缓存的利用率。
当所述目标设备为发送所述视频流的视频服务器和所述视频终端之间的传输设备且所述方法由所述目标设备执行时,所述获取视频流的特征信息包括:接收所述视频终端和所述视频服务器之间传输的所述视频流对应的控制信令,并根据所述控制信令确定所述视频流的特征信息中的部分或全部。由于可以通过解析控制信令获取该视频流的特征信息,而无需与视频服务器或视频终端交互获取该视频流的特征信息,可以有效减轻视频服务器或视频终端的负担。
根据第一方面或第一方面的第一至第五种实现方式中的任一种实现方式,在第九种实现方式中,所述方法可以由流量工程设备执行。相应地,所述获取视频流的特征信息之前还包括:所述流量工程设备接收资源预留请求,所述资源预留请求包括所述视频流的特征信息。所述获取视频流的特征信息包括:所述流量工程设备从所述资源预留请求中获取所述视频流的特征信息。所述根据所述视频流的特征信息确定所述视频流的平滑速率之后,所述方法还包括:所述流量工程设备根据所述平滑速率为所述视频流分配所述目标设备和所述视频终端之间的带宽资源,并向所述目标设备发送所述平滑速率。
由于可以根据平滑速率分配目标设备和视频终端之间的带宽资源,可以有效降低 该视频流在目标设备的下游发生丢包的风险,从而保障该视频流的传输质量。
进一步地,所述资源预留请求还可以包括所述视频终端的位置信息。相应地,所述流量工程设备所述根据所述平滑速率为所述视频流分配所述目标设备和所述视频终端之间的带宽资源之前,所述方法还包括:所述流量工程设备根据所述平滑速率和所述位置信息确定所述目标设备和所述视频终端之间的满足以所述平滑速率传输所述视频流的传输路径。
由于可以主动确定一条满足以该平滑速率传输该视频流的传输路径并进行资源预留,而不是被动地仅在现有的路径的可用带宽资源满足以该平滑速率传输该视频流时进行资源预留,因此资源预留成功的几率比较大,可以有效提升通信效率。
第二方面,提供了一种实现视频业务的方法,所述方法由位于视频服务器和视频终端之间的传输设备执行,所述视频服务器向所述视频终端发送的视频流通过所述传输设备传输。所述方法包括:所述传输设备接收视频流的标识和所述视频流的平滑速率,并在接收到所述视频流的标识所标识的视频流的数据报文时以所述时间间隔向所述视频终端发送接收的所述视频流的数据报文。
根据第二方面的实现方式,该传输设备根据该平滑速率确定的发送数据报文的时间间隔向视频终端匀速发送数据报文,因此可以有效减少该传输设备的下游设备接收到突发流量的几率,从而减少视频流量突发导致网络的丢包。
在第二方面的第一种实现方式中,所述视频服务器和所述视频终端之间传输的控制信令通过所述传输设备传输;所述视频流的传输层协议为TCP。在所述传输设备传输所述视频服务器和所述视频终端之间的视频流的数据报文的过程中,所述方法还包括:在确定所述视频流的队列缓存的占用量超过占用阈值时,所述传输设备将从所述视频终端接收的TCP ACK报文中的接收窗口大小修改为所述队列缓存的剩余缓存大小,并将所述携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
由于该视频流的队列缓存的占用量已经超过了占用阈值,所以该队列缓存的剩余缓存较小,即修改后的接收窗口大小较小,所以,视频服务器会根据该修改后的接收窗口大小减小发送视频流的速率,从而可以有效降低队列缓存溢出导致丢包的风险。
第三方面,提供了一种用于实现视频业务的设备,所述设备包括:获取单元和确定单元。
所述获取单元,用于获取视频流的特征信息,所述视频流的特征信息包括用于表示所述视频流的最高码率的信息。所述用于表示所述视频流的最高码率的信息包括所述视频流的平均码率、以及所述视频流的最高码率与所述平均码率的比值,或者所述用于表示所述视频流的最高码率的信息包括所述视频流的最高码率。
所述确定单元,用于根据所述视频流的特征信息确定平滑速率,所述平滑速率不小于所述视频流的最高码率,所述平滑码率用于确定目标设备向视频终端发送所述视频流的数据报文的时间间隔。
根据第三方面的实现方式,根据视频流的最高码率确定的平滑速率不小于该视频流的最高码率,根据该平滑速率确定的发送数据报文的时间间隔可以保证目标设备以 该平滑速率向视频终端匀速发送数据报文,因此,可以在保证视频播放流畅度的前提下有效减少该目标设备的下游设备接收到突发流量的几率,从而减少视频流量突发导致的网络丢包。
在第三方面的第一种可能的实现方式中,所述视频流的特征信息还包括用于表示所述视频流的最大发送速率的信息。所述用于表示所述视频流的最大发送速率的信息包括所述视频流的平均码率、以及所述视频流的最大发送速率和所述视频流的平均码率的比值,或者所述用于表示所述视频流的最大发送速率的信息包括所述视频流的最大发送速率。由于在确定该平滑速率时还考虑了该视频流的最大发送速率,因此在目标设备接收的该视频流的发送速率较大时,也可以有效保证视频播放的流畅度。
根据第三方面或第三方面的第一种实现方式,在第三方面的第二种实现方式中,所述确定单元具体可以用于根据所述视频流的特征信息确定第一速率,所述第一速率不小于所述视频流的最高码率。在具体实现时,可以将所述第一速率作为所述平滑速率,也可以将所述第一速率和所述视频终端对应的最大可用带宽中的最小值确定为所述平滑速率。
如果采用将所述第一速率和所述视频终端对应的最大可用带宽中的最小值确定为所述平滑速率的方法,当第一速率大于最大可用带宽时,确定的平滑速率的大小与该视频终端对应的的最大可用带宽相同,即不会大于该视频终端对应的的最大可用带宽。因此,该目标设备对网络带宽的占用不会影响到网络中传输的其它数据的传输质量,所以可以在尽可能保障该视频终端的视频播放效果的前提下有效保障网络中的其它数据的传输质量。
根据第三方面的第二种实现方式,在第三方面的第三种实现方式中,所述第一速率可以和所述视频流的最高码率正相关。则视频流的最高码率越大,确定的第一速率越大,因此,可以有效改善视频播放的流畅度。
视频流的最高码率为视频数据本身(即裸数据)的速率,而在传输该视频数据时,需要将视频数据封装到数据报文,并且为了保证数据传输的可靠性,通常还会采取前向纠错FEC、RET等SQA机制,这些机制会导致额外的流量开销。为了更加精确地计算第一速率,在确定第一速率时还需要考虑报文头封装、SQA机制等传输开销因素导致的流量开销。传输开销因素可以体现为传输开销系数a。
相应地,为了更加精确地计算第一速率,根据第三方面的第二种实现方式或第三种实现方式,在第三方面的第四种实现方式中,确定的第一速率与传输开销系数a正相关,其中,1<a<=2。在具体实现时,所述视频流的特征信息还包括所述视频流的传输层协议的类型,a的取值与所述视频流的传输层协议的类型相关。如,当所述视频流的传输层协议为TCP时,a∈[1.05,1.11],当所述视频流的传输层协议为UDP时,a∈[1.05,1.2],如a=1.17。由于采用UDP协议时的传输开销往往会大于采用TCP协议时的传输开销,因此,UDP对应的a的取值可以大于TCP对应的a的取值,从而更加精确地计算第一速率。
根据第三方面或第三方面的第一至第四种实现方式中的任一种实现方式,在第五种实现方式中,所述用于表示所述视频流的最高码率的信息包括所述视频流的平均码率E
ave、以及所述视频流的最高码率与所述视频流的平均码率E
ave的比值R;所述用于 表示所述视频流的最大发送速率的信息包括平均码率E
ave、以及所述视频流的最大发送速率和所述视频流的平均码率E
ave的比值n;所述确定单元根据如下公式计算所述第一速率S1:S1=a*n*R*E
ave。
所述视频流的应用层控制协议可以为RTSP,相应地,当所述视频终端开启快速缓存功能时,n∈[1.1,1.3],当所述视频终端没有开启快速缓存功能时,n为1。
视频终端开启快速缓存时的最大发送速率通常会大于视频终端未开启快速缓存时的最大发送速率,因此,根据视频终端是否开启快速缓存在确定n的值以计算第一速率,计算出的第一速率更加准确。
根据第三方面或第三方面的上述任一种实现方式,在第六种实现方式中,所述设备与所述目标设备为同一设备。相应地,所述设备还包括处理单元和传输单元,其中,所述处理单元用于根据所述平滑速率确定所述时间间隔,并以所述时间间隔通过所述传输单元向所述视频终端发送所述视频流的数据报文。
根据第三方面的第六种实现方式,在第七种实现方式中,所述设备为发送所述视频流的视频服务器和所述视频终端之间的传输设备,或所述传输设备中的业务板卡。所述处理单元具体用于:在通过所述传输单元接收到所述视频服务器发送的所述视频流的数据报文时,以所述时间间隔通过所述传输单元向所述视频终端发送接收的所述视频流的数据报文。
根据第三方面的第七种实现方式,在第八种实现方式中,所述处理单元还会为所述视频流分配队列缓存。所述队列缓存的长度可以与所述平滑速率正相关,如所述队列缓存的长度为所述平滑速率与缓存时长C的乘积,其中10ms<=C<=1000ms。由于视频流的平滑速率越大为该视频流分配的队列缓存越大,因此,可以有效降低缓存溢出的风险。
当所述视频流的传输层协议为TCP时,所述处理单元还用于,在确定所述视频流的队列缓存的占用量超过占用阈值时,将通过所述传输单元从所述视频终端接收的TCP ACK报文中的接收窗口大小修改为所述队列缓存的剩余缓存大小,并通过所述传输单元将所述携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
由于该视频流的队列缓存的占用量已经超过了占用阈值,所以该队列缓存的剩余缓存较小,即修改后的接收窗口大小较小,所以,视频服务器会根据该修改后的接收窗口大小减小发送视频流的速率,从而可以有效减少队列缓存溢出导致的丢包。
所述占用阈值可以大于所述队列缓存的长度的50%,如大于所述队列缓存的长度的60%且小于所述队列缓存的长度的70%。由于设置的占用阈值较大,可以有效提升队列缓存的利用率。
当所述设备与所述目标设备为同一设备、且所述目标设备为发送所述视频流的视频服务器和所述视频终端之间的传输设备时,所述获取单元具体可以根据所述设备接收的所述视频终端和所述视频服务器之间传输的所述视频流对应的控制信令,确定所述视频流的特征信息中的部分或全部。由于可以通过解析控制信令获取该视频流的特征信息,而无需与视频服务器或视频终端交互获取该视频流的特征信息,可以有效减轻视频服务器或视频终端的负担。
根据第三方面或第三方面的第一至第五种实现方式中的任一种实现方式,在第九 种实现方式中,所述设备可以为流量工程设备。相应地,所述设备还包括资源预留单元和传输单元。所述传输单元用于接收资源预留请求,所述资源预留请求包括所述视频流的特征信息。所述获取单元具体用于从所述资源预留请求中获取所述视频流的特征信息。所述资源分配单元,用于根据所述平滑速率为所述视频流分配所述目标设备和所述视频终端之间的带宽资源,并通过所述传输单元向所述目标设备发送所述平滑速率。
由于可以根据平滑速率分配目标设备和视频终端之间的带宽资源,可以有效降低该视频流在目标设备的下游发生丢包的风险,从而保障该视频流的传输质量。
进一步地,所述资源预留请求还可以包括所述视频终端的位置信息。相应地,所述资源预留单元,在根据所述平滑速率为所述视频流分配所述目标设备和所述视频终端之间的带宽资源之前,还用于根据所述平滑速率和所述位置信息确定所述目标设备和所述视频终端之间的满足以所述平滑速率传输所述视频流的传输路径。
由于可以主动确定一条满足以该平滑速率传输该视频流的传输路径并进行资源预留,而不是被动地仅在现有的路径的可用带宽资源满足以该平滑速率传输该视频流时进行资源预留,因此资源预留成功的几率比较大,可以有效提升通信效率。
第四方面,提供了一种实现视频业务的传输设备,视频服务器向视频终端发送的视频流通过所述传输设备传输。所述传输设备包括:处理单元和传输单元。所述传输单元,用于接收视频流的标识和所述视频流的平滑速率。所述处理单元,用于在通过所述传输单元接收到所述视频流的标识所标识的视频流的数据报文时以所述时间间隔通过所述传输单元向所述视频终端发送接收的所述视频流的数据报文。
根据第四方面的实现方式,该传输设备根据该平滑速率确定的发送数据报文的时间间隔向视频终端匀速发送数据报文,因此可以有效减少该传输设备的下游设备接收到突发流量的几率,从而解决视频流量突发导致网络丢包的问题。
在第四方面的第一种实现方式中,所述视频服务器和所述视频终端之间传输的控制信令通过所述传输设备传输,所述视频流的传输层协议为传输控制协议TCP。所述处理单元还用于,在确定所述视频流的队列缓存的占用量超过占用阈值时,将通过所述传输单元从所述视频终端接收的TCP ACK报文中的接收窗口大小修改为所述队列缓存的剩余缓存大小,并通过所述传输单元将所述携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
由于该视频流的队列缓存的占用量已经超过了占用阈值,所以该队列缓存的剩余缓存较小,即修改后的接收窗口大小较小,所以,视频服务器会根据该修改后的接收窗口大小减小发送视频流的速率,从而可以有效降低队列缓存溢出导致丢包的风险。
第五方面,提供了一种通信系统,包括目标设备和确定设备。
所述确定设备,用于获取视频流的特征信息,根据所述视频流的特征信息确定平滑速率,并向所述目标设备发送所述平滑速率,所述视频流的特征信息包括用于表示所述视频流的最高码率的信息,所述平滑速率不小于所述视频流的最高码率。
所述目标设备,用于接收所述目标设备发送的所述平滑速率,并根据所述平滑速 率确定向视频终端发送所述视频流的数据报文的时间间隔,并以所述时间间隔向所述视频终端发送所述视频流的数据报文。
根据第五方面的实现方式,根据视频流的最高码率确定的平滑速率不小于该视频流的最高码率,根据该平滑速率确定的发送数据报文的时间间隔可以保证目标设备以该平滑速率向视频终端匀速发送数据报文,因此,可以在保证视频播放流畅度的前提下有效减少该目标设备的下游设备接收到突发流量的几率,从而解决视频流量突发导致网络丢包的问题。
在第五方面的第一种实现方式中,所述视频服务器和所述视频终端之间传输的控制信令通过所述目标设备传输;所述视频流的传输层协议为TCP。
所述目标设备,还用于在确定所述视频流的队列缓存的占用量超过占用阈值时,将从所述视频终端接收的TCP ACK报文中的接收窗口大小修改为所述队列缓存的剩余缓存大小,并将所述携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
由于该视频流的队列缓存的占用量已经超过了占用阈值,所以该队列缓存的剩余缓存较小,即修改后的接收窗口大小较小,所以,视频服务器会根据该修改后的接收窗口大小减小发送视频流的速率,从而可以有效避免队列缓存溢出导致丢包的风险。
第六方面,提供了一种实现视频业务的设备,包括:处理器和存储器。
所述处理器被配置为执行所述存储器中存储的指令,所述处理器通过执行所述指令来实现第一方面或第一方面的任一实现方式提供的方法。
第七方面,提供了一种实现视频业务的传输设备,包括:处理器和存储器。
所述处理器被配置为执行所述存储器中存储的指令,所述处理器通过执行所述指令来实现第二方面或第二方面的任一实现方式提供的方法。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机的处理器上执行时,使得所述处理器执行第一方面或第一方面的任一实现方式提供的方法,或执行第二方面或第二方面的任一实现方式提供的方法。
图1A和1B为本发明实施例提供的通信系统100的组网结构示意图;
图2、图3A-3D为本发明实施例1提供的方法200的流程示意图;
图4A-4C是本发明实施例2提供的设备200的结构示意图;
图5是本发明实施例3提供的传输设备300的结构示意图;
图6是本发明实施例4提供的设备1000的结构示意图;
图7是本发明实施例5提供的传输设备2000的结构示意图;
图8是本发明实施例6提供的通信系统4000的结构示意图。
下面结合附图,对本发明的实施例进行描述。
图1A为本发明实施例提供的一种通信系统100的组网结构示意图,通信系统100 包括视频服务器110、至少一个传输设备120和视频终端130。视频服务器110和视频终端130之间传输的控制信令、以及视频服务器110向视频终端130发送的封装了视频数据的数据报文均通过传输设备120传输。
视频服务器110向视频终端130发送视频数据所采用的应用层协议可以是实时传输协议(Real-time Transport Protocol,RTP)、超文本传输协议(HyperText Transfer Protocol,HTTP)等,所采用的传输层协议可以是UDP或TCP。相应地,视频服务器110发送的视频数据可以依次被封装上应用层协议头、传输层协议头和因特网协议(Internet Protocol,IP)头进行传输,也可以依次封装上传输层协议头和IP头进行传输。
本发明实施例所说的数据报文,可以指的是应用层协议报文,如RTP报文、HTTP报文,也可以指的是传输层协议报文,如UDP报文、TCP报文,也可以指的是IP报文。封装在数据报文中的视频数据构成视频流。
通信系统100还可以包括流量工程设备140,用于为传输视频流进行资源预留。
在具体实现时,通信系统100具体可以是如图1B所示的IPTV系统。在该IPTV系统中,视频服务器110为IPTV头端,视频终端130为机顶盒(Set Top Box,STB),传输设备120可以是家庭网关、核心路由器(Core Router,CR)、宽带网络网关(Broadband Network Gateway,BNG)、光线路终端(Optical Line Terminal,OLT)或宽带远程接入服务器(Broadband Remote Access Server,BRAS)等设备。
下面结合图1A-1B、图2和图3A-3D介绍本发明实施例一提供的方法200。
在方法200中,根据视频流的特征信息确定视频流的平滑速率,并以该平滑速率向视频终端发送该视频流。为便于表述,后续将以平滑速率向视频终端发送视频流称为流量突发消除,将确定平滑速率的设备称为确定设备,将实现流量突发消除的设备称为目标设备。确定设备和目标设备可以是同一设备,也可以是不同设备。如果是不同设备,则确定设备将确定的平滑速率发送给目标设备。
本发明实施例1的方法200可以应用于图1A、1B所示的通信系统100。确定设备可以是通信系统100中的视频服务器110、或任一传输设备120、或流量工程设备140,目标设备可以是通信系统100中的视频服务器110、或任一传输设备120。
在具体实现时,可以根据网络瓶颈的位置确定流量突发消除功能的部署位置。
如果网络瓶颈可能出现在视频服务器和视频终端之间的任意位置,如,任意位置的丢包率都比较高,则可以在视频服务器或靠近视频服务器的传输设备上实现流量突发消除功能。如,在视频服务器的智能网卡上实现流量突发消除功能,在视频服务器和CR之间的设备上实现流量突发消除功能,在视频服务器和CR之间部署具备流量突发消除功能的路由器。
如果网络瓶颈出现在某一传输设备(如BRAS)的下游,如,该传输设备的上游丢包率不高但该传输设备的下游丢包率比较高,可以在该传输设备上实现流量突发消除功能。
在具体实现时,可以采用如下几种具体的实施方式。
实施方式1:由位于视频服务器和视频终端之间的传输设备(如BRAS)确定该平 滑速率并进行流量突发消除。
实施方式2:由流量工程设备确定该平滑速率并由位于视频服务器和视频终端之间的至少一个传输设备根据流量工程设备确定的平滑速率进行流量突发消除。
实施方式3:由视频服务器确定该平滑速率并进行流量突发消除。
实施方式4:由流量工程设备确定该平滑速率并由视频服务器根据流量工程设备确定的平滑速率进行流量突发消除。
下面先结合图2介绍本发明实施例一提供的方法200中确定平滑速率的实现方式,然后结合图3A-3D介绍本发明实施例一的上述四种实施方式。
如图2所示,方法200包括如下步骤:
图2是本发明实施例1提供的方法流程示意图,
S201:确定设备获取视频流的特征信息。
该视频流的特征信息包括用于表示该视频流的最高码率的信息。用于表示该视频流的最高码率的信息可以包括平均码率、以及该视频流的最高码率与该视频流的平均码率的比值R;用于表示该视频流的最高码率的信息可以包括该视频流的最高码率E
max。R通常为属于区间[1.5,4]的值,比如可以是1.80。
该视频流的特征信息还可以包括用于表示该视频流的最大发送速率的信息。用于表示该视频流的最大发送速率的信息可以包括平均码率E
ave、以及该视频流的最大发送速率和该视频流的平均码率的比值n;用于表示该视频流的最大发送速率的信息也可以为该视频流的最大发送速率。该视频流的最大发送速率为预估的视频服务器发送该视频流的速率的最大值。
n的取值范围通常为1<=n<=2。如果该视频流的应用层控制协议为RTSP,当接收该视频流的视频终端开启了快速缓存功能时,比值n∈[1.1,1.3],如n为1.1或1.2。当该视频终端没有开启快速缓存功能时,比值n为1。如果采用超文本传输协议(HyperText Transfer Protocol,HTTP)传输媒体流时,比值n∈[1.81,4],如n为1.81。
步骤S202:确定设备根据该视频流的特征信息确定平滑速率,该平滑速率不小于该最高码率,且该平滑速率用于确定目标设备向视频终端发送该视频流的数据报文的时间间隔。
在步骤S202中,可以首先根据该视频流的特征信息或根据该视频流的特征信息和其它信息(如业务策略)确定速率S,然后,将速率S直接作为该平滑速率,或者将该速率S和视频终端对应的最大可用带宽中的最小值确定为该平滑速率。其中,速率S和最大发送速率、速率S和最高码率均为正相关的关系。
视频流的最高码率为视频数据本身(即裸数据)的速率,而在传输该视频数据时,需要将视频数据封装到数据报文,并且为了保证数据传输的可靠性,通常还会采取前向纠错(Forward Error Correction,FEC)、重传(Retransmission,RET)等业务质量保证(Service Quality Assurance,SQA)机制,这些机制会导致额外的流量开销。为了更加精确地计算速率S,在确定速率S时还需要考虑报文头封装、SQA机制等传输开销因素导致的流量开销。传输开销因素可以体现为传输开销系数a,确定的速 率S与传输开销系数a正相关,其中,1<a<=2。
a的取值可以与该视频流的传输层协议的类型相关,相应地,该视频流的特征信息还可以包括该视频流的传输层协议的类型,根据该传输层协议的类型可以确定a的取值。当该视频流的传输层协议为TCP时,a∈[1.05,1.11],当该视频流的传输协议为UDP时,a∈[1.05,1.2],具体可以为1.17。
在具体实现时,如果仅考虑视频流的最高码率,可以通过公式S=a*R*E
ave或S=a*E
max计算速率S。如果既考虑视频流的最高码率又考虑视频流的最大发送速率,可以通过公式S=a*n*R*E
ave或S=a*n*E
max计算速率S。
另外,在确定速率S时,还可以结合业务策略进行确定。
该业务策略用于指示优先保障满足预设条件的视频流的传输质量。如,该业务策略用于指示优先保障4k视频流的传输质量、或优先保障贵宾(very important person,VIP)用户的视频流的传输质量。该业务策略可以预先设置在该确定设备上。
相应地,该视频流的特征信息还可以包括用于表示该视频流是否为满足该预设条件的信息,如,包括用于表示该视频流是否为4k视频流的信息、或用于表示该视频流对应的视频终端的用户是否为VIP用户的信息。
为了有效利用带宽满足不同的业务质量需求,确定的速率S与根据业务策略确定的策略系数正相关,其中,根据业务策略确定的策略系数的取值范围可以为[0.5,3]。满足预设条件的视频流对应的策略系数b
1的取值大于不满足该预设条件的视频流对应的策略系数b
2的取值,其中,b
1∈[0.5,3],b
2∈[0.5,3]。在具体实现时,该业务策略可以包括满足预设条件的视频流和不满足预设条件的视频流分别对应的策略系数的取值,如,4k视频流对应的策略系数的取值为2.5,非4k视频视频流对应的策略系数的取值为1.0。相应地,确定设备在确定该视频流满足或不满足预设条件时,确定对应的策略系数的取值,并进而根据确定的策略系数的取值确定速率S。
当采用多个业务策略时,根据每个业务策略均可以确定一个系数b,则确定的速率S与根据多个业务策略分别确定的系数b的最大值正相关。
相应地,具体可以根据如下公式计算该速率S:
S=a*B*n*R*E
ave,或S=a*B*n*E
max。
其中,当采用一个业务策略时,B为根据该业务策略确定的系数b,当采用多个业务策略时,B为根据每个业务策略确定的系数b的最大值。
根据本发明实施例1提供的方法200,视频流的最高码率确定的平滑速率不小于该视频流的最高码率,根据该平滑速率确定的发送数据报文的时间间隔可以保证目标设备以该平滑速率向视频终端匀速发送数据报文,因此,可以在保证视频播放流畅度的前提下有效减少该传输设备的下游设备接收到突发流量的几率,从而减少视频流量突发导致网络的丢包。
下面结合图3A介绍本发明实施例一的实施方式1的具体实现方式。
在实施方式1中,目标设备和确定设备为同一设备,且为位于视频服务器和视频终端之间的传输设备(如BRAS),后续称为第一传输设备。
步骤S3A01:第一传输设备获取视频流的特征信息。
视频终端和视频服务器之间传输的控制信令均通过第一传输设备传输,相应地,第一传输设备根据接收的控制信令可以获取该视频流的特征信息的部分或全部。
视频终端和视频服务器之间采用的应用层控制协议可以为RTSP。
当视频终端和视频服务器之间采用的应用层控制协议为RTSP时,传输的信令中的tcp.port的值为554,表明该信令为RTSP消息,信令中的method的值用于表示该信令的类型,如DESCRIBE、SETUP。相应地,第一传输设备可以根据接收的信令中的tcp.port的值确定视频终端和视频服务器之间采用的应用层控制协议为RTSP,可以根据接收的信令中的method的值确定信令的类型。第一传输设备获取所述视频流的特征信息的过程如下所述。
视频终端先向视频服务器发送DESCRIBE请求。该DESCRIBE请求包括RTSP会话的五元组,即源IP地址、目的IP地址、源端口号、目的端口号和传输层协议。相应地,第一传输设备在检测到DESCRIBE请求后,可以从DESCRIBE请求中提取五元组。第一传输设备后续可以利用该五元组匹配该RTSP会话相关的其它控制信令,包括相同五元组的控制信令对应的是同一视频流。
视频服务器接收该DESCRIBE请求后,向视频终端回复DESCRIBE响应,该DESCRIBE响应中的SDP的b:as字段的值为视频流的平均码率。如,b=as:2500,表明平均码率为2500kps。相应地,第一传输设备在检测到DESCRIBE响应后,可以从该DESCRIBE响应的b:as字段中提取平均码率。
视频终端接收该DESCRIBE响应后,向视频服务器发送SETUP请求,该SETUP请求中携带该RTSP会话的五元组。视频服务器收到该SETUP请求后向视频终端返回SETUP响应,SETUP响应的transport字段的值为媒体传输方式,包括后续传输该视频流所采用的传输层协议(如TCP或UDP)和源IP地址,如,Transport字段的值为MP2T/TCP;unicast;interleaved=0-1;mode=PLAY;source=10.3.8.15,表明所采用的传输层协议为TCP,对应的源IP地址为10.3.8.15。相应地,第一传输设备在检测到SETUP响应后,可以从该SETUP响应的transport字段提取传输层协议和源IP地址。进一步,根据提取的传输层协议可以确定传输开销系数a,当该传输层协议为TCP时,a为范围[1.05,1.11]内的值,当该传输层协议为UDP时,a为范围[1.05,1.2]内的值,如1.17。
视频终端接收该SETUP响应后,向视频服务器发送SET_PARAMETER请求,该SET_PARAMETER请求携带该RTSP会话的五元组。视频服务器收到SET_PARAMETER请求后向视频终端返回SET_PARAMETER响应,SET_PARAMETER响应中的x-Fast_Cache字段的值用于表明视频终端是否开启快速缓存功能。相应地,第一传输设备在检测到SET_PARAMETER响应后,可以根据该SET_PARAMETER响应的x-Fast_Cache字段的值判断视频终端是否开启了快速缓存功能。如果确定开启了快速缓存功能,可以确定该视频流的最大发送速率和该视频流的平均码率的比值n的取值为预先从视频业务提供商处获取的值或预先设置的值,如1.1或1.2。如果确定没有开启快速缓存功能,可以确定最大发送速率即为平均码率,即n的取值为1。
视频终端接收该SET_PARAMETER响应后向视频服务器发送PLAY请求,视频服务器接收到该PLAY请求后向视频终端回复PLAY响应,并向视频终端发送视频流。
视频终端和视频服务器之间采用的应用层控制协议也可以为HTTP。
视频终端先向视频服务器发送HTTP GET请求,该HTTP GET请求的URL字段包括字符“index.m3u8”,用于请求视频的顶级索引文件index.m3u8,该HTTP GET还包括五元组,该五元组包括视频服务器的IP地址、视频终端的IP地址、视频服务器的端口号、视频终端的端口号和传输层协议。视频服务器收到该HTTP GET请求后向该视频终端返回HTTP GET响应,该HTTP GET响应包括所请求的视频的顶级索引文件index.m3u8,该顶级索引文件包括不同版本(如高清版本、标清版本)的描述信息,具体包括每个版本的标识、平均码率或最高码率、对应的二级索引文件名称。如,PROGRAM-ID=4,BANDWIDTH=1677722,4.m3u8;PROGRAM-ID=2,BANDWIDTH=614400,2.m3u8。相应地,第一传输设备检测到HTTP GET请求后,确定通过该HTTP GET请求所请求的视频流的最大发送速率和该视频流的平均码率的比值n,通常为1.81,并从该HTTP GET中提取可以用于标识该视频流的信息(即该视频流的标识),如视频流的源IP地址(即视频服务器的IP地址)、源端口号(即视频服务器的端口号)、目的端口号(即视频终端的端口号)和传输层协议,提取的视频流的标识可以用于匹配后续接收的对应同一视频流的其它控制信令以及该视频流。另外,如果每个版本的描述信息包括平均码率,第一传输设备还可以提取清晰度最高的版本的平均码率作为该视频流的平均码率;如果每个版本的描述信息包括最高码率,第一传输设备还可以提取清晰度最高的版本的最高码率作为该视频流的最高码率。
视频终端接收该顶级索引文件后,向视频服务器发送用于获取其中一个版本对应的二级索引文件的HTTP GET请求,如,用户选择PROGRAM-ID为4的版本,该HTTP GET请求的URL包含字符串4.m3u8,表明用于请求二级索引文件4.m3u8。视频终端接收该顶级索引文件后还可以向视频服务器请求获取所有二级索引文件。视频服务器向视频终端返回请求的二级索引文件,返回的二级索引文件中包括该二级索引文件所对应的版本的所有视频分片的信息,如包括100个分片中每个分片的url、大小和时长,还可能包括每个分片的码率。
相应地,第一传输设备从清晰度最高的版本的二级索引文件中获取分片的信息并根据分片的信息确定该视频流的平均码率和最高码率。具体可以根据该二级索引文件中的各分片的大小和时长计算各分片的码率,将码率最高的分片的码率作为该视频流的最高码率,计算各分片的码率的平均值并将该平均值作为该视频流的平均码率。如果该二级索引文件中包括每个分片的码率,则可以不用计算各分片的码率,而是直接根据该二级索引中包括的各分片的码率确定该视频流的平均码率和最高码率。
可以理解的是,第一传输设备可以利用顶级索引文件获取到最高码率和平均码率,也可以利用清晰度最高的版本的二级索引文件获取到最高码率和平均码率,不管通过哪种方式获取的最高码率和平均码率均可以用于计算平滑速率。
视频终端接收到二级索引文件后,根据用户选择的版本的二级索引文件中的视频分片的URL向视频服务器发送用于请求对应视频分片的HTTP GET请求。视频服务器向视频终端发送请求的视频分片。
另外,通常视频服务器进行编码时,还可以限制视频流的最高码率不超过视频流的平均码率的R倍,第一传输设备可以在步骤S3A01之前向视频服务器获取视频服务器设置的倍数R存储下来,也可以在第一传输设备设置R的取值并存储下来。相应地, 在步骤S3A01中还可以获取存储的R。
当采用TCP传输控制信令和视频流时,第一传输设备可以是透明TCP代理。第一传输设备接收视频终端发送的控制信令后代替视频终端与视频服务器交互,并在接收到视频服务器发送的控制信令后代替视频服务器与视频终端交互,建立视频服务器和第一传输设备之间的TCP连接(后续称为TCP连接1)、以及第一传输设备和视频终端之间的TCP连接(后续称为TCP连接2),并且,视频服务通过TCP连接1向第一传输设备发送视频流,进而第一传输设备通过TCP连接2向视频终端发送接收的视频流。
第一传输设备在通过上述方式获取平均码率后,还可以根据该平均码率判断是该视频流是否为4k视频。
第一传输设备还可以根据该视频终端的IP地址获取预先存储的该视频终端的用户业务策略数据,该用户业务策略数据包括该视频终端对应的最大可用带宽和用于表示该视频终端的用户是否为VIP用户的信息。
另外,第一传输设备还可以根据该视频终端的IP地址获取预先存储的该视频终端所属OLT的标识、或所属OLT上与该视频终端连接的接口的标识。
由于可以通过解析控制信令获取该视频流的特征信息,而无需与视频服务器或视频终端交互获取该视频流的特征信息,可以有效减轻视频服务器或视频终端的负担。
步骤S3A02:第一传输设备根据该视频流的特征信息确定该视频流的平滑速率。
步骤S3A02的实现方式同步骤S202,不再赘述。
步骤S3A03:第一传输设备向流量工程设备发送资源预留请求,该资源预留请求包括该平滑速率,以请求流量工程设备根据该平滑速率为该视频流分配第一传输设备和视频终端之间的带宽资源。
其中,该平滑速率用于表示请求预留的带宽资源的大小。
步骤S3A04:流量工程设备收到资源预留请求后,根据该平滑速率为该视频流分配第一传输设备和视频终端之间的带宽资源。
该资源预留请求还可以包括视频终端的位置信息。视频终端的位置信息具体可以为视频终端的IP地址、或所属OLT的标识、或所属OLT上与该视频终端连接的接口的标识。该资源预留请求还可以包括该视频流的标识,该视频流的标识可以是该视频流的五元组,也可以是该视频流的五元组的一部分,如该视频流的源IP地址、源端口号、目的端口号和传输层协议。可以理解的是,如果该视频流的标识包括该视频终端的IP地址,如该视频流的标识为该视频流的五元组,则该视频终端的IP地址既是该视频流的标识的一部分又是该视频终端的位置信息。
如果第一传输设备和视频终端之间的网络为无路径控制能力的网络,如传统IP网络,流量工程设备可以通过收集的网络拓扑、以及视频终端的位置信息确定第一传输设备和视频终端之间的用于传输该视频流的转发路径,并根据该传输路径上的可用带宽资源及该平滑速率确定是否可以接纳该视频流,即判断该传输路径上的可用带宽资源是否满足以该平滑速率传输该视频流。如果可以接纳,则为该视频流分配带宽资源并执行步骤S3A05,否则,返回用于表示预留失败的资源预留响应。
如果第一传输设备和视频终端之间的网络为具有路径控制能力的网络,如多协议 标签交换(Multi-protocol Label Switching,MPLS)网络,流量工程设备可以根据该平滑速率和该位置信息为该视频流确定该第一传输设备和该视频终端之间的满足以该平滑速率传输该视频流的传输路径,并执行步骤S3A05。具体地,流量工程设备根据收集的网络拓扑、该位置信息和该平滑速率建立第一传输设备和视频终端之间的用于传输该视频流的隧道或计算第一传输设备和视频终端之间的用于传输该视频流的转发路径。流量工程设备还可以向用于控制视频流的传输路径的网络控制器发送该隧道或转发路径对应的转发标签,以便于网络控制器通过该隧道或转发路径上的传输设备根据该转发标签转发该视频流。流量工程设备也可以直接向位于该隧道或转发路径上的传输设备发送该隧道或转发路径对应的转发标签,以指示该隧道或转发路径上的传输设备根据该转发标签转发该视频流。
由于可以主动确定一条满足以该平滑速率传输该视频流的传输路径并进行资源预留,而不是被动地仅在现有的路径的可用带宽资源满足以该平滑速率传输该视频流时进行资源预留,因此资源预留成功的几率比较大,可以有效提升通信效率。
步骤S3A05:流量工程设备在分配该带宽资源后向第一传输设备返回用于表明预留成功的资源预留响应。
该资源预留响应可以包括该视频流的标识。需要说明的是,第一传输设备通常会基于多个视频流向流量工程设备请求资源预留,资源预留请求和资源预留响应中携带的视频流的标识可以用于表示资源预留和视频流的对应关系。
步骤S3A06:第一传输设备为该视频流分配队列缓存,并根据该平滑速率确定发送该视频流的数据报文的时间间隔。
为该视频流分配的队列缓存的长度可以与该平滑速率正相关。该队列缓存的长度可以为该平滑速率和缓存时长C的乘积,其中C可以为区间[10ms,1000ms]内的值。由于视频流的平滑速率越大为该视频流分配的队列缓存越大,因此,可以有效降低缓存溢出的风险。
第一传输设备可以预先设置C的值,如100ms。也可以根据第一传输设备的总缓存大小、规划的可容纳总视频流量大小以及规划给每条视频流分配的队列缓存的长度确定C。具体可以通过如下方式确定C:将规划的可容纳总视频流量大小与规划给每条视频流分配的队列缓存的长度的商作为共计可以容纳的视频流的条数,将总缓存大小与共计可以容纳的视频流的条数的商作为预估的队列长度,进而将预估队列长度与预估平滑速率的商作为C的值,预估平滑速率可以是预先设置的,如60mbps(即每秒60兆位)。
如,规划的可容纳总视频流量大小为512G,规划给每条视频流分配的队列缓存的长度为1G,则共计可以容纳512条视频流。总缓存大小为100G,则预估的队列长度为100G/512=4M。假定预估平滑速率为60mbps,则C=4M/60mbps=67ms。
具体可以通过如下公式计算时间间隔interval:interval=size/speed,其中,size为数据报文大小,可以设为1500字节,speed为平滑速率。
假设数据报文大小为1500字节,平滑速率为90mbps,则每两个相邻的数据报文的发送时间间隔为0.13ms。
步骤S3A07:第一传输设备以该时间间隔向视频终端发送从视频服务器接收的该 视频流的数据报文。
视频服务器向视频终端发送的视频流通过第一传输设备传输,第一传输设备一边将接收的视频服务器发送的数据报文放入队列缓存,一边按照该时间间隔从队列缓存中取出数据报文通过出端口发送出去。如,时间间隔为0.13ms,当队列缓存中存在数据报文时,第一传输设备每0.13ms从队列缓存中取出一个数据报文通过出端口发送出去。
另外,如果第一传输设备接收的该视频流的数据报文中没有标记优先级或标记的优先级低于非语音且非视频业务的优先级,第一传输设备还可以将该视频流的每个数据报文的优先级字段的值均标记为第一优先级,其中第一优先级高于非语音且非视频业务的优先级,相应地,第一传输设备和视频终端之间的传输设备会以第一优先级传输该视频流。
当通过TCP协议传输该视频流时,视频终端在接收到封装了视频数据的TCP数据报文时会向视频服务器回复TCP ACK报文,回复的TCP ACK中携带视频终端的接收窗口大小(receive window size,RWS)。进而视频服务器会根据接收的TCP ACK报文中携带的接收窗口大小调整发送视频流的速率。
因此,在传输该视频流的过程中,第一传输设备还可以通过执行后续步骤S3A08-S3A09减少该视频流的队列缓存的溢出。
步骤S3A08:第一传输设备在确定该视频流的队列缓存的占用量超过占用阈值时,将从视频终端接收的TCP ACK报文中的接收窗口大小修改为该队列缓存的剩余缓存的大小。
该占用阈值大于该队列缓存的大小的50%,通常为大于该队列缓存的大小的60%且小于该队列缓存的大小的70%的值。
步骤S3A09:第一传输设备将携带修改后的接收窗口大小的TCP ACK报文发送给视频服务器。
相应地,视频服务器根据接收的TCP ACK报文中的接收窗口大小调整发送视频流的速率。
由于该视频流的队列缓存的占用量已经超过了占用阈值,所以该队列缓存的剩余缓存较小,即修改后的接收窗口大小较小,所以,视频服务器会根据该修改后的接收窗口大小减小发送视频流的速率,从而可以有效队列缓存溢出导致的丢包。
步骤S3A10:第一传输设备在确定视频流传输结束后,释放队列缓存资源,并向流量工程设备发送资源释放请求以请求流量工程设备释放为该视频流分配的资源。
下面结合图3B介绍本发明实施例一的实施方式2的具体实现方式。
在实施方式2中,目标设备为位于视频服务器和视频终端之间的传输设备(如BRAS),确定设备为流量工程设备。
步骤S3B01:获取视频流的特征信息。
步骤S3B01可以由目标设备执行(如图3B所示),也可以由视频服务器执行。
如果步骤S3B01由目标设备执行,步骤S3B01的具体实现同步骤S3A01,不再赘述。
如果步骤S3B01由视频服务器执行,则视频服务器在接收到视频终端发送的视频请求后,可以根据请求的视频获取存储的该视频对应的特征信息。
步骤S3B02:向流量工程设备发送资源预留请求,该资源预留请求包括该视频流的特征信息。
步骤S3B02与步骤S3B01的执行主体相同。
如果步骤S3B02由视频服务器执行,该资源预留请求还可以包括该视频流的标识、该终端的位置信息和视频服务器的位置信息。视频终端的位置信息具体可以为视频终端的IP地址、或所属OLT的标识、或所属OLT上与该视频终端连接的接口的标识。视频服务器的位置信息具体可以是视频服务器的IP地址。该视频流的标识可以是该视频流的五元组,也可以是该视频流的五元组的一部分,如该视频流的源IP地址、源端口号、目的端口号和传输层协议。可以理解的是,如果该视频流的标识包括该视频终端的IP地址,如该视频流的标识为该视频流的五元组,则该视频终端的IP地址既是该视频流的标识的一部分又是该视频终端的位置信息;如果该视频流的标识包括该视频服务器的IP地址,如该视频流的标识为该视频流的五元组,则该视频服务器的IP地址既是该视频流的标识的一部分又是该视频服务器的位置信息。
步骤S3B03:流量工程设备收到资源预留请求后,从该资源预留请求中获取该视频流的特征信息,并根据获取的该视频流的特征信息确定平滑速率。
确定平滑速率的方法同步骤S202,不再赘述。
步骤S3B04:流量工程设备根据该平滑速率为该视频流分配目标设备和视频终端之间的带宽资源。
步骤S3B04的具体实现同S3A04,不再赘述。
如果步骤S3B01和S3B02的执行主体为该视频服务器,在步骤S3B04中流量工程设备还需要先确定目标设备,具体可以是根据视频终端的位置信息和视频服务器的位置信息确定视频服务器和视频终端之间的用于传输该视频流的传输路径,并根据预先配置的实现流量突发消除的设备的列表确定位于该传输路径上的实现流量突发消除的设备(即目标设备),进而为该视频流分配目标设备和视频终端之间的带宽资源。
步骤S3B05:流量工程设备向目标设备发送通知消息,该通知消息包括确定的平滑速率。
如果步骤S3B01和S3B02的执行主体为该目标设备,则步骤S3B05中的通知消息为资源预留响应。该资源预留请求和该资源预留响应还可以包括该视频流的标识,用于表示资源预留和视频流的对应关系。
如果步骤S3B01和S3B02的执行主体为该视频服务器,流量工程设备在步骤S3B05中想在步骤S3B04中确定的目标设备发送通知消息,并向视频服务器发送用于表示预留成功的资源预留响应。
步骤S3B06-S3B09:同步骤S3A06-S3A09,不再赘述。
实施方式3:目标设备和确定设备均为视频服务器。
步骤S3C01:视频服务器获取视频流的特征信息。
视频服务器在接收到视频终端发送的视频请求后,可以根据请求的视频获取存储 的该视频对应的特征信息。
步骤S3C02:视频服务器根据该视频流的特征信息确定该视频流的平滑速率。
步骤S3C02的实现方式同步骤S202,不再赘述。
步骤S3C03:视频服务器向流量工程设备发送资源预留请求,该资源预留请求包括该平滑速率,以请求流量工程设备根据该平滑速率为该视频流分配第一传输设备和视频终端之间的带宽资源。
其中,该平滑速率用于表示请求预留的带宽资源的大小。
步骤S3C04:流量工程设备收到资源预留请求后,根据该平滑速率为该视频流分配第一传输设备和视频终端之间的带宽资源。
步骤S3C04的具体实现同S3A04,不再赘述。
步骤S3C05:流量工程设备在分配该带宽资源后向第一传输设备返回用于表明预留成功的资源预留响应。
该资源预留响应可以包括该视频流的标识。需要说明的是,第一传输设备通常会基于多个视频流向流量工程设备请求资源预留,资源预留请求和资源预留响应中携带的视频流的标识可以用于表示资源预留和视频流的对应关系。
步骤S3C06:视频服务器根据该平滑速率确定发送该视频流的数据报文的时间间隔。
时间间隔interval的计算方式同步骤S3A07,不再赘述。
步骤S3C07:视频服务器以该时间间隔向视频终端发送该视频流的数据报文。
在具体实现时,视频服务器可以包括中间件、协议栈和智能网卡。其中,中间件在执行步骤S3C01-S3C02后执行步骤S3C03以通过智能网卡向流量工程设备发送资源预留请求,在通过智能网卡接收资源预留响应,并将该平滑速率通知给智能网卡。相应地,智能网卡执行步骤S3C06根据该平滑速率确定发送该视频流的数据报文的时间间隔。
进一步地,中间件从用户请求的视频的视频文件中读取视频数据,将读取的视频数据通过视频服务器的系统内核发送给视频服务器的协议栈,如,每隔50ms向协议栈发送100K的视频数据,视频服务器的协议栈将接收的视频数据封装到IP报文中并将封装的IP报文发送给视频服务器的智能网卡,然后视频服务器的智能网卡执行步骤S3C07以该时间间隔发送接收的IP报文。
可以理解的是,智能网卡一边将接收的IP报文放入队列缓存,一边按照该时间间隔从队列缓存中取出IP报文通过出端口发送出去。
实施方式4:目标设备为视频服务器,确定设备为流量工程设备。
步骤S3D01:视频服务器获取视频流的特征信息。
视频服务器在接收到视频终端发送的视频请求后,可以根据请求的视频获取存储的该视频对应的特征信息。
步骤S3D02:视频服务器向流量工程设备发送资源预留请求,该资源预留请求包括该视频流的特征信息。
步骤S3D03:流量工程设备根据资源预留请求中的视频流的特征信息确定平滑速 率。
确定平滑速率的方法同步骤S202,不再赘述。
步骤S3D04:流量工程设备根据该平滑速率为该视频流分配视频服务器和视频终端之间的带宽资源。
步骤S3D04的具体实现同S3A04,不再赘述。
步骤S3D05:流量工程设备向视频服务器返回用于表明预留成功的资源预留响应,该资源预留响应包括确定的平滑速率。
该资源预留请求和该资源预留响应还可以包括该视频流的标识。需要说明的是,目标设备通常会基于多个视频流向流量工程设备请求资源预留,资源预留请求和资源预留响应中携带的视频流的标识可以用于表示资源预留和视频流的对应关系。
步骤S3D06:视频服务器根据该平滑速率确定发送该视频流的数据报文的时间间隔。
时间间隔interval的计算方式同步骤S3A07,不再赘述。
步骤S3D07:视频服务器以该时间间隔向视频终端发送该视频流的数据报文。
在具体实现时,视频服务器可以包括中间件、协议栈和智能网卡。其中,中间件在执行步骤S3D01后执行步骤S3D02以通过智能网卡向流量工程设备发送资源预留请求,在步骤S3D05中通过智能网卡接收资源预留响应,从资源预留响应中获取平滑速率并将该平滑速率通知给智能网卡。相应地,智能网卡执行步骤S3D06根据该平滑速率确定发送该视频流的数据报文的时间间隔,并执行步骤S3D07以该时间间隔发送从协议栈接收的IP报文。
根据本发明实施例1,本发明实施例2提出了一种设备200,如图4A所示,设备200包括:获取单元210和确定单元220。
获取单元210,用于获取视频流的特征信息,该视频流的特征信息包括用于表示该视频流的最高码率的信息。
确定单元220,用于根据所述获取单元210获取的该视频流的特征信息确定平滑速率,该平滑速率不小于该视频流的最高码率,该平滑码率用于确定目标设备向视频终端发送该视频流的数据报文的时间间隔。
设备200与目标设备可以为同一设备(如BRASS,又如视频服务器)。如图4B所示,设备200还可以包括处理单元230和传输单元240。
处理单元230,用于根据该平滑速率确定该时间间隔,并以该时间间隔通过传输单元240向视频终端发送该视频流的数据报文。
传输单元240,用于与其他设备通信,如收发控制信令、收发数据报文、发送资源预留请求、接收资源预留响应等。
设备200具体可以是视频服务器、或流量工程设备、或位于视频服务器和视频终端之间的传输设备,也可以是可部署在该传输设备上的业务板卡。如果为部署在该传输设备上的业务板卡,该业务板卡上的传输单元240具体可以通过该传输设备的接口板卡与其他设备通信。
设备200还可以为流量工程设备。如图4C所示,设备200还可以包括资源预留单 元250和传输单元260。
传输单元260用于接收资源预留请求,该资源预留请求包括该视频流的特征信息。相应地,获取单元210具体用于从该资源预留请求中获取该视频流的特征信息。
资源预留单元250,用于根据该平滑速率为该视频流分配目标设备和视频终端之间的带宽资源,并通过所述传输单元向目标设备发送该平滑速率。资源预留请求可以是从目标设备接收的,相应地,可以通过用于表明预留成功的资源预留响应携带该平滑速率发送给目标设备。
本发明实施例2中描述的功能单元可以用来实施上述实施例1所述的方法中确定设备执行的操作。
根据本发明实施例1,本发明实施例3提出了一种传输设备300,视频服务器向视频终端发送的视频流通过传输设备300传输。如图5所示,传输设备300包括:处理单元310和传输单元320。
传输单元310,用于接收视频流的标识和该视频流的平滑速率;
处理单元320,用于在通过传输单元310接收到所述视频流的标识所标识的视频流的数据报文时以所述时间间隔通过传输单元310向所述视频终端发送接收的所述视频流的数据报文。
本发明实施例2中描述的功能单元可以用来实施上述实施例1的实施方式2中的目标设备执行的操作。
根据本发明实施例1,本发明实施例4提供了一种确定设备1000,如图6所示,确定设备1000包括处理器1010和存储器1020,其中,处理器1010和存储器1020之间通过总线完成相互间的通信。
存储器1020,用于存放计算机操作指令。具体可以是高速RAM存储器,也可以是非易失性存储器(non-volatile memory)。
处理器1010,用于执行存储器1020中存放的计算机操作指令。处理器1010具体可以是中央处理器(central processing unit,CPU),或者是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
其中,处理器1010执行所述计算机操作指令使得确定设备1000执行上述实施例1所述的方法中确定设备所执行的操作。
确定设备1000具体可以是视频服务器、或流量工程设备、或位于视频服务器和视频终端之间的传输设备,也可以是可部署在该传输设备上的业务板卡。如果为部署在该传输设备上的业务板卡,该业务板卡上的处理器1010具体可以通过该传输设备的接口板卡与其他设备通信。
根据本发明实施例1,本发明实施例5提供了一种传输设备2000,如图7所示,传输设备2000包括处理器2010和存储器2020,其中,处理器2010和存储器2020之间通过总线完成相互间的通信。
存储器2020,用于存放计算机操作指令。具体可以是高速RAM存储器,也可以是非易失性存储器(non-volatile memory)。
处理器2010,用于执行存储器2020中存放的计算机操作指令。处理器2010具体可以是CPU,或者是ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
其中,处理器2010执行所述计算机操作指令使得传输设备2000执行上述实施例1的实施方式2中目标设备所执行的操作。
根据本发明实施例1,本发明实施例6提出了一种实现通信系统4000,如图8所示,系统4000包括确定设备4010和目标设备4020。确定设备4010可以执行上述实施例1所述的方法中确定设备所执行的操作,目标设备4020可以执行上述实施例1所述的方法中目标设备所执行的操作。
确定设备4010具体可以是视频服务器,相应地,目标设备4020具体可以是位于视频服务器和视频终端之间的传输设备。
确定设备4010具体还可以是流量工程设备,相应地,目标设备4020具体可以是视频服务器,或位于视频服务器和视频终端之间的传输设备。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
Claims (39)
- 一种实现视频业务的方法,其特征在于,获取视频流的特征信息,所述视频流的特征信息包括用于表示所述视频流的最高码率的信息;根据所述视频流的特征信息确定平滑速率,所述平滑速率不小于所述视频流的最高码率,所述平滑码率用于确定目标设备向视频终端发送所述视频流的数据报文的时间间隔。
- 根据权利要求1所述的方法,其特征在于,所述用于表示所述视频流的最高码率的信息包括所述视频流的平均码率、以及所述视频流的最高码率与所述平均码率的比值,或者所述用于表示所述视频流的最高码率的信息包括所述视频流的最高码率。
- 根据权利要求1或2所述的方法,其特征在于,所述视频流的特征信息还包括用于表示所述视频流的最大发送速率的信息。
- 根据权利要求3所述的方法,其特征在于,所述用于表示所述视频流的最大发送速率的信息包括所述视频流的平均码率、以及所述视频流的最大发送速率和所述视频流的平均码率的比值,或者所述用于表示所述视频流的最大发送速率的信息包括所述视频流的最大发送速率。
- 根据权利要求1-4任一所述的方法,其特征在于,所述根据所述视频流的特征信息确定平滑速率包括:根据所述视频流的特征信息确定第一速率,所述第一速率不小于所述视频流的最高码率;将所述第一速率作为所述平滑速率,或者将所述第一速率和所述视频终端对应的最大可用带宽中的最小值确定为所述平滑速率。
- 根据权利要求5所述的方法,其特征在于,所述第一速率和所述视频流的最高码率正相关。
- 根据权利要求5或6所述的方法,其特征在于,所述第一速率与传输开销系数a正相关,其中,1<a<=2。
- 根据权利要求7所述的方法,其特征在于,所述用于表示所述视频流的最高码率的信息包括所述视频流的平均码率E ave、以及所述视频流的最高码率与所述视频流的平均码率E ave的比值R;所述用于表示所述视频流的最大发送速率的信息包括平均码率E ave、以及所述视频流的最大发送速率和所述视频流的平均码率E ave的比值n;所述根据所述视频流的特征信息确定第一速率具体包括,根据如下公式计算所述第一速率S1:S1=a*n*R*E ave。
- 根据权利要求7所述的方法,其特征在于,所述用于表示所述视频流的最高码率的信息包括所述视频流的最高码率E max;所述用于表示所述视频流的最大发送速率的信息包括平均码率E ave、以及所述视频流的最大发送速率和所述视频流的平均码率E ave的比值n;所述根据所述视频流的特征信息确定第一速率具体包括,根据如下公式计算所述第一速率S1:S1=a*n*E max。
- 根据权利要求1-4任一所述的方法,其特征在于,所述根据所述视频流的特征信息确定平滑速率包括:根据所述视频流的特征信息和业务策略确定第二速率,所述第二速率不小于所述视频流的最高码率;将所述第二速率作为所述平滑速率,或者将所述第二速率和所述视频终端对应的最大可用带宽中的最小值确定为所述平滑速率;其中,所述业务策略用于指示优先保障满足预设条件的视频流的传输质量,所述视频流的特征信息还包括用于表示所述视频流是否为满足所述预设条件的信息。
- 根据权利要求10所述的方法,其特征在于,所述第二速率与策略系数正相关,其中,满足所述预设条件的视频流对应的策略系数b 1的取值大于不满足所述预设条件的视频流对应的策略系数b 2的取值,其中b 1∈[0.5,3],b 2∈[0.5,3]。
- 根据权利要求1-11任一所述的方法,其特征在于,所述方法由所述目标设备执行;所述根据所述视频流的特征信息确定平滑速率之后,所述方法还包括:所述目标设备根据所述平滑速率确定所述时间间隔;所述目标设备以所述时间间隔向所述视频终端发送所述视频流的数据报文。
- 根据权利要求12所述的方法,其特征在于,所述目标设备为发送所述视频流的视频服务器和所述视频终端之间的传输设备;所述以所述时间间隔向所述视频终端发送所述视频流的数据报文包括:所述目标设备在接收到所述视频服务器发送的所述视频流的数据报文时,所述目标设备以所述时间间隔向所述视频终端发送接收的所述视频流的数据报文。
- 根据权利要求13所述的方法,其特征在于,所述目标设备为所述视频流分配的队列缓存的长度与所述平滑速率正相关。
- 根据权利要求13或14所述的方法,其特征在于,所述视频流的传输层协议为传输控制协议TCP;在传输所述视频服务器和所述视频终端之间的视频流的数据报文的过程中,所述方法还包括:在确定所述视频流的队列缓存的占用量超过占用阈值时,将从所述视频终端接收的TCP ACK报文中的接收窗口大小修改为所述队列缓存的剩余缓存的大小,并将所述携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
- 根据权利要求13-15任一所述的方法,其特征在于,所述获取视频流的特征信息包括:接收所述视频终端和所述视频服务器之间传输的所述视频流对应的控制信令,并根据所述控制信令确定所述视频流的特征信息中的部分或全部。
- 根据权利要求12-16任一所述的方法,其特征在于,所述根据所述视频流的特征信息确定所述视频流的平滑速率之后还包括,向流量工程设备发送资源预留请求,所述资源预留请求包括所述平滑速率,以请求所述流量工程设备根据所述平滑速率为所述视频流分配所述目标设备和所述视频终端之间的带宽资源。
- 根据权利要求1-11任一所述的方法,其特征在于,所述方法由流量工程设备 执行;所述获取视频流的特征信息之前还包括:所述流量工程设备接收资源预留请求,所述资源预留请求包括所述视频流的特征信息;所述获取视频流的特征信息包括:所述流量工程设备从所述资源预留请求中获取所述视频流的特征信息;所述根据所述视频流的特征信息确定所述视频流的平滑速率之后,所述方法还包括:所述流量工程设备根据所述平滑速率为所述视频流分配所述目标设备和所述视频终端之间的带宽资源;所述流量工程设备向所述目标设备发送所述平滑速率。
- 根据权利要求18所述的方法,其特征在于,所述资源预留请求还包括所述视频终端的位置信息;所述流量工程设备所述根据所述平滑速率为所述视频流分配所述目标设备和所述视频终端之间的带宽资源之前,所述方法还包括:所述流量工程设备根据所述平滑速率和所述位置信息确定所述目标设备和所述视频终端之间的满足以所述平滑速率传输所述视频流的传输路径。
- 一种实现视频业务的方法,其特征在于,所述方法由位于视频服务器和视频终端之间的传输设备执行,所述视频服务器向所述视频终端发送的视频流通过所述传输设备传输;所述方法包括:所述传输设备接收视频流的标识和所述视频流的平滑速率;所述传输设备在接收到所述视频流的标识所标识的视频流的数据报文时以所述时间间隔向所述视频终端发送接收的所述视频流的数据报文。
- 根据权利要求20所述的方法,其特征在于,所述视频服务器和所述视频终端之间传输的控制信令通过所述传输设备传输;所述视频流的传输层协议为传输控制协议TCP;在所述传输设备传输所述视频服务器和所述视频终端之间的视频流的数据报文的过程中,所述方法还包括:在确定所述视频流的队列缓存的占用量超过占用阈值时,所述传输设备将从所述视频终端接收的TCP确认ACK报文中的接收窗口大小修改为所述队列缓存的剩余缓存大小,并将所述携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
- 一种用于实现视频业务的设备,其特征在于,包括:获取单元和确定单元;所述获取单元,用于获取视频流的特征信息,所述视频流的特征信息包括用于表示所述视频流的最高码率的信息;所述确定单元,用于根据所述视频流的特征信息确定平滑速率,所述平滑速率不小于所述视频流的最高码率,所述平滑码率用于确定目标设备向视频终端发送所述视频流的数据报文的时间间隔。
- 根据权利要求22所述的设备,其特征在于,所述视频流的特征信息还包括用 于表示所述视频流的最大发送速率的信息。
- 根据权利要求22或23所述的设备,其特征在于,所述确定单元具体用于:根据所述视频流的特征信息确定第一速率,所述第一速率不小于所述视频流的最高码率,并用于将所述第一速率作为所述平滑速率,或者将所述第一速率和所述视频终端对应的最大可用带宽中的最小值确定为所述平滑速率。
- 根据权利要求24所述的设备,其特征在于,所述第一速率和所述视频流的最高码率正相关。
- 根据权利要求24或25所述的设备,其特征在于,所述第一速率与传输开销系数a正相关,其中,1<a<=2。
- 根据权利要求26所述的设备,其特征在于,所述用于表示所述视频流的最高码率的信息包括所述视频流的平均码率E ave、以及所述视频流的最高码率与所述视频流的平均码率E ave的比值R;所述用于表示所述视频流的最大发送速率的信息包括平均码率E ave、以及所述视频流的最大发送速率和所述视频流的平均码率E ave的比值n;所述确定单元根据如下公式计算所述第一速率S1:S1=a*n*R*E ave。
- 根据权利要求26所述的设备,其特征在于,所述用于表示所述视频流的最高码率的信息包括所述视频流的最高码率E max;所述用于表示所述视频流的最大发送速率的信息包括平均码率E ave、以及所述视频流的最大发送速率和所述视频流的平均码率E ave的比值n;所述确定单元根据如下公式计算所述第一速率S1:S1=a*n*E max。
- 根据权利要求22或23所述的设备,其特征在于,所述确定单元具体用于根据所述视频流的特征信息和业务策略确定第二速率,所述第二速率不小于所述视频流的最高码率,并用于将所述第二速率作为所述平滑速率,或者将所述第二速率和所述视频终端对应的最大可用带宽中的最小值确定为所述平滑速率;其中,所述业务策略用于指示优先保障满足预设条件的视频流的传输质量,所述视频流的特征信息还包括用于表示所述视频流是否为满足所述预设条件的信息。
- 根据权利要求29所述的设备,其特征在于,所述第二速率与策略系数正相关,其中,满足所述预设条件的视频流对应的策略系数b 1的取值大于不满足所述预设条件的视频流对应的策略系数b 2的取值,其中b 1∈[0.5,3],b 2∈[0.5,3]。
- 根据权利要求22-30任一所述的设备,其特征在于,所述设备与所述目标设备为同一设备;所述设备还包括处理单元和传输单元;所述处理单元,用于根据所述平滑速率确定所述时间间隔,并以所述时间间隔通过所述传输单元向所述视频终端发送所述视频流的数据报文。
- 根据权利要求31所述的设备,其特征在于,所述设备为发送所述视频流的视频服务器和所述视频终端之间的传输设备,或所述传输设备中的业务板卡;所述处理单元具体用于:在通过所述传输单元接收到所述视频服务器发送的所述视频流的数据报文时,以所述时间间隔通过所述传输单元向所述视频终端发送接收的所述视频流的数据报文。
- 根据权利要求32所述的设备,其特征在于,所述视频流的传输层协议为传输控制协议TCP;所述处理单元还用于,在确定所述视频流的队列缓存的占用量超过占用阈值时,将通过所述传输单元从所述视频终端接收的TCP确认ACK报文中的接收窗口大小修改为所述队列缓存的剩余缓存大小,并通过所述传输单元将所述携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
- 根据权利要求22-30任一所述的设备,其特征在于,所述设备为流量工程设备;所述设备还包括资源预留单元和传输单元;所述传输单元用于接收资源预留请求,所述资源预留请求包括所述视频流的特征信息;所述获取单元具体用于从所述资源预留请求中获取所述视频流的特征信息;所述资源分配单元,用于根据所述平滑速率为所述视频流分配所述目标设备和所述视频终端之间的带宽资源,并通过所述传输单元向所述目标设备发送所述平滑速率。
- 根据权利要求34所述的设备,其特征在于,所述资源预留请求还包括所述视频终端的位置信息;所述资源预留单元,在根据所述平滑速率为所述视频流分配所述目标设备和所述视频终端之间的带宽资源之前,还用于根据所述平滑速率和所述位置信息确定所述目标设备和所述视频终端之间的满足以所述平滑速率传输所述视频流的传输路径。
- 一种实现视频业务的传输设备,其特征在于,视频服务器向视频终端发送的视频流通过所述传输设备传输;所述传输设备包括:处理单元和传输单元;所述传输单元,用于接收视频流的标识和所述视频流的平滑速率;所述处理单元,用于在通过所述传输单元接收到所述视频流的标识所标识的视频流的数据报文时以所述时间间隔通过所述传输单元向所述视频终端发送接收的所述视频流的数据报文。
- 根据权利要求36所述的传输设备,其特征在于,所述视频服务器和所述视频终端之间传输的控制信令通过所述传输设备传输;所述视频流的传输层协议为传输控制协议TCP;所述处理单元还用于,在确定所述视频流的队列缓存的占用量超过占用阈值时,将通过所述传输单元从所述视频终端接收的TCP确认ACK报文中的接收窗口大小修改为所述队列缓存的剩余缓存大小,并通过所述传输单元将所述携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
- 一种通信系统,其特征在于,包括目标设备和确定设备;所述确定设备,用于获取视频流的特征信息,根据所述视频流的特征信息确定平滑速率,并向所述目标设备发送所述平滑速率,所述视频流的特征信息包括用于表示所述视频流的最高码率的信息,所述平滑速率不小于所述视频流的最高码率;所述目标设备,用于接收所述目标设备发送的所述平滑速率,并根据所述平滑速 率确定向视频终端发送所述视频流的数据报文的时间间隔,并以所述时间间隔向所述视频终端发送所述视频流的数据报文。
- 根据权利要求38所述的通信系统,其特征在于,所述视频服务器和所述视频终端之间传输的控制信令通过所述目标设备传输;所述视频流的传输层协议为传输控制协议TCP;所述目标设备,还用于在确定所述视频流的队列缓存的占用量超过占用阈值时,将从所述视频终端接收的TCP确认ACK报文中的接收窗口大小修改为所述队列缓存的剩余缓存大小,并将所述携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18905871.2A EP3742746A1 (en) | 2018-02-11 | 2018-12-27 | Method and device for realizing video service, and communication system and computer-readable storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810142299.2 | 2018-02-11 | ||
CN201810142299.2A CN110166804B (zh) | 2018-02-11 | 2018-02-11 | 实现视频业务的方法、设备、通信系统及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019153930A1 true WO2019153930A1 (zh) | 2019-08-15 |
Family
ID=67548834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/124101 WO2019153930A1 (zh) | 2018-02-11 | 2018-12-27 | 实现视频业务的方法、设备、通信系统及计算机可读存储介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3742746A1 (zh) |
CN (2) | CN110166804B (zh) |
WO (1) | WO2019153930A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114024925A (zh) * | 2021-11-02 | 2022-02-08 | 成都达拓智通科技有限公司 | 一种非连续性通话音频流传输队列控制方法 |
CN114651449A (zh) * | 2020-04-26 | 2022-06-21 | 华为技术有限公司 | 一种流媒体参数动态自适应网络的调整方法及装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113923488B (zh) * | 2021-09-15 | 2024-04-16 | 青岛海信网络科技股份有限公司 | 一种公交车、视频流量控制方法及存储介质 |
CN114745572B (zh) * | 2022-04-14 | 2023-06-13 | 中国联合网络通信集团有限公司 | 视频缓存控制方法、装置、设备及存储介质 |
CN115834556B (zh) * | 2023-02-23 | 2023-05-12 | 阿里巴巴(中国)有限公司 | 数据传输方法、系统、设备、存储介质及程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753363A (zh) * | 2008-12-02 | 2010-06-23 | 华为技术有限公司 | 应用于媒体传输质量测量的方法及装置 |
CN102186119A (zh) * | 2011-04-18 | 2011-09-14 | 烽火通信科技股份有限公司 | 流媒体服务器保证音视频质量动态流量控制的方法 |
CN103561283A (zh) * | 2013-10-30 | 2014-02-05 | 乐视致新电子科技(天津)有限公司 | 一种智能电视的码率切换方法及装置 |
KR101636198B1 (ko) * | 2015-03-09 | 2016-07-05 | 강원대학교산학협력단 | 무선 통신 환경에서 비디오 스트리밍의 트래픽 제어 방법 및 이를 구현하는 수신기 장치 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1450514A1 (en) * | 2003-02-18 | 2004-08-25 | Matsushita Electric Industrial Co., Ltd. | Server-based rate control in a multimedia streaming environment |
US7843824B2 (en) * | 2007-01-08 | 2010-11-30 | General Instrument Corporation | Method and apparatus for statistically multiplexing services |
GB0706424D0 (en) * | 2007-04-02 | 2007-05-09 | British Telecomm | Video streaming |
EP2219342A1 (en) * | 2009-02-12 | 2010-08-18 | BRITISH TELECOMMUNICATIONS public limited company | Bandwidth allocation control in multiple video streaming |
CN101932003B (zh) * | 2009-06-23 | 2013-12-11 | 大唐移动通信设备有限公司 | 拥塞控制的处理方法和设备 |
US9338693B2 (en) * | 2013-03-14 | 2016-05-10 | Nec Corporation | Scheduling framework for adaptive video delivery over cellular networks |
CN104811998B (zh) * | 2014-01-27 | 2018-08-21 | 华为技术有限公司 | 一种控制传输控制协议窗口调整的方法和无线接入点 |
GB2519391B (en) * | 2014-04-02 | 2015-10-21 | Imagination Tech Ltd | Enhanced media quality management |
CN104243102A (zh) * | 2014-09-30 | 2014-12-24 | 深圳市云之讯网络技术有限公司 | 一种基于网络状态评估的码率控制方法及其装置 |
-
2018
- 2018-02-11 CN CN201810142299.2A patent/CN110166804B/zh active Active
- 2018-02-11 CN CN202111417203.7A patent/CN114257848A/zh active Pending
- 2018-12-27 EP EP18905871.2A patent/EP3742746A1/en not_active Ceased
- 2018-12-27 WO PCT/CN2018/124101 patent/WO2019153930A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753363A (zh) * | 2008-12-02 | 2010-06-23 | 华为技术有限公司 | 应用于媒体传输质量测量的方法及装置 |
CN102186119A (zh) * | 2011-04-18 | 2011-09-14 | 烽火通信科技股份有限公司 | 流媒体服务器保证音视频质量动态流量控制的方法 |
CN103561283A (zh) * | 2013-10-30 | 2014-02-05 | 乐视致新电子科技(天津)有限公司 | 一种智能电视的码率切换方法及装置 |
KR101636198B1 (ko) * | 2015-03-09 | 2016-07-05 | 강원대학교산학협력단 | 무선 통신 환경에서 비디오 스트리밍의 트래픽 제어 방법 및 이를 구현하는 수신기 장치 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3742746A4 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114651449A (zh) * | 2020-04-26 | 2022-06-21 | 华为技术有限公司 | 一种流媒体参数动态自适应网络的调整方法及装置 |
CN114651449B (zh) * | 2020-04-26 | 2023-09-29 | 华为技术有限公司 | 一种流媒体参数动态自适应网络的调整方法及装置 |
CN114024925A (zh) * | 2021-11-02 | 2022-02-08 | 成都达拓智通科技有限公司 | 一种非连续性通话音频流传输队列控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110166804B (zh) | 2021-12-03 |
EP3742746A4 (en) | 2020-11-25 |
EP3742746A1 (en) | 2020-11-25 |
CN114257848A (zh) | 2022-03-29 |
CN110166804A (zh) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019153930A1 (zh) | 实现视频业务的方法、设备、通信系统及计算机可读存储介质 | |
US20200358886A1 (en) | Data Transmission Method, Apparatus, And System | |
US11316799B2 (en) | Method and apparatus for transmitting a multimedia data packet using cross-layer optimization | |
KR101757771B1 (ko) | 상호 계층 최적화를 이용한 멀티미디어 데이터 패킷을 송신하는 방법 및 장치 | |
KR102198701B1 (ko) | 멀티미디어 시스템에서 정보를 송수신하는 방법 및 장치 | |
JP2016521501A (ja) | ブロードキャスティングシステムにおける動的キュー管理方法及び装置 | |
JP6574426B2 (ja) | マルチメディア伝送システムにおけるメディアデータ関連情報を送信する方法及び装置 | |
JP2010028378A (ja) | 通信装置及び通信方法 | |
WO2010054551A1 (zh) | 视频流传输的方法、装置和系统 | |
US10455261B2 (en) | Signaling scheme for improved video streaming | |
US20100005176A1 (en) | Method and devices for resource allocation | |
Qian et al. | User Intent Driven Path Switching in Video Delivery-An Edge Computing Based Approach | |
US11973814B2 (en) | Method and controller for audio and/or video content delivery | |
WO2022057706A1 (zh) | 一种数据传输方法及相关设备 | |
US20240259319A1 (en) | Priority Application And Network Bits For PDU Handling | |
CN107483220A (zh) | 一种服务质量控制方法、装置及系统 | |
McQuistin | Transport-layer support for multimedia applications | |
WO2023061555A1 (en) | Device and method for group qos control of multiple qos flows | |
KR20180126422A (ko) | 멀티미디어 데이터 패킷을 송신하는 방법 및 장치 | |
KR100757864B1 (ko) | 중앙 집중형 제어 방식을 이용한 주문형 영상 서비스시스템 및 그 제어방법 | |
JP2005051811A (ja) | ネットワークシステムとその通信帯域制御方法 |
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: 18905871 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2018905871 Country of ref document: EP Effective date: 20200821 |