一种分享视频流数据的方法、源设备及电子设备与流程

文档序号:11157653阅读:288来源:国知局
一种分享视频流数据的方法、源设备及电子设备与制造工艺

本发明涉及移动通信技术领域,特别涉及一种分享视频流数据的方法、源设备及电子设备。



背景技术:

Miracast是以WIFI直连为基础的无线显示标准,是利用WIFI Direct建立的P2P网络(Peer-to-peer networking)实现一个设备向另一个设备实现同步传屏的技术。其中,发送端称为源设备(source),接收端称为目标设备(Sink)。目前Miracast技术越来越普及,很多智能手机、平板电脑、掌上电脑、笔记本电脑、台式电脑、智能电视等设备支持Miracast功能。例如,一台支持Miracast功能的智能手机(源设备)与一台支持Miracast功能的智能电视(目标设备)基于Miracast建立连接后,可以实现将智能手机的屏幕画面同步显示在智能电视上,从而实现智能手机与智能电视的屏幕画面共享。

在实现本发明的过程中,发明人发现至少存在如下问题:由于源设备和目标设备一旦在基于Miracast协议建立连接后,除非断开连接,否则源设备和目标设备的屏幕画面会在整个传屏的过程中完全同步。这意味着如果源设备临时需要运行一些具有隐私性的应用程序时(如通话软件、金融交易软件),目标设备的屏幕也会同步显示该应用程序的界面。此时,如果用户不希望将具有隐私性的应用程序的界面同步显示到目标设备,就必须断开连接以暂停传屏,当用户希望具有隐私性的应用程序运行结束后继续与目标设备进行传屏,就需要再一次与目标设备建立连接。这样会带来耗费时间、操作复杂的问题。



技术实现要素:

本发明的目的是实现源设备和目标设备在基于Miracast建立连接后的共享多媒体文件的过程中,能够在不断开连接、仍旧共享多媒体文件的情况下,实现源设备与目标设备的屏幕画面不同步,从而当源设备运行隐私程序时,既保护用户的隐私,又省去再次连接的步骤,简化了操作过程、节约了时间。

根据本发明实施例的一个方面,提供了一种发送视频流数据的方法,包括:获取异步指令;响应所述异步指令,控制Miracast模块停止从屏幕录像缓存区中抓取第一视频流数据,并控制Miracast模块从正在运行的播放器所对应的视频缓存区中获取第二视频流数据;其中,所述第一视频流数据为Miracast模块对呈现在屏幕中的画面进行录像得到的数据;通过基于WIFI Direct协议建立的通信通道将所述第二视频流数据发送。

根据本发明实施例的又一方面,提供了一种发送视频流数据的源设备,包括:指令获取模块,用于获取异步指令;更改抓取模块,用于在接收到所述异步指令后,控制Miracast模块停止从屏幕录像缓存区中抓取第一视频流数据,并控制Miracast模块从正在运行的播放器所对应的视频缓存区中获取第二视频流数据;其中,所述第一视频流数据为Miracast模块对呈现在屏幕中的画面进行录像得到的数据;通信模块,用于通过基于WIFI Direct协议建立的通信通道将所述第二视频流数据发送。

根据本发明实施例的又一方面,提供了一种电子设备,包括:至少一个第一处理器;以及,

与所述至少一个第一处理器通信连接的第一存储器;其中,

所述第一存储器存储有可被所述至少一个第一处理器执行的指令,所述指令被所述至少一个第一处理器执行,以使所述至少一个第一处理器能够实现如上所述的发送视频流数据的方法。

本发明实施例的有益效果在于,因为采用了在获取异步指令后,从正在运行的播放器所对应的视频缓存区中获取视频流数据,而不是从屏幕录像缓存区中获取视频流数据,所以克服了现有技术中在基于Miracast进行传屏的过程中,源设备与目标设备的屏幕所显示的画面必须时时一致的技术问题,进而达到能根据用户的需求实现在需要一致的时候一致,在不需要一致的时候能够保证屏幕显示的画面不一致但目标设备仍旧能够接收到源设备向其分享的视频文件的技术效果。

附图说明

图1是现有技术中基于Miracast建立连接的源设备与目标设备共享多媒体文件的示意图;

图2是本发明发送视频流数据方法的第一实施例的流程图;

图3是本发明发送视频流数据方法的第二实施例的流程图;

图4是本发明发送视频流数据方法的第三实施例的流程图;

图5是本发明发送视频流数据的源设备的第一实施例的模块关系图;

图6是本发明发送视频流数据的源设备的第二实施例的模块关系图;

图7是本发明发送视频流数据的源设备的第三实施例的模块关系图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

图1是现有技术中基于Miracast建立连接的源设备与目标设备共享多媒体文件的示意图。

如图1所示,现有技术中,源设备包括Miracast模块和通信模块。其中,Miracast模块包括镜像单元、抓取单元。镜像单元,用于对呈现在屏幕中的画面进行录像,得到第一视频流数据。抓取单元,用于对从屏幕录像缓存区中抓取第一视频流数据,并将所述第一视频流数据发送至通信模块。通信模块基于WIFI Direct协议建立的通信通道将第一视频流数据发送至目标设备。其中,屏幕录像缓存区为源设备的CPU的缓存器中开辟的一块区域,用于存储镜像单元对呈现在屏幕中的画面进行录像所得到的第一视频流数据。

源设备在与目标设备的Miracast模块建立连接后,Miracast模块的镜像单元启动,对呈现在源设备的屏幕显示模块中的画面进行录像得到视频流数据,并将视频流数据存放在屏幕录像缓存区中,之后将视频流数据发送至目标设备。可知,源设备与目标设备实现屏幕共享的画面即为存放在屏幕录像缓存区中的视频流数据。

鉴于源设备与目标设备实现屏幕共享的画面为存放在屏幕录像缓存区中的视频流数据。以下以一个具体实例来说明在实现本发明的过程中,发明人发现的问题。

一部支持Miracast协议的手机(源设备)与一台支持Miracast协议的电视(目标设备)建立连接后,当在手机的前台运行播放器以播放一个视频,手机的屏幕会显示该视频的播放画面,Miracast模块的镜像单元启动,对呈现在手机屏幕中的画面进行录像得到视频流数据,并将视频流数据存放在屏幕录像缓存区中,Miracast模块的抓取单元将视频流数据从屏幕录像缓存区取出并将其发送至手机的通信模块,通信模块再将其发送至电视。电视的屏幕则同步显示该视频的播放画面。此时,当手机的用户需要临时运行其他应用程序但不希望关闭视频播放器(因为有些视频播放器一但关闭后再开启后,不会保留历史播放记录,会重头播放),会将视频播放器退到后台运行,手机的屏幕画面由之前的视频播放画面替换为该应用程序的界面,由于Miracast模块的镜像单元始终是对呈现在手机屏幕中的画面进行录像得到视频流数据,此时得到的视频流数据的内容为应用程序的界面,电视的屏幕因此会同步显示该应用程序的界面。如果临时运行的应用程序具有隐私性(如通话软件、金融交易软件),此时,电视的屏幕同步显示该应用程序的界面则会暴露用户的隐私。如果用户不希望暴露隐私,则只能断开当前手机与电视的连接,待具该应用程序运行结束后再一次与电视连接。这样会带来耗费时间、操作复杂的问题。

图2是本发明发送视频流数据方法的第一实施例的流程图。其中,图2所示的发送视频流数据方法可以适用于支持Miracast的智能手机(如Android手机、Ios手机)、平板电脑、掌上电脑、移动互联网设备MoobileInernetDevices以及智能电视、台式电脑等设备。

如图2所示,在本实施例中,发送视频流数据方法包括一下步骤S1-S3:

步骤S1,获取异步指令。

具体为获取用户发送的异步指令。本发明实施例中,用户发送异步指令的方式具有多样性,例如,用户可以通过在源设备上触碰按钮进行发送异步指令,也可以是用户通过甩动源设备进行发送异步指令,本发明实施例不作限定。当通过甩动源设备进行输入异步指令时,源设备可以获取甩动操作的甩动参数,并将获取到的甩动参数与预设的甩动参数是否匹配,若匹配,则将该甩动操作视为发送异步指令的操作,否则将该甩动操作视为无效操作。预设甩动参数是为了防止误操作。

需要说明的是,在获取异步指令之前,源设备的Miracast模块中的镜像单元对呈现在屏幕中的画面进行录像得到第一视频流数据,并将第一视频流数据存放在屏幕录像缓存区中;Miracast模块中的抓取单元对从屏幕录像缓存区中抓取第一视频流数据,并将第一视频流数据发送至通信单元;通信单元基于WIFI直连协议将第一视频流数据发送给目标设备。

步骤S2,响应异步指令,控制Miracast模块停止从屏幕录像缓存区中抓取第一视频流数据,并控制Miracast模块从正在运行的播放器所对应的视频缓存区中获取第二视频流数据。其中,第一视频流数据为对呈现在屏幕中的画面进行录像得到的数据。播放器在运行时,会在源设备的CPU的缓存器中占据一块缓存区,用来存储数据,该缓存区即为所述视频缓存区。

在一个优选的实施例中,控制Miracast模块停止从屏幕录像缓存区中抓取第一视频流数据,并控制Miracast模块从正在运行的播放器所对应的视频缓存区中获取第二视频流数据包括:将Miracast模块的抓取地址由屏幕录像缓存区的地址更改为正在运行的播放器所对应的视频缓存区的地址。

步骤S3,通过基于WIFI Direct协议建立的通信通道将第二视频流数据发送。

基于WIFI Direct协议建立通信通道为现有技术,在此不再赘述,需要说明的是,源设备的通信模块通过基于WIFI Direct协议建立的通信通道将所述第二视频流数据发送至目标设备。

本发明实施例的有益效果在于,因为采用了在获取异步指令后,从正在运行的播放器所对应的视频缓存区中获取视频流数据,而不是从屏幕录像缓存区中获取视频流数据,所以克服了现有技术中在基于Miracast技术进行传屏的过程中,源设备与目标设备的屏幕所显示的画面必须时时一致的技术问题,进而达到能根据用户的需求实现在需要一致的时候一致,在不需要一致的时候能够保证屏幕显示的画面不一致但目标设备仍旧能够接收到源设备向其分享的视频文件的技术效果,避免了现有技术传屏时为了保护用户隐私而操作繁琐的问题。

图3是本发明发送视频流数据方法的第二实施例的流程图。

如图3所示,本实施方式以上述第一实施方式为基础,在步骤S3通过基于WIFI Direct协议建立的通信通道将第二视频流数据发送的步骤之后,还包括步骤S4-S6:

步骤S4,获取恢复同步指令。

本发明实施例中,用户发送恢复同步指令的方式具有多样性,例如,用户可以通过在源设备上触碰与上述异步指令不同的按钮进行发送恢复同步指令,也可以是用户通过甩动源设备进行发送恢复同步指令,本发明实施例不作限定。当通过甩动源设备进行输入恢复同步指令时,源设备可以获取甩动操作的甩动参数,并将获取到的甩动参数与预设的甩动参数是否匹配,若匹配,则将该甩动操作视为发送恢复同步指令的操作,否则将该甩动操作视为无效操作。预设甩动参数是为了防止误操作。

步骤S5,响应恢复同步指令,控制Miracast模块停止从正在运行的播放器所对应的视频缓存区中获取第二视频流数据,并控制Miracast模块恢复从屏幕录像缓存区中抓取第一视频流数据。

具体地,在源设备检测到用户发送的恢复同步指令之后,控制Miracast模块的抓取单元停止从正在运行的播放器所对应的视频缓存区中获取第二视频流数据,并控制Miracast模块的抓取单元恢复从屏幕录像缓存区中抓取第一视频流数据。其中,第一视频流数据为对呈现在屏幕中的画面进行录像得到的数据。在一个优选的实施例中,控制Miracast模块停止从正在运行的播放器所对应的视频缓存区中获取第二视频流数据,并控制Miracast模块恢复从屏幕录像缓存区中抓取第一视频流数据:将Miracast模块中抓取单元的抓取地址由屏幕录像缓存区的地址更改为正在运行的播放器所对应的视频缓存区的地址。

步骤S6,通过基于WIFI Direct协议建立的通信通道将第一视频流数据发送。

基于WIFI Direct协议建立通信通道为现有技术,在此不再赘述,需要说明的是,源设备的通信模块通过基于WIFI Direct协议建立的通信通道将所述第一视频流数据发送至目标设备。

本发明实施例的有益效果在于,因为采用了在获取恢复同步指令,从从屏幕录像缓存区中获取视频流数据,而不是从正在运行的播放器所对应的视频缓存区中获取视频流数据,能够便于用户恢复Mriacast原来的状态。

图4是本发明发送视频流数据方法的第三实施例的流程图

如图4所示,如果运行的播放器的数量为多个,则从正在运行的播放器所对应的视频缓存区中获取第二视频流数据的步骤之前,还包括以下步骤S01和步骤S02:

步骤S01,比较多个播放器从前台退出至后台的时间;

步骤S02,选择退出至后台的时间最晚的播放器所对应的视频缓存区作为获取第二视频流数据的缓存区。

本发明实施例的有益效果在于,根据播放器从前台退出至后台的时间来判断哪个播放器是用户最近打开的播放器,从而能够在后台运行多个播放器的时候,选择用户最近打开的播放器所对应的缓存区作为Mriacast模块抓取第二视频流的缓存区。

本发明的实施方式还提供了一种接收视频流数据的方法,包括:接收上述发送视频流数据方法的任一项所提到的源设备所发送的第一视频流数据和第二视频流数据。具体的发送视频流数据方法可以适用于支持Miracast的智能手机(如Android手机、Ios手机)、平板电脑、掌上电脑、移动互联网设备MoobileInernetDevices以及智能电视、台式电脑等设备。

图5是本发明发送视频流数据的源设备的第一实施例的模块关系图。

其中,图5所示的源设备可以为支持Miracast的智能手机(如Android手机、Ios手机)、平板电脑、掌上电脑、移动互联网设备MoobileInernetDevices以及智能电视、台式电脑等设备。

如图5所示,在本实施例中,发送视频流数据的源设备包括:指令获取模块10、更改抓取模块20和通信模块70,还包括Miracast模块30、缓存器(包括屏幕录像缓存区40和视频缓存区60)以及安装在当前源设备上的播放器50(软件)。其中,Miracast模块30、缓存器和播放器50为现有技术,其实现方式现有技术中均有记载,且不为本发明的发明点,在此不再赘述。

指令获取模块10,用于获取异步指令,并将该异步指令发送给更改抓取模块20。具体地,指令获取模块10获取的是用户发送的异步指令。本发明实施例中,用户发送异步指令的方式具有多样性,例如,用户可以通过在源设备上触碰按钮进行发送异步指令,也可以是用户通过甩动源设备进行发送异步指令,本发明实施例不作限定。当通过甩动源设备进行输入异步指令时,源设备可以获取甩动操作的甩动参数,并将获取到的甩动参数与预设的甩动参数是否匹配,若匹配,则将该甩动操作视为发送异步指令的操作,否则将该甩动操作视为无效操作。预设甩动参数是为了防止误操作。

需要说明的是,指令获取模块10在获取异步指令之前,源设备的Miracast模块30中的镜像单元对呈现在屏幕中的画面进行录像得到第一视频流数据,并将第一视频流数据存放在屏幕录像缓存区40中;Miracast模块30中的抓取单元对从屏幕录像缓存区40中抓取第一视频流数据,并将第一视频流数据发送至通信单元;通信单元基于WIFI直连协议将第一视频流数据发送给目标设备。

更改抓取模块20接收到异步指令后,控制Miracast模块30停止从屏幕录像缓存区40中抓取第一视频流数据,并控制Miracast模块30从正在运行的播放器50所对应的视频缓存区60中获取第二视频流数据。播放器50在运行时,会在源设备的CPU的缓存器中占据一块缓存区,用来存储数据,该缓存区即为所述视频缓存区60。

在一个优选的实施例中,更改抓取模块20包括第一地址更改单元,用于将Miracast模块30的抓取地址由屏幕录像缓存区40的地址更改为正在运行的播放器50所对应的视频缓存区60的地址,从而使得源设备的Miracast模块30的抓取单元停止从屏幕录像缓存区40中抓取第一视频流数据,并从正在运行的播放器50所对应的视频缓存区60中获取第二视频流数据。

通信模块70,用于通过基于WIFI Direct协议建立的通信通道将所述第二视频流数据发送。基于WIFI Direct协议建立通信通道为现有技术,在此不再赘述,需要说明的是,源设备的通信模块70通过基于WIFI Direct协议建立的通信通道将所述第二视频流数据发送至目标设备。

本发明实施例的有益效果在于,

图6是本发明发送视频流数据的源设备的第二实施例的模块关系图。

如图6所示,本实施方式以上述发送视频流数据的源设备的第一实施方式为基础。

指令获取模块10,还用于获取恢复同步指令。具体的,用于本发明实施例中,用户发送恢复同步指令的方式具有多样性,例如,用户可以通过在源设备上触碰与上述异步指令不同的按钮进行发送恢复同步指令,也可以是用户通过甩动源设备进行发送恢复同步指令,本发明实施例不作限定。当通过甩动源设备进行输入恢复同步指令时,源设备可以获取甩动操作的甩动参数,并将获取到的甩动参数与预设的甩动参数是否匹配,若匹配,则将该甩动操作视为发送恢复同步指令的操作,否则将该甩动操作视为无效操作。预设甩动参数是为了防止误操作。

更改抓取模块20,还用于在接收到恢复同步指令之后,控制Miracast模块30停止从正在运行的播放器50所对应的视频缓存区60中获取第二视频流数据,并控制Miracast模块30恢复从屏幕录像缓存区40中抓取第一视频流数据。具体地,在源设备的更改抓取模块20接收到用户发送的恢复同步指令之后,更改抓取模块20控制源设备的Miracast模块30的抓取单元停止从正在运行的播放器50所对应的视频缓存区60中获取第二视频流数据,并控制其恢复从屏幕录像缓存区40中抓取第一视频流数据。其中,第一视频流数据为对呈现在屏幕中的画面进行录像得到的数据。

在一个优选的实施例中,更改抓取模块20包括第二地址更改单元,用于将Miracast模块30的抓取地址由正在运行的播放器50所对应的视频缓存区60的地址更改为屏幕录像缓存区40的地址,从而使得源设备的Miracast模块30的抓取单元停止从正在运行的播放器50所对应的视频缓存区60中获取第二视频流数据,并恢复从屏幕录像缓存区40中抓取第一视频流数据。

通信模块70,还用于通过基WIFI Direct协议建立的通信通道将第一视频流数据发送。基于WIFI Direct协议建立通信通道为现有技术,在此不再赘述,需要说明的是,源设备的通信模块70通过基于WIFI Direct协议建立的通信通道将所述第一视频流数据发送至目标设备。

本发明实施例的有益效果在于,因为采用了在获取恢复同步指令,从从屏幕录像缓存区中获取视频流数据,而不是从正在运行的播放器所对应的视频缓存区中获取视频流数据,能够便于用户恢复Mriacast原来的状态。

图7是本发明发送视频流数据的源设备的第三实施例的模块关系图。

本实施方式以上述发送视频流数据的源设备的任一项实施方式为基础。

如图7所示,若正在运行的播放器50的数量为多个,则发送视频流数据的源设备还包括比较模块和选择模块;

比较模块,用于比较多个播放器50从前台退出至后台的时间。选择模块,用于选择退出至后台的时间最晚的播放器50所对应的视频缓存区60作为获取第二视频流数据的缓存区,并将选择结果发送至更改抓取模块20。

本发明实施例的有益效果在于,根据播放器从前台退出至后台的时间来判断哪个播放器是用户最近打开的播放器,从而能够在后台运行多个播放器的时候,选择用户最近打开的播放器所对应的缓存区作为Mriacast模块抓取第二视频流的缓存区。

本发明实施例还同时提供了一种电子设备,包括:至少一个第一处理器;以及,

与所述至少一个第一处理器通信连接的第一存储器;其中,

所述第一存储器存储有可被所述至少一个第一处理器执行的指令,所述指令被所述至少一个第一处理器执行,以使所述至少一个第一处理器能够实现如上所述的发送视频流数据的方法。

此外,本发明实施例提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令用于使计算机执行上述任一个实施例的方法。本发明实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,所述计算机指令用于使计算机执行上述任一个实施例的方法。

本发明的实施方式还提供了一种接收视频流数据的目标设备,用于接收上述发送视频流数据的源设备任一项所发送的第一视频流数据和第二视频流数据。具体地,目标设备可以为支持Miracast的智能手机(如Android手机、Ios手机)、平板电脑、掌上电脑、移动互联网设备MoobileInernetDevices以及智能电视、台式电脑等设备。

本发明的实施方式还提供了一种分享视频流数据的系统,包括上述任一项实施例中的发送视频流数据的源设备和接收视频流数据的目标设备。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1