CN113596588A - 一种单机多平台直播方法和系统 - Google Patents
一种单机多平台直播方法和系统 Download PDFInfo
- Publication number
- CN113596588A CN113596588A CN202110876339.8A CN202110876339A CN113596588A CN 113596588 A CN113596588 A CN 113596588A CN 202110876339 A CN202110876339 A CN 202110876339A CN 113596588 A CN113596588 A CN 113596588A
- Authority
- CN
- China
- Prior art keywords
- audio
- hardware peripheral
- virtual
- video hardware
- video
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4438—Window management, e.g. event handling following interaction with the user interface
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8173—End-user applications, e.g. Web browser, game
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/818—OS software
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Studio Devices (AREA)
Abstract
本发明提供一种单机多平台直播方法和系统,通过在HAL层虚拟化出来多个音视频硬件外设,每个虚拟的音视频硬件外设的数据都来自于物理音视频硬件外设采集的数据,通过共享内存的方式传递数据,最终实现多个应用同时获取同一个物理音视频硬件外设的数据,从而仅在单个终端设备操作即可,无需操控多个终端设备,减少终端设备数量,具有低成本、简单易操作、效果统一的优点。
Description
技术领域
本发明涉及一种视频直播领域,具体的说,涉及了一种单机多平台直播方法和系统。
背景技术
随着直播行业的发展,直播平台也越来越多,有些主播活跃于多个平台,因此需要同时在多个平台进行直播。目前,通常采用多手机直播方案:使用专用支架和多部手机实现多个平台直播。
多手机直播方案存在以下缺点:
(1)成本高:需要采购多部手机及专用支架;
(2)设备操作调试复杂:需要逐一设置、调试好设备;
(3)效果不一致:每部手机的位置、角度不完全一样,采集的声音、视频效果有差异。主播通常难以全面兼顾每个平台的直播效果。
为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。
发明内容
本发明的目的是针对现有技术的不足,从而提供了一种单机多平台直播方法和系统。
为了实现上述目的,本发明所采用的技术方案是:一种单机多平台直播方法,包括:当应用准备打开物理音视频硬件外设时,判断物理音视频硬件外设是否已被打开,若未被打开,则通过HAL接口打开物理音视频硬件外设,否则进一步查看HAL层中是否存在一个与所述应用连接的虚拟HAL接口;
当未存在虚拟HAL接口时,创建一个虚拟HAL接口,将所述虚拟HAL接口与所述应用建立连接,然后再基于所述虚拟HAL接口创建一个虚拟音视频硬件外设,将所述虚拟音视频硬件外设与当前物理音视频硬件外设进行关联;
当存在虚拟HAL接口时,则直接基于所述虚拟HAL接口创建一个虚拟音视频硬件外设,将所述虚拟音视频硬件外设与当前物理音视频硬件外设进行关联;
当前物理音视频硬件外设采集到音视频数据后,将所述音视频数据通过所述音视频 HAL接口返回给相应的应用,同时将所述音视频数据存储至共享内存,由相关联的虚拟音视频硬件外设从共享内存中读取相应的音视频数据,并通过所述虚拟HAL接口返回给相应的应用。
本发明第二方面提供一种单机多平台直播系统,包括多个应用、一个HAL接口以及至少一个物理音视频硬件外设,
所述物理音视频硬件外设,通过所述HAL接口连接一个应用,用于采集音视频数据,并将采集到的所述音视频数据通过所述音视频 HAL接口返回给所述应用,同时将所述音视频数据存储至共享内存;
还包括虚拟HAL接口查看模块,用于所述物理音视频硬件外设通过所述HAL接口连接一个应用时,查看HAL层中是否存在一个与当前应用连接的虚拟HAL接口;
虚拟HAL接口创建模块,用于在HAL层中未存在一个与当前应用连接的虚拟HAL接口时,创建一个虚拟HAL接口,将所述虚拟HAL接口与所述应用建立连接;
虚拟音视频硬件外设创建模块,用于基于所述虚拟HAL接口创建一个虚拟音视频硬件外设,将所述虚拟音视频硬件外设与所述物理音视频硬件外设进行关联;
所述虚拟音视频硬件外设,用于从共享内存中读取相应的音视频数据,并通过所述虚拟HAL接口返回给相应的应用。
本发明提供一种移动终端,包括前述的单机多平台直播系统。
本发明提供一种计算机可读存储介质,包括执行指令,当电子设备的处理器执行所述执行指令时,所述处理器执行前述的单机多平台直播方法。
本发明相对现有技术具有突出的实质性特点和显著的进步,具体的说,
本发明利用基于Android Q及之后版本的multi-resume和多窗口机制,可以在前台同时运行多个应用;
本发明通过在HAL层虚拟化出来多个音视频硬件外设,每个虚拟的音视频硬件外设的数据都来自于物理音视频硬件外设采集的数据,通过共享内存的方式传递数据,最终实现多个应用同时获取同一个物理音视频硬件外设的数据,从而仅在单个终端设备操作即可,无需操控多个终端设备,减少终端设备数量,具有低成本、简单易操作、效果统一的优点。
附图说明
图1示出了本发明基于多个应用共享物理音视频硬件外设的流程图。
图2示出了本发明基于多个应用同时显示在屏幕的原理图。
图3示出了本发明实现共享物理音视频硬件外设的系统架构图。
具体实施方式
下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。
实施例1
如图1所示,一种单机多平台直播方法,包括:当应用准备打开物理音视频硬件外设时,判断物理音视频硬件外设是否已被打开,若未被打开,则通过HAL接口打开物理音视频硬件外设,否则进一步查看HAL层中是否存在一个与所述应用连接的虚拟HAL接口;
当未存在虚拟HAL接口时,创建一个虚拟HAL接口,将所述虚拟HAL接口与所述应用建立连接,然后再基于所述虚拟HAL接口创建一个虚拟音视频硬件外设,将所述虚拟音视频硬件外设与当前物理音视频硬件外设进行关联;
当存在虚拟HAL接口时,则直接基于所述虚拟HAL接口创建一个虚拟音视频硬件外设,将所述虚拟音视频硬件外设与当前物理音视频硬件外设进行关联;
当前物理音视频硬件外设采集到音视频数据后,将所述音视频数据通过所述音视频 HAL接口返回给相应的应用,同时将所述音视频数据存储至共享内存,由相关联的虚拟音视频硬件外设从共享内存中读取相应的音视频数据,并通过所述虚拟HAL接口返回给相应的应用。
可以理解,本实施例需要确保多个应用能够同时运行,在具体实施时,如图2所示,基于Android Q版本的multi-resume和多窗口机制同时运行N个应用,N大于等于2。
进一步可以通过修改Framework,对屏幕进行固定分割,并且在初始化Activity时, 默认设置为自由窗口模式,为每个应用设置固定大小和位置。
在具体实施时,所述音视频硬件外设包括至少一个相机和/或至少一个麦克风,其中,物理相机对应连接相机HAL接口,物理麦克风对应连接麦克风HAL接口。
在具体实施时,所述音视频硬件外设包括至少一个相机和/或至少一个麦克风,其中,物理相机对应连接相机HAL接口,物理麦克风对应连接麦克风HAL接口。在使用时,当物理相机通过相机HAL接口连接应用一时,物理麦克风可以通过麦克风HAL接口连接应用一,也可以连接应用二。但是,当有多个物理相机且一个物理相机通过相机HAL接口连接应用一时,则其他物理相机也只能通过相机HAL接口连接应用一,而不能连接其他应用。
并且,在Android系统中设备服务device Service作为App与HAL层的桥梁,HAL层定义了由设备服务调用、且必须实现以确保性音视频硬件外设硬件正常运行的标准接口。因此,在将所述虚拟HAL接口通过与所述应用建立连接时,也需要通过设备服务deviceService实现。
以相机为例,在Android系统中CameraService作为App与HAL层的桥梁,HAL层定义了由相机服务调用、且必须实现以确保性相机硬件正常运行的标准接口HAL接口,以及定义了虚拟HAL接口,所述HAL接口和所述虚拟HAL接口通过通过Camera Service与所述应用建立连接。
原生Android系统同一时刻某个物理音视频硬件外设只能被一个应用打开和使用。而本发明通过在HAL层虚拟化出来多个音视频硬件外设,每个虚拟的音视频硬件外设的数据都来自于物理音视频硬件外设采集的数据,通过共享内存的方式传递数据,最终实现多个应用同时获取同一个物理音视频硬件外设的数据,从而仅在单个终端设备操作即可,无需操控多个终端设备,减少终端设备数量,具有低成本、简单易操作、效果统一的优点。
可以理解,当应用关闭音视频硬件外设时,如果要关闭的是虚拟音视频硬件外设,则直接关闭;如果要关闭的是物理音视频硬件外设,则先判断所有虚拟音视频硬件外设是否已经关闭,如果已经全部关闭,则直接关闭物理音视频硬件外设;否则需要等待虚拟音视频硬件外设全部关闭,再关闭物理音视频硬件外设。
从上述可以看出,物理音视频硬件外设最先被打开,最后被关闭,从而确保虚拟音视频硬件外设能够正常运行。
实施例2
本发明第二方面提供一种单机多平台直播系统,如图3所示,包括多个应用、一个HAL接口以及至少一个物理音视频硬件外设,优选的,所述音视频硬件外设包括至少一个相机和/或至少一个麦克风;
所述物理音视频硬件外设,通过所述HAL接口连接一个应用,用于采集音视频数据,并将采集到的所述音视频数据通过所述音视频 HAL接口返回给所述应用,同时将所述音视频数据存储至共享内存;
还包括虚拟HAL接口查看模块,用于所述物理音视频硬件外设通过所述HAL接口连接一个应用时,查看HAL层中是否存在一个与当前应用连接的虚拟HAL接口;
虚拟HAL接口创建模块,用于在HAL层中未存在一个与当前应用连接的虚拟HAL接口时,创建一个虚拟HAL接口,将所述虚拟HAL接口通过Camera Service 与所述应用建立连接;
虚拟音视频硬件外设创建模块,用于基于所述虚拟HAL接口创建一个虚拟音视频硬件外设,将所述虚拟音视频硬件外设与所述物理音视频硬件外设进行关联;
所述虚拟音视频硬件外设,用于从共享内存中读取相应的音视频数据,并通过所述虚拟HAL接口返回给相应的应用。
在具体实施时,所述系统基于Android Q版本的multi-resume和多窗口机制,在移动终端前台同时运行N个应用,N大于等于2。
可以理解,所述系统还包括音视频硬件外设关闭模块,用于判断应用要关闭的音视频硬件外设是虚拟音视频硬件外设还是物理音视频硬件外设,如果要关闭的是虚拟音视频硬件外设,则直接关闭;如果要关闭的是物理音视频硬件外设,则先判断所有虚拟音视频硬件外设是否已经关闭,如果已经全部关闭,则直接关闭物理音视频硬件外设;否则需要等待虚拟音视频硬件外设全部关闭,再关闭物理音视频硬件外设。
实施例3
本发明提供一种移动终端,包括实施例2所述的单机多平台直播系统。
实施例4
本发明提供一种计算机可读存储介质,包括执行指令,当电子设备的处理器执行所述执行指令时,所述处理器执行实施例1所述的单机多平台直播方法。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
Claims (10)
1.一种单机多平台直播方法,其特征在于,包括:
当应用准备打开物理音视频硬件外设时,判断物理音视频硬件外设是否已被打开,若未被打开,则通过HAL接口打开物理音视频硬件外设,否则进一步查看HAL层中是否存在一个与所述应用连接的虚拟HAL接口;
当未存在虚拟HAL接口时,创建一个虚拟HAL接口,将所述虚拟HAL接口与所述应用建立连接,然后再基于所述虚拟HAL接口创建一个虚拟音视频硬件外设,将所述虚拟音视频硬件外设与当前物理音视频硬件外设进行关联;
当存在虚拟HAL接口时,则直接基于所述虚拟HAL接口创建一个虚拟音视频硬件外设,将所述虚拟音视频硬件外设与当前物理音视频硬件外设进行关联;
当前物理音视频硬件外设采集到音视频数据后,将所述音视频数据通过所述音视频HAL接口返回给相应的应用,同时将所述音视频数据存储至共享内存,由相关联的虚拟音视频硬件外设从共享内存中读取相应的音视频数据,并通过所述虚拟HAL接口返回给相应的应用。
2.根据权利要求1所述的单机多平台直播方法,其特征在于:基于Android Q版本的multi-resume和多窗口机制同时运行N个应用,N大于等于2。
3.根据权利要求1所述的单机多平台直播方法,其特征在于:当应用关闭音视频硬件外设时,如果要关闭的是虚拟音视频硬件外设,则直接关闭;如果要关闭的是物理音视频硬件外设,则先判断所有虚拟音视频硬件外设是否已经关闭,如果已经全部关闭,则直接关闭物理音视频硬件外设;否则需要等待虚拟音视频硬件外设全部关闭,再关闭物理音视频硬件外设。
4.根据权利要求1所述的单机多平台直播方法,其特征在于:所述音视频硬件外设包括至少一个相机和/或至少一个麦克风。
5.一种单机多平台直播系统,其特征在于:包括多个应用、一个HAL接口以及至少一个物理音视频硬件外设,所述物理音视频硬件外设,通过所述HAL接口连接一个应用,用于采集音视频数据,并将采集到的所述音视频数据通过所述音视频 HAL接口返回给所述应用,同时将所述音视频数据存储至共享内存;
还包括虚拟HAL接口查看模块,用于所述物理音视频硬件外设通过所述HAL接口连接一个应用时,查看HAL层中是否存在一个与当前应用连接的虚拟HAL接口;
虚拟HAL接口创建模块,用于在HAL层中未存在一个与当前应用连接的虚拟HAL接口时,创建一个虚拟HAL接口,将所述虚拟HAL接口与所述应用建立连接;
虚拟音视频硬件外设创建模块,用于基于所述虚拟HAL接口创建一个虚拟音视频硬件外设,将所述虚拟音视频硬件外设与所述物理音视频硬件外设进行关联;
所述虚拟音视频硬件外设,用于从共享内存中读取相应的音视频数据,并通过所述虚拟HAL接口返回给相应的应用。
6.根据权利要求5所述的单机多平台直播系统,其特征在于:所述系统基于Android Q版本的multi-resume和多窗口机制,在移动终端前台同时运行N个应用,N大于等于2。
7.根据权利要求5所述的单机多平台直播系统,其特征在于:还包括音视频硬件外设关闭模块,用于判断应用要关闭的音视频硬件外设是虚拟音视频硬件外设还是物理音视频硬件外设,如果要关闭的是虚拟音视频硬件外设,则直接关闭;如果要关闭的是物理音视频硬件外设,则先判断所有虚拟音视频硬件外设是否已经关闭,如果已经全部关闭,则直接关闭物理音视频硬件外设;否则需要等待虚拟音视频硬件外设全部关闭,再关闭物理音视频硬件外设。
8.根据权利要求5所述的单机多平台直播系统,其特征在于:所述音视频硬件外设包括至少一个相机和/或至少一个麦克风。
9.一种移动终端,其特征在于:包括权利要求5-8所述的单机多平台直播系统。
10.一种计算机可读存储介质,包括执行指令,其特征在于,当电子设备的处理器执行所述执行指令时,所述处理器执行如权利要求1-4任意一项所述的单机多平台直播方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110876339.8A CN113596588A (zh) | 2021-07-31 | 2021-07-31 | 一种单机多平台直播方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110876339.8A CN113596588A (zh) | 2021-07-31 | 2021-07-31 | 一种单机多平台直播方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113596588A true CN113596588A (zh) | 2021-11-02 |
Family
ID=78253273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110876339.8A Withdrawn CN113596588A (zh) | 2021-07-31 | 2021-07-31 | 一种单机多平台直播方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113596588A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833520A (zh) * | 2009-03-11 | 2010-09-15 | 凹凸电子(武汉)有限公司 | 计算机系统、多个应用程序同时使用一个摄像头的方法 |
CN110032354A (zh) * | 2018-01-12 | 2019-07-19 | 珠海全志科技股份有限公司 | 一种单路麦克风复用方法及装置 |
CN111901614A (zh) * | 2020-06-22 | 2020-11-06 | 深圳市沃特沃德股份有限公司 | 多平台同步直播方法、装置、计算机设备和可读存储介质 |
CN112118459A (zh) * | 2020-08-28 | 2020-12-22 | 上海商米科技集团股份有限公司 | 共享摄像头数据实现多个app共同直播的方法及可读介质 |
CN112749022A (zh) * | 2019-10-29 | 2021-05-04 | 阿里巴巴集团控股有限公司 | 相机资源访问方法、操作系统、终端和虚拟相机 |
-
2021
- 2021-07-31 CN CN202110876339.8A patent/CN113596588A/zh not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833520A (zh) * | 2009-03-11 | 2010-09-15 | 凹凸电子(武汉)有限公司 | 计算机系统、多个应用程序同时使用一个摄像头的方法 |
CN110032354A (zh) * | 2018-01-12 | 2019-07-19 | 珠海全志科技股份有限公司 | 一种单路麦克风复用方法及装置 |
CN112749022A (zh) * | 2019-10-29 | 2021-05-04 | 阿里巴巴集团控股有限公司 | 相机资源访问方法、操作系统、终端和虚拟相机 |
CN111901614A (zh) * | 2020-06-22 | 2020-11-06 | 深圳市沃特沃德股份有限公司 | 多平台同步直播方法、装置、计算机设备和可读存储介质 |
CN112118459A (zh) * | 2020-08-28 | 2020-12-22 | 上海商米科技集团股份有限公司 | 共享摄像头数据实现多个app共同直播的方法及可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220053068A1 (en) | Methods, apparatuses and computer storage media for applet state synchronization | |
CN113784049B (zh) | 安卓系统虚拟机的摄像头调用方法、电子设备和存储介质 | |
WO2021031850A1 (zh) | 图像处理的方法、装置、电子设备及存储介质 | |
CN110704202B (zh) | 多媒体录制数据共享方法及终端设备 | |
CN109947387B (zh) | 音频采集方法、音频播放方法、系统、设备及存储介质 | |
CN111405301B (zh) | 终端的录屏交互方法、装置、计算机设备及存储介质 | |
CN112492203A (zh) | 虚拟照相方法、装置、设备及存储介质 | |
WO2022152041A1 (zh) | 视频直播的功能组件加载方法、数据处理方法及设备 | |
WO2021088823A1 (zh) | 用于交互控制的方法、装置、终端及存储介质 | |
US20240256204A1 (en) | Method, apparatus, device, readable storage medium and product for media file processing | |
CN115291823A (zh) | 多屏协同显示方法、装置及终端设备 | |
CN114222185A (zh) | 视频播放方法、终端设备及存储介质 | |
CN113986161B (zh) | 一种音视频通信中实时提词的方法和装置 | |
CN107317687B (zh) | 远程控制方法、设备及系统 | |
WO2024078172A1 (zh) | 一种屏幕显示方法、装置、设备及可读存储介质 | |
CN113596588A (zh) | 一种单机多平台直播方法和系统 | |
CN109739607B (zh) | 动态图像加载方法、装置、设备及存储介质 | |
EP4447458A1 (en) | Video stream pushing method and apparatus, and terminal device and storage medium | |
US20240205463A1 (en) | Recording and push-based streaming method and apparatus, device, and medium | |
JP7500776B2 (ja) | ビデオ特殊効果の配置方法、ビデオ特殊効果の配置装置、デバイス及び記憶媒体 | |
US20130332928A1 (en) | Information processing system, information processing method, and computer-readable medium | |
CN114554269A (zh) | 数据处理方法、电子设备及计算机可读存储介质 | |
CN116418711A (zh) | 服务网关的测试方法、设备、存储介质及产品 | |
CN102789795A (zh) | 基于Android操作系统的车载光盘播放方法及其系统 | |
US20190297180A1 (en) | Voice chat amelioration system and method |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211102 |
|
WW01 | Invention patent application withdrawn after publication |