WO2022194140A1 - Remote video transmitting method and transmitting apparatus, storage medium, and electronic device - Google Patents

Remote video transmitting method and transmitting apparatus, storage medium, and electronic device Download PDF

Info

Publication number
WO2022194140A1
WO2022194140A1 PCT/CN2022/080907 CN2022080907W WO2022194140A1 WO 2022194140 A1 WO2022194140 A1 WO 2022194140A1 CN 2022080907 W CN2022080907 W CN 2022080907W WO 2022194140 A1 WO2022194140 A1 WO 2022194140A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
client
encoding
rate
frame data
Prior art date
Application number
PCT/CN2022/080907
Other languages
French (fr)
Chinese (zh)
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 上海达龙信息科技有限公司
Publication of WO2022194140A1 publication Critical patent/WO2022194140A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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/234363Processing 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 altering the spatial resolution, e.g. for clients with a lower screen resolution
    • 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/234381Processing 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 altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Definitions

  • the present invention relates to the technical field of remote video transmission, and in particular, to a remote video transmission method, a transmission device, a storage medium and an electronic device.
  • remote technology has developed rapidly and has a wide range of applications.
  • QQ remote technology, teamviewer and the remote assistance technology that comes with Windows are currently the most used. Users can use such remote management tools to Realize remote support, remote access, remote management, online office and conference presentations, and remote on-hook upgrades.
  • the purpose of the present invention is to provide a remote video transmission method, a transmission device, a storage medium and an electronic device for solving the above problems in the prior art.
  • the present invention provides a remote video transmission method, which is applied to a server; the method includes: sending video frame data to a client; receiving data sent by the client every preset time; Packet loss rate and bandwidth occupancy; predict its own current bandwidth according to the packet loss rate and the bandwidth occupancy, and adjust its own encoding bit rate accordingly; send video frame data according to the adjusted encoding bit rate.
  • the step of sending video frame data to a client includes: sending video frame data to the client according to an initial capture code sending frequency; wherein the step of obtaining the initial capture code sending frequency includes: : obtain the retransmission timeout sent by the client; calculate the video buffer size according to the retransmission timeout, and set the video buffer accordingly; determine the initial Capture encoding send frequency.
  • the step of sending video frame data to the client further includes: when the number of video buffer frames in the video buffer area exceeds the capacity of the video buffer area, reducing the frequency of capturing and encoding sending, Send video frame data to the client at a reduced capture and encoding sending frequency; or, stop capturing video frame data.
  • the step of sending video frame data to the client includes: when each frame of video data is sent, storing the frame of video data in the video buffer, and waiting for the client Receive the reply sent by the client; wherein, if the reply is successfully received, clear the one frame of video data in the video buffer; if the reply is not received, then The one frame of video data is resent to the client.
  • the step of adjusting the self-encoding bit rate according to the predicted current bandwidth of the self includes: judging a preset bit rate level corresponding to the current bandwidth; searching for a preset bit rate level corresponding to the preset bit rate level. An adjustment strategy is set, and the self-encoding bit rate is adjusted according to the preset adjustment strategy.
  • the rules for the preset adjustment policy include: increasing the bit rate as the packet loss rate decreases, and decreasing the code rate as the packet loss rate increases; wherein the preset bit rate The higher the gear, the finer the adjustment granularity of the corresponding preset adjustment strategy.
  • the method further includes: receiving the decoding and rendering capability sent by the client; comparing its current encoding frame rate with the decoding and rendering capability, and adjusting itself according to the minimum value of the two. encoding frame rate.
  • the present invention provides a remote video transmission device, comprising: a video frame data sending module for sending video frame data to a client; a client information receiving module for every preset time Receive the packet loss rate and bandwidth occupancy sent by the client; the coding rate adjustment module is used to predict its own current bandwidth according to the packet loss rate and the bandwidth occupancy, and adjust its own coding rate accordingly;
  • the video frame data sending module is further configured to send the video frame data according to the encoding bit rate adjusted by the encoding bit rate adjusting module. .
  • the present invention provides a computer-readable storage medium, in which a computer program is stored, and when the computer program is loaded and executed by a processor, the remote video transmission method can be realized.
  • the present invention provides an electronic device, comprising: a processor and a memory; wherein, the memory is used to store a computer program; the processor is used to load and execute the computer program, so that all The electronic device executes the remote video transmission method.
  • the remote video transmission method, transmission device, storage medium and electronic equipment of the present invention send video frame data to the client; receive packet loss rate and bandwidth occupancy sent by the client at preset time intervals; according to The packet loss rate and the bandwidth occupancy predict the current bandwidth of the self, so as to adjust the encoding code rate of the self; send video frame data according to the adjusted encoding code rate; thus have the following beneficial effects: through the packet loss rate of the client and bandwidth occupation to predict the server bandwidth, and then adjust and control the video transmission encoding bit rate and encoding frame rate of the server, so that the video stream capture capability, server encoding capability, server network transmission capability, and client decoding and rendering capability on the server can be maximized. Balanced to achieve stable transmission and playback of video streams.
  • FIG. 1 is a schematic diagram of an application scenario of a remote video transmission method according to an embodiment of the present invention.
  • FIG. 2 is a schematic flowchart of a remote video transmission method according to an embodiment of the present invention.
  • FIG. 3 is a schematic flowchart of a server sending video frame data to a client according to an embodiment of the present invention.
  • FIG. 4 is a schematic flowchart of a server adjusting an encoding frame rate and an encoding bit rate according to an embodiment of the present invention.
  • FIG. 5 is a schematic block diagram of a remote video transmission device according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
  • the server 2 remotely provides a video stream to the mobile terminal 1, and the mobile terminal 1 presents the video content according to the received video stream.
  • the mobile terminal 1 is an electronic device such as a smart phone or a tablet computer
  • the client is a software program mounted on the mobile terminal 1
  • the server is a software program mounted on the server 2 .
  • the user uses the client installed in the mobile terminal 1 to remotely access the server installed in the server 2, thereby obtaining and playing the video stream provided by the server.
  • the scenario shown in FIG. 1 is a remote desktop connection scenario
  • the remote desktop server is used to provide a video stream of the remote desktop to the mobile terminal 1 so that the mobile terminal can display the picture of the remote desktop.
  • the user has high requirements on the real-time and fluency of the video.
  • the server-side capture capability, server-side encoding capability, client-side decoding and rendering capability, and network transmission capability are the four major factors that affect the video frame rate.
  • the capture capability of the server can be expressed by the average number of video frames captured by the server per second, which is generally more than 1,000 frames.
  • the display can capture one frame every time it refreshes. If the display does not refresh, it can continue to use the previous frame to make up the frame, such as:
  • the server can capture 1660 frames per second, while the general frame capture requirements are 60 frames/120 frames/144 frames.
  • the server encoding capability can be expressed by the average number of video frames encoded by the server per second, which is generally fixed, but far greater than the required number of frames.
  • a server using an Nvidia GTX1060super graphics card can encode 500-800 frames per second, while the general encoding requirements 60fps/120fps/144fps.
  • the decoding and rendering capability of the client can be represented by the number of video frames that the client decodes and renders per second, generally ranging from a few frames to several hundreds of frames.
  • the network transmission capacity can be measured by the average number of bytes transmitted per second, mainly affected by two parameters RTT and bandwidth. The above four influencing factors are in the life cycle of the video stream from the capture of the server to the playback and display of the client. In order to ensure that the video has a high quality as much as possible, it is necessary to continuously make dynamic adjustments under subsequent network changes.
  • the present application provides a remote video transmission method, which is executed by the server, by predicting the bandwidth of the server and intelligently adjusting its encoding frame rate and encoding bit rate, thereby Make the above four influencing factors reach the maximum balance, and realize the stable transmission and playback of video streams.
  • the method includes the following steps:
  • S22 Receive the packet loss rate and bandwidth occupation sent by the client every preset time
  • S23 Predict its own current bandwidth according to the packet loss rate and the bandwidth occupancy, so as to adjust its own coding rate
  • S24 Send video frame data according to the adjusted coding rate.
  • the present application can adjust and control video stream encoding, transmission and playback in real time and reasonably according to changing network conditions under the reliable transmission of a single long-term connection, so as to achieve better performance when the client remotely accesses video clarity and video fluency.
  • the remote desktop server provides the video stream of the remote desktop to the smart phone, and the smart phone restores and displays the remote desktop according to the received video stream.
  • the process of sending video frame data from the server to the client is as follows:
  • S31 The client and the server confirm the RTT and RTO by sending data packets to each other, and the client returns the RTO to the server.
  • RTT Random-Trip Time, that is, round-trip delay
  • RTO Retransmission Timeout, that is, retransmission timeout
  • the client periodically sends a heartbeat packet to the server every second, and the server immediately replies to the heartbeat packet after receiving the heartbeat packet.
  • the client will count a period of time (for example, 5s as the statistical period) after receiving a reply. and use the corresponding algorithm (such as the moving average method) to estimate the RTO, and then send the current RTO to the server synchronously when sending the next heartbeat packet.
  • S32 The server determines the sending frequency of the initial acquisition code according to the RTO.
  • the server determines the initial capture encoding sending frequency according to the S value and its own encoding capability, so as to send video frame data to the client according to the initial capture encoding sending frequency.
  • S33 The server sends a video frame to the client.
  • a continuous video consists of a group of continuous still pictures, and these still pictures are called video frames.
  • the server When sending a frame of video data to the client, the server simultaneously stores the frame of video data in the video buffer, and waits for a reply from the client. If the client's reply is successfully received, the server will clear the one frame of video data in the video buffer; if it does not receive a successful reply from the client, the server will resend the one frame of video data to client.
  • S34 The client receives the video frame and replies to the server.
  • each time the client receives a frame of video data it replies an ack (acknowledgement character) to the server. If the frame packet received by the client is incomplete due to packet loss or the client's decoding capability is insufficient, so that the client's buffer area is full and cannot receive new frame data, it will not reply ack to the server, so that the server can receive this frame of video data. Retransmission.
  • S35 The server adjusts the transmission frequency of the capture code.
  • the server reduces the frequency of capture and encoding transmission, so as to reduce the The capture encoding sending frequency sends video frame data to the client; or, the server stops capturing new video frame data.
  • the client and the server also interact as follows:
  • S41 The client sends its own packet loss rate, bandwidth occupation, decoding and rendering capability to the server at preset time intervals.
  • the client calculates the number of bytes of packets received (ie bandwidth) and the number of lost packets per second, calculates the average packet loss rate and occupied bandwidth per second, and calculates the decoding and rendering capabilities per second , sent to the server.
  • the client puts the packet loss rate, bandwidth occupancy, decoding and rendering capability in the heartbeat packet, and sends it to the server together with the RTO.
  • S42 The server adjusts its own encoding frame rate according to the received decoding and rendering capabilities, and adjusts its own encoding bit rate according to the received packet loss rate and bandwidth occupation.
  • the server compares its current encoding frame rate with the decoding and rendering capabilities of the client, and adjusts its encoding frame rate according to the minimum of the two, that is: if If the current encoding frame rate of the server is smaller than the decoding and rendering capability of the client, the current encoding frame rate will remain unchanged; if the current encoding frame rate of the server is larger than the decoding and rendering capability of the client, the current encoding frame rate will be changed to the current encoding frame rate. Adjust to the value of this decoded rendering capability.
  • the client can only send the packet loss rate and bandwidth usage to the server.
  • the server predicts its own current bandwidth according to the received packet loss rate and bandwidth occupation of the client, and adjusts its own encoding bit rate accordingly.
  • a rule for adjusting the coding rate is preset in the server.
  • the core idea of this rule is: the higher the predicted bandwidth value, the finer the adjustment granularity of the corresponding adjustment strategy.
  • the bandwidth ranges from 2 Mbps to 40 Mbps, and 20 Mbps is used as a grade dividing line, 2 Mbps to 20 Mbps is set as a low grade, and 20 Mbps to 40 Mbps is set as a high grade.
  • aggressive strategies should be adopted, including: if the packet loss rate of the client for two consecutive cycles is less than 2%, increase the encoding bit rate by one level, such as increasing 3Mbps; if the packet loss rate of the client is less than 2% If the rate is between 2% and 8%, keep the current encoding rate unchanged; if the packet loss rate of the client is greater than 8%, reduce the encoding rate by one level, such as reducing 1Mbps.
  • bit rate of the current predicted bandwidth is at a high level
  • a conservative strategy should be adopted, including: if the packet loss rate of the client for two consecutive cycles is 0, increase the encoding bit rate by one level, such as 1Mbps; if the packet loss rate of the client is 0 When it is between 0-5%, keep the current encoding bit rate unchanged; if the packet loss rate of the client is greater than 5%, reduce the encoding bit rate by one level, such as reducing 3Mbps. It should be added that, assuming that 3 seconds is a statistical period, the downshift needs to be observed for one period, that is, 1 second, and the upshift needs to be observed for two periods, that is, 2 seconds.
  • S43 The server sends subsequent video frame data according to the adjusted bit rate.
  • the present invention also provides a computer program product comprising one or more computer instructions.
  • the computer instructions may be stored in a computer-readable storage medium.
  • the computer-readable storage medium may be any available medium that can be stored by a computer, or a data storage device such as a server, data center, etc., which includes one or more available media integrated.
  • 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 (eg, a Solid State Disk (SSD)), and the like.
  • SSD Solid State Disk
  • this embodiment provides a remote video transmission apparatus 50 . Since the technical principle of this embodiment is similar to that of the foregoing method embodiments, the same technical details will not be repeated.
  • the apparatus 50 of this embodiment includes the following modules:
  • the video frame data sending module 51 is used for sending video frame data to the client.
  • the video frame data sending module 51 sends the video frame data to the client according to the initial capture encoding sending frequency; when the number of video buffer frames in the video buffer area exceeds the capacity of the video buffer area, the capture encoding is reduced
  • the sending frequency is to send video frame data to the client according to the reduced capture and encoding sending frequency; or, stop capturing the video frame data.
  • the video frame data sending module 51 stores the frame of video data in the video buffer, and waits for a reply from the client; receives the reply sent by the client ; Wherein, if the reply is successfully received, then clear the one frame of video data in the video buffer; if the reply of the successful reception is not received, then re-send the one frame of video data to the client.
  • the client information receiving module 52 is configured to receive the packet loss rate and bandwidth occupation sent by the client at preset time intervals.
  • the client information receiving module 52 is further configured to receive the packet loss rate, bandwidth occupancy, and decoding and rendering capability of the client sent by the client every preset time.
  • the apparatus 50 further includes an encoding frame rate adjustment module 53, configured to compare its current encoding frame rate with the decoding rendering capability, and adjust its encoding frame rate according to the minimum value of the two.
  • the encoding bit rate adjustment module 54 is configured to predict its own current bandwidth according to the packet loss rate and the bandwidth occupancy, so as to adjust its own encoding bit rate to adjust the video quality presented by the client.
  • the encoding bit rate adjustment module 54 determines the preset bit rate level corresponding to the current bandwidth; searches for a preset adjustment strategy corresponding to the preset bit rate level, and adjusts its own encoding according to the preset adjustment strategy code rate.
  • the video frame data sending module 51 is further configured to send the video frame data according to the encoding bit rate adjusted by the encoding bit rate adjusting module 54 .
  • each module in the embodiment of FIG. 5 is only a division of logical functions, and may be fully or partially integrated into one or more physical entities in actual implementation.
  • these modules can all be implemented in the form of software calling through processing elements, or all of them can be implemented in hardware, and some modules can be implemented in the form of calling software through processing elements, and some modules can be implemented in hardware.
  • this embodiment provides an electronic device, and the electronic device may be a desktop computer, a portable computer, a smart phone, or the like.
  • the electronic device at least includes: a memory and a processor connected through a bus, wherein the memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory to execute all or part of the steps in the foregoing method embodiments.
  • the system bus mentioned above may be a Peripheral Pomponent Interconnect (PCI for short) bus or an Extended Industry Standard Architecture (Extended Industry Standard Architecture, EISA for short) bus or the like.
  • PCI Peripheral Pomponent Interconnect
  • EISA Extended Industry Standard Architecture
  • the system bus can be divided into address bus, data bus, control bus and so on. For ease of presentation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
  • the communication interface is used to realize the communication between the database access device and other devices (eg client, read-write library and read-only library).
  • the memory may include random access memory (Random Access Memory, RAM for short), and may also include non-volatile memory (non-volatile memory), such as at least one disk storage.
  • the above-mentioned processor may be a general-purpose processor, including a central processing unit (Central Processing Unit, referred to as CPU), a network processor (Network Processor, referred to as NP), etc.; may also be a digital signal processor (Digital Signal Processing, referred to as DSP) , Application Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
  • CPU Central Processing Unit
  • NP Network Processor
  • DSP Digital Signal Processing
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • the remote video transmission method, transmission device, storage medium and electronic equipment of the present invention can adjust and control the encoding, transmission and playback of video streams reasonably and in real time according to changing network conditions, so as to achieve a relatively high level of performance during remote access by the client.
  • Good video definition and video fluency effectively overcome various shortcomings in the prior art and have high industrial application value.

Landscapes

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

Abstract

The present invention provides a remote video transmitting method and transmitting apparatus, a storage medium, and an electronic device. The remote video transmitting method is executed by a server, and comprises steps of: sending video frame data to a client; receiving a packet loss rate and bandwidth occupancy sent by the client every a preset time; predicting a current bandwidth of the server according to the packet loss rate and the bandwidth occupancy, and adjusting an encoding rate of the server on this basis; and sending the video frame data according to the adjusted encoding rate. According to the technical solution of the present invention, a server can reasonably adjust and control encoded transmission and playback of video streams in real time according to constantly changing network conditions, so that better video definition and video fluency can be realized when a client performs remote access.

Description

远程视频传输方法、传输装置、存储介质及电子设备Remote video transmission method, transmission device, storage medium and electronic equipment 技术领域technical field
本发明涉及远程视频传输技术领域,特别是涉及远程视频传输方法、传输装置、存储介质及电子设备。The present invention relates to the technical field of remote video transmission, and in particular, to a remote video transmission method, a transmission device, a storage medium and an electronic device.
背景技术Background technique
随着科技与技术的不断进步,目前远程技术发展较为快速,应用也比较广泛,例如当前使用最多的就有QQ远程技术、teamviewer以及windows自带的远程协助技术,用户使用这类远程管理工具可以实现远程支持、远程访问、远程管理、在线办公及会议演示和远程挂机升级等。With the continuous advancement of technology and technology, remote technology has developed rapidly and has a wide range of applications. For example, QQ remote technology, teamviewer and the remote assistance technology that comes with Windows are currently the most used. Users can use such remote management tools to Realize remote support, remote access, remote management, online office and conference presentations, and remote on-hook upgrades.
现有的远程技术为用户提供实时的远程服务器、客户机的情况,但目前现实情况是此类远程技术传输的视频流在客户端播放后却存在各类问题,视频流不稳定、延迟高等,影响因素主要为服务器捕获编码能力、网络传输能力、客户端解码渲染能力三者无法达到一个协调后平衡值,客户端访问过程中不流畅造成视觉效果差。Existing remote technologies provide users with real-time remote server and client information. However, the reality is that the video stream transmitted by such remote technologies has various problems after being played on the client. The video stream is unstable and the delay is high. The main influencing factors are that the server's ability to capture and encode, the network transmission ability, and the client's decoding and rendering ability cannot reach a coordinated balance value, and the client's access process is not smooth, resulting in poor visual effects.
如今,各远程桌面连接应用成为人们信息化生活中的重要部分。当前各种远程连接工具层出不穷,它们为人们提供集音频、视频、图文于一体的综合体验。人们期望获得更快速、更流畅、更高质量的远程视频服务体验,如何实现以上用户期望成为当今技术的一大难点。Nowadays, various remote desktop connection applications have become an important part of people's information life. At present, various remote connection tools emerge in an endless stream, which provide people with a comprehensive experience integrating audio, video, graphics and text. People expect a faster, smoother, and higher-quality remote video service experience, and how to achieve the above user expectations has become a major difficulty in today's technology.
发明内容SUMMARY OF THE INVENTION
鉴于以上所述现有技术的缺点,本发明的目的在于提供远程视频传输方法、传输装置、存储介质及电子设备,用于解决现有技术中的以上问题。In view of the above-mentioned shortcomings of the prior art, the purpose of the present invention is to provide a remote video transmission method, a transmission device, a storage medium and an electronic device for solving the above problems in the prior art.
为实现上述目的及其他相关目的,本发明提供一种远程视频传输方法,应用于服务端;所述方法包括:向客户端发送视频帧数据;每隔预设时间接收由所述客户端发送的丢包率及带宽占用;根据所述丢包率及所述带宽占用预测自身当前的带宽,据以调节自身的编码码率;根据所述调节的编码码率发送视频帧数据。In order to achieve the above purpose and other related purposes, the present invention provides a remote video transmission method, which is applied to a server; the method includes: sending video frame data to a client; receiving data sent by the client every preset time; Packet loss rate and bandwidth occupancy; predict its own current bandwidth according to the packet loss rate and the bandwidth occupancy, and adjust its own encoding bit rate accordingly; send video frame data according to the adjusted encoding bit rate.
于本发明一实施例中,所述向客户端发送视频帧数据的步骤包括:按初始捕获编码发送频率向所述客户端发送视频帧数据;其中,获得所述初始捕获编码发送频率的步骤包括:获取由所述客户端发送的重传超时时间;根据所述重传超时时间计算视频缓存区大小,并据以设置视频缓存区;根据所述视频缓存区大小和自身编码能力确定所述初始捕获编码发送频率。In an embodiment of the present invention, the step of sending video frame data to a client includes: sending video frame data to the client according to an initial capture code sending frequency; wherein the step of obtaining the initial capture code sending frequency includes: : obtain the retransmission timeout sent by the client; calculate the video buffer size according to the retransmission timeout, and set the video buffer accordingly; determine the initial Capture encoding send frequency.
于本发明一实施例中,所述向客户端发送视频帧数据的步骤还包括:当所述视频缓存区的视频缓冲帧的数量超过所述视频缓存区的容量时,降低捕获编码发送频率,以按照降低后的捕获编码发送频率向所述客户端发送视频帧数据;或者,停止捕获视频帧数据。In an embodiment of the present invention, the step of sending video frame data to the client further includes: when the number of video buffer frames in the video buffer area exceeds the capacity of the video buffer area, reducing the frequency of capturing and encoding sending, Send video frame data to the client at a reduced capture and encoding sending frequency; or, stop capturing video frame data.
于本发明一实施例中,所述向客户端发送视频帧数据的步骤包括:在每发送一帧视频数据时,将所述一帧视频数据存入所述视频缓存区,并等待所述客户端的回复;接收由所述客户端发送的回复;其中,若所述回复为成功接收,则清空所述视频缓存区中的所述一帧视频数据;若未接收所述成功接收的回复,则将所述一帧视频数据重新发送至所述客户端。In an embodiment of the present invention, the step of sending video frame data to the client includes: when each frame of video data is sent, storing the frame of video data in the video buffer, and waiting for the client Receive the reply sent by the client; wherein, if the reply is successfully received, clear the one frame of video data in the video buffer; if the reply is not received, then The one frame of video data is resent to the client.
于本发明一实施例中,根据预测得到的自身当前带宽调节自身编码码率的步骤包括:判断当前带宽所对应的预设比特率档位;查找与所述预设比特率档位对应的预设调整策略,并根据所述预设调整策略调节自身编码码率。In an embodiment of the present invention, the step of adjusting the self-encoding bit rate according to the predicted current bandwidth of the self includes: judging a preset bit rate level corresponding to the current bandwidth; searching for a preset bit rate level corresponding to the preset bit rate level. An adjustment strategy is set, and the self-encoding bit rate is adjusted according to the preset adjustment strategy.
于本发明一实施例中,所述预设调整策略的规则包括:随丢包率的减小而提高码率,随丢包率的增大而降低码率;其中,所述预设比特率档位越高,其对应的预设调整策略的调整粒度越细。In an embodiment of the present invention, the rules for the preset adjustment policy include: increasing the bit rate as the packet loss rate decreases, and decreasing the code rate as the packet loss rate increases; wherein the preset bit rate The higher the gear, the finer the adjustment granularity of the corresponding preset adjustment strategy.
于本发明一实施例中,所述方法还包括:接收由所述客户端发送的解码渲染能力;对比自身当前的编码帧率与所述解码渲染能力,按照这二者中的最小值调节自身的编码帧率。In an embodiment of the present invention, the method further includes: receiving the decoding and rendering capability sent by the client; comparing its current encoding frame rate with the decoding and rendering capability, and adjusting itself according to the minimum value of the two. encoding frame rate.
为实现上述目的及其他相关目的,本发明提供一种远程视频传输装置,包括:视频帧数据发送模块,用于向客户端发送视频帧数据;客户端信息接收模块,用于每隔预设时间接收由所述客户端发送的丢包率及带宽占用;编码码率调节模块,用于根据所述丢包率及所述带宽占用预测自身当前的带宽,据以调节自身的编码码率;所述视频帧数据发送模块,还用于根据所述编码码率调节模块调节的编码码率发送视频帧数据。。In order to achieve the above purpose and other related purposes, the present invention provides a remote video transmission device, comprising: a video frame data sending module for sending video frame data to a client; a client information receiving module for every preset time Receive the packet loss rate and bandwidth occupancy sent by the client; the coding rate adjustment module is used to predict its own current bandwidth according to the packet loss rate and the bandwidth occupancy, and adjust its own coding rate accordingly; The video frame data sending module is further configured to send the video frame data according to the encoding bit rate adjusted by the encoding bit rate adjusting module. .
为实现上述目的及其他相关目的,本发明提供一种计算机可读存储介质,其中存储有计算机程序,所述计算机程序被处理器加载执行时,实现所述的远程视频传输方法。In order to achieve the above object and other related objects, the present invention provides a computer-readable storage medium, in which a computer program is stored, and when the computer program is loaded and executed by a processor, the remote video transmission method can be realized.
为实现上述目的及其他相关目的,本发明提供一种电子设备,包括:处理器及存储器;其中,所述存储器用于存储计算机程序;所述处理器用于加载执行所述计算机程序,以使所述电子设备执行所述的远程视频传输方法。In order to achieve the above object and other related objects, the present invention provides an electronic device, comprising: a processor and a memory; wherein, the memory is used to store a computer program; the processor is used to load and execute the computer program, so that all The electronic device executes the remote video transmission method.
如上所述,本发明的远程视频传输方法、传输装置、存储介质及电子设备,向客户端发送视频帧数据;每隔预设时间接收由所述客户端发送的丢包率及带宽占用;根据所述丢包率及所述带宽占用预测自身当前的带宽,据以调节自身的编码码率;根据所述调节的编码码率发送视频帧数据;从而具有以下有益效果:通过客户端的丢包率和带宽占用预测服务端带宽,进而调整控制服务端的视频发送编码码率、编码帧率,使得视频流在服务端捕获能力、 服务端编码能力、服务端网络传输能力、客户端解码渲染能力达到最大平衡,实现视频流的稳定传输及播放。As mentioned above, the remote video transmission method, transmission device, storage medium and electronic equipment of the present invention send video frame data to the client; receive packet loss rate and bandwidth occupancy sent by the client at preset time intervals; according to The packet loss rate and the bandwidth occupancy predict the current bandwidth of the self, so as to adjust the encoding code rate of the self; send video frame data according to the adjusted encoding code rate; thus have the following beneficial effects: through the packet loss rate of the client and bandwidth occupation to predict the server bandwidth, and then adjust and control the video transmission encoding bit rate and encoding frame rate of the server, so that the video stream capture capability, server encoding capability, server network transmission capability, and client decoding and rendering capability on the server can be maximized. Balanced to achieve stable transmission and playback of video streams.
附图说明Description of drawings
图1显示为本发明一实施例中远程视频传输方法的应用场景示意图。FIG. 1 is a schematic diagram of an application scenario of a remote video transmission method according to an embodiment of the present invention.
图2显示为本发明一实施例中远程视频传输方法的流程示意图。FIG. 2 is a schematic flowchart of a remote video transmission method according to an embodiment of the present invention.
图3显示为本发明一实施例中服务端向客户端发送视频帧数据的流程示意图。FIG. 3 is a schematic flowchart of a server sending video frame data to a client according to an embodiment of the present invention.
图4显示为本发明一实施例中服务端调节编码帧率、编码码率的流程示意图。FIG. 4 is a schematic flowchart of a server adjusting an encoding frame rate and an encoding bit rate according to an embodiment of the present invention.
图5显示为本发明一实施例中远程视频传输装置的模块示意图。FIG. 5 is a schematic block diagram of a remote video transmission device according to an embodiment of the present invention.
图6显示为本发明一实施例中电子设备的结构示意图。FIG. 6 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
具体实施方式Detailed ways
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。The embodiments of the present invention are described below through specific specific examples, and those skilled in the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of the present invention. It should be noted that the following embodiments and features in the embodiments may be combined with each other under the condition of no conflict.
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。It should be noted that the diagrams provided in the following embodiments are only used to illustrate the basic concept of the present invention in a schematic way, so the diagrams only show the components related to the present invention rather than the number, shape and For dimension drawing, the type, quantity and proportion of each component can be changed at will in actual implementation, and the component layout may also be more complicated.
如图1所示,服务器2远程向移动终端1提供视频流,移动终端1根据接收的视频流呈现视频内容。具体的,移动终端1为智能手机、平板电脑等电子设备,该客户端是搭载于移动终端1的软件程序,该服务端是搭载于服务器2的软件程序。用户利用安装于移动终端1的客户端远程访问安装于服务器2的服务端,从而获得并播放由服务端提供的视频流。As shown in FIG. 1 , the server 2 remotely provides a video stream to the mobile terminal 1, and the mobile terminal 1 presents the video content according to the received video stream. Specifically, the mobile terminal 1 is an electronic device such as a smart phone or a tablet computer, the client is a software program mounted on the mobile terminal 1 , and the server is a software program mounted on the server 2 . The user uses the client installed in the mobile terminal 1 to remotely access the server installed in the server 2, thereby obtaining and playing the video stream provided by the server.
当服务器2为远程桌面服务器,图1所示场景即为远程桌面连接场景,该远程桌面服务器用于向移动终端1提供远程桌面的视频流,以供移动终端显示远程桌面的画面。在该远程桌面连接场景下,用户对视频的实时性和流畅性要求较高。When the server 2 is a remote desktop server, the scenario shown in FIG. 1 is a remote desktop connection scenario, and the remote desktop server is used to provide a video stream of the remote desktop to the mobile terminal 1 so that the mobile terminal can display the picture of the remote desktop. In this remote desktop connection scenario, the user has high requirements on the real-time and fluency of the video.
服务端捕获能力、服务端编码能力、客户端解码渲染能力、网络传输能力是影响视频帧率的四大要素。服务端捕获能力可以用服务器在平均每秒捕获视频帧的数量表示,一般是在千帧以上,显示器每刷新一次可捕获一帧,显示器不刷新可以通过继续使用上一帧来补帧, 如:服务器每秒可以捕获1660帧,而一般捕帧需求为60帧/120帧/144帧。服务器编码能力可以用服务器在平均每秒编码视频帧的数量表示,一般情况是固定的,但远大于需求帧数,如采用Nvidia GTX1060super显卡的服务器每秒可以编码500-800帧,而一般编码需求为60帧/120帧/144帧。客户端解码渲染能力可以用客户端在平均每秒解码渲染视频帧的数量表示,一般从几帧到几百帧不等。网络传输能力可以用平均每秒传输的字节数衡量,主要受两个参数影响RTT和带宽。以上四大影响因素处于视频流从服务端捕获到客户端播放显示的生命周期,为保证视频尽量有较高的画质,需在后续网络变化情况下不断的进行动态调整。The server-side capture capability, server-side encoding capability, client-side decoding and rendering capability, and network transmission capability are the four major factors that affect the video frame rate. The capture capability of the server can be expressed by the average number of video frames captured by the server per second, which is generally more than 1,000 frames. The display can capture one frame every time it refreshes. If the display does not refresh, it can continue to use the previous frame to make up the frame, such as: The server can capture 1660 frames per second, while the general frame capture requirements are 60 frames/120 frames/144 frames. The server encoding capability can be expressed by the average number of video frames encoded by the server per second, which is generally fixed, but far greater than the required number of frames. For example, a server using an Nvidia GTX1060super graphics card can encode 500-800 frames per second, while the general encoding requirements 60fps/120fps/144fps. The decoding and rendering capability of the client can be represented by the number of video frames that the client decodes and renders per second, generally ranging from a few frames to several hundreds of frames. The network transmission capacity can be measured by the average number of bytes transmitted per second, mainly affected by two parameters RTT and bandwidth. The above four influencing factors are in the life cycle of the video stream from the capture of the server to the playback and display of the client. In order to ensure that the video has a high quality as much as possible, it is necessary to continuously make dynamic adjustments under subsequent network changes.
如图2所示,为了满足用户对远程视频的高要求,本申请提供一种远程视频传输方法,由服务端负责执行,通过预测服务端带宽并智能调节其编码帧率及编码码率,从而使得以上四大影响因素达到最大平衡,实现视频流的稳定传输及播放。所述方法包括以下步骤:As shown in FIG. 2, in order to meet the high requirements of users for remote video, the present application provides a remote video transmission method, which is executed by the server, by predicting the bandwidth of the server and intelligently adjusting its encoding frame rate and encoding bit rate, thereby Make the above four influencing factors reach the maximum balance, and realize the stable transmission and playback of video streams. The method includes the following steps:
S21:向客户端发送视频帧数据;S21: Send video frame data to the client;
S22:每隔预设时间接收由所述客户端发送的丢包率及带宽占用;S22: Receive the packet loss rate and bandwidth occupation sent by the client every preset time;
S23:根据所述丢包率及所述带宽占用预测自身当前的带宽,据以调节自身的编码码率;S23: Predict its own current bandwidth according to the packet loss rate and the bandwidth occupancy, so as to adjust its own coding rate;
S24:根据所述调节的编码码率发送视频帧数据。S24: Send video frame data according to the adjusted coding rate.
通过步骤S21~S24,本申请能在单次长时间连接的可靠传输下,针对不断变化的网络情况实时地、合理地调节并控制视频流编码传输播放,以在客户端远程访问时实现较好的视频清晰度与视频流畅度。Through steps S21 to S24, the present application can adjust and control video stream encoding, transmission and playback in real time and reasonably according to changing network conditions under the reliable transmission of a single long-term connection, so as to achieve better performance when the client remotely accesses video clarity and video fluency.
以下将结合实施例对本申请的远程视频传输方法做详细介绍。The remote video transmission method of the present application will be described in detail below with reference to the embodiments.
如图3所示,在本实施例中远程桌面服务器向智能手机提供远程桌面的视频流,智能手机根据接收的视频流还原并显示远程桌面。As shown in FIG. 3 , in this embodiment, the remote desktop server provides the video stream of the remote desktop to the smart phone, and the smart phone restores and displays the remote desktop according to the received video stream.
服务端向客户端发送视频帧数据的过程如下:The process of sending video frame data from the server to the client is as follows:
S31:客户端与服务端通过互发数据包确认RTT及RTO,客户端将RTO返回服务端。S31: The client and the server confirm the RTT and RTO by sending data packets to each other, and the client returns the RTO to the server.
其中,RTT(Round-Trip Time,即往返时延)表示数据从发送端发送完(最后一个比特推送到数据链路上)开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认)总共经历的时间。RTO(Retransmission Timeout,即重传超时时间)用于可靠网络传输,是对连续一段时间的RTT统计分析预测得到的结果。Among them, RTT (Round-Trip Time, that is, round-trip delay) means that the data starts from the sender (the last bit is pushed to the data link), and the sender receives the confirmation from the receiver (after the receiver receives the data confirmation is sent immediately) the total elapsed time. RTO (Retransmission Timeout, that is, retransmission timeout) is used for reliable network transmission, and is the result of statistical analysis and prediction of RTT for a continuous period of time.
具体的,客户端每秒定时向服务端发送一个心跳包,服务端接收到该心跳包之后立马回复该心跳包,客户端每收到一次回复后会统计一段时间内(例如5s作为统计周期)的RTT,并使用相应的算法(如滑动平均法)预估RTO,然后在发送下一个心跳包的时候把当前的 RTO同步发送给服务端。Specifically, the client periodically sends a heartbeat packet to the server every second, and the server immediately replies to the heartbeat packet after receiving the heartbeat packet. The client will count a period of time (for example, 5s as the statistical period) after receiving a reply. and use the corresponding algorithm (such as the moving average method) to estimate the RTO, and then send the current RTO to the server synchronously when sending the next heartbeat packet.
S32:服务端根据RTO确定初始捕获编码发送频率。S32: The server determines the sending frequency of the initial acquisition code according to the RTO.
具体的,服务端接收到客户端发送的RTO后根据当前RTO计算出缓冲帧数并设置视频缓存区,例如:缓存区大小S=RTO/(1000/fps)+3(1000为1000毫秒,3是误差补偿,根据实际测算得出),fps数值为需求帧率,一般预设为60。服务端根据S值和自身编码能力确定初始捕获编码发送频率,从而按初始捕获编码发送频率向客户端发送视频帧数据。Specifically, after receiving the RTO sent by the client, the server calculates the number of buffered frames according to the current RTO and sets the video buffer, for example: buffer size S=RTO/(1000/fps)+3 (1000 is 1000 milliseconds, 3 It is error compensation, which is obtained according to actual measurement), and the fps value is the required frame rate, which is generally preset to 60. The server determines the initial capture encoding sending frequency according to the S value and its own encoding capability, so as to send video frame data to the client according to the initial capture encoding sending frequency.
S33:服务端向客户端发送视频帧。S33: The server sends a video frame to the client.
具体的,一段连续的视频由一组连续的静态画面组成,这些静态画面被称为视频帧。服务端在每向客户端发送一帧视频数据时,将所述一帧视频数据同时存入所述视频缓存区,并等待所述客户端的回复。若客户端的回复为成功接收,服务端则清空所述视频缓存区中的所述一帧视频数据;若没有收到客户端成功接收的回复,服务端则将所述一帧视频数据重新发送至客户端。Specifically, a continuous video consists of a group of continuous still pictures, and these still pictures are called video frames. When sending a frame of video data to the client, the server simultaneously stores the frame of video data in the video buffer, and waits for a reply from the client. If the client's reply is successfully received, the server will clear the one frame of video data in the video buffer; if it does not receive a successful reply from the client, the server will resend the one frame of video data to client.
S34:客户端接收视频帧并回复服务端。S34: The client receives the video frame and replies to the server.
具体的,客户端每接收到一帧视频数据后,回复ack(确认字符)给服务端。若因丢包致使客户端接收的帧数据包不完整或客户端解码能力不足致使客户端缓存区占满无法接收新帧数据,则不回复ack给服务端,以使服务端对此帧视频数据重传。Specifically, each time the client receives a frame of video data, it replies an ack (acknowledgement character) to the server. If the frame packet received by the client is incomplete due to packet loss or the client's decoding capability is insufficient, so that the client's buffer area is full and cannot receive new frame data, it will not reply ack to the server, so that the server can receive this frame of video data. Retransmission.
S35:服务端调节捕获编码发送频率。S35: The server adjusts the transmission frequency of the capture code.
具体的,当视频帧进入视频缓存区的帧数大于S时(客户端编码能力不足或丢包严重导致服务端不断重传当前视频帧数据),服务端降低捕获编码发送频率,以按照降低后的捕获编码发送频率向客户端发送视频帧数据;或者,服务端停止捕获新的视频帧数据。Specifically, when the number of video frames entering the video buffer is greater than S (the client's encoding capability is insufficient or the packet loss is serious, causing the server to continuously retransmit the current video frame data), the server reduces the frequency of capture and encoding transmission, so as to reduce the The capture encoding sending frequency sends video frame data to the client; or, the server stops capturing new video frame data.
参阅图4,在以上视频帧数据的传输过程中,客户端与服务端之前还进行如下交互:Referring to Figure 4, during the transmission of the above video frame data, the client and the server also interact as follows:
S41:客户端每隔预设时间向服务端发送自己的丢包率、带宽占用、解码渲染能力。S41: The client sends its own packet loss rate, bandwidth occupation, decoding and rendering capability to the server at preset time intervals.
以预设时间为1s为例,客户端计算每秒接收到的数据包字节数(即带宽)和丢包数,统计每秒平均丢包率以及占用带宽,并统计每秒的解码渲染能力,发送至服务端。较佳的,为避免客户端与服务端间信息交互的繁乱,客户端将丢包率、带宽占用、解码渲染能力置于心跳包中,同RTO一起发送至服务端。Taking the preset time as 1s as an example, the client calculates the number of bytes of packets received (ie bandwidth) and the number of lost packets per second, calculates the average packet loss rate and occupied bandwidth per second, and calculates the decoding and rendering capabilities per second , sent to the server. Preferably, in order to avoid the clutter of information exchange between the client and the server, the client puts the packet loss rate, bandwidth occupancy, decoding and rendering capability in the heartbeat packet, and sends it to the server together with the RTO.
S42:服务端根据接收的解码渲染能力调节自己的编码帧率,根据接收的丢包率、带宽占用调节自己的编码码率。S42: The server adjusts its own encoding frame rate according to the received decoding and rendering capabilities, and adjusts its own encoding bit rate according to the received packet loss rate and bandwidth occupation.
具体的,服务端在接收客户端的解码渲染能力之后,与自身当前的编码帧率与客户端的解码渲染能力进行比对,按照这二者中的最小值调节自身的编码帧率,也即:若服务端自身 当前的编码帧率比客户端的解码渲染能力小,则保持当前的编码帧率不变;若服务端自身当前的编码帧率比客户端的解码渲染能力大,则将当前的编码帧率调整至该解码渲染能力的值。Specifically, after receiving the decoding and rendering capabilities of the client, the server compares its current encoding frame rate with the decoding and rendering capabilities of the client, and adjusts its encoding frame rate according to the minimum of the two, that is: if If the current encoding frame rate of the server is smaller than the decoding and rendering capability of the client, the current encoding frame rate will remain unchanged; if the current encoding frame rate of the server is larger than the decoding and rendering capability of the client, the current encoding frame rate will be changed to the current encoding frame rate. Adjust to the value of this decoded rendering capability.
需说明的是,由于客户端的解码渲染能力基本不会发生太大的变化,所以客户端可以只将丢包率、带宽占用发送至服务端。It should be noted that since the decoding and rendering capabilities of the client will not change much, the client can only send the packet loss rate and bandwidth usage to the server.
具体的,服务端根据接收的客户端丢包率及带宽占用,预测自身当前的带宽,据以调节自身的编码码率。Specifically, the server predicts its own current bandwidth according to the received packet loss rate and bandwidth occupation of the client, and adjusts its own encoding bit rate accordingly.
需要说明的是,服务端中预设有调节编码码率的规则,该规则的核心思想为:预测得到的自身带宽值越高,对应的调整策略的调整粒度越细,每种调整策略会随客户端丢包率的减小而提高自身的编码码率(提高客户端画质),随客户端丢包率的增大而降低编码码率(降低客户端画质)。It should be noted that a rule for adjusting the coding rate is preset in the server. The core idea of this rule is: the higher the predicted bandwidth value, the finer the adjustment granularity of the corresponding adjustment strategy. When the packet loss rate of the client decreases, the encoding rate of the client is increased (improving the client image quality), and the encoding rate is reduced (reducing the client image quality) with the increase of the client packet loss rate.
举例而言,假设带宽的范围在2Mbps至40Mbps之间,以20Mbps作为档位分界线,2Mbps~20Mbps设为低档,20Mbps~40Mbps设为高档。若当前预测带宽的比特率属于低档级别,则对应采用激进策略,包括:若客户端连续两个周期丢包率小于2%,则增加一档编码码率,如增加3Mbps;若客户端的丢包率在2%-8%之间,则保持当前的编码码率不变;若客户端的丢包率大于8%,则减小一档编码码率,如减小1Mbps。若当前预测带宽的比特率属于高档级别,则对应采用保守策略,包括:若客户端连续两个周期丢包率为0,则增加一档编码码率,如增加1Mbps;若客户端的丢包率在0-5%之间时,则保持当前的编码码率不变;若客户端的丢包率大于5%时,则减小一档编码码率,如减小3Mbps。需补充说明的是,假设以3秒为一个统计周期,减档需观察一个周期,即1秒,加档需观察两个周期,即2秒。For example, it is assumed that the bandwidth ranges from 2 Mbps to 40 Mbps, and 20 Mbps is used as a grade dividing line, 2 Mbps to 20 Mbps is set as a low grade, and 20 Mbps to 40 Mbps is set as a high grade. If the bit rate of the current predicted bandwidth is at a low level, aggressive strategies should be adopted, including: if the packet loss rate of the client for two consecutive cycles is less than 2%, increase the encoding bit rate by one level, such as increasing 3Mbps; if the packet loss rate of the client is less than 2% If the rate is between 2% and 8%, keep the current encoding rate unchanged; if the packet loss rate of the client is greater than 8%, reduce the encoding rate by one level, such as reducing 1Mbps. If the bit rate of the current predicted bandwidth is at a high level, a conservative strategy should be adopted, including: if the packet loss rate of the client for two consecutive cycles is 0, increase the encoding bit rate by one level, such as 1Mbps; if the packet loss rate of the client is 0 When it is between 0-5%, keep the current encoding bit rate unchanged; if the packet loss rate of the client is greater than 5%, reduce the encoding bit rate by one level, such as reducing 3Mbps. It should be added that, assuming that 3 seconds is a statistical period, the downshift needs to be observed for one period, that is, 1 second, and the upshift needs to be observed for two periods, that is, 2 seconds.
S43:服务端按照调节后的码率发送后续的视频帧数据。S43: The server sends subsequent video frame data according to the adjusted bit rate.
实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。基于这样的理解,本发明还提供一种计算机程序产品,包括一个或多个计算机指令。所述计算机指令可以存储在计算机可读存储介质中。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如:软盘、硬盘、磁带)、光介质(如:DVD)、或者半导体介质(如:固态硬盘Solid State Disk(SSD))等。All or part of the steps for implementing the above method embodiments may be completed by hardware related to computer programs. Based on this understanding, the present invention also provides a computer program product comprising one or more computer instructions. The computer instructions may be stored in a computer-readable storage medium. The computer-readable storage medium may be any available medium that can be stored by a computer, or a data storage device such as a server, data center, etc., which includes one or more available media integrated. 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 (eg, a Solid State Disk (SSD)), and the like.
参阅图5,本实施例提供一种远程视频传输装置50,由于本实施例的技术原理与前述方法实施例的技术原理相似,因而不再对同样的技术细节做重复性赘述。本实施例的装置50 包括如下模块:Referring to FIG. 5 , this embodiment provides a remote video transmission apparatus 50 . Since the technical principle of this embodiment is similar to that of the foregoing method embodiments, the same technical details will not be repeated. The apparatus 50 of this embodiment includes the following modules:
视频帧数据发送模块51,用于向客户端发送视频帧数据。The video frame data sending module 51 is used for sending video frame data to the client.
具体的,视频帧数据发送模块51按初始捕获编码发送频率向所述客户端发送视频帧数据;当所述视频缓存区的视频缓冲帧的数量超过所述视频缓存区的容量时,降低捕获编码发送频率,以按照降低后的捕获编码发送频率向所述客户端发送视频帧数据;或者,停止捕获视频帧数据。Specifically, the video frame data sending module 51 sends the video frame data to the client according to the initial capture encoding sending frequency; when the number of video buffer frames in the video buffer area exceeds the capacity of the video buffer area, the capture encoding is reduced The sending frequency is to send video frame data to the client according to the reduced capture and encoding sending frequency; or, stop capturing the video frame data.
具体的,视频帧数据发送模块51在每发送一帧视频数据时,将所述一帧视频数据存入所述视频缓存区,并等待所述客户端的回复;接收由所述客户端发送的回复;其中,若所述回复为成功接收,则清空所述视频缓存区中的所述一帧视频数据;若未接收所述成功接收的回复,则将所述一帧视频数据重新发送至所述客户端。Specifically, when each frame of video data is sent, the video frame data sending module 51 stores the frame of video data in the video buffer, and waits for a reply from the client; receives the reply sent by the client ; Wherein, if the reply is successfully received, then clear the one frame of video data in the video buffer; if the reply of the successful reception is not received, then re-send the one frame of video data to the client.
客户端信息接收模块52,用于每隔预设时间接收由所述客户端发送的丢包率及带宽占用。The client information receiving module 52 is configured to receive the packet loss rate and bandwidth occupation sent by the client at preset time intervals.
可选的,客户端信息接收模块52还用于每隔预设时间接收由所述客户端发送的丢包率、带宽占用以及客户端的解码渲染能力。所述装置50还包括编码帧率调节模块53,用于对比自身当前的编码帧率与所述解码渲染能力,按照这二者中的最小值调节自身的编码帧率。Optionally, the client information receiving module 52 is further configured to receive the packet loss rate, bandwidth occupancy, and decoding and rendering capability of the client sent by the client every preset time. The apparatus 50 further includes an encoding frame rate adjustment module 53, configured to compare its current encoding frame rate with the decoding rendering capability, and adjust its encoding frame rate according to the minimum value of the two.
编码码率调节模块54,用于根据所述丢包率及所述带宽占用预测自身当前的带宽,据以调节自身的编码码率来调节客户端呈现的视频画质。The encoding bit rate adjustment module 54 is configured to predict its own current bandwidth according to the packet loss rate and the bandwidth occupancy, so as to adjust its own encoding bit rate to adjust the video quality presented by the client.
具体的,编码码率调节模块54判断当前带宽所对应的预设比特率档位;查找与所述预设比特率档位对应的预设调整策略,并根据所述预设调整策略调节自身编码码率。Specifically, the encoding bit rate adjustment module 54 determines the preset bit rate level corresponding to the current bandwidth; searches for a preset adjustment strategy corresponding to the preset bit rate level, and adjusts its own encoding according to the preset adjustment strategy code rate.
视频帧数据发送模块51,还用于根据编码码率调节模块54调节的编码码率发送视频帧数据。The video frame data sending module 51 is further configured to send the video frame data according to the encoding bit rate adjusted by the encoding bit rate adjusting module 54 .
本领域技术人员应当理解,图5实施例中的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个或多个物理实体上。且这些模块可以全部以软件通过处理元件调用的形式实现,也可以全部以硬件的形式实现,还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。Those skilled in the art should understand that the division of each module in the embodiment of FIG. 5 is only a division of logical functions, and may be fully or partially integrated into one or more physical entities in actual implementation. And these modules can all be implemented in the form of software calling through processing elements, or all of them can be implemented in hardware, and some modules can be implemented in the form of calling software through processing elements, and some modules can be implemented in hardware.
参阅图6,本实施例提供一种电子设备,电子设备可以是台式机、便携式电脑、智能手机等设备。详细的,电子设备至少包括通过总线连接的:存储器、处理器,其中,存储器用于存储计算机程序,处理器用于执行存储器存储的计算机程序,以执行前述方法实施例中的全部或部分步骤。Referring to FIG. 6 , this embodiment provides an electronic device, and the electronic device may be a desktop computer, a portable computer, a smart phone, or the like. In detail, the electronic device at least includes: a memory and a processor connected through a bus, wherein the memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory to execute all or part of the steps in the foregoing method embodiments.
上述提到的系统总线可以是外设部件互连标准(Peripheral Pomponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。The system bus mentioned above may be a Peripheral Pomponent Interconnect (PCI for short) bus or an Extended Industry Standard Architecture (Extended Industry Standard Architecture, EISA for short) bus or the like. The system bus can be divided into address bus, data bus, control bus and so on. For ease of presentation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus. The communication interface is used to realize the communication between the database access device and other devices (eg client, read-write library and read-only library). The memory may include random access memory (Random Access Memory, RAM for short), and may also include non-volatile memory (non-volatile memory), such as at least one disk storage.
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。The above-mentioned processor may be a general-purpose processor, including a central processing unit (Central Processing Unit, referred to as CPU), a network processor (Network Processor, referred to as NP), etc.; may also be a digital signal processor (Digital Signal Processing, referred to as DSP) , Application Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
综上,本发明的远程视频传输方法、传输装置、存储介质及电子设备,能根据不断变化的网络情况实时地、合理地调节并控制视频流编码传输播放,以在客户端远程访问时实现较好的视频清晰度与视频流畅度,有效克服了现有技术中的种种缺点而具高度产业利用价值。To sum up, the remote video transmission method, transmission device, storage medium and electronic equipment of the present invention can adjust and control the encoding, transmission and playback of video streams reasonably and in real time according to changing network conditions, so as to achieve a relatively high level of performance during remote access by the client. Good video definition and video fluency effectively overcome various shortcomings in the prior art and have high industrial application value.
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。The above-mentioned embodiments merely illustrate the principles and effects of the present invention, but are not intended to limit the present invention. Anyone skilled in the art can modify or change the above embodiments without departing from the spirit and scope of the present invention. Therefore, all equivalent modifications or changes made by those with ordinary knowledge in the technical field without departing from the spirit and technical idea disclosed in the present invention should still be covered by the claims of the present invention.

Claims (10)

  1. 一种远程视频传输方法,其特征在于,应用于服务端;所述方法包括:A remote video transmission method, characterized in that it is applied to a server; the method comprises:
    向客户端发送视频帧数据;Send video frame data to the client;
    每隔预设时间接收由所述客户端发送的丢包率及带宽占用;receiving the packet loss rate and bandwidth occupancy sent by the client every preset time;
    根据所述丢包率及所述带宽占用预测自身当前的带宽,据以调节自身的编码码率;Predict its own current bandwidth according to the packet loss rate and the bandwidth occupancy, so as to adjust its own encoding bit rate;
    根据所述调节的编码码率发送视频帧数据。The video frame data is sent according to the adjusted coding rate.
  2. 根据权利要求1所述的方法,其特征在于,所述向客户端发送视频帧数据的步骤包括:The method according to claim 1, wherein the step of sending video frame data to the client comprises:
    按初始捕获编码发送频率向所述客户端发送视频帧数据;其中,获得所述初始捕获编码发送频率的步骤包括:Send video frame data to the client according to the initial capture code sending frequency; wherein, the step of obtaining the initial capture code sending frequency includes:
    获取由所述客户端发送的重传超时时间;Obtain the retransmission timeout time sent by the client;
    根据所述重传超时时间计算视频缓存区大小,并据以设置视频缓存区;Calculate the video buffer size according to the retransmission timeout time, and set the video buffer accordingly;
    根据所述视频缓存区大小和自身编码能力确定所述初始捕获编码发送频率。The transmission frequency of the initial capture encoding is determined according to the size of the video buffer and its own encoding capability.
  3. 根据权利要求2所述的方法,其特征在于,所述向客户端发送视频帧数据的步骤还包括:The method according to claim 2, wherein the step of sending video frame data to the client further comprises:
    当所述视频缓存区的视频缓冲帧的数量超过所述视频缓存区的容量时,降低捕获编码发送频率,以按照降低后的捕获编码发送频率向所述客户端发送视频帧数据;或者,停止捕获视频帧数据。When the number of video buffer frames in the video buffer area exceeds the capacity of the video buffer area, reduce the frequency of capturing and encoding sending, so as to send video frame data to the client according to the reduced sending frequency of capturing and encoding; or, stop Capture video frame data.
  4. 根据权利要求1或2所述的方法,其特征在于,所述向客户端发送视频帧数据的步骤还包括:The method according to claim 1 or 2, wherein the step of sending video frame data to the client further comprises:
    在每发送一帧视频数据时,将所述一帧视频数据存入所述视频缓存区,并等待所述客户端的回复;When each frame of video data is sent, store the frame of video data in the video buffer and wait for a reply from the client;
    接收由所述客户端发送的回复;其中,若所述回复为成功接收,则清空所述视频缓存区中的所述一帧视频数据;若未接收所述成功接收的回复,则将所述一帧视频数据重新发送至所述客户端。Receive the reply sent by the client; wherein, if the reply is successfully received, clear the one frame of video data in the video buffer; if the reply of the successful reception is not received, the A frame of video data is resent to the client.
  5. 根据权利要求1所述的方法,其特征在于,根据预测得到的自身当前带宽调节自身编码码率的步骤包括:The method according to claim 1, wherein the step of adjusting the self-encoding code rate according to the predicted self-current bandwidth comprises:
    判断当前带宽所对应的预设比特率档位;Determine the preset bit rate gear corresponding to the current bandwidth;
    查找与所述预设比特率档位对应的预设调整策略,并根据所述预设调整策略调节自 身编码码率。Find the preset adjustment strategy corresponding to the preset bit rate gear, and adjust the encoding bit rate according to the preset adjustment strategy.
  6. 根据权利要求5所述的方法,其特征在于,所述预设调整策略的规则包括:随丢包率的减小而提高码率,随丢包率的增大而降低码率;其中,所述预设比特率档位越高,其对应的预设调整策略的调整粒度越细。The method according to claim 5, wherein the preset adjustment policy rule comprises: increasing the code rate as the packet loss rate decreases, and decreasing the code rate as the packet loss rate increases; wherein, the The higher the preset bit rate scale, the finer the adjustment granularity of the corresponding preset adjustment strategy.
  7. 根据权利要求1所述的方法,其特征在于,还包括:The method of claim 1, further comprising:
    接收由所述客户端发送的解码渲染能力;receiving the decoding rendering capability sent by the client;
    对比自身当前的编码帧率与所述解码渲染能力,按照这二者中的最小值调节自身的编码帧率。Compare its current encoding frame rate with the decoding rendering capability, and adjust its encoding frame rate according to the minimum value of the two.
  8. 一种远程视频传输装置,其特征在于,包括:A remote video transmission device, comprising:
    视频帧数据发送模块,用于向客户端发送视频帧数据;The video frame data sending module is used to send video frame data to the client;
    客户端信息接收模块,用于每隔预设时间接收由所述客户端发送的丢包率及带宽占用;a client information receiving module, configured to receive the packet loss rate and bandwidth occupancy sent by the client every preset time;
    编码码率调节模块,用于根据所述丢包率及所述带宽占用预测自身当前的带宽,据以调节自身的编码码率;an encoding rate adjustment module, configured to predict its own current bandwidth according to the packet loss rate and the bandwidth occupancy, so as to adjust its own encoding rate;
    所述视频帧数据发送模块,还用于根据所述编码码率调节模块调节的编码码率发送视频帧数据。The video frame data sending module is further configured to send the video frame data according to the encoding bit rate adjusted by the encoding bit rate adjusting module.
  9. 一种计算机可读存储介质,其中存储有计算机程序,其特征在于,所述计算机程序被处理器加载执行时,实现如权利要求1至7中任一所述的远程视频传输方法。A computer-readable storage medium storing a computer program therein, characterized in that, when the computer program is loaded and executed by a processor, the remote video transmission method according to any one of claims 1 to 7 is implemented.
  10. 一种电子设备,其特征在于,包括:处理器及存储器;其中,An electronic device, comprising: a processor and a memory; wherein,
    所述存储器用于存储计算机程序;the memory is used to store computer programs;
    所述处理器用于加载执行所述计算机程序,以使所述电子设备执行如权利要求1至7中任一所述的远程视频传输方法。The processor is configured to load and execute the computer program, so that the electronic device executes the remote video transmission method according to any one of claims 1 to 7.
PCT/CN2022/080907 2021-03-18 2022-03-15 Remote video transmitting method and transmitting apparatus, storage medium, and electronic device WO2022194140A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110292751.5A CN113747194B (en) 2021-03-18 2021-03-18 Remote video transmission method, transmission device, storage medium and electronic equipment
CN202110292751.5 2021-03-18

Publications (1)

Publication Number Publication Date
WO2022194140A1 true WO2022194140A1 (en) 2022-09-22

Family

ID=78728245

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/080907 WO2022194140A1 (en) 2021-03-18 2022-03-15 Remote video transmitting method and transmitting apparatus, storage medium, and electronic device

Country Status (2)

Country Link
CN (1) CN113747194B (en)
WO (1) WO2022194140A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115278289A (en) * 2022-09-27 2022-11-01 海马云(天津)信息技术有限公司 Cloud application rendering video frame processing method and device
CN115834918A (en) * 2022-11-17 2023-03-21 深圳创维-Rgb电子有限公司 Video live broadcast method and device, electronic equipment and readable storage medium
CN116320612A (en) * 2023-05-19 2023-06-23 北京大学 Video data transmission system

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113747194B (en) * 2021-03-18 2023-04-07 上海达龙信息科技有限公司 Remote video transmission method, transmission device, storage medium and electronic equipment
CN114222169B (en) * 2021-12-14 2023-10-20 咪咕互动娱乐有限公司 Video streaming method, communication device and computer readable storage medium
CN113992987B (en) * 2021-12-27 2022-07-22 北京蔚领时代科技有限公司 Intelligent code rate adjusting system and method suitable for cloud game scene
CN115150638B (en) * 2022-06-29 2024-07-09 深信服科技股份有限公司 Cloud desktop-based data transmission method, device, equipment and storage medium

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101047845A (en) * 2006-03-29 2007-10-03 腾讯科技(深圳)有限公司 Device and method for regulating vedio communication data code ratio
CN105100675A (en) * 2015-09-11 2015-11-25 Tcl集团股份有限公司 Terminal video communication quality adjusting method and system
CN106488175A (en) * 2015-08-26 2017-03-08 重庆西线科技有限公司 A kind of video transmission method
CN106488265A (en) * 2016-10-12 2017-03-08 广州酷狗计算机科技有限公司 A kind of method and apparatus sending Media Stream
US20170094301A1 (en) * 2015-09-28 2017-03-30 Cybrook Inc. Initial Bandwidth Estimation For Real-time Video Transmission
US10349059B1 (en) * 2018-07-17 2019-07-09 Wowza Media Systems, LLC Adjusting encoding frame size based on available network bandwidth
CN110290402A (en) * 2019-07-31 2019-09-27 腾讯科技(深圳)有限公司 A kind of video code rate method of adjustment, device, server and storage medium
CN111836079A (en) * 2019-04-18 2020-10-27 杭州海康威视数字技术股份有限公司 Video code stream transmission method and device
CN113747194A (en) * 2021-03-18 2021-12-03 上海达龙信息科技有限公司 Remote video transmission method, transmission device, storage medium and electronic equipment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106588175A (en) * 2016-11-15 2017-04-26 陈景河 Shrimp culture ecological fertilizer water paste
CN111615006B (en) * 2020-05-29 2022-02-01 北京讯众通信技术股份有限公司 Video code conversion transmission control system based on network state self-evaluation

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101047845A (en) * 2006-03-29 2007-10-03 腾讯科技(深圳)有限公司 Device and method for regulating vedio communication data code ratio
CN106488175A (en) * 2015-08-26 2017-03-08 重庆西线科技有限公司 A kind of video transmission method
CN105100675A (en) * 2015-09-11 2015-11-25 Tcl集团股份有限公司 Terminal video communication quality adjusting method and system
US20170094301A1 (en) * 2015-09-28 2017-03-30 Cybrook Inc. Initial Bandwidth Estimation For Real-time Video Transmission
CN106488265A (en) * 2016-10-12 2017-03-08 广州酷狗计算机科技有限公司 A kind of method and apparatus sending Media Stream
US10349059B1 (en) * 2018-07-17 2019-07-09 Wowza Media Systems, LLC Adjusting encoding frame size based on available network bandwidth
CN111836079A (en) * 2019-04-18 2020-10-27 杭州海康威视数字技术股份有限公司 Video code stream transmission method and device
CN110290402A (en) * 2019-07-31 2019-09-27 腾讯科技(深圳)有限公司 A kind of video code rate method of adjustment, device, server and storage medium
CN113747194A (en) * 2021-03-18 2021-12-03 上海达龙信息科技有限公司 Remote video transmission method, transmission device, storage medium and electronic equipment

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115278289A (en) * 2022-09-27 2022-11-01 海马云(天津)信息技术有限公司 Cloud application rendering video frame processing method and device
CN115278289B (en) * 2022-09-27 2023-01-20 海马云(天津)信息技术有限公司 Cloud application rendering video frame processing method and device
CN115834918A (en) * 2022-11-17 2023-03-21 深圳创维-Rgb电子有限公司 Video live broadcast method and device, electronic equipment and readable storage medium
CN115834918B (en) * 2022-11-17 2024-08-20 深圳创维-Rgb电子有限公司 Video live broadcast method and device, electronic equipment and readable storage medium
CN116320612A (en) * 2023-05-19 2023-06-23 北京大学 Video data transmission system
CN116320612B (en) * 2023-05-19 2023-08-04 北京大学 Video data transmission system

Also Published As

Publication number Publication date
CN113747194B (en) 2023-04-07
CN113747194A (en) 2021-12-03

Similar Documents

Publication Publication Date Title
WO2022194140A1 (en) Remote video transmitting method and transmitting apparatus, storage medium, and electronic device
CN111628847B (en) Data transmission method and device
CN109600610B (en) Data encoding method, terminal and computer readable storage medium
TWI383684B (en) System and method for dynamic video encoding in multimedia streaming
US12113694B2 (en) Screen projection data transmission method and apparatus, electronic device, and storage medium
US9521178B1 (en) Dynamic bandwidth thresholds
CN111225209B (en) Video data plug flow method, device, terminal and storage medium
CN104394484A (en) Wireless live streaming media transmission method
CN113037697B (en) Video frame processing method and device, electronic equipment and readable storage medium
US20170142029A1 (en) Method for data rate adaption in online media services, electronic device, and non-transitory computer-readable storage medium
US11653057B2 (en) Systems and methods for reducing latency of a video transmission system
CN112929704A (en) Data transmission method, device, electronic equipment and storage medium
CN111617466A (en) Method and device for determining coding format and method for realizing cloud game
US9930565B2 (en) Controlling apparatus for communication-quality measuring, communication apparatus, and program
WO2024114146A1 (en) Media stream processing method and apparatus, and computer device and storage medium
JP2014075735A (en) Image processor and image processing method
CN113596112A (en) Transmission method for video monitoring
CN113207011A (en) Pre-loading method for short video processing
TWI736180B (en) System and method for stabilizing network video delivery delay
US20240223832A1 (en) Video stream bitrate adjustment method and apparatus, computer device, and storage medium
US20240236409A9 (en) Electronic apparatus, server apparatus and control method thereof
US20160323336A1 (en) Optimal settings for application streaming
CN117956177A (en) Cloud rendering method, cloud rendering device, medium and equipment
Kim et al. Extremely Low Latency Interactive Streaming over an 802.11 Wireless Link
US20130321555A1 (en) Controlling cpu usage to balance fast and slow devices

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22770493

Country of ref document: EP

Kind code of ref document: A1