CN113220445A - 一种图像或视频数据获取方法及终端设备 - Google Patents
一种图像或视频数据获取方法及终端设备 Download PDFInfo
- Publication number
- CN113220445A CN113220445A CN202110329785.7A CN202110329785A CN113220445A CN 113220445 A CN113220445 A CN 113220445A CN 202110329785 A CN202110329785 A CN 202110329785A CN 113220445 A CN113220445 A CN 113220445A
- Authority
- CN
- China
- Prior art keywords
- virtual camera
- application program
- video data
- image
- hal
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000006870 function Effects 0.000 claims description 61
- 239000010410 layer Substances 0.000 description 59
- 230000000694 effects Effects 0.000 description 18
- 238000004590 computer program Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 2
- 239000012792 core layer Substances 0.000 description 2
- 108091029480 NONCODE Proteins 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
Abstract
本发明实施例公开了一种图像或视频数据获取方法及终端设备,应用于终端设备技术领域,可解决多个应用程序无法同时获取图像或视频数据的问题。该方法应用于安卓Android操作系统的终端设备,包括:通过至少一个应用程序接收获取图像或视频数据的指令;根据指令为至少一个应用程序在Android操作系统中的服务层创建至少一个虚拟摄像头,其中,为每个应用程序对应创建一个虚拟摄像头;将至少一个虚拟摄像头注册到虚拟摄像头HAL,虚拟摄像头HAL为在Android操作系统中的服务层预先创建的;通过虚拟摄像头HAL为至少一个应用程序获取第一图像或视频数据。
Description
技术领域
本发明实施例涉及终端设备技术领域,尤其涉及一种图像或视频数据获取方法及终端设备。
背景技术
目前,终端设备中的应用程序在获取图像或视频数据的时候,通常需要调用真实摄像头去采集图像或视频数据,但是一个终端设备中真实摄像头的数量有限,当多个应用程序需要获取不同来源的图像或视频数据时,如果真实摄像头已经被某一应用程序占用,那么其他的应用程序就无法使用真实摄像头,导致多个应用程序无法同时获取图像或视频数据。
发明内容
本发明实施例提供一种图像或视频数据获取方法及终端设备,用以解决现有技术中多个应用程序无法同时获取图像或视频数据的问题。为了解决上述技术问题,本发明实施例是这样实现的:
第一方面,提供一种图像或视频数据获取方法,应用于安卓Android操作系统的终端设备,该方法包括:
通过至少一个应用程序接收获取图像或视频数据的指令;
根据所述指令为所述至少一个应用程序在Android操作系统中的服务层创建至少一个虚拟摄像头,其中,为每个应用程序对应创建一个虚拟摄像头;
将所述至少一个虚拟摄像头注册到虚拟摄像头HAL,所述虚拟摄像头HAL为在所述Android操作系统中的服务层预先创建的;
通过所述虚拟摄像头HAL为所述至少一个应用程序获取第一图像或视频数据。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述通过所述虚拟摄像头HAL为所述至少一个应用程序获取第一图像或视频数据之前,所述方法还包括:
将所述虚拟摄像头HAL注册至Android操作系统中的系统运行库层中的相机服务;
通过所述虚拟摄像头HAL接收所述相机服务发送的共享内存的地址。
作为一种可选的实施方式,在本发明实施例第一方面中,所述通过所述虚拟摄像头HAL为所述至少一个应用程序获取第一图像或视频数据,包括:
根据所述共享内存的地址,通过所述虚拟摄像头HAL从所述共享内存中为所述至少一个应用程序获取第一图像或视频数据。
作为一种可选的实施方式,在本发明实施例第一方面中,所述通过所述虚拟摄像头HAL为所述至少一个应用程序获取第一图像或视频数据之后,所述方法还包括:
在所述至少一个应用程序中显示所述第一图像或视频数据。
作为一种可选的实施方式,在本发明实施例第一方面中,在所述Android操作系统中预置虚拟摄像头功能,所述根据所述指令为所述至少一个应用程序在Android操作系统中的服务层创建至少一个虚拟摄像头,包括:
响应于所述指令,检测虚拟摄像头功能是否开启;
若所述虚拟摄像头功能开启,则根据所述指令为所述至少一个应用程序在所述Android操作系统中的服务层创建所述至少一个虚拟摄像头。
作为一种可选的实施方式,在本发明实施例第一方面中,所述根据所述指令为所述至少一个应用程序在Android操作系统中的服务层创建至少一个虚拟摄像头,包括:
响应于所述指令,控制第一应用程序通过应用程序编程接口API调用摄像头打开函数,以尝试启用实体摄像头获取图像或视频数据;所述第一应用程序为所述至少一个应用程序中的一个应用程序;
在确定所述实体摄像头已被第二应用程序占用的情况下,为所述第一应用程序在所述Android操作系统中的服务层创建第一虚拟摄像头,所述第二应用程序为所述至少一个应用程序中与所述第一应用程序不同的应用程序。
作为一种可选的实施方式,在本发明实施例第一方面中,所述在确定所述实体摄像头已被第二应用程序占用的情况下,为所述第一应用程序在所述Android操作系统中的服务层创建第一虚拟摄像头,包括:
在确定所述实体摄像头已被所述第二应用程序占用的情况下,检测所述虚拟摄像头功能是否开启;
若所述虚拟摄像头功能开启,则根据所述指令为所述第一应用程序创建所述第一虚拟摄像头;
若所述虚拟摄像头模块未开启,则开启所述虚拟摄像头功能,并根据所述指令为所述第一应用程序创建所述第一虚拟摄像头。
作为一种可选的实施方式,在本发明实施例第一方面中,所述将所述至少一个虚拟摄像头注册到虚拟摄像头HAL,包括:
通过所述至少一个虚拟摄像头向所述虚拟摄像头HAL发送注册请求消息;
若某一虚拟摄像头接收到所述虚拟摄像头HAL发送的注册成功消息,则确定将所述某一虚拟摄像头成功注册到所述虚拟摄像头HAL。
作为一种可选的实施方式,在本发明实施例第一方面中,所述第一虚拟摄像头向所述虚拟摄像头HAL发送注册请求消息之后,还包括:
每个虚拟摄像头发送的所述注册请求消息中携带有所述每个虚拟摄像头的标识;
在所述虚拟摄像头HAL中保存所述至少一个虚拟摄像头中所述每个虚拟摄像头的标识。
作为一种可选的实施方式,在本发明实施例第一方面中,通过虚拟摄像头HAL为至少一个应用程序获取第一图像或视频数据,包括:
通过虚拟摄像头HAL获取第一图像或视频数据;
将第一图像或视频数据由至少一个虚拟摄像头分别转发至对应的应用程序,以使得至少一个应用程序获取到第一图像或视频数据。
作为一种可选的实施方式,在本发明实施例第一方面中,通过虚拟摄像头HAL获取第一图像或视频数据,包括:
通过虚拟摄像头HAL获取第二图像或视频数据;
通过虚拟摄像头HAL获取至少一个应用程序的显示参数;其中,显示参数包括分辨率、显示格式、获取图像或视频数据时的操作类型中的至少一种。
根据每个应用程序对应的显示参数,通过虚拟摄像头HAL对第二图像或视频数据进行处理,得到针对每个应用程序处理后的第一图像或视频数据。
作为一种可选的实施方式,在本发明实施例第一方面中,通过虚拟摄像头HAL获取第一图像或视频数据,包括:
通过虚拟摄像头HAL获取第二图像或视频数据;
通过虚拟摄像头HAL获取针对至少一个应用程序设置的显示特效函数;
根据针对每个应用程序设置的显示特效函数,通过虚拟摄像头HAL对第二图像或视频数据进行处理,得到针对每个应用程序处理后的第一图像或视频数据。
第二方面,提供一种终端设备,该终端设备包括:
接收模块,用于通过至少一个应用程序接收获取图像或视频数据的指令;
处理模块,用于根据指令为至少一个应用程序在Android操作系统中的服务层创建至少一个虚拟摄像头,其中,为每个应用程序对应创建一个虚拟摄像头;将至少一个虚拟摄像头注册到虚拟摄像头HAL,虚拟摄像头HAL为在Android操作系统中的服务层预先创建的;
获取模块,用于通过虚拟摄像头HAL为至少一个应用程序获取目标图像或视频数据。
第三方面,提供一种终端设备,包括:
存储有可执行程序代码的存储器;
与存储器耦合的处理器;
处理器调用存储器中存储的可执行程序代码,执行本发明实施例第一方面的方法。
第四方面,提供一种计算机可读存储介质,其存储计算机程序,计算机程序使得计算机执行本发明实施例第一方面的方法。计算机可读存储介质包括ROM/RAM、磁盘或光盘等。
第五方面,提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行第一方面的任意一种方法的部分或全部步骤。
第六方面,提供一种应用发布平台,应用发布平台用于发布计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行第一方面的任意一种方法的部分或全部步骤。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例提供一种图像或视频数据获取方法,配置有Android操作系统的终端设备可以通过至少一个应用程序接收获取图像或视频数据的指令,根据指令为每个应用程序创建一个虚拟摄像头,将至少一个虚拟摄像头注册到虚拟摄像头HAL,再通过虚拟摄像头HAL获取图像或视频数据。通过该方案,每个应用程序都对应一个虚拟摄像头,这样当真实摄像头被某个应用程序占用的时候,终端设备的其他应用程序都可以通过对应的虚拟摄像头从注册的虚拟摄像头HAL中获取图像或视频数据,使得多个应用程序可以通过各自对应的虚拟摄像头同时获取图像或视频数据。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种Android操作系统的架构示意图;
图2是本发明实施例提供的一种图像或视频数据获取方法的流程示意图一;
图3是本发明实施例提供的一种图像或视频数据获取方法的内部实现示意图一;
图4是本发明实施例提供的一种图像或视频数据获取方法的流程示意图二;
图5是本发明实施例提供的一种终端设备的结构示意图一;
图6是本发明实施例提供的一种终端设备的结构示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一应用程序和第二应用程序等是用于区别不同的应用程序,而不是用于描述应用程序的特定顺序。
本发明实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
相关技术中,终端设备中的应用程序在获取图像或视频数据的时候,通常需要调用真实摄像头去采集音频信息,但是一个终端设备中真实摄像头的数量有限,当多个应用程序需要获取不同来源的图像或视频数据时,如果真实摄像头已经被某一应用程序占用,那么其他的应用程序就无法使用真实摄像头。
为了解决上述问题,本发明实施例提供一种图像或视频数据获取方法及终端设备,配置有Android操作系统的终端设备可以通过至少一个应用程序接收获取图像或视频数据的指令,根据指令为每个应用程序创建一个虚拟摄像头,将至少一个虚拟摄像头注册到虚拟摄像头HAL,再通过虚拟摄像头HAL获取图像或视频数据。通过该方案,每个应用程序都对应一个虚拟摄像头,这样当真实摄像头被某个应用程序占用的时候,终端设备的其他应用程序都可以通过对应的虚拟摄像头从注册的虚拟摄像头HAL中获取图像或视频数据,使得多个应用程序可以通过各自对应的虚拟摄像头同时获取图像或视频数据。
本发明实施例涉及的终端设备可以为直播设备,该直播设备中包括主机和与主机电连接的直播显示屏,可选的,该直播设备还可以包括有摄像头、麦克风、扬声器等器件,本发明实施例不作限定。
本发明实施例涉及的终端设备还可以为手机、平板电脑、笔记本电脑、掌上电脑、车载终端设备、可穿戴设备、超级移动个人计算机(Ultra-Mobile Personal Computer,UMPC)、上网本或者个人数字助理(Personal Digital Assistant,PDA)等电子设备。其中,可穿戴设备可以为智能手表、智能手环、手表电话、智能脚环、智能耳环、智能项链、智能耳机等,本发明实施例不作限定。
本发明实施例提供的图像或视频数据获取方法的执行主体可以为上述的终端设备,也可以为该终端设备中能够实现该图像或视频数据获取方法的功能模块和/或功能实体,具体的可以根据实际使用需求确定,本发明实施例不作限定。下面以终端设备为例,对本发明实施例提供的图像或视频数据获取方法进行示例性的说明。
本发明实施例提供的图像或视频数据获取方法,可以应用于使用终端设备获取图像或视频数据的场景中,该方法具体应用在Android操作系统的终端设备。
可选的,本发明实施例中终端设备上安装的Android操作系统是基于Linux的自由及开放源代码的操作系统,主要应用于移动设备。Android操作系统采用了分层的架构,如图1所示,分别为应用程序层、应用程序框架层、系统运行库层、硬件抽象层以及Linux核心层,在系统运行库层中还包括运行环境。
可选的,应用程序层(Application)就是开发的应用程序,属于用户应用层面,其中具体可以包括:主程序、联系人、浏览器、其他小部件等。
可选的,应用程序框架层(Application Framework)就是开发人员可以完全访问应用程序所使用的应用程序编程接口(Application Programming Interface,API),也就是隐藏在每个应用程序后面的一系列的服务和系统。应用程序架构层的设计简化了应用程序重用机制,任何一个应用程序都可以发布各自的功能块,并且任何其它的应用程序都可以在遵循框架的安全性的基础上,使用其所发布的功能块。同样的,用户也可以通过该简化后的应用程序重用机制方便的替换应用程序组件。
其中,应用程序框架层至少可以包括:
(1)丰富可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons),以及可嵌入的web浏览器等。
(2)内容提供器(Content Providers),可以使得应用程序访问另一个应用程序的数据(如联系人数据库),或者共享各自的数据。
(3)资源管理器(Resource Manager),可以提供非代码资源的访问,如本地字符串,图形,和布局文件(layout files)等。
(4)通知管理器(Notification Manager),可以使得应用程序在状态栏中显示自定义的提示信息。
(5)活动管理器(Activity Manager),可以用来管理应用程序的生命周期,并提供常用的导航回退功能。
可选的,系统运行库层(Libraries)包括一些C/C++库,这些库能被不同的应用组件使用。
其中,系统运行库层至少可以包括:
(1)系统C库:从伯克利软件套件(Berkeley Software Distribution,BSD)继承来的标准C系统函数库(Libc),系统C库为专门为基于嵌入式(embedded)Linux的设备定制的。
(2)媒体库:该媒体库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。
(3)表层管理程序(Surface Manager):对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。
(4)LibWebCore:web浏览器引擎,支持Android浏览器和一个可嵌入的web视图。
(5)SGL:底层的2D图形引擎。
(6)3D libraries:该库可以使用硬件3D加速或者使用高度优化的3D软加速。
(7)FreeType:位图(bitmap)和矢量(vector)字体显示。
(8)SQLite:一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
需要说明的是,在系统运行库层中,还包括Android操作系统的运行环境(AndroidRuntime),java程序的运行需要java的核心包的支持,然后通过虚拟机来运行应用程序,运行环境中的核心库(Core Libraries)就相当于java的开发工具包(Java Developer Kit,JDK),是运行应用程序所需要的核心库;Dalvik虚拟机(DalvikVirtual Machine)就相当于Java虚拟机(Java Virtual Machine),是为Android开发的运行Android应用程序所需的虚拟机。
可选的,硬件抽象层(Hardware Abstraction Layer,HAL)是连接系统运行库层与Linux核心层的重要桥梁。HAL层可以屏蔽不同硬件设备的差异,为Android操作系统提供统一的设备访问接口。HAL层还可以隐藏设备的核心细节,Android操作系统将对硬件的实现方式分为用户空间和内核空间,HAL层位于用户空间,允许不公开源代码,并将设备相关的实现方式放在HAL层中实现,并以共享库的形式进行提供数据。
其中,HAL层可以包括多个功能模块,比如:摄像头功能模块(Mic)、蓝牙功能模块(Bluetooth)、摄像头功能模块(Camera)、传感器功能模块(Sensors)等。在本发明实施例中,虚拟摄像头、虚拟摄像头HAL均存在于HAL层中。
需要说明的是,本发明实施例中的Android操作系统中的服务层可以为HAL层。
可选的,Linux核心层(Linux Kernel)是Android操作系统的底层实现,提供核心系统服务,包括:安全、内存管理、进程管理、网络堆栈、驱动模型等。Linux核心层中还包括许多的驱动程序,比如:显示驱动、输入设备驱动、音频系统驱动、摄像头驱动、WiFi驱动、蓝牙驱动、电源管理,正是通过这些驱动程序来驱动我们设备上的硬件设备的。
如图2所示,本发明实施例提供一种图像或视频数据获取方法,该方法可以包括下述步骤:
201、通过至少一个应用程序接收获取图像或视频数据的指令。
在本发明实施例中,当用户在使用终端设备的应用程序的时候,可能会需要获取图像或视频数据,此时用户会在应用程序中进行触控操作,以使得终端设备接收到获取图像或视频数据的指令。
可选的,用户的触控操作可以包括:用户在应用程序中点击获取图像或视频数据的控件;或者,用户在在应用程序中输入预设文本信息或者预设手势信息,该预设文本信息或者预设手势信息可以用于指示终端设备获取图像或视频数据。
202、根据指令为至少一个应用程序在Android操作系统中的服务层创建至少一个虚拟摄像头。
在本发明实施例中,终端设备可以在Android操作系统中的服务层中创建至少一个虚拟摄像头。
其中,每个虚拟摄像头对应一个应用程序。
可选的,根据指令为至少一个应用程序在Android操作系统中的服务层创建至少一个虚拟摄像头,具体可以包括以下两种实现方式:
实现方式一:响应于指令,检测虚拟摄像头功能是否开启;若虚拟摄像头功能开启,则根据指令为至少一个应用程序在Android操作系统中的服务层创建至少一个虚拟摄像头。
在本发明实施例中,若在Android操作系统的HAL层中预置有虚拟摄像头功能,那么终端设备在接收到获取图像或视频数据的指令之后,还可以检测虚拟摄像头功能是否启动;若虚拟摄像头功能处于启动状态,则根据指令为至少一个应用程序在Android操作系统中的服务层创建至少一个虚拟摄像头;若虚拟摄像头功能处于关闭状态,则启动虚拟摄像头功能,并根据指令为至少一个应用程序在Android操作系统中的服务层创建至少一个虚拟摄像头。
实现方式二:响应于指令,控制第一应用程序通过应用程序编程接口API调用摄像头打开函数,以尝试启用实体摄像头获取图像或视频数据;在确定实体摄像头已被第二应用程序占用的情况下,为第一应用程序在Android操作系统中的服务层创建第一虚拟摄像头。
在本发明实施例中,终端设备通过第一应用程序接收到获取图像或视频数据的指令之后,可以控制第一应用程序通过API调用摄像头打开函数,以开启实体摄像头;此时如果终端设备检测到第二应用程序在使用实体摄像头的时候,那么终端设备可以在服务层创建第一虚拟摄像头。
其中,第一应用程序和第二应用程序为至少一个应用程序中不同的两个应用程序,第一虚拟摄像头与第一应用程序对应。
可选的,API主要用于提供应用程序与开发人员基于某软件或硬件得以访问例程的能力,而又无需访问源代码,或理解内部工作机制的细节。API是一组数量繁多、较为复杂的函数和副程序,用户可以通过API完成很多操作,譬如“读取文件”、“显示菜单”、“在视窗中显示网页”等。操作系统的API可用来分配存储器或读取文件。API可以包括很多形式,比如函数、常量、变量与数据结构。
需要说明的是,摄像头打开函数是摄像头应用程序编程接口函数,主要用于打开摄像头,终端设备的真实摄像头和虚拟摄像头在实现是均需要该摄像头打开函数。
进一步的,在确定实体摄像头已被第二应用程序占用的情况下,为第一应用程序在Android操作系统中的服务层创建第一虚拟摄像头,具体包括:在确定实体摄像头已被第二应用程序占用的情况下,检测虚拟摄像头功能是否启动;若虚拟摄像头功能启动,则根据指令为第一应用程序创建第一虚拟摄像头;若虚拟摄像头功能未启动,则启动虚拟摄像头功能,并根据指令为第一应用程序创建第一虚拟摄像头。
在本发明实施例中,终端设备还可以在检测到第二应用程序在使用实体摄像头的时候,检测虚拟摄像头功能是否启动;若虚拟摄像头功能处于启动状态,则根据指令为第一应用程序在Android操作系统中的服务层创建第一虚拟摄像头;若虚拟摄像头功能处于关闭状态,则启动虚拟摄像头功能,并根据指令为第一应用程序在Android操作系统中的服务层创建第一虚拟摄像头。
203、将至少一个虚拟摄像头注册到虚拟摄像头HAL。
在本发明实施例中,终端设备可以将至少一个虚拟摄像头注册到虚拟摄像头HAL中。
其中,虚拟摄像头HAL是预先在Android操作系统中的服务层创建的。
需要说明的是,每个应用程序都对应一个虚拟摄像头,终端设备将至少一个虚拟摄像头注册到虚拟摄像头HAL,并通过至少一个虚拟摄像头接收虚拟摄像头HAL提供的图像或视频数据。虚拟摄像头HAL可以同时关联管理多个虚拟摄像头,即虚拟摄像头HAL可以同时向多个虚拟摄像头提供图像或视频数据,再由虚拟摄像头发送至对应的应用程序,以使得多个应用程序播放同样的图像或视频数据。
可选的,将至少一个虚拟摄像头注册到虚拟摄像头HAL,具体包括:通过至少一个虚拟摄像头向虚拟摄像头HAL发送注册请求消息;若某一虚拟摄像头接收到虚拟摄像头HAL发送的注册成功消息,则确定将某一虚拟摄像头成功注册到虚拟摄像头HAL。
在本发明实施例中,终端设备将至少一个虚拟摄像头注册到虚拟摄像头HAL的时候,可以通过至少一个虚拟摄像头向虚拟摄像头HAL发送注册请求消息,虚拟摄像头HAL接收到某一虚拟摄像头的注册请求消息之后,可以将该虚拟摄像头关联管理,并向该虚拟摄像头发送注册成功消息,这样该虚拟摄像头接收到注册成功消息之后,就可以说明该虚拟摄像头已经在虚拟摄像头HAL中注册成功,就可以接收到虚拟摄像头HAL发送的图像或视频数据。
进一步的,通过至少一个虚拟摄像头向虚拟摄像头HAL发送注册请求消息之后,还可以包括:每个虚拟摄像头发送的注册请求消息中携带有每个虚拟摄像头的标识;在虚拟摄像头HAL中保存至少一个虚拟摄像头中每个虚拟摄像头的标识。
在本发明实施例中,终端设备通过某个虚拟摄像头向虚拟摄像头HAL发送的注册请求消息中,还可以包括:该虚拟摄像头的标识;并且,终端设备在虚拟摄像头HAL中保存该虚拟摄像头的标识,以使得在虚拟摄像头HAL中可以将每个虚拟摄像头更好的区分开。
可选的,将至少一个虚拟摄像头注册到虚拟摄像头HAL之后,还可以包括:通过虚拟摄像头HAL将至少一个虚拟摄像头对象回调给摄像头软件层,以通知至少一个应用程序对应的虚拟摄像头创建成功。
在本发明实施例中,终端设备在将至少一个虚拟摄像头注册到虚拟摄像头HAL之后,还可以通过API调用摄像头回调函数,将某个虚拟摄像头对象回调给摄像头软件层,以通知与该虚拟摄像头对应的应用程序,虚拟摄像头创建成功。
其中,摄像头回调函数为通过函数指针调用的函数。若将函数的指针,即函数的地址,作为参数传递给另一个函数,当该指针被用来调用其所指向的函数时,即成为回调函数,回调函数并非由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
204、通过虚拟摄像头HAL为至少一个应用程序获取目标图像或视频数据。
在本发明实施例中,终端设备可以通过虚拟摄像头HAL为至少一个应用程序获取目标图像或视频数据。
可选的,终端设备通过虚拟摄像头HAL获取图像或视频数据,该图像或视频数据可以是真实的摄像头采集的图像或视频数据,也可以是通过虚拟摄像头HAL获取的本地图像或视频数据。
可选的,通过虚拟摄像头HAL为至少一个应用程序获取目标图像或视频数据,具体包括:将虚拟摄像头HAL注册至Android操作系统中的系统运行库层中的摄像头服务;并通过虚拟摄像头HAL接收摄像头服务发送的共享内存的地址;根据共享内存的地址,通过虚拟摄像头HAL从共享内存中为至少一个应用程序获取目标图像或视频数据。
在本发明实施例中,终端设备可以将虚拟摄像头HAL注册至Android操作系统中的系统运行库层,并接收共享内存的地址,通过虚拟摄像头HAL从共享内存中获取目标图像或视频数据。
其中,终端设备将虚拟摄像头HAL注册至Android操作系统中的系统运行库层之后,虚拟摄像头HAL就可以和摄像头服务关联,并与摄像头服务进行数据传输。
示例性的,如图3所示,假设本发明实施例中的终端设备为直播设备,那么该直播设备中可以安装有导播应用程序,该导播应用程序可以通过真实摄像头获取真实图像或视频数据,也可以获取终端设备保存的音频资源,或者通过其他指定的音频源获取图像或视频数据;该导播应用程序获取到音频资源之后,可以将这些音频资源存储到共享内存中,虚拟摄像头HAL通过系统运行库层中的摄像头服务从共享内存中获取图像或视频数据,并将图像或视频数据分发至每个虚拟摄像头,从而在应用程序中输出。
通过该可选的实现方式,终端设备可以将图像或视频数据保存至共享内存中,这样虚拟摄像头HAL只需要从共享内存中获取图像或视频数据,不需要重新采集图像或视频数据,减少终端设备的操作流程,提高图像或视频数据获取效率。
本发明实施例提供一种图像或视频数据获取方法,配置有Android操作系统的终端设备可以通过至少一个应用程序接收获取图像或视频数据的指令,根据指令为每个应用程序创建一个虚拟摄像头,将至少一个虚拟摄像头注册到虚拟摄像头HAL,再通过虚拟摄像头HAL获取图像或视频数据。通过该方案,每个应用程序都对应一个虚拟摄像头,这样当真实摄像头被某个应用程序占用的时候,终端设备的其他应用程序都可以通过对应的虚拟摄像头从注册的虚拟摄像头HAL中获取图像或视频数据,使得多个应用程序可以通过各自对应的虚拟摄像头同时获取图像或视频数据。
如图4所示,本发明实施例还提供一种图像或视频数据获取方法,该方法可以包括下述步骤:
401、通过至少一个应用程序接收获取图像或视频数据的指令。
402、根据指令为至少一个应用程序在Android操作系统中的服务层创建至少一个虚拟摄像头。
403、将至少一个虚拟摄像头注册到虚拟摄像头HAL。
404、通过虚拟摄像头HAL获取目标图像或视频数据。
在本发明实施例中,终端设备可以通过虚拟摄像头HAL获取目标图像或视频数据。
可选的,通过虚拟摄像头HAL获取目标图像或视频数据,具体可以包括以下三种实现方式:
实现方式一:通过虚拟摄像头HAL获取第一图像或视频数据;通过虚拟摄像头HAL获取至少一个应用程序的显示参数;其中,显示参数包括分辨率、显示格式、获取图像或视频数据时的操作类型中的至少一种。根据每个应用程序对应的显示参数,通过虚拟摄像头HAL对第一图像或视频数据进行处理,得到针对每个应用程序处理后的目标图像或视频数据。
在本发明实施例中,终端设备可以先获取第一图像或视频数据,并且根据每个应用程序的显示参数,对第一图像或视频数据进行处理,得到针对每个应用程序不同的目标图像或视频数据。
本发明实施例中,图像或视频数据是指:图像数据,或者,视频数据。
可选的,图像数据的显示格式包括:JPEG格式、TIFF格式、RAW格式等。
可选的,视频数据的显示格式包括:MPEG格式、AVI格式、nAVI格式、ASF格式、MOV格式、3GP格式、WMV格式、DivX格式、XviD格式、RM格式,或者,RMVB格式等。
可选的,图像或视频数据的分辨率可以为:640×480、1024×768、1280×1024和1600×1200等。
可选的,获取图像或视频数据时的操作类型包括:预览操作、录制视频操作、拍摄照片操作等。
示例性的,假设终端设备获取到第一应用程序的显示参数为JPEG格式、分辨率为640×480;第二应用程序的显示参数为TIFF格式、分辨率为1280×1024;第三应用程序的显示参数为RAW格式、分辨率为1600×1200,。那么终端设备可以通过虚拟摄像头HAL获取第一图像数据,将该第一图像数据转换成JPEG格式、分辨率为640×480的图像数据,并发送给第一应用程序;将该第一图像数据转换成TIFF格式,分辨率为1280×1024的图像数据,并发送给第二应用程序;将该第一图像数据转换成RAW格式、分辨率为1600×1200的图像数据,并发送给第三应用程序。
可选的,该显示参数还可以包括:视频数据时长、图像尺寸等。
实现方式二:通过虚拟摄像头HAL获取第一图像或视频数据;通过虚拟摄像头HAL获取针对至少一个应用程序设置的图像特效参数;根据针对每个应用程序设置的图像特效参数,通过虚拟摄像头HAL对第一图像或视频数据进行处理,得到针对每个应用程序处理后的目标图像或视频数据。
在本发明实施例中,终端设备可以先获取第一图像或视频数据,并且根据每个应用程序设置的图像特效参数,对第一图像或视频数据进行处理,得到针对每个应用程序不同的目标图像或视频数据。
其中,图像特效参数可以包括:滤镜特效、动画特效参数、文字特效参数、以及色彩特效参数中的至少一种。
实现方式三:通过虚拟摄像头HAL获取第二图像或视频数据;通过虚拟摄像头HAL获取至少一个应用程序的显示参数;根据每个应用程序对应的显示参数,通过虚拟摄像头HAL对第二图像或视频数据进行处理,得到针对每个应用程序处理后的第三图像或视频数据;再通过虚拟摄像头HAL获取针对至少一个应用程序设置的图像特效参数,根据针对每个应用程序设置的图像特效参数,通过虚拟摄像头HAL对第三图像或视频数据进行处理,得到针对每个应用程序处理后的目标图像或视频数据。
在本发明实施例中,终端设备可以先获取第二图像或视频数据,并且根据每个应用程序的显示参数,对第二图像或视频数据进行处理,得到针对每个应用程序不同的第三图像或视频数据;再根据每个应用程序设置的图像特效参数,对第三图像或视频数据进行处理,得到针对每个应用程序不同的目标图像或视频数据。
需要说明的是,在该实现方式中,终端设备根据显示参数对图像或视频数据进行处理,和根据图像特效参数对图像或视频数据进行处理的顺序可以是,先根据显示参数对图像或视频数据进行处理,再根据图像特效参数对图像或视频数据进行处理;也可以是,先根据图像特效参数对图像或视频数据进行处理,再根据显示参数对图像或视频数据进行处理,本发明实施例不做限定。
405、将目标图像或视频数据由至少一个虚拟摄像头分别转发至对应的应用程序。
在本发明实施例中,终端设备可以将目标图像或视频数据分别通过虚拟摄像头转发至与虚拟摄像头对应的应用程序。
需要说明的是,终端设备通过虚拟摄像头HAL对图像或视频数据进行处理后,可以得到针对不同应用程序的不同的目标图像或视频数据,并将每一个目标图像或视频数据分别发送给与该目标图像或视频数据对应的应用程序。
406、在至少一个应用程序中显示目标图像或视频数据。
在本发明实施例中,终端设备的应用程序接收到对应的目标图像或视频数据之后,还可以显示该目标图像或视频数据。
本发明实施例提供一种图像或视频数据获取方法,配置有Android操作系统的终端设备可以通过至少一个应用程序接收获取图像或视频数据的指令,根据指令为每个应用程序创建一个虚拟摄像头,将至少一个虚拟摄像头注册到虚拟摄像头HAL,通过虚拟摄像头HAL获取目标图像或视频数据,并将目标图像或视频数据有虚拟摄像头分别发送至对应的应用程序,通过应用程序输出目标图像或视频数据。通过该方案,每个应用程序都对应一个虚拟摄像头,这样当真实摄像头被某个应用程序占用的时候,终端设备就可以通过多个虚拟摄像头从注册的虚拟摄像头HAL中获取不同的图像或视频数据,并将图像或视频数据分别发送至对应的应用程序中,这样不同的应用程序可能会获取到不同的图像或视频数据,使得多个应用程序可以通过各自对应的虚拟摄像头同时获取图像或视频数据。
实施例二
如图5所示,本发明实施例提供一种终端设备,该终端设备包括:
接收模块501,用于通过至少一个应用程序接收获取图像或视频数据的指令;
处理模块502,用于根据所述指令为所述至少一个应用程序在Android操作系统中的服务层创建至少一个虚拟摄像头,其中,为每个应用程序对应创建一个虚拟摄像头;将所述至少一个虚拟摄像头注册到虚拟摄像头HAL,所述虚拟摄像头HAL为在所述Android操作系统中的服务层预先创建的;
获取模块503,用于通过所述虚拟摄像头HAL为所述至少一个应用程序获取目标图像或视频数据。
可选的,所述处理模块502,还用于将所述虚拟摄像头HAL注册至Android操作系统中的系统运行库层中的相机服务;通过所述虚拟摄像头HAL接收所述相机服务发送的共享内存的地址。
可选的,所述获取模块503,具体用于根据所述共享内存的地址,通过所述虚拟摄像头HAL从所述共享内存中为所述至少一个应用程序获取第一图像或视频数据。
可选的,所述终端设备还包括显示模块504,用于在所述至少一个应用程序中显示所述第一图像或视频数据。
可选的,在所述Android操作系统中预置虚拟摄像头功能,所述处理模块502,具体用于响应于所述指令,检测虚拟摄像头功能是否开启;若所述虚拟摄像头功能开启,则根据所述指令为所述至少一个应用程序在Android操作系统中的服务层创建至少一个虚拟摄像头。
可选的,所述处理模块502,具体用于响应于所述指令,控制第一应用程序通过应用程序编程接口API调用摄像头打开函数,以尝试启用实体摄像头获取图像或视频数据;所述第一应用程序为所述至少一个应用程序中的一个应用程序;在确定实体摄像头已被第二应用程序占用的情况下,为所述第一应用程序在Android操作系统中的服务层创建第一虚拟摄像头,所述第二应用程序为所述至少一个应用程序中与所述第一应用程序不同的应用程序。
可选的,所述处理模块502,具体用于在确定所述实体摄像头已被第二应用程序占用的情况下,检测虚拟摄像头功能是否开启;若所述虚拟摄像头功能开启,则根据所述指令为所述第一应用程序创建所述第一虚拟摄像头;若所述虚拟摄像头功能未开启,则开启所述虚拟摄像头功能,并根据所述指令为所述第一应用程序创建所述第一虚拟摄像头。
可选的,所述处理模块502,具体用于通过所述至少一个虚拟摄像头向所述虚拟摄像头HAL发送注册请求消息;若某一虚拟摄像头接收到所述虚拟摄像头HAL发送的注册成功消息,则确定将所述某一虚拟摄像头成功注册到所述虚拟摄像头HAL。
可选的,虚拟摄像头发送的所述注册请求消息中携带有所述每个虚拟摄像头的标识;所述处理模块502,还用于每个在所述虚拟摄像头HAL中保存所述至少一个虚拟摄像头中所述每个虚拟摄像头的标识。
如图6所示,本发明实施例还提供一种终端设备,该终端设备可以包括:
存储有可执行程序代码的存储器601;
与存储器601耦合的处理器602;
其中,处理器602调用存储器601中存储的可执行程序代码,执行上述各方法实施例中终端设备执行的图像或视频数据获取方法。
需要说明的是,图6所示的终端设备还可以包括:摄像头、电池、输入按键、扬声器、麦克风、屏幕、RF电路、Wi-Fi模块、蓝牙模块、传感器等未显示的组件,本实施例不作赘述。
本发明实施例提供一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序使得计算机执行如以上各方法实施例中的方法的部分或全部步骤。
本发明实施例还提供一种计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行如以上各方法实施例中的方法的部分或全部步骤。
本发明实施例还提供一种应用发布平台,其中,应用发布平台用于发布计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行如以上各方法实施例中的方法的部分或全部步骤。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定特征、结构或特性可以以任意适合的方式结合在一个或多个实施例中。本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本发明实施例提供的终端设备能够实现上述方法实施例中所示的各个过程,为避免重复,此处不再赘述。
在本发明的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物单元,即可位于一个地方,或者也可以分布到多个网络单元上。可根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本发明的各个实施例上述方法的部分或全部步骤。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
Claims (10)
1.一种图像或视频数据获取方法,其特征在于,应用于安卓Android操作系统的终端设备,所述方法包括:
通过至少一个应用程序接收获取图像或视频数据的指令;
根据所述指令为所述至少一个应用程序在Android操作系统中的服务层创建至少一个虚拟摄像头,其中,为每个应用程序对应创建一个虚拟摄像头;
将所述至少一个虚拟摄像头注册到虚拟摄像头HAL,所述虚拟摄像头HAL为在所述Android操作系统中的服务层预先创建的;
通过所述虚拟摄像头HAL为所述至少一个应用程序获取第一图像或视频数据。
2.根据权利要求1所述的方法,其特征在于,所述通过所述虚拟摄像头HAL为所述至少一个应用程序获取第一图像或视频数据之前,所述方法还包括:
将所述虚拟摄像头HAL注册至Android操作系统中的系统运行库层中的相机服务;
通过所述虚拟摄像头HAL接收所述相机服务发送的共享内存的地址。
3.根据权利要求2所述的方法,其特征在于,所述通过所述虚拟摄像头HAL为所述至少一个应用程序获取第一图像或视频数据,包括:
根据所述共享内存的地址,通过所述虚拟摄像头HAL从所述共享内存中为所述至少一个应用程序获取第一图像或视频数据。
4.根据权利要求1所述的方法,其特征在于,所述通过所述虚拟摄像头HAL为所述至少一个应用程序获取第一图像或视频数据之后,所述方法还包括:
在所述至少一个应用程序中显示所述第一图像或视频数据。
5.根据权利要求1所述的方法,其特征在于,在所述Android操作系统中预置虚拟摄像头功能,所述根据所述指令为所述至少一个应用程序在Android操作系统中的服务层创建至少一个虚拟摄像头,包括:
响应于所述指令,检测虚拟摄像头功能是否开启;
若所述虚拟摄像头功能开启,则根据所述指令为所述至少一个应用程序在所述Android操作系统中的服务层创建所述至少一个虚拟摄像头。
6.根据权利要求5所述的方法,其特征在于,所述根据所述指令为所述至少一个应用程序在Android操作系统中的服务层创建至少一个虚拟摄像头,包括:
响应于所述指令,控制第一应用程序通过应用程序编程接口API调用摄像头打开函数,以尝试启用实体摄像头获取图像或视频数据;所述第一应用程序为所述至少一个应用程序中的一个应用程序;
在确定所述实体摄像头已被第二应用程序占用的情况下,为所述第一应用程序在所述Android操作系统中的服务层创建第一虚拟摄像头,所述第二应用程序为所述至少一个应用程序中与所述第一应用程序不同的应用程序。
7.根据权利要求6所述的方法,其特征在于,所述在确定所述实体摄像头已被第二应用程序占用的情况下,为所述第一应用程序在所述Android操作系统中的服务层创建第一虚拟摄像头,包括:
在确定所述实体摄像头已被所述第二应用程序占用的情况下,检测所述虚拟摄像头功能是否开启;
若所述虚拟摄像头功能开启,则根据所述指令为所述第一应用程序创建所述第一虚拟摄像头;
若所述虚拟摄像头模块未开启,则开启所述虚拟摄像头功能,并根据所述指令为所述第一应用程序创建所述第一虚拟摄像头。
8.根据权利要求1所述的方法,其特征在于,所述将所述至少一个虚拟摄像头注册到虚拟摄像头HAL,包括:
通过所述至少一个虚拟摄像头向所述虚拟摄像头HAL发送注册请求消息;
若某一虚拟摄像头接收到所述虚拟摄像头HAL发送的注册成功消息,则确定将所述某一虚拟摄像头成功注册到所述虚拟摄像头HAL。
9.根据权利要求8所述的方法,其特征在于,所述第一虚拟摄像头向所述虚拟摄像头HAL发送注册请求消息之后,还包括:
每个虚拟摄像头发送的所述注册请求消息中携带有所述每个虚拟摄像头的标识;
在所述虚拟摄像头HAL中保存所述至少一个虚拟摄像头中所述每个虚拟摄像头的标识。
10.一种终端设备,其特征在于,所述终端设备包括:
接收模块,用于通过至少一个应用程序接收获取图像或视频数据的指令;
处理模块,用于根据所述指令为所述至少一个应用程序在Android操作系统中的服务层创建至少一个虚拟摄像头,其中,为每个应用程序对应创建一个虚拟摄像头;将所述至少一个虚拟摄像头注册到虚拟摄像头HAL,所述虚拟摄像头HAL为在所述Android操作系统中的服务层预先创建的;
获取模块,用于通过所述虚拟摄像头HAL为所述至少一个应用程序获取目标图像或视频数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110329785.7A CN113220445A (zh) | 2021-03-26 | 2021-03-26 | 一种图像或视频数据获取方法及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110329785.7A CN113220445A (zh) | 2021-03-26 | 2021-03-26 | 一种图像或视频数据获取方法及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113220445A true CN113220445A (zh) | 2021-08-06 |
Family
ID=77084388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110329785.7A Pending CN113220445A (zh) | 2021-03-26 | 2021-03-26 | 一种图像或视频数据获取方法及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113220445A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113784049A (zh) * | 2021-09-17 | 2021-12-10 | 西安万像电子科技有限公司 | 安卓系统虚拟机的摄像头调用方法、电子设备和存储介质 |
CN114257831A (zh) * | 2021-12-21 | 2022-03-29 | 广州播丫科技有限公司 | 一种多路虚拟视频源的接入管理系统及方法 |
CN114302055A (zh) * | 2021-12-14 | 2022-04-08 | 北京鲸鲮信息系统技术有限公司 | 基于Linux的相机控制方法、装置、设备和存储介质 |
CN114363654A (zh) * | 2022-01-12 | 2022-04-15 | 北京字节跳动网络技术有限公司 | 一种视频推流方法、装置、终端设备及存储介质 |
CN114866686A (zh) * | 2022-03-25 | 2022-08-05 | 惠州华阳通用电子有限公司 | 一种摄像头视频处理方法及系统 |
CN115022570A (zh) * | 2021-12-24 | 2022-09-06 | 荣耀终端有限公司 | 获取视频帧的方法、电子设备及可读存储介质 |
CN115242972A (zh) * | 2022-06-23 | 2022-10-25 | 深圳康佳电子科技有限公司 | 一种应用调用摄像头的方法和装置、电子设备及存储介质 |
CN116233520A (zh) * | 2023-05-06 | 2023-06-06 | 海马云(天津)信息技术有限公司 | 传递和获取视频数据的方法及装置、服务器设备和存储介质 |
CN117112083A (zh) * | 2023-10-23 | 2023-11-24 | 南京芯驰半导体科技有限公司 | 用于多硬件域SoC的调用摄像头数据的方法及多硬件域SoC |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833520A (zh) * | 2009-03-11 | 2010-09-15 | 凹凸电子(武汉)有限公司 | 计算机系统、多个应用程序同时使用一个摄像头的方法 |
CN106385639A (zh) * | 2016-09-21 | 2017-02-08 | 北京小米移动软件有限公司 | 视频交互通信方法及装置 |
CN107659768A (zh) * | 2017-08-08 | 2018-02-02 | 珠海全志科技股份有限公司 | 一种基于Android多应用共享摄像头的系统及方法 |
CN108845861A (zh) * | 2018-05-17 | 2018-11-20 | 北京奇虎科技有限公司 | 虚拟摄像头的实现方法及装置 |
WO2019119831A1 (zh) * | 2017-12-19 | 2019-06-27 | 华为技术有限公司 | 访问摄像头的方法和装置、服务器、可读存储介质 |
-
2021
- 2021-03-26 CN CN202110329785.7A patent/CN113220445A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833520A (zh) * | 2009-03-11 | 2010-09-15 | 凹凸电子(武汉)有限公司 | 计算机系统、多个应用程序同时使用一个摄像头的方法 |
CN106385639A (zh) * | 2016-09-21 | 2017-02-08 | 北京小米移动软件有限公司 | 视频交互通信方法及装置 |
CN107659768A (zh) * | 2017-08-08 | 2018-02-02 | 珠海全志科技股份有限公司 | 一种基于Android多应用共享摄像头的系统及方法 |
WO2019119831A1 (zh) * | 2017-12-19 | 2019-06-27 | 华为技术有限公司 | 访问摄像头的方法和装置、服务器、可读存储介质 |
CN108845861A (zh) * | 2018-05-17 | 2018-11-20 | 北京奇虎科技有限公司 | 虚拟摄像头的实现方法及装置 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113784049B (zh) * | 2021-09-17 | 2023-08-01 | 西安万像电子科技有限公司 | 安卓系统虚拟机的摄像头调用方法、电子设备和存储介质 |
CN113784049A (zh) * | 2021-09-17 | 2021-12-10 | 西安万像电子科技有限公司 | 安卓系统虚拟机的摄像头调用方法、电子设备和存储介质 |
CN114302055A (zh) * | 2021-12-14 | 2022-04-08 | 北京鲸鲮信息系统技术有限公司 | 基于Linux的相机控制方法、装置、设备和存储介质 |
CN114257831A (zh) * | 2021-12-21 | 2022-03-29 | 广州播丫科技有限公司 | 一种多路虚拟视频源的接入管理系统及方法 |
CN114257831B (zh) * | 2021-12-21 | 2023-11-24 | 广州播丫科技有限公司 | 一种多路虚拟视频源的接入管理系统及方法 |
CN115022570A (zh) * | 2021-12-24 | 2022-09-06 | 荣耀终端有限公司 | 获取视频帧的方法、电子设备及可读存储介质 |
CN114363654A (zh) * | 2022-01-12 | 2022-04-15 | 北京字节跳动网络技术有限公司 | 一种视频推流方法、装置、终端设备及存储介质 |
CN114363654B (zh) * | 2022-01-12 | 2023-12-19 | 北京字节跳动网络技术有限公司 | 一种视频推流方法、装置、终端设备及存储介质 |
CN114866686A (zh) * | 2022-03-25 | 2022-08-05 | 惠州华阳通用电子有限公司 | 一种摄像头视频处理方法及系统 |
CN115242972A (zh) * | 2022-06-23 | 2022-10-25 | 深圳康佳电子科技有限公司 | 一种应用调用摄像头的方法和装置、电子设备及存储介质 |
CN116233520A (zh) * | 2023-05-06 | 2023-06-06 | 海马云(天津)信息技术有限公司 | 传递和获取视频数据的方法及装置、服务器设备和存储介质 |
CN116233520B (zh) * | 2023-05-06 | 2023-07-25 | 海马云(天津)信息技术有限公司 | 传递和获取视频数据的方法及装置、服务器设备和存储介质 |
CN117112083A (zh) * | 2023-10-23 | 2023-11-24 | 南京芯驰半导体科技有限公司 | 用于多硬件域SoC的调用摄像头数据的方法及多硬件域SoC |
CN117112083B (zh) * | 2023-10-23 | 2024-02-23 | 南京芯驰半导体科技有限公司 | 用于多硬件域SoC的调用摄像头数据的方法及多硬件域SoC |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113220445A (zh) | 一种图像或视频数据获取方法及终端设备 | |
CN110990105B (zh) | 界面显示方法、装置、电子设备及存储介质 | |
CN113032766B (zh) | 应用权限管理的方法和装置 | |
US11210119B2 (en) | Method and device for displaying interface, electronic equipment, server, and storage medium | |
CN110990075A (zh) | 快应用的启动方法、装置、设备及存储介质 | |
CN113220446A (zh) | 一种图像或视频数据处理方法及终端设备 | |
CN113254228A (zh) | 一种图像或视频数据分发方法及终端设备 | |
CN113835569A (zh) | 终端设备、应用内部功能的快捷启动方法和存储介质 | |
CN113835571A (zh) | 一种终端设备、信息展示方法和存储介质 | |
CN111008050B (zh) | 页面任务执行方法、装置、终端及存储介质 | |
CN110908629A (zh) | 电子设备操作方法、装置、电子设备和存储介质 | |
CN114035870A (zh) | 一种终端设备、应用资源控制方法和存储介质 | |
CN113642010B (zh) | 一种获取扩展存储设备数据的方法及移动终端 | |
CN114979533A (zh) | 一种视频录制方法、装置及终端 | |
CN111104183B (zh) | 应用程序运行方法、装置、电子设备及存储介质 | |
CN113900740A (zh) | 加载多项列表数据的方法及装置 | |
CN112068895A (zh) | 代码配置方法、装置、视频播放设备及存储介质 | |
CN116997891A (zh) | 行为监控方法、装置、终端设备及计算机可读存储介质 | |
CN115017487B (zh) | 一种电子设备登录账号的切换方法及电子设备 | |
CN116701134B (zh) | 一种数据处理方法和电子设备 | |
CN113850633B (zh) | 信息推送方法和装置 | |
CN116302295B (zh) | 一种界面显示方法 | |
CN115175002B (zh) | 一种视频播放方法及设备 | |
CN117499791A (zh) | 处理图像数据的方法和装置 | |
CN115344160A (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 |