一种远端视频显示方法及装置的制造方法

文档序号:9263794阅读:502来源:国知局
一种远端视频显示方法及装置的制造方法
【技术领域】
[0001]本发明涉及多媒体技术领域,尤其涉及一种远端视频显示方法及装置。
【背景技术】
[0002]目前Windows平台上实现录屏后实时发送到远端进行播放时,通常的方案是将收到的视频数据解码后,将解码后的数据中的图片数据转换为位图,然后再将位图转换为具有特定大小和分辨率的单个不变的像素集,然后在Windows呈现基础(WindowsPresentat1n Foundat1n,WPF)的控件中进行显示,但是,在将大量的视频数据进行转换显示时,此过程非常的消耗系统资源,占用大量的系统内存,消耗较长的时间,影响软件的整体性能。
[0003]故急需一种远端视频显示方法及装置,能有效地降低视频数据转码过程中占用的系统资源,并能快速地显示视频数据。

【发明内容】

[0004]本发明提供一种远端视频显示方法及装置,用以将视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据后显示,达到有效地降低视频数据转码过程中占用的系统资源,并能快速地显示视频数据的目的。
[0005]本发明提供一种远端视频显示方法,包括:
[0006]对当前接收的一帧视频数据进行解码,将本次解码后的视频数据保存在第一缓存中;
[0007]将第一缓存中缓存的本次解码后的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据;
[0008]在显示区域中显示转码后的BGRA格式图像数据;
[0009]清空第一缓存中的数据。
[0010]本发明实施例的一些有益效果可以包括:
[0011]对视频帧数据进行解码并将该解码后视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据,接着在显示区域中显示转码后的BGRA格式图像数据即可完成视频显示。从而达到有效地降低视频数据转码过程中占用的系统资源,并能快速地显示视频数据的目的。
[0012]在一个实施例中,所述将第一缓存中解码后的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据,包括:
[0013]步骤Sll:获取第一缓存中缓存的本次解码后的视频数据的视频帧尺寸;
[0014]步骤S12:判断本次解码后的视频数据的视频帧尺寸是否与保存的视频帧尺寸相同,是则执行步骤S14,否则将保存的视频帧尺寸更新为本次解码后的视频数据的视频帧尺寸并执行步骤S13 ;其中,第一次执行所述远端视频显示方法前将视频帧尺寸的初始值预先保存为O ;
[0015]步骤S13:根据本次解码后的视频数据的视频帧尺寸设置数据块大小,并执行步骤 S14 ;
[0016]步骤S14:创建一个图像管理对象,并执行步骤S15 ;
[0017]步骤S15:根据保存的视频帧尺寸及显示区域尺寸,获取视频帧数据转码的上下文;
[0018]步骤S16:根据所设置的数据块大小设置第二缓存大小,并将第一缓存中缓存的本次解码后的视频数据拷贝到第二缓存中;
[0019]步骤S17:根据本次获取的视频帧数据转码的上下文,将第二缓存中的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据。
[0020]在一个实施例中,所述在显示区域中显示转码后的BGRA格式图像数据,包括:
[0021]将转码后的BGRA格式图像数据写入到本次创建的图像管理对象中;
[0022]更新所述显示区域;
[0023]清空第二缓存中的数据。
[0024]在一个实施例中,所述视频帧数据转码的上下文中转码算法为SWS_FAST_BILINEAR 算法。
[0025]在该实施例中,由于SWS_FAST_BILINEAR算法在处理视频图像缩放时,具有较好的转码效果,在保证不影响画面的情况下,转码效率也非常高,从而为快速地显示视频数据提供了有力的支撑。
[0026]在一个实施例中,所述根据本次获取的视频帧数据转码的上下文,将第二缓存中的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据,包括:根据本次获取的视频帧数据转码的上下文,利用ffmpeg中swscale将第二缓存中的视频数据转换为尺寸为显示区域尺寸的BGRA格式图像数据。
[0027]在该实施例中,利用ffmpeg中swscale将视频数据直接转换为尺寸为显示区域尺寸的BGRA格式图像数据,然后在显示控件中显示该BGRA格式图像数据即可完成视频的显示工作。从而达到有效地降低视频数据转码过程中占用的系统资源,并能快速地显示视频数据的目的。
[0028]在一个实施例中,步骤S13中所述根据本次解码后的视频数据的视频帧尺寸设置数据块大小,包括:设置数据块大小为本次解码后的视频数据的视频帧尺寸的宽与高的乘积的3倍。
[0029]在该实施例中,由于RGB24利用24位来表示一个像素,RGB分量都用8位表示,取值范围为0-255,保证图像画面优质显示效果的同时,能极大的节约存储空间。由于采用RGB24,转码后的数据大小应不大于解码后的视频数据的视频帧尺寸的宽与高的乘积的3倍。
[0030]在一个实施例中,所述当前接收的一帧视频数据为H264编码视频数据。
[0031]在该实施例中,H264编码的视频数据具有低码率、高质量的图像、容错能力强、网络适应性强等特点,被广泛的应用于视频数据编码。由于可以对H264编码视频数据进行快速显示,从而能达到具有适用性广的特点。
[0032]一种远端视频显示装置,包括:解码模块、第一缓存、转码模块、显示模块和缓存清空模块;
[0033]所述解码模块,用于对当前接收的一帧视频数据进行解码,将本次解码后的视频数据保存在第一缓存中;
[0034]所述转码模块,用于将第一缓存中缓存的本次解码后的视频数据转码为尺寸为显示区域尺寸的BGRA格式图像数据并发送给显示模块;
[0035]所述显示模块,用于在显示区域中显示收到的转码后的BGRA格式图像数据,并在显示完毕后向缓存清空模块发送缓存清空指令;
[0036]所述缓存清空模块,用于根据所述缓存清空指令清空第一缓存中的数据。
[0037]在一个实施例中,所述转码模块包括:视频帧尺寸获取模块,判断模块,数据块设置模块,图像管理对象创建模块,上下文获取模块,数据拷贝模块,视频数据转码模块,第二缓存;
[0038]所述视频帧尺寸获取模块,用于获取第一缓存中缓存的本次解码后的视频数据的视频帧尺寸,并将获取的本次解码后的视频数据的视频帧尺寸发送给所述判断模块和所述上下文获取模块;
[0039]所述判断模块,用于判断本次解码后的视频数据的视频帧尺寸是否与自身保存的视频帧尺寸相同,当不相同时,将自身保存的视频帧尺寸更新为所述本次解码后的视频数据的视频帧尺寸,并向数据块设置模块发送本次解码后的视频数据的视频帧尺寸以及更新数据块大小指令;当相同时,向所述图像管理对象创建模块发送创建图像管理对象的指令;其中,所述判断模块保存的视频帧尺寸的初始值为O ;
[0040]所述数据块设置模块,用于在接收到所述更新数据块大小指令后,根据所述判断模块发来的本次解码后的视频数据的视频帧尺寸设置数据块大小;向所述数据拷贝模块发送所设置的数据块大
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1