WO2018210130A1 - 数据缓冲方法、网络设备及存储介质 - Google Patents

数据缓冲方法、网络设备及存储介质 Download PDF

Info

Publication number
WO2018210130A1
WO2018210130A1 PCT/CN2018/085383 CN2018085383W WO2018210130A1 WO 2018210130 A1 WO2018210130 A1 WO 2018210130A1 CN 2018085383 W CN2018085383 W CN 2018085383W WO 2018210130 A1 WO2018210130 A1 WO 2018210130A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
network
terminal device
communication network
buffered
Prior art date
Application number
PCT/CN2018/085383
Other languages
English (en)
French (fr)
Inventor
李志成
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Priority to EP18801525.9A priority Critical patent/EP3627791A1/en
Priority to JP2019534822A priority patent/JP6876131B2/ja
Priority to KR1020197025444A priority patent/KR102216622B1/ko
Publication of WO2018210130A1 publication Critical patent/WO2018210130A1/zh
Priority to US16/391,395 priority patent/US11146606B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234336Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content 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/26208Content 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/26216Content 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control 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/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control 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/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Definitions

  • the present invention relates to communication technologies, and in particular, to a data buffering method, a network device, and a storage medium.
  • the Content Delivery Network (CDN) node configures a buffer area for the user to store the audio/video data (also called buffered data) according to user requirements (such as delay requirements). And, when the user is connected to the CDN node, the CDN node sends the configured anchor audio/video data buffered to the buffer to the user at a time, and the user can receive the CDN node in real time during the live viewing process.
  • the transmitted anchor/video data since the CDN node transmits the anchor audio/video data buffered in the buffer area to the user all at once when the user connects to the CDN node, the user may be stuck during playback.
  • An embodiment of the present invention is to provide a data buffering method and a network device, which can implement smooth playback of data during live broadcast.
  • an embodiment of the present invention provides a data buffering method, including:
  • the network device acquires multimedia data and network characteristic information of a communication network for transmitting the multimedia data, the communication network comprising one of a first communication network and a second communication network; wherein the first communication network is used for a transmission network Decoding the multimedia data to the network device, where the second communication network is configured to transmit the multimedia data to the terminal device;
  • an embodiment of the present invention provides a network device, including:
  • an acquiring unit configured to acquire multimedia data and obtain network characteristic information of a communication network for transmitting the multimedia data, where the communication network includes one of a first communication network and a second communication network; wherein the first communication The network is configured to transmit the multimedia data to a network device, where the second communication network is configured to transmit the multimedia data to the terminal device;
  • the processing unit is configured to determine a target data amount for the terminal device according to at least network characteristic information of the communication network;
  • a buffering unit configured to determine, according to the acquired multimedia data, first buffered data having the target data amount that represents the multimedia data
  • a sending unit configured to send the first buffered data to the terminal device by using the second communications network; the data amount of the first buffered data matches network characteristic information.
  • an embodiment of the present invention further provides a data buffering method, where the method is performed by a network device, where the network device includes one or more processors and a memory, and one or more programs, where The one or more programs are stored in a memory, the program can include one or more units each corresponding to a set of instructions, the one or more processors being configured to execute instructions; include:
  • the communication network includes one of a first communication network and a second communication network; wherein the first communication network is configured to transmit the Multimedia data to a network device, wherein the second communication network is configured to transmit the multimedia data to the terminal device;
  • the data amount of the first buffered data matches the network characteristic information.
  • an embodiment of the present invention further provides a network device, including: a processor and a memory configured to store a computer program executable on the processor;
  • the processor configured to execute the computer data program, performs the data buffering method described above.
  • an embodiment of the present invention further provides a computer readable storage medium having stored thereon computer executable instructions for executing the data buffering method described above.
  • the data buffering method, the network device, and the storage medium according to the embodiments of the present invention have at least the following beneficial technical effects:
  • the target data volume for the terminal device is determined by the network device based on the actual network condition
  • the first buffer data determined by the network device with the target data amount can be matched with the actual network condition, thereby being able to reduce the fixed amount of buffered data.
  • the resulting carton phenomenon improves the smoothness of playback.
  • FIG. 1 is a schematic flowchart of an implementation of a data buffering method according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of an application scenario of a data buffering method according to an embodiment of the present invention
  • FIG. 3 is a schematic flowchart of a data buffering method according to an embodiment of the present invention.
  • FIG. 4 is a schematic flowchart of an implementation of a data buffering method according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a framework of a data buffering method in an application according to an embodiment of the present invention.
  • FIG. 6 is a diagram of interaction between a network device and a terminal device in a data buffering method according to an embodiment of the present invention
  • FIG. 7 is a schematic structural diagram of a network device according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of hardware of a network device according to an embodiment of the present invention.
  • the cache capacity is fixed, in the live broadcast process, if the anchor has a problem of reconnection, the anti-canton capability is reduced.
  • the maximum anti-canton capability of the terminal is configured for the terminal. Buffer cycle.
  • an embodiment of the present invention provides a data buffering method and a network device, which can dynamically adjust audio/video buffer data of a CDN node according to a user network environment and terminal configuration capability, thereby laying a foundation for reducing the number of times of carding.
  • the foundation has also laid the foundation for improving the live viewing experience.
  • FIG. 1 is a schematic flowchart of an implementation of a data buffering method according to an embodiment of the present invention.
  • the method can be applied to a network device, such as a CDN node.
  • the data buffering method in the embodiment of the present invention includes:
  • Step 101 The network device acquires multimedia data and network feature information of a communication network for transmitting the multimedia data.
  • the communication network includes one of a first communication network and a second communication network; wherein the first communication network is configured to transmit the multimedia data to a network device, and the second communication network is configured to transmit the multimedia data To the terminal device.
  • the multimedia data may be audio data and/or video data.
  • the first communication network may be a communication network between the sender terminal and the network device.
  • the first communication network may be a communication network between a host device and a CDN node, or the first communication network may be a communication between a network device (such as a CDN node) and a source station.
  • the source station uploads and accesses a server that stores the most original audio/video data.
  • the first communication network may be a communication network involved in acquiring multimedia data by the network device.
  • the second communication network is a communication network between the network device and the receiver terminal (that is, the terminal device in this embodiment) that receives the live multimedia data, such as a CDN node and a user equipment that views the live broadcast. Communication network between.
  • FIG. 2 is a schematic diagram of an application scenario of a data buffering method according to an embodiment of the present invention. As shown in FIG. 2, this embodiment can be applied to a live broadcast scenario, in a live broadcast scenario, a CDN node can adopt two modes, namely, mode one and mode two. To obtain audio/video data of the anchor terminal.
  • the CDN node can directly obtain the audio/video data (that is, the live broadcast data) collected by the anchor terminal in real time from the first communication network, and then transmit the obtained audio/video data through the second communication network.
  • the live viewing process is implemented.
  • the CDN node obtains audio/video data (that is, live broadcast data) for the anchor terminal from the source station through the first communication network, and then transmits the obtained audio/video data to the second communication network to the source network.
  • Receiver terminal here, before the CDN node obtains audio/video data from the source station, the anchor terminal uploads the audio/video data collected by itself to the source station for storage (the connection relationship between the live terminal and the source station is shown in FIG. 2). Not shown), so, to broadcast the viewing process.
  • the path of the CDN node to acquire audio/video data may be determined according to actual conditions, such as network congestion status.
  • the network feature information includes, but is not limited to, at least one of the following: delay, bandwidth, delay variation (ie, jitter), traffic, and the like; where network performance information can be used to perform network performance.
  • the evaluation is performed, for example, by using the network characteristic information to determine whether the network is congested or the like.
  • Step 102 Determine, according to network characteristic information of the communication network, a target data amount corresponding to the terminal device.
  • the network device when determining the target data volume, may further refer to the buffer condition of the terminal device, so as to further improve the determined target data volume and the terminal device (such as the actual network environment corresponding to the terminal device, and the terminal). The degree of matching of the actual buffer capacity of the device, etc.).
  • the network device acquires a buffer capacity of the terminal device, and further determines, according to at least the cache capacity and network characteristic information of the first communication network and/or the second communication network included in the communication network. The amount of target data for the terminal device.
  • the weight of the play parameter and the weight of the buffer capacity of the terminal device may be configured, and then the play parameter and the buffer capacity are weighted, and the terminal device is determined to be matched based on the weighted processed play parameter and the buffer capacity.
  • the amount of preset data may be configured, and then the play parameter and the buffer capacity are weighted, and the terminal device is determined to be matched based on the weighted processed play parameter and the buffer capacity.
  • the amount of preset data includes at least one of a cached original capacity and a remaining capacity.
  • the target data amount is represented by a preset number of image units.
  • the target data amount is represented by a number of Group Of Pictures (GOP).
  • GOP Group Of Pictures Determining, in step 102, the target data amount for the terminal device, that is, the network device determines a first quantity of preset image units that need to be buffered for the terminal device, and the first quantity of presets The total amount of data of the picture unit is taken as the target data amount for the terminal device.
  • the GOP is composed of a series of I frames, P frames, and B frames in a fixed mode.
  • the I frame is an intra-coded frame, which represents a key frame. It can be understood that the picture of the I frame is complete, and only the current frame data can be completed during decoding.
  • the P frame is a forward predictive coded frame, which represents the difference between the previous key frame and the previous P frame. The decoding needs to superimpose the difference defined by the frame on the previously buffered picture to generate the final Picture.
  • the B frame is a bidirectionally predicted interpolated coded frame, which represents a bidirectional difference frame, that is, the B frame records the difference between the current frame and the previous frame, and the compression ratio is high, and the decoding of the P frame and the B frame is more hardware-consuming than the I frame decoding.
  • Resources such as a central processing unit (CPU).
  • the target amount of data may be configured as at least one GOP cache for users whose real-time requirements are capable of accepting video delays greater than a delay threshold (ie, a time that can be perceived as a significant delay, such as 10 seconds).
  • a delay threshold ie, a time that can be perceived as a significant delay, such as 10 seconds.
  • the number of GOPs can be dynamically adjusted in real time according to the user's network conditions.
  • the network device can not set the target data amount, that is, no cache; for example,
  • the jitter of the video delay of the anchor terminal is smaller than the jitter threshold, that is, the uplink is stable, and when the network environment of the viewing user (that is, the receiver terminal) is congested, the target data volume is the data volume of the latest GOP, that is, the first buffer data is A recent GOP.
  • the uplink of the anchor terminal is stable.
  • the target data volume is zero, or at most, the data volume of the most recent GOP, that is, the first buffer data is not saved or the most recent GOP is cached.
  • the jitter of the video delay of the anchor terminal is greater than the jitter threshold, that is, the uplink is unstable.
  • the target data volume is the data volume corresponding to the last two or more GOPs, that is, the first buffer data is the last two. One or more GOPs.
  • the uplink of the anchor terminal is unstable.
  • the target data volume is the data volume corresponding to the last three or more GOPs, that is, the first buffer data is the last three or more GOPs.
  • the target data amount may have an upper limit, that is, the maximum amount of data of the preset number of GOPs may not be exceeded. Otherwise, the live broadcast user's viewing delay may be increased.
  • Step 103 Determine, according to the acquired multimedia data, first buffered data having the target data amount that is indicative of the multimedia data.
  • Step 104 Send the first buffered data to the terminal device by using the second communication network.
  • the data amount of the first buffered data matches the network characteristic information.
  • FIG. 3 is a schematic flowchart of a data buffering method according to an embodiment of the present invention. As shown in FIG. 3, the method includes:
  • Step 301 The network device acquires multimedia data.
  • Step 302 The network device acquires network feature information of a communication network used for transmitting the multimedia data.
  • Step 303 The network device determines, according to the network feature information, the amount of target data for the terminal device.
  • Step 304 The network device determines first buffered data of the multimedia data that has the target data amount.
  • Step 305 The network device sends the first buffered data to the terminal device.
  • Step 306 Play multimedia data corresponding to the first buffered data.
  • the first buffered data may be sent to the terminal device by using the second communication network, so as to enable the The terminal device plays the multimedia data corresponding to the first buffered data; here, since the target data amount is determined based on an actual network condition, the data amount of the first buffered data received by the terminal device can match the actual network condition. In this way, the risk of the stuck phenomenon caused by the fixed amount of buffered data is reduced, thereby laying a foundation for improving the user experience.
  • the history buffer data may be eliminated according to the buffered data amount (that is, the target data amount), and the latest GOP data is buffered. To ensure a smooth live stream.
  • the network device determines, according to network characteristic information of the first communication network and/or the second communication network that is included in the communication network, whether to perform frame loss processing on the first buffered data; Obtaining a priority order of the frame types of the audio frame and/or the video frame, and performing frame loss processing on the audio frame and/or the video frame in the first buffered data based on the priority order of the frame type to reduce the
  • the amount of data of the first buffered data facilitates adding the most recent GOP data to the first buffered data. For example, the video frame is lost and the audio frame is lost.
  • the B frame is preferentially dropped in the video frame.
  • the B frame is a bidirectional predictive coding frame with a high compression rate, the codec consumes a large CPU delay, and the second priority loses the P frame. I frame.
  • the first buffered data having the target data amount determined by using the method in this embodiment may be after the user's terminal device is connected to the network device, that is, the network device and the After the terminal device establishes the second communication network, the second communication network is used to send to the terminal device.
  • the network device determines a first buffer for the terminal device.
  • the playback parameter corresponding to the terminal device for playing the multimedia data may be referred to, where the play parameter is used to indicate the play performance of the multimedia data played by the terminal device, for example, the maximum delay that the terminal device can appear, or the degree of stagnation that can occur. And then refer to the maximum delay that can occur in the terminal device, or the degree of occurrence of the card to determine the target data.
  • the network device may first send the first buffered data to the terminal device.
  • the first buffered data is generated based on the terminal configuration, the first buffered data can be utilized.
  • the viewing user player has a certain cache.
  • the network device can send the configured first buffered data to the network device at a time, thereby reducing the user's viewing process such as the network.
  • the jitter, the anchor uplink audio/video data is unstable, and the CDN node returns to the source network (that is, the network between the CDN node and the source station) and the like, resulting in a live broadcast in the user viewing process.
  • the amount of target data is not as large as possible, and too large will increase the user's live viewing delay.
  • the first buffered data having the target data amount may be that the network device sends to the terminal device by using the second communication network after the second communication network is established.
  • the first buffered data may be sent by the network device to the terminal device when the terminal device of the user is just connected, or sent to the terminal device during the live broadcast.
  • the data volume of the first buffered data is determined based on an actual network condition, whether the first buffered data is sent to the terminal device at the initial stage of the live broadcast establishment, or is sent to the live broadcast process.
  • the terminal equipment can avoid the jamming problem caused by network congestion.
  • the first buffered data with a small amount of data can be determined by using the method described in this embodiment, so as to avoid a greater burden on the network.
  • the embodiment of the present invention can reduce the risk of the jamming phenomenon caused by the fixed amount of buffered data, improve the anti-catch ability, and lay a foundation for improving the user experience.
  • FIG. 4 is a schematic flowchart of the implementation of the data buffering method according to the embodiment of the present invention, as shown in FIG. :
  • Step 401 The network device acquires multimedia data, and a play parameter corresponding to the terminal device for playing multimedia data.
  • the play parameters may be the maximum delay that the terminal device can occur, or the degree of jamming that can occur.
  • Step 402 The network device determines, according to the play parameter, a preset data amount for the terminal device, and determines second buffer data of the multimedia data according to the acquired multimedia data.
  • the second buffered data has the preset amount of data.
  • Step 403 The network device establishes a second communication network with the terminal device.
  • the terminal device After the second communication network is successfully established, the terminal device generates a target instruction, and the target instruction instructs the network device to send the second buffered data.
  • Step 404 When the network device detects the target instruction, sending the second buffered data to the terminal device.
  • the data amount of the second buffered data acquired by the terminal device matches the play parameter.
  • Step 405 The terminal device plays the multimedia data corresponding to the second buffered data.
  • the target instruction is generated at least based on the establishment of the network establishment success information of the second communication network by the terminal device and the network device, that is, the target instruction is at least a terminal.
  • the device is generated based on the access success information of the terminal device accessing the network device, so that after the terminal device accesses the network device, the network device may first send the first level buffer data to the terminal device, that is, the second buffer data, where Because the second buffer data is generated based on the terminal configuration, the buffered data of the first level can be used to enable the viewing user player to have a certain cache.
  • the network device can The configured second buffered data is sent to the network device at a time, so that the network jitter, the uplink audio/video data instability of the anchor, and the CDN node return source network (that is, the CDN node and the source station) can be reduced during the user viewing process.
  • An abnormality between the network causes the user to watch the live broadcast during the process.
  • the preset data amount is not as large as possible, and too large will increase the user's live viewing delay.
  • the preset data amount may also be represented by a preset number of image units.
  • the preset data amount may be configured as at least one GOP cache, and the number of GOPs may be real-time according to the user network. Dynamic Adjustment.
  • the second level buffer data is also sent according to the actual situation of the network.
  • Step 406 The network device acquires network feature information of a communication network for transmitting multimedia data.
  • Step 407 The network device determines, according to network characteristic information of the communication network, a target data amount for the terminal device, and first buffer data of the multimedia data that has a target data amount.
  • Step 408 The network device sends the first buffered data to the terminal device.
  • Step 409 The terminal device plays the multimedia data corresponding to the first buffered data.
  • the first buffered data is the second-level buffering data.
  • the embodiment can utilize the two-level buffering method. To minimize the risk of live Caton.
  • the process of determining the target data amount and the first buffered data may be in the manner described in the foregoing embodiments.
  • the network device may also refer to the buffer capacity of the terminal device when determining the first level of buffered data.
  • the terminal device acquires a buffer capacity of the terminal device, and further, based on the play parameter and the cache capacity. Determining the preset data amount that matches the terminal device, so as to lay a foundation for avoiding the black flash screen phenomenon caused by poor terminal configuration and large buffer data, further laying a foundation for improving the live broadcast viewing experience of the user.
  • the preset data amount may also be determined according to network characteristic information of the first communication network and/or the second communication network included in the communication network, and the determining process may refer to the determination of the foregoing target data amount. process.
  • a live terminal device for example, a camera terminal such as a desktop computer or a smart phone collects, quantizes, encodes, and encapsulates audio/video data.
  • the Real Time Messaging Protocol (RTMP) is uploaded to the upload access module in the live broadcast platform.
  • the upload access module identifies to the authentication center whether the live broadcast terminal device has live broadcast rights according to the authentication information parameter carried by the user.
  • RTMP Real Time Messaging Protocol
  • the audio/video data corresponding to the live terminal device is transmitted to the transcoding module, and the transcoding module transcodes and distributes to the CDN cluster according to the audio/video format viewed by the downlink user (for example, the receiver terminal);
  • the CDN cluster includes at least two CDN nodes.
  • the transcoding module when the audio/video format supported by the downlink user is RTMP/FLV (Flash Video), the transcoding module directly sends the audio/video data to the CDN cluster through the distribution module, and passes through a specific CDN node in the CDN cluster (eg, The downlink user's recent CDN node distributes the audio/video data to the downlink user; and when the audio/video format supported by the downlink user is HLS (HyperText Transfer Protocol Live Streaming), the transcoding module records the sound by recording, screenshot, and slicing.
  • RTMP/FLV Flash Video
  • Video data is sent to the distributed file system, and the audio/video data is sent to the CDN cluster through the distributed file system, and then the audio/video data is transmitted through a specific CDN node in the CDN cluster (such as the CDN node closest to the downlink user). Distribute to downstream users.
  • the transcoding module will slice the audio/video data, and then send the sliced audio/video data to the distributed file system; Recording or screenshot processing can be determined according to user needs.
  • the live broadcast platform is further provided with an illegal content monitoring module (not shown in FIG.
  • the illegal content monitoring module can perform illegal content identification on the screenshot in the distributed file system, if it is illegal Video, the real-time notification authentication center prohibits the broadcast of the main broadcast and prohibits the user from watching. Similarly, when the authentication center authenticates the live broadcast user, the audio/video data uploaded by the live broadcast user can also be authenticated. To avoid the spread of illegal videos. Finally, the downlink users select the audio/video format according to their needs to the CDN cluster to watch the live broadcast.
  • the viewing user accesses the CDN node in the CDN cluster, and the CDN node is viewed according to the CDN node.
  • the configuration requirement of the user (that is, the downlink user) (for example, the configuration requirement of the application APP) determines the amount of buffered data sent in the first frame (that is, the amount of the first-level buffered data, at least one GOP), and the viewing user connects to the user.
  • the CDN node sends the first frame buffer data (that is, the first level buffer data) configured with the first level buffered data amount to the viewing user at a time.
  • the first frame buffer data is mainly cached in the user player. The cached data is played, thereby avoiding live broadcasts during user viewing, such as network jitter, unstable uplink audio/video data, and CDN node return source abnormality.
  • the capacity of the first frame buffer (used to store the first frame buffered data) is determined according to the buffer capacity configured by the terminal and network characteristic information (for example, bandwidth, delay, and jitter), for example, by configuring corresponding weights to determine the first
  • the capacity of the frame buffer in which the weight of the buffer capacity is used to control the playback fluency, and the weight of the network feature information is used to control the delay, so that the weight can be balanced between the delay time and the play fluency, overcoming the large cache capacity caused by the simple configuration.
  • the user has a large live viewing delay.
  • the CDN node sends the second level buffer data to the viewing user.
  • the data amount of the second level buffer data is a dynamic buffer data amount.
  • the CDN node can configure the second level of buffered data, for example configured to include at least one GOP cache, the number of GOPs It can be dynamically adjusted in real time according to the user's network conditions. For example, it can be dynamically adjusted according to the stability of the uplink.
  • the exemplary description is as follows.
  • the anchor uplink is stable, the user network environment is congested, and the second level buffer data is the latest GOP.
  • the anchor is uplink stable, and the viewing user network environment is normal.
  • the second level buffer data is zero or at most one recent GOP.
  • the anchor uplink is unstable, the user network environment is congested, and the second level buffer data is the last two or more GOPs.
  • the upstream broadcast is unstable, the viewing user network environment is normal, and the second-level buffered data is the last three or more GOPs.
  • video frames and/or audio frames in the buffered data may also be eliminated.
  • the old buffer data can be eliminated according to the buffered data amount, and the latest GOP data is buffered, thereby reducing the Karton.
  • the B frame can be preferentially dropped in the video frame.
  • the B frame is a bidirectional predictive coding frame with a high compression rate, the codec consumes a large CPU delay, the second priority loses the P frame, and finally the I frame is lost. .
  • the embodiment reduces the risk of the stuck phenomenon caused by the fixed amount of buffered data, and lays a foundation for improving the user experience.
  • This embodiment further provides a network device.
  • the network device includes:
  • the acquiring unit 71 is configured to acquire multimedia data and network characteristic information of a communication network for transmitting the multimedia data, where the communication network includes one of a first communication network and a second communication network; wherein the first communication The network is configured to transmit the multimedia data to a network device, where the second communication network is configured to transmit the multimedia data to a terminal device;
  • the processing unit 72 is configured to determine, according to at least network characteristic information of the communication network, a target data amount corresponding to the terminal device;
  • the buffer unit 73 is configured to determine, according to the acquired multimedia data, first buffered data of the multimedia data having the target data amount;
  • the sending unit 74 is configured to send the first buffered data to the terminal device by using the second communications network; the data amount of the first buffered data acquired by the terminal device matches the network feature information.
  • the acquiring unit 71 is further configured to acquire a play parameter corresponding to the terminal device for playing the multimedia data.
  • the processing unit 72 is further configured to determine, according to the play parameter, a preset amount of data for the terminal device;
  • the buffer unit 73 is further configured to determine, according to the acquired multimedia data, second buffer data of the multimedia data that has the preset data amount;
  • the sending unit 74 is further configured to: detect a target instruction, send the second buffered data to the terminal device according to the target instruction, and enable the data volume and the second buffered data acquired by the terminal device to play The parameters are matched; the target instruction is generated based at least on the network establishment success information of the second communication network by the terminal device and the network device.
  • the acquiring unit 71 is further configured to acquire a cache capacity of the terminal device; correspondingly,
  • the processing unit 72 is further configured to determine a preset amount of data that matches the terminal device based on the play parameter and the cache capacity.
  • the acquiring unit 71 is further configured to acquire a cache capacity of the terminal device
  • the processing unit 72 is further configured to determine target data for the terminal device according to at least the cache capacity and network characteristic information of the first communication network and/or the second communication network included in the communication network. the amount.
  • the target data amount is represented by a preset number of image units; correspondingly,
  • the processing unit 72 is further configured to determine a first number of preset image units for the terminal device that need to be buffered, and use a total data amount of the first number of preset image units as the terminal device The amount of target data.
  • the processing unit 72 is further configured to determine whether to lose the first buffered data according to network characteristic information of the first communication network and/or the second communication network included in the communication network.
  • Frame processing determining, when performing frame loss processing on the first buffered data, obtaining a priority order of frame types of the audio frame and/or the video frame, and sorting the audio in the first buffered data based on the priority of the frame type Frame and/or video frames are subjected to frame loss processing to reduce the amount of data of the first buffered data.
  • Embodiments of the present invention also provide a network device, including: a processor and a memory configured to store a computer program executable on the processor,
  • processor configured to execute when the computer program is executed:
  • the communication network includes one of a first communication network and a second communication network; wherein the first communication network is configured to transmit the Multimedia data to a network device, wherein the second communication network is configured to transmit the multimedia data to the terminal device;
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may be separately used as one unit, or two or more units may be integrated into one unit;
  • the unit can be implemented in the form of hardware or in the form of software.
  • the division of the unit is only a logical function division.
  • there may be another division manner such as: multiple units or components may be combined, or may be integrated. Go to another system, or some features can be ignored or not executed.
  • the coupling, or direct coupling, or communication connection of the components shown or discussed may be indirect coupling or communication connection through some interfaces, devices or units, and may be electrical, mechanical or other forms. of.
  • the units described above as separate components may or may not be physically separated, and the components displayed as the unit may or may not be physical units, that is, may be located in one place or distributed to multiple network units; Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • the embodiment further provides a hardware structure of the foregoing network device.
  • the network device includes a transmitter 81, a receiver 82, a storage medium 83, and a processor 84.
  • the processor 84 can be a processing component such as a microprocessor, a central processing unit, a digital signal processor, or a programmable logic array.
  • the storage medium 83 includes: a removable storage device, a random access memory (RAM), a read-only memory (ROM), a magnetic disk, or an optical disk, and the like, which can store a program code, the storage medium. 83 stores computer executable code for performing the data buffering method described above.
  • an embodiment of the present invention further provides a storage medium, where the computer instruction is stored, and the instruction is implemented by the processor:
  • the communication network includes one of a first communication network and a second communication network; wherein the first communication network is configured to transmit the Multimedia data to a network device, wherein the second communication network is configured to transmit the multimedia data to the terminal device;
  • the network device acquires multimedia data and network characteristic information of a communication network for transmitting the multimedia data;
  • the communication network includes one of a first communication network and a second communication network; wherein, the first a communication network is configured to transmit the multimedia data to a network device, the second communication network is configured to transmit the multimedia data to a terminal device; and at least determine target data corresponding to the terminal device according to network characteristic information of the communication network Determining, from the acquired multimedia data, first buffered data having the target data amount characterizing the multimedia data; to facilitate transmitting the first buffered data to the host through the second communication network
  • the terminal device the data amount of the first buffered data matches the network feature information. In this way, the risk of the jamming phenomenon caused by the fixed amount of buffered data can be reduced, and the anti-catch ability can be improved, thereby laying a foundation for improving the user experience.

Landscapes

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

Abstract

本发明实施例公开了一种数据缓冲方法,包括:网络设备获取多媒体数据,以及获取用于传输所述多媒体数据的通信网络的网络特征信息,所述通信网络包含有将所述多媒体数据传输至所述网络设备的第一通信网络,和/或将所述多媒体数据发送至终端设备的第二通信网络;至少根据所述通信网络包含的第一通信网络和/或第二通信网络的网络特征信息,确定针对所述终端设备的目标数据量;从获取到的所述多媒体数据中确定表征多媒体数据的具有所述目标数据量的第一缓冲数据,利用所述第二通信网络将所述第一缓冲数据发送至所述终端设备,使所述终端设备获取到的第一缓冲数据的数据量与网络特征信息相匹配。本发明实施例还公开了一种网络设备及存储介质。

Description

数据缓冲方法、网络设备及存储介质
相关申请的交叉引用
本申请基于申请号为201710345070.4、申请日为2017年05月16日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本发明涉及通信技术,尤其涉及一种数据缓冲方法、网络设备及存储介质。
背景技术
现有直播过程中,内容分发网络(CDN,Content Delivery Network)节点会根据用户需求(例如时延需求等)为用户配置一个缓冲区域,用于存储主播音/视频数据(也可称为缓冲数据),进而当该用户连入CDN节点时,所述CDN节点会把配置的该缓冲区域缓存的主播音/视频数据一次发送至用户,而用户在直播观看过程中,则可接收到CDN节点实时下发的主播音/视频数据。这里,由于在用户连入CDN节点时,CDN节点会将缓冲区域缓存的主播音/视频数据一次全部发送至该用户,用户播放时出现卡顿的情况。
发明内容
本发明实施例期望提供一种数据缓冲方法及网络设备,能够实现直播时数据的流畅播放。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供了一种数据缓冲方法,包括:
网络设备获取多媒体数据以及用于传输所述多媒体数据的通信网络的网络特征信息,所述通信网络包含第一通信网络、第二通信网络之一;其中,所述第一通信网络用于传输所述多媒体数据至网络设备,所述第二通信网络用于传输所述多媒体数据至终端设备;
根据所述通信网络的网络特征信息,确定针对所述终端设备的目标数据量;
根据获取的所述多媒体数据,确定表征多媒体数据的具有所述目标数据量的第一缓冲数据;
通过所述第二通信网络将所述第一缓冲数据发送至所述终端设备,使所述第一缓冲数据的数据量与网络特征信息相匹配。
第二方面,本发明实施例提供了一种网络设备,包括:
获取单元,配置为获取多媒体数据以及获取用于传输所述多媒体数据的通信网络的网络特征信息,所述通信网络包含有第一通信网络、第二通信网络之一;其中,所述第一通信网络用于传输所述多媒体数据至网络设备,所述第二通信网络用于传输所述多媒体数据至终端设备;
处理单元,配置为至少根据所述通信网络的网络特征信息,确定针对所述终端设备的目标数据量;
缓冲单元,配置为根据获取的所述多媒体数据,确定表征多媒体数据的具有所述目标数据量的第一缓冲数据;
发送单元,配置为通过所述第二通信网络将所述第一缓冲数据发送至所述终端设备;所述第一缓冲数据的数据量与网络特征信息相匹配。
第三方面,本发明实施例还提供了一种数据缓冲方法,所述方法由网络设备执行,所述网络设备包括有一个或多个处理器以及存储器,以及一个或一个以上的程序,其中,所述一个或一个以上的程序存储于存 储器中,所述程序可以包括一个或一个以上的每一个对应于一组指令的单元,所述一个或多个处理器被配置为执行指令;所述方法包括:
获取多媒体数据以及用于传输所述多媒体数据的通信网络的网络特征信息;所述通信网络包含有第一通信网络、第二通信网络之一;其中,所述第一通信网络用于传输所述多媒体数据至网络设备,所述第二通信网络用于传输所述多媒体数据至终端设备;
根据所述通信网络的网络特征信息,确定对应所述终端设备的目标数据量;
根据获取的所述多媒体数据,确定表征所述多媒体数据的具有所述目标数据量的第一缓冲数据;
通过所述第二通信网络将所述第一缓冲数据发送至所述终端设备;
所述第一缓冲数据的数据量与所述网络特征信息相匹配。
第四方面,本发明实施例还提供了一种网络设备,包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器,配置为运行所述计算机程序时,执行上述的数据缓冲方法。
第五方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机可执行指令,该计算机可执行指令用于执行上述的数据缓冲方法。
应用本发明实施例所述的数据缓冲方法、网络设备及存储介质,至少具有以下有益技术效果:
由于针对终端设备的目标数据量是网络设备基于实际网络情况而确定的,所以,网络设备确定的具有目标数据量的第一缓冲数据能够与实际网络情况相匹配,进而能够降低由于缓冲数据量固定而导致的卡顿现象,提升播放的流畅度。
附图说明
图1为本发明实施例数据缓冲方法的实现流程示意图;
图2为本发明实施例数据缓冲方法的应用场景示意图;
图3为本发明实施例数据缓冲方法的流程示意图;
图4为本发明实施例数据缓冲方法的实现流程示意图;
图5为本发明实施例数据缓冲方法在应用中的框架示意图;
图6为本发明实施例数据缓冲方法中网络设备与终端设备之间的交互图;
图7为本发明实施例网络设备的功能结构示意图;
图8为本发明实施例网络设备的硬件结构示意图。
具体实施方式
以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实际应用中,由于相关技术中,CDN节点将缓冲区域缓存的主播音/视频数据一次全部发送至该用户,所以,会存在如下问题:
第一,当网络拥塞时,由于直播音/视频的数据量比较大,有些高码率的音/视频数据的上行传输甚至要求2兆字节每秒(Mbps,Megabytes PerSecond)的带宽,如果为某一用户配置了5秒的缓冲时间,对应的数据量为10M,则相当于该用户接入CDN节点就会有10M数据下发,对于网络接入条件较差导致上行/下行速度抖动,频繁掉线等网络不稳定用户而言,很容易造成网络拥塞和传输控制协议(TCP,Transmission Control Protocol)零窗口现象。
第二,在高码率直播的场景下,若固定缓存容量,对于终端配置比较差的用户而言,若连入CDN节点后下发的固定大小的缓冲数据大于终端配置的缓存的容量,就会出现跳帧导致黑闪屏现象。
第三,由于固定了缓存容量,所以,在直播观看过程中,若主播出现卡顿重连的问题,则会降低抗卡顿能力,这里,终端的最大抗卡顿能力就是为该终端配置的缓冲周期。
因此,为解决上述问题,本发明实施例提供了一种数据缓冲方法及网络设备,能够根据用户网络环境及终端配置能力对CDN节点的音/视频缓冲数据动态调整,进而为降低卡顿次数奠定了基础,同时也为提升直播观看体验奠定了基础。
图1为本发明实施例数据缓冲方法的实现流程示意图,该方法可应用于网络设备,如CDN节点;如图1所示,本发明实施例的数据缓冲方法包括:
步骤101:网络设备获取多媒体数据以及用于传输所述多媒体数据的通信网络的网络特征信息。
所述通信网络包含有第一通信网络、第二通信网络之一;其中,所述第一通信网络用于传输所述多媒体数据至网络设备,所述第二通信网络用于传输所述多媒体数据至终端设备。
本实施例中,所述多媒体数据可以为音频数据和/或视频数据。
这里,所述第一通信网络可以为发送方终端与网络设备之间的通信网络。
例如,在直播场景中,所述第一通信网络可以为主播设备与CDN节点之间的通信网络,或者,所述第一通信网络可以为网络设备(如CDN节点)与源站之间的通信网络,所述源站为主播直播上传接入存储最原始音/视频数据的服务器。
实际应用中,所述第一通信网络可以为网络设备获取多媒体数据时所涉及到的通信网络。相应地,所述第二通信网络为网络设备与接收直播的多媒体数据的接收方终端(也即本实施例所述的终端设备)之间的通信网 络,如CDN节点与观看直播的用户设备之间的通信网络。
图2为本发明实施例数据缓冲方法的应用场景示意图;如图2所示,本实施例可以应用于直播场景中,在直播场景中,CDN节点可以采用两种方式,即方式一和方式二来获取主播终端的音/视频数据。
例如,方式一,CDN节点可以通过第一通信网络向主播终端直接去获取主播终端实时采集的音/视频数据(也即直播数据),进而将获取到的音/视频数据通过第二通信网络传输至接收方终端,实现直播观看流程。
再例如,方式二,CDN节点通过第一通信网络向源站去获取针对该主播终端的音/视频数据(也即直播数据),进而将获取到的音/视频数据通过第二通信网络传输至接收方终端,这里,在CDN节点向源站获取音/视频数据之前,主播终端会将自身实时采集的音/视频数据上传至源站存储(直播终端与源站之间的连接关系图2中未示出),如此,来直播观看流程。当然,在实际应用中,可以根据实际情况,如网络拥塞状态来确定CDN节点获取音/视频数据的路径。
实际应用中,所述网络特征信息包括但不限于以下信息中的至少一种:延迟、带宽、时延变化(也即抖动)、流量等;这里,通过所述网络特征信息即可对网络性能进行评价,例如,利用网络特征信息即可确定是否网络拥塞等。
步骤102:根据所述通信网络的网络特征信息,确定对应所述终端设备的目标数据量。
在一实施例中,所述网络设备在确定目标数据量时,还可以参考终端设备的缓存情况,以便于进一步提升确定的目标数据量与终端设备(如终端设备对应的实际网络环境,以及终端设备的实际缓冲容量等)的匹配程度。在一实施例中,所述网络设备获取所述终端设备的缓存容量,进而至少根据所述缓存容量以及所述通信网络包含的第一通信网络和/或 第二通信网络的网络特征信息,确定针对所述终端设备的目标数据量。例如,可以配置播放参数的权重以及所述终端设备的缓存容量的权重,然后对播放参数及所述缓存容量进行加权处理,并基于加权处理后的播放参数及缓存容量,确定与终端设备相匹配的预设数据量。实际应用中,所述缓存容量的类型包括缓存的原始容量和剩余容量至少之一。
在一实施例中,所述目标数据量是通过预设图像单元的数量来表征的,例如,所述目标数据量是通过画面组(GOP,Group Of Pictures)的数量来表示的,此时,步骤102中确定针对所述终端设备的目标数据量,即可为:所述网络设备确定需要缓冲的针对所述终端设备的预设图像单元的第一数量,将所述第一数量的预设图像单元的总数据量作为针对所述终端设备的目标数据量。
这里,所述GOP是由固定模式的一系列I帧、P帧、B帧组成。其中,所述I帧为帧内编码帧,表示关键帧,可以理解为I帧的画面完整,解码时只需要本帧数据就可以完成。所述P帧为前向预测编码帧,表示的是这一帧跟之前的一个关键帧或之前的一个P帧的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。所述B帧为双向预测内插编码帧,表示双向差别帧,也就是B帧记录的是本帧与前后帧的差别,压缩率高,P帧、B帧的解码较I帧解码更消耗硬件资源,例如中央处理器(CPU)。
在一实施例中,对于实时性要求能够接受视频延迟大于延迟阈值(即能够感知到的明显的延迟的时间,例如10秒)的用户而言,所述目标数据量可以配置为至少一个GOP缓存,GOP的数量可以根据用户网络情况实时动态调整,当然,网络设备可以不设置目标数据量,即不进行缓存;例如,
场景一,主播终端视频延迟的抖动小于抖动阈值,即上行稳定,观看用户(也即接收方终端)网络环境拥塞时,该目标数据量为最近一个GOP 的数据量,也即第一缓冲数据为最近一个GOP。
场景二,主播终端上行稳定,观看用户网络环境正常时,该目标数据量为零,或者最多为最近一个GOP的数据量,也即第一缓冲数据不保存或最多缓存最近一个GOP。
场景三,主播终端视频延迟的抖动大于抖动阈值,即上行不稳定,观看用户网络环境拥塞时,该目标数据量为最近二个或以上GOP对应的数据量,也即第一缓冲数据为最近二个或以上GOP。
场景四,主播终端上行不稳定,观看用户网络环境正常时,该目标数据量为最近三个或以上GOP对应的数据量,也即第一缓冲数据为最近三个或以上GOP。
这里,值得注意的是,以上给出的场景仅是示例性的,GOP的数量可以根据实际情况而调整。实际应用中,为避免直播用户观看时延过长,所述目标数据量会存在上限,即最大不应超过预设数量的GOP的数据量,否则,会增加直播用户观看延时。
步骤103:根据获取的多媒体数据,确定表征多媒体数据的具有所述目标数据量的第一缓冲数据。
步骤104:通过所述第二通信网络将所述第一缓冲数据发送至所述终端设备。
所述第一缓冲数据的数据量与网络特征信息相匹配。
例如,图3为本发明实施例数据缓冲方法的流程示意图,如图3所示,包括:
步骤301:网络设备获取多媒体数据;
步骤302:网络设备获取用于传输所述多媒体数据的通信网络的网络特征信息;
步骤303:网络设备根据网络特征信息,确定出针对所述终端设备的目 标数据量;
步骤304:网络设备确定多媒体数据的具有所述目标数据量的第一缓冲数据;
步骤305:网络设备发送第一缓冲数据至终端设备;
步骤306:播放第一缓冲数据对应的多媒体数据。
当所述网络设备确定目标数据量,并确定了具有该目标数据量的第一缓冲数据后,可以利用第二通信网络将所述第一缓冲数据发送至所述终端设备,以便于使所述终端设备播放所述第一缓冲数据对应的多媒体数据;这里,由于目标数据量是基于实际网络情况而确定的,所以,终端设备接收到的第一缓冲数据的数据量能够与实际网络情况相匹配,如此,降低了由于缓冲数据量固定而导致的卡顿现象的风险,进而为提升用户体验奠定了基础。
在实际应用中,当用户网络环境拥塞,或者CDN节点接入到源站的网络拥塞时,可以根据缓冲数据量(也即目标数据量)的大小淘汰掉历史缓冲数据,并缓冲最近的GOP数据,以确保直播流畅。在一实施例中,所述网络设备根据所述通信网络包含的第一通信网络和/或第二通信网络的网络特征信息,确定是否需要对所述第一缓冲数据进行丢帧处理;若需要,则获取音频帧和/或视频帧的帧类型的优先级排序,基于帧类型的优先级排序对所述第一缓冲数据中的音频帧和/或视频帧进行丢帧处理,以减小所述第一缓冲数据的数据量,便于在第一缓冲数据中添加最近的GOP数据。例如,优先丢视频帧再丢音频帧;这里,视频帧中优先丢B帧,B帧是双向预测编码帧压缩率高,编解码耗CPU延时大,次优先级丢P帧,最后再丢I帧。
本实施例中,值得注意的是,利用本实施例所述方法确定的具有目标数据量的第一缓冲数据可以是用户的终端设备在连入所述网络设备后,即所述网络设备与所述终端设备建立完成所述第二通信网络后,利用所述第 二通信网络发送至所述终端设备的,例如,在一实施例中,所述网络设备确定针对所述终端设备的第一缓冲数据,且检测到所述第二通信网络的网络建立成功信息后,利用所述第二通信网络将所述第一缓冲数据发送至所述终端设备;此时,所述目标数据量的确定还可以参考终端设备对应的用于播放多媒体数据的播放参数,这里的播放参数用于表示终端设备播放多媒体数据的播放性能,例如,终端设备所能够出现的最大延时,或者能够出现的卡顿程度,进而再参考终端设备所能够出现的最大延时,或者能够出现的卡顿程度最终确定目标数据量,进而当终端设备接入网络设备后,网络设备可以先向终端设备发送第一缓冲数据,这里,由于所述第一缓冲数据是基于终端配置而生成的,所以,利用第一缓冲数据能够让观看用户播放器有一定缓存,如当终端设备连入网络设备时,所述网络设备可以一次把配置好的第一缓冲数据下发给该网络设备,如此,能够减少用户观看过程中如网络抖动、主播上行音/视频数据不稳定、CDN节点回源网络(也即CDN节点与源站之间的网络)等异常而导致用户观看过程中的直播卡顿。实际应用中,目标数据量不是越大越好,太大会增加用户直播观看延时。
或者,具有目标数据量的第一缓冲数据可以是第二通信网络建立完成后,所述网络设备利用所述第二通信网络发送至所述终端设备的。例如,以直播为例,所述第一缓冲数据可是用户的终端设备刚连入时,所述网络设备发送至终端设备的,或者是在直播过程中,所述网络设备发送至终端设备的。
在一实施例中,由于所述第一缓冲数据的数据量是基于实际网络情况而确定的,所以,无论所述第一缓冲数据是直播建立初期发送至终端设备的,还是直播过程中发送至终端设备的,均能够避免由于网络拥塞而导致的卡顿问题。同时,当网络拥塞时,利用本实施例所述的方法可以确定数据量较小的第一缓冲数据,如此,来避免为网络带来更大的负担。
这样,本发明实施例所述的方法,由于针对终端设备的目标数据量是网络设备基于实际网络情况而确定的,所以,网络设备确定的具有目标数据量的第一缓冲数据能够与实际网络情况相匹配,因此,本发明实施例能够降低由于缓冲数据量固定而导致的卡顿现象的风险,提升抗卡顿能力,进而为提升用户体验奠定了基础。
在一实施例中,可以利用两级缓冲方法来解决由于缓冲数据量固定而导致的卡顿现象的方案,图4为本发明实施例数据缓冲方法的实现流程示意图,如图4所示,包括:
步骤401:网络设备获取多媒体数据,以及终端设备对应的用于播放多媒体数据的播放参数。
在一实施例中,播放参数可以为终端设备所能够出现的最大延时,或者能够出现的卡顿程度。
步骤402:网络设备基于所述播放参数确定针对终端设备的预设数据量,根据获取的所述多媒体数据确定多媒体数据的第二缓冲数据。
第二缓冲数据具有所述预设数据量。
步骤403:网络设备与终端设备建立第二通信网络。
当第二通信网络建立成功后,终端设备生成目标指令,该目标指令指示网络设备发送第二缓冲数据。
步骤404:网络设备检测到目标指令时,发送第二缓冲数据至终端设备。
所述终端设备获取到的第二缓冲数据的数据量与播放参数相匹配。
步骤405:终端设备播放第二缓冲数据对应的多媒体数据。
在本发明实施例中,所述目标指令至少是基于所述终端设备与所述网络设备建立所述第二通信网络的网络建立成功信息而生成的,也就是说,所述目标指令至少是终端设备基于终端设备接入网络设备的接入成功信息而生成,这样,当终端设备接入网络设备后,网络设备可以先向终端设备 发送第一级的缓冲数据,也即第二缓冲数据,这里,由于所述第二缓冲数据是基于终端配置而生成的,所以,利用第一级的缓冲数据能够让观看用户播放器有一定缓存,如当终端设备连入网络设备时,所述网络设备可以一次把配置好的第二缓冲数据下发给该网络设备,如此,能够减少用户观看过程中如网络抖动、主播上行音/视频数据不稳定、CDN节点回源网络(也即CDN节点与源站之间的网络)等异常而导致用户观看过程中的直播卡顿。这里,预设数据量也不是越大越好,太大会增加用户直播观看延时。
本实施例中,所述预设数据量也可以是通过预设图像单元的数量来表征的,例如,所述预设数据量可以配置为至少一个GOP缓存,GOP的数量可以根据用户网络情况实时动态调整。
在一实施例中,所述网络设备向终端设备发送第一级缓冲数据(也即第二缓冲数据)后,还会根据网络实际情况而发送第二级缓冲数据。
步骤406:网络设备获取用于传输多媒体数据的通信网络的网络特征信息。
步骤407:网络设备根据通信网络的网络特征信息确定针对终端设备的目标数据量,以及多媒体数据的具有目标数据量的第一缓冲数据。
步骤408:网络设备将第一缓冲数据发送至终端设备。
步骤409:终端设备播放第一缓冲数据对应的多媒体数据。
也就是说,所述第一缓冲数据为第二级缓冲数据,这里,由于第二级缓冲数据是在直播过程中根据网络的实际情况而确定的,所以,本实施例能够利用两级缓冲方式来最大可能地降低直播卡顿的风险。
这里,确定目标数据量以及第一缓冲数据的过程可以前述实施例中所述的方式。
网络设备在确定第一级缓冲数据时,也可以参考终端设备的缓存容量,在一实施例中,所述终端设备获取所述终端设备的缓存容量,进而基于所 述播放参数以及所述缓存容量确定与所述终端设备相匹配的预设数据量,如此,为避免由于终端配置较差、缓冲数据大而导致的黑闪屏现象奠定了基础,进一步为提升用户直播观看体验奠定了基础。
当然,在实际应用中,所述预设数据量还可以根据所述通信网络包含的第一通信网络和/或第二通信网络的网络特征信息而确定,确定过程可以参考前述目标数据量的确定过程。
以下结合应用场景对本发明实施例进行详细说明;如图5所示,直播终端设备(例如,带摄像头终端如台式机、智能手机等)对音/视频数据进行采集、量化、编码、封装后通过实时消息传输协议(Real Time MessagingProtocol,RTMP)上传到直播平台中的上传(upload)接入模块。upload接入模块根据用户上传所携带的鉴权信息参数到鉴权中心鉴定该直播终端设备是否具有直播权限。若具有,则将该直播终端设备对应的音/视频数据传输至转码模块,转码模块根据下行用户(例如,接收方终端)观看的音/视频格式进行转码并分发到各CDN集群;实际应用中,所述CDN集群包含至少两个CDN节点。这里,当下行用户支持的音/视频格式为RTMP/FLV(Flash Video)时,转码模块直接将音/视频数据通过分发模块发送至CDN集群,并通过CDN集群中的特定CDN节点(如距下行用户最近的CDN节点)将音/视频数据分发至下行用户;而当下行用户支持的音/视频格式为HLS(HyperText Transfer Protocol Live Streaming)时,转码模块则通过录制、截图、切片将音/视频数据发送至分布式文件***,并通过分布式文件***将音/视频数据发送至CDN集群,进而通过CDN集群中的特定CDN节点(如距下行用户最近的CDN节点)将音/视频数据分发至下行用户。这里,只要下行用户支持的音/视频格式为HLS时,转码模块就会将音/视频数据进行切片处理,进而将切片处理后的音/视频数据发送至分布式文件***;而是否需要进行录制或截图处理,则可根据用户需求而确定。在一实施例 中,所述直播平台中还设置有违法内容监控模块(图5中未示出),利用该违法内容监控模块可以对分布式文件***中的截图进行违法内容鉴定,如果是违法视频,实时通知鉴权中心禁止主播直播、并禁止用户观看,同理,在鉴权中心对直播用户进行鉴权的同时,也可以对直播用户上传的音/视频数据进行违法内容鉴定,如此,来避免违法视频的传播。最后,下行用户根据自己需求选择音/视频格式到CDN集群就近观看直播。
如图6所示,给出了在图5框架的基础上实现本发明实施例所述的方法的示例,在一实施例中,观看用户就近访问CDN集群中的CDN节点,该CDN节点根据观看用户(也即下行用户)的配置需求(例如,应用程序APP的配置需求)确定首帧下发的缓冲数据量(也即第一级缓冲数据量,最少要包含一个GOP),观看用户连接该CDN节点后,CDN节点一次把配置具有第一级缓冲数据量的首帧缓冲数据(也即第一级缓冲数据)下发给观看用户,这里,首帧缓冲数据主要是在用户播放器中缓存,利用缓存的数据播放,进而能够避免如网络抖动、主播上行音/视频数据不稳定、CDN节点回源网络异常等导致的用户观看过程中的直播卡顿。
实际应用中,首帧缓存(用于存储首帧缓冲数据)的容量根据终端配置的缓存容量和网络特征信息(例如,带宽、延迟和抖动)综合确定,例如通过配置对应的权重的方式确定首帧缓存的容量,其中缓存容量的权重用于控制播放流畅度,网络特征信息的权重用于控制延迟,从而权重能够在延迟时间和播放流畅度之间平衡,克服简单配置较大的缓存容量导致用户直播观看延时较大的情况。
在一实施例中,CDN节点向观看用户发送第二级缓冲数据,这里,所述第二级缓冲数据的数据量,也即第二级缓冲数据量为动态缓冲数据量,实际应用中,当观看用户能够接受视频延迟大于延迟阈值(即能够感知到的明显的延迟的时间,例如10秒)时,CDN节点可以配置第二级缓冲数据 量,例如配置为包括至少一个GOP缓存,GOP的数量可以根据用户网络情况实时动态调整,例如可以根据上行的稳定与否进行动态调整,示例性说明如下。
A.主播上行稳定,观看用户网络环境拥塞,第二级缓冲数据为最近一个GOP。
B.主播上行稳定,观看用户网络环境正常,第二级缓冲数据为零个或最多一个最近GOP。
C.主播上行不稳定,观看用户网络环境拥塞,第二级缓冲数据为最近二个或以上GOP。
D.上播上行不稳定,观看用户网络环境正常,第二级缓冲数据为最近三个或以上GOP。
在一实施例中,网络拥塞时,还可以对缓冲数据中的视频帧和/或音频帧进行淘汰。
举例说明,若下行用户网络环境或CDN接入到源站的回源点网络拥塞,此场景下就可以根据缓冲数据量的大小淘汰掉老缓冲数据,缓冲最近的GOP数据,进而为降低卡顿奠定基础,例如,可以优先丢视频帧再丢音频帧。在一实施例中,在视频帧中可以优先丢B帧,这里,因此B帧是双向预测编码帧压缩率高,编解码耗CPU延时大,次优先级丢P帧,最后再丢I帧。
这样,本实施例降低了由于缓冲数据量固定而导致的卡顿现象的风险,提升了用户体验奠定了基础。
本实施例还提供了一种网络设备,如图7所示,所述网络设备包括:
获取单元71,配置为获取多媒体数据以及用于传输所述多媒体数据的通信网络的网络特征信息,所述通信网络包含有第一通信网络、第二通信网络之一;其中,所述第一通信网络用于传输所述多媒体数据至网络设备, 所述第二通信网络用于传输所述多媒体数据至终端设备;
处理单元72,配置为至少根据所述通信网络的网络特征信息,确定对应所述终端设备的目标数据量;
缓冲单元73,配置为根据获取的所述多媒体数据,确定多媒体数据的具有所述目标数据量的第一缓冲数据;
发送单元74,配置为通过所述第二通信网络将所述第一缓冲数据发送至所述终端设备;所述终端设备获取到的第一缓冲数据的数据量与网络特征信息相匹配。
在一实施例中,所述获取单元71,还配置为获取所述终端设备对应的用于播放所述多媒体数据的播放参数;
所述处理单元72,还配置为至少基于所述播放参数确定针对所述终端设备的预设数据量;
所述缓冲单元73,还配置为根据获取的所述多媒体数据,确定所述多媒体数据的具有所述预设数据量的第二缓冲数据;
所述发送单元74,还配置为检测到目标指令,根据所述目标指令将所述第二缓冲数据发送至所述终端设备,使所述终端设备获取到的第二缓冲数据的数据量与播放参数相匹配;所述目标指令至少是基于所述终端设备与所述网络设备建立所述第二通信网络的网络建立成功信息而生成的。
在一实施例中,所述获取单元71,还配置为获取所述终端设备的缓存容量;对应地,
所述处理单元72,还配置为基于所述播放参数以及所述缓存容量确定与所述终端设备相匹配的预设数据量。
在一实施例中,所述获取单元71,还配置为获取所述终端设备的缓存容量;
对应地,所述处理单元72,还配置为至少根据所述缓存容量以及所述 通信网络包含的第一通信网络和/或第二通信网络的网络特征信息,确定针对所述终端设备的目标数据量。
在一实施例中,所述目标数据量是通过预设图像单元的数量来表征的;对应地,
所述处理单元72,还配置为确定需要缓冲的针对所述终端设备的预设图像单元的第一数量,将所述第一数量的预设图像单元的总数据量作为针对所述终端设备的目标数据量。
在另一实施例中,所述处理单元72,还配置为根据所述通信网络包含的第一通信网络和/或第二通信网络的网络特征信息,确定是否对所述第一缓冲数据进行丢帧处理;确定对所述第一缓冲数据进行丢帧处理时,获取音频帧和/或视频帧的帧类型的优先级排序,基于帧类型的优先级排序对所述第一缓冲数据中的音频帧和/或视频帧进行丢帧处理,以减小所述第一缓冲数据的数据量。
本发明实施例还提供了一种网络设备,包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器,配置为运行所述计算机程序时执行:
获取多媒体数据以及用于传输所述多媒体数据的通信网络的网络特征信息;所述通信网络包含有第一通信网络、第二通信网络之一;其中,所述第一通信网络用于传输所述多媒体数据至网络设备,所述第二通信网络用于传输所述多媒体数据至终端设备;
根据所述通信网络的网络特征信息,确定对应所述终端设备的目标数据量;
根据获取的所述多媒体数据,确定表征所述多媒体数据的具有所述目标数据量的第一缓冲数据;
通过所述第二通信网络将所述第一缓冲数据发送至所述终端设备;所 述第一缓冲数据的数据量与所述网络特征信息相匹配。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用软件的形式实现。
以上所描述的设备仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
本实施例还提供了上述网络设备的硬件结构,如图8所示,所述网络设备包括发射器81、接收器82、存储介质83以及处理器84。所述处理器84可为微处理器、中央处理器、数字信号处理器或可编程逻辑阵列等具有处理功能的电子元器件。存储介质83包括:移动存储设备、随机存取存储器(RAM,Random Access Memory)、只读存储器(ROM,Read-OnlyMemory)、磁碟或者光盘等各种可以存储程序代码的介质,所述存储介质83中存储有计算机可执行代码,用于执行以上所述的数据缓冲方法。
相应的,本发明实施例还提供了一种存储介质,其上存储有计算机指令,该指令被处理器执行时实现:
获取多媒体数据以及用于传输所述多媒体数据的通信网络的网络特 征信息;所述通信网络包含有第一通信网络、第二通信网络之一;其中,所述第一通信网络用于传输所述多媒体数据至网络设备,所述第二通信网络用于传输所述多媒体数据至终端设备;
根据所述通信网络的网络特征信息,确定对应所述终端设备的目标数据量;
根据获取的所述多媒体数据,确定表征所述多媒体数据的具有所述目标数据量的第一缓冲数据;
通过所述第二通信网络将所述第一缓冲数据发送至所述终端设备;所述第一缓冲数据的数据量与所述网络特征信息相匹配。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
工业实用性
本发明实施例中网络设备获取多媒体数据以及用于传输所述多媒体数据的通信网络的网络特征信息;所述通信网络包含有第一通信网络、第二通信网络之一;其中,所述第一通信网络用于传输所述多媒体数据至网络设备,所述第二通信网络用于传输所述多媒体数据至终端设备;至少根据所述通信网络的网络特征信息,确定对应所述终端设备的目标数据量;从根据获取的所述多媒体数据,确定表征所述多媒体数据的具有所述目标数据量的第一缓冲数据;以便于利用通过所述第二通信网络将所述第一缓冲数据发送至所述终端设备;所述第一缓冲数据的数据量与所述网络特征信息相匹配。如此,能够降低由于缓冲数据量固定而导致的卡顿现象的风险,提升抗卡顿能力,进而为提升用户体验奠定了基础。

Claims (20)

  1. 一种数据缓冲方法,包括:
    网络设备获取多媒体数据以及用于传输所述多媒体数据的通信网络的网络特征信息;所述通信网络包含有第一通信网络、第二通信网络之一;其中,所述第一通信网络用于传输所述多媒体数据至网络设备,所述第二通信网络用于传输所述多媒体数据至终端设备;
    根据所述通信网络的网络特征信息,确定对应所述终端设备的目标数据量;
    根据获取的所述多媒体数据,确定表征所述多媒体数据的具有所述目标数据量的第一缓冲数据;
    通过所述第二通信网络将所述第一缓冲数据发送至所述终端设备;所述第一缓冲数据的数据量与所述网络特征信息相匹配。
  2. 根据权利要求1所述的方法,其中,所述方法还包括:
    获取所述终端设备对应的播放参数;所述播放参数用于播放所述多媒体数据;
    基于所述播放参数,确定针对所述终端设备的预设数据量;
    根据获取的所述多媒体数据,确定所述多媒体数据的第二缓冲数据,所述第二缓冲数据的数据量为所述预设数据量;
    当所述终端设备与所述网络设备建立所述第二通信网络时,将所述第二缓冲数据发送至所述终端设备;所述第二缓冲数据的数据量与所述播放参数相匹配。
  3. 根据权利要求2所述的方法,其中,所述基于所述播放参数,确定针对所述终端设备的预设数据量,包括:
    获取所述播放参数的权重以及所述终端设备的缓存容量的权重;
    基于获取的所述权重分别对所述播放参数及所述缓存容量进行加权 处理;
    基于加权处理后的所述播放参数及所述缓存容量,确定与所述终端设备相匹配的预设数据量。
  4. 根据权利要求1或2所述的方法,其中,所述根据所述通信网络的网络特征信息,确定对应所述终端设备的目标数据量,包括:
    获取所述播放参数的权重以及所述通信网络的网络特征信息的权重;
    基于获取的所述权重分别对所述播放参数及所述通信网络的网络特征信息进行加权处理;
    基于加权处理后的所述缓存容量以及所述通信网络的网络特征信息,确定针对所述终端设备的目标数据量。
  5. 根据权利要求1或2所述的方法,其中,所述目标数据量通过画面组的数量表征;
    所述确定对应所述终端设备的目标数据量,包括:
    确定需要缓冲的所述终端设备的画面组的第一数量;
    确定所述第一数量的画面组的总数据量为对应所述终端设备的目标数据量。
  6. 根据权利要求1或2所述的方法,其中,所述方法还包括:
    当根据所述通信网络的网络特征信息,确定对所述第一缓冲数据进行丢帧处理时,获取音频帧和/或视频帧的帧类型的优先级排序;
    基于所述帧类型的优先级排序,对所述第一缓冲数据中的音频帧和/或视频帧进行丢帧处理。
  7. 一种网络设备,包括:
    获取单元,配置为获取多媒体数据以及用于传输所述多媒体数据的通信网络的网络特征信息,所述通信网络包含有第一通信网络、第二通 信网络之一;其中,所述第一通信网络用于传输所述多媒体数据至网络设备,所述第二通信网络用于传输所述多媒体数据至终端设备;
    处理单元,配置为根据所述通信网络的网络特征信息,确定对应所述终端设备的目标数据量;
    缓冲单元,配置为根据获取的所述多媒体数据,确定所述多媒体数据的具有所述目标数据量的第一缓冲数据;
    发送单元,配置为通过所述第二通信网络将所述第一缓冲数据发送至所述终端设备;所述第一缓冲数据的数据量与所述网络特征信息相匹配。
  8. 根据权利要求7所述的网络设备,其中,
    所述获取单元,还配置为获取所述终端设备对应的播放参数,所述播放参数用于播放所述多媒体数据;
    所述处理单元,还配置为基于所述播放参数,确定针对所述终端设备的预设数据量;
    所述缓冲单元,还配置为根据获取的所述多媒体数据,确定所述多媒体数据的第二缓冲数据,所述第二缓冲数据的数据量为所述预设数据量;
    所述发送单元,还配置为检测到目标指令,将所述第二缓冲数据发送至所述终端设备;第二缓冲数据的数据量与所述播放参数相匹配;所述目标指令为当所述终端设备与所述网络设备建立所述第二通信网络时所述终端设备生成。
  9. 根据权利要求8所述的网络设备,其中,
    所述处理单元,还配置为获取所述播放参数的权重以及所述终端设备的缓存容量的权重;
    基于获取的所述权重分别对所述播放参数及所述缓存容量进行加权 处理;
    基于加权处理后的所述播放参数以及所述缓存容量,确定与所述终端设备相匹配的预设数据量。
  10. 根据权利要求7或8所述的网络设备,其中,
    所述处理单元,还配置为获取所述播放参数的权重以及所述通信网络的网络特征信息的权重;
    基于获取的所述权重分别对所述播放参数及所述通信网络的网络特征信息进行加权处理;
    基于加权处理后的所述缓存容量以及所述通信网络的网络特征信息,确定针对所述终端设备的目标数据量。
  11. 根据权利要求7或8所述的网络设备,其中,所述目标数据量通过画面组的数量表征;
    所述处理单元,还配置为确定需要缓冲的所述终端设备的画面组的第一数量;
    确定所述第一数量的画面组的总数据量为针对所述终端设备的目标数据量。
  12. 根据权利要求7或8所述的网络设备,其中,
    所述处理单元,还配置为当根据所述通信网络的网络特征信息,确定对所述第一缓冲数据进行丢帧处理时,获取音频帧和/或视频帧的帧类型的优先级排序;
    基于所述帧类型的优先级排序,对所述第一缓冲数据中的音频帧和/或视频帧进行丢帧处理。
  13. 一种数据缓冲方法,所述方法由网络设备执行,所述网络设备包括有一个或多个处理器以及存储器,以及一个或一个以上的程序,其中,所述一个或一个以上的程序存储于存储器中,所述程序可以包括一 个或一个以上的每一个对应于一组指令的单元,所述一个或多个处理器被配置为执行指令;所述方法包括:
    获取多媒体数据以及用于传输所述多媒体数据的通信网络的网络特征信息;所述通信网络包含有第一通信网络、第二通信网络之一;其中,所述第一通信网络用于传输所述多媒体数据至网络设备,所述第二通信网络用于传输所述多媒体数据至终端设备;
    根据所述通信网络的网络特征信息,确定对应所述终端设备的目标数据量;
    根据获取的所述多媒体数据,确定表征所述多媒体数据的具有所述目标数据量的第一缓冲数据;
    通过所述第二通信网络将所述第一缓冲数据发送至所述终端设备;所述第一缓冲数据的数据量与所述网络特征信息相匹配。
  14. 根据权利要求13所述的方法,其中,所述方法还包括:
    获取所述终端设备对应的播放参数;所述播放参数用于播放所述多媒体数据;
    基于所述播放参数,确定针对所述终端设备的预设数据量;
    根据获取的所述多媒体数据,确定所述多媒体数据的第二缓冲数据,所述第二缓冲数据的数据量为所述预设数据量;
    检测到目标指令,所述目标指令为当所述终端设备与所述网络设备建立所述第二通信网络时所述终端设备生成;
    根据所述目标指令,将所述第二缓冲数据发送至所述终端设备;所述第二缓冲数据的数据量与所述播放参数相匹配。
  15. 根据权利要求14所述的方法,其中,所述基于所述播放参数,确定针对所述终端设备的预设数据量,包括:
    获取所述播放参数的权重以及所述终端设备的缓存容量的权重;
    基于获取的所述权重分别对所述播放参数及所述缓存容量进行加权处理;
    基于加权处理后的所述播放参数及所述缓存容量,确定与所述终端设备相匹配的预设数据量。
  16. 根据权利要求13或14所述的方法,其中,所述根据所述通信网络的网络特征信息,确定对应所述终端设备的目标数据量,包括:
    获取所述播放参数的权重以及所述通信网络的网络特征信息的权重;
    基于获取的所述权重分别对所述播放参数及所述通信网络的网络特征信息进行加权处理;
    基于加权处理后的所述缓存容量以及所述通信网络的网络特征信息,确定针对所述终端设备的目标数据量。
  17. 根据权利要求13或14所述的方法,其中,所述目标数据量通过画面组的数量表征;
    所述确定对应所述终端设备的目标数据量,包括:
    确定需要缓冲的所述终端设备的画面组的第一数量;
    确定所述第一数量的画面组的总数据量为对应所述终端设备的目标数据量。
  18. 根据权利要求13或14所述的方法,其中,所述方法还包括:
    当根据所述通信网络的网络特征信息,确定对所述第一缓冲数据进行丢帧处理时,获取音频帧和/或视频帧的帧类型的优先级排序;
    基于所述帧类型的优先级排序,对所述第一缓冲数据中的音频帧和/或视频帧进行丢帧处理。
  19. 一种网络设备,包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器;其中,
    所述处理器,配置为运行所述计算机程序时,执行权利要求1至6任一项所述的数据缓冲方法。
  20. 一种计算机可读存储介质,其中存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至6任一项所述的数据缓冲方法。
PCT/CN2018/085383 2017-05-16 2018-05-02 数据缓冲方法、网络设备及存储介质 WO2018210130A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP18801525.9A EP3627791A1 (en) 2017-05-16 2018-05-02 Data buffering method, network device, and storage medium
JP2019534822A JP6876131B2 (ja) 2017-05-16 2018-05-02 データバッファリング方法、ネットワーク機器、及び記憶媒体
KR1020197025444A KR102216622B1 (ko) 2017-05-16 2018-05-02 데이터 버퍼링 방법, 네트워크 디바이스, 및 저장 매체
US16/391,395 US11146606B2 (en) 2017-05-16 2019-04-23 Data buffering method, network device, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710345070.4 2017-05-16
CN201710345070.4A CN108881931B (zh) 2017-05-16 2017-05-16 一种数据缓冲方法及网络设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/391,395 Continuation US11146606B2 (en) 2017-05-16 2019-04-23 Data buffering method, network device, and storage medium

Publications (1)

Publication Number Publication Date
WO2018210130A1 true WO2018210130A1 (zh) 2018-11-22

Family

ID=64273271

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/085383 WO2018210130A1 (zh) 2017-05-16 2018-05-02 数据缓冲方法、网络设备及存储介质

Country Status (6)

Country Link
US (1) US11146606B2 (zh)
EP (1) EP3627791A1 (zh)
JP (1) JP6876131B2 (zh)
KR (1) KR102216622B1 (zh)
CN (1) CN108881931B (zh)
WO (1) WO2018210130A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109756789B (zh) * 2018-12-28 2021-10-19 视联动力信息技术股份有限公司 一种音视频数据包的丢包处理方法和***
CN110381351A (zh) * 2019-07-09 2019-10-25 西安万像电子科技有限公司 数据处理方法及设备
CN112235642B (zh) * 2020-10-15 2023-03-24 北京百度网讯科技有限公司 视频数据处理方法、装置、设备及存储介质
CN113395266B (zh) * 2020-11-06 2022-08-19 中软数智信息技术(武汉)有限公司 应用于物联网和直播平台的数据处理方法及云计算中心
CN113365089B (zh) * 2021-05-31 2023-02-24 浙江大华技术股份有限公司 一种数据传输方法、装置、存储介质及电子装置
CN114339294B (zh) * 2022-01-04 2023-02-10 腾讯科技(深圳)有限公司 网络抖动的确认方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015014403A1 (en) * 2013-08-01 2015-02-05 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for controlling streaming of video content
CN105430475A (zh) * 2015-11-04 2016-03-23 北京奇虎科技有限公司 视频数据的缓冲方法及装置
CN105992023A (zh) * 2015-02-11 2016-10-05 杭州海康威视数字技术股份有限公司 视频图像数据的处理方法及装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010047517A1 (en) * 2000-02-10 2001-11-29 Charilaos Christopoulos Method and apparatus for intelligent transcoding of multimedia data
JP2002319971A (ja) * 2001-04-20 2002-10-31 Fujitsu Ltd パケットデータ中継装置及び配信装置
US20020174434A1 (en) * 2001-05-18 2002-11-21 Tsu-Chang Lee Virtual broadband communication through bundling of a group of circuit switching and packet switching channels
JP2005244315A (ja) * 2004-02-24 2005-09-08 Kddi Technology Corp 映像ストリーミング伝送のネットワーク品質安定化装置
US8218439B2 (en) * 2004-11-24 2012-07-10 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive buffering
CN1996942A (zh) * 2006-06-26 2007-07-11 华为技术有限公司 一种实现流量控制的方法及***
JP2009060425A (ja) * 2007-08-31 2009-03-19 Hitachi Ltd トラフィック制御システムおよびトラフィック制御方法
US9047236B2 (en) * 2008-06-06 2015-06-02 Amazon Technologies, Inc. Client side stream switching
WO2010041469A1 (ja) * 2008-10-09 2010-04-15 日本電気株式会社 コンテンツ配信システム、コンテンツ配信方法およびコンピュータプログラム
US8745677B2 (en) * 2009-06-12 2014-06-03 Cygnus Broadband, Inc. Systems and methods for prioritization of data for intelligent discard in a communication network
CA2786200C (en) * 2011-09-23 2015-04-21 Cygnus Broadband, Inc. Systems and methods for prioritization of data for intelligent discard in a communication network
GB2524958A (en) * 2014-04-03 2015-10-14 Orbital Multi Media Holdings Corp Data flow control method
EP3133824B1 (en) * 2014-04-18 2019-07-10 SK Telecom Co., Ltd Method for transmitting broadcasting contents in real-time and device for same
EP3210384B1 (en) * 2014-10-20 2020-05-20 Telefonaktiebolaget LM Ericsson (publ) Network node and method for handling a process of controlling a data transfer related to video data of a video streaming service
CN104394440B (zh) * 2014-11-27 2017-10-27 北京邮电大学 一种http视频流调度方法及装置
CN106612456A (zh) * 2015-10-26 2017-05-03 中兴通讯股份有限公司 网络视频播放方法和***及用户终端、家庭流服务节点
CN105848011A (zh) * 2016-03-31 2016-08-10 乐视控股(北京)有限公司 一种视频直播方法及装置
CN105847944A (zh) * 2016-04-21 2016-08-10 乐视控股(北京)有限公司 基于http实时流的多媒体内容的提供方法及提供装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015014403A1 (en) * 2013-08-01 2015-02-05 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for controlling streaming of video content
CN105992023A (zh) * 2015-02-11 2016-10-05 杭州海康威视数字技术股份有限公司 视频图像数据的处理方法及装置
CN105430475A (zh) * 2015-11-04 2016-03-23 北京奇虎科技有限公司 视频数据的缓冲方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3627791A4 *

Also Published As

Publication number Publication date
EP3627791A4 (en) 2020-03-25
US11146606B2 (en) 2021-10-12
CN108881931A (zh) 2018-11-23
EP3627791A1 (en) 2020-03-25
JP2020507235A (ja) 2020-03-05
CN108881931B (zh) 2021-09-07
KR20190112780A (ko) 2019-10-07
KR102216622B1 (ko) 2021-02-17
US20190253470A1 (en) 2019-08-15
JP6876131B2 (ja) 2021-05-26

Similar Documents

Publication Publication Date Title
WO2018210130A1 (zh) 数据缓冲方法、网络设备及存储介质
US10764623B2 (en) Method and system for media adaption
US10602210B2 (en) Method and system for message notification
US9609332B2 (en) Adjusting encoding parameters at a mobile device based on a change in available network bandwidth
US9699518B2 (en) Information processing apparatus, information processing system, recording medium, and method for transmission and reception of moving image data
US20240040178A1 (en) Facilitating WATCH PARTIES
US20240007684A1 (en) Systems and methods for selecting an initial streaming bitrate
TW201603546A (zh) 單一播放適應性位元率串流
CN117581552A (zh) 在传输预创作视频帧和合成视频帧之间切换
US10298965B2 (en) Selection of a content source based on performance data
CN106817628B (zh) 一种网络直播平台
US20240121455A1 (en) Method, apparatus, electronic device and storage medium for video bitrate switching
CN107801049B (zh) 一种实时视频传送、播放方法及装置
US20180338170A1 (en) Contiguous Streaming Of Media Stream
US9247315B2 (en) Disabling of multiple bitrate algorithm for media programs while playing advertisements
US20240223832A1 (en) Video stream bitrate adjustment method and apparatus, computer device, and storage medium
CN110677688A (zh) 流媒体图像推送***

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18801525

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019534822

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20197025444

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018801525

Country of ref document: EP

Effective date: 20191216