CN111601140A - 远程播放视频的方法及装置 - Google Patents

远程播放视频的方法及装置 Download PDF

Info

Publication number
CN111601140A
CN111601140A CN202010350328.1A CN202010350328A CN111601140A CN 111601140 A CN111601140 A CN 111601140A CN 202010350328 A CN202010350328 A CN 202010350328A CN 111601140 A CN111601140 A CN 111601140A
Authority
CN
China
Prior art keywords
data
player
picture
video
initialization
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.)
Granted
Application number
CN202010350328.1A
Other languages
English (en)
Other versions
CN111601140B (zh
Inventor
杨璐
范志刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Wanxiang Electronics Technology Co Ltd
Original Assignee
Xian Wanxiang Electronics Technology Co Ltd
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 Xian Wanxiang Electronics Technology Co Ltd filed Critical Xian Wanxiang Electronics Technology Co Ltd
Priority to CN202010350328.1A priority Critical patent/CN111601140B/zh
Publication of CN111601140A publication Critical patent/CN111601140A/zh
Application granted granted Critical
Publication of CN111601140B publication Critical patent/CN111601140B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4858End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Studio Circuits (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本公开提供一种远程播放视频的方法,涉及视频数据传输技术,能够解决透明特效区域内无法显示视频画面的问题。具体技术方案为:接收来自源端设备的视频文件数据、播放器的初始化数据、计算机画面数据以及计算机画面的初始化数据;基于播放器的初始化数据和计算机画面的初始化数据确定合并画面数据的内存地址以及输出帧率;基于播放器的初始化数据、视频文件数据和计算机画面数据进行画面合并,将计算机画面数据中位于透明特效区域内的填充数据替换为视频文件数据中的像素数据,得到合并画面数据;将合并画面数据以输出帧率输出并显示。本公开用于实现在透明特效区域内显示视频画面,以提高用户体验。

Description

远程播放视频的方法及装置
技术领域
本公开涉及视频数据传输技术领域,尤其涉及一种远程播放视频的方法以及一种远程播放视频的装置。
背景技术
现有的计算机画面在远程播放时,如果此时计算机正在播放视频,则需要将正在播放的视频也进行远程播放。视频的远程播放通常使用的方法是视频重定向,在该方法中,在源端设备将计算机中即将由播放器播放的视频文件进行拦截,将填充数据送入播放器中。如图1所示,源端设备的数据采集分为两部分,一部分是计算机显卡渲染画面数据,另一部分是视频文件数据,远端设备接收到这两部分数据后,对这两部分数据进行合并显示。
上述现有的视频重定向方案中,需要对源端设备当前视频窗口的位置、当前视频窗口上所叠加的窗口的位置信息,将这些位置信息发送至远端设备。远端设备在进行图像合并时,将所有叠加窗口的区域从合并区域中剔除,即,视频窗口中被叠加窗口遮盖的部分不显示视频画面。
但上述方案具有如下缺陷:一是与操作系统的耦合度高,获取当前显示的所有窗口的位置信息需要调用操作系统接口来实现。二是当视频窗口被其他窗口覆盖,尤其是多个窗口叠加覆盖时,窗口叠加重叠区域的计算非常复杂。
此外,部分窗口的四周边缘带有透明特效,且在操作系统中,认为透明特效部分属于窗口的一部分,当视频窗口被这种带有透明特效的窗口遮盖时,这些透明区域无法被识别。如图2所示,计算机画面中的黑色区域为视频窗口B,窗口A遮盖部分视频窗口B,且窗口A四周存在透明特效区域。从视频窗口B可以看出,播放器的填充数据为黑色。现有技术中,由于透明特效区域属于窗口A,无法替换,导致填充数据仍保留在窗口A透明特效区域中,即,透明特效区域显示的是底层填充数据,而不是视频窗口的画面,这会极大的影响用户体验。
发明内容
本公开实施例提供一种远程播放视频的方法及装置,能够解决透明特效区域内无法显示视频画面导致的用户体验差的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种远程播放视频的方法,应用于远端设备,所述方法包括:
接收来自源端设备的视频文件数据、播放器的初始化数据、计算机画面数据以及计算机画面的初始化数据;
基于所述播放器的初始化数据和所述计算机画面的初始化数据确定合并画面数据的内存地址以及输出帧率;
基于所述播放器的初始化数据、所述视频文件数据和所述计算机画面数据进行画面合并,将所述计算机画面数据中位于透明特效区域内的填充数据替换为所述视频文件数据中的像素数据,得到所述合并画面数据;
将所述合并画面数据以所述输出帧率输出并显示。
通过将位于透明特效区域内的填充数据替换为视频文件数据中的像素数据,解决了透明特效区域内无法显示视频画面的问题,从而提升用户体验。
在一个实施例中,所述播放器的初始化数据中包括:所述播放器的视频窗口大小、所述视频窗口的坐标信息及播放帧率;
所述计算机画面的初始化数据包括:画面大小及帧率。
在一个实施例中,所述基于所述播放器的初始化数据、所述视频文件数据和所述计算机画面数据进行画面合并,包括:
将所述视频文件数据中的原始视频画面大小调整至与所述视频窗口大小一致,得到调整后的视频文件数据;
基于所述播放器的初始化数据中的视频窗口的坐标信息、所述调整后的视频文件数据以及所述计算机画面数据进行画面合并。
在一个实施例中,所述将所述计算机画面数据中位于透明特效区域内的填充数据替换为所述视频文件数据中的像素数据,得到所述合并画面数据,包括:
基于所述视频窗口的坐标信息确定视频窗口区域;
遍历所述计算机画面数据中的像素点,判断位于所述视频窗口区域内的所述像素点是否为填充数据;
若位于所述视频窗口区域内的所述像素点是所述填充数据,将所述填充数据替换为所述调整后的视频文件数据中对应位置处的像素数据;
若位于所述视频窗口区域内的所述像素点不是所述填充数据,判断所述像素点是否位于透明特效区域内;
若位于所述透明特效区域内,将所述填充数据替换为所述调整后的视频文件数据中对应位置处的像素数据;
若不位于所述透明特效区域内,不进行所述填充数据的替换。
在一个实施例中,所述判断所述像素点是否位于透明特效区域内,包括:
对所述像素点的像素值进行去alpha转换,得到RGBA,所述RGBA包括原始RGB及alpha值;
比较所述原始RGB与所述填充数据是否相同;
若相同,则确定所述像素点位于所述透明特效区域内;
若不相同,则确定所述像素点不位于所述透明特效区域内。
在一个实施例中,基于所述播放器的初始化数据和所述计算机画面的初始化数据确定合并画面数据的输出帧率,包括:
将所述播放器的初始化数据的播放帧率和所述计算机画面的初始化数据的帧率中的较大帧率确定为所述合并画面数据的输出帧率。
根据本公开实施例的第二方面,提供一种远程播放视频的方法,应用于源端设备,所述方法包括:
获取播放器的初始化数据以及视频文件数据;所述播放器的初始化数据中包括:所述播放器的视频窗口大小、所述视频窗口的坐标信息及播放帧率;
将预设填充数据填充至所述播放器,以使所述播放器的视频窗口对所述填充数据进行显示;
获取所述源端设备当前显示的计算机画面数据和计算机画面的初始化数据;所述计算机画面的初始化数据包括:画面大小及帧率;
将所述初始化数据、所述视频文件数据、所述计算机画面的初始化数据以及所述计算机画面数据发送至远端设备。
通过将预设填充数据填充至播放器,使得播放器的视频窗口中播放静止画面,从而在将当前显示的计算机画面数据发送至远端设备时,可以节约处理器的编码消耗,减少传输数据所需的网络资源。
在一个实施例中,所述获取所述播放器的初始化数据以及视频文件数据,包括:
在监测到所述源端设备的播放器中有视频文件数据播放时,获取所述播放器的初始化数据以及所述视频文件数据。
根据本公开实施例的第三方面,提供一种远程播放视频的装置,设置于远端设备,所述装置包括:
接收模块,用于接收来自源端设备的视频文件数据、播放器的初始化数据、计算机画面数据以及计算机画面的初始化数据;
确定模块,用于基于所述播放器的初始化数据和所述计算机画面的初始化数据确定合并画面数据的内存地址以及输出帧率;
合并模块,用于基于所述播放器的初始化数据、所述视频文件数据和所述计算机画面数据进行画面合并,将所述计算机画面数据中位于透明特效区域内的填充数据替换为所述视频文件数据中的像素数据,得到所述合并画面数据;
输出模块,用于将所述合并画面数据以所述输出帧率输出并显示。
根据本公开实施例的第四方面,提供一种远程播放视频的装置,设置于源端设备,所述装置包括:
获取模块,用于获取播放器的初始化数据以及视频文件数据;所述播放器的初始化数据中包括:所述播放器的视频窗口大小、所述视频窗口的坐标信息及播放帧率;
填充模块,用于将预设填充数据填充至所述播放器,以使所述播放器的视频窗口对所述填充数据进行显示;
所述获取模块还用于获取所述源端设备当前显示的计算机画面数据和计算机画面的初始化数据;所述计算机画面的初始化数据包括:画面大小及帧率;
发送模块,用于将所述初始化数据、所述视频文件数据、所述计算机画面的初始化数据以及所述计算机画面数据发送至远端设备。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是现有技术中源端设备采集数据的示意图;
图2是现有技术中远程视频播放的效果示意图;
图3是本公开实施例一的远程播放视频的方法的流程示意图;
图4是本公开实施例一中透明特效区域的示意图;
图5是利用本公开实施例一的方法得到的合并画面数据的显示效果示意图;
图6是本公开实施例一的远程播放视频的装置的结构示意图;
图7是本公开实施例二的远程播放视频的方法的流程示意图;
图8是基于本公开实施例二的填充数据的显示效果示意图;
图9是本公开实施例二的远程播放视频的装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供一种远程播放视频的方法,应用于远端设备,如图3所示,该远程播放视频的方法包括以下步骤210~步骤240:
步骤210,接收来自源端设备的视频文件数据、播放器的初始化数据、计算机画面数据以及计算机画面的初始化数据。
具体的,可以通过远端设备中的传输模块接收视频文件数据、播放器的初始化数据、计算机画面数据以及计算机画面的初始化数据。其中,所述播放器的初始化数据中包括:所述播放器的视频窗口大小、所述视频窗口的坐标信息及播放帧率;所述计算机画面的初始化数据包括:画面大小及帧率。
步骤220,基于所述播放器的初始化数据和所述计算机画面的初始化数据确定合并画面数据的内存地址以及输出帧率。
本步骤中,远端设备的传输模块在接收到视频文件数据、播放器的初始化数据、计算机画面数据以及计算机画面的初始化数据后,会将播放器的初始化数据和计算机画面的初始化数据分别送入远端设备的解码器和图像合并模块,以供解码器和图像合并模块进行初始化处理。
具体的,解码器可以为两个,一个用于视频文件数据进行解码,一个用于对计算机画面数据进行解码,两者的编解码方式可能不同;各解码器在接收到初始化数据之后,分别进行初始化设置。
图像合并模块在接收到播放器的初始化数据和计算机画面的初始化数据之后,分别对播放器的初始化数据和计算机画面的初始化数据的数据缓存进行初始化,以及确定合并画面数据的内存地址和输出帧率。
需要说明的是,图像合并模块在本步骤中设置的输出帧率只是初始值,在后面的处理过程中可能会发生变化,这是因为,图像合并模块收到两路数据的帧率可能不同,图像合并模块将所述播放器的初始化数据的播放帧率和所述计算机画面的初始化数据的帧率中的较大帧率确定为所述合并画面数据的输出帧率。
步骤230,基于所述播放器的初始化数据、所述视频文件数据和所述计算机画面数据进行画面合并,将所述计算机画面数据中位于透明特效区域内的填充数据替换为所述视频文件数据中的像素数据,得到所述合并画面数据。
本步骤例如可以由解码器分别对两路画面数据进行解码处理,其中,一路画面数据是计算机画面数据,一路画面数据是视频文件数据。
需要说明的是,由于视频文件数据本身解码出来的视频画面大小是固定的,但是,视频播放窗口大小是可变的,因此,解码器在对视频文件数据进行解码的同时,还需要对视频画面的尺寸进行缩放,即,将所述视频文件数据中的原始视频画面大小调整至与所述视频窗口大小一致,得到调整后的视频文件数据。解码器在得到调整后的视频文件数据后,将调整后的视频文件数据送入图像合并模块,以使图像合并模块基于所述播放器的初始化数据中的视频窗口的坐标信息、所述调整后的视频文件数据以及所述计算机画面数据进行画面合并。
具体的,图像合并模块在进行画面合并时,首先基于所述视频窗口的坐标信息确定视频窗口区域;然后遍历所述计算机画面数据中的像素点,判断位于所述视频窗口区域内的所述像素点是否为填充数据。
若位于所述视频窗口区域内的所述像素点是所述填充数据,则说明计算画面数据中的该位置无其他窗口遮挡,则将所述填充数据替换为所述调整后的视频文件数据中对应位置处的像素数据。
若位于所述视频窗口区域内的所述像素点不是所述填充数据,则说明存在两种情况,一种情况是该像素点被其他窗口遮盖,另一种情况是该像素点处于其他窗口的透明特效区域。由于在本实施例中,第二种情况下仍需要进行像素点的替换,因此,进一步判断所述像素点是否位于透明特效区域内。
若位于所述透明特效区域内,将所述填充数据替换为所述调整后的视频文件数据中对应位置处的像素数据;若不位于所述透明特效区域内,不进行所述填充数据的替换。
需要说明的是,判断所述像素点是否位于透明特效区域内的方法可以为:对所述像素点的像素值进行去alpha转换,即,YUV->RGB->RGBA,背景色一般取1,得到RGBA,所述RGBA包括原始RGB及alpha值;比较所述原始RGB与所述填充数据是否相同;若相同,则确定所述像素点位于所述透明特效区域内;若不相同,则确定所述像素点不位于所述透明特效区域内。
为了方便说明,将计算机画面数据的视频播放器窗口区域中,处于透明特效区域内的像素点记为像素点A。
具体的,先将视频文件数据中,与像素点A对应位置的像素点B提取出来,然后,对提取出的像素点B进行alpha转换,得到新的像素点C,将新的像素点C替换到像素点A的位置。如果使用的是YUV颜色空间,需要将RGB再转换成YUV。可以理解的是,上述对像素点C就是像素点B进行透明特效处理过的像素点,如图4中所示,窗口A的透明边框就是上述的透明特效区域。
需要说明的是,窗口的透明特效区域内的像素值,是对原像素点进行alpha转换来实现透明特效。比如,在原图案基础上加阴影,如图4中的效果,但是透明特效区域仍能看到底层画面。若计算机画面数据中的视频播放器窗口区域中存在透明特效区域,则透明特效区域内的像素点为经过alpha转换后的,因此,需要先对透明特效区域内的像素点进行去alpha转换,逆向还原出原像素点,进而判断原像素点是否为填充数据,若为是,则可以确定该像素点处于透明特效区域。
下面对alpha转换(RGBA->RGB->YUV),以及去alpha转换(YUV->RGB->RGBA)的具体过程进行说明:
如果计算机画面使用的是YUV颜色空间,则需要先将YUV转行为RGB。RGB指渲染后的,也即具有透明特效的RGB,RGBA包括原始RGB和alpha值。
透明特效一般采用的方式是设背景色BG_COLOR为1,接近黑色,然后通过透明度来实现底层像素透明显示时的半透明阴影特效。
RGBA->RGB,也即对原始RGB加上透明特效的过程,较为简单,给定渐变的透明度范围,可生成出对应的实际渲染像素值。公式如下:
R=BG_COLOR*(1-a)+r*a;
G=BG_COLOR*(1-a)+g*a;
B=BG_COLOR*(1-a)+b*a;
可以看出,如果RGB相同时,转换后的RGB色值也相同。
RGB->RGBA,即去alpha过程稍复杂,因为填充数据中各像素点的RGB均相同,上述计算公式简化为一个x=BG_COLOR*(1-a)+y*a。
x是实际渲染的RGB值,y是原始RGB值,a是透明度。可以发现,最终是求解一个二元一次方程,解不唯一,即限定a(透明度)取值范围后,y是一个取值范围。
如此,可根据实际透明度渲染有效范围,通过填充色(公式中的y)及该透明度范围生成渲染结果范围;进行图像合并时,只要RGB三个颜色值相同(公式中的x),并在前面确定的范围内的颜色,都可以认为是原始填充色的透明渲染结果,然后,根据y,x,可计算出a。
该过程也正好对应透明特效的渐变效果,即原始色加上渐变透明度,生成渐变阴影的显示效果。
以WINDOWS操作系统为例,a取值[0.65,1],即如果填充色为RGB(32,32,32),其经过透明特效渲染结果范围为[21,32],进行图像合并时,只要RGB色值相同,并在该范围内,则根据上述公式计算出a,然后,将视频图像对应位置的RGB颜色,通过RGBA->RGB转换成真实RGB,进行填充。即可视频透明效果填充显示。
此外,YUV及RGB转换采用类似如下公式,类似公式较多,一般在系数上有所差异,原理相同。此处只是列举一个示例。
RGB转YUV:
Y=0.257R+0.504G+0.098B+16
U=0.148R-0.291G+0.439B+128
V=0.439R-0.368G-0.071B+128
YUV转RGB:
B=1.164(Y-16)+2.018(U-128)
G=1.164(Y-16)-0.813(V-128)-0.391(U-128)
R=1.164(Y-16)+1.596(V-128)
步骤240,将所述合并画面数据以所述输出帧率输出并显示。
本实施例得到的合并画面数据在显示模块中的显示效果例如图5中所示(可与背景技术中的图2的显示效果进行对比),透明特效区域内显示的仍为视频文件数据中的像素数据,并保持半透明特效。
本实施例的技术方案,通过将位于透明特效区域内的填充数据替换为视频文件数据中的像素数据,解决了透明特效区域内无法显示视频画面的问题,从而提升用户体验。
基于上述图3对应的实施例中所描述的数据连接的建立方法,下述为本公开远程播放视频的装置实施例,该远程播放视频的装置可设置于远端设备中,用于执行本公开方法实施例。
本公开实施例提供的远程播放视频的装置,如图6所示,该远程播放视频的装置30包括:接收模块301、确定模块302、合并模块303和输出模块304。
具体的,接收模块301用于接收来自源端设备的视频文件数据、播放器的初始化数据、计算机画面数据以及计算机画面的初始化数据。
确定模块302用于基于所述播放器的初始化数据和所述计算机画面的初始化数据确定合并画面数据的内存地址以及输出帧率。
合并模块303用于基于所述播放器的初始化数据、所述视频文件数据和所述计算机画面数据进行画面合并,将所述计算机画面数据中位于透明特效区域内的填充数据替换为所述视频文件数据中的像素数据,得到所述合并画面数据。
输出模块304用于将所述合并画面数据以所述输出帧率输出并显示。
其中,所述播放器的初始化数据中包括:所述播放器的视频窗口大小、所述视频窗口的坐标信息及播放帧率;所述计算机画面的初始化数据包括:画面大小及帧率。
在一个实施例中,所述合并模块303具体可以用于:将所述视频文件数据中的原始视频画面大小调整至与所述视频窗口大小一致,得到调整后的视频文件数据;基于所述播放器的初始化数据中的视频窗口的坐标信息、所述调整后的视频文件数据以及所述计算机画面数据进行画面合并。
在一个实施例中,所述合并模块303具体可以用于:基于所述视频窗口的坐标信息确定视频窗口区域;遍历所述计算机画面数据中的像素点,判断位于所述视频窗口区域内的所述像素点是否为填充数据;若位于所述视频窗口区域内的所述像素点是所述填充数据,将所述填充数据替换为所述调整后的视频文件数据中对应位置处的像素数据;若位于所述视频窗口区域内的所述像素点不是所述填充数据,判断所述像素点是否位于透明特效区域内;若位于所述透明特效区域内,将所述填充数据替换为所述调整后的视频文件数据中对应位置处的像素数据;若不位于所述透明特效区域内,不进行所述填充数据的替换。
其中,所述合并模块303在判断所述像素点是否位于透明特效区域内时,具体可以用于对所述像素点的像素值进行去alpha转换,得到RGBA,所述RGBA包括原始RGB及alpha值;比较所述原始RGB与所述填充数据是否相同;若相同,则确定所述像素点位于所述透明特效区域内;若不相同,则确定所述像素点不位于所述透明特效区域内。
在一个实施例中,所述确定模块302具体可以用于将所述播放器的初始化数据的播放帧率和所述计算机画面的初始化数据的帧率中的较大帧率确定为所述合并画面数据的输出帧率。
本实施例的远程播放视频的装置,可用于执行上述图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本公开实施例提供一种远程播放视频的方法,应用于源端设备,如图7所示,该远程播放视频的方法包括以下步骤410~步骤440:
步骤410,获取播放器的初始化数据以及视频文件数据;所述播放器的初始化数据中包括:所述播放器的视频窗口大小、所述视频窗口的坐标信息及播放帧率。
在本步骤中,源端设备中的视频监控代理会对播放器的操作进行监测,在监测到所述源端设备的播放器中有视频文件数据播放时,获取所述播放器的初始化数据以及所述视频文件数据。
其中,播放器用于播放视频文件数据,视频文件的显示框即为视频窗口。
步骤420,将预设填充数据填充至所述播放器,以使所述播放器的视频窗口对所述填充数据进行显示。
具体的,视频窗口中播放的画面是填充后的像素。也就是说,为了不影响播放器的正常工作,在这里,将预设填充数据发送给播放器,由播放器进行播放,这样,原本应该显示视频画面的视频窗口就会显示填充数据。
一般情况下,填充数据可以是特征的像素值,例如,该填充数据可以是普通画面中较为少见的像素值,如RGB(32,32,32),当然,也可以使用任意像素值进行填充。可以理解的是,视频窗口中基于填充数据播放的视频画面是静止画面。
步骤430,获取所述源端设备当前显示的计算机画面数据和计算机画面的初始化数据;所述计算机画面的初始化数据包括:画面大小及帧率。
实际应用中可以由源端设备中的计算机图像采集器采集当前显示的计算机画面数据,此时采集到的计算机画面数据中的视频窗口播放的是填充数据。由于本实施例未对计算机应用程序的工作流程进行修改,因此,计算机的其他窗口可以正常工作,且有可能遮盖到视频窗口之上。
如图8所示,计算机图像采集器采集到的计算机画面的效果例如图8中所示,视频窗口B的画面为填充数据,窗口A遮盖部分视频窗口B画面,计算机画面中除视频窗口B以外的部分均正常显示。
步骤440,将所述初始化数据、所述视频文件数据、所述计算机画面的初始化数据以及所述计算机画面数据发送至远端设备。
可以理解的是,远端设备想要完整显示出源端设备的计算机画面,需要对计算机画面数据和视频文件数据进行合并处理。即,需要通过合并处理使得视频窗口中被填充后的静止画面显示为视频文件。
在本步骤中,源端设备中的图像编码器可以对采集到的计算机画面数据进行编码,并将编码后的码流通过传输模块发送至远端设备。在此需要说明的是,图像编码器在编码过程中,采集到的画面变动越小,则编码码流越小,处理器的消耗越低。而上述步骤430中采集到的画面中的视频窗口播放的是填充后的静止画面,因此,图像编码器的编码对处理器消耗较低。
本实施例的技术方案,通过将预设填充数据填充至播放器,使得播放器的视频窗口中播放静止画面,从而在将当前显示的计算机画面数据发送至远端设备时,可以节约处理器的编码消耗,减少传输数据所需的网络资源。
基于上述图7对应的实施例中所描述的远程播放视频的方法,下述为本公开远程播放视频的装置实施例,可以设置于源端设备中,用于执行本公开方法实施例。
本公开实施例提供的远程播放视频的装置,如图9所示,该远程播放视频的装置50可以包括:获取模块501、填充模块502和发送模块503。
具体的,获取模块501用于获取播放器的初始化数据以及视频文件数据;所述播放器的初始化数据中包括:所述播放器的视频窗口大小、所述视频窗口的坐标信息及播放帧率。
填充模块502用于将预设填充数据填充至所述播放器,以使所述播放器的视频窗口对所述填充数据进行显示。
所述获取模块501还可以用于获取所述源端设备当前显示的计算机画面数据和计算机画面的初始化数据;所述计算机画面的初始化数据包括:画面大小及帧率。
发送模块503用于将所述初始化数据、所述视频文件数据、所述计算机画面的初始化数据以及所述计算机画面数据发送至远端设备。
其中,所述获取模块501具体用于在监测到所述源端设备的播放器中有视频文件数据播放时,获取所述播放器的初始化数据以及所述视频文件数据。
本实施例的远程播放视频的装置,可用于执行上述图7所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
基于上述图3和图7对应的实施例中所描述的远程播放视频的方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:Read Only Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图3和图7对应的实施例中所描述的远程播放视频的方法,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种远程播放视频的方法,应用于远端设备,其特征在于,所述方法包括:
接收来自源端设备的视频文件数据、播放器的初始化数据、计算机画面数据以及计算机画面的初始化数据;
基于所述播放器的初始化数据和所述计算机画面的初始化数据确定合并画面数据的内存地址以及输出帧率;
基于所述播放器的初始化数据、所述视频文件数据和所述计算机画面数据进行画面合并,将所述计算机画面数据中位于透明特效区域内的填充数据替换为所述视频文件数据中的像素数据,得到所述合并画面数据;
将所述合并画面数据以所述输出帧率输出并显示。
2.根据权利要求1所述的方法,其特征在于,所述播放器的初始化数据中包括:所述播放器的视频窗口大小、所述视频窗口的坐标信息及播放帧率;
所述计算机画面的初始化数据包括:画面大小及帧率。
3.根据权利要求2所述的方法,其特征在于,所述基于所述播放器的初始化数据、所述视频文件数据和所述计算机画面数据进行画面合并,包括:
将所述视频文件数据中的原始视频画面大小调整至与所述视频窗口大小一致,得到调整后的视频文件数据;
基于所述播放器的初始化数据中的视频窗口的坐标信息、所述调整后的视频文件数据以及所述计算机画面数据进行画面合并。
4.根据权利要求3所述的方法,其特征在于,将所述计算机画面数据中位于透明特效区域内的填充数据替换为所述视频文件数据中的像素数据,得到所述合并画面数据,包括:
基于所述视频窗口的坐标信息确定视频窗口区域;
遍历所述计算机画面数据中的像素点,判断位于所述视频窗口区域内的所述像素点是否为填充数据;
若位于所述视频窗口区域内的所述像素点是所述填充数据,将所述填充数据替换为所述调整后的视频文件数据中对应位置处的像素数据;
若位于所述视频窗口区域内的所述像素点不是所述填充数据,判断所述像素点是否位于透明特效区域内;
若位于所述透明特效区域内,将所述填充数据替换为所述调整后的视频文件数据中对应位置处的像素数据;
若不位于所述透明特效区域内,不进行所述填充数据的替换。
5.根据权利要求4所述的方法,其特征在于,所述判断所述像素点是否位于透明特效区域内,包括:
对所述像素点的像素值进行去alpha转换,得到RGBA,所述RGBA包括原始RGB及alpha值;
比较所述原始RGB与所述填充数据是否相同;
若相同,则确定所述像素点位于所述透明特效区域内;
若不相同,则确定所述像素点不位于所述透明特效区域内。
6.根据权利要求2所述的方法,其特征在于,基于所述播放器的初始化数据和所述计算机画面的初始化数据确定合并画面数据的输出帧率,包括:
将所述播放器的初始化数据的播放帧率和所述计算机画面的初始化数据的帧率中的较大帧率确定为所述合并画面数据的输出帧率。
7.一种远程播放视频的方法,应用于源端设备,其特征在于,所述方法包括:
获取播放器的初始化数据以及视频文件数据;所述播放器的初始化数据中包括:所述播放器的视频窗口大小、所述视频窗口的坐标信息及播放帧率;
将预设填充数据填充至所述播放器,以使所述播放器的视频窗口对所述填充数据进行显示;
获取所述源端设备当前显示的计算机画面数据和计算机画面的初始化数据;所述计算机画面的初始化数据包括:画面大小及帧率;
将所述初始化数据、所述视频文件数据、所述计算机画面的初始化数据以及所述计算机画面数据发送至远端设备。
8.根据权利要求7所述的方法,其特征在于,所述获取所述播放器的初始化数据以及视频文件数据,包括:
在监测到所述源端设备的播放器中有视频文件数据播放时,获取所述播放器的初始化数据以及所述视频文件数据。
9.一种远程播放视频的装置,设置于远端设备,其特征在于,所述装置包括:
接收模块,用于接收来自源端设备的视频文件数据、播放器的初始化数据、计算机画面数据以及计算机画面的初始化数据;
确定模块,用于基于所述播放器的初始化数据和所述计算机画面的初始化数据确定合并画面数据的内存地址以及输出帧率;
合并模块,用于基于所述播放器的初始化数据、所述视频文件数据和所述计算机画面数据进行画面合并,将所述计算机画面数据中位于透明特效区域内的填充数据替换为所述视频文件数据中的像素数据,得到所述合并画面数据;
输出模块,用于将所述合并画面数据以所述输出帧率输出并显示。
10.一种远程播放视频的装置,设置于源端设备,其特征在于,所述装置包括:
获取模块,用于获取播放器的初始化数据以及视频文件数据;所述播放器的初始化数据中包括:所述播放器的视频窗口大小、所述视频窗口的坐标信息及播放帧率;
填充模块,用于将预设填充数据填充至所述播放器,以使所述播放器的视频窗口对所述填充数据进行显示;
所述获取模块还用于获取所述源端设备当前显示的计算机画面数据和计算机画面的初始化数据;所述计算机画面的初始化数据包括:画面大小及帧率;
发送模块,用于将所述初始化数据、所述视频文件数据、所述计算机画面的初始化数据以及所述计算机画面数据发送至远端设备。
CN202010350328.1A 2020-04-28 2020-04-28 远程播放视频的方法及装置 Active CN111601140B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010350328.1A CN111601140B (zh) 2020-04-28 2020-04-28 远程播放视频的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010350328.1A CN111601140B (zh) 2020-04-28 2020-04-28 远程播放视频的方法及装置

Publications (2)

Publication Number Publication Date
CN111601140A true CN111601140A (zh) 2020-08-28
CN111601140B CN111601140B (zh) 2024-05-17

Family

ID=72189466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010350328.1A Active CN111601140B (zh) 2020-04-28 2020-04-28 远程播放视频的方法及装置

Country Status (1)

Country Link
CN (1) CN111601140B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6211919B1 (en) * 1997-03-28 2001-04-03 Tektronix, Inc. Transparent embedment of data in a video signal
CN101668144A (zh) * 2009-09-24 2010-03-10 深圳市同洲电子股份有限公司 实现图像层在视频层上半透明效果的方法、装置和机顶盒
CN102103463A (zh) * 2011-02-17 2011-06-22 杭州华三通信技术有限公司 一种带透明度用户界面信息的处理方法和设备
US20120076197A1 (en) * 2010-09-23 2012-03-29 Vmware, Inc. System and Method for Transmitting Video and User Interface Elements
JP2012118941A (ja) * 2010-12-03 2012-06-21 Ricoh Co Ltd 印刷プログラム、情報処理装置および記録媒体
CN106658070A (zh) * 2017-01-19 2017-05-10 深圳市云点科技有限公司 视频重定向的方法和装置
WO2017211250A1 (zh) * 2016-06-08 2017-12-14 深圳创维数字技术有限公司 图像的叠加显示方法和系统
CN110971839A (zh) * 2019-11-18 2020-04-07 咪咕动漫有限公司 视频融合方法、电子设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6211919B1 (en) * 1997-03-28 2001-04-03 Tektronix, Inc. Transparent embedment of data in a video signal
CN101668144A (zh) * 2009-09-24 2010-03-10 深圳市同洲电子股份有限公司 实现图像层在视频层上半透明效果的方法、装置和机顶盒
US20120076197A1 (en) * 2010-09-23 2012-03-29 Vmware, Inc. System and Method for Transmitting Video and User Interface Elements
JP2012118941A (ja) * 2010-12-03 2012-06-21 Ricoh Co Ltd 印刷プログラム、情報処理装置および記録媒体
CN102103463A (zh) * 2011-02-17 2011-06-22 杭州华三通信技术有限公司 一种带透明度用户界面信息的处理方法和设备
WO2017211250A1 (zh) * 2016-06-08 2017-12-14 深圳创维数字技术有限公司 图像的叠加显示方法和系统
CN106658070A (zh) * 2017-01-19 2017-05-10 深圳市云点科技有限公司 视频重定向的方法和装置
CN110971839A (zh) * 2019-11-18 2020-04-07 咪咕动漫有限公司 视频融合方法、电子设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
XUGUANG LAN; NANNING ZHENG; WEN MA; MIAO HUI; JIANRU XUE: "Arbitrary ROI-Based Wavelet Video Coding", 2010 DATA COMPRESSION CONFERENCE *
侯文慧;王俊峰;: "面向云桌面协议的视频区域侦测算法", 计算机应用, no. 05 *
汪陈伍;朱志祥;: "一种在像素域内实现多画面合成的方法", 西安邮电学院学报, no. 04 *

Also Published As

Publication number Publication date
CN111601140B (zh) 2024-05-17

Similar Documents

Publication Publication Date Title
JP5180344B2 (ja) 高ダイナミックレンジ画像データを復号化するための装置及び方法、表示用画像を処理可能なビューア、ならびに表示装置
JP5859441B2 (ja) 3dビデオにおける追加のビューを生成するための視点の選択
EP2338145B1 (en) Three dimensional image data processing
EP1667432B1 (en) Method and system for automatically reducing aliasing artefacts
JP5075195B2 (ja) 映像送信装置、映像受信装置、映像記録装置、映像再生装置及び映像表示装置
CN109345490B (zh) 一种移动播放端实时视频画质增强方法及系统
EP2569950B1 (en) Comfort noise and film grain processing for 3 dimensional video
JPH11243543A (ja) 低解像度ビデオ・デコーダにおいて、予測誤差をもたらすシーン内容を検出し、検出された情報を使用するための方法及び装置
CN110827380B (zh) 图像的渲染方法、装置、电子设备及计算机可读介质
CN116887005B (zh) 投屏方法、电子设备和计算机可读存储介质
US11069026B2 (en) Method for processing projection-based frame that includes projection faces packed in cube-based projection layout with padding
US7477795B2 (en) Image compression and expansion technique
US20240054623A1 (en) Image processing method and system, and device
CN117499755A (zh) 基于gpu硬图层的硬解码视频嵌入水印或字幕的方法
US6384872B1 (en) Method and apparatus for interlaced image enhancement
CN111601140A (zh) 远程播放视频的方法及装置
US6828979B2 (en) Method and device for video scene composition including mapping graphic elements on upscaled video frames
US8345157B2 (en) Image processing apparatus and image processing method thereof
JP4402088B2 (ja) 画像処理方法および装置およびこれらを利用した電子機器
US5990959A (en) Method, system and product for direct rendering of video images to a video data stream
US11670262B2 (en) Method of generating OSD data
US20230386143A1 (en) System and methods for providing invisible augmented reality markers
CN118283346A (zh) 图像传输方法及图像接收端和图像发送端
JPH11164296A (ja) 映像表示方法及び装置
JPH03184474A (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