屏幕录制方法和装置与流程

文档序号:12498985阅读:223来源:国知局
屏幕录制方法和装置与流程

本发明涉及计算机数据处理技术领域,特别是涉及一种屏幕录制方法及装置。



背景技术:

随着计算软、硬件技术的发展,游戏已经成为人们人生中不可或缺的娱乐项目。在一些视频网站上,常能够看到一些精彩的游戏视频,游戏玩家将游戏过程录制成视频放在网络上共享学习。同时,游戏玩家还可以通过直播平台直直播游戏过程。

不管是录制和直播游戏过程,都是将游戏玩家的屏幕所显示的内容录制成视频文件。现有的屏幕录制方法通过采用屏幕录制软件进行录制。对于使用非开源操作系统的终端设备设备而言,常常需要越狱解除原有固件对手机系统的限制后,才能安装非官方或第三方发布的录制屏幕的应用程序,对游戏过程录制,这就使用户使用移动终端进行屏幕录制受到的限制,具有较大的局限性。



技术实现要素:

基于此,本发明提供一种可解决上述问题的屏幕录制方法及装置。

为达到上述目的,本发明实施例采用以下技术方案:

一种屏幕录制方法,包括:

通过终端设备支持的组播协议发布组播信息;

接收终端设备通过终端设备支持的无线通信协议发送的连接请求,所述连接请求包括所述终端设备接收到的所述组播信息;

根据所述连接请求与所述终端设备连接,建立与所述终端设备的屏幕输出传送通道;

通过所述屏幕输出传送通道接收所述终端设备发送的所述终端设备屏幕输出的视频流;

录制所述视频流并转换得到视频文件。

一种屏幕录制装置,包括:发布模块、接收模块、连接模块和转换模块;

所述发布模块,用于通过终端设备支持的组播协议发布组播信息;

所述接收模块,用于接收终端设备通过终端设备支持的无线通信协议发送的连接请求,所述连接请求包括所述终端设备接收到的所述组播信息,还通过所述连接模块建立的屏幕输出传送通道接收所述终端设备发送的所述终端设备屏幕输出的视频流;

所述连接模块,用于根据所述连接请求与所述终端设备连接,建立与所述终端设备的所述屏幕输出传送通道;

所述转换模块,用于录制所述视频流并转换得到视频文件。

上述的屏幕录制方法,通过在其它终端利用终端设备支持的组播协议发布组播信息,终端设备通过终端设备支持的无线通信协议与发布组播信息的其它终端连接,将视频流发送至与终端设备连接的其它终端,达成由其它终端录制终端设备的屏幕输出的目的,摆脱了对录制屏幕的执行终端的操作系统的限制,具有应用广泛的优点。

附图说明

图1为一个实施例的屏幕录制方法的应用环境示意图;

图2为一个实施例中服务终端的内部结构示意图;

图3为一个实施例的屏幕录制方法的流程图;

图4为一个实施例中建立屏幕输出传送通道的步骤示意图;

图5为一个实施例中服务终端与终端设备采用ROAP协议建立搭建媒体通道的时序说明图;

图6为另一个实施例的屏幕录制方法的时序说明图;

图7为一个实施例的终端设备的Airplay服务列表示意图;

图8为一个实施例的屏幕录制装置的结构示意图;

图9为另一个实施例的屏幕录制装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

图1为一个实施例屏幕录制方法的应用环境示意图。如图1所示,该应用环境包括服务终端110和终端设备120,服务终端110和终端设备120通过网络连接。服务终端通过终端设备支持的组播协议发布组播信息,一种终端设备支持的组播协议为MDNS协议(multicast DNS)。组播信息包括服务终端110的IP地址、MAC地址(Media Access Control,物理地址)和可使用的端口号等。本实施例中的终端设备,包括但不限于手机、个人电脑、平板电脑和电视机等。在一种具体的实施方式中,终端设备可以为IOS设备,IOS设备带有Airplay功能。Airplay技术是采用MDNS协议进行通信的无线技术。服务终端通过MDNS协议发布组播信息,提供Airplay服务。本实施例的服务终端不仅限于IOS设备。采用IOS设备支持的组播协议发布组播信息,可实现在其它操作系统的移动设备上发布Airplay服务,例如安卓系统。

以终端设备为IOS设备为例,处于同一个局域网内的IOS设备在打开Airplay服务列表时会进行搜索,从而可以发现发布Airplay服务的服务终端。IOS设备利用自带的Airplay功能,通过局域网向其它拥有Airplay功能服务终端发送连接请求,建立与服务终端的屏幕输出传送通道。IOS设备120的屏幕输出的视频流发送至服务终端110,由服务终端110进行录制成视频文件。视频片段可存储在服务终端本地或通过网络进行直播。

图2为一个实施例中服务终端的内部结构示意图。如图2所示,该服务终端包括通过系统总线连接的处理器、存储介质(外存)、内存和网络接口。其中,服务终端的存储介质存储有操作系统,还包括一种屏幕录制装置,该屏幕录制装置用于实现一种屏幕录制方法。该处理器用于提供计算和控制能力,支撑整个服务器的运行。服务终端中的内存为存储介质中的屏幕录制装置的运行提供环境,网络接口用于与终端设备进行网络通信,如接收终端设备发送的视频数据,将录制的视频文件直接发送至其它终端等。本领域技术人员可以理解,图2中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的服务器的限定,具体的服务终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

图3为一个实施例中屏幕录制方法的流程图,本实施例以终端设备支持的组播协议为MDNS协议为例进行说明。该屏幕录制方法运行在图1所示的服务终端110上,该实施例的方法包括以下步骤:

S302:通过MDNS协议发布组播信息。

MDNS协议即组播DNS(multicast DNS),MDNS主要实现了在没有传统DNS服务器的情况下使局域网内的主机实现相互发现和通信。组播信息包括服务终端的IP地址、MAC地址、名称和端口等。

S304:接收终端设备通过终端设备支持的无线通信协议发送的连接请求,连接请求包括终端设备接收到的组播信息。

服务终端接收终端设备通过终端设备支持的无线通信协议发送的连接请求,连接请求包括服务终端的组播信息。终端设备侦测处于同一个局域网内提供该无线通信协议服务的服务终端,并将侦测到的服务终端添加至可连接服务列表中。

处于同一个局域网的服务终端显示在服务列表中,终端设备的用户在服务列表中选择需要连接的服务终端,打开镜像开关。终端设备根据用户的选择,向选择的服务终端发送连接请求。

S306:根据连接请求与终端设备连接,建立与终端设备的屏幕输出传送通道。

当服务终端接收到终端设备的连接请求时,建立与终端设备的屏幕输出传送通道。终端设备的屏幕输出内容通过传送通道发送至服务终端。屏幕输出是指将屏幕所显示的内容的原始图像数据以二进制编码形式输出,对于屏幕输出的原始图像数据可进行二次编码,从而生成图片或视频。

S308:通过屏幕输出传送通道接收终端设备发送的终端设备屏幕输出的视频流。

终端设备将屏幕输出的原始数据进行编码得到视频流。视频流的编码格式不限,例如采用H.264或MPEG-4编码得到视频流。终端设备将屏幕输出的视频流通过屏幕输出传送通道发送至服务终端。

终端设备的屏幕输出内容投影显示在服务终端的屏幕上。本实施例中,步骤S308具体包括:通过屏幕输出传送通道接收终端设备发送的终端设备屏幕输出的视频流并显示在屏幕上。通过服务终端的屏幕,能够观看到服务终端的屏幕内容。

S310:录制视频流并转换得到视频文件。

录制得到的视频文件可存储在服务终端上,或将视频文件通过服务终端进行直播。具体的,录制的视频流可设定每10秒为一个分段,将录制的视频流分段存储为连续的、很短时长的视频流保存为的视频片段。当需要进行直播时,接收直播视频的终端按顺序播放从服务终端获取到的视频片段即可实现直播。

上述的屏幕录制方法,通过在其它终端利用终端设备支持的组播协议发布组播信息,终端设备通过终端设备支持的无线通信与发布组播信息的其它终端连接,将视频流发送至与终端设备连接的其它终端,达成由其它终端录制终端设备的屏幕输出的目的,摆脱了对录制屏幕的执行终端的操作系统的限制,具有应用广泛的优点。

在一种实施方式中,终端设备可以为IOS设备,终端设备支持的无线通信采用Airplay协议。Airplay技术是采用MDNS协议进行通信的无线技术。服务终端通过MDNS协议发布组播信息,提供Airplay服务。

在一种实施方式中,IOS设备可作为与其连接、接收其屏幕输出信息并进行屏幕录制的服务终端。该设备预先通过MDNS协议发布组播信息,组播消息包括名称和服务端口号。当IOS设备打开Airplay服务时,IOS设备作为服务终端显示在Airplay服务列表中,服务列表中所显示的信息为通过MDNS协议发布的信息。若用户选择连接,则IOS设备将本机作为服务终端,通过该服务端口号将屏幕输出信息发送服务终端。该实施例中,由于IOS的服务终端实际上为IOS设备本机本身,该方便利用IOS设备自带的Airplay服务,无需安装屏幕录制软件,无需其它终端的参与,操作方便快捷。

在另一个实施例中,步骤S310具体包括以下步骤A至步骤C。

步骤A:获取音频输入数据。

步骤B:将视频流转换为色彩空间数据。

步骤C:将色彩空间数据与音频输入数据合成视频文件。

本实施例中的音频输入数据为服务终端的麦克风采集的音频输入数据。色彩空间数据具体采用YUV数据,YUV数据主要用于优化彩色视频信号的传输。当进行游戏直播时,讲解人员在服务终端进行讲解,服务终端的麦克风采集音频输入数据,将接收的H.264格式的视频流解码,获得原始YUV数据源,将音频输入数据和YUV数据合成视频文件。该屏幕录制方法,特别适应于直播环境,例如,游戏直播和比赛直播,录制的视频文件中不仅包括终端设备屏幕内容相关的视频流,还加入讲解人员的音频,由于讲解人员讲解通常跟视频内容相关,通过将讲解人员的音频和视频流经过二次编码合成视频文件,能够实现讲解人员的音频和视频流的同步,保持二者的一致性。

在另一个实施例中,如图4所示,步骤S304的与终端设备连接并建立屏幕输出传送通道的步骤包括:

S3041:根据连接请求与终端设备连接。

S3042:采用终端设备支持的媒体通道搭建协议建立与终端设备的屏幕输出传送通道。

在一种实施方式中,终端设备支持的媒体通道搭建协议采用ROAP协议(RTCWEB Offer/Answer Protocol,实时网页提议应答协议),终端设备和服务终端采用ROAP协议与终端设备进行相互验证,搭建屏幕输出传送通道。

具体的,步骤S3042包括以下步骤1至步骤2:

步骤1:接收终端设备通过ROAP协议发送的初始消息,初始消息包括密钥协商信息、数据端口请求信息和投影参数请求信息。

步骤2:通过ROAP协议向终端设备返回初始消息响应,搭建完成与终端设备的屏幕输出传送通道;初始消息响应包括通信密钥、数据端口信息和投影参数。

图5为一个实施例的服务终端与终端设备采用ROAP协议建立搭建媒体通道的时序说明图。如图5所示,服务终端和终端设备通过Airplay协议连接后,通过ROAP协议与终端设备协议进行鉴权,确认双方的合法性。终端设备采用ROAP协议向服务终端发送密钥协商信息,服务终端向ROAP发送密钥,通过ROAP协议,服务终端和终端设备相互协商生成通信密钥。后续的通信过程以该密钥为基础进行加密和解密,有效保证通信的安全性。

终端设备向服务终端发送数据端口请求信息,完成鉴权后,服务终端分别开启音频服务、视频服务、时间校准服务,然后将音频服务、视频服务、时间校准服务的端口放回给终端设备,完成服务终端的音频服务、视频服务和时间校准服务的端口的初始化。终端设备后续的音频输出、视频输出、时间校准将通过约定的三个端口进行交互。

终端设备向服务终端发送投影参数请求信息,服务终端向终端设备返回投影参数,投影参数包括视频分辨率和帧率。终端设备将终端设备的屏幕输出根据投影参数进行编码得到视频流。

通过协商确定通信密钥、初始化服务终端的音频服务、视频服务和时间校准服务的端口以及确定投影参数,终端设备与服务终端成功配对,终端设备的屏幕输出传送通道建立完成。

在又一个实施例中,步骤S310包括:当接收到开始录制指令时,根据开始录制指令录制视频流并转换为视频片段。

终端设备和服务终端可以分别设置有开始录制按钮、停止录制按钮和暂停录制按钮。当用户按压对应的按钮时,对应的终端侦测到用户的按压操作,并确定录制指令。开始录制指令可以用户在终端设备上操作产生,也可以在服务终端上操作产生。应当理解的是,当开始录制指令在终端设备上操作产生时,开始录制指令通过屏幕输出传送通道发送至服务终端,同时还包括开始录制操作的产生时间。当服务终端接收到开始录制指令时,在对应的时间开始录制视频流。可以理解的是,服务终端和终端设备应当进行时间校准,从而保持时间的一致性。

暂时录制按钮用于产生暂停录制指令,当服务终端接收到暂停录制指令时,暂停屏幕录制。并在重新接收到开始录制指令后,继续录制终端设备的屏幕输出内容。

停止录制按钮用于产生停止录制指令,当服务终端接收到停止录制指令时,服务终端停止录制。在一种具体的实施方式中,服务终端根据停止录制指令,将连续录制的多个视频片段合同一个完整的视频文件,并保存。在另一种具体的实施方式中,服务终端根据停止录制指令,停止录制,并断开与终端设备的Airplay连接。在又一种具体的实施方式中,服务终端实时侦测与终端设备的通信连接是否断开,当侦测到与终端设备的通信连接断开时,停止录制,将连续录制的多个视频片段合同一个完整的视频文件,并保存。

在一个具体的实施例中,如图6所示,以终端设备为IOS设备、终端设备支持的组播协议为MDNS协议、终端设备支持的无线通信协议为Airplay协议、终端设备支持的媒体通道搭建协议为ROAP协议为例,对屏幕录制方法进行说明,该方法包括以下步骤1至步骤12。

步骤1:服务终端通过MDNS协议发布组播信息。

步骤2:侦测Airplay服务,将服务终端的组播信息添加至Airplay服务列表中。一个实施例的IOS设备的Airplay服务列表如图7所示,图7所示的服务列表中两个服务终端为IOS设备搜索到的与IOS设备处于同一个局域网且提供Airplay服务的终端。

步骤3:IOS设备获取用户所选择的服务终端,通过Airplay协议向服务终端发送连接请求。

步骤4:服务终端根据连接请求与IOS设备连接。

步骤5:采用ROAP协议,IOS设备向服务终端发送初始消息。初始消息包括密钥协商信息、数据端口请求信息和投影参数请求信息。

步骤6:服务终端通过ROAP协议向IOS设备返回初始消息响应,搭建完成与IOS设备的屏幕输出传送通道。初始消息响应包括协商确定的密钥、数据端口和投影参数。其中,数据端口包括服务终端的音频服务、视频服务和时间校准服务的端口。投影参数包括视频分辨率和帧率。

步骤7:IOS设备将屏幕输出根据投影参数进行编码得到视频流,并将视频流通过屏幕输出传送通道向服务终端发送。

步骤8:服务终端通过对应的端口接收视频流并显示。

步骤9:服务终端接收开始录制指令,根据开始录制指令将视频流转换为YUV数据。

步骤10:服务终端获取音频输入数据。

步骤11:服务终端将YUV数据与音频输入数据合成视频文件。

其中,视频文件优选为连续的、很短时长的视频流保存为的视频片段,当需要进行直播时,接收直播视频的终端按顺序播放从服务终端获取到的视频片段即可实现直播。

步骤12:服务终端将视频文件存储或向其它终端发送视频文件。

上述的屏幕录制方法,通过在其它终端利用MDNS协议发布组播信息提供Airplay服务,IOS设备通过Airplay与提供Airplay服务的其它终端连接,将视频流发送至与IOS设备连接的其它终端,达成由其它终端录制IOS设备的屏幕输出的目的,摆脱了对录制屏幕的执行终端的操作系统的限制,具有应用广泛的优点。并且,录制的视频文件可存储或发送给其它终端。上述的屏幕录制方法特别适用于游戏直播的场景。

在一个实施例中,提供一种屏幕录制装置,该装置设置在图1所示的服务终端110内。如图8所示,该装置发布模块801、接收模块802、连接模块803和转换模块804。

发布模块801,用于通过终端设备支持的组播协议发布组播信息。

接收模块802,用于接收终端设备通过终端设备支持的无线通信协议发送的连接请求,连接请求包括终端设备接收到的组播信息,还通过连接模块建立的屏幕输出传送通道接收终端设备发送的终端设备屏幕输出的视频流。

连接模块803,用于根据连接请求与终端设备连接,建立与终端设备的屏幕输出传送通道。

转换模块804,用于录制视频流并转换得到视频文件。

录制得到的视频文件可存储在服务终端上,或将视频文件通过服务终端进行直播。具体的,录制的视频流可设定每10秒为一个分段,将录制的视频流分段存储为连续的、很短时长的视频流保存为的视频片段。当需要进行直播时,接收直播视频的终端按顺序播放从服务终端获取到的视频片段即可实现直播。

上述的屏幕录制装置,通过在其它终端利用终端设备支持的组播协议发布组播信息,终端设备通过终端设备支持的无线通信与发布组播信息的其它终端连接,将视频流发送至与终端设备连接的其它终端,达成由其它终端录制终端设备的屏幕输出的目的,摆脱了对录制屏幕的执行终端的操作系统的限制,具有应用广泛的优点。

在又一个实施例中,如图9所示,转换模块804包括音频获取模块、视频转换模块和合成模块。

音频获取模块,用于获取音频输入数据。

视频转换模块,用于将视频流转换为色彩空间数据。

合成模块,用于将色彩空间数据与音频输入数据合成视频文件。

本实施例中的音频输入数据为服务终端的麦克风采集的音频输入数据。当进行游戏直播时,讲解人员在服务终端进行讲解,服务终端的麦克风采集音频输入数据,将接收的H.264格式的视频流解码,获得原始YUV数据源,将音频输入数据和YUV数据合成视频文件。该屏幕录制装置,特别适应于直播环境,例如,游戏直播和比赛直播,录制的视频文件中不仅包括终端设备屏幕内容相关的视频流,还加入讲解人员的音频,由于讲解人员讲解通常跟视频内容相关,通过将讲解人员的音频和视频流经过二次编码合成视频文件,能够实现讲解人员的音频和视频流的同步,保持二者的一致性。

在再一个实施例中,连接模块包括:设备连接模块和通道建立模块。

设备连接模块,用于根据连接请求与终端设备连接。

通道建立模块,用于采用终端设备支持的媒体通道搭建协议建立与终端设备的屏幕输出传送通道。

具体的,通道建立模块包括消息接收模块和消息响应模块。

消息接收模块,用于接收终端设备通过终端设备支持的媒体通道搭建协议发送的初始消息;初始消息包括密钥协商信息、数据端口请求信息和投影参数请求信息。

消息响应模块,用于通过终端设备支持的媒体通道搭建协议向终端设备返回初始消息响应,搭建完成与终端设备的屏幕输出传送通道;初始消息响应包括通信密钥、数据端口信息和投影参数。

图5为一个实施例的,服务终端与终端设备采用ROAP协议建立搭建媒体通道的时序说明图。如图5所示,服务终端和终端设备通过Airplay协议连接后,通过ROAP协议与终端设备协议进行鉴权,确认双方的合法性,建立屏幕输出传送通道。

在又一个实施例中,转换模块804,用于当接收到开始录制指令时,根据开始录制指令录制视频流并转换为视频文件。

上述的屏幕录制装置,能够达成由其它终端录制终端设备的屏幕输出的目的,摆脱了对录制屏幕的执行终端的操作系统的限制,具有应用广泛的优点。并且,录制的视频文件可存储或发送给其它终端。上述的屏幕录制装置特别适用于游戏直播的场景。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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