CN113747194B - 远程视频传输方法、传输装置、存储介质及电子设备 - Google Patents
远程视频传输方法、传输装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113747194B CN113747194B CN202110292751.5A CN202110292751A CN113747194B CN 113747194 B CN113747194 B CN 113747194B CN 202110292751 A CN202110292751 A CN 202110292751A CN 113747194 B CN113747194 B CN 113747194B
- Authority
- CN
- China
- Prior art keywords
- video
- client
- rate
- sending
- packet loss
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000009877 rendering Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 11
- 230000009467 reduction Effects 0.000 claims description 4
- 239000000126 substance Substances 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234363—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234381—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
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
本发明提供远程视频传输方法、传输装置、存储介质及电子设备。其中,所述远程视频传输方法由服务端负责执行,包括步骤:向客户端发送视频帧数据;每隔预设时间接收由所述客户端发送的丢包率及带宽占用;根据所述丢包率及所述带宽占用预测自身当前的带宽,据以调节自身的编码码率;根据所述调节的编码码率发送视频帧数据。服务端通过本发明的技术方案能根据不断变化的网络情况实时地、合理地调节并控制视频流编码传输播放,以在客户端远程访问时实现较好的视频清晰度与视频流畅度。
Description
技术领域
本发明涉及远程视频传输技术领域,特别是涉及远程视频传输方法、传输装置、存储介质及电子设备。
背景技术
随着科技与技术的不断进步,目前远程技术发展较为快速,应用也比较广泛,例如当前使用最多的就有QQ远程技术、teamviewer以及windows自带的远程协助技术,用户使用这类远程管理工具可以实现远程支持、远程访问、远程管理、在线办公及会议演示和远程挂机升级等。
现有的远程技术为用户提供实时的远程服务器、客户机的情况,但目前现实情况是此类远程技术传输的视频流在客户端播放后却存在各类问题,视频流不稳定、延迟高等,影响因素主要为服务器捕获编码能力、网络传输能力、客户端解码渲染能力三者无法达到一个协调后平衡值,客户端访问过程中不流畅造成视觉效果差。
如今,各远程桌面连接应用成为人们信息化生活中的重要部分。当前各种远程连接工具层出不穷,它们为人们提供集音频、视频、图文于一体的综合体验。人们期望获得更快速、更流畅、更高质量的远程视频服务体验,如何实现以上用户期望成为当今技术的一大难点。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供远程视频传输方法、传输装置、存储介质及电子设备,用于解决现有技术中的以上问题。
为实现上述目的及其他相关目的,本发明提供一种远程视频传输方法,应用于服务端;所述方法包括:向客户端发送视频帧数据;每隔预设时间接收由所述客户端发送的丢包率及带宽占用;根据所述丢包率及所述带宽占用预测自身当前的带宽,据以调节自身的编码码率;根据所述调节的编码码率发送视频帧数据。
于本发明一实施例中,所述向客户端发送视频帧数据的步骤包括:按初始捕获编码发送频率向所述客户端发送视频帧数据;其中,获得所述初始捕获编码发送频率的步骤包括:获取由所述客户端发送的重传超时时间;根据所述重传超时时间计算视频缓存区大小,并据以设置视频缓存区;根据所述视频缓存区大小和自身编码能力确定所述初始捕获编码发送频率。
于本发明一实施例中,所述向客户端发送视频帧数据的步骤还包括:当所述视频缓存区的视频缓冲帧的数量超过所述视频缓存区的容量时,降低捕获编码发送频率,以按照降低后的捕获编码发送频率向所述客户端发送视频帧数据;或者,停止捕获视频帧数据。
于本发明一实施例中,所述向客户端发送视频帧数据的步骤包括:在每发送一帧视频数据时,将所述一帧视频数据存入所述视频缓存区,并等待所述客户端的回复;接收由所述客户端发送的回复;其中,若所述回复为成功接收,则清空所述视频缓存区中的所述一帧视频数据;若未接收所述成功接收的回复,则将所述一帧视频数据重新发送至所述客户端。
于本发明一实施例中,根据预测得到的自身当前带宽调节自身编码码率的步骤包括:判断当前带宽所对应的预设比特率档位;查找与所述预设比特率档位对应的预设调整策略,并根据所述预设调整策略调节自身编码码率。
于本发明一实施例中,所述预设调整策略的规则包括:随丢包率的减小而提高码率,随丢包率的增大而降低码率;其中,所述预设比特率档位越高,其对应的预设调整策略的调整粒度越细。
于本发明一实施例中,所述方法还包括:接收由所述客户端发送的解码渲染能力;对比自身当前的编码帧率与所述解码渲染能力,按照这二者中的最小值调节自身的编码帧率。
为实现上述目的及其他相关目的,本发明提供一种远程视频传输装置,包括:视频帧数据发送模块,用于向客户端发送视频帧数据;客户端信息接收模块,用于每隔预设时间接收由所述客户端发送的丢包率及带宽占用;编码码率调节模块,用于根据所述丢包率及所述带宽占用预测自身当前的带宽,据以调节自身的编码码率;所述视频帧数据发送模块,还用于根据所述编码码率调节模块调节的编码码率发送视频帧数据。。
为实现上述目的及其他相关目的,本发明提供一种计算机可读存储介质,其中存储有计算机程序,所述计算机程序被处理器加载执行时,实现所述的远程视频传输方法。
为实现上述目的及其他相关目的,本发明提供一种电子设备,包括:处理器及存储器;其中,所述存储器用于存储计算机程序;所述处理器用于加载执行所述计算机程序,以使所述电子设备执行所述的远程视频传输方法。
如上所述,本发明的远程视频传输方法、传输装置、存储介质及电子设备,向客户端发送视频帧数据;每隔预设时间接收由所述客户端发送的丢包率及带宽占用;根据所述丢包率及所述带宽占用预测自身当前的带宽,据以调节自身的编码码率;根据所述调节的编码码率发送视频帧数据;从而具有以下有益效果:通过客户端的丢包率和带宽占用预测服务端带宽,进而调整控制服务端的视频发送编码码率、编码帧率,使得视频流在服务端捕获能力、服务端编码能力、服务端网络传输能力、客户端解码渲染能力达到最大平衡,实现视频流的稳定传输及播放。
附图说明
图1显示为本发明一实施例中远程视频传输方法的应用场景示意图。
图2显示为本发明一实施例中远程视频传输方法的流程示意图。
图3显示为本发明一实施例中服务端向客户端发送视频帧数据的流程示意图。
图4显示为本发明一实施例中服务端调节编码帧率、编码码率的流程示意图。
图5显示为本发明一实施例中远程视频传输装置的模块示意图。
图6显示为本发明一实施例中电子设备的结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
如图1所示,服务器2远程向移动终端1提供视频流,移动终端1根据接收的视频流呈现视频内容。具体的,移动终端1为智能手机、平板电脑等电子设备,该客户端是搭载于移动终端1的软件程序,该服务端是搭载于服务器2的软件程序。用户利用安装于移动终端1的客户端远程访问安装于服务器2的服务端,从而获得并播放由服务端提供的视频流。
当服务器2为远程桌面服务器,图1所示场景即为远程桌面连接场景,该远程桌面服务器用于向移动终端1提供远程桌面的视频流,以供移动终端显示远程桌面的画面。在该远程桌面连接场景下,用户对视频的实时性和流畅性要求较高。
服务端捕获能力、服务端编码能力、客户端解码渲染能力、网络传输能力是影响视频帧率的四大要素。服务端捕获能力可以用服务器在平均每秒捕获视频帧的数量表示,一般是在千帧以上,显示器每刷新一次可捕获一帧,显示器不刷新可以通过继续使用上一帧来补帧,如:服务器每秒可以捕获1660帧,而一般捕帧需求为60帧/120帧/144帧。服务器编码能力可以用服务器在平均每秒编码视频帧的数量表示,一般情况是固定的,但远大于需求帧数,如采用Nvidia GTX1060 super显卡的服务器每秒可以编码500-800帧,而一般编码需求为60帧/120帧/144帧。客户端解码渲染能力可以用客户端在平均每秒解码渲染视频帧的数量表示,一般从几帧到几百帧不等。网络传输能力可以用平均每秒传输的字节数衡量,主要受两个参数影响RTT和带宽。以上四大影响因素处于视频流从服务端捕获到客户端播放显示的生命周期,为保证视频尽量有较高的画质,需在后续网络变化情况下不断的进行动态调整。
如图2所示,为了满足用户对远程视频的高要求,本申请提供一种远程视频传输方法,由服务端负责执行,通过预测服务端带宽并智能调节其编码帧率及编码码率,从而使得以上四大影响因素达到最大平衡,实现视频流的稳定传输及播放。所述方法包括以下步骤:
S21:向客户端发送视频帧数据;
S22:每隔预设时间接收由所述客户端发送的丢包率及带宽占用;
S23:根据所述丢包率及所述带宽占用预测自身当前的带宽,据以调节自身的编码码率;
S24:根据所述调节的编码码率发送视频帧数据。
通过步骤S21~S24,本申请能在单次长时间连接的可靠传输下,针对不断变化的网络情况实时地、合理地调节并控制视频流编码传输播放,以在客户端远程访问时实现较好的视频清晰度与视频流畅度。
以下将结合实施例对本申请的远程视频传输方法做详细介绍。
如图3所示,在本实施例中远程桌面服务器向智能手机提供远程桌面的视频流,智能手机根据接收的视频流还原并显示远程桌面。
服务端向客户端发送视频帧数据的过程如下:
S31:客户端与服务端通过互发数据包确认RTT及RTO,客户端将RTO返回服务端。
其中,RTT(Round-Trip Time,即往返时延)表示数据从发送端发送完(最后一个比特推送到数据链路上)开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认)总共经历的时间。RTO(Retransmission Timeout,即重传超时时间)用于可靠网络传输,是对连续一段时间的RTT统计分析预测得到的结果。
具体的,客户端每秒定时向服务端发送一个心跳包,服务端接收到该心跳包之后立马回复该心跳包,客户端每收到一次回复后会统计一段时间内(例如5s作为统计周期)的RTT,并使用相应的算法(如滑动平均法)预估RTO,然后在发送下一个心跳包的时候把当前的RTO同步发送给服务端。
S32:服务端根据RTO确定初始捕获编码发送频率。
具体的,服务端接收到客户端发送的RTO后根据当前RTO计算出缓冲帧数并设置视频缓存区,例如:缓存区大小S=RTO/(1000/fps)+3(1000为1000毫秒,3是误差补偿,根据实际测算得出),fps数值为需求帧率,一般预设为60。服务端根据S值和自身编码能力确定初始捕获编码发送频率,从而按初始捕获编码发送频率向客户端发送视频帧数据。
S33:服务端向客户端发送视频帧。
具体的,一段连续的视频由一组连续的静态画面组成,这些静态画面被称为视频帧。服务端在每向客户端发送一帧视频数据时,将所述一帧视频数据同时存入所述视频缓存区,并等待所述客户端的回复。若客户端的回复为成功接收,服务端则清空所述视频缓存区中的所述一帧视频数据;若没有收到客户端成功接收的回复,服务端则将所述一帧视频数据重新发送至客户端。
S34:客户端接收视频帧并回复服务端。
具体的,客户端每接收到一帧视频数据后,回复ack(确认字符)给服务端。若因丢包致使客户端接收的帧数据包不完整或客户端解码能力不足致使客户端缓存区占满无法接收新帧数据,则不回复ack给服务端,以使服务端对此帧视频数据重传。
S35:服务端调节捕获编码发送频率。
具体的,当视频帧进入视频缓存区的帧数大于S时(客户端编码能力不足或丢包严重导致服务端不断重传当前视频帧数据),服务端降低捕获编码发送频率,以按照降低后的捕获编码发送频率向客户端发送视频帧数据;或者,服务端停止捕获新的视频帧数据。
参阅图4,在以上视频帧数据的传输过程中,客户端与服务端之前还进行如下交互:
S41:客户端每隔预设时间向服务端发送自己的丢包率、带宽占用、解码渲染能力。
以预设时间为1s为例,客户端计算每秒接收到的数据包字节数(即带宽)和丢包数,统计每秒平均丢包率以及占用带宽,并统计每秒的解码渲染能力,发送至服务端。较佳的,为避免客户端与服务端间信息交互的繁乱,客户端将丢包率、带宽占用、解码渲染能力置于心跳包中,同RTO一起发送至服务端。
S42:服务端根据接收的解码渲染能力调节自己的编码帧率,根据接收的丢包率、带宽占用调节自己的编码码率。
具体的,服务端在接收客户端的解码渲染能力之后,与自身当前的编码帧率与客户端的解码渲染能力进行比对,按照这二者中的最小值调节自身的编码帧率,也即:若服务端自身当前的编码帧率比客户端的解码渲染能力小,则保持当前的编码帧率不变;若服务端自身当前的编码帧率比客户端的解码渲染能力大,则将当前的编码帧率调整至该解码渲染能力的值。
需说明的是,由于客户端的解码渲染能力基本不会发生太大的变化,所以客户端可以只将丢包率、带宽占用发送至服务端。
具体的,服务端根据接收的客户端丢包率及带宽占用,预测自身当前的带宽,据以调节自身的编码码率。
需要说明的是,服务端中预设有调节编码码率的规则,该规则的核心思想为:预测得到的自身带宽值越高,对应的调整策略的调整粒度越细,每种调整策略会随客户端丢包率的减小而提高自身的编码码率(提高客户端画质),随客户端丢包率的增大而降低编码码率(降低客户端画质)。
举例而言,假设带宽的范围在2Mbps至40Mbps之间,以20Mbps作为档位分界线,2Mbps~20Mbps设为低档,20Mbps~40Mbps设为高档。若当前预测带宽的比特率属于低档级别,则对应采用激进策略,包括:若客户端连续两个周期丢包率小于2%,则增加一档编码码率,如增加3Mbps;若客户端的丢包率在2%-8%之间,则保持当前的编码码率不变;若客户端的丢包率大于8%,则减小一档编码码率,如减小1Mbps。若当前预测带宽的比特率属于高档级别,则对应采用保守策略,包括:若客户端连续两个周期丢包率为0,则增加一档编码码率,如增加1Mbps;若客户端的丢包率在0-5%之间时,则保持当前的编码码率不变;若客户端的丢包率大于5%时,则减小一档编码码率,如减小3Mbps。需补充说明的是,假设以3秒为一个统计周期,减档需观察一个周期,即1秒,加档需观察两个周期,即2秒。
S43:服务端按照调节后的码率发送后续的视频帧数据。
实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。基于这样的理解,本发明还提供一种计算机程序产品,包括一个或多个计算机指令。所述计算机指令可以存储在计算机可读存储介质中。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如:软盘、硬盘、磁带)、光介质(如:DVD)、或者半导体介质(如:固态硬盘Solid State Disk(SSD))等。
参阅图5,本实施例提供一种远程视频传输装置50,由于本实施例的技术原理与前述方法实施例的技术原理相似,因而不再对同样的技术细节做重复性赘述。本实施例的装置50包括如下模块:
视频帧数据发送模块51,用于向客户端发送视频帧数据。
具体的,视频帧数据发送模块51按初始捕获编码发送频率向所述客户端发送视频帧数据;当所述视频缓存区的视频缓冲帧的数量超过所述视频缓存区的容量时,降低捕获编码发送频率,以按照降低后的捕获编码发送频率向所述客户端发送视频帧数据;或者,停止捕获视频帧数据。
具体的,视频帧数据发送模块51在每发送一帧视频数据时,将所述一帧视频数据存入所述视频缓存区,并等待所述客户端的回复;接收由所述客户端发送的回复;其中,若所述回复为成功接收,则清空所述视频缓存区中的所述一帧视频数据;若未接收所述成功接收的回复,则将所述一帧视频数据重新发送至所述客户端。
客户端信息接收模块52,用于每隔预设时间接收由所述客户端发送的丢包率及带宽占用。
可选的,客户端信息接收模块52还用于每隔预设时间接收由所述客户端发送的丢包率、带宽占用以及客户端的解码渲染能力。所述装置50还包括编码帧率调节模块53,用于对比自身当前的编码帧率与所述解码渲染能力,按照这二者中的最小值调节自身的编码帧率。
编码码率调节模块54,用于根据所述丢包率及所述带宽占用预测自身当前的带宽,据以调节自身的编码码率来调节客户端呈现的视频画质。
具体的,编码码率调节模块54判断当前带宽所对应的预设比特率档位;查找与所述预设比特率档位对应的预设调整策略,并根据所述预设调整策略调节自身编码码率。
视频帧数据发送模块51,还用于根据编码码率调节模块54调节的编码码率发送视频帧数据。
本领域技术人员应当理解,图5实施例中的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个或多个物理实体上。且这些模块可以全部以软件通过处理元件调用的形式实现,也可以全部以硬件的形式实现,还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。
参阅图6,本实施例提供一种电子设备,电子设备可以是台式机、便携式电脑、智能手机等设备。详细的,电子设备至少包括通过总线连接的:存储器、处理器,其中,存储器用于存储计算机程序,处理器用于执行存储器存储的计算机程序,以执行前述方法实施例中的全部或部分步骤。
上述提到的系统总线可以是外设部件互连标准(Peripheral PomponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
综上,本发明的远程视频传输方法、传输装置、存储介质及电子设备,能根据不断变化的网络情况实时地、合理地调节并控制视频流编码传输播放,以在客户端远程访问时实现较好的视频清晰度与视频流畅度,有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (8)
1.一种远程视频传输方法,其特征在于,应用于服务端;所述方法包括:
向客户端发送视频帧数据;
每隔预设时间接收由所述客户端发送的丢包率及带宽占用;所述丢包率及带宽占用设置于心跳包中;
根据所述丢包率及所述带宽占用预测自身当前的带宽,判断当前带宽所对应的预设比特率档位;查找与所述预设比特率档位对应的预设调整策略,并根据所述预设调整策略调节自身编码码率;所述预设调整策略的规则包括:随丢包率的减小而提高码率,随丢包率的增大而降低码率;其中,所述预设比特率档位越高,其对应的预设调整策略的调整粒度越细;
根据所述调节的编码码率发送视频帧数据。
2.根据权利要求1所述的方法,其特征在于,所述向客户端发送视频帧数据的步骤包括:
按初始捕获编码发送频率向所述客户端发送视频帧数据;其中,获得所述初始捕获编码发送频率的步骤包括:
获取由所述客户端发送的重传超时时间;
根据所述重传超时时间计算视频缓存区大小,并据以设置视频缓存区;
根据所述视频缓存区大小和自身编码能力确定所述初始捕获编码发送频率。
3.根据权利要求2所述的方法,其特征在于,所述向客户端发送视频帧数据的步骤还包括:
当所述视频缓存区的视频缓冲帧的数量超过所述视频缓存区的容量时,降低捕获编码发送频率,以按照降低后的捕获编码发送频率向所述客户端发送视频帧数据;或者,停止捕获视频帧数据。
4.根据权利要求1或2所述的方法,其特征在于,所述向客户端发送视频帧数据的步骤还包括:
在每发送一帧视频数据时,将所述一帧视频数据存入所述视频缓存区,并等待所述客户端的回复;
接收由所述客户端发送的回复;其中,若所述回复为成功接收,则清空所述视频缓存区中的所述一帧视频数据;若未接收所述成功接收的回复,则将所述一帧视频数据重新发送至所述客户端。
5.根据权利要求1所述的方法,其特征在于,还包括:
接收由所述客户端发送的解码渲染能力;
对比自身当前的编码帧率与所述解码渲染能力,按照这二者中的最小值调节自身的编码帧率。
6.一种远程视频传输装置,其特征在于,包括:
视频帧数据发送模块,用于向客户端发送视频帧数据;
客户端信息接收模块,用于每隔预设时间接收由所述客户端发送的丢包率及带宽占用;所述丢包率及带宽占用设置于心跳包中;
编码码率调节模块,用于根据所述丢包率及所述带宽占用预测自身当前的带宽,判断当前带宽所对应的预设比特率档位;查找与所述预设比特率档位对应的预设调整策略,并根据所述预设调整策略调节自身编码码率;所述预设调整策略的规则包括:随丢包率的减小而提高码率,随丢包率的增大而降低码率;其中,所述预设比特率档位越高,其对应的预设调整策略的调整粒度越细;
所述视频帧数据发送模块,还用于根据所述编码码率调节模块调节的编码码率发送视频帧数据。
7.一种计算机可读存储介质,其中存储有计算机程序,其特征在于,所述计算机程序被处理器加载执行时,实现如权利要求1至5中任一所述的远程视频传输方法。
8.一种电子设备,其特征在于,包括:处理器及存储器;其中,
所述存储器用于存储计算机程序;
所述处理器用于加载执行所述计算机程序,以使所述电子设备执行如权利要求1至5中任一所述的远程视频传输方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110292751.5A CN113747194B (zh) | 2021-03-18 | 2021-03-18 | 远程视频传输方法、传输装置、存储介质及电子设备 |
PCT/CN2022/080907 WO2022194140A1 (zh) | 2021-03-18 | 2022-03-15 | 远程视频传输方法、传输装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110292751.5A CN113747194B (zh) | 2021-03-18 | 2021-03-18 | 远程视频传输方法、传输装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113747194A CN113747194A (zh) | 2021-12-03 |
CN113747194B true CN113747194B (zh) | 2023-04-07 |
Family
ID=78728245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110292751.5A Active CN113747194B (zh) | 2021-03-18 | 2021-03-18 | 远程视频传输方法、传输装置、存储介质及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113747194B (zh) |
WO (1) | WO2022194140A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113747194B (zh) * | 2021-03-18 | 2023-04-07 | 上海达龙信息科技有限公司 | 远程视频传输方法、传输装置、存储介质及电子设备 |
CN114222169B (zh) * | 2021-12-14 | 2023-10-20 | 咪咕互动娱乐有限公司 | 一种视频流传输方法、通信设备及计算机可读存储介质 |
CN113992987B (zh) * | 2021-12-27 | 2022-07-22 | 北京蔚领时代科技有限公司 | 一种适用于云游戏场景的智能码率调节系统及方法 |
CN115150638A (zh) * | 2022-06-29 | 2022-10-04 | 深信服科技股份有限公司 | 一种基于云桌面的数据传输方法、装置、设备及存储介质 |
CN115278289B (zh) * | 2022-09-27 | 2023-01-20 | 海马云(天津)信息技术有限公司 | 一种云应用渲染视频帧处理方法与装置 |
CN115834918A (zh) * | 2022-11-17 | 2023-03-21 | 深圳创维-Rgb电子有限公司 | 视频直播方法、装置、电子设备及可读存储介质 |
CN116320612B (zh) * | 2023-05-19 | 2023-08-04 | 北京大学 | 一种视频数据传输系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111615006A (zh) * | 2020-05-29 | 2020-09-01 | 高小翎 | 基于网络状态自评估的视频编码转换传输控制系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047845A (zh) * | 2006-03-29 | 2007-10-03 | 腾讯科技(深圳)有限公司 | 一种调节视频通讯数据码率的装置和方法 |
CN106488175A (zh) * | 2015-08-26 | 2017-03-08 | 重庆西线科技有限公司 | 一种视频传输方法 |
CN105100675B (zh) * | 2015-09-11 | 2019-07-09 | Tcl集团股份有限公司 | 一种终端视频通信的质量调节方法及系统 |
US20170094301A1 (en) * | 2015-09-28 | 2017-03-30 | Cybrook Inc. | Initial Bandwidth Estimation For Real-time Video Transmission |
CN106488265A (zh) * | 2016-10-12 | 2017-03-08 | 广州酷狗计算机科技有限公司 | 一种发送媒体流的方法和装置 |
CN106588175A (zh) * | 2016-11-15 | 2017-04-26 | 陈景河 | 对虾养殖生态肥水膏 |
US10349059B1 (en) * | 2018-07-17 | 2019-07-09 | Wowza Media Systems, LLC | Adjusting encoding frame size based on available network bandwidth |
CN111836079B (zh) * | 2019-04-18 | 2022-09-02 | 杭州海康威视数字技术股份有限公司 | 一种视频码流的传输方法及装置 |
CN110290402B (zh) * | 2019-07-31 | 2021-11-05 | 腾讯科技(深圳)有限公司 | 一种视频码率调整方法、装置、服务器及存储介质 |
CN113747194B (zh) * | 2021-03-18 | 2023-04-07 | 上海达龙信息科技有限公司 | 远程视频传输方法、传输装置、存储介质及电子设备 |
-
2021
- 2021-03-18 CN CN202110292751.5A patent/CN113747194B/zh active Active
-
2022
- 2022-03-15 WO PCT/CN2022/080907 patent/WO2022194140A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111615006A (zh) * | 2020-05-29 | 2020-09-01 | 高小翎 | 基于网络状态自评估的视频编码转换传输控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113747194A (zh) | 2021-12-03 |
WO2022194140A1 (zh) | 2022-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113747194B (zh) | 远程视频传输方法、传输装置、存储介质及电子设备 | |
CN109600610B (zh) | 一种数据编码方法、终端及计算机可读存储介质 | |
CN111628847B (zh) | 数据传输方法及装置 | |
US11109038B2 (en) | Intra-coded frame rate allocation method, computer device and storage medium | |
WO2019154221A1 (zh) | 发送流数据的方法及数据发送设备 | |
US20140032735A1 (en) | Adaptive rate of screen capture in screen sharing | |
CN113037697B (zh) | 一种视频帧处理方法、装置和电子设备及可读存储介质 | |
CN113992967B (zh) | 一种投屏数据传输方法、装置、电子设备及存储介质 | |
US8842159B2 (en) | Encoding processing for conferencing systems | |
CN108347580B (zh) | 一种处理视频帧数据的方法及电子设备 | |
CN111225209A (zh) | 视频数据推流方法、装置、终端及存储介质 | |
EP1187460A2 (en) | Image transmitting method and apparatus and image receiving method and apparatus | |
CN112866746A (zh) | 一种多路串流云游戏控制方法、装置、设备及存储介质 | |
CN111617466A (zh) | 编码格式的确定方法、装置及云游戏的实现方法 | |
CN113973224B (zh) | 媒体信息的传输方法、计算设备及存储介质 | |
CN112929704B (zh) | 数据传输方法、装置、电子设备以及存储介质 | |
JP2014075735A (ja) | 画像処理装置および画像処理方法 | |
CN112584228A (zh) | 一种基于web的低延迟投屏方法及系统 | |
CN116962613A (zh) | 数据传输方法及装置、计算机设备、存储介质 | |
US20220239920A1 (en) | Video processing method, related apparatus, storage medium, and program product | |
CN115767149A (zh) | 一种视频数据的传输方法和装置 | |
CN112261354B (zh) | 基于多个网络摄像机的数据传输方法及相关装置 | |
CN113207011A (zh) | 一种短视频处理用预加载方法 | |
CN112737971B (zh) | 数据处理方法、装置、存储介质及网络设备 | |
JP2018514133A (ja) | データ処理方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |