一种基于国产化的设备投屏方法及装置与流程
未命名
07-23
阅读:93
评论:0
1.本技术涉及投屏技术领域,尤其涉及一种基于国产化的设备投屏方法及装置。
背景技术:
2.随着现代化科技的发展,国产化操作系统在我国呈现飞跃性的发展,其视觉和交互性皆有了长足进步,界面的使用也越来越简便,现阶段国产化操作系统的整体使用体验已相当完善,基础软件丰富,如办公软件、绘图软件、3d软件等等,完全满足用户的日常办公需求。
3.然而,由于目前日常生活重大多数应用场景都使用了x86、windows、intel芯片等环境方案,导致在使用国产化操作系统以及cpu硬件环境后引发了一系列的兼容性问题,其中也包含了投屏技术问题,投屏技术即通过建立控制终端和投屏设备的数据传输通道,投屏设备根据控制终端下达的投屏指令获取对应的直播流数据进行投屏。
4.例如,在课堂授课、工作会议、产品展示等应用场景中均会用到投屏技术,以增强教学或演示的生动性。但目前利用国产化操作系统进行投屏的对象通常为数据库中已有的数据文件,无法对实时统计的字符数据进行渲染投屏,在一些场景中,尤其是课堂授课和工作会议,经常需要进行实时签到或投票,这一类型的字符数据只有发起者才能通过后台查看,因此国产化操作系统的兼容性仍需提高。
技术实现要素:
5.本技术的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中利用国产化操作系统进行投屏的对象通常为数据库中已有的数据文件,无法对实时统计的字符数据进行渲染投屏的技术缺陷。
6.本技术提供了一种基于国产化的设备投屏方法,述投屏方法应用于投屏服务器,所述投屏服务器采用国产化的操作系统和cpu硬件环境,所述方法包括:
7.接收控制终端发送的投屏指令,所述投屏指令包括待投屏的投屏信号和投屏设备标识;所述投屏信号的信号类别包括实时信号和文件信号;
8.若所述投屏信号为实时信号,则获取所述实时信号携带的实时数据,并根据预设画面模板将所述实时数据转换为画面数据;
9.若所述投屏信号为文件信号,则获取所述文件信号对应的数据文件,以及所述数据文件中的画面数据;
10.基于所述投屏信号对所述画面数据进行编码,生成直播流数据;
11.将所述直播流数据传输至与所述投屏设备标识对应的投屏设备,以使所述投屏设备对所述直播流数据进行解码得到投屏画面,并将所述投屏画面进行投屏。
12.可选地,所述根据预设画面模板将所述实时数据转换为画面数据,包括:
13.确定所述实时数据的数据类别,以及所述数据类别对应的预设画面模板;
14.将所述实时数据填充至所述预设画面模板中,得到画面数据。
15.可选地,所述获取所述文件信号对应的数据文件,包括:
16.对所述文件信号进行解析,得到所述投屏信号包含的关键词;
17.在数据库中对所述关键词进行检索,得到与所述关键词对应的数据文件;其中,所述数据库预先存储有多个待投屏的数据文件。
18.可选地,所述投屏信号还包括所述控制终端的请求数据;
19.所述基于所述投屏信号对所述画面数据进行编码,生成直播流数据,包括:
20.对所述画面数据进行分解,得到视频数据和/或音频数据;
21.通过编码器分别对所述视频数据和/或所述音频数据进行初次编码,生成与所述视频数据对应的视频编码数据和/或与所述音频数据对应的音频编码数据;
22.将所述请求数据、所述视频编码数据和/或所述音频编码数据进行二次编码,生成直播流数据。
23.可选地,所述将所述直播流数据传输至与所述投屏设备标识对应的投屏设备的步骤之前,还包括:
24.基于所述投屏设备标识对所述直播流数据进行校验,得到校验结果;
25.若所述校验结果为通过,则继续执行将所述直播流数据传输至与所述投屏设备标识对应的投屏设备的步骤;
26.若所述校验结果为不通过,则生成投屏失败信号,并将所述投屏失败信号返回至所述控制终端。
27.可选地,所述基于所述投屏设备标识对所述直播流数据进行校验,得到校验结果,包括:
28.获取所述投屏设备标识对应的投屏设备,以及所述投屏设备的设备数据;
29.从所述直播流数据中提取所述控制终端对应的请求数据;
30.将所述设备数据与所述请求数据进行比对,得到比对结果,并根据所述比对结果确定所述直播流数据的校验结果。
31.可选地,所述方法还包括:
32.若所述控制终端发送的投屏指令为多个,则将各个投屏指令按照接收顺序加入执行队列,并依次执行所述执行队列中每一投屏指令,以使所述投屏设备在解码得到每一投屏指令对应的投屏画面后,按照预设投屏规则将待投屏区域划分为多个子区域,并将各个投屏指令对应的投屏画面依次投屏至对应的子区域。
33.本技术还提供了一种基于国产化的设备投屏装置,包括:
34.指令接收模块,用于接收控制终端发送的投屏指令,所述投屏指令包括待投屏的投屏信号和投屏设备标识;所述投屏信号的信号类别包括实时信号和文件信号;
35.数据转换模块,用于若所述投屏信号为实时信号,则获取所述实时信号携带的实时数据,并根据预设画面模板将所述实时数据转换为画面数据;
36.数据获取模块,用于若所述投屏信号为文件信号,则获取所述文件信号对应的数据文件,以及所述数据文件中的画面数据;
37.数据编码模块,用于基于所述投屏信号对所述画面数据进行编码,生成直播流数据;
38.画面投屏模块,用于将所述直播流数据传输至所述投屏设备标识对应的投屏设
备,以使投屏设备对所述直播流数据进行解码得到投屏画面,并将所述投屏画面进行投屏。
39.本技术还提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述基于国产化的设备投屏方法的步骤。
40.本技术还提供了一种计算机设备,其特征在于,包括:一个或多个处理器,以及存储器;
41.所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如上述实施例中任一项所述基于国产化的设备投屏方法的步骤。
42.从以上技术方案可以看出,本技术实施例具有以下优点:
43.本技术提供的一种基于国产化的设备投屏方法及装置,当接收到控制终端发送的投屏指令时,可以执行该投屏指令向投屏终端投屏对应的画面,其中,该投屏指令包括投屏信号和投屏设备标识,投屏信号的信号类别包括实时信号和文件信号,当投屏信号为实时信号时,可以获取该实时信号携带的实时数据,并根据预设画面模板将该实时数据转换为画面数据,采用这种方式可以将不同类型的实时数据转换为同一格式的画面数据,以便在采用国产化的操作系统和cpu硬件环境的投屏服务器中兼容,当投屏信号为文件信号时,可以获取该文件信号对应的数据文件,以及所述数据文件中的画面数据,在获取到投屏信号对应的画面数据后,可以先基于投屏信号对画面数据进行编码,生成直播流数据,接着将该直播流数据传输至与投屏设备标识对应的投屏设备,以使投屏设备对直播流数据进行解码得到投屏画面,并将投屏画面进行投屏,通过统一格式传输的方式将画面数据实时传输至投屏终端进行投屏,可以提高国产化操作系统在不同环境下的兼容性。
附图说明
44.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
45.图1为本技术实施例提供的一种基于国产化的设备投屏方法的流程示意图;
46.图2为本技术实施例提供的一种基于国产化的设备投屏装置的结构示意图;
47.图3为本技术实施例提供的一种计算机设备的内部结构示意图。
具体实施方式
48.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
49.随着现代化科技的发展,国产化操作系统在我国呈现飞跃性的发展,其视觉和交互性皆有了长足进步,界面的使用也越来越简便,现阶段国产化操作系统的整体使用体验已相当完善,基础软件丰富,如办公软件、绘图软件、3d软件等等,完全满足用户的日常办公需求。
50.然而,由于目前日常生活重大多数应用场景都使用了x86、windows、intel芯片等环境方案,导致在使用国产化操作系统以及cpu硬件环境后引发了一系列的兼容性问题,其中也包含了投屏技术问题,投屏技术即通过建立控制终端和投屏设备的数据传输通道,投屏设备根据控制终端下达的投屏指令获取对应的直播流数据进行投屏。
51.例如,在课堂授课、工作会议、产品展示等应用场景中均会用到投屏技术,以增强教学或演示的生动性。但目前利用国产化操作系统进行投屏的对象通常为数据库中已有的数据文件,无法对实时统计的字符数据进行渲染投屏,在一些场景中,尤其是课堂授课和工作会议,经常需要进行实时签到或投票,这一类型的字符数据只有发起者才能通过后台查看,因此国产化操作系统的兼容性仍需提高。
52.基于此,本技术提出了如下技术方案,具体参见下文:
53.在一个实施例中,如图1所示,图1为本技术实施例提供的一种基于国产化的设备投屏方法的流程示意图;本技术提供了一种基于国产化的设备投屏方法,该设备投屏方法应用于投屏服务器,投屏服务器采用国产化的操作系统和cpu硬件环境,具体包括如下:
54.s110:接收控制终端发送的投屏指令,投屏指令包括待投屏的投屏信号和投屏设备标识;投屏信号的信号类别包括实时信号和文件信号。
55.本步骤中,当用户有投屏需求,需要通过投屏服务器进行投屏时,可以在控制终端选择需要投屏的数据,以使控制终端根据该数据生成投屏指令,并将该投屏指令发送至投屏服务器,投屏服务器在接收到投屏指令时,即可根据该投屏指令获取对应的画面数据。
56.可以理解的是,这里的控制终端指的是用户通过输入投屏信息进而控制投屏服务器工作的终端设备,该终端设备包括但不限于智能手机、笔记本电脑、台式电脑,智能电视等。对于控制终端发送投屏指令的过程,可以通过近程或远程发送,近程发送即将控制终端与投屏服务器连接同一片网络后通过投屏协议传输投屏指令,而远程发送为基于局域网建立控制终端与投屏服务器之间的传输通道,并通过该传输通道传输投屏指令。
57.需要说明的是,本技术的投屏指令包括了待投屏的投屏信号和投屏设备标识,其中,投屏信号的信号类别还可以包括实时信号和文件信号,其携带着对应的待投屏数据,而投屏设备标识指的是用于显示投屏信号对应的画面数据的投屏终端的身份标识,投屏服务器可以根据该投屏设备标识查询到对应的投屏终端。
58.具体地,若用户在控制终端选择的投屏数据为实时收集的字符数据,则控制终端可以实时接收该字符数据,并将该字符数据转换为实时信号持续传输至投屏服务器;若用户在控制终端选择的投屏数据为服务器中已经存储的数据文件,则控制终端可以将该数据文件的特征信息转换为文件信号直接发送至投屏服务器。
59.s120:若投屏信号为实时信号,则获取实时信号携带的实时数据,并根据预设画面模板将所述实时数据转换为画面数据。
60.本步骤中,通过步骤s120接收控制终端发送的投屏指令后,可以先判断该投屏指令中投屏信号的信号类型,当该投屏信号的信号类型为实时信号时,可以对该实时信号进行解析,得到实时信号携带的实时数据,接着可以根据预设画面模板将解析得到的实时数据转换为画面数据。
61.具体地,当接收的投屏信号为持续的不断变化的长信号时,说明该投屏信号为实时信号,因此投屏服务器可以在接收实时信号的同时对该实时信号进行解析,得到实时变
化的字符数据,接着可以通过提前存储的画面模板,将实时变化的字符数据转换为随时间变化的动态图,从而得到该动态图的画面数据。
62.举例来说,在一个工作会议的现实场景上,主持人通过控制终端发起现场投票,并将投票结果实时发送投屏设备显示,控制终端可以将投票结果转换为实时信号传输至投屏服务器,投屏服务器在接收到实时信号后,将其携带的字符数据填充至预先存储的图像模板中,得到实时变化的动态图像,接着可以获取该动态图像的画面数据发送至投屏设备显示,从而保证投票过程的公正公开公平。
63.s130:若投屏信号为文件信号,则获取文件信号对应的数据文件,以及数据文件中的画面数据。
64.本步骤中,通过步骤s120接收控制终端发送的投屏指令后,可以先判断该投屏指令中投屏信号的信号类型,当该投屏信号的信号类型为文件信号时,可以根据该文件信号携带的文件特征信息直接检索到对应的数据文件,进而获取该数据文件中的画面数据。
65.具体地,当接收的投屏信号为一个平稳的短信号时,说明该投屏信号为文件信号,因此投屏服务器可以在接收到文件信号后,通过解析获取该文件信号携带的文件特征信息,这里的文件特征信息指的是用于与其他数据文件进行区分的身份标识,具有唯一性,可以是数据文件对应的文件名,也可以是该数据文件存储时生成的数据id,在此不做限制。
66.需要说明的是,本技术的数据文件可以适用于国产化操作系统中通用的各类文件格式,包括但不限于文档格式、图片格式、视频格式和音频格式等,例如文档格式可以为txt、doc、ppt、docx等;图片格式可以为jpg、png、pdf等;视频格式可以为flv、rmvb、mp4等;音频格式可以为wma、mp3等。而数据文件中的画面数据可以包括各类文件格式中对应的视频画面和/或音频数据。
67.s140:基于投屏信号对画面数据进行编码,生成直播流数据。
68.本步骤中,通过步骤s130或步骤s140获取到画面数据后,可以根据画面数据的类型采用不同的编码方式对画面数据进行编码,生成直播流数据,通常画面数据包括视频数据和/或音频数据,其中,视频数据指的是无音频的图像画面,而音频画面指的是无图像的声音数据,不同的数据类型采用的编码方式不同。
69.具体地,在对画面数据进行编码时,可以利用编码器对画面数据进行编码,得到编码数据,若画面数据同时存在多种数据类型,则可以分别对各个数据类型的数据进行编码,在得到每一数据类型对应的编码数据后,可以将各个编码数据进行封装,生成直播流数据。
70.需要说明的是,本技术中对画面数据进行编码,即对画面数据压缩为数据码流,从而降低画面数据的数据量,以便于投屏服务器与投屏设备之间的数据传输,提高数据传输速率;将各个编码数据进行封装,即在画面数据同时存在视频数据和音频数据时,可以将视频数据和音频数据分别压缩为视频码流和音频码流,并按照一定的格式存储在一个文件中。
71.举例来说,在互联网中传输的视频数据码率通常为10mb/s,即1秒钟的传输数据量为10mbit,对于yuv422格式的1080p视频而言,传输一帧图像需要31.64mbit,若1秒钟传输30帧图像,则码率为949.2mb/s,可见其数据量之大,根本无法在互联网中传播,因此可以对其进行编码压缩,将其码率压缩至6~8mb/s,压缩率达到100倍以上,在此音频数据同理。
72.s150:将直播流数据传输至与投屏设备标识对应的投屏设备,以使投屏设备对直
播流数据进行解码得到投屏画面,并将投屏画面进行投屏。
73.本步骤中,通过步骤s140生成直播流数据后,可以根据投屏指令中的投屏设备标识设备,获取对应的投屏终端,接着可以将直播流数据传输至该投屏设备中,以使投屏设备对直播流数据进行解码得到投屏画面,并将投屏画面进行投屏。
74.具体地,在将直播流数据进行传输的过程中,可以通过流媒体协议将直播流数据进行传输,其中流媒体协议定义了直播流数据将如何分解为小数据包以及它们在不同设备间传输的顺序,互联网中使用的流媒体协议一般为rtmp以及rtsp,在本技术中,直播流数据可以通过rtsp协议传输数据。
75.进一步地,投屏设备在接收到直播流数据后,可以将直播流数据解码生成投屏画面,即可以先对直播流数据解封装,得到直播流数据包含的数据码流,接着对各个数据码流进行解码,得到对应的原始数据,并在将各个原始数据同步组合生成投屏画面后,将该投屏画面进行显示。
76.上述实施例中,当接收到控制终端发送的投屏指令时,可以执行该投屏指令向投屏终端投屏对应的画面,其中,该投屏指令包括投屏信号和投屏设备标识,投屏信号的信号类别包括实时信号和文件信号,当投屏信号为实时信号时,可以获取该实时信号携带的实时数据,并根据预设画面模板将该实时数据转换为画面数据,采用这种方式可以将不同类型的实时数据转换为同一格式的画面数据,以便在采用国产化的操作系统和cpu硬件环境的投屏服务器中兼容,当投屏信号为文件信号时,可以获取该文件信号对应的数据文件,以及所述数据文件中的画面数据,在获取到投屏信号对应的画面数据后,可以先基于投屏信号对画面数据进行编码,生成直播流数据,接着将该直播流数据传输至与投屏设备标识对应的投屏设备,以使投屏设备对直播流数据进行解码得到投屏画面,并将投屏画面进行投屏,通过统一格式传输的方式将画面数据实时传输至投屏终端进行投屏,可以提高国产化操作系统在不同环境下的兼容性。
77.在一个实施例中,步骤s120中根据预设画面模板将实时数据转换为画面数据,可以包括:
78.s121:确定实时数据的数据类别,以及数据类别对应的预设画面模板。
79.s122:将实时数据填充至预设画面模板中,得到画面数据。
80.本实施例中,当获取到实时数据后,可以确定实时数据的数据类别,以及数据类别对应的预设画面模板,并将实时数据填充至预设画面模板中,得到画面数据,用户可以提前存储适用于各种数据类别的画面模板,例如,画面模板的模式可以是能够直观查看各类数据比例的图像模式,也可以是能够对比数据差别的表格模式等模式。
81.举例来说,对于一个投票表决的实时数据,预设画面模板可以选择条形图,接着投屏服务器将该各个选项的投票结果填充至条形图对应的区域中,并将填充后的画面数据发送至投屏设备进行投屏,随着投票人数的增加,各个选项的投票结果不断变化,投屏设备显示的条形图也随之不断更新,进一步地,预设画面模板可以设置语音介绍,定时将条形图中的数据进行语音播报。
82.在一个实施例中,步骤s130中获取文件信号对应的数据文件,可以包括:
83.s131:对文件信号进行解析,得到投屏信号包含的关键词。
84.s132:在数据库中对关键词进行检索,得到与关键词对应的数据文件;其中,数据
库预先存储有多个待投屏的数据文件。
85.本实施例中,当投屏服务器接收的投屏信号为文件信号时,可以对该文件信号进行解析,得到投屏信号包含的关键词,接着可以在数据库中查找与该关键词对应的数据文件,从而获取该数据文件中的画面数据。
86.可以理解的是,数据库中存储的数据文件可以是用户上传的不同格式的数据文件,也可以是通过第三方应用软件获取的视频文件以及音频文件,在对文件信号解析得到对应的关键词后,可以利用关键词在数据库中通过相应的查询路径进行检索,以便获取到对应的音频文件。
87.举例来说,若待投屏的数据文件为用户自己上传的文件,则可以在投屏服务器的本地缓存中进行检索,若待投屏的数据文件为某一第三方应用软件中的文件,则投屏服务器可以通过与该第三方应用软件的传输通道在第三方应用软件中进行检索,并获取对应的数据文件。
88.在一个实施例中,投屏信号还包括控制终端的请求数据,步骤s140中基于投屏信号对画面数据进行编码,生成直播流数据,可以包括:
89.s141:对画面数据进行分解,得到视频数据和/或音频数据。
90.s142:通过编码器分别对视频数据和/或音频数据进行初次编码,生成与视频数据对应的视频编码数据和/或与音频数据对应的音频编码数据。
91.s143:将请求数据、视频编码数据和/或音频编码数据进行二次编码,生成直播流数据。
92.本实施例中,在获取到画面数据后,可以将该画面数据的音视频数据进行分离,以便通过编码器分别对视频数据和音频数据进行初次编码,从而将视频数据和音频数据的数据量进行压缩,生成与视频数据对应的视频编码数据和与音频数据对应的音频编码数据,接着可以将控制终端的请求数据与视频编码数据和音频编码数据一起进行封装,合成直播流数据,以便在设备间进行传输,其中,请求数据指的是用于投屏服务器与投屏终端之间建立连接的访问数据。
93.可以理解的是,画面数据可以只有视频数据,或者音频数据,也可以同时包括视频数据和音频数据,不同格式下的数据文件包含的数据类型不同,例如通过文档格式和图片格式的数据文件得到的画面数据为视频数据,而视频格式的数据文件可以同时包括视频数据和音频数据。
94.具体地,本技术分别对视频数据和音频数据进行编码的过程中,采用编码器进行编码的方式有多种,对于视频数据来说,可以选择h264、mpeg-4、webm/vp8、theora等方式,对于音频数据来说,可以选择speex、aac、ogg/vorbis等方式。在本技术的编码过程中,可以对视频数据进行h264编码,以及对音频文件进行aac编码。
95.在一个实施例中,步骤s150中将直播流数据传输至与投屏设备标识对应的投屏设备之前,还可以包括:
96.s151:基于投屏设备标识对直播流数据进行校验,得到校验结果。
97.s152:若校验结果为通过,则继续执行将直播流数据传输至与投屏设备标识对应的投屏设备的步骤。
98.s153:若校验结果为不通过,则生成投屏失败信号,并将投屏失败信号返回至控制
终端。
99.本实施例中,在将直播流数据传输至与投屏设备标识对应的投屏设备之前,还可以先基于投屏设备标识对直播流数据进行校验,得到校验结果,即提取直播流数据中携带的请求数据,用于请求访问投屏设备标识对应的投屏设备,若访问请求通过,则继续执行将直播流数据传输至与投屏设备标识对应的投屏设备的步骤,若访问请求不通过,则生成投屏失败信号,并将投屏失败信号返回至控制终端。
100.可以理解的是,控制终端在发送投屏指令时,投屏指令携带了对应的请求数据,并在对画面数据编码时将该请求数据一起封装至直播流数据中,以便投屏服务器可以通过直播流数据中的请求数据进行校验,防止外部系统侵入投屏设备中断投屏或者进行恶意投屏,例如外部系统随意控制以及中断当前会议室中的投屏服务器的投屏,给会议室中的参会成员带来困扰。
101.在一个实施例中,步骤s151基于投屏设备标识对直播流数据进行校验,得到校验结果,可以包括:
102.s511:获取投屏设备标识对应的投屏设备,以及投屏设备的设备数据。
103.s512:从直播流数据中提取控制终端对应的请求数据。
104.s513:将设备数据与所述请求数据进行比对,得到比对结果,并根据比对结果确定直播流数据的校验结果。
105.本实施例中,在对直播流数据进行校验的过程中,可以先获取投屏设备标识对应的投屏设备,以及投屏设备的设备数据,接着从直播流数据中提取出控制终端对应的请求数据,以便将设备数据与所述请求数据进行比对,得到比对结果,若比对的结果一致,则说明直播流数据的校验结果通过,若比对的结果不一致,则说明直播流数据的校验结果不通过。
106.具体地,这里的设备数据和请求数据可以是具有时效性的随机数字码,可以是投屏设备的身份标识码,也可以是投屏设备的登录账号及密码,在此不做限制。在本技术中,设备数据可以设置为投屏设备设定的账号和密码,投屏服务器可以提取出直播流数据中的请求数据,并将请求数据携带的账号和密码进行登录测试,若登录成功,则将该直播流数据转发至投屏设备,以便投屏设备对直播流数据进行解码并渲染至屏幕中显示。
107.进一步地,将该直播流数据转发至投屏设备的方式包括有线转发和无线转发;当转发方式为有线时,可以通过hdmi或者vga等视频接口将投屏服务器和投屏设备直接连接,通过视频接口将直播流数据传输至投屏设备,该方式可以保证传输的稳定性和画质的清晰度;当转发方式为无线时,可以通过wifi、mi让cast、airplay等无线传输技术将投屏服务器和投屏设备进行无线连接,实现直播流数据的传输。
108.在一个实施例中,方法还可以包括:
109.s160:若控制终端发送的投屏指令为多个,则将各个投屏指令按照接收顺序加入执行队列,并依次执行该执行队列中每一投屏指令,以使投屏设备在解码得到每一投屏指令对应的投屏画面后,按照预设投屏规则将待投屏区域划分为多个子区域,并将各个投屏指令对应的投屏画面依次投屏至对应的子区域。
110.本实施例中,当用户有同屏投放多个画面的需求时,可以通过控制终端向投屏服务器发送多个投屏指令,当投屏服务器接收到多个投屏指令时,可以将各个投屏指令按照
接收顺序加入执行队列,并依次执行该执行队列中每一投屏指令,生成对应的直播流数据后传输至投屏设备,以使投屏设备解码直播流数据生成对应的投屏画面后,按照预设投屏规则将待投屏区域划分为多个子区域,并将各个投屏指令对应的投屏画面依次投屏至对应的子区域。
111.具体地,预设投屏规则时根据实际投屏需求设定的,可以对将投屏区域进行规则划分,也可以进行不规则划分,当进行规则划分时,可以将将待投屏区域平均划分为与投屏指令个数对应的子区域,当进行不规则划分时,可以根据投屏指令个数以一主多从的形式进行区域对待投屏区域划分,简单而言,即划分一块较大的子区域作为主要区域,以及多块小的子区域作为附属区域。其他可以实现本技术中子区域划分的方式,均可作为本技术优选的方案,在此不做限制。
112.进一步地,在用户通过控制终端发送多个投屏指令的过程中,可以是同时选择多个投屏指令进行发送,也可以是在投屏过程中添加投屏指令并发送至投屏服务器,无论何时,投屏终端在接收到投屏服务器转发的直播流数据并解码为投屏画面后,都可以按照预设投屏规则对待投屏区域进行更新,将新的投屏画面与已经在投屏中的投屏画面进行同屏显示。
113.下面对本技术实施例提供的基于国产化的设备投屏装置进行描述,下文描述的基于国产化的设备投屏装置与上文描述的基于国产化的设备投屏方法可相互对应参照。
114.在一个实施例中,如图2所示,图2为本技术实施例提供的一种基于国产化的设备投屏装置的结构示意图;本技术还提供了一种基于国产化的设备投屏装置,包括指令接收模块210、数据转换模块220、数据获取模块230、数据编码模块240和画面投屏模块250,具体包括如下:
115.指令接收模块210,用于接收控制终端发送的投屏指令,投屏指令包括待投屏的投屏信号和投屏设备标识;投屏信号的信号类别包括实时信号和文件信号。
116.数据转换模块220,用于若投屏信号为实时信号,则获取实时信号携带的实时数据,并根据预设画面模板将实时数据转换为画面数据。
117.数据获取模块230,用于若投屏信号为文件信号,则获取文件信号对应的数据文件,以及数据文件中的画面数据。
118.数据编码模块240,用于基于投屏信号对画面数据进行编码,生成直播流数据。
119.画面投屏模块250,用于将直播流数据传输至投屏设备标识对应的投屏设备,以使投屏设备对直播流数据进行解码得到投屏画面,并将投屏画面进行投屏。
120.上述实施例中,当接收到控制终端发送的投屏指令时,可以执行该投屏指令向投屏终端投屏对应的画面,其中,该投屏指令包括投屏信号和投屏设备标识,投屏信号的信号类别包括实时信号和文件信号,当投屏信号为实时信号时,可以获取该实时信号携带的实时数据,并根据预设画面模板将该实时数据转换为画面数据,采用这种方式可以将不同类型的实时数据转换为同一格式的画面数据,以便在采用国产化的操作系统和cpu硬件环境的投屏服务器中兼容,当投屏信号为文件信号时,可以获取该文件信号对应的数据文件,以及所述数据文件中的画面数据,在获取到投屏信号对应的画面数据后,可以先基于投屏信号对画面数据进行编码,生成直播流数据,接着将该直播流数据传输至与投屏设备标识对应的投屏设备,以使投屏设备对直播流数据进行解码得到投屏画面,并将投屏画面进行投
屏,通过统一格式传输的方式将画面数据实时传输至投屏终端进行投屏,可以提高国产化操作系统在不同环境下的兼容性。
121.在一个实施例中,数据转换模块220可以包括:
122.画面模板确定子模块,用于确定实时数据的数据类别,以及数据类别对应的预设画面模板。
123.实时数据填充子模块,用于将实时数据填充至预设画面模板中,得到画面数据。
124.在一个实施例中,数据获取模块230可以包括:
125.关键词获取子模块,用于对文件信号进行解析,得到投屏信号包含的关键词。
126.数据文件检索子模块,用于在数据库中对关键词进行检索,得到与关键词对应的数据文件;其中,数据库预先存储有多个待投屏的数据文件。
127.在一个实施例中,投屏信号还包括控制终端的请求数据;数据编码模块240可以包括:
128.画面数据分解子模块,用于对画面数据进行分解,得到视频数据和/或音频数据。
129.初次编码子模块,用于通过编码器分别对视频数据和/或音频数据进行初次编码,生成与视频数据对应的视频编码数据和/或与音频数据对应的音频编码数据。
130.二次编码子模块,用于将请求数据、视频编码数据和/或音频编码数据进行二次编码,生成直播流数据。
131.在一个实施例中,装置还可以包括:
132.数据校验模块,用于基于投屏设备标识对直播流数据进行校验,得到校验结果。
133.校验通过模块,用于若校验结果为通过,则继续执行将直播流数据传输至与投屏设备标识对应的投屏设备的步骤。
134.信号返回模块,用于若校验结果为不通过,则生成投屏失败信号,并将投屏失败信号返回至控制终端。
135.在一个实施例中,数据校验模块可以包括:
136.设备数据获取子模块,用于获取投屏设备标识对应的投屏设备,以及投屏设备的设备数据。
137.请求数据获取子模块,用于从直播流数据中提取控制终端对应的请求数据。
138.数据比对子模块,用于将设备数据与请求数据进行比对,得到比对结果,并根据所述比对结果确定所述直播流数据的校验结果。
139.在一个实施例中,装置还可以包括:
140.子区域划分模块,用于若控制终端发送的投屏指令为多个,则将各个投屏指令按照接收顺序加入执行队列,并依次执行该执行队列中每一投屏指令,以使投屏设备在解码得到每一投屏指令对应的投屏画面后,按照预设投屏规则划分为多个子区域,并将各个投屏指令对应的投屏画面依次投屏至对应的子区域。
141.在一个实施例中,本技术还提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述基于国产化的设备投屏方法的步骤。
142.在一个实施例中,本技术还提供了一种计算机设备,所述计算机设备中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器
执行如上述实施例中任一项所述基于国产化的设备投屏方法的步骤。
143.示意性地,如图3所示,图3为本技术实施例提供的一种计算机设备的内部结构示意图,该计算机设备300可以被提供为一服务器。参照图3,计算机设备300包括处理组件302,其进一步包括一个或多个处理器,以及由存储器301所代表的存储器资源,用于存储可由处理组件302的执行的指令,例如应用程序。存储器301中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件302被配置为执行指令,以执行上述任意实施例的基于国产化的设备投屏方法。
144.计算机设备300还可以包括一个电源组件303被配置为执行计算机设备300的电源管理,一个有线或无线网络接口304被配置为将计算机设备300连接到网络,和一个输入输出(i/o)接口305。计算机设备300可以操作基于存储在存储器301的操作系统,例如windows server tm、mac os xtm、unix tm、linux tm、free bsdtm或类似。
145.本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
146.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
147.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
148.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
技术特征:
1.一种基于国产化的设备投屏方法,其特征在于,所述投屏方法应用于投屏服务器,所述投屏服务器采用国产化的操作系统和cpu硬件环境,所述方法包括:接收控制终端发送的投屏指令,所述投屏指令包括待投屏的投屏信号和投屏设备标识;所述投屏信号的信号类别包括实时信号和文件信号;若所述投屏信号为实时信号,则获取所述实时信号携带的实时数据,并根据预设画面模板将所述实时数据转换为画面数据;若所述投屏信号为文件信号,则获取所述文件信号对应的数据文件,以及所述数据文件中的画面数据;基于所述投屏信号对所述画面数据进行编码,生成直播流数据;将所述直播流数据传输至与所述投屏设备标识对应的投屏设备,以使所述投屏设备对所述直播流数据进行解码得到投屏画面,并将所述投屏画面进行投屏。2.根据权利要求1所述的设备投屏方法,其特征在于,所述根据预设画面模板将所述实时数据转换为画面数据,包括:确定所述实时数据的数据类别,以及所述数据类别对应的预设画面模板;将所述实时数据填充至所述预设画面模板中,得到画面数据。3.根据权利要求1所述的设备投屏方法,其特征在于,所述获取所述文件信号对应的数据文件,包括:对所述文件信号进行解析,得到所述投屏信号包含的关键词;在数据库中对所述关键词进行检索,得到与所述关键词对应的数据文件;其中,所述数据库预先存储有多个待投屏的数据文件。4.根据权利要求1所述的设备投屏方法,其特征在于,所述投屏信号还包括所述控制终端的请求数据;所述基于所述投屏信号对所述画面数据进行编码,生成直播流数据,包括:对所述画面数据进行分解,得到视频数据和/或音频数据;通过编码器分别对所述视频数据和/或所述音频数据进行初次编码,生成与所述视频数据对应的视频编码数据和/或与所述音频数据对应的音频编码数据;将所述请求数据、所述视频编码数据和/或所述音频编码数据进行二次编码,生成直播流数据。5.根据权利要求1所述的设备投屏方法,其特征在于,所述将所述直播流数据传输至与所述投屏设备标识对应的投屏设备的步骤之前,还包括:基于所述投屏设备标识对所述直播流数据进行校验,得到校验结果;若所述校验结果为通过,则继续执行将所述直播流数据传输至与所述投屏设备标识对应的投屏设备的步骤;若所述校验结果为不通过,则生成投屏失败信号,并将所述投屏失败信号返回至所述控制终端。6.根据权利要求5所述的终端设备的投屏方法,其特征在于,所述基于所述投屏设备标识对所述直播流数据进行校验,得到校验结果,包括:获取所述投屏设备标识对应的投屏设备,以及所述投屏设备的设备数据;从所述直播流数据中提取所述控制终端对应的请求数据;
将所述设备数据与所述请求数据进行比对,得到比对结果,并根据所述比对结果确定所述直播流数据的校验结果。7.根据权利要求1所述的设备投屏方法,其特征在于,所述方法还包括:若所述控制终端发送的投屏指令为多个,则将各个投屏指令按照接收顺序加入执行队列,并依次执行所述执行队列中每一投屏指令,以使所述投屏设备在解码得到每一投屏指令对应的投屏画面后,按照预设投屏规则将待投屏区域划分为多个子区域,并将各个投屏指令对应的投屏画面依次投屏至对应的子区域。8.一种基于国产化的设备投屏装置,其特征在于,包括:指令接收模块,用于接收控制终端发送的投屏指令,所述投屏指令包括待投屏的投屏信号和投屏设备标识;所述投屏信号的信号类别包括实时信号和文件信号;数据转换模块,用于若所述投屏信号为实时信号,则获取所述实时信号携带的实时数据,并根据预设画面模板将所述实时数据转换为画面数据;数据获取模块,用于若所述投屏信号为文件信号,则获取所述文件信号对应的数据文件,以及所述数据文件中的画面数据;数据编码模块,用于基于所述投屏信号对所述画面数据进行编码,生成直播流数据;画面投屏模块,用于将所述直播流数据传输至所述投屏设备标识对应的投屏设备,以使投屏设备对所述直播流数据进行解码得到投屏画面,并将所述投屏画面进行投屏。9.一种存储介质,其特征在于:所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项所述基于国产化的设备投屏方法的步骤。10.一种计算机设备,其特征在于,包括:一个或多个处理器,以及存储器;所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如权利要求1至7中任一项所述基于国产化的设备投屏方法的步骤。
技术总结
本申请提供的一种基于国产化的设备投屏方法及装置,接收控制终端发送的投屏指令,其中,该投屏指令包括投屏信号和投屏设备标识,当投屏信号为实时信号时,可以获取该实时信号携带的实时数据,并根据预设画面模板将该实时数据转换为画面数据,当投屏信号为文件信号时,可以获取该文件信号对应的数据文件,以及所述数据文件中的画面数据,接着可以基于投屏信号对画面数据进行编码,生成直播流数据,并将该直播流数据传输至与投屏设备标识对应的投屏设备,以使投屏设备在对直播流数据进行解码得到投屏画面后,将投屏画面进行投屏,通过统一格式传输的方式将画面数据实时传输至投屏终端进行投屏,可以提高国产化操作系统在不同环境下的兼容性。同环境下的兼容性。同环境下的兼容性。
技术研发人员:王恒 陈德成 赵群英 张孝兵
受保护的技术使用者:广州市迪士普音响科技有限公司
技术研发日:2023.04.20
技术公布日:2023/7/22
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种点火药盒模具 下一篇:用于评估用地布局与路网协同性的评估方法与流程
