CN113347453A - 一种多路直播系统、方法和设备 - Google Patents

一种多路直播系统、方法和设备 Download PDF

Info

Publication number
CN113347453A
CN113347453A CN202110384962.1A CN202110384962A CN113347453A CN 113347453 A CN113347453 A CN 113347453A CN 202110384962 A CN202110384962 A CN 202110384962A CN 113347453 A CN113347453 A CN 113347453A
Authority
CN
China
Prior art keywords
audio
live broadcast
video
video equipment
equipment
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.)
Granted
Application number
CN202110384962.1A
Other languages
English (en)
Other versions
CN113347453B (zh
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.)
Beijing Runxin Hengda Technology Co ltd
Original Assignee
Beijing Runxin Hengda 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 Beijing Runxin Hengda Technology Co ltd filed Critical Beijing Runxin Hengda Technology Co ltd
Priority to CN202110384962.1A priority Critical patent/CN113347453B/zh
Publication of CN113347453A publication Critical patent/CN113347453A/zh
Application granted granted Critical
Publication of CN113347453B publication Critical patent/CN113347453B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Telephonic Communication Services (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种多路直播系统、方法和设备。所述系统包括:直播端和多个云终端,直播端设置有音视频设备和多路直播控制模块,云终端设置有直播应用和虚拟音视频设备;虚拟音视频设备,用于响应于直播应用的音视频设备调用请求,将音视频设备调用请求发送给直播端的多路直播控制模块;多路直播控制模块,用于响应于接收到的音视频设备调用请求,将获取的音视频设备实时拍摄的音视频数据发送给相应的虚拟音视频设备;虚拟音视频设备,还用于将接收的音视频数据提供给直播应用。能够在一台直播端上实现多路同时直播,省时省力,提升了用户感受。

Description

一种多路直播系统、方法和设备
技术领域
本发明涉及直播技术领域,特别涉及一种多路直播系统、方法和设备。
背景技术
随着网络直播行业的发展,出现了很多直播软件,但由于直播设备操作系统的限制,往往直播设备中的一个直播软件在直播时会独占本地的拍摄装置,致使主播想使用多个不同的直播软件同时进行直播时,需要使用相应台数的直播设备分别打开不同的直播软件进行直播,这样耗时费力,且多个直播设备的同时使用又不利于移动直播。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种多路直播系统、方法和设备。
第一方面,本发明实施例提供一种多路直播系统,包括直播端和多个云终端,所述直播端设置有音视频设备和多路直播控制模块,所述云终端设置有直播应用和虚拟音视频设备;
所述虚拟音视频设备,用于响应于直播应用的音视频设备调用请求,将所述音视频设备调用请求发送给直播端的多路直播控制模块;
所述多路直播控制模块,用于响应于接收到的音视频设备调用请求,将获取的所述音视频设备实时拍摄的音视频数据发送给相应的虚拟音视频设备;
所述虚拟音视频设备,还用于将接收的所述音视频数据提供给直播应用。
第二方面,本发明实施例提供一种多路直播方法,包括:
云终端的虚拟音视频设备响应于云终端的直播应用的音视频设备调用请求,将所述音视频设备调用请求发送给直播端的多路直播控制模块;
将接收的所述多路直播控制模块发送的音视频数据提供给直播应用,所述音视频数据为所述多路直播控制模块获取的直播端的音视频设备实时拍摄的音视频数据。
第三方面,本发明实施例提供一种多路直播方法,包括:
直播端的多路直播控制模块,响应于接收到的云终端的虚拟音视频设备发送的音视频设备调用请求,获取直播端的音视频设备实时拍摄的音视频数据,所述音视频设备调用请求是虚拟音视频设备获取的所述云终端的直播应用发送的音视频设备调用请求;
将所述音视频数据发送给虚拟音视频设备,使得虚拟音视频设备将所述音视频数据提供给直播应用。
第四方面,本发明实施例提供一种云终端,包括直播应用和虚拟音视频设备;
所述虚拟音视频设备,用于响应于所述直播应用的音视频设备调用请求,将所述音视频设备调用请求发送给直播端的多路直播控制模块,将接收的所述多路直播控制模块发送的音视频数据提供给所述直播应用,所述音视频数据为所述多路直播控制模块获取的直播端的音视频设备实时拍摄的音视频数据。
第五方面,本发明实施例提供一种直播端,包括音视频设备和多路直播控制模块;
所述多路直播控制模块,用于响应于接收到的云终端的虚拟音视频设备发送的音视频设备调用请求,获取所述音视频设备实时拍摄的音视频数据,所述音视频设备调用请求是虚拟音视频设备获取的所述云终端的直播应用发送的音视频设备调用请求,将所述音视频数据发送给虚拟音视频设备,使得虚拟音视频设备将所述音视频数据提供给直播应用。
第六方面,本发明实施例提供一种非临时性计算机可读存储介质,其上存储有计算机指令,当该指令被处理器执行时实现上述多路直播方法。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明实施例提供的多路直播系统包括直播端和多个云终端,直播端设置有音视频设备和多路直播控制模块,云终端设置有直播应用和虚拟音视频设备;虚拟音视频设备,用于响应于直播应用的音视频设备调用请求,将音视频设备调用请求发送给直播端的多路直播控制模块;多路直播控制模块,用于响应于接收到的音视频设备调用请求,将获取的音视频设备实时拍摄的音视频数据发送给相应的虚拟音视频设备;虚拟音视频设备,还用于将接收的音视频数据提供给直播应用。将不同的直播应用设置在不同的云终端上,多个直播应用间接共享直播端的音视频设备,在直播端实现了多路直播的功能,使得用户端只需一台直播端便可实现多路直播,无需同时打开多台直播端,节省了直播成本,且使得直播操作更加便捷;同时,只使用一台直播端易于移动直播。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例一中多路直播系统的结构示意图;
图2为本发明实施例一中另一多路直播系统的结构示意图;
图3为发明实施例一中摄像头和麦克风系统框架的结构示意图;
图4为本发明实施例二中多路直播系统的结构示意图;
图5为本发明实施例二中直播端与一个云终端的交互示意图;
图6为本发明实施例三中多路直播方法的流程图;
图7为本发明实施例四中多路直播方法的流程图;
图8为本发明实施例中云终端的结构示意图;
图9为本发明实施例中直播端的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决现有技术中存在的在一台直播设备上无法实现多路同时直播的问题,本发明实施例提供一种多路直播系统、方法和设备,能够在一台直播端(直播设备)上实现多路同时直播,省时省力,提升了用户感受。
实施例一
本发明实施例一提供一种多路直播系统,其结构如图1所示,包括直播端11和多个云终端12,直播端11设置有音视频设备111和多路直播控制模块112,云终端12设置有直播应用121和虚拟音视频设备122。
虚拟音视频设备122,用于响应于直播应用121的音视频设备调用请求,将音视频设备调用请求发送给直播端11的多路直播控制模块112。
多路直播控制模块112,用于响应于接收到的音视频设备调用请求,将获取的音视频设备111实时拍摄的音视频数据发送给相应的虚拟音视频设备122。
虚拟音视频设备122,还用于将接收的音视频数据提供给直播应用121。
直播应用需要调用音视频设备进行拍摄,获取音视频设备实时拍摄的音视频数据,将音视频数据进行处理后渲染实现直播的目的。但由于多个直播应用同时调用音视频设备会产生混乱,为了避免这种混乱,目前的操作系统基本都不支持多个应用共享音视频设备。故,本发明实施例为了在同一直播端上实现多路直播,设置了多个云终端,在每台云终端上装有一个直播应用,但并不设置真正的音视频设备硬件,而是设置有虚拟音视频设备,真正的音视频设备设置在直播端,云终端中的直播应用通过虚拟音视频设备间接调用直播端中的音视频设备。直播端设置有多路直播控制模块,对各个直播应用的虚拟音视频设备的请求进行统一管理。
具体的,云终端是将云计算技术运用于网络终端服务,通过云终端实现云服务的终端设备。云终端可以是云手机,云手机的操作系统与直播端的操作系统一致,例如为android操作系统。
在一个实施例中,参照图2所示,虚拟音视频设备122包括通信模块1221和hook接口1222;hook接口1222用于接收本地直播应用121的音视频设备调用请求;通信模块1221用于将音视频设备调用请求发送给直播端11的多路直播控制模块112,以及将接收的多路直播控制模块112发送的音视频数据提供给本地直播应用121。
直播端中的多路直播控制模块,对各个云终端发送的音视频设备调用请求统一管理,控制本地真实的音视频设备进行相应的操作,并将本地音视频设备实时拍摄的音视频数据过网络通信的方式传返回给相应的云终端;对于云终端上的直播应用而言,实现了能够调用音视频设备的效果,实际上其调用的是本地的虚拟音视频设备,虚拟音视频设备通过hook接口截获直播应用的音视频设备调用请求,并通过网络通信的方式由通信模块将音视频设备调用请求发送给直播端的多路直播控制模块,接收控制模块返回的音视频数据。虚拟音视频设备模拟真实的摄像头和麦克风行为,实际上将真实的请求通过网络通信的方式传递到直播端的音视频多路供应模块。
本发明实施例一提供的多路直播系统包括直播端和多个云终端,直播端设置有音视频设备和多路直播控制模块,云终端设置有直播应用和虚拟音视频设备;虚拟音视频设备,用于响应于直播应用的音视频设备调用请求,将音视频设备调用请求发送给直播端的多路直播控制模块;多路直播控制模块,用于响应于接收到的音视频设备调用请求,将获取的音视频设备实时拍摄的音视频数据发送给相应的虚拟音视频设备;虚拟音视频设备,还用于将接收的音视频数据提供给直播应用。将不同的直播应用设置在不同的云终端上,多个直播应用间接共享直播端的音视频设备,在直播端实现了多路直播的功能,使得用户端只需一台直播端便可实现多路直播,无需同时打开多台直播端,节省了直播成本,且使得直播操作更加便捷;同时,只使用一台直播端易于移动直播。
在一个实施例中,多路直播控制模块112,将获取的音视频设备111实时拍摄的音视频数据发送给相应的虚拟音视频设备122,具体用于:向音视频设备111请求实时拍摄的音视频数据,确定当前请求调用音视频设备的虚拟音视频设备122个数,按照该个数复制音视频数据;将复制的音视频数据分别发送给相应的虚拟音视频设备122。
具体的,按照预设的优先级原则,确定当前请求调用音视频设备的虚拟音视频设备的优先级顺序;按照优先级顺序,从优先级最高的虚拟音视频设备开始,依次将复制的音视频数据转换成虚拟音视频设备请求的参数设置和/或数据格式,将转换后的音视频数据发送给该虚拟音视频设备。可选的,也可以是直接将复制的音视频数据发送给该虚拟音视频设备,由虚拟音视频设备所在的云终端自行完成音视频数据参数设置和/或数据格式的转换。
在一个实施例中,虚拟音视频设备122用于接收直播应用121的音视频设备调用请求外,还用于接收直播应用121的音视频设备操作指令,虚拟音视频设备122响应于直播应用121的音视频设备操作指令,将操作指令发送给直播端11的多路直播控制模块112。
多路直播控制模块112,还用于响应于接收到的音视频设备操作指令,根据该操作指令、音视频设备111当前的运行状态和预设的优先级规则,或根据该操作指令和音视频设备111当前的运行状态,确定需要音视频设备111执行该操作指令时,向音视频设备111发送该操作指令,向相应的虚拟音视频设备122返回操作结果;确定不需要音视频设备111执行该操作指令时,直接向相应的虚拟音视频设备122返回操作结果;虚拟音视频设备122,还用于将接收的操作结果发送给直播应用121。
具体的,音视频设备调用请求指音视频设备拍摄请求和实时拍摄的音视频数据的获取请求;音视频设备操作指令包括开启或关闭音视频设备及修改音视频设备的参数设置等。
在一个实施例中,云终端可以是从本地操作系统的框架层(可以是本地的应用框架层App Framework或本机框架层Navive Framework)、或硬件抽象层HAL获取本地直播应用的音视频设备调用请求。
具体的,以云手机的操作系统为android系统为例,摄像头和麦克风系统框架参照图3所示,自上而下依次为:应用层Application,包括播放器应用Player App、录音机应用Recorder App和相机应用Camera App;应用框架层App Framework,包括音频录制AudioRecorder、音频播放Audio Track和相机的android hardwre Camera;本机框架层NaviveFramework,包括音频录制Audio Recorder、音频播放Audio Track的音频服务Audioflinger,和相机服务Camera Service;硬件抽象层HAL,包括音频供给器Audio HALImplemention的设备device、供应商vendor、产品product和音频audio,和相机供给器Camera HAL Implemention;内核层LIinux Kernel,包括声卡驱动ALAS/OSS Driver和自定义程序驱动Custom Driver,和相机驱动Camera Driver。
由图3可知,android系统的音视频设备的调用请求和操作指令是自上而下传输的,故hook接口可以在系统的App Framework层、Native Framework层或HAL层(图3中标记的①、②和③)实现对直播应用发出的音视频设备的调用请求和操作指令的拦截。可以通过使用hook接口替换原本系统接口来实现。
如在App Framework层进行拦截,可在Audio Record.java和Camera.java文件中将应用层接口实现替换为hook接口。当调用hook接口的open或者初始化请求时,连接直播端的多路直播控制模块;当接收到close或逆初始化请求时释放连接;当接收到其他请求时如设置参数等,加上适当的消息头(区分是摄像头请求或麦克风请求)转发给直播端的多路直播控制模块。
在一个实施例中,多路直播控制模块112,响应于操作指令对音视频设备111执行相应操作,向通信模块1221返回操作结果,具体用于执行下述任一项:
(1)响应于接收到的打开摄像机的操作指令:
判断音视频设备的摄像机是否处于开启状态;若是,确定不需要音视频设备执行该操作指令,向相应的虚拟音视频设备返回摄像机已开启的操作结果;若否,确定需要音视频设备执行该操作指令,向音视频设备发送该操作指令,向相应的虚拟音视频设备返回摄像机已开启的操作结果。
(2)响应于接收到的打开麦克风的操作指令:
判断音视频设备的麦克风是否处于开启状态;若是,确定不需要音视频设备执行该操作指令,向相应的虚拟音视频设备返回麦克风已开启的操作结果;若否,确定需要音视频设备执行该操作指令,向音视频设备发送该操作指令,向相应的虚拟音视频设备返回麦克风已开启的操作结果。
(3)响应于接收到的关闭摄像机的操作指令:
判断摄像机是否正被任一其他直播应用占用;若是,确定不需要音视频设备执行该操作指令,向相应的虚拟音视频设备返回摄像机已关闭的操作结果;若否,确定需要音视频设备执行该操作指令,向音视频设备发送该操作指令,向相应的虚拟音视频设备返回摄像机已关闭的操作结果。
(4)响应于接收到的关闭麦克风的操作指令:
判断麦克风是否正被任一其他直播应用占用;若是,确定不需要音视频设备执行该操作指令,向相应的虚拟音视频设备返回麦克风已关闭的操作结果;若否,确定需要音视频设备执行该操作指令,向音视频设备发送该操作指令,向相应的虚拟音视频设备返回麦克风已关闭的操作结果。
可选的,直播端的多路直播控制模块与云终端虚拟音视频设备的通信模块之间的通信连接可以是通过单一的通信链路来实现,即消息、请求和指令等小流量信息的传输与音视频数据的传输都通过同一通信链路;也可以是,二者之间至少存在两条通信链路,消息、请求和指令等小流量信息的传输通过信息通信链路来实现,音视频数据的传输通过数据传输链路来实现。若是后者,多路直播控制模块响应于打开摄像机或麦克风的操作指令,还包括,与发送操作指令的通信模块建立数据传输连接;响应于关闭摄像机或麦克风的操作指令,还包括,与发送操作指令的通信模块断开数据传输连接。
(5)响应于接收到的设置摄像机第一配置参数的操作指令:
判断该操作指令对应的虚拟音视频设备的优先级是否不低于摄像机的当前第一配置参数对应的虚拟音视频设备的优先级;若否,确定不需要音视频设备执行该操作指令,向相应的虚拟音视频设备返回参数修改失败的操作结果;若是,确定需要音视频设备执行该操作指令,向音视频设备发送该操作指令,向相应的虚拟音视频设备返回参数修改成功的操作结果。
(6)响应于接收到的设置摄像机第二配置参数的操作指令,判断该操作指令是否与音视频设备当前的第二配置参数相冲突;若是,确定不需要音视频设备执行该操作指令,向相应的虚拟音视频设备返回参数修改失败的操作结果;若否,确定需要音视频设备执行该操作指令,向音视频设备发送该操作指令,向相应的虚拟音视频设备返回参数修改成功的操作结果。
直播端中的多路直播控制模块,对各个云终端发送的音视频设备调用请求和操作指令进行统一管理,判断每个请求或指令的有效性,根据预先设置的优先级原则调整指令,按照调整后的指令对本地端真实的音视频设备进行相应的操作,既实现了云终端的直播应用共享直播端的音视频设备,又避免了多个应用共享音视频设备引发的混乱。
参照图2所示,直播端11还包括播放设备113。云终端12的虚拟音视频设备122,还用于获取本地直播应用121处理后音视频数据,将处理后的音视频数据发送给多路直播控制模块112;相应的,直播端11的多路直播控制模块112,还用于,将接收到的处理后的音视频数据发送给直播端的播放设备113,使得播放设备113同屏播放同一时段接收的多个处理后的音视频数据。
直播应用将接收到的直播端音视频设备实时拍摄的音视频数据进行加工处理后,生成用于直播的最终的音视频数据,并将处理后的音视频数据发送给系统的播放设备,虚拟音视频设备通过hook接口拦截到处理后的音视频数据,并通过通信模块发送给直播端的多路直播控制模块;直播端的多路直播控制模块将接收到的处理后音视频数据发送给本地播放设备113,播放设备113同屏播放同一时段接收的多个处理后音视频数据,在直播端实现了多个直播应用同时工作,且可以实时预览到各直播应用的直播视频的效果。
同时,用户在观看各直播应用的直播视频时,可以与各直播应用互动,例如,通知某个或几个直播应用填加文字、图片或背景音乐效果等,直播端获取到用户对直播应用的操作指令后,通过多路直播控制模块将操作指令发送给对应的云终端的通信模块,通信模块将操作指令发送给本地的直播应用,直播应用将根据操作指令处理后的视频数据再通过通信模块返回给直播端,最终实现了用户与直播应用的互动。
实施例二
本发明实施例二提供一种多路直播系统,其结构如图4所示,包括直播端和云端的多个云手机,每个云手机上都设置有一个直播应用(直播软件)和虚拟音视频设备;直播端有多路直播控制模块和拍摄设备,拍摄设备可以是摄像头和麦克风硬件。
直播端可以是个人电脑、平板或手机等终端设备,也可以是其他的终端设备。
云手机,用于获取本地直播应用的音视频设备调用请求,将音频设备调用请求发送给直播端的多路直播控制模块,以及将接收的多路直播控制模块发送的音视频数据提供给本地直播应用;直播端,用于响应于接收到的音视频设备调用请求,向本地音视频设备请求实时拍摄的音视频数据,将音视频数据发送给相应的云手机的多路直播控制模块。
云手机不局限于图4中的3个,只要满足不只一个即可。
参照图4所示,直播端装有大流量SIM卡,用于大流量音视频数据的发送和接收,还可以包括云台稳定器;直播端可以与背负系统搭配使用,便于用户携带,方便移动直播。
参照图5所示,以直播端与一个云手机的交互为例,具体步骤如下:
1、直播端连接云手机;
2、在直播端上打开云手机上的直播应用;
3、虚拟音视频设备获取直播应用的音视频数据获取请求;
4、虚拟音视频设备连接直播端中的多路直播控制模块,并转发音视频数据获取请求;
5、多路直播控制模块打开并操作本地真实的拍摄设备;
6、多路直播控制模块获取拍摄设备实时拍摄的音视频数据;
7、拍摄设备发送音视频数据到云手机中的虚拟音视频设备;
8、拍摄装置将音视频数据返回给本地直播应用。
多个云手机直播的情况类似以上过程,使用已打开的直播端连接其他云手机,并打开云手机的直播应用,当其他云手机中的虚拟音视频设备连接到直播端中的多路直播控制模块请求音视频数据时,多路直播控制模块不用重新打开拍摄设备,接将音视频数据进行复制分发给其他虚拟音视频设备即可。
以android操作系统为例,通常直播应用对拍摄设备中的摄像头有如下操作:
1、打开摄像头:open函数;
2、设置摄像头的预览界面:setPreviewDisplay或setPreviewTexture函数;
3、获取到Camera.Parameters参数信息:getParameters函数;
4、设置摄像头参数,如方向、数据尺寸等:setParameters函数;
5、设置接收摄像头数据的回调接口:onPreviewFrame或setPreviewCallbackWithBuffer函数;
6、调用startPreview开始预览;
7、在onPreviewFrame回调方法中获取camera数据;
8、对焦拍照:takePicture函数;
9、停止预览:stopPreview()函数;
10、释放摄像头:release()函数。
通常直播应用对拍摄设备中的麦克风有如下操作:
1、初始化录音对象:AudioRecord函数;
2、开始录音:startRecording函数;
3、获取录音状态:getRecordingState函数;
4、释放录音对象:release函数。
云手机的虚拟音视频设备拦截直播应用的上述操作指令,基于网络通信的方式将操作指令转发到直播端的多路直播控制模块;直播端的多路直播控制模块根据操作指令对本地拍摄设备执行相应操作,获取拍摄设备实时拍摄的音视频数据,将音视频数据发送给相应的云手机虚拟音视频设备;云手机的虚拟音视频设备将接收的音视频数据转发给直播应用。
多路直播控制模块将音视频数据发送给相应的云手机虚拟拍音视频设备,可以是将原始的音视频数据按照请求的直播应用的个数进行复制,将复制后的数据分别发送给各云手机的虚拟音视频设备,可以是并行发送,保证每个直播应用获取到的音视频数据的实时性和发送的有效性。可选的,多路直播控制模块可以将获取到的原始音视频数据统一进行优化处理后,再复制发送;也可以是直接将原始的音视频数据复制发送,由云手机的虚拟音视频设备按照本地直播应用对音视频数据的具体要求进行相应的处理后,将处理后的音视频数据发送给直播应用。
实施例三
本发明实施例三提供一种多路直播方法,其流程如图6所示,包括如下步骤:
步骤S61:云终端的虚拟音视频设备响应于云终端的直播应用的音视频设备调用请求,将音视频设备调用请求发送给直播端的多路直播控制模块。
步骤S62:将接收的的多路直播控制模块发送的音视频数据提供给直播应用。
具体的,上述音视频数据为多路直播控制模块获取的直播端的音视频设备实时拍摄的音视频数据。
在一个实施例中,上述方法还可以包括,云终端的虚拟音视频设备响应于直播应用的音视频设备操作指令,将操作指令发送给直播端的多路直播控制模块,使得多路直播控制模块根据该操作指令、直播端的音视频设备当前的运行状态和预设的优先级规则,或根据该操作指令和直播端的音视频设备当前的运行状态,确定是否需要通知音视频设备执行该操作指令;接收多路直播控制模块响应于该操作指令对直播端的音视频设备的操作结果。
在一个实施例中,云终端可以是从本地框架层、或硬件抽象层HAL获取本地直播应用的音视频设备调用请求。
在一个实施例中,可以包括,云终端通过虚拟音视频设备的hook接口获取本地直播应用的音视频设备调用请求,通过虚拟音视频设备的通信模块将音视频设备调用请求发送给直播端的多路直播控制模块;通过通信模块将接收的多路直播控制模块发送的音视频数据提供给本地直播应用。
云终端并没有设置真正的音视频设备硬件,而是通过虚拟音视频设备实现音视频设备的功能,由虚拟音视频设备的hook接口获取本地直播应用的音视频设备调用请求或操作指令,由虚拟音视频设备的通信模块将hook接口获取的本地直播应用的音视频设备调用请求或操作指令发送给直播端的多路直播控制模块。直播端的多路直播控制模块对接收到的各云终端的通信模块发送的音视频设备调用请求或操作指令进行统一管理,根据音视频设备调用请求将本地音视频设备实时拍摄的音视频数据发送给相应的通信模块;根据接收到的各音视频设备操作指令和预设的优先级原则确定最终执行的操作指令,并操作本地的音视频设备,将最终的操作结果返回给云终端的通信模块,通信模块再发送给相应的直播应用。最终实现了各云终端上的直播应用都能共享直播端的音视频设备的效果;直播端将接收到的各直播应用处理后的音视频数据进行同屏播放,实现了直播端的多路直播效果。
实施例四
本发明实施例四提供一种多路直播方法,其流程如图7所示,包括如下步骤:
步骤S71:直播端的多路直播控制模块,响应于接收到的云终端的虚拟音视频设备发送的音视频设备调用请求,获取直播端的音视频设备实时拍摄的音视频数据。
具体的,上述音视频设备调用请求是虚拟音视频设备获取的云终端中的直播应用发送的音视频设备调用请求。
步骤S72:将音视频数据发送给虚拟音视频设备,使得虚拟音视频设备将音视频数据提供给直播应用。
当前请求调用音视频设备的虚拟音视频设备不只一个时,将音视频数据发送给虚拟音视频设备,具体可以包括,确定当前请求调用音视频设备的虚拟音视频设备个数,按照该个数复制音视频数据;将复制的音视频数据分别发送给相应的虚拟音视频设备。
将复制的音视频数据分别发送给相应的虚拟音视频设备,具体可以包括,按照预设的优先级原则,确定当前请求调用音视频设备的虚拟音视频设备的优先级顺序;按照优先级顺序,从优先级最高的虚拟音视频设备开始,依次将复制的音视频数据转换成虚拟音视频设备请求的参数设置和/或数据格式,将转换后的音视频数据发送给该虚拟音视频设备。
在一个实施例中,还可以包括,多路直播控制模块响应于接收到的虚拟音视频设备发送的音视频设备操作指令,根据该操作指令、音视频设备当前的运行状态和预设的优先级规则,或根据该操作指令和音视频设备当前的运行状态,确定是否需要音视频设备执行该操作指令,音视频设备调用请求是虚拟音视频设备获取的云终端的直播应用发送的音视频设备调用请求;若是,向音视频设备发送该操作指令,向相应的虚拟音视频设备返回操作结果,使得虚拟音视频设备将接收的操作结果发送给直播应用;若否,直接向相应的虚拟音视频设备返回操作结果,使得虚拟音视频设备将接收的操作结果发送给直播应用。
在一个实施例中,还可以包括,多路直播控制模块,将接收到的虚拟音视频设备发送的直播应用处理后音视频数据发送给直播端的播放设备,使得播放设备同屏播放同一时段接收的多个处理后的音视频数据。
基于本发明的发明构思,本发明实施例还提供一种云终端,其结构如图8所示,包括直播应用81和虚拟音视频设备82;
虚拟音视频设备82,用于响应于直播应用81的音视频设备调用请求,将音视频设备调用请求发送给直播端的多路直播控制模块,将接收的多路直播控制模块发送的音视频数据提供给直播应用81,述音视频数据为多路直播控制模块获取的直播端的音视频设备实时拍摄的音视频数据。
基于本发明的发明构思,本发明实施例还提供一种直播端,其结构如图9所示,包括音视频设备91和多路直播控制模块92;
多路直播控制模块92,用于响应于接收到的云终端的虚拟音视频设备发送的音视频设备调用请求,获取音视频设备实时拍摄的音视频数据,音视频设备调用请求是虚拟音视频设备获取的云终端的直播应用发送的音视频设备调用请求,将音视频数据发送给虚拟音视频设备,使得虚拟音视频设备将音视频数据提供给直播应用。
在一个实施例中,上述直播端还包括播放模块93,用于:
同屏播放通过多路直播控制模块92接收的多个云端直播应用处理后的视频数据。
关于上述实施例中的方法和设备,其各步骤的具体执行方式或各部分执行操作的具体方式,已经在有关系统的实施例中进行了详细描述,此处将不做详细阐述说明。
基于本发明的发明构思,本发明实施例还提供了一种非临时性计算机可读存储介质,其上存储有计算机指令,当该指令被处理器执行时实现上述多路直播方法。
除非另外具体陈述,术语比如处理、计算、运算、确定、显示等等可以指一个或更多个处理或者计算系统、或类似设备的动作和/或过程,所述动作和/或过程将表示为处理系统的寄存器或存储器内的物理(如电子)量的数据操作和转换成为类似地表示为处理系统的存储器、寄存器或者其他此类信息存储、发射或者显示设备内的物理量的其他数据。信息和信号可以使用多种不同的技术和方法中的任何一种来表示。例如,在贯穿上面的描述中提及的数据、指令、命令、信息、信号、比特、符号和码片可以用电压、电流、电磁波、磁场或粒子、光场或粒子或者其任意组合来表示。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

Claims (15)

1.一种多路直播系统,其特征在于,包括直播端和多个云终端,所述直播端设置有音视频设备和多路直播控制模块,所述云终端设置有直播应用和虚拟音视频设备;
所述虚拟音视频设备,用于响应于直播应用的音视频设备调用请求,将所述音视频设备调用请求发送给直播端的多路直播控制模块;
所述多路直播控制模块,用于响应于接收到的音视频设备调用请求,将获取的所述音视频设备实时拍摄的音视频数据发送给相应的虚拟音视频设备;
所述虚拟音视频设备,还用于将接收的所述音视频数据提供给直播应用。
2.如权利要求1所述的系统,其特征在于,所述多路直播控制模块,将获取的所述音视频设备实时拍摄的音视频数据发送给相应的虚拟音视频设备,具体用于:
向音视频设备请求实时拍摄的音视频数据,确定当前请求调用音视频设备的虚拟音视频设备个数,按照所述个数复制所述音视频数据;
将复制的音视频数据分别发送给相应的虚拟音视频设备。
3.如权利要求2所述的系统,其特征在于,所述多路直播控制模块,将复制的音视频数据分别发送给相应的虚拟音视频设备,具体用于:
按照预设的优先级原则,确定当前请求调用音视频设备的虚拟音视频设备的优先级顺序;
按照所述优先级顺序,从优先级最高的虚拟音视频设备开始,依次将复制的音视频数据转换成虚拟音视频设备请求的参数设置和/或数据格式,将转换后的音视频数据发送给该虚拟音视频设备。
4.如权利要求1所述的系统,其特征在于,所述虚拟音视频设备,还用于响应于直播应用的音视频设备操作指令,将所述操作指令发送给直播端的多路直播控制模块;
所述多路直播控制模块,还用于响应于接收到的音视频设备操作指令,根据所述操作指令、音视频设备当前的运行状态和预设的优先级规则,或根据所述操作指令和音视频设备当前的运行状态,确定需要音视频设备执行所述操作指令时,向音视频设备发送所述操作指令,向相应的虚拟音视频设备返回操作结果;确定不需要音视频设备执行所述操作指令时,直接向相应的虚拟音视频设备返回操作结果;
所述虚拟音视频设备,还用于将接收的所述操作结果发送给直播应用。
5.如权利要求1所述的系统,其特征在于,所述虚拟音视频设备,还用于获取直播应用处理后的音视频数据,将所述处理后的音视频数据发送给所述多路直播控制模块;
所述多路直播控制模块还用于,将接收到的处理后的音视频数据发送给直播端的播放设备,使得所述播放设备同屏播放同一时段接收的多个处理后的音视频数据。
6.如权利要求1~5任一项所述的系统,其特征在于,所述虚拟音视频设备包括通信模块和hook接口;
所述hook接口用于接收直播应用的音视频设备调用请求;
所述通信模块用于将所述音视频设备调用请求发送给直播端的多路直播控制模块,以及将接收的所述多路直播控制模块发送的音视频数据提供给直播应用。
7.一种多路直播方法,其特征在于,包括:
云终端的虚拟音视频设备响应于云终端的直播应用的音视频设备调用请求,将所述音视频设备调用请求发送给直播端的多路直播控制模块;
将接收的所述多路直播控制模块发送的音视频数据提供给直播应用,所述音视频数据为所述多路直播控制模块获取的直播端的音视频设备实时拍摄的音视频数据。
8.如权利要求7所述的方法,其特征在于,还包括:
云终端的虚拟音视频设备响应于直播应用的音视频设备操作指令,将所述操作指令发送给直播端的多路直播控制模块,使得所述多路直播控制模块根据所述操作指令、直播端的音视频设备当前的运行状态和预设的优先级规则,或根据所述操作指令和直播端的音视频设备当前的运行状态,确定是否需要通知音视频设备执行所述操作指令;
接收所述多路直播控制模块响应于所述操作指令对直播端的音视频设备的操作结果。
9.一种多路直播方法,其特征在于,包括:
直播端的多路直播控制模块,响应于接收到的云终端的虚拟音视频设备发送的音视频设备调用请求,获取直播端的音视频设备实时拍摄的音视频数据,所述音视频设备调用请求是虚拟音视频设备获取的所述云终端的直播应用发送的音视频设备调用请求;
将所述音视频数据发送给虚拟音视频设备,使得虚拟音视频设备将所述音视频数据提供给直播应用。
10.如权利要求9所述的方法,其特征在于,当前请求调用音视频设备的虚拟音视频设备不只一个时,所述将所述音视频数据发送给虚拟音视频设备,具体包括:
确定当前请求调用音视频设备的虚拟音视频设备个数,按照所述个数复制所述音视频数据;
将复制的音视频数据分别发送给相应的虚拟音视频设备。
11.如权利要求10所述的方法,其特征在于,所述将复制的音视频数据分别发送给相应的虚拟音视频设备,具体包括:
按照预设的优先级原则,确定当前请求调用音视频设备的虚拟音视频设备的优先级顺序;
按照所述优先级顺序,从优先级最高的虚拟音视频设备开始,依次将复制的音视频数据转换成虚拟音视频设备请求的参数设置和/或数据格式,将转换后的音视频数据发送给该虚拟音视频设备。
12.如权利要求9所述的方法,其特征在于,还包括:
所述多路直播控制模块响应于接收到的虚拟音视频设备发送的音视频设备操作指令,根据所述操作指令、音视频设备当前的运行状态和预设的优先级规则,或根据所述操作指令和音视频设备当前的运行状态,确定是否需要音视频设备执行所述操作指令,所述音视频设备调用请求是虚拟音视频设备获取的所述云终端的直播应用发送的音视频设备调用请求;
若是,向音视频设备发送所述操作指令,向相应的虚拟音视频设备返回操作结果,使得虚拟音视频设备将接收的操作结果发送给直播应用;
若否,直接向相应的虚拟音视频设备返回操作结果,使得虚拟音视频设备将接收的操作结果发送给直播应用。
13.一种云终端,其特征在于,包括直播应用和虚拟音视频设备;
所述虚拟音视频设备,用于响应于所述直播应用的音视频设备调用请求,将所述音视频设备调用请求发送给直播端的多路直播控制模块,将接收的所述多路直播控制模块发送的音视频数据提供给所述直播应用,所述音视频数据为所述多路直播控制模块获取的直播端的音视频设备实时拍摄的音视频数据。
14.一种直播端,其特征在于,包括音视频设备和多路直播控制模块;
所述多路直播控制模块,用于响应于接收到的云终端的虚拟音视频设备发送的音视频设备调用请求,获取所述音视频设备实时拍摄的音视频数据,所述音视频设备调用请求是虚拟音视频设备获取的所述云终端的直播应用发送的音视频设备调用请求,将所述音视频数据发送给虚拟音视频设备,使得虚拟音视频设备将所述音视频数据提供给直播应用。
15.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,当该指令被处理器执行时时实现权利要求7~12任一项所述的多路直播方法。
CN202110384962.1A 2021-04-09 2021-04-09 一种多路直播系统、方法和设备 Active CN113347453B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110384962.1A CN113347453B (zh) 2021-04-09 2021-04-09 一种多路直播系统、方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110384962.1A CN113347453B (zh) 2021-04-09 2021-04-09 一种多路直播系统、方法和设备

Publications (2)

Publication Number Publication Date
CN113347453A true CN113347453A (zh) 2021-09-03
CN113347453B CN113347453B (zh) 2022-11-08

Family

ID=77467963

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110384962.1A Active CN113347453B (zh) 2021-04-09 2021-04-09 一种多路直播系统、方法和设备

Country Status (1)

Country Link
CN (1) CN113347453B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116389777A (zh) * 2023-03-10 2023-07-04 启朔(深圳)科技有限公司 云端数字人直播方法、云端设备、主播端设备和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103237230A (zh) * 2013-04-27 2013-08-07 深圳创维数字技术股份有限公司 一种视频共享的方法及数字电视终端
CN105245909A (zh) * 2015-10-10 2016-01-13 上海慧体网络科技有限公司 结合智能硬件、云计算、互联网进行比赛直播的方法
CN106131591A (zh) * 2016-06-30 2016-11-16 广州华多网络科技有限公司 直播方法、装置及终端
CN106658145A (zh) * 2016-12-27 2017-05-10 北京奇虎科技有限公司 一种直播数据处理方法和装置
CN112118459A (zh) * 2020-08-28 2020-12-22 上海商米科技集团股份有限公司 共享摄像头数据实现多个app共同直播的方法及可读介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103237230A (zh) * 2013-04-27 2013-08-07 深圳创维数字技术股份有限公司 一种视频共享的方法及数字电视终端
CN105245909A (zh) * 2015-10-10 2016-01-13 上海慧体网络科技有限公司 结合智能硬件、云计算、互联网进行比赛直播的方法
CN106131591A (zh) * 2016-06-30 2016-11-16 广州华多网络科技有限公司 直播方法、装置及终端
CN106658145A (zh) * 2016-12-27 2017-05-10 北京奇虎科技有限公司 一种直播数据处理方法和装置
CN112118459A (zh) * 2020-08-28 2020-12-22 上海商米科技集团股份有限公司 共享摄像头数据实现多个app共同直播的方法及可读介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116389777A (zh) * 2023-03-10 2023-07-04 启朔(深圳)科技有限公司 云端数字人直播方法、云端设备、主播端设备和系统

Also Published As

Publication number Publication date
CN113347453B (zh) 2022-11-08

Similar Documents

Publication Publication Date Title
CN111031368B (zh) 多媒体播放方法、装置、设备及存储介质
CN102204245A (zh) 相对于摄像机位置控制视频窗口位置
JP6582100B2 (ja) 音声サービスを提供するための方法および装置
CN107484011B (zh) 一种视频资源解码方法及装置
KR102616384B1 (ko) 촬영룸 키오스크를 통해 촬영된 이미지들에 기초하여 사진 프레임을 생성하는 장치 및 방법
EP2528326A1 (en) Method and device for switching video pictures
CN110413420B (zh) 数据传输方法、装置、终端及存储介质
CN113347453B (zh) 一种多路直播系统、方法和设备
KR20220080198A (ko) 오디오 데이터 프로세싱 방법, 서버, 및 저장 매체
CN114286117A (zh) 多平台多应用的直播方法及系统、直播设备和存储介质
CN105611217A (zh) 一种可视门铃及其控制系统
US20140194152A1 (en) Mixed media communication
US9270779B2 (en) Display service method, network device capable of performing the method, and storage medium storing the method
CN113347450B (zh) 一种多应用共享音视频设备的方法、装置和系统
WO2020258050A1 (zh) 确定无线资源的方法及装置
CN113553048A (zh) 一种低代码融合通信集成系统
WO2014149776A1 (en) Mixed media from multimodal sensors
CN112752033B (zh) 导播方法和系统
CN111083235A (zh) 一种共享输入输出设备控制方法及系统
CN116233520B (zh) 传递和获取视频数据的方法及装置、服务器设备和存储介质
CN114827690B (zh) 一种网络资源显示方法、装置及系统
WO2022265126A1 (ko) 적응형 미디어 스트리밍 환경에서 비디오 편집 속도 향상 방법 및 장치
WO2023160238A1 (zh) 一种图片显示方法及相关电子设备
CN116055789B (zh) 基于安卓系统的直播画面放大方法、系统、设备和介质
EP4167580A1 (en) Audio control method, system, and electronic device

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
GR01 Patent grant
GR01 Patent grant