CN113254228A - 一种图像或视频数据分发方法及终端设备 - Google Patents

一种图像或视频数据分发方法及终端设备 Download PDF

Info

Publication number
CN113254228A
CN113254228A CN202110329783.8A CN202110329783A CN113254228A CN 113254228 A CN113254228 A CN 113254228A CN 202110329783 A CN202110329783 A CN 202110329783A CN 113254228 A CN113254228 A CN 113254228A
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
Application number
CN202110329783.8A
Other languages
English (en)
Inventor
黄金叶
姜宗文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xi'an Shenniao Software Technology Co ltd
Original Assignee
Xi'an Shenniao Software Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xi'an Shenniao Software Technology Co ltd filed Critical Xi'an Shenniao Software Technology Co ltd
Priority to CN202110329783.8A priority Critical patent/CN113254228A/zh
Publication of CN113254228A publication Critical patent/CN113254228A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]

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

本发明实施例公开了一种图像或视频数据分发方法及终端设备,应用于虚拟摄像头技术领域,可解决图像或视频数据采集效率较低。该方法包括:通过虚拟摄像头HAL获取第一图像或视频数据;通过虚拟摄像头HAL获取至少一个应用程序的显示参数,显示参数包括以下至少一种:图像或视频格式、图像或视频时长、声道数量;根据每个应用程序对应的显示参数,通过虚拟摄像头HAL对第一图像或视频数据进行处理,得到针对每个应用程序处理后的目标图像或视频数据;将目标图像或视频数据由至少一个虚拟摄像头分别转发至对应的应用程序,以使得至少一个应用程序获取到目标图像或视频数据。

Description

一种图像或视频数据分发方法及终端设备
技术领域
本发明实施例涉及终端设备技术领域,尤其涉及一种图像或视频数据分 发方法及终端设备。
背景技术
目前,终端设备中通常配置有摄像头,这样终端设备的应用程序都可以 通过摄像头采集各种图像或视频数据。但是,如果多个应用程序都需要获取 不同格式或者不同时长的图像或视频数据的时候,就需要每个应用程序都通 过摄像头依次采集图像或视频数据,并对图像或视频数据进行处理,这样图 像或视频数据采集效率较低。
发明内容
本发明实施例提供一种图像或视频数据分发方法及终端设备,用以解决 现有技术中图像或视频数据采集效率较低的问题。
为了解决上述技术问题,本发明实施例是这样实现的:
第一方面,提供一种图像或视频数据分发方法,应用于安卓Android操 作系统的终端设备,该方法包括:通过虚拟摄像头HAL获取第一图像或视 频数据;
通过所述虚拟摄像头HAL获取至少一个应用程序的显示参数,所述显 示参数包括分辨率、显示格式、获取图像或视频数据时的操作类型中的至少 一种;
根据每个应用程序对应的显示参数,通过所述虚拟摄像头HAL对所述 第一图像或视频数据进行处理,得到针对所述每个应用程序处理后的目标图 像或视频数据;
将所述目标图像或视频数据由至少一个虚拟摄像头分别转发至对应的应 用程序,以使得所述至少一个应用程序获取到所述目标图像或视频数据;
其中,所述至少一个虚拟摄像头和所述虚拟摄像头HAL为在所述Android操作系统中的服务层预先创建的,所述至少一个虚拟摄像头与所述 至少一个应用程序一一对应。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述通过虚 拟摄像头HAL获取第一图像或视频数据之前,还包括:
通过所述至少一个应用程序接收获取图像或视频数据的指令;
根据所述指令为所述至少一个应用程序在Android操作系统中的服务层 创建所述至少一个虚拟摄像头,其中,为所述每个应用程序对应创建一个虚 拟摄像头;
将所述至少一个虚拟摄像头注册到所述虚拟摄像头HAL。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述通过虚 拟摄像头HAL获取第一图像或视频数据之前,所述方法还包括:
将所述虚拟摄像头HAL注册至Android操作系统中的系统运行库层中的 摄像头服务;
通过所述虚拟摄像头HAL接收所述摄像头服务发送的共享内存的地址。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述通过虚 拟摄像头HAL获取第一图像或视频数据,包括:
根据所述共享内存的地址,通过所述虚拟摄像头HAL从所述共享内存 中为所述至少一个应用程序获取所述第一图像或视频数据。
作为一种可选的实施方式,在本发明实施例的第一方面中,在所述 Android操作系统中预置虚拟摄像头功能模块,所述根据所述指令为所述至 少一个应用程序在Android操作系统中的服务层创建所述至少一个虚拟摄像 头,包括:
响应于所述指令,检测所述虚拟摄像头功能模块是否启动;
若所述虚拟摄像头功能模块启动,则根据所述指令为所述至少一个应用 程序在所述Android操作系统中的服务层创建所述至少一个虚拟摄像头。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述根据所 述指令为所述至少一个应用程序在Android操作系统中的服务层创建所述至 少一个虚拟摄像头,包括:
响应于所述指令,控制第一应用程序通过应用程序编程接口API调用摄 像头打开函数,以尝试启用实体摄像头获取图像或视频数据,所述第一应用 程序为所述至少一个应用程序中的一个应用程序;
在确定所述实体摄像头已被第二应用程序占用的情况下,为所述第一应 用程序在所述Android操作系统中的服务层创建第一虚拟摄像头,所述第二 应用程序为所述至少一个应用程序中与所述第一应用程序不同的应用程序。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述在确定 所述实体摄像头已被第二应用程序占用的情况下,为所述第一应用程序在所 述Android操作系统中的服务层创建第一虚拟摄像头,包括:
在确定所述实体摄像头已被所述第二应用程序占用的情况下,检测所述 虚拟摄像头功能模块是否启动;
若所述虚拟摄像头功能模块启动,则根据所述指令为所述第一应用程序 创建所述第一虚拟摄像头;
若所述虚拟摄像头功能模块未启动,则启动所述虚拟摄像头功能模块, 并根据所述指令为所述第一应用程序创建所述第一虚拟摄像头。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述将所述 至少一个虚拟摄像头注册到所述虚拟摄像头HAL,包括:
通过所述至少一个虚拟摄像头向所述虚拟摄像头HAL发送注册请求消 息;
若某一虚拟摄像头接收到所述虚拟摄像头HAL发送的注册成功消息, 则确定将所述某一虚拟摄像头成功注册到所述虚拟摄像头HAL。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述通过所 述至少一个虚拟摄像头向所述虚拟摄像头HAL发送注册请求消息之后,还 包括:
每个虚拟摄像头发送的所述注册请求消息中携带有所述每个虚拟摄像头 的标识;
在所述虚拟摄像头HAL中保存所述至少一个虚拟摄像头中所述每个虚 拟摄像头的标识。
第二方面,提供一种终端设备,该终端设备包括:获取模块,用于通过 虚拟摄像头HAL获取第一图像或视频数据;
所述获取模块,还用于通过所述虚拟摄像头HAL获取至少一个应用程 序的显示参数,所述显示参数包括以下至少一种:图像或视频格式、图像或 视频时长、声道数量;
处理模块,用于根据每个应用程序对应的显示参数,通过所述虚拟摄像 头HAL对所述第一图像或视频数据进行处理,得到针对所述每个应用程序 处理后的目标图像或视频数据;
收发模块,用于将所述目标图像或视频数据由至少一个虚拟摄像头分别 转发至对应的应用程序,以使得所述至少一个应用程序获取到所述目标图像 或视频数据;
其中,所述至少一个虚拟摄像头和所述虚拟摄像头HAL为在所述 Android操作系统中的服务层预先创建的,所述至少一个虚拟摄像头与所述 至少一个应用程序一一对应。
第三方面,提供一种终端设备,包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明 实施例第一方面中的图像或视频数据分发方法。
第四方面,提供一种计算机可读存储介质,其存储计算机程序,所述计 算机程序使得计算机执行本发明实施例第一方面中的图像或视频数据分发方 法。所述计算机可读存储介质包括ROM/RAM、磁盘或光盘等。
第五方面,提供一种计算机程序产品,当所述计算机程序产品在计算机 上运行时,使得所述计算机执行第一方面的任意一种方法的部分或全部步骤。
第六方面,提供一种应用发布平台,所述应用发布平台用于发布计算机 程序产品,其中,当所述计算机程序产品在计算机上运行时,使得所述计算 机执行第一方面的任意一种方法的部分或全部步骤。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中,配置Android操作系统的终端设备可以通过虚拟摄像 头HAL获取第一图像或视频数据,并根据每个应用程序的显示参数,对第 一图像或视频数据进行处理,得到针对每个应用程序的不同的目标图像或视 频数据,再将目标图像或视频数据分别转发给对应的应用程序,其中,至少 一个虚拟摄像头和虚拟摄像头HAL为在Android操作系统中的服务层预先创 建的。通过该方案,每个应用程序都对应一个虚拟摄像头,当终端设备的多 个应用程序都需要获取不同格式或者不同时长的图像或视频数据的时候,终 端设备可以将针对性处理后的图像或视频数据分别发送给多个应用程序,这 样就不需要每个应用程序重复通过摄像头采集图像或视频数据,提高图像或 视频数据采集效率以及人机交互性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需 要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提 下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种Android操作系统的架构示意图;
图2是本发明实施例提供的一种图像或视频数据分发方法的流程示意图 一;
图3是本发明实施例提供的一种图像或视频数据分发方法的内部实现示 意图;
图4是本发明实施例提供的一种图像或视频数据分发方法的流程示意图 二;
图5是本发明实施例提供的一种终端设备的结构示意图一;
图6是本发明实施例提供的一种终端设备的结构示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创 造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”和“第二”等是用于区 别不同的对象,而不是用于描述对象的特定顺序。例如,第一应用程序和第 二应用程序等是用于区别不同的应用程序,而不是用于描述应用程序的特定 顺序。
本发明实施例的术语“包括”和“具有”以及他们的任何变形,意图在 于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、 产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地 列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于 表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如” 的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更 具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈 现相关概念。
相关技术中,终端设备中都配置有摄像头,这样终端设备的应用程序都 可以通过摄像头采集各种图像或视频数据。但是,如果多个应用程序都需要 获取不同格式或者不同时长的图像或视频数据的时候,就需要每个应用程序 都通过摄像头依次采集图像或视频数据,并对图像或视频数据进行处理,这 样图像或视频数据采集效率较低,人机交互性能较差。
本发明实施例提供一种图像或视频数据分发方法及终端设备,配置 Android操作系统的终端设备可以通过虚拟摄像头HAL获取第一图像或视频 数据,并根据每个应用程序的显示参数,对第一图像或视频数据进行处理, 得到针对每个应用程序的不同的目标图像或视频数据,再将目标图像或视频 数据分别转发给对应的应用程序,其中,至少一个虚拟摄像头和虚拟摄像头 HAL为在Android操作系统中的服务层预先创建的。通过该方案,每个应用 程序都对应一个虚拟摄像头,当终端设备的多个应用程序都需要获取不同格 式或者不同时长的图像或视频数据的时候,终端设备可以将针对性处理后的 图像或视频数据分别发送给多个应用程序,这样就不需要每个应用程序重复 通过摄像头采集图像或视频数据,提高图像或视频数据采集效率以及人机交 互性能。
本发明实施例涉及的终端设备可以为直播设备,该直播设备中包括主机 和与主机电连接的直播显示屏,可选的,该直播设备还可以包括有摄像头、 摄像头、扬声器等器件,本发明实施例不作限定。
本发明实施例涉及的终端设备还可以为手机、平板电脑、笔记本电脑、 掌上电脑、车载终端设备、可穿戴设备、超级移动个人计算机(Ultra-Mobile Personal Computer,UMPC)、上网本或者个人数字助理(Personal Digital Assistant,PDA)等电子设备。其中,可穿戴设备可以为智能手表、智能手 环、手表电话、智能脚环、智能耳环、智能项链、智能耳机等,本发明实施 例不作限定。
本发明实施例提供的图像或视频数据分发方法的执行主体可以为上述的 终端设备,也可以为该终端设备中能够实现该图像或视频数据分发方法的功 能模块和/或功能实体,具体的可以根据实际使用需求确定,本发明实施例不 作限定。下面以终端设备为例,对本发明实施例提供的图像或视频数据分发 方法进行示例性的说明。
本发明实施例提供的图像或视频数据分发方法,可以应用于用户使用终 端设备需要获取图像或视频数据的场景。本发明实施例的图像或视频数据分 发方法可以应用在安卓有Android操作系统的终端设备中。
本发明实施例中,Android操作系统是一种基于Linux的自由及开放源代 码的操作系统,主要应用于移动设备。Android操作系统采用了分层的架构, 如图2所示,分别为应用程序层、应用程序框架层、系统运行库层、硬件抽 象层以及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操作系统的运行环 境(Android Runtime),java程序的运行需要java的核心包的支持,然后通 过虚拟机来运行应用程序,运行环境中的核心库(Core Libraries)就相当于 java的开发工具包(JavaDeveloper Kit,JDK),是运行应用程序所需要的核心 库;Dalvik虚拟机(DalvikVirtualMachine)就相当于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驱动、蓝牙驱动、电源管理, 正是通过这些驱动程序来驱动我们设备上的硬件设备的。
综上,Android操作系统采用的分层架构,可以使用下层提供的服务为 上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变 化时,不会影响到上层。
如图2所示,本发明实施例提供一种图像或视频数据分发方法,该方法 可以包括下述步骤:
201、通过虚拟摄像头HAL获取第一图像或视频数据。
在本发明实施例中,终端设备可以通过虚拟摄像头HAL获取第一图像 或视频数据。
可选的,终端设备通过虚拟摄像头HAL获取第一图像或视频数据,该 第一图像或视频数据可以是真实的摄像头采集的图像或视频数据,也可以是 通过虚拟摄像头HAL获取的本地图像或视频数据。
可选的,通过虚拟摄像头HAL为至少一个应用程序获取第一图像或视 频数据,具体包括:将虚拟摄像头HAL注册至Android操作系统中的系统运 行库层中的摄像头服务;并通过虚拟摄像头HAL接收摄像头服务发送的共 享内存的地址;根据共享内存的地址,通过虚拟摄像头HAL从共享内存中 为至少一个应用程序获取第一图像或视频数据。
在本发明实施例中,终端设备可以将虚拟摄像头HAL注册至Android 操作系统中的系统运行库层,并接收共享内存的地址,通过虚拟摄像头HAL 从共享内存中获取第一图像或视频数据。
其中,终端设备将虚拟摄像头HAL注册至Android操作系统中的系统运 行库层之后,虚拟摄像头HAL就可以和摄像头服务关联,并与摄像头服务 进行数据传输。
示例性的,如图3所示,假设本发明实施例中的终端设备为直播设备, 那么该直播设备中可以安装有导播应用程序,该导播应用程序可以通过真实 摄像头获取真实图像或视频数据,也可以获取终端设备保存的图像或视频资 源,或者通过其他指定的图像或视频源获取图像或视频数据;该导播应用程 序获取到图像或视频资源之后,可以将这些图像或视频资源存储到共享内存 中,虚拟摄像头HAL通过系统运行库层中的摄像头服务从共享内存中获取 图像或视频数据,并将图像或视频数据分发至每个虚拟摄像头,从而在应用 程序中输出。
通过该可选的实现方式,终端设备可以将图像或视频数据保存至共享内 存中,这样虚拟摄像头HAL只需要从共享内存中获取图像或视频数据,不 需要重新采集图像或视频数据,减少终端设备的操作流程,提高图像或视频 数据获取效率。
202、通过虚拟摄像头HAL获取至少一个应用程序的显示参数。
203、根据每个应用程序对应的显示参数,通过虚拟摄像头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对第三图像或视频数据进行处理,得到针对每个应用程序处理后的目标图像或视频数据。
其中,图像特效参数可以包括:滤镜特效、动画特效参数、文字特效参 数、以及色彩特效参数中的至少一种。
在本发明实施例中,终端设备可以先获取第二图像或视频数据,并且根 据每个应用程序的显示参数,对第二图像或视频数据进行处理,得到针对每 个应用程序不同的第三图像或视频数据;再根据每个应用程序设置的图像特 效参数,对第三图像或视频数据进行处理,得到针对每个应用程序不同的目 标图像或视频数据。
需要说明的是,在该实现方式中,终端设备根据显示参数对图像或视频 数据进行处理,和根据图像特效参数对图像或视频数据进行处理的顺序可以 是,先根据显示参数对图像或视频数据进行处理,再根据图像特效参数对图 像或视频数据进行处理;也可以是,先根据图像特效参数对图像或视频数据 进行处理,再根据显示参数对图像或视频数据进行处理,本发明实施例不做 限定。
204、将目标图像或视频数据由至少一个虚拟摄像头分别转发至对应的应 用程序。
在本发明实施例中,终端设备可以将目标图像或视频数据分别通过虚拟 摄像头转发至与虚拟摄像头对应的应用程序。
需要说明的是,终端设备通过虚拟摄像头HAL对图像或视频数据进行 处理后,可以得到针对不同应用程序的不同的目标图像或视频数据,并将每 一个目标图像或视频数据分别发送给与该目标图像或视频数据对应的应用程 序。
本发明实施例提供一种图像或视频数据分发方法,配置Android操作系 统的终端设备可以通过虚拟摄像头HAL获取第一图像或视频数据,并根据 每个应用程序的显示参数,对第一图像或视频数据进行处理,得到针对每个 应用程序的不同的目标图像或视频数据,再将目标图像或视频数据分别转发 给对应的应用程序,其中,至少一个虚拟摄像头和虚拟摄像头HAL为在 Android操作系统中的服务层预先创建的。通过该方案,每个应用程序都对 应一个虚拟摄像头,当终端设备的多个应用程序都需要获取不同格式或者不 同时长的图像或视频数据的时候,终端设备可以将针对性处理后的图像或视 频数据分别发送给多个应用程序,这样就不需要每个应用程序重复通过摄像 头采集图像或视频数据,提高图像或视频数据采集效率以及人机交互性能。
实施例二
如图4所示,本发明实施例提供一种图像或视频数据分发方法,该方法 还可以包括下述步骤:
401、通过至少一个应用程序接收获取图像或视频数据的指令。
在本发明实施例中,当用户在使用终端设备的应用程序的时候,可能会 需要获取图像或视频数据,此时用户会在应用程序中进行触控操作,以使得 终端设备接收到获取图像或视频数据的指令。
可选的,用户的触控操作可以包括:用户在应用程序中点击获取图像或 视频数据的控件;或者,用户在在应用程序中输入预设文本信息或者预设手 势信息,该预设文本信息或者预设手势信息可以用于指示终端设备获取图像 或视频数据。
402、根据指令为至少一个应用程序在Android操作系统中的服务层创建 至少一个虚拟摄像头。
在本发明实施例中,终端设备可以在Android操作系统中的服务层中创 建至少一个虚拟摄像头。
其中,每个虚拟摄像头对应一个应用程序。
可选的,根据指令为至少一个应用程序在Android操作系统中的服务层 创建至少一个虚拟摄像头,具体可以包括以下两种实现方式:
实现方式一:响应于指令,检测虚拟摄像头功能模块是否开启;若虚拟 摄像头功能模块开启,则根据指令为至少一个应用程序在Android操作系统 中的服务层创建至少一个虚拟摄像头。
在本发明实施例中,若在Android操作系统的HAL层中预置有虚拟摄像 头功能模块,那么终端设备在接收到获取图像或视频数据的指令之后,还可 以检测虚拟摄像头功能模块是否启动;若虚拟摄像头功能模块处于启动状态, 则根据指令为至少一个应用程序在Android操作系统中的服务层创建至少一 个虚拟摄像头;若虚拟摄像头功能模块处于关闭状态,则启动虚拟摄像头功 能模块,并根据指令为至少一个应用程序在Android操作系统中的服务层创 建至少一个虚拟摄像头。
实现方式二:响应于指令,控制第一应用程序通过API调用摄像头打开 函数,以尝试启用摄像头获取图像或视频数据;在确定实体摄像头已被第二 应用程序占用的情况下,为第一应用程序在Android操作系统中的服务层创 建第一虚拟摄像头。
在本发明实施例中,终端设备通过第一应用程序接收到获取图像或视频 数据的指令之后,可以控制第一应用程序通过API调用摄像头打开函数,以 开启摄像头;此时如果终端设备检测到第二应用程序在使用摄像头的时候, 那么终端设备可以在服务层创建第一虚拟摄像头。
其中,第一应用程序和第二应用程序为至少一个应用程序中不同的两个 应用程序,第一虚拟摄像头与第一应用程序对应。
可选的,API主要用于提供应用程序与开发人员基于某软件或硬件得以 访问例程的能力,而又无需访问源代码,或理解内部工作机制的细节。API 是一组数量繁多、较为复杂的函数和副程序,用户可以通过API完成很多操 作,譬如“读取文件”、“显示菜单”、“在视窗中显示网页”等。操作系 统的API可用来分配存储器或读取文件。API可以包括很多形式,比如函数、 常量、变量与数据结构。
需要说明的是,摄像头打开函数是摄像头应用程序编程接口函数,主要 用于打开摄像头,终端设备的真实摄像头和虚拟摄像头在实现是均需要该摄 像头打开函数。在本发明实施例中,该摄像头打开函数可以是Mic.open函数。
进一步的,在确定实体摄像头已被第二应用程序占用的情况下,为第一 应用程序在Android操作系统中的服务层创建第一虚拟摄像头,具体包括: 在实体摄像头已被第二应用程序占用的情况下,检测虚拟摄像头功能模块是 否启动;若虚拟摄像头功能模块启动,则根据指令为第一应用程序创建第一 虚拟摄像头;若虚拟摄像头未启动,则启动虚拟摄像头功能模块,并根据指 令为第一应用程序创建第一虚拟摄像头。
在本发明实施例中,终端设备还可以在检测到第二应用程序在使用摄像 头的时候,检测虚拟摄像头功能模块是否启动;若虚拟摄像头功能模块处于 启动状态,则根据指令为第一应用程序在Android操作系统中的服务层创建 第一虚拟摄像头;若虚拟摄像头功能模块处于关闭状态,则启动虚拟摄像头 功能模块,并根据指令为第一应用程序在Android操作系统中的服务层创建 第一虚拟摄像头。
403、将至少一个虚拟摄像头注册到虚拟摄像头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调用摄像头回调函数,将某个虚拟摄像头对 象回调给摄像头软件层,以通知与该虚拟摄像头对应的应用程序,虚拟摄像 头创建成功。
其中,摄像头回调函数为通过函数指针调用的函数。若将函数的指针, 即函数的地址,作为参数传递给另一个函数,当该指针被用来调用其所指向 的函数时,即成为回调函数,回调函数并非由该函数的实现方直接调用,而 是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进 行响应。在本发明实施例中,该摄像头回调函数可以为setPreviewCallback 函数或者setPreviewCallbackWithBuffer函数。
404、通过虚拟摄像头HAL获取第一图像或视频数据。
405、通过虚拟摄像头HAL获取至少一个应用程序的显示参数。
406、根据每个应用程序对应的显示参数,通过虚拟摄像头HAL对第一 图像或视频数据进行处理,得到针对每个应用程序处理后的目标图像或视频 数据。
407、将目标图像或视频数据由至少一个虚拟摄像头分别转发至对应的应 用程序。
408、在至少一个应用程序中显示目标图像或视频数据。
在本发明实施例中,终端设备的应用程序接收到对应的目标图像或视频 数据之后,还可以输出该目标图像或视频数据。
本发明实施例提供一种图像或视频数据分发方法,配置Android操作系 统的终端设备可以通过至少一个应用程序接收获取图像或视频数据的指令, 根据指令为每个应用程序创建一个虚拟摄像头,将至少一个虚拟摄像头注册 到虚拟摄像头HAL,再通过虚拟摄像头HAL获取第一图像或视频数据,并 根据每个应用程序的显示参数,对第一图像或视频数据进行处理,得到针对 每个应用程序的不同的目标图像或视频数据,再将目标图像或视频数据分别 转发给对应的应用程序。通过该方案,每个应用程序都对应一个虚拟摄像头,当终端设备的多个应用程序都需要获取不同格式或者不同时长的图像或视频 数据的时候,终端设备可以将针对性处理后的图像或视频数据分别发送给多 个应用程序,这样就不需要每个应用程序重复通过摄像头采集图像或视频数 据,提高图像或视频数据采集效率以及人机交互性能。
实施例三
如图5所示,本发明实施例提供一种终端设备,该终端设备包括:
获取模块501,用于通过虚拟摄像头HAL获取第一图像或视频数据;通 过虚拟摄像头HAL获取至少一个应用程序的显示参数,显示参数包括以下 至少一种:图像或视频格式、图像或视频时长、声道数量;
处理模块502,用于根据每个应用程序对应的显示参数,通过虚拟摄像 头HAL对第一图像或视频数据进行处理,得到针对每个应用程序处理后的 目标图像或视频数据;将目标图像或视频数据由至少一个虚拟摄像头分别转 发至对应的应用程序,以使得至少一个应用程序获取到目标图像或视频数据;
其中,至少一个虚拟摄像头和虚拟摄像头HAL为在Android操作系统中 的服务层预先创建的,至少一个虚拟摄像头与至少一个应用程序一一对应。
可选的,获取模块501,还用于通过至少一个应用程序接收获取图像或 视频数据的指令;
处理模块502,还用于根据指令为至少一个应用程序在Android操作系 统中的服务层创建至少一个虚拟摄像头,其中,为每个应用程序对应创建一 个虚拟摄像头;处理模块502,还用于将至少一个虚拟摄像头注册到虚拟摄 像头HAL。
可选的,处理模块502,还用于将虚拟摄像头HAL注册至Android操作 系统中的系统运行库层中的摄像头服务;通过虚拟摄像头HAL接收摄像头 服务发送的共享内存的地址。
可选的,获取模块501,具体用于根据共享内存的地址,通过虚拟摄像 头HAL从共享内存中为至少一个应用程序获取第一图像或视频数据。
可选的,处理模块502,具体用于响应于指令,检测虚拟摄像头功能模 块是否启动;若虚拟摄像头功能模块启动,则根据指令为至少一个应用程序 在Android操作系统中的服务层创建至少一个虚拟摄像头。
可选的,处理模块502,具体用于响应于指令,控制第一应用程序通过 应用程序编程接口API调用摄像头打开函数,以尝试启用实体摄像头获取图 像或视频数据,第一应用程序为至少一个应用程序中的一个应用程序;在确 定实体摄像头已被第二应用程序占用的情况下,为第一应用程序在Android 操作系统中的服务层创建第一虚拟摄像头,第二应用程序为至少一个应用程 序中与第一应用程序不同的应用程序。
可选的,处理模块502,具体用于在确定实体摄像头已被第二应用程序 占用的情况下,检测虚拟摄像头功能模块是否启动;若虚拟摄像头功能模块 启动,则根据指令为第一应用程序创建第一虚拟摄像头;若虚拟摄像头功能 模块未启动,则启动虚拟摄像头功能模块,并根据指令为第一应用程序创建 第一虚拟摄像头。
可选的,处理模块502,具体用于通过至少一个虚拟摄像头向虚拟摄像 头HAL发送注册请求消息;
处理模块502,具体用于若某一虚拟摄像头接收到虚拟摄像头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)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其 他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的 计算机可读的任何其他介质。

Claims (10)

1.一种图像或视频数据分发方法,其特征在于,应用于安卓Android操作系统的终端设备,所述方法包括:
通过虚拟摄像头HAL获取第一图像或视频数据;
通过所述虚拟摄像头HAL获取至少一个应用程序的显示参数,所述显示参数包括分辨率、显示格式、获取图像或视频数据时的操作类型中的至少一种;
根据每个应用程序对应的显示参数,通过所述虚拟摄像头HAL对所述第一图像或视频数据进行处理,得到针对所述每个应用程序处理后的目标图像或视频数据;
将所述目标图像或视频数据由至少一个虚拟摄像头分别转发至对应的应用程序,以使得所述至少一个应用程序获取到所述目标图像或视频数据;
其中,所述至少一个虚拟摄像头和所述虚拟摄像头HAL为在所述Android操作系统中的服务层预先创建的,所述至少一个虚拟摄像头与所述至少一个应用程序一一对应。
2.根据权利要求1所述的方法,其特征在于,所述通过虚拟摄像头HAL获取第一图像或视频数据之前,还包括:
通过所述至少一个应用程序接收获取图像或视频数据的指令;
根据所述指令为所述至少一个应用程序在Android操作系统中的服务层创建所述至少一个虚拟摄像头,其中,为所述每个应用程序对应创建一个虚拟摄像头;
将所述至少一个虚拟摄像头注册到所述虚拟摄像头HAL。
3.根据权利要求1所述的方法,其特征在于,所述通过虚拟摄像头HAL获取第一图像或视频数据之前,所述方法还包括:
将所述虚拟摄像头HAL注册至Android操作系统中的系统运行库层中的摄像头服务;
通过所述虚拟摄像头HAL接收所述摄像头服务发送的共享内存的地址。
4.根据权利要求3所述的方法,其特征在于,所述通过虚拟摄像头HAL获取第一图像或视频数据,包括:
根据所述共享内存的地址,通过所述虚拟摄像头HAL从所述共享内存中为所述至少一个应用程序获取所述第一图像或视频数据。
5.根据权利要求2所述的方法,其特征在于,在所述Android操作系统中预置虚拟摄像头功能模块,所述根据所述指令为所述至少一个应用程序在Android操作系统中的服务层创建所述至少一个虚拟摄像头,包括:
响应于所述指令,检测所述虚拟摄像头功能模块是否启动;
若所述虚拟摄像头功能模块启动,则根据所述指令为所述至少一个应用程序在所述Android操作系统中的服务层创建所述至少一个虚拟摄像头。
6.根据权利要求5所述的方法,其特征在于,所述根据所述指令为所述至少一个应用程序在Android操作系统中的服务层创建所述至少一个虚拟摄像头,包括:
响应于所述指令,控制第一应用程序通过应用程序编程接口API调用摄像头打开函数,以尝试启用实体摄像头获取图像或视频数据,所述第一应用程序为所述至少一个应用程序中的一个应用程序;
在确定所述实体摄像头已被第二应用程序占用的情况下,为所述第一应用程序在所述Android操作系统中的服务层创建第一虚拟摄像头,所述第二应用程序为所述至少一个应用程序中与所述第一应用程序不同的应用程序。
7.根据权利要求6所述的方法,其特征在于,所述在确定所述实体摄像头已被第二应用程序占用的情况下,为所述第一应用程序在所述Android操作系统中的服务层创建第一虚拟摄像头,包括:
在确定所述实体摄像头已被所述第二应用程序占用的情况下,检测所述虚拟摄像头功能模块是否启动;
若所述虚拟摄像头功能模块启动,则根据所述指令为所述第一应用程序创建所述第一虚拟摄像头;
若所述虚拟摄像头功能模块未启动,则启动所述虚拟摄像头功能模块,并根据所述指令为所述第一应用程序创建所述第一虚拟摄像头。
8.根据权利要求2所述的方法,其特征在于,所述将所述至少一个虚拟摄像头注册到所述虚拟摄像头HAL,包括:
通过所述至少一个虚拟摄像头向所述虚拟摄像头HAL发送注册请求消息;
若某一虚拟摄像头接收到所述虚拟摄像头HAL发送的注册成功消息,则确定将所述某一虚拟摄像头成功注册到所述虚拟摄像头HAL。
9.根据权利要求8所述的方法,其特征在于,所述通过所述至少一个虚拟摄像头向所述虚拟摄像头HAL发送注册请求消息之后,还包括:
每个虚拟摄像头发送的所述注册请求消息中携带有所述每个虚拟摄像头的标识;
在所述虚拟摄像头HAL中保存所述至少一个虚拟摄像头中所述每个虚拟摄像头的标识。
10.一种终端设备,其特征在于,所述终端设备包括:
获取模块,用于通过虚拟摄像头HAL获取第一图像或视频数据;通过所述虚拟摄像头HAL获取至少一个应用程序的显示参数,所述显示参数包括以下至少一种:图像或视频格式、图像或视频时长、声道数量;
处理模块,用于根据每个应用程序对应的显示参数,通过所述虚拟摄像头HAL对所述第一图像或视频数据进行处理,得到针对所述每个应用程序处理后的目标图像或视频数据;将所述目标图像或视频数据由至少一个虚拟摄像头分别转发至对应的应用程序,以使得所述至少一个应用程序获取到所述目标图像或视频数据;
其中,所述至少一个虚拟摄像头和所述虚拟摄像头HAL为在所述Android操作系统中的服务层预先创建的,所述至少一个虚拟摄像头与所述至少一个应用程序一一对应。
CN202110329783.8A 2021-03-26 2021-03-26 一种图像或视频数据分发方法及终端设备 Pending CN113254228A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110329783.8A CN113254228A (zh) 2021-03-26 2021-03-26 一种图像或视频数据分发方法及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110329783.8A CN113254228A (zh) 2021-03-26 2021-03-26 一种图像或视频数据分发方法及终端设备

Publications (1)

Publication Number Publication Date
CN113254228A true CN113254228A (zh) 2021-08-13

Family

ID=77181126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110329783.8A Pending CN113254228A (zh) 2021-03-26 2021-03-26 一种图像或视频数据分发方法及终端设备

Country Status (1)

Country Link
CN (1) CN113254228A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363654A (zh) * 2022-01-12 2022-04-15 北京字节跳动网络技术有限公司 一种视频推流方法、装置、终端设备及存储介质
CN117255245A (zh) * 2023-11-17 2023-12-19 深圳市法本信息技术股份有限公司 摄像头匹配方法、装置、终端设备以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833520A (zh) * 2009-03-11 2010-09-15 凹凸电子(武汉)有限公司 计算机系统、多个应用程序同时使用一个摄像头的方法
JP2016212874A (ja) * 2015-05-08 2016-12-15 飛捜股▲ふん▼有限公司 アプリケーションプログラムとバーチャルマシンとの間のコミュニケーションのシステムと方法
CN106851386A (zh) * 2017-03-27 2017-06-13 青岛海信电器股份有限公司 基于Android系统的电视终端中增强现实的实现方法及装置
CN107659768A (zh) * 2017-08-08 2018-02-02 珠海全志科技股份有限公司 一种基于Android多应用共享摄像头的系统及方法
CN112099970A (zh) * 2020-09-04 2020-12-18 中国第一汽车股份有限公司 一种视频数据处理方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833520A (zh) * 2009-03-11 2010-09-15 凹凸电子(武汉)有限公司 计算机系统、多个应用程序同时使用一个摄像头的方法
JP2016212874A (ja) * 2015-05-08 2016-12-15 飛捜股▲ふん▼有限公司 アプリケーションプログラムとバーチャルマシンとの間のコミュニケーションのシステムと方法
CN106851386A (zh) * 2017-03-27 2017-06-13 青岛海信电器股份有限公司 基于Android系统的电视终端中增强现实的实现方法及装置
CN107659768A (zh) * 2017-08-08 2018-02-02 珠海全志科技股份有限公司 一种基于Android多应用共享摄像头的系统及方法
CN112099970A (zh) * 2020-09-04 2020-12-18 中国第一汽车股份有限公司 一种视频数据处理方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
冯林等: "基于Symbian操作系统的虚拟摄像头设计", 《仪器仪表学报》 *
李群祖等: "基于Windows Mobile操作系统的虚拟摄像头设计", 《电脑编程技巧与维护》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363654A (zh) * 2022-01-12 2022-04-15 北京字节跳动网络技术有限公司 一种视频推流方法、装置、终端设备及存储介质
CN114363654B (zh) * 2022-01-12 2023-12-19 北京字节跳动网络技术有限公司 一种视频推流方法、装置、终端设备及存储介质
CN117255245A (zh) * 2023-11-17 2023-12-19 深圳市法本信息技术股份有限公司 摄像头匹配方法、装置、终端设备以及存储介质
CN117255245B (zh) * 2023-11-17 2024-03-15 深圳市法本信息技术股份有限公司 摄像头匹配方法、装置、终端设备以及存储介质

Similar Documents

Publication Publication Date Title
CN113220445A (zh) 一种图像或视频数据获取方法及终端设备
CN113032766B (zh) 应用权限管理的方法和装置
CN110990105B (zh) 界面显示方法、装置、电子设备及存储介质
EP3835954A1 (en) Method and device for displaying interface, and storage medium
CN110990075A (zh) 快应用的启动方法、装置、设备及存储介质
CN113254228A (zh) 一种图像或视频数据分发方法及终端设备
CN113220446A (zh) 一种图像或视频数据处理方法及终端设备
CN114138139B (zh) 应用程序卡片的管理方法、电子设备及介质
CN113835571A (zh) 一种终端设备、信息展示方法和存储介质
CN113835569A (zh) 终端设备、应用内部功能的快捷启动方法和存储介质
CN115562744A (zh) 一种应用程序加载方法及电子设备
CN115048642A (zh) 多可信执行环境下可信应用间的通信方法及电子设备
CN111008050B (zh) 页面任务执行方法、装置、终端及存储介质
CN110908629A (zh) 电子设备操作方法、装置、电子设备和存储介质
CN113642010B (zh) 一种获取扩展存储设备数据的方法及移动终端
CN112068895A (zh) 代码配置方法、装置、视频播放设备及存储介质
CN116997891A (zh) 行为监控方法、装置、终端设备及计算机可读存储介质
CN113805949B (zh) 图片显示方法和装置
CN115017487B (zh) 一种电子设备登录账号的切换方法及电子设备
CN116302295B (zh) 一种界面显示方法
CN113850633B (zh) 信息推送方法和装置
CN113938890B (zh) 数据共享方法和终端设备
CN116095230B (zh) 应用程序推荐方法和终端设备、可读存储介质
CN116069219B (zh) 一种获取日程信息的方法和电子设备
CN116701134A (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