本申请涉及图像数据处理领域,特别是涉及基于安卓系统的直播画面放大方法、系统、设备和介质。
背景技术:
1、目前直播中一般需要配备多个相机,其中一个用于主体展示,另外一个做局部特写,通过导播台切换,可观看直播视频的具体细节。虽然该方法能够观看直播中的具体细节,但是成本较高,操作繁琐。为了帮助用户更好的查看直播视频中的细节,相关的一种方法为:在视频播放过程中,移动终端接收用户将播放方式切换为全屏播放的切换请求:在接收到切换请求之后,全屏播放该视频。在实现本发明的过程中,申请人发现上述技术至少存在以下问题:由于安卓终端的屏幕通常较小,安卓终端在全屏播放直播视频时,无法实时放大指定区域的局部画面,对于视力不好或者观看距离较远的用户看不清楚局部区域中的较小细节,影响用户观看直播视频体验;此外,该方法不能支持第三方应用,仅依靠于单独的播放软件。
2、目前针对相关技术中直播视频不能实时放大指定的局部画面以及应用范围小的问题 ,尚未提出有效的解决方案。
技术实现思路
1、本申请实施例提供了一种基于安卓系统的直播画面放大方法、系统、设备和介质,以至少解决相关技术中直播视频不能实时放大指定的局部画面以及应用范围小的问题。
2、第一方面,本申请实施例提供了一种基于安卓系统的直播画面放大方法,所述方法包括:
3、启动第一进程,将直播应用程序的表面纹理注册到所述第一进程;
4、通过所述第一进程控制所述表面纹理来监听所述直播应用程序的画面数据,并生成所述画面数据的纹理id;
5、响应对预设画面的放大指令,将所述预设画面的画面数据的纹理id传输至第二进程,通过所述第二进程执行所述预设画面的放大处理;
6、将所述放大处理后的画面数据输送至所述第一进程,通过所述第一进程将所述画面数据传输至所述直播应用程序。
7、在其中一些实施例中,将直播应用程序的表面纹理注册到所述第一进程包括:
8、在所述第一进程监听到直播应用程序打开相机预览画面的情况下,设置所述相机预览画面的表面纹理,将所述表面纹理注册到所述第一进程。
9、在其中一些实施例中,在通过所述第一进程控制所述表面纹理来监听所述直播应用程序的画面数据,并生成所述画面数据的纹理id之后,所述方法包括:
10、通过安卓系统相机服务调用系统hal服务来获取相机的画面数据,将所述画面数据存放在所述表面纹理中。
11、在其中一些实施例中,响应对预设画面的放大指令包括:
12、获取预设画面中的预设放大点;
13、以所述预设放大点为中心点生成用于局部放大的预览框,其中,所述预览框大小和形状自定义设置,所述预览框形状包括圆形框、矩形框和星型框。
14、在其中一些实施例中,通过所述第二进程执行所述预设画面的放大处理包括:
15、基于所述预设画面的画面数据的纹理id,通过所述第二进程获取与所述纹理id对应的画面数据,
16、基于预览框对所述画面数据进行局部放大。
17、在其中一些实施例中,基于所述预览框对所述画面数据进行局部放大包括:
18、通过片元着色器对所述预览框内的画面数据进行采样,得到所述画面数据的第一纹理区域;
19、将所述第一纹理区域映射到第二纹理区域,其中,所述第二纹理区域大于所述第一纹理区域。
20、在其中一些实施例中,将所述放大处理后的画面数据输送至所述第一进程包括:
21、将所述放大处理后的画面数据通过安卓进程通信输送至所述第一进程,其中,所述安卓进程通信包括binder通信、socket通信、共享内存通信、消息队列通信和信号量通信。
22、第二方面,本申请实施例提供了一种基于安卓系统的直播画面放大系统,所述系统包括后台服务模块、视频流获取模块、放大管理应用模块和进程通信模块;
23、所述后台服务模块,用于启动第一进程,将直播应用程序的表面纹理注册到所述第一进程;
24、所述视频流获取模块,用于通过所述第一进程控制所述表面纹理来监听所述直播应用程序的画面数据,并生成所述画面数据的纹理id;
25、所述放大管理应用模块,用于响应对预设画面的放大指令,通过第二进程执行所述预设画面的放大处理;
26、所述进程通信模块,用于所述预设画面的画面数据的纹理id传输至第二进程,以及用于将将所述放大处理后的画面数据输送至所述第一进程,通过所述第一进程将所述画面数据传输至所述直播应用程序。
27、第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面中任一项所述的方法。
28、第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面中所述的方法。
29、相比于相关技术,本申请实施例提供的一种基于安卓系统的直播画面放大方法、系统、设备和介质,其中,该方法通过启动第一进程,将直播应用程序的表面纹理注册到第一进程;通过第一进程控制表面纹理来监听直播应用程序的画面数据,并生成画面数据的纹理id;响应对预设画面的放大指令,将预设画面的画面数据的纹理id传输至第二进程,通过第二进程执行预设画面的放大处理;将放大处理后的画面数据输送至第一进程,通过第一进程将画面数据传输至直播应用程序。解决了直播视频不能实时放大指定的局部画面以及应用范围小的问题 ,在系统层上实现了直播画面的局部放大,与现有技术中直播画面局部放大的实现层面不同(现有技术的直播画面局部放大基于应用层)。系统层实现的直播画面局部放大对于该系统中所有的直播应用都生效,而现有技术中单个直播应用实现的局部放大只对该应用生效,在本申请实施例中,面向第三方直播应用,无需额外相机做特写的导播和直播,节省硬件成本。
1.一种基于安卓系统的直播画面放大方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,将直播应用程序的表面纹理注册到所述第一进程包括:
3.根据权利要求1所述的方法,其特征在于,在通过所述第一进程控制所述表面纹理来监听所述直播应用程序的画面数据,并生成所述画面数据的纹理id之后,所述方法包括:
4.根据权利要求1所述的方法,其特征在于,响应对预设画面的放大指令包括:
5.根据权利要求4所述的方法,其特征在于,通过所述第二进程执行所述预设画面的放大处理包括:
6.根据权利要求5所述的方法,其特征在于,基于所述预览框对所述画面数据进行局部放大包括:
7.根据权利要求1所述的方法,其特征在于,将所述放大处理后的画面数据输送至所述第一进程包括:
8.一种基于安卓系统的直播画面放大系统,其特征在于,所述系统包括后台服务模块、视频流获取模块、放大管理应用模块和进程通信模块;
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7中任一项所述的方法。