CN113873187B - 跨终端录屏方法、终端设备及存储介质 - Google Patents
跨终端录屏方法、终端设备及存储介质 Download PDFInfo
- Publication number
- CN113873187B CN113873187B CN202010534337.6A CN202010534337A CN113873187B CN 113873187 B CN113873187 B CN 113873187B CN 202010534337 A CN202010534337 A CN 202010534337A CN 113873187 B CN113873187 B CN 113873187B
- Authority
- CN
- China
- Prior art keywords
- terminal
- original
- data
- audio
- target
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72409—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/7243—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72409—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
- H04M1/72412—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本申请适用于终端技术领域,尤其涉及一种跨终端录屏方法、终端设备及计算机可读存储介质。所述方法可以根据第一终端中的混流器所对应的目标音频结构和目标视频结构对第二终端中的编码器编码后的原始音频数据和原始视频数据进行转换,以得到第一终端中的混流器混流所需的目标音频数据和目标视频数据,从而使得混流器可混流得到可正常播放的录屏数据,实现不同类型的编码器与混流器之间的兼容,解决跨终端录屏无法适用于具有不同类型编码器和混流器的终端之间的问题,提高跨终端录屏的应用范围,具有较强的易用性和实用性。
Description
技术领域
本申请属于终端技术领域,尤其涉及一种跨终端录屏方法、终端设备及计算机可读存储介质。
背景技术
跨终端录屏是指利用第一终端对第二终端正在呈现的画面进行录制并保存于第一终端的过程。目前的跨终端录屏一般是由第二终端对其正在呈现的画面进行音视频的实时采集,并通过第二终端中的编码器对所采集的音视频进行编码后发送至第一终端。第一终端接收到编码的音视频后,可通过第一终端中的混流器对音视频混流合成录屏数据保存于第一终端,使得第一终端可以实时分享第二终端正在呈现的画面。但现有的跨终端录屏一般要求第二终端中的编码器与第一终端中的混流器是基于相同框架所开发的,而当第二终端中的编码器与第一终端中的混流器基于不同框架开发时,则会使得第一终端混流合成的录屏数据无法正常播放。也就是说,现有的跨终端录屏只能适用于具有相同类型编码器和混流器的终端之间,无法适用于具有不同类型编码器与混流器的终端之间。
发明内容
本申请实施例提供了一种跨终端录屏方法、终端设备及计算机可读存储介质,可实现不同类型的编码器与混流器之间的兼容。
第一方面,本申请实施例提供了一种跨终端录屏方法,应用于第一终端,所述方法可以包括:
向第二终端发送录屏请求信息,所述录屏请求信息用于指示所述第二终端将当前显示内容对应的原始音频数据和原始视频数据发送至所述第一终端;
接收所述第二终端发送的与所述第二终端当前显示内容对应的原始音频数据和原始视频数据;
确定所述第一终端中的混流器所对应的目标音频结构和目标视频结构;
根据所述目标音频结构获取所述原始音频数据对应的目标音频数据,并根据所述目标视频结构获取所述原始视频数据对应的目标视频数据;
通过所述混流器对所述目标音频数据和所述目标视频数据进行混流处理,得到录屏数据。
本实施例中,第一终端可以根据第一终端中的混流器所对应的目标音频结构和目标视频结构对第二终端中的编码器编码后得到的原始音频数据和原始视频数据进行转换,以得到第一终端中的混流器混流所需的目标音频数据和目标视频数据,从而使得混流器可混流得到可正常播放的录屏数据,实现不同类型的编码器与混流器之间的兼容,解决跨终端录屏无法适用于具有不同类型编码器和混流器的终端之间的问题,提高跨终端录屏的应用范围,具有较强的易用性和实用性。
在第一方面的一种可能的实现方式中,所述根据所述目标音频结构获取所述原始音频数据对应的目标音频数据,并根据所述目标视频结构获取所述原始视频数据对应的目标视频数据可以包括:
根据预设音频结构获取所述原始音频数据对应的候选音频数据,并根据预设视频结构获取所述原始视频数据对应的候选视频数据;
根据预先建立的所述预设音频结构与所述目标音频结构之间的对应关系,将所述候选音频数据转换为所述目标音频数据,并根据预先建立的所述预设视频结构与所述目标视频结构之间的对应关系,将所述候选视频数据转换为所述目标视频数据。
示例性的,所述根据预设音频结构获取所述原始音频数据对应的候选音频数据,并根据预设视频结构获取所述原始视频数据对应的候选视频数据可以包括:
确定所述原始音频数据对应的原始音频结构,以及所述原始视频数据对应的原始视频结构;
根据预先建立的所述原始音频结构与所述预设音频结构之间的对应关系,将所述原始音频数据转换为所述候选音频数据,并根据预先建立的所述原始视频结构与所述预设视频结构之间的对应关系,将所述原始视频数据转换为所述候选视频数据。
具体地,所述录屏数据为MP4格式的数据。
在第一方面的一种可能的实现方式中,在接收所述第二终端发送的与所述第二终端当前显示内容对应的原始音频数据和原始视频数据之后,还可以包括:
通过所述第一终端中的视频解码器对所述原始视频数据进行解码,并将解码得到的原始视频数据渲染于所述第一终端的显示界面。
在该可能的实现方式提供的方法中,第一终端在对第二终端正在呈现的内容进行录屏的过程中,可以同步显示所录屏的内容,提高用户体验。
在第一方面的另一种可能的实现方式中,在接收所述第二终端发送的与所述第二终端当前显示内容对应的原始音频数据和原始视频数据之后,还可以包括:
通过所述第一终端中的音频解码器对所述原始音频数据进行解码,并将解码得到的原始音频数据通过所述第一终端的声音播放装置进行播放。
示例性的,所述方法还可以包括:
若在所述第一终端上检测到停止录屏指令,则指示所述第二终端停止发送原始音频数据和原始视频数据,并将所述录屏数据保存于所述第一终端。
第二方面,本申请实施例提供了一种跨终端录屏方法,应用于第二终端,所述方法可以包括:
在接收到第一终端的录屏请求信息后,获取与所述第二终端当前显示内容对应的原始音频数据和原始视频数据;
确定所述第一终端中的混流器所对应的目标音频结构和目标视频结构;
根据所述目标音频结构获取所述原始音频数据对应的目标音频数据,并根据所述目标视频结构获取所述原始视频数据对应的目标视频数据;
将所述目标音频数据和所述目标视频数据发送至所述第一终端,以指示所述第一终端通过所述第一终端中的混流器对所述目标音频数据和所述目标视频数据进行混流处理,得到录屏数据。
本实施例中,第二终端可以根据第一终端中的混流器所对应的目标音频结构和目标视频结构对第二终端中的编码器编码后得到的原始音频数据和原始视频数据进行转换,得到第一终端中的混流器混流所需的目标音频数据和目标视频数据,并将目标音频数据和目标视频数据发送至第一终端,使得第一终端的混流器可以对根据目标音频数据和目标视频数据进行混流处理,得到可正常播放的录屏数据,实现不同类型的编码器与混流器之间的兼容,解决跨终端录屏无法适用于具有不同类型编码器和混流器的终端之间的问题,提高跨终端录屏的应用范围,具有较强的易用性和实用性。
在第二方面的一种可能的实现方式中,所述根据所述目标音频结构获取所述原始音频数据对应的目标音频数据,并根据所述目标视频结构获取所述原始视频数据对应的目标视频数据包括:
根据预设音频结构获取所述原始音频数据对应的候选音频数据,并根据预设视频结构获取所述原始视频数据对应的候选视频数据;
根据预先建立的所述预设音频结构与所述目标音频结构之间的对应关系,将所述候选音频数据转换为所述目标音频数据,并根据预先建立的所述预设视频结构与所述目标视频结构之间的对应关系,将所述候选视频数据转换为所述目标视频数据。
示例性的,所述根据预设音频结构获取所述原始音频数据对应的候选音频数据,并根据预设视频结构获取所述原始视频数据对应的候选视频数据可以包括:
确定所述原始音频数据对应的原始音频结构,以及所述原始视频数据对应的原始视频结构;
根据预先建立的所述原始音频结构与所述预设音频结构之间的对应关系,将所述原始音频数据转换为所述候选音频数据,并根据预先建立的所述原始视频结构与所述预设视频结构之间的对应关系,将所述原始视频数据转换为所述候选视频数据。
应理解,所述在接收到第一终端的录屏请求信息后,获取与所述第二终端当前显示内容对应的原始音频数据和原始视频数据,可以包括:
在检测到所述第一终端对所述第二终端的触碰操作后,获取与所述第二终端当前显示内容对应的原始音频数据和原始视频数据。
示例性的,所述方法还可以包括:
若在所述第二终端上检测到停止录屏指令,则停止向所述第一终端发送原始音频数据和原始视频数据。
第三方面,本申请实施例提供了一种跨终端录屏方法,可以包括:
第一终端发送录屏请求信息至第二终端;
所述第二终端在接收到所述第一终端的录屏请求信息后,获取与所述第二终端当前显示内容对应的原始音频数据和原始视频数据;
所述第二终端根据预设音频结构获取所述原始音频数据对应的候选音频数据,以及根据预设视频结构获取所述原始视频数据对应的候选视频数据,并将所述候选音频数据和所述候选视频数据发送至所述第一终端;
所述第一终端确定所述第一终端中的混流器所对应的目标音频结构和目标视频结构,并根据所述目标音频结构获取所述候选音频数据对应的目标音频数据,以及根据所述目标视频结构获取所述候选视频数据对应的目标视频数据;
所述第一终端通过所述第一终端中的混流器对所述目标音频数据和所述目标视频数据进行混流处理,得到录屏数据。
本实施例中,通过在第一终端和第二终端中设置MFSM模块来进行目标音频数据和目标视频数据的中间转换,可极大地简化第一终端和第二终端中对应关系的配置,从而可以减少开发工作人员的开发工作量以及后续的更新工作量,并可以有效减少目标音频结构和目标视频结构的查找时间,从而可有效提高目标音频数据和目标视频数据的转换速度,提高混流器的混流效率。
在第三方面一种可能的实现方式中,所述第二终端根据预设音频结构获取所述原始音频数据对应的候选音频数据,以及根据预设视频结构获取所述原始视频数据对应的候选视频数据可以包括:
所述第二终端确定所述原始音频数据对应的原始音频结构,以及所述原始视频数据对应的原始视频结构;
所述第二终端根据预先建立的所述原始音频结构与所述预设音频结构之间的对应关系,将所述原始音频数据转换为所述候选音频数据,以及根据预先建立的所述原始视频结构与所述预设视频结构之间的对应关系,将所述原始视频数据转换为所述候选视频数据。
示例性的,所述第一终端根据所述目标音频结构获取所述候选音频数据对应的目标音频数据,以及根据所述目标视频结构获取所述候选视频数据对应的目标视频数据可以包括:
所述第一终端根据预先建立的所述预设音频结构与所述目标音频结构之间的对应关系,将所述候选音频数据转换为所述目标音频数据,并根据预先建立的所述预设视频结构与所述目标视频结构之间的对应关系,将所述候选视频数据转换为所述目标视频数据。
在第三方面一种可能的实现方式中,所述方法还可以包括:
若所述第一终端在所述第一终端上检测到停止录屏指令,所述第一终端则指示所述第二终端停止发送原始音频数据和原始视频数据,并将所述录屏数据保存于所述第一终端。
示例性的,所述第二终端在接收到所述第一终端的录屏请求信息后,获取与所述第二终端当前显示内容对应的原始音频数据和原始视频数据,可以包括:
所述第二终端在检测到所述第一终端对所述第二终端的触碰操作后,获取与所述第二终端当前显示内容对应的原始音频数据和原始视频数据。
在第三方面一种可能的实现方式中,所述方法还可以包括:
若所述第二终端在所述第二终端上检测到停止录屏指令,则停止向所述第一终端发送原始音频数据和原始视频数据。
具体地,所述录屏数据为MP4格式的数据。
第四方面,本申请实施例提供了一种跨终端录屏装置,应用于第一终端,所述装置可以包括:
请求发送模块,用于向第二终端发送录屏请求信息,所述录屏请求信息用于指示所述第二终端将当前显示内容对应的原始音频数据和原始视频数据发送至所述第一终端;
原始音视频接收模块,用于接收所述第二终端发送的与所述第二终端当前显示内容对应的原始音频数据和原始视频数据;
目标结构确定模块,用于确定所述第一终端中的混流器所对应的目标音频结构和目标视频结构;
目标音视频获取模块,用于根据所述目标音频结构获取所述原始音频数据对应的目标音频数据,并根据所述目标视频结构获取所述原始视频数据对应的目标视频数据;
混流模块,用于通过所述混流器对所述目标音频数据和所述目标视频数据进行混流处理,得到录屏数据。
在第四方面的一种可能的实现方式中,所述目标音视频获取模块,可以包括:
候选音视频获取单元,用于根据预设音频结构获取所述原始音频数据对应的候选音频数据,并根据预设视频结构获取所述原始视频数据对应的候选视频数据;
目标音视频获取单元,用于根据预先建立的所述预设音频结构与所述目标音频结构之间的对应关系,将所述候选音频数据转换为所述目标音频数据,并根据预先建立的所述预设视频结构与所述目标视频结构之间的对应关系,将所述候选视频数据转换为所述目标视频数据。
示例性的,所述候选音视频获取单元,可以包括:
原始结构确定子单元,用于确定所述原始音频数据对应的原始音频结构,以及所述原始视频数据对应的原始视频结构;
候选音视频获取子单元,用于根据预先建立的所述原始音频结构与所述预设音频结构之间的对应关系,将所述原始音频数据转换为所述候选音频数据,并根据预先建立的所述原始视频结构与所述预设视频结构之间的对应关系,将所述原始视频数据转换为所述候选视频数据。
具体地,所述录屏数据为MP4格式的数据。
在第四方面的一种可能的实现方式中,所述装置还可以包括:
视频显示模块,用于通过所述第一终端中的视频解码器对所述原始视频数据进行解码,并将解码得到的原始视频数据渲染于所述第一终端的显示界面。
在第四方面的另一种可能的实现方式中,所述装置还可以包括:
音频播放模块,用于通过所述第一终端中的音频解码器对所述原始音频数据进行解码,并将解码得到的原始音频数据通过所述第一终端的声音播放装置进行播放。
示例性的,所述装置还可以包括:
录屏保存模块,用于若在所述第一终端上检测到停止录屏指令,则指示所述第二终端停止发送原始音频数据和原始视频数据,并将所述录屏数据保存于所述第一终端。
第五方面,本申请实施例提供了一种跨终端录屏装置,应用于第二终端,所述装置可以包括:
原始音视频获取模块,用于在接收到第一终端的录屏请求信息后,获取与所述第二终端当前显示内容对应的原始音频数据和原始视频数据;
目标结构确定模块,用于确定所述第一终端中的混流器所对应的目标音频结构和目标视频结构;
目标音视频获取模块,用于根据所述目标音频结构获取所述原始音频数据对应的目标音频数据,并根据所述目标视频结构获取所述原始视频数据对应的目标视频数据;
目标音视频发送模块,用于将所述目标音频数据和所述目标视频数据发送至所述第一终端,以指示所述第一终端通过所述第一终端中的混流器对所述目标音频数据和所述目标视频数据进行混流处理,得到录屏数据。
在第五方面的一种可能的实现方式中,所述目标音视频获取模块,可以包括:
候选音视频获取单元,用于根据预设音频结构获取所述原始音频数据对应的候选音频数据,并根据预设视频结构获取所述原始视频数据对应的候选视频数据;
目标音视频获取单元,用于根据预先建立的所述预设音频结构与所述目标音频结构之间的对应关系,将所述候选音频数据转换为所述目标音频数据,并根据预先建立的所述预设视频结构与所述目标视频结构之间的对应关系,将所述候选视频数据转换为所述目标视频数据。
示例性的,所述候选音视频获取单元,可以包括:
原始结构确定子单元,用于确定所述原始音频数据对应的原始音频结构,以及所述原始视频数据对应的原始视频结构;
候选音视频获取子单元,用于根据预先建立的所述原始音频结构与所述预设音频结构之间的对应关系,将所述原始音频数据转换为所述候选音频数据,并根据预先建立的所述原始视频结构与所述预设视频结构之间的对应关系,将所述原始视频数据转换为所述候选视频数据。
应理解,所述原始音视频获取模块,具体用于在检测到所述第一终端对所述第二终端的触碰操作后,获取与所述第二终端当前显示内容对应的原始音频数据和原始视频数据。
示例性的,所述装置还可以包括:
录屏停止模块,用于若在所述第二终端上检测到停止录屏指令,则停止向所述第一终端发送原始音频数据和原始视频数据。
第六方面,本申请实施例提供了一种跨终端录屏系统,包括第一终端和第二终端,所述第一终端包括请求发送模块、目标结构确定模块和混流模块,所述第二终端包括原始音视频获取模块和候选音视频获取模块,其中:
所述请求发送模块,用于发送录屏请求信息至第二终端;
所述原始音视频获取模块,用于在接收到所述第一终端的录屏请求信息后,获取与所述第二终端当前显示内容对应的原始音频数据和原始视频数据;
所述候选音视频获取模块,用于根据预设音频结构获取所述原始音频数据对应的候选音频数据,以及根据预设视频结构获取所述原始视频数据对应的候选视频数据,并将所述候选音频数据和所述候选视频数据发送至所述第一终端;
所述目标结构确定模块,用于确定所述第一终端中的混流器所对应的目标音频结构和目标视频结构,并根据所述目标音频结构获取所述候选音频数据对应的目标音频数据,以及根据所述目标视频结构获取所述候选视频数据对应的目标视频数据;
所述混流模块,用于通过所述第一终端中的混流器对所述目标音频数据和所述目标视频数据进行混流处理,得到录屏数据。
在第六方面一种可能的实现方式中,所述候选音视频获取模块,可以包括:
原始结构确定单元,用于确定所述原始音频数据对应的原始音频结构,以及所述原始视频数据对应的原始视频结构;
候选音视频获取单元,用于根据预先建立的所述原始音频结构与所述预设音频结构之间的对应关系,将所述原始音频数据转换为所述候选音频数据,以及根据预先建立的所述原始视频结构与所述预设视频结构之间的对应关系,将所述原始视频数据转换为所述候选视频数据。
示例性的,所述目标结构确定模块,还用于根据预先建立的所述预设音频结构与所述目标音频结构之间的对应关系,将所述候选音频数据转换为所述目标音频数据,并根据预先建立的所述预设视频结构与所述目标视频结构之间的对应关系,将所述候选视频数据转换为所述目标视频数据。
在第六方面一种可能的实现方式中,所述第一终端还可以包括录屏保存模块:
所述录屏保存模块,用于若在所述第一终端上检测到停止录屏指令,则指示所述第二终端停止发送原始音频数据和原始视频数据,并将所述录屏数据保存于所述第一终端。
应理解,所述原始音视频获取模块,具体用于在检测到所述第一终端对所述第二终端的触碰操作后,获取与所述第二终端当前显示内容对应的原始音频数据和原始视频数据。
示例性的,所述第二终端,还可以包括录屏停止模块;
所述录屏停止模块,用于若在所述第二终端上检测到停止录屏指令,则停止向所述第一终端发送原始音频数据和原始视频数据。
具体地,所述录屏数据为MP4格式的数据。
第七方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,使所述终端设备实现上述第一方面中任一项,或者第二方面中任一项所述的跨终端录屏方法。
第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,使所述计算机实现上述第一方面中任一项,或者第二方面中任一项所述的跨终端录屏方法。
第九方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项,或者第二方面中任一项所述的跨终端录屏方法。
附图说明
图1是现有技术中跨终端录屏的场景示意图;
图2是本申请实施例提供的跨终端录屏方法的应用场景示意图;
图3a和图3b是本申请实施例中第一终端与第二终端进行通信连接的场景示意图;
图4是本申请实施例一提供的跨终端录屏方法的流程示意图;
图5a和图5b是本申请实施例二提供的跨终端录屏方法的应用场景示意图;
图6是本申请实施例二提供的跨终端录屏方法的流程示意图;
图7是本申请实施例三提供的跨终端录屏方法的应用场景示意图;
图8是本申请实施例三提供的跨终端录屏方法的流程示意图;
图9是本申请一实施例提供的跨终端录屏装置的结构示意图;
图10是本申请另一实施例提供的跨终端录屏装置的结构示意图;
图11是本申请一实施例提供的跨终端录屏系统的系统示意图;
图12是本申请实施例提供的终端设备的结构示意图;
图13是本申请一实施例提供的跨终端录屏方法所适用于的手机的结构示意图;
图14是本申请一实施例提供的跨终端录屏方法所适用于的软件架构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的跨终端录屏方法可以应用于第一终端,其中,第一终端可以为手机、平板电脑、桌上型计算机、可穿戴设备、车载设备、笔记本电脑、智能电视、智能音箱、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等具有显示屏的终端设备,本申请实施例对终端设备的具体类型不作任何限制。
跨终端录屏是指利用第一终端对第二终端正在呈现的画面(可包含声音)进行录制并保存于第一终端的过程,例如,利用手机对电脑正在呈现的画面进行录制,并将录制得到的内容保存于手机,以方便用户通过手机进行内容的查看与分享等。目前的跨终端录屏主要是通过手机对电脑正在呈现的画面进行视频拍摄,并将拍摄得到的视频保存于手机。这种通过手机对电脑进行拍摄以实现跨终端录屏的方式需要用户手持手机对着电脑屏幕,操作较为不便,并且因抖动或手机中相机像素等问题易造成所录制视频的视频效果较差。
为提高跨终端录屏的便捷性,如图1所示,现有技术中也可以通过电脑对其正在呈现的画面进行音视频的实时采集,得到YUV格式的视频数据和脉冲编码调制(Puls CodeModulation,PCM)格式的音频数据,并可以通过电脑中的ffmpeg编码器(即基于FastForward moving pictures expert group,ffmpeg框架开发的编码器)将所采集的YUV格式的视频数据编码成H.264格式的视频数据以及将所采集的PCM格式的音频数据编码成高级音频编码(Advanced Audio Coding,AAC)格式的音频数据,然后可以将H.264格式的视频数据与AAC格式的音频数据合成传输流(Transport Stream,ts),并可以通过传输控制协议(Transmission Control Protocol,tcp)将ts流发送至手机。手机接收到电脑发送的ts流后,则可以从ts流中提取出H.264格式的视频数据和AAC格式的音频数据,并可以使用手机中的ffmpeg混流器(即基于Fast Forward moving pictures expert group,ffmpeg框架开发的混流器)将H.264格式的视频数据和AAC格式的音频数据混流合成MP4格式的数据保存于手机。这种电脑编码、手机混流的录屏方式虽然可以提高跨终端录屏的便捷性,可以确保所录制视频的视频效果,但其只能适用于基于相同框架所开发的编码器与混流器之间,即只能适用于具有相同类型编码器和混流器的终端之间,如只能适用于具有ffmpeg编码器的电脑和具有ffmpeg混流器的手机之间,而无法适用于具有不同类型编码器与混流器的终端之间。也就是说,在具有不同类型编码器与混流器之间的终端通过这种一端编码、另一端混流的录屏方式所得到的录屏数据(即音频数据和视频数据混流合成的MP4格式的数据)将存在无法播放、绿屏以及只能显示一半等无法正常播放的问题。
为解决上述问题,本申请实施例提供了一种跨终端录屏方法、装置、终端设备及计算机可读存储介质,在跨终端录屏时,可以根据第一终端中的混流器所对应的目标音频结构和目标视频结构对第二终端中的编码器编码得到的原始音频数据和原始视频数据进行转换,以得到第一终端中的混流器混流所需的目标音频数据和目标视频数据,从而使得混流器可混流得到可正常播放的录屏数据,实现不同类型的编码器与混流器之间的兼容,解决跨终端录屏无法适用于具有不同类型编码器和混流器的终端之间的问题,提高跨终端录屏的应用范围,具有较强的易用性和实用性。
图2示出了本申请实施例提供的跨终端录屏方法的应用场景的示意图,该应用场景可以包括第一终端100和第二终端200,第一终端100和第二终端200均可以为手机、平板电脑、桌上型计算机、可穿戴设备、车载设备、笔记本电脑、智能电视、智能音箱、超级移动个人计算机、上网本、个人数字助理等具有显示屏的终端设备。
需要说明的是,第一终端100和第二终端200之间没有严格的区分关系,对于同一终端设备,在一些场景中可以作为第一终端100使用,在另一些场景中也可以作为第二终端200使用。例如,在某一场景中,可以通过手机对电脑正在呈现的画面进行录屏;在另一场景中,也可以通过智能电视对手机正在呈现的画面进行录屏。
另外,在跨终端录屏时,可以是通过第一终端100对第二终端200正在呈现的画面进行录屏,也可以是通过第二终端200对第一终端100正在呈现的画面进行录屏。例如,在某一场景中,可以通过手机对电脑正在呈现的画面进行录屏;在另一场景中,也可以是通过电脑对手机正在呈现的画面进行录屏。本申请实施例中是以通过第一终端100对第二终端200正在呈现的画面进行录屏为例进行示例性说明。
本申请实施例中,在进行首次跨终端录屏时,用户可以将第一终端100与第二终端200建立近距离通信连接,以使得第一终端100可以通过近距离通信向第二终端200发送录屏请求以及获取第二终端200返回的音频数据和视频数据等。其中,近距离通信连接可以是蓝牙连接、近场通信(Near Field Communication,NFC)连接、无线保真(Wireless-Fidelity,WiFi)连接或紫蜂(ZigBee)连接等。本申请实施例中将以近距离通信连接为蓝牙连接和WiFi连接为例进行示例性说明。
为提高蓝牙连接和WiFi连接建立的方便性和速度,第一终端100和第二终端200均可以为设置有NFC芯片的终端设备,以通过NFC芯片来实现第一终端100与第二终端200之间的快速配对,从而方便、快速地建立第一终端100与第二终端200之间的蓝牙连接和WIFI连接。具体地,在用户首次通过第一终端100对第二终端200正在呈现的画面进行录屏之前,用户可以利用第一终端100中NFC芯片所在的第一预设区域触碰第二终端200中NFC芯片所在的第二预设区域,如图3a所示,此时第一终端100的显示界面即可弹出是否与第二终端200建立连接的连接弹框,连接弹框中可以包括“连接”和“忽略”的按钮。当用户在第一终端100中点击“连接”的按钮时,第一终端100即可以向第二终端发送连接请求。如图3b所示,此时第二终端200的显示界面中即可以弹出是否与第一终端100建立连接的授权弹框,授权弹框中可以包括“授权”和“拒绝”的按钮,当用户在第二终端200中点击“授权”的按钮时,第一终端100与第二终端200之间的蓝牙连接以及WiFi连接即可以成功建立。应理解,在第一终端100与第二终端200之间的蓝牙连接以及WiFi连接成功建立后,当第一终端100远离第二终端200时,第一终端100与第二终端200之间的蓝牙连接以及WIFI连接均断开。后续当第一终端100靠近第二终端200时,第二终端200则可以基于保存的第一终端100的媒体访问控制(Media Access Control,MAC)地址自动与第一终端100建立蓝牙连接,并同时可以与第一终端100建立WiFi连接。
【实施例一】
请参阅图4,图4为本实施例提供的一种跨终端录屏方法的流程示意图,该方法可应用于图2所示的应用场景。如图4所示,该方法可以包括:
S401、第一终端发送录屏请求信息至第二终端。
应理解,在第一终端100与第二终端200之间的蓝牙连接以及WiFi连接成功建立后,当用户需要通过第一终端100对第二终端200正在呈现的内容进行录屏时,用户可以通过第一终端100向第二终端200发送录屏请求信息,此时第一终端100即可以基于蓝牙通信向第二终端200发送录屏请求信息,该录屏请求信息用于指示第二终端200对其正在呈现的内容进行原始音频数据和原始视频数据的获取,并通过WiFi通信发送原始音频数据和原始视频数据至第一终端100。示例性的,用户可以先摇一摇第一终端100,并可以在摇完后的预设时间内将第一终端100中的第一预设区域触碰第二终端200中的第二预设区域来向第二终端200发送录屏请求信息;或者可以直接将第一终端100中的第一预设区域触碰第二终端200中的第二预设区域来向第二终端200发送录屏请求信息;或者可以直接摇一摇第一终端100来向第二终端200发送录屏请求信息;或者可以通过点击第一终端100中的录屏按钮来向第二终端200发送录屏请求信息,本实施例对第一终端100向第二终端200发送录屏请求信息的方式不做具体限定。
需要说明的是,第二终端200接收到第一终端100发送的录屏请求信息后,可创建进行数据传输的数据传输通道,以通过数据传输通道向第一终端100发送所获取的音频数据和视频数据,并可向第一终端100反馈数据传输通道成功创建的通知消息。第一终端100接收到通知消息后,即可以连接至第二终端200所创建的数据传输通道,从而可以通过数据传输通道来接收第二终端200发送的音频数据和视频数据等。
S402、第二终端在接收到第一终端发送的录屏请求信息后,获取与第二终端当前显示内容对应的原始音频数据和原始视频数据,并将原始音频数据和原始视频数据发送至第一终端。
在此,第二终端200接收到第一终端100发送的录屏请求信息后,即可以对第二终端200的屏幕中正在呈现的画面进行视频数据的实时采集,以及对第二终端200的声音播放装置(如声卡)中正在播放的声音进行音频数据的实时采集,得到初始视频数据和初始音频数据。然后可通过第二终端200中的编码器对初始音频数据进行编码,得到初始音频数据编码后的原始音频数据,以及通过第二终端200中的编码器对初始视频数据进行编码,得到初始视频数据编码后的原始视频数据,并可将原始音频数据和原始视频数据通过数据传输通道分别发送至第一终端100。其中,第二终端200中的编码器可以为任一类型的编码器,例如,可以为ffmpeg编码器、AMD编码器或Intel编码器等。原始音频数据可以为AAC格式的音频数据,原始视频数据可以为H.264格式的视频数据。
S403、第一终端确定第一终端中的混流器所对应的目标音频结构和目标视频结构;
示例性的,第一终端100中可以存储有设备类型与混流器类型之间的对应关系表,或者可以存储有设备类型与目标音频结构及目标视频结构之间的对应关系表,第一终端100可以通过确定第一终端100的设备类型,从而可以根据第一终端100的设备类型和第一终端100中存储的对应关系表来确定第一终端100中的混流器所对应的目标音频结构和目标视频结构。示例性的,设备类型与混流器类型之间的对应关系表,或者设备类型与目标音频结构及目标视频结构之间的对应关系表也可以存储于服务器或云端,第一终端100可以与服务器/云端连接,因此,第一终端100可以在确定第一终端100的设备类型后,通过向服务器/云端发送该设备类型,来获取服务器/云端返回的该设备类型中的混流器所对应的目标音频结构和目标视频结构。
应理解,混流器对应的目标音频结构用于表征混流器混流所需音频数据的数据类型以及数据格式等属性,混流器对应的目标视频结构用于表征混流器混流所需视频数据的数据类型以及数据格式等属性。例如,Google混流器对应的目标音频结构GoogleMuxerAudioFrame和目标视频结构GoogleMuxerVideoFrame可分别为:
其中,GoogleMuxerAudioFrame中的flags代表音频类型,默认可以为0(即当某一数据的flags为0时,即表征该数据为音频);esds代表音频的采样率、通道数和帧长度等,audioFrame代表音频帧,audioSize代表音频帧大小,presentationTimeUs代表时间戳;GoogleMuxerVideoFrame中的flags代表视频帧类型,可以包括1(表征该视频帧为帧内编码帧,I帧)和0(表征该视频帧为帧间预测编码帧,P帧),sps代表序列参数集,pps代表图像参数集,videoFrame代表视频帧,videoSize代表视频帧大小,presentationTimeUs代表时间戳,sps、pps和videoFrame均带NALU(Network Abstract Layer unit)头,videoFrame只有1个slice(即片)。
需要说明的是,第一终端100也可以在向第二终端200发送录屏请求信息时或者在第二终端200获取原始音频数据和原始视频数据的过程中确定第一终端100中的混流器所对应的目标音频结构和目标视频结构。也就是说,S403与S402之间没有严格的时序执行关系,S403可以在S402之前执行,也可以在S402之后执行,还可以与S402同时执行,本实施例对此不做具体限定。
S404、第一终端根据目标音频结构获取原始音频数据对应的目标音频数据,并根据目标视频结构获取原始视频数据对应的目标视频数据;
示例性的,第一终端100可以首先确定原始音频数据对应的原始音频结构和原始视频数据对应的原始视频结构,然后可以根据原始音频结构与目标音频结构之间的对应关系获取原始音频数据对应的目标音频数据,并可以根据原始视频结构与目标视频结构之间的对应关系获取原始视频数据对应的目标视频数据。其中,原始音频结构与目标音频结构之间的对应关系,以及原始视频结构与目标视频结构之间的对应关系可以为根据实际情况预先建立的。应理解,原始音频结构和原始视频结构可以与编码器的类型相关,即第一终端100可以根据第二终端200中编码器的类型来确定原始音频数据对应的原始音频结构和原始视频数据对应的原始视频结构。
具体地,第一终端100可以根据原始音频结构对应的数据类型和数据格式,以及目标音频结构对应的数据类型和数据格式从原始音频数据中进行数据的提取和转换,从而得到目标音频数据。类似地,第一终端100也可以根据原始视频结构对应的数据类型和数据格式,以及目标视频结构对应的数据类型和数据格式从原始视频数据中进行数据的提取与转换,从而得到目标视频数据。
例如,因Google混流器只接收包含单个片singleSlice的视频帧,而ffmpeg编码后的视频帧包含多个片multiSlice,因此,在第一终端100的混流器为Google混流器,第二终端200的编码器为ffmpeg编码器时,第一终端100可首先从原始视频数据中提取包含multiSlice的视频帧,然后可以使用mergeMultiSliceToOneSlice()将包含multiSlice的视频帧转换成包含singleSlice的视频帧。
S405、第一终端通过混流器对目标音频数据和目标视频数据进行混流处理,得到录屏数据。
在此,第一终端100获取到目标音频数据和目标视频数据后,则可以将目标音频数据和目标视频数据分别输入至第一终端100中的混流器,以使得混流器可以对目标音频数据和目标视频数据进行混流合成录屏数据保存于第一终端100中。其中,第一终端100中的混流器可以为任一类型的混流器,例如,可以为ffmpeg混流器、Google混流器或者Mp4v2混流器等。混流合成的录屏数据可以为MP4格式的视频数据。
本实施例中,第一终端100中的混流器的类型可以与第二终端200中的编码器的类型相同,也可以不同。例如,第一终端100中的混流器可以为Google混流器,第二终端200中的编码器可以为ffmpeg编码器;或者第一终端100中的混流器可以为Mp4V2混流器,第二终端200中的编码器可以为Intel编码器;或者第一终端100中的混流器可以为ffmpeg混流器,第二终端200中的编码器可以为ffmpeg编码器;或者第一终端100中的混流器可以为intel混流器,第二终端200中的编码器可以为intel编码器。
可以理解的是,当第一终端100中的混流器的类型与第二终端200中的编码器的类型不同时,第一终端100则可以利用上述S403和S404对第二终端200编码得到的原始音频数据和原始视频数据进行目标音频数据和目标视频数据的获取,然后可以利用混流器对目标音频数据和目标视频数据进行混流合成录屏数据;当第一终端100中的混流器的类型与第二终端200中的编码器的类型相同时,第一终端100则可以直接利用第一终端100中的混流器对第二终端200发送的原始音频数据和原始视频数据进行混流合成录屏数据。
在一种可能的实现方式中,第一终端100在对第二终端200正在呈现的画面进行录屏的过程中,还可以同步显示所录屏的画面。示例性的,第一终端100可以通过第一终端100中的解码器实时对录屏数据进行解码,并可以将解码得到的视频数据渲染于第一终端100的显示界面,同时还可以将解码得到的音频数据通过第一终端100的声音播放装置(例如声卡)进行播放,以在第一终端100中同步呈现第二终端200正在呈现的画面和声音等。
需要说明的是,当第一终端100与第二终端200之间的距离小于预设阈值时,即当第一终端100与第二终端200之间距离较近时,第一终端100可以仅将解码得到的视频数据渲染于第一终端100的显示界面,以减少同步呈现过程中的声音混杂,提高用户体验。其中,预设阈值可以根据实际情况具体设定,本实施例对此不作具体限定。
示例性的,为降低第一终端100同步呈现的时延,第一终端100在对第二终端200正在呈现的画面进行录屏的过程中,还可以使用第一终端100中的视频解码器直接对第二终端200传过来的原始视频数据进行解码,并可以将解码得到的视频数据渲染于第一终端100的显示界面,同时还可以使用第一终端100中的音频解码器直接对第二终端200传过来的原始音频数据进行解码,并可以将解码得到的音频数据通过第一终端100的声音播放装置进行播放,以在第一终端100中同步呈现第二终端200正在呈现的画面和声音等。
应理解,在第一终端100对第二终端200中正在呈现的画面进行录屏的过程中,用户可在第一终端100上输入停止录屏指令来指示第一终端100停止录屏。即第一终端100在录屏过程中可实时检测用户是否在第一终端100上输入停止录屏指令,若检测到用户在第一终端100上输入停止录屏指令,则可以指示第二终端200停止原始音频数据和原始视频数据的发送或者可以关闭第一终端100与第二终端200之间的数据传输通道来停止录屏,并可以将录屏数据保存于第一终端100中。
示例性的,本实施例中的停止录屏指令可以为检测到用户在第一终端100上点击“停止”等特定按钮时所生成的指令,或者可以为检测到用户摇一摇第一终端100时所生成的指令,或者可以为检测到用户输入包含“停止”等特定语音关键词时所生成的指令,或者可以为检测到用户在第一终端100上输入特定手势时所生成的指令,本实施例对停止录屏指令的生成方式不作具体限定。
需要说明的是,本实施例中,目标音频数据和目标视频数据的转换过程也可以在第二终端200中进行。即第二终端200可以确定第一终端100中的混流器所对应的目标音频结构和目标视频结构,然后可以根据目标音频结构和目标视频结构分别将第二终端200中编码器编码得到的原始音频数据和原始视频数据转换为目标音频数据和目标视频数据发送至第一终端100,第一终端100中的混流器则可以直接对目标音频数据和目标视频数据进行混流合成录屏数据保存于第一终端100中。
其中,第二终端200确定第一终端100中的混流器所对应的目标音频结构和目标视频结构的过程,与上述第一终端100确定第一终端100中的混流器所对应的目标音频结构和目标视频结构的过程相似,即第二终端200中可以存储有设备类型与混流器类型之间的对应关系表,或者可以存储有设备类型与目标音频结构及目标视频结构之间的对应关系表。第二终端200可以先获取第一终端100的设备类型,然后可根据第一终端100的设备类型和第二终端200中存储的对应关系表来确定第一终端100中的混流器所对应的目标音频结构和目标视频结构。示例性的,设备类型与混流器类型之间的对应关系表,或者设备类型与目标音频结构及目标视频结构之间的对应关系表也可以存储于服务器或云端,第二终端200可以与服务器/云端连接,因此,第二终端200可以在确定第一终端100的设备类型后,通过向服务器/云端发送该设备类型,来获取服务器/云端返回的该设备类型中的混流器所对应的目标音频结构和目标视频结构。
应理解,第二终端200根据目标音频结构和目标视频结构分别将原始音频数据和原始视频数据转换为目标音频数据和目标视频数据的过程,与上述第一终端100根据目标音频结构和目标视频结构获取原始音频数据对应的目标音频数据和原始视频数据对应的目标视频数据的过程相似,基本原理相同,为简明起见,在此不再赘述。
本实施例中,可以根据第一终端中的混流器所对应的目标音频结构和目标视频结构对第二终端中的编码器编码得到的原始音频数据和原始视频数据进行转换,以得到第一终端中的混流器混流所需的目标音频数据和目标视频数据,从而使得混流器可混流得到可正常播放的录屏数据,实现不同类型的编码器与混流器之间的兼容,解决跨终端录屏无法适用于具有不同类型编码器和混流器的终端之间的问题,提高跨终端录屏的应用范围,具有较强的易用性和实用性。
【实施例二】
实施例一中,第一终端100/第二终端200是通过查找原始音频结构和目标音频结构之间的对应关系以及原始视频数据与目标视频数据之间的对应关系,来进行目标音频数据和目标视频数据的提取与转换,即第一终端100/第二终端200中需事先配置不同编码器对应的原始音频结构与不同混流器对应的目标音频结构之间的对应关系,以及需配置有不同编码器对应的原始视频结构与不同混流器对应的目标视频结构之间的对应关系,而当编码器的类型和/或混流器的类型较多时,即当原始音频结构、目标音频结构、原始视频结构、目标视频结构的类型较多时,则所配置的对应关系也较多、较复杂,极大地增加了开发人员的开发工作量和/或更新工作量,另外,这种较多、较复杂的对应关系也使得目标音频结构和/或目标视频结构的查找需耗费较多时间,从而易降低目标音频数据和/或目标视频数据的转换速度,降低混流器的混流效率。
为简化对应关系的配置,提高目标音频数据和目标视频数据的转换速度,提高混流器的混流效率,如图5a所示,本实施例可以在第一终端100中设置多平台混流同步(Mutil-platform Mixed Flow Synchronization Method,MFSM)模块,MFSM模块可以将任意音频结构的原始音频数据统一转换为预设音频结构的候选音频数据,并可以将任意视频结构的原始视频数据统一转换为预设视频结构的候选视频数据,然后可以根据预设音频结构与目标音频结构之间的对应关系将候选音频数据转换为目标音频数据,并可以根据预设视频结构与目标视频结构之间的对应关系将候选视频数据转换为目标视频数据。即本实施例中,只需要事先配置各原始音频结构与该预设音频结构之间的对应关系,以及配置该预设音频结构与各目标音频结构之间的对应关系即可,同样地,只需要配置各原始视频结构与该预设视频结构之间的对应关系,以及配置该预设视频结构与各目标视频结构之间的对应关系即可。其中,音频结构和视频结构所配置的对应关系均为M+N个,明显少于实施例一中的M*N个,M为原始音频结构/原始视频结构的类型数量,N为目标音频结构/目标视频结构的类型数量,极大地简化了对应关系的配置,从而可以减少开发工作人员的开发工作量以及后续的更新工作量,并可以有效减少目标音频结构和目标视频结构的查找时间,从而可有效提高目标音频数据和目标视频数据的转换速度,提高混流器的混流效率。
请参阅图6,图6为本实施例提供的一种跨终端录屏方法的流程示意图,该方法可应用于图2所示的应用场景。如图6所示,该方法可以包括:
S601、第一终端发送录屏请求信息至第二终端。
应理解,S601与实施例一中的S401的内容相似,基本原理相同,为简明起见,在此不再赘述。
S602、第二终端在接收到第一终端发送的录屏请求信息后,获取与第二终端当前显示内容对应的原始音频数据和原始视频数据,并将原始音频数据和原始视频数据发送至第一终端。
应理解,S602与实施例一中的S402的内容相似,基本原理相同,为简明起见,在此不再赘述。
S603、第一终端确定第一终端中的混流器所对应的目标音频结构和目标视频结构。
应理解,S603与实施例一中的S403的内容相似,基本原理相同,为简明起见,在此不再赘述。
S604、第一终端根据预设音频结构获取原始音频数据对应的候选音频数据,并根据预设视频结构获取原始视频数据对应的候选视频数据。
需要说明的是,预设音频结构为对各混流器混流所需的音频数据进行分析所确定的通用音频数据结构,预设视频结构为对各混流器混流所需的视频数据进行分析所确定的通用视频数据结构。示例性的,预设音频结构AudioFrame和预设视频结构AudioFrame可以分别为:
其中,AudioFrame中的type代表音频类型,默认可以0x20(即当某一数据的type为0x20时,表征该数据为音频),adts代表ADTS(Audio Data Transport Stream)头,esds代表音频的采样率、通道数和帧长度等,sample代表音频帧,timeStamp代表时间戳;VideoFrame中的type代表视频帧类型,包括表征I帧的0x10和表征P帧的0x11,sps代表序列参数集,pps代表图像参数集,sei代表增强元信息,frame代表视频帧,timestamp代表时间戳,sps、pps、sei和frame都带NALU头。
示例性的,第一终端100可以通过MFSM模块将原始音频数据转换为预设音频结构的候选音频数据,以及将原始视频数据转换为预设视频结构的候选视频数据。即第一终端100可以将任一结构的原始音频数据和原始视频数据输入至MFSM模块,MFSM模块则可以根据原始音频结构对应的数据类型和数据格式,候选音频结构对应的数据类型和数据格式,以及预先建立的原始音频结构与预设音频结构之间的对应关系对原始音频数据进行数据的提取和转换,从而得到候选音频数据。同样地,MFSM模块也可以根据原始视频结构对应的数据类型和数据格式,候选视频结构对应的数据类型和数据格式,以及预先建立的原始视频结构与预设视频结构之间的对应关系对原始视频数据进行数据的提取与转换,从而得到候选视频数据。例如,MFSM模块可以从原始视频数据中提取视频帧类型,并可以根据预设视频结构中视频帧所对应的格式等将所提取的视频帧类型转换为预设视频结构中的type;例如,MFSM模块可以从原始视频数据中提取sps,并可以根据预设视频结构中sps所对应的格式等将所提取的sps转换为预设视频结构所对应的sps。
S605、第一终端根据目标音频结构获取候选音频数据对应的目标音频数据,以及根据目标视频结构获取候选视频数据对应的目标视频数据。
在此,第一终端100中的MFSM模块得到原始音频数据对应的候选音频数据和原始视频数据对应的候选视频数据后,可随即将候选音频数据转换为目标音频数据以及将候选视频数据转换为目标视频数据。具体地,MFSM模块可以根据候选音频结构对应的数据类型和数据格式,目标音频结构对应的数据类型和数据格式,以及预先建立的预设音频结构与目标音频结构之间的对应关系对候选音频数据进行数据的提取和转换,从而得到目标音频数据。同样地,MFSM模块可以根据候选视频结构对应的数据类型和数据格式,目标视频结构对应的数据类型和数据格式,以及预先建立的预设视频结构与目标视频结构之间的对应关系对候选视频数据进行数据的提取与转换,从而得到目标视频数据。其中,对应关系包括数据类型之间的对应关系和数据格式之间的对应关系。也就是说,第一终端100将任一结构的原始音频数据和原始视频数据输入至MFSM模块处理后,MFSM模块可以输出第一终端100中的混流器混流所需的目标音频数据和目标视频数据至第一终端100中的混流器。
例如,在Google混流器对应的目标音频结构GoogleMuxerAudioFrame和目标视频结构GoogleMuxerVideoFrame分别为:
MFSM模块可以对AudioFrame中的type进行提取与转换来确定GoogleMuxerAudioFrame中的flags;可以对AudioFrame中的esds进行提取与转换来确定GoogleMuxerAudioFrame中的esds;可以对AudioFrame中的sample进行提取与转换来确定GoogleMuxerAudioFrame中的audioFrame;可以根据AudioFrame的数组大小确定GoogleMuxerAudioFrame中的audioSize;可以对AudioFrame中的timeStamp进行提取与转换来确定GoogleMuxerAudioFrame中的presentationTimeUs;可以对VideoFrame中的type进行提取与转换来确定GoogleMuxerVideoFrame中的flags;可以对VideoFrame中的sps进行提取与转换来确定GoogleMuxerVideoFrame中的sps;可以对VideoFrame中的pps进行提取与转换来确定GoogleMuxerVideoFrame中的pps;可以对VideoFrame中的frame进行提取与转换来确定GoogleMuxerVideoFrame中的videoFrame;可以根据VideoFrame的数组大小确定GoogleMuxerVideoFrame中的videoSize;可以对VideoFrame中的timeStamp进行提取与转换来确定GoogleMuxerVideoFrame中的presentationTimeUs。
例如,在Mp4V2混流器对应的目标音频结构Mp4V2MuxerAudioFrame和目标视频结构Mp4V2MuxerVideoFrame分别为:
MFSM模块可以对AudioFrame中的type进行提取与转换来确定Mp4V2MuxerAudioFrame中的音频类型isSyncSample;可以根据AudioFrame中的adts计算得到Mp4V2MuxerAudioFrame中的audioSpecificConfig和代表audioSpecificConfig大小的configSize;可以根据AudioFrame中的sample确定Mp4V2MuxerAudioFrame中的音频帧audioSample;可以根据AudioFrame的数组大小确定Mp4V2MuxerAudioFrame中的音频帧大小audioSize;可以根据相邻两AudioFrame中的timeStamp确定Mp4V2MuxerAudioFrame中的音频帧时长sampleDuration,即sampleDuration等于后一帧AudioFrame中的timeStamp减去前一帧AudioFrame中的timeStamp;可以对VideoFrame中的type进行提取与转换来确定Mp4V2MuxerVideoFrame中的视频帧类型isSyncSample;可以根据VideoFrame中sps的第2个字节确定Mp4V2MuxerVideoFrame中的avcProfileIndication;可以根据VideoFrame中sps的第3个字节确定Mp4V2MuxerVideoFrame中的avcProfileCompat;可以根据VideoFrame中sps的第4个字节确定Mp4V2MuxerVideoFrame中的avcLevelIndication;可以根据VideoFrame中NALU头的长度确定Mp4V2MuxerVideoFrame中的avcSampleLenFieldSizeMinusOne,其中,avcSampleLenFieldSizeMinusOne等于NALU头的长度减1;可以对VideoFrame中的sps进行提取与转换来确定Mp4V2MuxerVideoFrame中的sps;可以对VideoFrame中的pps进行提取与转换来确定Mp4V2MuxerVideoFrame中的pps;可以对VideoFrame中的frame进行提取与转换来确定Mp4V2MuxerVideoFrame中的视频帧videoFrame;可以根据VideoFrame的数组大小确定Mp4V2MuxerVideoFrame中的视频帧大小videoSize;可以根据相邻两VideoFrame中的timeStamp确定Mp4V2MuxerAudioFrame中的视频帧时长sampleDuration,即sampleDuration等于后一帧videoFrame中的timeStamp减去前一帧videoFrame中的timeStamp。
例如,因Mp4V2混流器所需的sps和pps均无NALU头,而VideoFrame中的sps和pps均带NALU头,因此,MFSM可以提取VideoFrame中的sps和pps,并去掉所提取的sps和pps中的NALU头来得到Mp4V2MuxerVideoFrame中的sps和pps。
本实施例中,MFSM模块中设置有接收原始音频数据和原始视频数据的输入接口以及输出各目标音频数据和各目标视频数据至对应混流器的输出接口,MFSM模块在得到第一终端100中的混流器所需的目标音频数据和目标视频数据后,可通过对应的输出接口将各目标音频数据和各目标视频数据输出给该混流器进行混流处理。例如,设置有输出Google混流器混流所需的sps至Google混流器的输出接口outputGoogleMuxerVideoSps()、设置有输出Google混流器混流所需的pps至Google混流器的outputGoogleMuxerVideoPps(),以及设置有输出Google混流器混流所需的视频帧类型flags至Google混流器的outputGoogleMuxerVideoFlags(),等等。
S606、第一终端通过混流器对目标音频数据和目标视频数据进行混流处理,得到录屏数据。
应理解,S606与实施例一中的S405的内容相似,基本原理相同,为简明起见,在此不再赘述。
需要说明的是,如图5b所示,本实施例中,也可以将MFSM模块设置于第二终端200中。即第二终端200中的编码器对初始音频数据和初始视频数据进行编码后,可以将编码得到的原始音频数据和原始视频数据分别传输至第二终端200中的MFSM模块,第二终端200中的MFSM模块即可以对原始音频数据和原始视频数据进行处理,并输出目标音频数据和目标视频数据至第一终端100。第一终端100中的混流器则可以直接对接收到的目标音频数据和目标视频数据进行混流合成录屏数据保存于第一终端100中。
其中,第二终端200中的MFSM模块对原始音频数据和原始视频数据进行处理,输出目标音频数据和目标视频数据的过程,与上述第一终端100中的MFSM模块对原始音频数据和原始视频数据进行处理,输出目标音频数据和目标视频数据的过程相似,基本原理相同,为简明起见,在此不再赘述。
本实施例中,通过在第一终端/第二终端中设置MFSM模块来进行目标音频数据和目标视频数据的中间转换,可极大地简化对应关系的配置,从而可以减少开发工作人员的开发工作量以及后续的更新工作量,并可以有效减少目标音频结构和目标视频结构的查找时间,从而可有效提高目标音频数据和目标视频数据的转换速度,提高混流器的混流效率。
【实施例三】
如图7所示,本实施例可以在第二终端200中设置MFSM模块来进行目标音频数据和目标视频数据的中间转换,并可以在第一终端100中设置MFSM模块来将中间转换所得到的数据转换成目标音频数据和目标视频数据,以简化第一终端100和第二终端200中对应关系的配置,减少开发工作人员的开发工作量以及后续的更新工作量,并可以有效减少目标音频结构和目标视频结构的查找时间,从而可有效提高目标音频数据和目标视频数据的转换速度,提高混流器的混流效率。
请参阅图8,图8为本实施例提供的一种跨终端录屏方法的流程示意图,该方法同样可应用于图2所示的应用场景。如图8所示,该方法可以包括:
S801、第一终端发送录屏请求信息至第二终端。
应理解,当用户需要通过第一终端100对第二终端200正在呈现的内容进行录屏时,用户可以通过第一终端100向第二终端200发送录屏请求信息,以请求第二终端200对其正在呈现的内容进行音频数据和视频数据的采集,并发送给第一终端100。示例性的,用户可以先摇一摇第一终端100,并可以在摇完后的预设时间内将第一终端100中的第一预设区域触碰第二终端200中的第二预设区域来向第二终端200发送录屏请求信息;或者可以直接将第一终端100中的第一预设区域触碰第二终端200中的第二预设区域来向第二终端200发送录屏请求信息;或者可以直接摇一摇第一终端100来向第二终端200发送录屏请求信息;或者可以通过点击第一终端100中的录屏按钮来向第二终端200发送录屏请求信息,本实施例对第一终端100向第二终端200发送录屏请求信息的方式不做具体限定。
S802、第二终端在接收到第一终端的录屏请求信息后,获取与第二终端当前显示内容对应的原始音频数据和原始视频数据。
应理解,S802与实施例一中的S402的内容相似,基本原理相同,为简明起见,在此不再赘述。
S803、第二终端根据预设音频结构获取原始音频数据对应的候选音频数据,并根据预设视频结构获取原始视频数据对应的候选视频数据。
示例性的,第二终端200可以通过MFSM模块将原始音频数据转换为预设音频结构的候选音频数据,以及将原始视频数据转换为预设视频结构的候选视频数据。即第二终端200可以将任一结构的原始音频数据和原始视频数据输入至MFSM模块,MFSM模块则可以根据原始音频结构对应的数据类型和数据格式,预设音频结构对应的数据类型和数据格式,以及预先建立的原始音频结构与预设音频结构之间的对应关系对原始音频数据进行提取和转换,从而得到候选音频数据。同样地,MFSM模块可以根据原始视频结构对应的数据类型和数据格式,预设视频结构对应的数据类型和数据格式,以及预先建立的原始视频结构与预设视频结构之间的对应关系对原始视频数据进行提取与转换,从而得到候选视频数据。例如,MFSM模块可以从原始视频数据中提取视频帧类型,并可以根据预设音频结构中视频帧所对应的格式等将所提取的视频帧类型转换为预设音频结构中的type;例如,MFSM模块可以从原始视频数据中提取sps,并可以根据预设视频结构中sps所对应的格式等将所提取的sps转换为预设视频结构所对应的sps。
S804、第二终端将候选音频数据和候选视频数据发送至第一终端。
在此,第二终端200中的MFSM模块得到预设音频结构的候选音频数据和预设视频结构的候选视频数据后,即可以将候选音频数据和候选视频数据分别发送至第一终端100。本实施例中,通过第二终端200中的MSFM模块对原始音频数据和原始视频数据进行中间转换,得到候选音频数据和候选视频数据发送至第一终端100,可有效提高第一终端100中目标音频数据和目标视频数据的转换速度,提高混流器的混流效率,同时降低对第一终端100的处理性能要求。
S805、第一终端确定第一终端中的混流器所对应的目标音频结构和目标视频结构。
应理解,S805与实施例一中的S403的内容相似,基本原理相同,为简明起见,在此不再赘述。
S806、第一终端根据目标音频结构获取候选音频数据对应的目标音频数据,以及根据目标视频结构获取候选视频数据对应的目标视频数据。
应理解,第一终端100接收到第二终端200发送的候选音频数据和候选视频数据后,可以将候选音频数据和候选视频数据传输至第一终端100中的MFSM模块,第一终端100中的MFSM模块则可以根据目标音频结构将候选音频数据转换为目标音频数据,并可以根据目标视频数据将候选视频数据转换为目标视频数据。其中,第一终端100中的MFSM模块根据目标音频结构将候选音频数据转换为目标音频数据以及根据目标视频数据将候选视频数据转换为目标视频数据的过程与实施例二中的S605的内容相似,基本原理相同,为简明起见,在此不再赘述。
S807、第一终端通过第一终端中的混流器对目标音频数据和目标视频数据进行混流处理,得到录屏数据。
应理解,S807与实施例一中的S405的内容相似,基本原理相同,为简明起见,在此不再赘述。
需要说明的是,在第一终端100对第二终端200正在呈现的内容进行录屏的过程中,用户也可以在第二终端200上输入停止录屏指令来指示第一终端100停止录屏,即在第二终端200采集初始音频数据和初始视频数据的过程中,第二终端200可以实时检测用户是否在第二终端200上输入停止录屏指令。若检测到用户在第二终端200上输入停止录屏指令,第二终端200则可以停止初始音频数据和初始视频数据的采集或者可以关闭第一终端100与第二终端200之间的数据传输通道来指示第一终端100停止录屏。第一终端100在预设时间内未接收到第二终端200发送的原始音频数据和原始视频数据或者在获取到第一终端100与第二终端200之间的数据传输通道关闭的通知后可停止录屏操作,并可以将之前所获得的录屏数据保存于第一终端100中。
需要说明的是,停止录屏指令可以为检测到用户在第二终端200上点击“停止”等特定按钮所生成的指令,或者可以为检测到用户输入包含“停止”等特定语音关键词所生成的指令,或者可以为检测到用户在第二终端200上输入特定手势所生成的指令,本实施例对停止录屏指令的生成方式不作具体限定。
本实施例中,通过在第一终端和第二终端中设置MFSM模块来进行目标音频数据和目标视频数据的中间转换,可极大地简化第一终端和第二终端中对应关系的配置,从而可以减少开发工作人员的开发工作量以及后续的更新工作量,并可以有效减少目标音频结构和目标视频结构的查找时间,从而可有效提高目标音频数据和目标视频数据的转换速度,提高混流器的混流效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
请参阅图9,图9示出了本申请一实施例提供的跨终端录屏装置的结构框图,该装置可应用于第一终端。如图9所示,该装置可以包括:
请求发送模块901,用于向第二终端发送录屏请求信息,所述录屏请求信息用于指示所述第二终端将当前显示内容对应的原始音频数据和原始视频数据发送至所述第一终端;
原始音视频接收模块902,用于接收所述第二终端发送的与所述第二终端当前显示内容对应的原始音频数据和原始视频数据;
目标结构确定模块903,用于确定所述第一终端中的混流器所对应的目标音频结构和目标视频结构;
目标音视频获取模块904,用于根据所述目标音频结构获取所述原始音频数据对应的目标音频数据,并根据所述目标视频结构获取所述原始视频数据对应的目标视频数据;
混流模块905,用于通过所述混流器对所述目标音频数据和所述目标视频数据进行混流处理,得到录屏数据。
在一种可能的实现方式中,所述目标音视频获取模块904,可以包括:
候选音视频获取单元,用于根据预设音频结构获取所述原始音频数据对应的候选音频数据,并根据预设视频结构获取所述原始视频数据对应的候选视频数据;
目标音视频获取单元,用于根据预先建立的所述预设音频结构与所述目标音频结构之间的对应关系,将所述候选音频数据转换为所述目标音频数据,并根据预先建立的所述预设视频结构与所述目标视频结构之间的对应关系,将所述候选视频数据转换为所述目标视频数据。
示例性的,所述候选音视频获取单元,可以包括:
原始结构确定子单元,用于确定所述原始音频数据对应的原始音频结构,以及所述原始视频数据对应的原始视频结构;
候选音视频获取子单元,用于根据预先建立的所述原始音频结构与所述预设音频结构之间的对应关系,将所述原始音频数据转换为所述候选音频数据,并根据预先建立的所述原始视频结构与所述预设视频结构之间的对应关系,将所述原始视频数据转换为所述候选视频数据。
具体地,所述录屏数据为MP4格式的数据。
在一种可能的实现方式中,所述装置还可以包括:
视频显示模块,用于通过所述第一终端中的视频解码器对所述原始视频数据进行解码,并将解码得到的原始视频数据渲染于所述第一终端的显示界面。
在另一种可能的实现方式中,所述装置还可以包括:
音频播放模块,用于通过所述第一终端中的音频解码器对所述原始音频数据进行解码,并将解码得到的原始音频数据通过所述第一终端的声音播放装置进行播放。
示例性的,所述装置还可以包括:
录屏保存模块,用于若在所述第一终端上检测到停止录屏指令,则指示所述第二终端停止发送原始音频数据和原始视频数据,并将所述录屏数据保存于所述第一终端。
请参阅图10,图10示出了本申请一实施例提供的跨终端录屏装置的结构框图,该装置可应用于第二终端。如图10所示,该装置可以包括:
原始音视频获取模块1001,用于在接收到第一终端的录屏请求信息后,获取与所述第二终端当前显示内容对应的原始音频数据和原始视频数据;
目标结构确定模块1002,用于确定所述第一终端中的混流器所对应的目标音频结构和目标视频结构;
目标音视频获取模块1003,用于根据所述目标音频结构获取所述原始音频数据对应的目标音频数据,并根据所述目标视频结构获取所述原始视频数据对应的目标视频数据;
目标音视频发送模块1004,用于将所述目标音频数据和所述目标视频数据发送至所述第一终端,以指示所述第一终端通过所述第一终端中的混流器对所述目标音频数据和所述目标视频数据进行混流处理,得到录屏数据。
在一种可能的实现方式中,所述目标音视频获取模块1003,可以包括:
候选音视频获取单元,用于根据预设音频结构获取所述原始音频数据对应的候选音频数据,并根据预设视频结构获取所述原始视频数据对应的候选视频数据;
目标音视频获取单元,用于根据预先建立的所述预设音频结构与所述目标音频结构之间的对应关系,将所述候选音频数据转换为所述目标音频数据,并根据预先建立的所述预设视频结构与所述目标视频结构之间的对应关系,将所述候选视频数据转换为所述目标视频数据。
示例性的,所述候选音视频获取单元,可以包括:
原始结构确定子单元,用于确定所述原始音频数据对应的原始音频结构和所述原始视频数据对应的原始视频结构;
候选音视频获取子单元,用于根据预先建立的所述原始音频结构与所述预设音频结构之间的对应关系,将所述原始音频数据转换为所述候选音频数据,并根据预先建立的所述原始视频结构与所述预设视频结构之间的对应关系,将所述原始视频数据转换为所述候选视频数据。
应理解,所述原始音视频获取模块1001,具体用于在检测到所述第一终端对所述第二终端的触碰操作后,获取与所述第二终端当前显示内容对应的原始音频数据和原始视频数据。
示例性的,所述装置还可以包括:
录屏停止模块,用于若在所述第二终端上检测到停止录屏指令,则停止向所述第一终端发送原始音频数据和原始视频数据。
请参阅图11,图11示出了本申请实施例提供的跨终端录屏系统的系统示意图。如图11所示,该系统包括第一终端100和第二终端200,所述第一终端100包括请求发送模块101、目标结构确定模块102和混流模块103,所述第二终端200包括原始音视频获取模块201和候选音视频获取模块202,其中:
所述请求发送模块101,用于发送录屏请求信息至第二终端;
所述原始音视频获取模块201,用于在接收到所述第一终端的录屏请求信息后,获取与所述第二终端当前显示内容对应的原始音频数据和原始视频数据;
所述候选音视频获取模块202,用于根据预设音频结构获取所述原始音频数据对应的候选音频数据,以及根据预设视频结构获取所述原始视频数据对应的候选视频数据,并将所述候选音频数据和所述候选视频数据发送至所述第一终端;
所述目标结构确定模块102,用于确定所述第一终端中的混流器所对应的目标音频结构和目标视频结构,并根据所述目标音频结构获取所述候选音频数据对应的目标音频数据,以及根据所述目标视频结构获取所述候选视频数据对应的目标视频数据;
所述混流模块103,用于通过所述第一终端中的混流器对所述目标音频数据和所述目标视频数据进行混流处理,得到录屏数据。
在一种可能的实现方式中,所述候选音视频获取模块202,可以包括:
原始结构确定单元,用于所述第二终端确定所述原始音频数据对应的原始音频结构,以及所述原始视频数据对应的原始视频结构;
候选音视频获取单元,用于根据预先建立的所述原始音频结构与所述预设音频结构之间的对应关系,将所述原始音频数据转换为所述候选音频数据,以及根据预先建立的所述原始视频结构与所述预设视频结构之间的对应关系,将所述原始视频数据转换为所述候选视频数据。
示例性的,所述目标结构确定模块102,还用于根据预先建立的所述预设音频结构与所述目标音频结构之间的对应关系,将所述候选音频数据转换为所述目标音频数据,并根据预先建立的所述预设视频结构与所述目标视频结构之间的对应关系,将所述候选视频数据转换为所述目标视频数据。
在一种可能的实现方式中,所述第一终端100还可以包括录屏保存模块:
所述录屏保存模块,用于若在所述第一终端上检测到停止录屏指令,则指示所述第二终端停止发送原始音频数据和原始视频数据,并将所述录屏数据保存于所述第一终端。
应理解,所述原始音视频获取模块201,具体用于在检测到所述第一终端对所述第二终端的触碰操作后,获取与所述第二终端当前显示内容对应的原始音频数据和原始视频数据。
示例性的,所述第二终端200还可以包括录屏停止模块;
所述录屏停止模块,用于若在所述第二终端上检测到停止录屏指令,则停止向所述第一终端发送原始音频数据和原始视频数据。
具体地,所述录屏数据为MP4格式的数据。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图12为本申请一实施例提供的终端设备的结构示意图。如图12所示,该实施例的终端设备12包括:至少一个处理器1200(图12中仅示出一个)、存储器1201以及存储在所述存储器1201中并可在所述至少一个处理器1200上运行的计算机程序1202,所述处理器1200执行所述计算机程序1202时实现上述任意各个跨终端录屏方法实施例中的步骤。
所述终端设备12可包括,但不仅限于,处理器1200、存储器1201。本领域技术人员可以理解,图12仅仅是终端设备12的举例,并不构成对终端设备12的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所述处理器1200可以是中央处理单元(Central Processing Unit,CPU),该处理器1200还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器1201在一些实施例中可以是所述终端设备12的内部存储单元,例如终端设备12的硬盘或内存。所述存储器1201在另一些实施例中也可以是所述终端设备12的外部存储设备,例如所述终端设备12上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器1201还可以既包括所述终端设备12的内部存储单元也包括外部存储设备。所述存储器1201用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器1201还可以用于暂时地存储已经输出或者将要输出的数据。
由前述可知,所述终端设备12可以为手机、平板电脑、桌上型计算机、可穿戴设备、车载设备、笔记本电脑、智能电视、智能音箱、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等具有显示屏的终端设备。以所述终端设备12为手机为例。图13示出的是与本申请实施例提供的手机的部分结构的框图。参考图13,手机包括:射频(Radio Frequency,RF)电路1310、存储器1320、输入单元1330、显示单元1340、传感器1350、音频电路1360、无线保真(wireless fidelity,WiFi)模块1370、处理器1380、以及电源1390等部件。本领域技术人员可以理解,图13中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图13对手机的各个构成部件进行具体的介绍:
RF电路1310可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1380处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路1310还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器1320可用于存储软件程序以及模块,处理器1380通过运行存储在存储器1320的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1330可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1330可包括触控面板1331以及其他输入设备1332。触控面板1331,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1331上或在触控面板1331附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1331可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1380,并能接收处理器1380发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1331。除了触控面板1331,输入单元1330还可以包括其他输入设备1332。具体地,其他输入设备1332可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1340可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1340可包括显示面板1341,可选的,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1341。进一步的,触控面板1331可覆盖显示面板1341,当触控面板1331检测到在其上或附近的触摸操作后,传送给处理器1380以确定触摸事件的类型,随后处理器1380根据触摸事件的类型在显示面板1341上提供相应的视觉输出。虽然在图13中,触控面板1331与显示面板1341是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1331与显示面板1341集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1350,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1341的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1341和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1360、扬声器1361,传声器1362可提供用户与手机之间的音频接口。音频电路1360可将接收到的音频数据转换后的电信号,传输到扬声器1361,由扬声器1361转换为声音信号输出;另一方面,传声器1362将收集的声音信号转换为电信号,由音频电路1360接收后转换为音频数据,再将音频数据输出处理器1380处理后,经RF电路1310以发送给比如另一手机,或者将音频数据输出至存储器1320以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1370可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图13示出了WiFi模块1370,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1380是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1320内的软件程序和/或模块,以及调用存储在存储器1320内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1380可包括一个或多个处理单元;优选的,处理器1380可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1380中。
手机还包括给各个部件供电的电源1390(比如电池),优选的,电源可以通过电源管理系统与处理器1380逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头。可选地,摄像头在手机的上的位置可以为前置的,也可以为后置的,本申请实施例对此不作限定。
可选地,手机可以包括单摄像头、双摄像头或三摄像头等,本申请实施例对此不作限定。
例如,手机可以包括三摄像头,其中,一个为主摄像头、一个为广角摄像头、一个为长焦摄像头。
可选地,当手机包括多个摄像头时,这多个摄像头可以全部前置,或者全部后置,或者一部分前置、另一部分后置,本申请实施例对此不作限定。
另外,尽管未示出,手机还可以包括NFC芯片,NFC芯片可以设置于手机后置摄像头的附近。
另外,尽管未示出,手机还可以包括蓝牙模块等,在此不再赘述。
图14是本申请实施例的手机的软件结构示意图。以手机操作系统为Android系统为例,在一些实施例中,将Android系统分为四层,分别为应用程序层、应用程序框架层(framework,FWK)、系统层以及硬件抽象层,层与层之间通过软件接口通信。
如图14所示,所述应用程序层可以一系列应用程序包,应用程序包可以包括短信息,日历,相机,视频,导航,图库,通话等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层可以包括一些预先定义的函数,例如用于接收应用程序框架层所发送的事件的函数。
如图14所示,应用程序框架层可以包括窗口管理器、资源管理器以及通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
应用程序框架层还可以包括:
视图系统,所述视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供手机的通信功能。例如通话状态的管理(包括接通,挂断等)。
系统层可以包括多个功能模块。例如:传感器服务模块,物理状态识别模块,三维图形处理库(例如:OpenGL ES)等。
传感器服务模块,用于对硬件层各类传感器上传的传感器数据进行监测,确定手机的物理状态;
物理状态识别模块,用于对用户手势、人脸等进行分析和识别;
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
系统层还可以包括:
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
硬件抽象层是硬件和软件之间的层。硬件抽象层可以包括显示驱动,摄像头驱动,传感器驱动等,用于驱动硬件层的相关硬件,如显示屏、摄像头、传感器等。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质至少可以包括:能够将计算机程序代码携带到装置/设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (17)
1.一种跨终端录屏方法,其特征在于,应用于第一终端,所述方法包括:
向第二终端发送录屏请求信息,所述录屏请求信息用于指示所述第二终端将当前显示内容对应的原始音频数据和原始视频数据发送至所述第一终端,所述原始音频数据为所述第二终端的编码器编码后的音频数据,所述原始视频数据为所述第二终端的编码器编码后的视频数据;
接收所述第二终端发送的与所述第二终端当前显示内容对应的原始音频数据和原始视频数据;
确定所述第一终端中的混流器所对应的目标音频结构和目标视频结构,所述目标音频结构包括所述混流器混流所需音频数据的数据类型和数据格式,所述目标视频结构包括所述混流器混流所需视频数据的数据类型和数据格式;
根据所述目标音频结构获取所述原始音频数据对应的目标音频数据,并根据所述目标视频结构获取所述原始视频数据对应的目标视频数据;
通过所述混流器对所述目标音频数据和所述目标视频数据进行混流处理,得到录屏数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标音频结构获取所述原始音频数据对应的目标音频数据,并根据所述目标视频结构获取所述原始视频数据对应的目标视频数据包括:
根据预设音频结构获取所述原始音频数据对应的候选音频数据,并根据预设视频结构获取所述原始视频数据对应的候选视频数据;
根据预先建立的所述预设音频结构与所述目标音频结构之间的对应关系,将所述候选音频数据转换为所述目标音频数据,并根据预先建立的所述预设视频结构与所述目标视频结构之间的对应关系,将所述候选视频数据转换为所述目标视频数据。
3.根据权利要求2所述的方法,其特征在于,所述根据预设音频结构获取所述原始音频数据对应的候选音频数据,并根据预设视频结构获取所述原始视频数据对应的候选视频数据包括:
确定所述原始音频数据对应的原始音频结构,以及所述原始视频数据对应的原始视频结构;
根据预先建立的所述原始音频结构与所述预设音频结构之间的对应关系,将所述原始音频数据转换为所述候选音频数据,并根据预先建立的所述原始视频结构与所述预设视频结构之间的对应关系,将所述原始视频数据转换为所述候选视频数据。
4.根据权利要求1所述的方法,其特征在于,所述录屏数据为MP4格式的数据。
5.根据权利要求1所述的方法,其特征在于,在接收所述第二终端发送的与所述第二终端当前显示内容对应的原始音频数据和原始视频数据之后,还包括:
通过所述第一终端中的视频解码器对所述原始视频数据进行解码,并将解码得到的原始视频数据渲染于所述第一终端的显示界面。
6.根据权利要求5所述的方法,其特征在于,在接收所述第二终端发送的与所述第二终端当前显示内容对应的原始音频数据和原始视频数据之后,还包括:
通过所述第一终端中的音频解码器对所述原始音频数据进行解码,并将解码得到的原始音频数据通过所述第一终端的声音播放装置进行播放。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
若在所述第一终端上检测到停止录屏指令,则指示所述第二终端停止发送原始音频数据和原始视频数据,并将所述录屏数据保存于所述第一终端。
8.一种跨终端录屏方法,其特征在于,应用于第二终端,所述方法包括:
在接收到第一终端的录屏请求信息后,获取与所述第二终端当前显示内容对应的原始音频数据和原始视频数据,所述原始音频数据为所述第二终端的编码器编码后的音频数据,所述原始视频数据为所述第二终端的编码器编码后的视频数据;
确定所述第一终端中的混流器所对应的目标音频结构和目标视频结构,所述目标音频结构包括所述混流器混流所需音频数据的数据类型和数据格式,所述目标视频结构包括所述混流器混流所需视频数据的数据类型和数据格式;
根据所述目标音频结构获取所述原始音频数据对应的目标音频数据,并根据所述目标视频结构获取所述原始视频数据对应的目标视频数据;
将所述目标音频数据和所述目标视频数据发送至所述第一终端,以指示所述第一终端通过所述第一终端中的混流器对所述目标音频数据和所述目标视频数据进行混流处理,得到录屏数据。
9.根据权利要求8所述的方法,其特征在于,所述根据所述目标音频结构获取所述原始音频数据对应的目标音频数据,并根据所述目标视频结构获取所述原始视频数据对应的目标视频数据包括:
根据预设音频结构获取所述原始音频数据对应的候选音频数据,并根据预设视频结构获取所述原始视频数据对应的候选视频数据;
根据预先建立的所述预设音频结构与所述目标音频结构之间的对应关系,将所述候选音频数据转换为所述目标音频数据,并根据预先建立的所述预设视频结构与所述目标视频结构之间的对应关系,将所述候选视频数据转换为所述目标视频数据。
10.根据权利要求9所述的方法,其特征在于,所述根据预设音频结构获取所述原始音频数据对应的候选音频数据,并根据预设视频结构获取所述原始视频数据对应的候选视频数据包括:
确定所述原始音频数据对应的原始音频结构,以及所述原始视频数据对应的原始视频结构;
根据预先建立的所述原始音频结构与所述预设音频结构之间的对应关系,将所述原始音频数据转换为所述候选音频数据,并根据预先建立的所述原始视频结构与所述预设视频结构之间的对应关系,将所述原始视频数据转换为所述候选视频数据。
11.根据权利要求8所述的方法,其特征在于,所述在接收到第一终端的录屏请求信息后,获取与所述第二终端当前显示内容对应的原始音频数据和原始视频数据包括:
在检测到所述第一终端对所述第二终端的触碰操作后,获取与所述第二终端当前显示内容对应的原始音频数据和原始视频数据。
12.根据权利要求8-11任一项所述的方法,其特征在于,所述方法还包括:
若在所述第二终端上检测到停止录屏指令,则停止向所述第一终端发送原始音频数据和原始视频数据。
13.一种跨终端录屏方法,其特征在于,包括:
第一终端发送录屏请求信息至第二终端;
所述第二终端在接收到所述第一终端的录屏请求信息后,获取与所述第二终端当前显示内容对应的原始音频数据和原始视频数据,所述原始音频数据为所述第二终端的编码器编码后的音频数据,所述原始视频数据为所述第二终端的编码器编码后的视频数据;
所述第二终端根据预设音频结构获取所述原始音频数据对应的候选音频数据,以及根据预设视频结构获取所述原始视频数据对应的候选视频数据,并将所述候选音频数据和所述候选视频数据发送至所述第一终端;
所述第一终端确定所述第一终端中的混流器所对应的目标音频结构和目标视频结构,并根据所述目标音频结构获取所述候选音频数据对应的目标音频数据,以及根据所述目标视频结构获取所述候选视频数据对应的目标视频数据,所述目标音频结构包括所述混流器混流所需音频数据的数据类型和数据格式,所述目标视频结构包括所述混流器混流所需视频数据的数据类型和数据格式;
所述第一终端通过所述第一终端中的混流器对所述目标音频数据和所述目标视频数据进行混流处理,得到录屏数据。
14.根据权利要求13所述的方法,其特征在于,所述第二终端根据预设音频结构获取所述原始音频数据对应的候选音频数据,以及根据预设视频结构获取所述原始视频数据对应的候选视频数据包括:
所述第二终端确定所述原始音频数据对应的原始音频结构,以及所述原始视频数据对应的原始视频结构;
所述第二终端根据预先建立的所述原始音频结构与所述预设音频结构之间的对应关系,将所述原始音频数据转换为所述候选音频数据,以及根据预先建立的所述原始视频结构与所述预设视频结构之间的对应关系,将所述原始视频数据转换为所述候选视频数据。
15.根据权利要求13或14所述的方法,其特征在于,所述第一终端根据所述目标音频结构获取所述候选音频数据对应的目标音频数据,以及根据所述目标视频结构获取所述候选视频数据对应的目标视频数据包括:
所述第一终端根据预先建立的所述预设音频结构与所述目标音频结构之间的对应关系,将所述候选音频数据转换为所述目标音频数据,并根据预先建立的所述预设视频结构与所述目标视频结构之间的对应关系,将所述候选视频数据转换为所述目标视频数据。
16.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使所述终端设备实现如权利要求1至8任一项,或者如权利要求9至12任一项所述的跨终端录屏方法。
17.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使所述计算机实现如权利要求1至8任一项,或者如权利要求9至12任一项所述的跨终端录屏方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010534337.6A CN113873187B (zh) | 2020-06-12 | 2020-06-12 | 跨终端录屏方法、终端设备及存储介质 |
PCT/CN2021/084338 WO2021248988A1 (zh) | 2020-06-12 | 2021-03-31 | 跨终端录屏方法、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010534337.6A CN113873187B (zh) | 2020-06-12 | 2020-06-12 | 跨终端录屏方法、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113873187A CN113873187A (zh) | 2021-12-31 |
CN113873187B true CN113873187B (zh) | 2023-03-10 |
Family
ID=78845184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010534337.6A Active CN113873187B (zh) | 2020-06-12 | 2020-06-12 | 跨终端录屏方法、终端设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113873187B (zh) |
WO (1) | WO2021248988A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117201955B (zh) * | 2022-05-30 | 2024-09-13 | 荣耀终端有限公司 | 视频拍摄方法、装置、设备和存储介质 |
CN114944171A (zh) * | 2022-06-06 | 2022-08-26 | 北京字跳网络技术有限公司 | 音频录制方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103618885A (zh) * | 2013-12-16 | 2014-03-05 | 东方网力科技股份有限公司 | 一种视频传输方法、装置及电脑 |
CN109218306A (zh) * | 2018-09-12 | 2019-01-15 | 视联动力信息技术股份有限公司 | 一种音视频数据流的处理方法和系统 |
CN110166723A (zh) * | 2019-04-02 | 2019-08-23 | 广州虎牙信息科技有限公司 | 一种录屏中的音视频同步方法、电子设备、存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9508011B2 (en) * | 2010-05-10 | 2016-11-29 | Videosurf, Inc. | Video visual and audio query |
JP2013229860A (ja) * | 2012-03-28 | 2013-11-07 | Panasonic Corp | 記録装置および記録システム |
CN102779539B (zh) * | 2012-07-24 | 2015-12-16 | 武汉大千信息技术有限公司 | 视频万能转码系统和方法 |
CN103312599A (zh) * | 2013-05-09 | 2013-09-18 | 李冰 | 多网络路由网关系统 |
US9977580B2 (en) * | 2014-02-24 | 2018-05-22 | Ilos Co. | Easy-to-use desktop screen recording application |
CN105592356B (zh) * | 2014-10-22 | 2018-07-17 | 北京拓尔思信息技术股份有限公司 | 一种音视频在线虚拟剪辑方法和系统 |
CN111131760B (zh) * | 2019-12-31 | 2022-12-13 | 视联动力信息技术股份有限公司 | 一种视频录制方法和装置 |
-
2020
- 2020-06-12 CN CN202010534337.6A patent/CN113873187B/zh active Active
-
2021
- 2021-03-31 WO PCT/CN2021/084338 patent/WO2021248988A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103618885A (zh) * | 2013-12-16 | 2014-03-05 | 东方网力科技股份有限公司 | 一种视频传输方法、装置及电脑 |
CN109218306A (zh) * | 2018-09-12 | 2019-01-15 | 视联动力信息技术股份有限公司 | 一种音视频数据流的处理方法和系统 |
CN110166723A (zh) * | 2019-04-02 | 2019-08-23 | 广州虎牙信息科技有限公司 | 一种录屏中的音视频同步方法、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021248988A1 (zh) | 2021-12-16 |
CN113873187A (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109218731B (zh) | 移动设备的投屏方法、装置及系统 | |
WO2017016339A1 (zh) | 视频分享方法和装置、视频播放方法和装置 | |
CN107454416B (zh) | 视频流发送方法和装置 | |
TWI592021B (zh) | 生成視頻的方法、裝置及終端 | |
US9961393B2 (en) | Method and device for playing multimedia file | |
CN108924464B (zh) | 视频文件的生成方法、装置及存储介质 | |
CN101779439B (zh) | 向远程设备通知可用内容 | |
US9667694B1 (en) | Capturing and automatically uploading media content | |
EP4060475A1 (en) | Multi-screen cooperation method and system, and electronic device | |
CN106412687B (zh) | 一种音视频片段的截取方法和装置 | |
CN110213504B (zh) | 一种视频处理方法、信息发送方法及相关设备 | |
WO2021143386A1 (zh) | 资源传输方法及终端 | |
CN113018868B (zh) | 云游戏登录方法、装置和系统 | |
WO2021143362A1 (zh) | 资源传输方法及终端 | |
CN110430022B (zh) | 数据传输方法及装置 | |
CN114185503B (zh) | 多屏交互的系统、方法、装置和介质 | |
CN113552986A (zh) | 多窗口截屏方法、装置及终端设备 | |
CN112996042A (zh) | 网络加速方法、终端设备、服务器及存储介质 | |
WO2023030099A1 (zh) | 跨设备交互的方法、装置、投屏系统及终端 | |
CN110377235B (zh) | 数据处理方法、装置、移动终端及计算机可读存储介质 | |
CN113873187B (zh) | 跨终端录屏方法、终端设备及存储介质 | |
US9781380B2 (en) | Method, apparatus and terminal for playing multimedia content | |
CN113835649A (zh) | 一种投屏方法和终端 | |
WO2023005711A1 (zh) | 一种服务的推荐方法及电子设备 | |
CN111049977B (zh) | 一种闹钟提醒方法及电子设备 |
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 |