CN115174917A - 一种基于h264的视频显示方法及装置 - Google Patents
一种基于h264的视频显示方法及装置 Download PDFInfo
- Publication number
- CN115174917A CN115174917A CN202210762650.4A CN202210762650A CN115174917A CN 115174917 A CN115174917 A CN 115174917A CN 202210762650 A CN202210762650 A CN 202210762650A CN 115174917 A CN115174917 A CN 115174917A
- Authority
- CN
- China
- Prior art keywords
- video stream
- frame rate
- target image
- target
- server
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请提供了一种基于H264的视频显示方法及装置,可应用于云计算技术领域或桌面虚拟化技术领域。本申请提供的一种基于H264的视频显示方法通过访问帧缓冲区获取目标图像,采用这种直接获取图像的方式,区别于现有技术中SPICE协议自发的识别图像及视频区域,避免了出现误判的问题;通过先对所述目标图像进行YUV格式编码,再对所述目标图像进行H264格式编码,实现了视频流的编码流畅;通过对目标图像构建的视频流进行帧率控制,避免了过高的带宽消耗,实现了视频流的播放流畅;如此,可以避免现有技术中云桌面图像卡顿模糊、网络带宽要求较高的问题。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及一种基于H264的视频显示方法及装置。
背景技术
随着计算机、通信和信息技术的迅速发展和广泛应用,人类正在进入信息化社会,世界各地的人们通过建立网络,相互间可以自由而廉价地利用别人的资源,实现相互间不同地域、不同时间的资源共享,也就是信息共享,信息交流极其便捷,因而网络获得了空前的大发展,远程桌面传输也得到了普遍使用。
类似于独立计算环境简单协议(SPICE协议)的远程桌面传输协议为了尽可能的让用户体验到和本地操作系统一样的效果,达到相同远程服务端桌面同步同质量的理想效果,现有技术中通常会采用两种图像传输方式:一种是发送服务端桌面的屏幕图像,通过对图像数据采用一定的压缩方式和指定协议的传输方式发送到客户端,客户端再通过解压缩来显示服务端的屏幕图像;另一种方式是将服务端屏幕的绘制事件转换成一种通用的命令,然后将此命令传输到客户端,客户端通过命令完成服务端屏幕图像的绘制事件从而达到服务端屏幕图像在本地的显示。
在现有的SPICE协议中,图像画面主要通过无损图像压缩方式,将虚拟机桌面变化区域以压缩后图像的方式发送至客户端,再由客户端解码显示,或者发送绘制指令到客户端由客户端自行绘制。SPICE协议同时也会自发的识别视频区域并将区域内图像编码视频流发送。
但是现有技术中SPICE协议对图形块的分析算法一方面可能会出现文字编辑或多窗口视频等场景产生误判的问题,从而导致显示的云桌面图像卡顿模糊;另一方面存在要求网络带宽较高的问题。
发明内容
有鉴于此,本申请实施例提供了一种基于H264的视频显示方法及装置,旨在解决现有技术中显示云桌面图像卡顿模糊、网络带宽消耗高的问题。
第一方面,本申请实施例提供了一种基于H264的视频显示方法,所述方法包括:
响应于图像更新指令,访问帧缓冲区获取目标图像;
对由所述目标图像构建的视频流进行帧率控制,使得所述视频流的帧率在预设范围内;
对所述目标图像进行YUV格式编码;
对所述目标图像进行H264格式编码;
对所述目标图像进行打包,得到目标数据;
将所述目标数据发送至客户端,以供所述客户端对所述目标数据进行解码得到目标视频并进行视频显示。
可选的,所述对由所述目标图像构建的视频流进行帧率控制,使得所述视频流的帧率在预设范围内,具体包括:
若服务端生成所述目标图像的帧率大于第一阈值,则进行丢帧处理,使得所述服务端生成所述目标图像构建的视频流的帧率不大于所述第一阈值。
可选的,所述对由所述目标图像构建的视频流进行帧率控制,使得所述视频流的帧率在预设范围内,具体包括:
若服务端生成所述目标图像的帧率大于客户端实际帧率,则降低所述服务端生成所述目标图像的帧率,使得所述服务端生成所述目标图像构建的视频流的帧率不大于所述客户端实际帧率。
可选的,所述对由所述目标图像构建的视频流进行帧率控制,使得所述视频流的帧率在预设范围内,具体包括:
若所述视频流消耗的带宽小于第二阈值,则提高所述视频流的帧率;
若所述视频流消耗的带宽大于所述第二阈值,则降低所述视频流的帧率;使得所述视频流的帧率在预设范围内。
可选的,若目标网络带宽大于所述视频流消耗的带宽,所述方法还包括:
若所述视频流的帧率大于第三阈值,则增加所述视频流的码率;
若所述视频流的帧率小于所述第三阈值,则降低所述视频流的码率;所述目标网络带宽为所述服务端与所述客户端进行网络通信使用的网络的带宽。
第二方面,本申请实施例提供了一种基于H264的视频显示装置,所述装置包括:图像获取模块、控制模块、编码模块、打包模块、发送模块;
所述图像获取模块,用于响应于图像更新指令,访问帧缓冲区获取目标图像;
所述控制模块,用于对由所述目标图像构建的视频流进行帧率控制,使得所述视频流的帧率在预设范围内;
所述编码模块,用于对所述目标图像进行YUV格式编码;对所述目标图像进行H264格式编码;
所述打包模块,用于对所述目标图像进行打包,得到目标数据;
所述发送模块,用于将所述目标数据发送至客户端,以供所述客户端对所述目标数据进行解码得到目标视频并进行视频显示。
可选的,所述控制模块具体用于:
若服务端生成所述目标图像的帧率大于第一阈值,则进行丢帧处理,使得所述服务端生成所述目标图像构建的视频流的帧率不大于所述第一阈值。
可选的,所述控制模块具体用于:
若服务端生成所述目标图像的帧率大于客户端实际帧率,则降低所述服务端生成所述目标图像的帧率,使得所述服务端生成所述目标图像构建的视频流的帧率不大于所述客户端实际帧率。
可选的,所述控制模块具体用于:
若所述视频流消耗的带宽小于第二阈值,则提高所述视频流的帧率;
若所述视频流消耗的带宽大于所述第二阈值,则降低所述视频流的帧率;使得所述视频流的帧率在预设范围内。
可选的,若目标网络带宽大于所述视频流消耗的带宽,所述控制模块还用于:
若所述视频流的帧率大于第三阈值,则增加所述视频流的码率;
若所述视频流的帧率小于所述第三阈值,则降低所述视频流的码率;所述目标网络带宽为所述服务端与所述客户端进行网络通信使用的网络的带宽。
本申请实施例提供了一种基于H264的视频显示方法。在执行所述方法时,先响应于图像更新指令,访问帧缓冲区获取目标图像;再对由所述目标图像构建的视频流进行帧率控制,使得所述视频流的帧率在预设范围内;然后先对所述目标图像进行YUV格式编码;再对所述目标图像进行H264格式编码;之后对所述目标图像进行打包,得到目标数据;最后将所述目标数据发送至客户端,以供所述客户端对所述目标数据进行解码得到目标视频并进行视频显示。这样,通过访问帧缓冲区获取目标图像,采用这种直接获取图像的方式,区别于现有技术中SPICE协议自发的识别图像及视频区域,避免了出现误判的问题;通过先对所述目标图像进行YUV格式编码,再对所述目标图像进行H264格式编码,实现了视频流的编码流畅;通过对目标图像构建的视频流进行帧率控制,避免了过高的带宽消耗,实现了视频流的播放流畅;如此,可以避免现有技术中云桌面图像卡顿模糊、网络带宽要求较高的问题。
附图说明
为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的服务端将图像构建的视频流传输至客户端的指令流示意图;
图2为本申请实施例提供的一种基于H264的视频显示方法的方法流程图;
图3为本申请实施例提供的SPICE服务端的结构图;
图4为本申请实施例提供的一种基于H264的视频显示装置的结构示意图。
具体实施方式
随着计算机、通信和信息技术的迅速发展和广泛应用,人类正在进入信息化社会,世界各地的人们通过建立网络,相互间可以自由而廉价地利用别人的资源,实现相互间不同地域、不同时间的资源共享,也就是信息共享,信息交流极其便捷,因而网络获得了空前的大发展,远程桌面传输也得到了普遍使用。
类似于独立计算环境简单协议(SPICE协议)的远程桌面传输协议为了尽可能的让用户体验到和本地操作系统一样的效果,达到相同远程服务端桌面同步同质量的理想效果,现有技术中通常会采用两种图像传输方式:一种是发送服务端桌面的屏幕图像,通过对图像数据采用一定的压缩方式和指定协议的传输方式发送到客户端,客户端再通过解压缩来显示服务端的屏幕图像;另一种方式是将服务端屏幕的绘制事件转换成一种通用的命令,然后将此命令传输到客户端,客户端通过命令完成服务端屏幕图像的绘制事件从而达到服务端屏幕图像在本地的显示。
在现有的SPICE协议中,图像画面主要通过无损图像压缩方式,将虚拟机桌面变化区域以压缩后图像的方式发送至客户端,再由客户端解码显示,或者发送绘制指令到客户端由客户端自行绘制。SPICE协议同时也会自发的识别视频区域并将区域内图像编码视频流发送。
一方面,由于SPICE协议自发的识别视频区域,会将更新频率较快的矩形区域识别为视频区域,对识别出的视频区域SPICE采用MJPEG有损压缩的算法进行压缩,但导致在文字编辑和多窗口视频等场景下会产生误判,使得显示的图像卡顿模糊。
另一方面,由于SPICE中将图形与视频流合并处理,仅对部分区域的有损压缩,导致相对保证了图像质量但大大提高了网络带宽,例如,720P的视频播放要求网络带宽达到100Mbps左右。
有鉴于此,本申请的发明人经过研究提出构想,如果直接获取图像代替自动识别,便可以避免误判事件发生;另外如果对图像构建的视频流使用YUV编码格式与H264编码格式便可以实现视频编码流畅;至于现有技术中消耗较大网络带宽的问题可以对视频流进行帧率控制,可以在实现视频播放流畅的同时减少带宽消耗。故提出本申请的方案,具体方案如下:
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,图1为本申请实施例提供的服务端将图像构建的视频流传输至客户端的指令流示意图,图形命令数据流由请求执行GDI或X引擎的用户应用开始,GDI或X引擎为操作系统中的图形引擎。图形引擎将图形命令传递给QXL驱动程序,该驱动将操作系统命令转换为QXL命令并将它们推送到命令环中;QXL设备是硬件,QXL驱动程序是用于连接操作系统与硬件设备的软件。命令环在虚机外的服务端设备内存中,SPICE从环中提取命令并将他们添加到图形命令树中,图形命令树同时维护要发送到客户端的命令队列,用于更新图像,当从队列中拉出命令以传输到客户端时,命令会被转换为SPICE协议消息。当SPICE不需要某个命令时,命令会被推送到释放环中,驱动程序根据释放环来释放对应的资源。
参见图2,图2为本申请实施例提供的一种基于H264的视频显示方法的方法流程图,包括:
S201、响应于图像更新指令,访问帧缓冲区获取目标图像。
首先需要等待QXL指令环中图像绘制指令,得到图像绘制指令后完成图像绘制,然后再发出图像更新指令,得到图像更新指令后访问帧缓冲区得到当前的RGB图像,当前的RGB图像即为目标图像。这样直接访问帧缓冲区得到RGB图像,不需要识别图像,从而避免了识别错误的发生。
S202、对由所述目标图像构建的视频流进行帧率控制,使得所述视频流的帧率在预设范围内。
对目标图像构建的视频流进行帧率控制可以采取多种方式,例如首先设置图像绘制更新的最高频率,也就是所说的第一阈值,具体取值可以采用默认值也可以由用户自行决定。然后判断服务端生成目标图像的帧率是否大于第一阈值,例如,可以判断图像绘制更新的频率是否大于第一阈值,如果大于,便可以根据第一阈值限制,对距离上次发出帧时间较近的帧进行丢帧处理,以此达到帧率限制。
也可以判断服务端生成图像的帧率与客户端实际帧率的大小关系,如果服务端生成图像的帧率大于客户端实际帧率,就降低服务端生成图像的帧率,以满足服务端生成图像的帧率不大于客户端实际帧率。
同样也可以预先设置最高网络带宽值为第二阈值,然后判断视频流消耗的带宽与最高网络带宽值的大小关系,如果当前视频流消耗的带宽小于最高网络带宽值,就可以提高视频流的帧率,提高后视频流消耗的帧率不能超过最高网络带宽值;如果当前视频流消耗的带宽大于最高网络带宽值,就可以降低视频流的帧率。降低后视频流消耗的带宽小于最高网络带宽值。
还可以判断视频流消耗的带宽与服务器与客户端网络连接使用的带宽的大小关系,如果当前视频流消耗的带宽小于服务器与客户端网络连接使用的带宽值,就可以提高视频流的帧率,提高后视频流消耗的带宽不能超过服务器与客户端网络连接使用的带宽值;如果当前视频流消耗的带宽大于服务器与客户端网络连接使用的带宽值,就可以降低视频流的帧率,降低后视频流消耗的带宽不能超过服务器与客户端网络连接使用的带宽值。例如,在固定服务器与客户端设备中,以播放1080P 30FPS的本地视频作为测试方法,与原有技术对比,可有效的将视频帧率从10FPS提升至25FPS,并将120Mbps的带宽消耗降低至10Mbps。
或者,可以进行动态帧率控制,对当前的帧率和网络带宽消耗进行实时统计。例如,在网络带宽充裕,可以判断视频流帧率与预设值的大小,预设值可以由客户根据需要进行设计,例如设为第三阈值,如果视频流帧率大于第三阈值,就可以增加视频流码率;在网络带宽充裕,如果视频流帧率小于第三阈值,就可以降低视频流码率,加快编码时间,保证视频流畅。
通过上述一系列判断,目的是保证用户的使用体验。
S203、对所述目标图像进行YUV格式编码。
在帧率控制后,确定需要发送图像后,对图像进行YUV格式编码。后再进行H264格式编码
S204、对所述目标图像进行H264格式编码。
对图像进行YUV格式编码后再进行H264格式编码。
S205、对所述目标图像进行打包,得到目标数据。
对图像编码完成之后,对目标图像进行打包得到包装数据,这个包装数据也就是目标数据。
S206、将所述目标数据发送至客户端,以供所述客户端对所述目标数据进行解码得到目标视频并进行视频显示。
将目标数据发送至客户端,由客户端解码得到目标视频,并对目标视频进行显示。这里的目标视频是指由服务端传输的当前图像编码解码后得到的视频。
本申请实施例提供了一种基于H264的视频显示方法。在执行所述方法时,先响应于图像更新指令,访问帧缓冲区获取目标图像;再对由所述目标图像构建的视频流进行帧率控制,使得所述视频流的帧率在预设范围内;然后先对所述目标图像进行YUV格式编码;再对所述目标图像进行H264格式编码;之后对所述目标图像进行打包,得到目标数据;最后将所述目标数据发送至客户端,以供所述客户端对所述目标数据进行解码得到目标视频并进行视频显示。这样,通过访问帧缓冲区获取目标图像,采用这种直接获取图像的方式,区别于现有技术中SPICE协议自发的识别图像及视频区域,避免了出现误判的问题;通过先对所述目标图像进行YUV格式编码,再对所述目标图像进行H264格式编码,实现了视频流的编码流畅;通过对目标图像构建的视频流进行帧率控制,避免了过高的带宽消耗,实现了视频流的播放流畅;如此,可以避免现有技术中云桌面图像卡顿模糊、网络带宽要求较高的问题。
本申请可选的实施例,参见图3,图3为本申请实施例提供的SPICE服务端的结构图,在该图中可以看到SPICE作为QEMU的一个可插拔动态库,一方面通过QEMU提供的接口与QEMU进行硬件交互,一方面通过多个通道与客户端进行通信。图中的Red分发器用于获取QXL接口的数据,判断数据类型之后分发给不同的通道进行后续的数据处理,图示的就是显示通道和指针通道。在SPICE中每个通道都是独立的TCP连接,但对于多数情况,多个通道对应的是同一个物理网络出口,其中显示通道占的网络带宽通常为最大的。所以为了保证用户的交互体验,本申请实施例在帧率控制中考虑网络带宽的限制,当达到最大的带宽限制时以降低视频流码率或视频流帧率的方式来保证带宽的低消耗。
以上为本申请实施例提供一种基于H264的视频显示方法的一些具体实现方式,基于此,本申请还提供了对应的一种基于H264的视频显示装置。下面将从功能模块化的角度对本申请实施例提供的装置进行介绍。
参见图4,图4为本申请实施例提供的一种基于H264的视频显示装置的结构示意图,该装置包括图像获取模块401、控制模块402、编码模块403、打包模块404、发送模块405;
所述图像获取模块401,用于响应于图像更新指令,访问帧缓冲区获取目标图像;
所述控制模块402,用于对由所述目标图像构建的视频流进行帧率控制,使得所述视频流的帧率在预设范围内;
所述编码模块403,用于对所述目标图像进行YUV格式编码;对所述目标图像进行H264格式编码;
所述打包模块404,用于对所述目标图像进行打包,得到目标数据;
所述发送模块405,用于将所述目标数据发送至客户端,以供所述客户端对所述目标数据进行解码得到目标视频并进行视频显示。
本申请实施例提供了一种基于H264的视频显示装置,用于执行对应的一种基于H264的视频显示方法。在执行所述方法时,先响应于图像更新指令,访问帧缓冲区获取目标图像;再对由所述目标图像构建的视频流进行帧率控制,使得所述视频流的帧率在预设范围内;然后先对所述目标图像进行YUV格式编码;再对所述目标图像进行H264格式编码;之后对所述目标图像进行打包,得到目标数据;最后将所述目标数据发送至客户端,以供所述客户端对所述目标数据进行解码得到目标视频并进行视频显示。这样,通过访问帧缓冲区获取目标图像,采用这种直接获取图像的方式,区别于现有技术中SPICE协议自发的识别图像及视频区域,避免了出现误判的问题;通过先对所述目标图像进行YUV格式编码,再对所述目标图像进行H264格式编码,实现了视频流的编码流畅;通过对目标图像构建的视频流进行帧率控制,避免了过高的带宽消耗,实现了视频流的播放流畅;如此,可以避免现有技术中云桌面图像卡顿模糊、网络带宽要求较高的问题。
进一步地,所述控制模块402具体用于:
若服务端生成所述目标图像的帧率大于第一阈值,则进行丢帧处理,使得所述服务端生成所述目标图像构建的视频流的帧率不大于所述第一阈值。
进一步地,所述控制模块402具体用于:
若服务端生成所述目标图像的帧率大于客户端实际帧率,则降低所述服务端生成所述目标图像的帧率,使得所述服务端生成所述目标图像构建的视频流的帧率不大于所述客户端实际帧率。
进一步地,所述控制模块402具体用于:
若所述视频流消耗的带宽小于第二阈值,则提高所述视频流的帧率;
若所述视频流消耗的带宽大于所述第二阈值,则降低所述视频流的帧率;使得所述视频流的帧率在预设范围内。
进一步地,若目标网络带宽大于所述视频流消耗的带宽,所述控制模块402还用于:
若所述视频流的帧率大于第三阈值,则增加所述视频流的码率;
若所述视频流的帧率小于所述第三阈值,则降低所述视频流的码率;所述目标网络带宽为所述服务端与所述客户端进行网络通信使用的网络的带宽。
本申请实施例中提到的“第一阈值”、“第二阈值”等名称中的“第一”、“第二”只是用来做名字标识,并不代表顺序上的第一、第二。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请示例性的实施方式,并非用于限定本申请的保护范围。
Claims (10)
1.一种基于H264的视频显示方法,其特征在于,所述方法包括:
响应于图像更新指令,访问帧缓冲区获取目标图像;
对由所述目标图像构建的视频流进行帧率控制,使得所述视频流的帧率在预设范围内;
对所述目标图像进行YUV格式编码;
对所述目标图像进行H264格式编码;
对所述目标图像进行打包,得到目标数据;
将所述目标数据发送至客户端,以供所述客户端对所述目标数据进行解码得到目标视频并进行视频显示。
2.根据权利要求1所述的方法,其特征在于,所述对由所述目标图像构建的视频流进行帧率控制,使得所述视频流的帧率在预设范围内,具体包括:
若服务端生成所述目标图像的帧率大于第一阈值,则进行丢帧处理,使得所述服务端生成所述目标图像构建的视频流的帧率不大于所述第一阈值。
3.根据权利要求1所述的方法,其特征在于,所述对由所述目标图像构建的视频流进行帧率控制,使得所述视频流的帧率在预设范围内,具体包括:
若服务端生成所述目标图像的帧率大于客户端实际帧率,则降低所述服务端生成所述目标图像的帧率,使得所述服务端生成所述目标图像构建的视频流的帧率不大于所述客户端实际帧率。
4.根据权利要求1所述的方法,其特征在于,所述对由所述目标图像构建的视频流进行帧率控制,使得所述视频流的帧率在预设范围内,具体包括:
若所述视频流消耗的带宽小于第二阈值,则提高所述视频流的帧率;
若所述视频流消耗的带宽大于所述第二阈值,则降低所述视频流的帧率;使得所述视频流的帧率在预设范围内。
5.根据权利要求4所述的方法,其特征在于,若目标网络带宽大于所述视频流消耗的带宽,所述方法还包括:
若所述视频流的帧率大于第三阈值,则增加所述视频流的码率;
若所述视频流的帧率小于所述第三阈值,则降低所述视频流的码率;所述目标网络带宽为所述服务端与所述客户端进行网络通信使用的网络的带宽。
6.一种基于H264的视频显示装置,其特征在于,所述装置包括:图像获取模块、控制模块、编码模块、打包模块、发送模块;
所述图像获取模块,用于响应于图像更新指令,访问帧缓冲区获取目标图像;
所述控制模块,用于对由所述目标图像构建的视频流进行帧率控制,使得所述视频流的帧率在预设范围内;
所述编码模块,用于对所述目标图像进行YUV格式编码;对所述目标图像进行H264格式编码;
所述打包模块,用于对所述目标图像进行打包,得到目标数据;
所述发送模块,用于将所述目标数据发送至客户端,以供所述客户端对所述目标数据进行解码得到目标视频并进行视频显示。
7.根据权利要求6所述的装置,其特征在于,所述控制模块具体用于:
若服务端生成所述目标图像的帧率大于第一阈值,则进行丢帧处理,使得所述服务端生成所述目标图像构建的视频流的帧率不大于所述第一阈值。
8.根据权利要求6所述的装置,其特征在于,所述控制模块具体用于:
若服务端生成所述目标图像的帧率大于客户端实际帧率,则降低所述服务端生成所述目标图像的帧率,使得所述服务端生成所述目标图像构建的视频流的帧率不大于所述客户端实际帧率。
9.根据权利要求6所述的装置,其特征在于,所述控制模块具体用于:
若所述视频流消耗的带宽小于第二阈值,则提高所述视频流的帧率;
若所述视频流消耗的带宽大于所述第二阈值,则降低所述视频流的帧率;使得所述视频流的帧率在预设范围内。
10.根据权利要求9所述的装置,其特征在于,若目标网络带宽大于所述视频流消耗的带宽,所述控制模块还用于:
若所述视频流的帧率大于第三阈值,则增加所述视频流的码率;
若所述视频流的帧率小于所述第三阈值,则降低所述视频流的码率;所述目标网络带宽为所述服务端与所述客户端进行网络通信使用的网络的带宽。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210762650.4A CN115174917A (zh) | 2022-06-30 | 2022-06-30 | 一种基于h264的视频显示方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210762650.4A CN115174917A (zh) | 2022-06-30 | 2022-06-30 | 一种基于h264的视频显示方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115174917A true CN115174917A (zh) | 2022-10-11 |
Family
ID=83488664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210762650.4A Pending CN115174917A (zh) | 2022-06-30 | 2022-06-30 | 一种基于h264的视频显示方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115174917A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115865909A (zh) * | 2023-01-13 | 2023-03-28 | 中科方德软件有限公司 | 一种基于spice协议的数据传输方法、装置和可读存储介质 |
-
2022
- 2022-06-30 CN CN202210762650.4A patent/CN115174917A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115865909A (zh) * | 2023-01-13 | 2023-03-28 | 中科方德软件有限公司 | 一种基于spice协议的数据传输方法、装置和可读存储介质 |
CN115865909B (zh) * | 2023-01-13 | 2023-06-02 | 中科方德软件有限公司 | 一种基于spice协议的数据传输方法、装置和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9146884B2 (en) | Push pull adaptive capture | |
US8166507B2 (en) | Dynamically generating video streams for user interfaces based on device capabilities | |
WO2017219896A1 (zh) | 视频流的传输方法及装置 | |
RU2506715C2 (ru) | Передача изменяющегося визуального контента | |
EP3177024B1 (en) | Apparatus for cloud streaming service | |
US8799405B2 (en) | System and method for efficiently streaming digital video | |
CN114339339A (zh) | 一种显示设备、外接设备及播放模式切换方法 | |
CN110891084A (zh) | 一种基于自主hvdp协议的瘦客户端远程桌面控制系统 | |
CN111343503B (zh) | 视频的转码方法、装置、电子设备及存储介质 | |
CN112601096A (zh) | 视频解码方法、装置、设备及可读存储介质 | |
CN115174917A (zh) | 一种基于h264的视频显示方法及装置 | |
KR101843411B1 (ko) | 클라우드 스트리밍 서비스 시스템, 이미지의 투명도에 기반한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
CN115052043B (zh) | 一种云桌面的视频传输方法、电子设备、装置及介质 | |
KR102232899B1 (ko) | 클라우드 스트리밍 서비스 시스템, 이미지 타입에 따른 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
CN111093091A (zh) | 视频处理方法、服务器及系统 | |
CN114222185B (zh) | 视频播放方法、终端设备及存储介质 | |
US20220239920A1 (en) | Video processing method, related apparatus, storage medium, and program product | |
CN107318021B (zh) | 一种远程显示的数据处理方法及系统 | |
KR20160131827A (ko) | 클라우드 스트리밍 서비스 시스템, 알파 레벨을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
CN115278323A (zh) | 一种显示设备、智能设备和数据处理方法 | |
CN107318020B (zh) | 远程显示的数据处理方法及系统 | |
CN115801747B (zh) | 一种基于arm架构的云服务器及音视频数据传输方法 | |
CN116489132A (zh) | 虚拟桌面数据传输方法、服务器、客户端和存储介质 | |
KR20160043398A (ko) | 클라우드 스트리밍 서비스 시스템, 소스 정보를 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
CN117692680A (zh) | 一种会议视频流控方法、装置及电子设备 |
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 |