logo好方法网

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


技术摘要:
本公开提供一种远程播放视频的方法,涉及视频数据传输技术,能够解决透明特效区域内无法显示视频画面的问题。具体技术方案为:接收来自源端设备的视频文件数据、播放器的初始化数据、计算机画面数据以及计算机画面的初始化数据;基于播放器的初始化数据和计算机画面的  全部
背景技术:
现有的计算机画面在远程播放时,如果此时计算机正在播放视频,则需要将正在 播放的视频也进行远程播放。视频的远程播放通常使用的方法是视频重定向,在该方法中, 在源端设备将计算机中即将由播放器播放的视频文件进行拦截,将填充数据送入播放器 中。如图1所示,源端设备的数据采集分为两部分,一部分是计算机显卡渲染画面数据,另一 部分是视频文件数据,远端设备接收到这两部分数据后,对这两部分数据进行合并显示。 上述现有的视频重定向方案中,需要对源端设备当前视频窗口的位置、当前视频 窗口上所叠加的窗口的位置信息,将这些位置信息发送至远端设备。远端设备在进行图像 合并时,将所有叠加窗口的区域从合并区域中剔除,即,视频窗口中被叠加窗口遮盖的部分 不显示视频画面。 但上述方案具有如下缺陷:一是与操作系统的耦合度高,获取当前显示的所有窗 口的位置信息需要调用操作系统接口来实现。二是当视频窗口被其他窗口覆盖,尤其是多 个窗口叠加覆盖时,窗口叠加重叠区域的计算非常复杂。 此外,部分窗口的四周边缘带有透明特效,且在操作系统中,认为透明特效部分属 于窗口的一部分,当视频窗口被这种带有透明特效的窗口遮盖时,这些透明区域无法被识 别。如图2所示,计算机画面中的黑色区域为视频窗口B,窗口A遮盖部分视频窗口B,且窗口A 四周存在透明特效区域。从视频窗口B可以看出,播放器的填充数据为黑色。现有技术中,由 于透明特效区域属于窗口A,无法替换,导致填充数据仍保留在窗口A透明特效区域中,即, 透明特效区域显示的是底层填充数据,而不是视频窗口的画面,这会极大的影响用户体验。
技术实现要素:
本公开实施例提供一种远程播放视频的方法及装置,能够解决透明特效区域内无 法显示视频画面导致的用户体验差的问题。所述技术方案如下: 根据本公开实施例的第一方面,提供一种远程播放视频的方法,应用于远端设备, 所述方法包括: 接收来自源端设备的视频文件数据、播放器的初始化数据、计算机画面数据以及 计算机画面的初始化数据; 基于所述播放器的初始化数据和所述计算机画面的初始化数据确定合并画面数 据的内存地址以及输出帧率; 基于所述播放器的初始化数据、所述视频文件数据和所述计算机画面数据进行画 面合并,将所述计算机画面数据中位于透明特效区域内的填充数据替换为所述视频文件数 据中的像素数据,得到所述合并画面数据; 4 CN 111601140 A 说 明 书 2/9 页 将所述合并画面数据以所述输出帧率输出并显示。 通过将位于透明特效区域内的填充数据替换为视频文件数据中的像素数据,解决 了透明特效区域内无法显示视频画面的问题,从而提升用户体验。 在一个实施例中,所述播放器的初始化数据中包括:所述播放器的视频窗口大小、 所述视频窗口的坐标信息及播放帧率; 所述计算机画面的初始化数据包括:画面大小及帧率。 在一个实施例中,所述基于所述播放器的初始化数据、所述视频文件数据和所述 计算机画面数据进行画面合并,包括: 将所述视频文件数据中的原始视频画面大小调整至与所述视频窗口大小一致,得 到调整后的视频文件数据; 基于所述播放器的初始化数据中的视频窗口的坐标信息、所述调整后的视频文件 数据以及所述计算机画面数据进行画面合并。 在一个实施例中,所述将所述计算机画面数据中位于透明特效区域内的填充数据 替换为所述视频文件数据中的像素数据,得到所述合并画面数据,包括: 基于所述视频窗口的坐标信息确定视频窗口区域; 遍历所述计算机画面数据中的像素点,判断位于所述视频窗口区域内的所述像素 点是否为填充数据; 若位于所述视频窗口区域内的所述像素点是所述填充数据,将所述填充数据替换 为所述调整后的视频文件数据中对应位置处的像素数据; 若位于所述视频窗口区域内的所述像素点不是所述填充数据,判断所述像素点是 否位于透明特效区域内; 若位于所述透明特效区域内,将所述填充数据替换为所述调整后的视频文件数据 中对应位置处的像素数据; 若不位于所述透明特效区域内,不进行所述填充数据的替换。 在一个实施例中,所述判断所述像素点是否位于透明特效区域内,包括: 对所述像素点的像素值进行去alpha转换,得到RGBA,所述RGBA包括原始RGB及 alpha值; 比较所述原始RGB与所述填充数据是否相同; 若相同,则确定所述像素点位于所述透明特效区域内; 若不相同,则确定所述像素点不位于所述透明特效区域内。 在一个实施例中,基于所述播放器的初始化数据和所述计算机画面的初始化数据 确定合并画面数据的输出帧率,包括: 将所述播放器的初始化数据的播放帧率和所述计算机画面的初始化数据的帧率 中的较大帧率确定为所述合并画面数据的输出帧率。 根据本公开实施例的第二方面,提供一种远程播放视频的方法,应用于源端设备, 所述方法包括: 获取播放器的初始化数据以及视频文件数据;所述播放器的初始化数据中包括: 所述播放器的视频窗口大小、所述视频窗口的坐标信息及播放帧率; 将预设填充数据填充至所述播放器,以使所述播放器的视频窗口对所述填充数据 5 CN 111601140 A 说 明 书 3/9 页 进行显示; 获取所述源端设备当前显示的计算机画面数据和计算机画面的初始化数据;所述 计算机画面的初始化数据包括:画面大小及帧率; 将所述初始化数据、所述视频文件数据、所述计算机画面的初始化数据以及所述 计算机画面数据发送至远端设备。 通过将预设填充数据填充至播放器,使得播放器的视频窗口中播放静止画面,从 而在将当前显示的计算机画面数据发送至远端设备时,可以节约处理器的编码消耗,减少 传输数据所需的网络资源。 在一个实施例中,所述获取所述播放器的初始化数据以及视频文件数据,包括: 在监测到所述源端设备的播放器中有视频文件数据播放时,获取所述播放器的初 始化数据以及所述视频文件数据。 根据本公开实施例的第三方面,提供一种远程播放视频的装置,设置于远端设备, 所述装置包括: 接收模块,用于接收来自源端设备的视频文件数据、播放器的初始化数据、计算机 画面数据以及计算机画面的初始化数据; 确定模块,用于基于所述播放器的初始化数据和所述计算机画面的初始化数据确 定合并画面数据的内存地址以及输出帧率; 合并模块,用于基于所述播放器的初始化数据、所述视频文件数据和所述计算机 画面数据进行画面合并,将所述计算机画面数据中位于透明特效区域内的填充数据替换为 所述视频文件数据中的像素数据,得到所述合并画面数据; 输出模块,用于将所述合并画面数据以所述输出帧率输出并显示。 根据本公开实施例的第四方面,提供一种远程播放视频的装置,设置于源端设备, 所述装置包括: 获取模块,用于获取播放器的初始化数据以及视频文件数据;所述播放器的初始 化数据中包括:所述播放器的视频窗口大小、所述视频窗口的坐标信息及播放帧率; 填充模块,用于将预设填充数据填充至所述播放器,以使所述播放器的视频窗口 对所述填充数据进行显示; 所述获取模块还用于获取所述源端设备当前显示的计算机画面数据和计算机画 面的初始化数据;所述计算机画面的初始化数据包括:画面大小及帧率; 发送模块,用于将所述初始化数据、所述视频文件数据、所述计算机画面的初始化 数据以及所述计算机画面数据发送至远端设备。 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不 能限制本公开。 附图说明 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施 例,并与说明书一起用于解释本公开的原理。 图1是现有技术中源端设备采集数据的示意图; 图2是现有技术中远程视频播放的效果示意图; 6 CN 111601140 A 说 明 书 4/9 页 图3是本公开实施例一的远程播放视频的方法的流程示意图; 图4是本公开实施例一中透明特效区域的示意图; 图5是利用本公开实施例一的方法得到的合并画面数据的显示效果示意图; 图6是本公开实施例一的远程播放视频的装置的结构示意图; 图7是本公开实施例二的远程播放视频的方法的流程示意图; 图8是基于本公开实施例二的填充数据的显示效果示意图; 图9是本公开实施例二的远程播放视频的装置的结构示意图。
下载此资料需消耗2积分,
分享到:
收藏