CN113497945A - 基于云手机的直播和配置方法以及相关装置和系统 - Google Patents
基于云手机的直播和配置方法以及相关装置和系统 Download PDFInfo
- Publication number
- CN113497945A CN113497945A CN202010387298.1A CN202010387298A CN113497945A CN 113497945 A CN113497945 A CN 113497945A CN 202010387298 A CN202010387298 A CN 202010387298A CN 113497945 A CN113497945 A CN 113497945A
- Authority
- CN
- China
- Prior art keywords
- mobile phone
- live broadcast
- cloud
- cloud mobile
- live
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 10
- 230000003993 interaction Effects 0.000 abstract description 9
- 238000007726 management method Methods 0.000 description 125
- 230000004044 response Effects 0.000 description 21
- 239000003795 chemical substances by application Substances 0.000 description 18
- 230000008569 process Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000002452 interceptive effect Effects 0.000 description 9
- 230000000903 blocking effect Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/21805—Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请提供一种基于云手机的直播和配置方法以及相关装置和系统,该方法包括以下步骤:内容分发服务节点接收主播终端向内容分发服务节点的推流地址发送的直播内容,并将直播内容关联至内容分发服务节点的拉流地址,其中,直播内容是由主播终端产生的,至少两个云手机分别从内容分发服务节点的拉流地址拉取该直播内容,并将该直播内容发送至不同的直播平台,该方法可以实现多个云手机共用主播终端产生的直播内容进行直播的目的,进而解决了多平台直播系统成本高、互动效果差以及容易出现卡顿的情况。
Description
技术领域
本申请涉及云计算领域,尤其涉及基于云手机的直播和配置方法以及相关装置和系统。
背景技术
视频直播已经成为互联网中流量占比最高的行业之一,直播行业涌现出拥有大量用户群体的直播平台,每个直播平台的用户对直播平台都具有一定的粘性,因此不同直播平台的用户群体之间重叠程度不高,这就导致了对于大部分主播来说,相对于固定在单一平台直播,同时在多个平台进行直播可以快速获得更多的观众,也就带来更多的直播收益。
通常情况下,一个主播在多个直播平台进行同步直播,需要使用多台手机,主播为每台手机安装不同种类的直播应用,其中不同种类的直播应用分别服务于不同的直播平台,主播还需将每台手机的摄像头设置以合适角度以分别获取直播视频,每个手机获取的直播视频通过手机中运行的直播应用经互联网发送至对应的直播平台,不同直播平台的观众通过自身使用的手机在对应的直播平台拉取视频内容,从而实现多平台直播。
然而上述多平台直播方案具有很多弊端:首先,每新增一个直播平台主播就要购买一台手机,导致直播成本升高;其次,每个手机需要放置在不同的角度,主播难以同时正对每台手机,使得互动效果较差;并且,多台手机共用网络时,容易造成网络拥堵,进而造成直播卡顿,降低用户使用体验。
发明内容
本申请提供了基于云手机的直播和配置方法以及相关装置和系统,用于解决主播进行多平台直播时成本高、互动效果差以及容易卡顿等问题。
第一方面,提供了一种基于云手机的直播方法,该方法应用于直播系统,该直播系统包括内容分发服务节点和至少两个云手机,至少两个云手机分别与不同的直播平台连接,内容分发服务节点设置有推流地址和拉流地址,该方法包括以下步骤:首先,内容分发服务节点接收主播终端向推流地址发送的直播内容,并将直播内容关联至拉流地址,其中,直播内容是由主播终端产生,然后,至少两个云手机分别从拉流地址拉取直播内容,并将直播内容发送至不同的直播平台。
实施第一方面描述的方法,主播终端产生直播内容之后,将其推流至内容分发服务节点的推流地址,内容分发服务节点可以从推流地址拉取到直播内容,并将直播内容关联至拉流地址中,至少两个云手机从该拉流地址拉取直播内容并将直播内容发送至不同的直播平台进行视频直播,可以实现多个云手机共用主播终端产生的直播内容进行直播的目的,由于主播无需购买新的主播终端以服务不同的直播平台,取而代之以云手机实现,而云手机的租用价格比主播终端的购买价格低,可解决主播用户进行多平台直播时需购买多个主播终端而造成的成本较高的问题,并且在直播过程中,仅需采用一台主播终端产生直播内容并发送至内容分发服务节点,通过内容分发服务节点将直播内容分发到与不同的直播平台连接的至少两个云手机,使得不同的直播平台可从对应的云手机中获取到相同的直播内容进行视频直播,可提高主播与不同平台的观众之间的互动效果,且直播过程中仅需上传一路直播内容,占用的网络带宽相对于上传多路直播内容而言较低,可有效解决直播卡顿问题。
在一种可能的实现方式中,直播系统还包括云手机管理节点,在内容分发服务节点接收主播终端向推流地址发送的直播内容之前,上述方法还包括以下步骤:云手机管理节点接收主播终端发送的云手机创建信息,其中,该云手机创建信息包括至少两个云手机的规格信息,使得云手机管理节点根据云手机创建信息创建至少两个云手机,然后将推流地址发送至主播终端,将拉流地址设置于上述至少两个云手机。
实施上述实现方式,在主播开始直播之前,主播可根据所需的直播平台的种类创建对应数量的云手机,一个云手机与一个特定种类的直播平台连接,使得多个云手机分别与不同的直播平台连接,多个云手机分别从内容分发服务节点拉取直播内容,从而实现多平台直播。
在一种可能的实现方式中,云手机管理节点将内容分发服务节点的拉流地址设置于第一虚拟摄像头和第二虚拟摄像头之前,上述方法还包括以下步骤:云手机管理节点创建内容分发服务节点,并为该内容分发服务节点配置上述推流地址和上述拉流地址。
实施上述实现方式,云手机管理节点可以在数据中心的云手机资源池中创建云手机,在数据中心的虚拟机资源池中创建内容分发服务节点,使得同一个用户申请的至少两个云手机可以拥有一个专用的内容分发服务节点,一个用户账号和一个内容分发服务节点一一对应,多个用户之间的直播流量不会产生冲突,避免直播卡顿情况的出现。并且,云手机和内容分发服务节点均为公有云提供的虚拟资源,使得多平台直播的成本大大降低。
在一种可能的实现方式中,云手机创建信息包括第一云手机的规格信息和第二云手机的规格信息,第一云手机的规格信息包括第一直播应用的信息和第一虚拟摄像头的信息,第二云手机的规格信息包括第二直播应用的信息和第二虚拟摄像头的信息。云手机管理节点可以根据云手机创建信息在云手机资源池创建第一云手机和第二云手机,其中,第一云手机设置有第一虚拟摄像头和第一直播应用,第二云手机设置有第二虚拟摄像头和第二直播应用,第一直播应用服务于第一直播平台,第二直播应用服务于第二直播平台,第一直播平台与第二直播平台是不同的直播平台,拉流地址被设置于第一虚拟摄像头和第二虚拟摄像头。
实施上述实现方式,云手机管理节点根据云手机创建信息创建第一云手机和第二云手机之后,将拉流地址设置于第一云手机的第一虚拟摄像头和第二云手机的第二虚拟摄像头,这样,当主播开始直播后,主播终端将直播内容推流至内容分发服务节点的推流地址,内容分发服务节点将直播内容关联至拉流地址,此时第一虚拟摄像头、第二虚拟摄像头可以从该拉流地址拉取直播内容,使得第一云手机和第二云手机都可以获取到主播终端发送的直播内容,从而实现多个云手机共用主播终端摄像头采集的直播内容进行直播的目的,进而解决了多平台直播系统成本高、互动效果差以及容易出现卡顿的情况。
在一种可能的实现方式中,云手机管理节点根据云手机创建信息在云手机资源池创建第一云手机和第二云手机之后,还可以为第一云手机设置第一驱动,其中,第一驱动用于控制第一虚拟摄像头在接收到第一直播应用产生的第一摄像头调用指令的情况下向第一直播应用发送第一虚拟摄像头从拉流地址拉取的直播内容。同理,还可以为第二云手机设置第二驱动,其中,第二驱动用于控制第二虚拟摄像头在接收到第二直播应用产生的第二摄像头调用指令的情况下向第二直播应用发送第二虚拟摄像头从拉流地址拉取的直播内容。
实施上述实现方式,使得云手机上的直播应用向虚拟摄像头发送摄像头调用指令的情况下,虚拟摄像头向直播应用返回从拉流地址拉取的直播内容,直播应用对直播内容的来源无感知,进而实现在不修改直播应用的情况下,达到将主播终端产生的直播内容返回给直播应用进行视频直播的目的。由于直播应用一般为第三方的直播平台提供,而本申请的视频直播方法无需修改直播应用,因此针对第三方的直播平台具有普遍适用性。
在一种可能的实现方式中,当主播开始直播后,云手机管理节点可以接收主播终端发送的直播启动命令,然后根据直播启动命令启动第一直播应用和第二直播应用,其中,第一直播应用启动后产生上述第一摄像头调用指令,第二直播应用启动后产生上述第二摄像头调用指令。
实施上述实现方式,当用户开始直播时,云手机管理节点可以启动各个云手机中的直播应用,直播应用在启动时,向各自所处的云手机的虚拟摄像头发送摄像头调用指令,虚拟摄像头向直播应用返回从拉流地址拉取的直播内容,使得各个直播应用都可以获取到主播终端产生的直播内容,从而实现一个主播终端产生的直播内容在多个直播平台进行直播的目的。
在一种可能的实现方式中,至少两个云手机分别从拉流地址拉取直播内容,并将直播内容发送至不同的直播平台,包括:第一虚拟摄像头从拉流地址拉取直播内容,第一直播应用从第一虚拟摄像头获取直播内容并将直播内容发送至第一直播平台;第二虚拟摄像头从拉流地址拉取直播内容,第二直播应用从第二虚拟摄像头获取直播内容并将直播内容发送至第二直播平台。
实施上述实现方式,主播开始直播后,内容分发服务节点接收到主播终端产生的直播内容,然后将直播内容关联至拉流地址,各个云手机的虚拟摄像头分别从内容分发服务节点的拉流地址拉取直播内容,每个云手机上的直播应用可以将从虚拟摄像头处获取到的直播内容分别发送给对应的直播平台进行视频直播,从而实现一个主播终端产生的直播内容在多个直播平台进行直播的目的,进而解决了多平台直播系统成本高、互动效果差以及容易出现卡顿的问题。
在一种可能的实现方式中,该方法还包括以下步骤:内容分发服务节点接收该主播终端向推流地址发送的控制流,并将该控制流分别发送至第一云手机和第二云手机,其中,控制流可以是指令流,用于控制主播终端前后置摄像头的切换,摄像头调焦、对比度、亮度等。
在一些情况下,直播应用为第三方的直播平台提供,直播应用在运行时若不能接收到摄像头发送的控制流,有可能会认为摄像头发生故障,直播应用可能会向操作系统报错或不能正常运行,但是云手机所能提供的摄像头由于是虚拟摄像头,虚拟摄像头无法向直播应用提供控制流,从而使得直播应用报错或不能正常运行,实施上述实现方式,主播终端可以将本机摄像头的控制流发送给内容分发服务节点,内容分发服务节点将控制流发送至每个云手机的虚拟摄像头,虚拟摄像头可以向直播应用返回主播终端的控制流,从而使得云手机的虚拟摄像头可以向直播应用发送针对摄像头的控制流,从而保证直播应用正常运行。由于直播应用一般为第三方的直播平台提供,而本申请的视频直播方法无需修改直播应用,因此针对第三方的直播平台具有普遍适用性。
在一种可能的实现方式中,直播内容包括视频流和音频流,主播终端的摄像头采集主播的视频流,主播终端的麦克风采集主播的音频流,主播终端将视频流和音频流合成为直播内容,该方案尤其适用于主播现场表演的场景。
在其他实施例中,直播内容还可以包括另外一种音视频流,该音视频流结合了主播终端运行应用时产生的音视频流和麦克风采集的由主播旁述产生的音频流的音视频流,该方案尤其适用于在线游戏直播,在线课堂,设计软件教学等场景。
在一种可能的实现方式中,云手机上的虚拟摄像头接收到直播平台发送的调用指令,在向直播平台返回由拉流地址拉取的直播内容之前,可以先将之前从拉流地址中拉取的直播内容进行格式转换,将其转换为直播应用能够识别的格式,比如将直播内容中的视频流转换为主播终端摄像头采集的原格式音视频数据,然后再将其返回给直播平台。
实施上述实现方式,可以避免由于直播应用无法识别虚拟摄像头返回的直播内容的格式,出现应用报错的问题。由于直播应用一般为第三方的直播平台提供,而本申请的视频直播方法无需修改直播应用,因此针对第三方的直播平台具有普遍适用性。
在一种可能的实现方式中,内容分发服务节点从拉流地址拉取到主播终端发送的直播内容和控制流之后,还可以根据各个云手机的码率需求对直播内容进行二次转码,比如第一云手机上的第一直播应用需要码率A的直播内容,第二云手机的第二直播应用需要码率B的直播内容,此时内容分发服务节点还可以根据各个云手机的码率需求,对直播内容进行二次转码,获得码率A的直播内容和码率B的直播内容,并将两种码率的直播内容全部推流到拉流地址,以供第一云手机的第一虚拟摄像头从该拉流地址拉取码率A的直播内容,第二云手机的第二虚拟摄像头从该拉流地址拉取码率B的直播内容,其中,各个云手机的码率需求可以是云手机管理节点创建第一云手机和第二云手机之后,创建内容分发服务节点时存储于该内容分发服务节点的数据库中。
实施上述实现方式,可以使得本申请提供的基于云手机的直播方法能够适用于各种有码率需求的直播平台,针对第三方的直播平台具有普遍适用性。
第二方面,提供了一种基于云手机的直播配置方法,该方法包括以下步骤:云手机管理节点接收主播终端发送的云手机创建信息,其中,该云手机创建信息包括至少两个云手机的规格信息,使得云手机管理节点根据云手机创建信息创建至少两个云手机,上述至少两个云手机与不同的直播平台连接,然后将推流地址发送至主播终端,推流地址为主播终端产生的直播内容的目的地址,再将拉流地址设置于上述至少两个云手机,该拉流地址用于提供直播内容以供至少两个云手机拉取。
实施第二方面描述的方法,云手机管理节点根据云手机创建信息创建第一云手机和第二云手机之后,将拉流地址设置于第一云手机的第一虚拟摄像头和第二云手机的第二虚拟摄像头,这样,当主播开始直播后,主播终端将直播内容推流至内容分发服务节点的推流地址,内容分发服务节点将直播内容关联至拉流地址,此时第一虚拟摄像头、第二虚拟摄像头可以从该拉流地址拉取直播内容,使得第一云手机和第二云手机都可以获取到主播终端发送的直播内容,从而实现多个云手机共用主播终端摄像头采集的直播内容进行直播的目的,进而解决了多平台直播系统成本高、互动效果差以及容易出现卡顿的情况。
直播平台在一种可能的实现方式中,云手机管理节点接收主播终端发送的云手机创建信息之后,上述方法还包括以下步骤:云手机管理节点创建内容分发服务节点,并为内容分发服务节点设置推流地址和拉流地址。
实施上述实现方式,作为用于管理云手机的节点,云手机管理节点可以在数据中心的云手机资源池中创建云手机,在数据中心的虚拟机资源池中创建内容分发服务节点,使得同一个用户申请的至少两个云手机可以拥有一个专用的内容分发服务节点,每个用户的直播流量不会产生冲突,避免直播卡顿情况的出现,并且,云手机和内容分发服务节点均为公有云提供的虚拟资源,使得多平台直播的成本大大降低。
在一种可能的实现方式中,云手机创建信息包括第一云手机的规格信息和第二云手机的规格信息,第一云手机的规格信息包括需设置在第一云手机需的第一直播应用的信息和需设置在第一云手机的第一虚拟摄像头的信息,第二云手机的规格信息包括需设置在第二云手机的第二直播应用的信息和需设置在第二云手机的第二虚拟摄像头的信息。因此,云手机管理节点根据云手机创建信息创建至少两个云手机时,可以先根据云手机创建信息在云手机资源池创建第一云手机和第二云手机,其中,第一云手机设置有第一虚拟摄像头和第一直播应用,第二云手机设置有第二虚拟摄像头和第二直播应用,第一直播应用服务于第一直播平台,第二直播应用服务于第二直播平台,第一直播平台与第二直播平台是不同的直播平台,将拉流地址设置于第一虚拟摄像头和第二虚拟摄像头。
实施上述实现方式,云手机管理节点根据云手机创建信息创建第一云手机和第二云手机之后,将拉流地址设置于第一云手机的第一虚拟摄像头和第二云手机的第二虚拟摄像头,这样,当主播开始直播后,主播终端将直播内容推流至内容分发服务节点的推流地址,内容分发服务节点将直播内容关联至拉流地址,此时第一虚拟摄像头、第二虚拟摄像头可以从拉流地址拉取直播内容,使得每个云手机都可以获取到主播终端拍摄到的直播内容,从而实现多个云手机共用主播终端摄像头采集的直播内容进行直播的目的,进而解决了多平台直播系统成本高、互动效果差以及容易出现卡顿的情况。
在一种可能的实现方式中,云手机管理节点根据云手机创建信息在云手机资源池创建第一云手机和第二云手机之后,还可以为第一云手机设置第一驱动,其中,第一驱动用于控制第一虚拟摄像头在接收到第一直播应用产生的第一摄像头调用指令的情况下向第一直播应用发送第一虚拟摄像头从拉流地址拉取的所述直播内容。同理,还可以为第二云手机设置第二驱动,其中,第二驱动用于控制第二虚拟摄像头在接收到第二直播应用产生的第二摄像头调用指令的情况下向第二直播应用发送第二虚拟摄像头从拉流地址拉取的所述直播内容。
实施上述实现方式,使得云手机上的直播应用向虚拟摄像头发送摄像头调用指令的情况下,虚拟摄像头向直播应用返回从拉流地址拉取的直播内容,直播应用对直播内容的来源无感知,进而实现在不修改直播应用的情况下,达到将主播终端采集的直播内容返回给直播应用进行视频直播的目的。由于直播应用一般为第三方的直播平台提供,而本申请的视频直播方法无需修改直播应用,因此针对第三方的直播平台具有普遍适用性。
在一种可能的实现方式中,当主播开始直播后,云手机管理节点可以接收主播终端发送的直播启动命令,然后根据直播启动命令启动第一直播应用和第二直播应用,其中,第一直播应用启动后产生上述第一摄像头调用指令,第二直播应用启动后产生上述第二摄像头调用指令。
实施上述实现方式,当用户开始直播时,云手机管理节点可以启动各个云手机中的直播应用,直播应用在启动时,向各自所处的云手机的虚拟摄像头发送摄像头调用指令,虚拟摄像头向直播应用返回从拉流地址拉取的直播内容,使得各个直播应用都可以获取到主播终端产生的直播内容,从而实现一个主播终端产生的直播内容在多个直播平台进行直播的目的。
第三方面,提供了一种直播系统,该直播系统包括内容分发服务节点和至少两个云手机,至少两个云手机分别与不同的直播平台连接,该内容分发服务节点设置有推流地址和拉流地址。其中,内容分发服务节点可以用于接收主播终端向推流地址发送的直播内容,并将直播内容关联至拉流地址,应理解,这里的直播内容是由主播终端产生的。而至少两个云手机则用于分别从拉流地址拉取直播内容,并将直播内容发送至不同的直播平台。
第三方面或第三方面任意一种实现方式是第一方面或第一方面任意一种实现方式对应的系统实现,第一方面或第一方面任意一种实现方式中的描述适用于第三方面或第三方面任意一种实现方式,在此不再赘述。
第四方面,提供了一种云手机管理节点,包括:接收单元,该接收单元用于接收主播终端发送的云手机创建信息,该云手机创建信息包括第一云手机的规格信息和第二云手机的规格信息。创建单元,该创建单元用于根据该云手机创建信息在云手机资源池创建该第一云手机和该第二云手机,其中,该第一云手机设置有第一直播应用和第一虚拟摄像头,该第二云手机设置有第二直播应用和第二虚拟摄像头,该第一直播应用和该第二直播应用服务于不同的直播平台。发送单元,该发送单元用于将推流地址发送至该主播终端,该推流地址为该主播终端发送的直播内容的目的地址。设置单元,该设置单元用于将拉流地址设置于该第一虚拟摄像头和该第二虚拟摄像头,该拉流地址用于提供该直播内容以供该第一虚拟摄像头和该第二虚拟摄像头拉取。
第四方面或第四方面任意一种实现方式是第二方面或第二方面任意一种实现方式对应的装置实现,第二方面或第二方面任意一种实现方式中的描述适用于第四方面或第四方面任意一种实现方式,在此不再赘述。
第五方面,提供了一种计算机可读存储介质,包括指令,当该指令在计算设备上运行时,使得该计算设备执行如第一方面或第二方面描述的方法。
第六方面,提供了一种计算设备,包括处理器和存储器,该处理器执行该存储器中的代码时,使得计算设备实现如第一方面或第二方面描述的方法。
第七方面,提供了一种计算机程序产品,当该计算机程序产品被计算设备读取并执行时,实现如第一方面或第二方面描述的方法。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是一种多平台直播系统的结构示意图;
图2是本申请提供的直播系统的结构示意图;
图3是本申请提供的云手机创建系统的结构示意图;
图4是本申请提供的基于云手机的直播配置方法的流程示意图;
图5-图9是本申请提供的云手机的直播配置方法中一些用户界面的实施例的示意图;
图10是本申请提供的基于云手机的直播方法的流程示意图;
图11是本申请提供的云手机的直播方法中用户界面的实施例的示意图;
图12是本申请提供的一种云手机管理节点的结构示意图;
图13是本申请提供的一种计算设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解本申请实施例,首先,对本申请涉及的部分数据进行解释说明。
云手机(Cloud Phone):一种在物理服务器中运行的带有手机操作系统,同时具有虚拟手机功能的容器,其本质是将手机上的应用转移到公有云数据中心的物理服务器中运行,不同的云手机之间相互隔离,互不干扰,云手机可以安装本地手机的应用,该些应用在云手机中运行,运行过程中产生的音视频流可发送至本地手机进行显示及播放,本地手机根据显示和播放的音视频流产生的控制命令也可以发送至云手机,云手机根据控制命令控制应用的运行状态,从而可将本地手机的应用转移到云手机中运行,因此,本地手机无需大量安装耗费硬件资源的应用,可以实现应用的轻量化,并且,由于引用在云手机运行,本地手机无需设置有较高的硬件配置也可以让用户操作具有较高硬件配置需求的应用。
虚拟摄像头(Virtual Camera):云手机中通过软件等技术模拟真实摄像机,欺骗应用软件,使其可以正常使用摄像头的程序。
推流(Push):音视频流产生设备将采集阶段封包好的直播内容传输到服务器的过程。
拉流(Pull):服务器上已有的直播内容,音视频流播放设备将其拉取到本地的过程。
公有云:公有云的核心属性是共享资源服务,是指第三方供应商为用户提供的能够通过公共网络(比如因特网(Internet))使用的云端基础设施和服务,用户通过付费获得云端基础设施和服务的使用权限。
推流地址(Push Address):音视频流产生设备在推流阶段需要将采集阶段封包好的直播内容传输到服务器的指定地址,该指定地址即为推流地址,推流地址可以包括公网IP地址、端口号以及统一资源定位符(Uniform Resource Locator,URL),举例来说,推流地址可以是rtsp://10.0.10.1:554/live1,其中,10.0.10.1可以是内容分发服务节点320的公网IP地址,554可以是端口号,/live1为直播内容存放在服务器文件系统中的目录URL。
拉流地址(Pull Address):在拉流阶段需要在服务器上已有直播内容的情况下,服务器将直播内容放置到服务器的拉流地址并通知音视频流播放设备,音视频流播放设备可从拉流地址拉取直播内容,拉流地址也可以包括公网IP地址、端口号以及URL。举例来说,拉流地址可以是rtsp://10.0.10.1:554/live2,其中,10.0.10.1可以是内容分发服务节点320的公网IP地址,554可以是端口号,/live2为直播内容存放在服务器文件系统中的目录URL。
内容分发网络(ContentDelivery Network,CDN):内容分发网络指的是通过现有的互联网中增加一层新的网络架构,将源站的内容提前缓存至最接近用户的网络“边缘”,使得用户可以就近取得所需的内容,提高用户访问网站的响应速度。本申请的内容分发服务节点具有内容分发网络中的一个中间缓存节点或边缘缓存节点的功能,可用于缓存并发布直播内容。
其次,对本申请涉及的应用场景进行简要说明。
近年来,直播行业涌现出拥有大量用户群体的直播平台,每个直播平台的用户对平台都具有一定的粘性,因此不同平台的用户群体之间重叠程度不高,这就导致了对于大部分主播来说,相对于固定在单一平台直播,同时在多个平台进行直播可以快速获得更多的观众,也就带来更多的直播收益。
通常情况下,直播平台应用程序会独占手机摄像头资源,一个主播为了实现在多个平台进行直播,需要购买多台手机,每台手机运行不同的直播应用程序并从不同的角度将摄像头对焦于主播,从而实现多平台直播。
例如,图1是一种多平台直播系统的架构示意图。如图1所示,多平台直播系统100包括主播终端、直播平台以及播放设备。其中,主播终端、直播平台以及播放设备接入网络150。网络150可以是有线网络也可以是无线网络,或者是二者的混合,本申请不作具体限定。需要说明的,图1以2个主播终端(分别是主播终端1和主播终端2)以及2个直播平台(分别是第一直播平台131和第二直播平台132)为例进行了说明。
其中,主播可操作主播终端1和主播终端2,主播是直播内容提供方,具体可以指在互联网或活动中,负责参与一系列策划、编辑、录制、制作、观众互动等工作,并由本人担当主持工作的人,比如游戏主播、带货主播、网课教师、体育赛事主办方、新闻主持人等。
主播终端可以是包含摄像头且可以安装直播应用的计算设备,比如智能手机、掌上处理设备、平板电脑、移动笔记本、虚拟现实设备、一体化掌机等等。
相同类型的直播应用服务于同一直播平台,安装有相同类型的直播应用的终端可与同一直播平台建立网络连接,具体地,安装有相同类型的直播应用的终端可从同一直播平台中拉取直播内容,或将直播内容推送至该直播平台。
在本实施例中,第一直播应用412服务于第一直播平台131,第二直播应用422服务于第二直播平台132,第一直播平台131和第二直播平台132互不相同,可由不同的网络服务提供商提供,第一直播应用412和第二直播应用422为服务于不同的直播平台的不同类型的直播应用。
当主播开始直播时,多台主播终端需设置在不同角度,每台主播终端的摄像头对焦于主播,每台主播终端只运行一个直播应用,比如图1中主播终端1包括摄像头1和第一直播应用412,主播终端2包括摄像头2和第二直播应用422。如图1所示,主播开始多平台直播后,每台主播终端的直播应用可以先获取直播内容(步骤1),直播内容可以包括主播终端的摄像头、麦克风采集的音视频流,也可以包括主播终端的显示界面。将直播内容推流(Push)到对应的第一直播平台131的推流地址,使得直播平台可以从对应的推流地址中拉取直播内容,从而进行视频直播(步骤2)。以图1为例,第一直播应用412可以将摄像头1采集的直播内容推流至第一直播平台131服务器的推流地址1,第二直播应用422可以将摄像头2采集的直播内容推流至第二直播平台132服务器的推流地址2,然后第一直播平台131服务器从推流地址1获取摄像头1采集的直播内容1,实现主播在第一直播平台131的视频直播,第二直播平台132服务器从推流地址2获取摄像头2采集的直播内容2,实现主播在第二直播平台132的视频直播。
直播平台将上述直播内容关联至直播平台的拉流地址中,以供安装有直播应用的播放设备从对应平台的拉流地址中拉取(Pull)直播内容,使得观看直播的观众可以通过播放设备看到主播的直播内容(步骤3)。仍以图1为例,安装第一直播应用412的播放设备1可以从第一直播平台131的拉流地址1中拉取直播内容1,安装主播应用2的播放设备2可以从第二直播平台132的拉流地址2中拉取直播内容2,从而实现主播在第一直播平台131和第二直播平台132的视频直播。
综上可知,图1所示的多平台直播系统虽然能够实现主播的多平台直播需求,但是存在诸多弊端,首先,主播需要购买多个主播终端,在每个主播终端上安装一个直播应用,不同的直播应用服务于不同的直播平台。参考前述内容可知,在进行多平台直播过程中,每个直播应用将会调用本机摄像头进行音视频采集,因此如果摄像头的硬件能力差,比如像素很低,那么该平台的直播效果就会很差,这就导致主播需要多平台直播时,必须购买多个配置较高的主播终端,导致多平台直播的成本非常的高;其次,每个主播终端需要放置在不同的角度,将每个主播终端的摄像机对焦于主播,主播难以同时正对每台主播终端,造成多平台直播中的互动效果差;并且,多台主播终端共用网络进行多路音视频采集,容易造成网络拥堵,进而造成直播卡顿情况,降低用户使用体验。
为了解决上述多平台直播系统成本高、互动效果差以及容易出现卡顿的情况,本申请提供了一种直播系统200,该系统200只需要一台主播终端即可满足主播的多平台直播需求。
如图2所示,本申请提供的直播系统200包括云手机管理节点310、内容分发服务节点320以及至少两个云手机,至少两个云手机例如为图2中的云手机410和云手机420。在图2所示的直播系统200中,主播110只需要一台安装了云手机应用122的主播终端120即可实现多个直播平台(图2以2个直播平台即第一直播平台131和第二直播平台141为例,具体实现中,本申请不对平台数量以及云手机数量进行限制)同时直播的目的。需要说明的,主播110、主播终端120、直播平台130以及播放设备140的描述可以参考图1实施例,这里不再展开赘述。下面主要对云手机管理节点310、内容分发服务节点320以及至少两个云手机进行详细说明。
主播终端120上安装有云手机应用122,云手机应用122获取主播110在主播终端120输入的云手机创建信息,并将云手机创建信息发送给云手机管理节点310,云手机创建信息包括云手机410的规格信息和云手机420的规格信息;另一方面,云手机应用122还可以用于获取直播内容,然后将其发送至内容分发服务节点320的推流地址,以供内容分发服务节点320从推流地址拉取直播内容。
其中直播内容可以包括视频流和音频流,主播终端的摄像头采集主播的视频流,主播终端的麦克风采集主播的音频流,主播终端将视频流和音频流合成为直播内容,该方案尤其适用于主播现场表演的场景。
在其他实施例中,直播内容还可以包括另外一种音视频流,该音视频流结合了主播终端运行应用时产生的音视频流和麦克风采集的由主播旁述产生的音频流的音视频流,该方案尤其适用于在线游戏直播,在线课堂,设计软件教学等场景。
其中,云手机410的规格信息包括云手机410需设置在云手机410的第一直播应用412的信息和需设置在云手机410的第一虚拟摄像头411的信息,云手机420的规格信息包括需设置在云手机420的第二直播应用422的信息和第二虚拟摄像头421的信息,比如用户需要在直播平台X和直播平台Y进行直播,那么用户可以创建2个云手机,云手机1的规格信息至少包括:设置第一直播应用X并部署第一虚拟摄像头411,云手机2的规格信息至少包括:设置第二直播应用Y并部署第二虚拟摄像头。具体实现中,规格信息还可以包括用户需求的云手机处理器性能参数、存储器性能参数、计费方式等等,还可以包括主播在各个直播应用的账号密码信息等等,本申请不作具体限定。
需要说明的,云手机应用123通过浏览器实现;也可以是客户端/服务端(Client/Server,C/S)形式的应用程序,也就是独立运行在终端或者计算设备上的应用程序,用户可以通过提前下载并安装好的客户端进行访问,本申请不对云手机应用123的具体形式进行限定。
云手机管理节点310主要用于根据主播终端120发送的云手机创建信息,在云手机资源池中创建至少两个云手机,并分别部署对应的直播应用,每个云手机与不同的直播平台连接。然后创建上述至少两个云手机对应的内容分发服务节点320,并为该内容分发服务节点320分配推流地址和拉流地址,将内容分发服务节点320的推流地址发送给主播终端120,使得主播终端120采集到的直播内容可以通过该推流地址发送到内容分发服务节点320处,再将内容分发服务节点320的拉流地址设置于创建的至少两个云手机中,以供创建的至少两个云手机可以从拉流地址拉取直播内容,并将直播内容发送给与其相连的直播平台进行视频直播,从而实现一个主播终端在多个直播平台直播的目的。
具体实现中,参考前述内容可知,云手机410的规格信息包括需设置在云手机410的第一直播应用412的信息和需设置在云手机410的第一虚拟摄像头411的信息,云手机420的规格信息包括需设置在云手机420的第二直播应用422的信息和需设置在云手机420的第二虚拟摄像头421的信息。因此,云手机管理节点310可以根据云手机管理信息,创建云手机410和云手机420,其中,云手机410设置有第一直播应用412和第一虚拟摄像头411,云手机420设置有第二直播应用422和第二虚拟摄像头421。云手机管理节点310还可以将内容分发服务节点的拉流地址设置于云手机410的第一虚拟摄像头411和云手机420的第二虚拟摄像头421中,以供云手机410的第一虚拟摄像头411以及云手机420的第二虚拟摄像头421可以从拉流地址拉取直播内容。
具体实现中,云手机管理节点310可以是公有云中用于管理资源的服务器,具体可以是通用的物理服务器,例如,物理服务器,如ARM服务器或者X86服务器,也可以是基于通用的物理服务器结合网络功能虚拟化(Network Functions Virtualization,NFV)技术实现的虚拟机(Virtual Machine,VM),虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,本申请不作具体限定。
内容分发服务节点320主要用于接收主播终端120向内容分发服务节点320的推流地址发送直播内容,并将直播内容关联至内容分发服务节点320的拉流地址,以供云手机410的第一虚拟摄像头411以及云手机420的第二虚拟摄像头421从该拉流地址拉取主播终端120产生的直播内容。
具体实现中,内容分发服务节点320可以是云手机管理节点310在虚拟机资源池创建的虚拟机。其中,虚拟机资源池可以包括多个不同规格的虚拟机,云手机管理节点310可以根据资源池中的虚拟机使用情况,选择合适的虚拟机作为云手机410和云手机420的内容分发服务节点320,并为其配置推流地址和拉流地址。
在另外一些示例中,内容分发服务节点320也可以是物理服务器,本申请实施例对其实现方式不作限定。
云手机410和云手机420分别与不同的直播平台连接,用于从上述内容分发服务节点320的拉流地址中拉取直播内容,并将直播内容发送至不同的直播平台。具体地,云手机410设置有第一直播应用412和第一虚拟摄像头411,其中,第一虚拟摄像头411用于从拉流地址拉取直播内容并发送直播内容至第一直播应用412,第一直播应用412用于将直播内容发送至第一直播平台131以在第一直播平台131进行视频直播。云手机420设置有第二直播应用422和第二虚拟摄像头421,其中,第二虚拟摄像头421用于从拉流地址拉取直播内容并发送直播内容至第二直播应用422,第二直播应用422用于将直播内容发送至第二直播平台132以在第二直播平台132进行视频直播。
具体实现中,云手机410以及云手机420是基于通用的物理服务器结合容器(Container)技术实现的虚拟手机,虚拟手机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整手机系统。
在一实施例中,第一直播平台131在启动后,将会向第一虚拟摄像头411发送第一摄像头调用指令,同理,第二直播平台132在启动后,将会向第二虚拟摄像头421发送第二摄像头调用指令。因此,云手机管理节点310在创建云手机的过程中,还会为云手机410设置第一驱动,为云手机420设置第二驱动,其中,第一驱动用于控制第一虚拟摄像头411在接收到第一直播应用412产生的第一摄像头调用指令时向第一直播应用412发送第一虚拟摄像头411从拉流地址拉取的直播内容,同理,第二驱动用于控制第二虚拟摄像头421在接收到第二直播应用422产生的第二摄像头调用指令时向第二直播应用422发送第二虚拟摄像头421从拉流地址拉取的直播内容。这样,当云手机管理节点310在接收到主播终端120发送的直播启动命令后,可以根据直播启动命令启动云手机410的第一直播应用412和云手机420的第二直播应用422,第一直播应用412启动后可以产生第一像头调用指令,第二直播应用422启动后可以产生第二摄像头调用指令,由于云手机410中设置了第一驱动、云手机420中设置了第二驱动,因此直播应用程序可以在不进行任何修改的情况下,获得云手机410和云手机420从上述拉流地址中拉取的直播内容,实现一个主播终端120多平台直播,使得本申请提供的直播系统通用性很高。
具体实现中,可以通过多种通信协议实现推流和拉流,比如实时消息传输协议(Real Time Messaging Protocol,RTMP)、流媒体实时传输协议(Http Live Streaming,HLS)、源自网络即时通信(Web Real-Time Communication,WebRTC)等等,还可以包括其他能够实现流媒体与服务器之间进行音视频和数据通信的协议,本申请不作具体限定。
下面结合图3,对上述云手机管理节点310作为公有云上管理资源的服务器,根据主播终端120发送的云手机创建信息,在云手机资源池中创建云手机410和云手机420,分别部署对应的第一直播应用412和第二直播应用422,并在虚拟机资源池创建内容分发服务节点320的具体流程进行说明。
图3是一种云手机创建系统300的结构示意图,如图3所示,该系统300可以包括云手机管理节点310、云手机资源池400以及虚拟机资源池500,其中,云手机资源池400和虚拟机资源池500中包括至少一个物理服务器(图3以虚拟机资源池包括服务器501和服务器502、云手机资源池包括服务器401和服务器402为例进行了举例说明),例如,ARM服务器或X86服务器,本申请不作具体限定。
其中,云手机资源池400中的每一个服务器(比如服务器401和服务器402)包括一个云手机管理代理节点(例如云手机管理代理节点4013以及云手机管理代理节点4023)、硬件资源(比如硬件资源4012和硬件资源4022)、操作系统(Operating System,OS)(比如操作系统4014和操作系统4024)以及至少一个云手机(比如云手机410、云手机420、云手机21和云手机22等等),其中,每一个云手机以容器(Container)的形式与服务器上其他的云手机共享硬件资源和操作系统(比如云手机410以容器11的形式与服务器401上的云手机420共享硬件资源4012和操作系统4014)。需要说明的,图3所示的服务器数量、容器数量、硬件资源种类仅用于举例说明,本申请不作具体限定。
云手机管理节点310用于接收主播终端120发送的云手机创建信息,还用于接收服务器401上的云手机管理代理节点4013发送的服务器401的服务器信息,以及服务器402上的云手机管理代理节点4023实时发送的服务器402的服务器信息。云手机管理节点310可以结合云手机创建信息和当前各个服务器(服务器401和服务器402)的服务器信息,选择合适的服务器,并向该服务器上的云手机管理代理节点发送创建请求,该请求中包含了需要创建的云手机410和/或云手机420的规格信息,通过云手机管理代理节点进行对应云手机的创建。举例来说,如果云手机管理节点310结合各个服务器信息以及云手机创建信息,选择服务器401创建云手机410和云手机420,那么云手机管理节点310可以向服务器401的云手机管理代理节点4013发送创建请求,该请求中包含了需要创建的云手机410和云手机420的规格信息,使得云手机管理代理节点4013可以响应于该创建请求,在服务器401中创建云手机410和云手机420。其中,服务器信息可以包括该服务器上硬件资源的使用情况、容器的占用情况等等,比如服务器的硬件处理能力、存储余量信息、当前可用的输入输出设备的信息等等,还可以包括服务器当前的温度信息、故障率、历史资源消耗信息等等,避免服务器响应于云手机创建信息进行云手机的创建之后,影响其他业务的运行。应理解,上述举例仅用于说明,并不能构成具体限定。
每一个服务器上的云手机管理代理节点可以用于监控和收集服务器的服务器信息,并将该服务器信息实时上报至云手机管理节点310。举例来说,服务器401上的云手机管理代理节点4013可以监控和收集服务器401的服务器信息,服务器402上的云手机管理代理节点4023可以监控和收集服务器402的服务器信息;云手机管理代理节点还用于接收云手机管理节点310发送的创建请求,该创建请求包含了需要创建的云手机410和/或云手机420的规格信息,云手机管理代理节点412可以根据该规格信息,创建对应的云手机,举例来说,云手机管理节点310根据云手机创建信息中云手机410的规格信息和各个云手机管理代理节点发送的服务器信息,确定由服务器401创建云手机410,服务器402创建云手机420,那么服务器401上的云手机管理代理节点4013可以接收云手机管理节点310发送的云手机410的规格信息,根据该规格信息完成云手机410的创建,服务器402上的云手机管理代理节点4023可以接收云手机管理节点310发送的云手机420的规格信息,根据该规格信息完成云手机420的创建。应理解,上述举例仅用于说明,并不能构成具体限定。
具体实现中,云手机管理代理节点可以根据接收到的云手机的规格信息,根据规格信息在服务器创建容器,并为容器设置上述云手机的规格信息所要求的硬件和软件,容器的操作系统为云手机所需的操作系统。举例来说,云手机管理代理节点4013接收到云手机管理节点310发送的云手机410的创建信息之后,云手机管理代理节点4013可以根据云手机410的规格信息,将在服务器401创建容器,该容器内包含该云手机410所需部署的第一直播应用412,以及第一直播应用412所需要的操作系统核心库和系统库,比如功能函数库、三维图形处理库(如OpenGLES)、媒体库(Media Libraries)、输入管理器(Input Manager)等等。该云手机410可以与服务器401上其他的云手机(比如图3中的云手机420和云手机3)共享硬件资源和操作系统,从而实现云手机410的创建,同理,可以完成云手机420的创建,这里不展开赘述。
硬件资源(比如硬件资源4012和硬件资源4022)可以包括服务器的各种可用硬件资源,比如处理器、存储器、网卡等等,还可以包括其他云手机可能需要的硬件资源,本申请不作具体限定。
操作系统(比如操作系统4014和操作系统4024)可以是各种手机适用的操作系统,比如安卓(Android)操作系统,本申请不作具体限定。需要说明的是,操作系统可以是官方完整的操作系统,也可以是为了适应服务器的运行方式对官方完整的操作系统的个别驱动模块进行修改后的操作系统,本申请不做具体限定。
云手机以容器的形式与服务器上其他的云手机共享硬件资源和操作系统,每个容器可以包括云手机所需的应用程序和每个应用程序所需的依赖资源,应用程序所需的依赖资源可以是前述内容中的核心库和系统库。其中,每个云手机所处的容器使用硬件资源和操作系统,但是不会对硬件资源进行独占,而是和其他云手机所处的容器共享硬件资源和操作系统。换句话说,各个容器没有自己的内核,容器内的应用程序进程直接运行在服务器的内核上,云手机管理代理节点根据接收到的所需创建的云手机的规格信息对云手机进行创建时,只需要将云手机所需的应用程序和应用程序的依赖资源进行打包,创建好的各个云手机可以相互独立地直接运行于未经虚拟化的宿主机硬件上,创造出应用程序的独立沙箱运行环境。
具体实现中,云手机管理节点和部署在每个服务器上的云手机管理代理节点可以基于Kubernetes、Docker等容器管理系统实现,本申请不做具体限定。
简单来说,云手机管理节点310根据云手机创建信息创建云手机410和云手机420的步骤流程可以是:云手机管理节点310在接收到云手机创建信息之后,根据图3所示的云手机创建系统,结合每个服务器上的云手机管理代理节点反馈的服务器信息,在云手机资源池中选择合适的服务器,向该服务器的云手机管理代理节点发送云手410的创建信息进行云手机410的创建,云手机管理代理节点可以根据云手机410的创建信息中需要部署的第一直播应用创建容器11,该容器11内包含云手机410所需部署的第一直播应用,以及第一直播应用所需要的操作系统核心和库,并与服务器上其他的容器共享硬件资源和操作系统,从而实现云手机410的创建。同理,可以完成云手机420的创建,创建好的云手机420将以容器12的形式与服务器401上的云手机410共享硬件资源4012和操作系统4014。
虚拟机资源池500中的每一个服务器(比如服务器501和服务502)包括硬件资源(比如硬件资源5012和硬件资源5022)、操作系统(比如操作系统5013和操作系统5023)以及至少一个虚拟机(比如虚拟机11~虚拟机1x,虚拟机21~虚拟机2y,其中x和y为自然数)。需要说明的,图3所示的服务器数量、虚拟机数量、硬件资源种类仅用于举例说明,本申请不作具体限定。其中,硬件资源的描述可以参考前述内容,这里不展开赘述。虚拟机是基于通用的物理服务器结合NFV技术实现的虚拟机,虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。操作系统还包括虚拟机管理器,比如服务器501的操作系统5013可以包括虚拟机管理器5014、服务器502的操作系统5023可以包括虚拟机管理器5024。
虚拟机管理器用于接收云手机管理节点310发送的虚拟机创建请求,该请求包含了需要创建的虚拟机的规格信息。虚拟机管理器5024可以响应于上述虚拟机创建请求,在服务器中创建虚拟机。举例来说,服务器501的虚拟机管理器5014可以接收云手机管理节点310发送的创建内容分发服务节点320的创建请求,并响应于上述创建请求,创建虚拟机11作为内容分发服务节点320,并为其配置拉流地址和推流地址。应理解,上述举例仅用于说明,并不能构成具体限定。
具体实现中,上述虚拟机管理器可以通过虚拟监视器(Virtual MachineMonitor,VMM)、Hypervisor实现,也可以是由其他能够实现平台虚拟化的软件实现,本申请不作具体限定。
综上可知,图2所示的直播系统200,可以在主播110开始直播后,内容分发服务节点320将接收到的主播终端120产生的直播内容分别发送至多个云手机,每个云手机上安装有一个直播应用,使得每个云手机上的直播应用可以将从虚拟摄像头处获取到的直播内容分别发送给对应的直播平台进行视频直播,主播只需要使用一个安装有云手机应用的主播终端120,即可实现多个平台同时直播的目的,进而解决了多平台直播系统成本高、互动效果差以及容易出现卡顿的情况。
本申请提供了一种基于云手机的直播方法和配置方法,应用于图2所示的直播系统200中,直播系统200包括内容分发服务节点320、云手机410以及云手机420,云手机410设置有第一直播应用和第一虚拟摄像头,云手机420设置有第二直播应用和第二虚拟摄像头,第一直播应用和第二直播应用服务于不同的直播平台。该方法可以使得主播110通过对主播终端上的云手机应用进行设置后,即可开始通过一个主播终端实现多个平台的视频直播,解决了多平台直播系统成本高、互动效果差以及容易出现卡顿的情况。
下面首先结合图4,对本申请提供的基于云手机的直播配置方法进行解释说明。如图4所示,本申请提供的基于云手机的直播配置方法包括以下步骤:
S410:云手机管理节点310接收主播终端120发送的云手机创建信息,云手机创建信息包括至少两个云手机的规格信息。
举例来说,至少两个云手机可以是前述内容中的云手机410和云手机420,云手机创建信息可以包括云手机410的规格信息和云手机420的规格信息。云手机410的规格信息包括需设置于云手机410的第一直播应用的信息和第一虚拟摄像头的信息,云手机420的规格信息包括需设置于云手机420的第二直播应用的信息和第二虚拟摄像头的信息。其中,规格信息的具体描述可以参考图2实施例,这里不再展开赘述。
S420:云手机管理节点310根据云手机创建信息创建至少两个云手机,上述至少两个云手机与不同的直播平台连接。
仍以上述例子为例,云手机管理节点310根据云手机创建信息在云手机资源池创建云手机410和云手机420,其中,云手机410设置有第一直播应用和第一虚拟摄像头,云手机420设置有第二直播应用和第二虚拟摄像头,第一直播应用和第二直播应用服务于不同的直播平台。其中,云手机创建的具体流程可以参考图3实施例,这里不再展开赘述。
S430:云手机管理节点310将推流地址发送至主播终端120,推流地址为主播终端120产生的直播内容的目的地址。
可以理解的,推流地址为内容分发服务节点320的推流地址,云手机管理节点310将推流地址发送给主播终端120,使得主播开始直播后,主播终端120可以将产生的直播内容推流至内容分发服务节点320的推流地址中,使得内容分发服务节点320可以从推流地址中拉取直播内容,并将该直播内容关联至自己的拉流地址,以供上述至少两个云手机从该拉流地址拉取直播内容,使得每个云手机可以将直播内容再发送至与其连接的直播平台,从而实现一个主播终端在多个直播平台的视频直播,进而解决了多平台直播系统成本高、互动效果差以及容易出现卡顿的情况。
S440:云手机管理节点310将拉流地址设置于至少两个云手机,拉流地址用于提供直播内容以供至少两个云手机拉取。其中,拉流地址为内容分发服务节点320的拉流地址。
具体实现中,云手机管理节点310将拉流地址直接配置于云手机410的第一虚拟摄像头、云手机420的第二虚拟摄像头,进而使得主播开始直播后,第一虚拟摄像头、第二虚拟摄像头可以该拉流地址拉取直播内容,每个云手机都可以获取到主播终端产生的直播内容,从而实现多个云手机共用主播终端120产生的直播内容进行直播的目的,进而解决了多平台直播系统成本高、互动效果差以及容易出现卡顿的情况。
在步骤S440之后,上述方法还包括以下步骤:云手机管理节点310接收主播终端120发送的直播启动命令,并根据该直播启动命令启动第一云手机中的第一直播应用和第二云手机中的第二直播应用,其中,第一直播应用启动时产生第一摄像头调用指令,第二直播应用启动时产生第二摄像头调用指令。可以理解的,当用户开始直播时,云手机管理节点可以启动各个云手机中的直播应用,使得直播应用向各自所处的云手机的虚拟摄像头发送摄像头调用指令,虚拟摄像头返回从拉流地址拉取的直播内容,使得各个直播应用都可以获取到主播终端产生的直播内容,从而实现一个主播终端在多个直播平台进行直播的目的。
在步骤S430之后,具体可以是在云手机管理节点310根据云手机创建信息在云手机资源池创建云手机410和云手机420之后,在接收上述直播启动命令之前,上述方法还包括以下步骤:云手机管理节点310为云手机410设置第一驱动,第一驱动用于控制第一虚拟摄像头在接收到第一直播应用产生的第一摄像头调用指令时向第一直播应用发送第一虚拟摄像头从拉流地址拉取的直播内容;云手机管理节点310为云手机420设置第二驱动,第二驱动用于控制第二虚拟摄像头在接收到第二直播应用产生的第二摄像头调用指令时向第二直播应用发送第二虚拟摄像头从拉流地址拉取的直播内容。
在步骤S420处,云手机管理节点310创建云手机的过程当中,可以为云手机410设置第一驱动,为云手机420设置第二驱动,使得云手机410上的第一直播应用向第一虚拟摄像头发送第一摄像头调用指令时,第一虚拟摄像头返回从拉流地址拉取的直播内容,从而达到“劫持”(Hook)应用程序接口(Application Programming Interface,API)的目的,进而实现在不修改直播应用的情况下,达到将主播终端120产生的直播内容返回给直播应用进行视频直播的目的。
具体实现中,第一驱动以及第二驱动可以按照云手机410以及云手机420的操作系统接口标准进行编写,输入输出格式符合操作系统接口标准即可,比如符合安卓操作系统接口标准。这样,可以在不修改直播应用的情况下,达到将主播终端120产生的直播内容返回给直播应用进行视频直播的目的,使得本申请的基于云手机的直播方法普适性更高。
需要说明的,有的直播应用在向虚拟摄像头发送摄像头调用指令后,如果返回的数据不符合直播应用能够识别的格式,直播应用可能会出现报错问题。因此在本申请实施例中,云手机上的虚拟摄像头接收到直播平台发送的调用指令,在向直播平台返回由拉流地址拉取的直播内容之前,可以先将之前从拉流地址中拉取的直播内容进行格式转换,将其转换为直播应用能够识别的格式,比如主播终端摄像头采集的原格式音视频数据,然后再将其返回给直播平台,从而在不修改直播应用的情况下,达到将主播终端120产生的直播内容返回给直播应用进行视频直播的目的,使得本申请的基于云手机的直播方法普适性更高。
在步骤S440即云手机管理节点310将拉流地址设置于第一虚拟摄像头和第二虚拟摄像头之前,上述方法还包括以下步骤:云手机管理节点310根据一个用户输入的云手机创建信息在虚拟机资源池中创建内容分发服务节点320,并为内容分发服务节点320配置推流地址和拉流地址。可以理解的,云手机管理节点310是公有云中的资源管理服务器,可以在云手机资源池中创建云手机,也可以在虚拟机资源池中创建内容分发服务节点,使得一个用户账号和一个内容分发服务节点一一对应,多个用户之间的直播流量不会产生冲突,避免直播卡顿情况的出现。并且,云手机和内容分发服务节点均为虚拟资源,成本较低。
在一实施例中,在步骤S440之后,即云手机管理节点310在创建好内容分发服务节点320、云手机410以及云手机420之后,可以生成一个绑定信息,该绑定信息包括创建好的内容分发服务节点320的推流地址、拉流地址、云手机410、云手机420的地址信息、主播终端120的地址信息等等,云手机管理节点310还以将上述绑定信息发送给创建好的内容分发服务节点320,使得内容分发服务节点320在步骤S310接收到主播终端120发送的直播内容时,可以根据该绑定信息确定从推流地址中拉取的直播内容是否来自绑定信息中的主播终端120,避免了将直播内容被其他主播用户的云手机拉流的可能性,提高数据传输的安全性。并且,内容分发服务节点310还可以根据绑定信息中的云手机地址,将控制流发送至各个云手机,还可以根据绑定信息中各个云手机的码率需求,对直播内容进行转码,使得本申请提供的基于云手机的视频直播方法可以适用于各种直播平台,普适性更好。
为便于理解本申请实施例所提方案的有益效果,示例性的,以主播通过主播终端120上的云手机应用(以云手机应用命名为“云直播”为例),创建云手机410和云手机420,并在云手机410上安装第一直播应用412,云手机420上安装第二直播应用422为例,介绍上述步骤S410-步骤S430过程中,用户操作主播终端120进行云手机创建的过程中,一些示例性的图形用户界面。
图5示例性示出了主播终端120上的用于展示主播终端120安装的应用程序的示例性用户界面10。
用户界面10可包括:状态栏201,日历指示符202,天气指示符203,具有常用应用程序图标的托盘204,导航栏205,以及其他应用程序图标。其中:
状态栏201可包括:移动通信信号(又可称为蜂窝信号)的一个或多个信号强度指示符201A、无线高保真(wireless fidelity,Wi-Fi)信号的一个或多个信号强度指示符201C,电池状态指示符201D、时间指示符201E。
日历指示符202可用于指示当前时间,例如日期、星期几、时分信息等。
天气指示符203可用于指示天气类型,例如多云转晴、小雨等,还可以用于指示气温等信息。
具有常用应用程序图标的托盘204可展示:电话图标204A、联系人图标204B、短信图标204C、相机图标204D。
导航栏205可包括:返回键205A、主屏幕键205B、多任务键205C等系统导航键。当检测到用户点击返回键205A时,主播终端120可显示当前页面的上一个页面。当检测到用户点击主屏幕键205B时,主播终端120可显示主界面。当检测到用户点击多任务键205C时,主播终端120可显示用户最近打开的任务。各导航键的命名还可以为其他,本申请对此不做限制。不限于虚拟按键,导航栏205中的各导航键也可以实现为物理按键。
其他应用程序图标可例如:互传的图标206、图库的图标207、音乐的图标208、应用的图标209、邮箱的图标210、云直播的图标211、备忘录的图标212、设置的图标213。用户界面10还可包括页面指示符214。其他应用程序图标可分布在多个页面,页面指示符216可用于指示用户当前浏览的是哪一个页面中的应用程序。用户可以左右滑动其他应用程序图标的区域,来浏览其他页面中的应用程序图标。
在一些实施例中,图5示例性所示的用户界面10可以为主界面(Home screen)。可以理解的是,图5仅仅示例性示出了主播终端120上的用户界面,不应构成对本申请实施例的限定。
示例性的,如图6所示,用户可点击用户界面10上云直播的图标211,主播终端120检测到上述用户操作,响应于上述用户操作,主播终端120显示云直播的用户主界面11。
用户界面11可包括:应用程序标题栏301,控件302,搜索框303,常用控件的托盘304,以及多个直播显示框,其中:
应用程序标题栏301可用于指示当前页面用于展示主播终端120的云直播的界面。应用程序标题栏301的表现形式可以为文本信息、图标或其他形式。
控件302可接收用户操作(例如触摸操作),响应于检测到的该用户操作,主播终端120可以显示登录或切换云直播账号的页面。
搜索框303可用于根据用户输入的字符,搜索与该字符匹配的设置项。
常用控件的托盘304可展示:首页控件图标304A,推荐控件图标304B,开始直播控件图标304C,聊天控件图标304D,我的控件图标304E。其中,上述控件图标均可接受用户操作(例如触摸操作),响应于检测到的该用户操作,主播终端120可显示响应的页面,具体地,首页控件图标304A可用于显示云直播的首页,推荐控件图标304B可用于显示为用户推荐的页面,开始直播控件图标304C可用户显示用户开始直播的页面,聊天控件图标304D可用于显示用户的聊天页面,我的控件图标304E可用于显示账号中心页面。
多个直播显示框可例如:直播显示框305和直播显示框306,直播显示框用于显示该直播间正在直播的视频画面或者直播间的封面。
可以理解的是,图6仅仅示例性示出了主播终端120上的云直播应用的界面,不应构成对本申请实施例的限定。
示例性的,如图7所示,用户可点击常用控件的托盘304中,我的控件图标304E,主播终端120检测到该用户操作,响应于该用户操作,主播终端120可以显示如图7所示的云直播账号中心的用户界面12。应理解,图7显示的是用户已登录状态下的账号中心的用户界面。如果用户是未登录用户或者未注册用户,主播终端120将显示其他页面以供用户进行注册和登录,这里不展开赘述。
用户界面12可包括:返回控件801,会员中心802,账号803,头像804,退出控件811以及多个条目。其中,
返回控件801可接收用户操作(例如触摸操作),响应于检测到的该用户操作,主播终端120可以退出该账号中心的用户界面12,显示用户界面12的上一用户界面,例如用户界面11。
会员中心802可接收用户操作(例如触摸操作),响应于检测到的该用户操作,主播终端120可以显示会员中心的用户界面。
退出控件811可接收用户操作(例如触摸操作),响应于检测到的该用户操作,主播终端120可以退出当前的云直播账号。
多个条目可例如:云手机创建条目805,账号与安全条目806,我的钱包条目807,我的收藏条目808,消息中心条目809以及设置条目810。其中,上述多个条目均可接收用户操作(例如触摸操作),响应于检测到的该用户操作,主播终端120可显示响应的页面,比如云手机创建条目805可显示用户界面13。
可以理解的是,图7仅仅示例性示出了主播终端120上的账号中心的用户界面,不应构成对本申请实施例的限定。
示例性的,如图8所示,用户可点击云手机创建条目,开始创建云手机,主播终端120检测到该用户操作,响应于该用户操作,主播终端120可以显示如图8所示的云手机创建的用户界面13。
用户界面13可包括:多个云手机规格配置子界面以及新建控件905,其中,
新建控件905用于接收用户操作(例如触摸操作),响应于检测到的该用户操作,主播终端120可以在用户界面13上新增一个云手机规格配置子界面,比如云手机3规格配置子界面。
多个云手机规格配置子界面可例如:云手机410规格配置子界面901以及云手机420规格配置子界面903。其中,上述云手机规格配置子界面包括多个输入框和多个创建控件,该输入框用于接收用户输入的规格参数,例如处理器规格,内存规格,操作系统,分辨率,部署应用和是否配置摄像头等等,还可以包括其他规格参数,本申请不做具体限定。创建控件用于接收用户的操作(例如触摸操作),响应于检测到的该用户操作,主播终端120可以创建云手机规格配置子界面中所设定的规格的云手机。
具体地,用户可以点击云手机410规格配置子界面901中处理器规格对应的输入框,输入所需创建的云手机410的处理器规格,比如图8所示的2核处理器,用户可以点击操作系统对应的输入框,输入所需创建的云手机410的操作系统类型,比如图8的安卓操作系统,用户可以点击部署应用对应的输入框,输入所需创建的云手机410上部署的应用为第一直播应用412,同理可以对其他规格对应的输入框进行输入,这里不展开赘述。输入完毕后,用户可以点击每个云手机规格配置子界面上的点击创建控件,进行云手机的创建。
可以理解的,用户根据创建需求对云手机410规格配置子界面901中各个输入框进行了输入,对云手机420规格配置子界面902中各个输入框进行了输入,并点击创建控件902和创建控件904后,该云手机应用(即云直播)将会生成前述内容中的用户的云手机创建信息,该云手机创建信息将由主播终端120发送到云手机管理节点310处(即图4实施例的步骤S410),云手机管理节点310可以根据云手机创建信息,在云手机资源池中创建云手机410和云手机420(即图4实施例的步骤S420),其中,云手机410设置有第一直播应用和第一虚拟摄像头,云手机420设置有第二直播应用和第二虚拟摄像头。接着,云手机管理节点310可以将推流地址发送至主播终端120,推流地址为主播终端120发送的直播内容的目的地址(即图4实施例的步骤S430)。最后,云手机管理节点310将拉流地址设置于第一虚拟摄像头和第二虚拟摄像头,该拉流地址用于提供直播内容以供第一虚拟摄像头和第二虚拟摄像头拉取(即图4实施例的步骤S440)。
具体实现中,云手机管理节点310根据云手机创建信息在云手机资源池创建云手机410和云手机420之后,还将云手机410设置第一驱动,云手机420设置第二驱动,当直播应用向云手机的虚拟摄像头发送摄像头调用直流时,每个云手机的虚拟摄像头可以将从上述拉流地址拉取到直播内容发送给直播应用,以供直播应用进将直播内容发送给对应的直播平台,从而实现一个主播终端120在多个直播平台的直播。具体可以参考前述内容中图4实施例描述的云手机的直播配置方法,这里不展开赘述。
可以理解的是,图8仅仅示例性示出了主播终端120上的云手机创建的用户界面13,不应构成对本申请实施例的限定。
示例性的,如图9所示,用户点击创建控件后,主播终端120检测到该用户操作,响应于该用户操作,将用户的云手机创建信息发送给云手机管理节点310,云手机管理节点310执行图5实施例中描述的云手机的直播配置方法后,主播终端120可以显示如图9所示的云手机创建成功的用户界面14。应理解,如果该云手机服务是付费服务,用户点击创建控件后,主播终端120还可以先显示付款页面以供用户进行付款,在付款成功的情况下显示用户界面14,本申请不作具体限定。
用户界面14可包括:创建成功图标1001以及多个云手机显示子界面。其中,
创建成功图标1001用于提醒用户云手机创建成功。
多个云手机显示子界面用于显示用户当前已创建的云手机的部分信息,多个云手机显示子界面可例如:云手机410的显示子界面1002以及云手机420的显示子界面1003。每个云手机显示子界面可以包括配置控件、关机控件、连接控件以及重启控件,其中,
配置控件(例如配置控件1002A和配置控件1003A)用于对云手机进行重新规格配置。
关机控件(例如关机控件1002B和关机控件1003B)用于对云手机进行关闭。
连接控件(例如连接控件1002C和连接控件1003C)用于进入云手机的用户界面,进如第一直播应用412的用户界面进行设置,比如登录第一直播应用412的账号等,本申请不展开赘述。
重启控件(例如连接控件1002D和连接控件1003D)用于对云手机进行重启。
应理解,图8-图9仅仅示例性示出了主播终端120上的云手机创建用户界面13以及云手机创建成功的用户界面14,不应构成对本申请实施例的限定。
需要说明的,不限于上述图5-图9列出的创建云手机的用户操作,在具体实现中还可以有其他的用户操作可创建云手机,本申请实施例对此不作限定。
综上可知,通过上述图5-图9的用户操作,主播可以将直播的需求(比如创建几个云手机,部署什么直播应用等等)输入至主播终端120的云手机应用中,主播终端120将用户需求打包成云手机创建信息后,可以将云手机创建信息发送给云手机管理节点130,使得云手机管理节点310在主播直播前根据直播需求创建多个云手机,并在每一个云手机上部署相应的直播平台,并为每一个云手机设置内容分发服务节点320的拉流地址,当主播开始直播后,内容分发服务节点320将接收到的主播终端120产生的直播内容关联至自己的拉流地址,以供各个云手机从拉流地址中拉取直播内容,并将获取到的直播内容分别发送给对应的直播平台进行视频直播,使得主播只需要使用一个安装有云手机应用的主播终端120,即可实现多个平台同时直播,进而解决了多平台直播系统成本高、互动效果差以及容易出现卡顿的情况。
下面结合图10对本申请提供的基于云手机的直播方法进行解释说明。如图10所示,本申请提供的基于云手机的直播方法包括以下步骤:
S310:内容分发服务节点320接收主播终端120向推流地址发送的直播内容,并将直播内容关联至拉流地址,其中,直播内容是由主播终端120产生的。
直播内容包括视频流和音频流,主播终端的摄像头采集关于主播的视频流,主播终端的麦克风采集关于主播的音频流,主播终端将视频流和音频流合成为直播内容,该方案尤其适用于主播现场表演的场景。
在其他实施例中,直播内容还可以包括另外一种音视频流,该音视频流结合了主播终端运行应用时产生的音视频流和麦克风采集的由主播旁述产生的音频流的音视频流,该方案尤其适用于在线游戏直播,在线课堂,设计软件教学等场景。
需要说明的,推流地址和拉流地址为内容分发服务节点320的地址,拉流地址用以供云手机410以及云手机420从该拉流地址拉取直播内容,推流地址用以供主播终端120向内容分发服务节点320发送直播内容。具体实现中,推流地址以及拉流地址可以包括公网IP地址、端口号以及URL,举例来说,推流地址可以是rtsp://10.0.10.1:554/live1,其中,10.0.10.1可以是内容分发服务节点320的公网IP地址,554可以是端口号,/live1为直播内容存放在服务器文件系统中的目录URL;拉流地址可以是rtsp://10.0.10.1:554/live2,其中,10.0.10.1可以是内容分发服务节点320的公网IP地址,554可以是端口号,/live2为直播内容存放在服务器文件系统中的目录URL。当然,推流地址和拉流地址还可以是能够用来在网络中寻址的其他形式的网络地址,本申请不作具体限定。
具体实现中,内容分发服务节点320将直播内容关联至内容分发服务节点320的拉流地址可以通过多种通信协议来实现,比如前述内容中的RTMP、HLS、WebRTC协议等等,还可以包括其他能够实现流媒体与服务器之间进行音视频和数据通信的协议,本申请不作具体限定。
S320:云手机410的第一虚拟摄像头从拉流地址拉取直播内容。其中,该拉流地址是在云手机创建阶段由云手机管理节点310设置于云手机410的第一虚拟摄像头,云手机创建阶段的步骤流程可以参考步骤S410-步骤S430以及图4-图9实施例的详细描述。并且,第一虚拟摄像头从拉流地址拉取直播内容的过程可以通过多种通信协议来实现,比如前述内容中的RTMP协议、HLS协议、WebRTC协议等等,还可以包括其他能够实现流媒体与服务器之间进行音视频和数据通信的协议,本申请不作具体限定。
S330:云手机410的第一直播应用从第一虚拟摄像头获取直播内容,并将直播内容发送至第一直播平台。
具体实现中,第一直播应用可以向第一虚拟摄像头发送第一摄像头调用申请,然后第一虚拟摄像头向第一直播应用返回从拉流地址拉取的直播内容,使得每一个云手机上的直播应用都可以拉取到主播的直播内容,从而实现了主播通过一个主播终端120进行多平台直播的目的。其中,第一直播应用向第一直播平台发送该直播内容的方式可以是:将直播内容推送到第一直播平台的推流地址,使得第一直播平台可以从该推流地址中获取该直播内容,具体可以参考图1实施例中步骤2的描述,这里不再展开赘述。
S340:第二虚拟摄像头从拉流地址拉取直播内容。具体可以参考上述步骤S320,这里不展开赘述。
S350:第二直播应用从第二虚拟摄像头获取直播内容,并将直播内容发送至第二直播平台。具体可以参考上述步骤S330,这里不展开赘述。
需要说明的,步骤S320-步骤S330以及步骤S340-步骤S350可以是同时进行的,也可以是不同时进行的,本申请不作具体限定。
在一实施例中,上述方法还包括以下步骤:内容分发服务节点接收该主播终端向推流地址发送的控制流,并将该控制流分别发送至第一云手机和第二云手机,其中,控制流可以是指令流,用于控制主播终端前后置摄像头的切换,摄像头调焦、对比度、亮度等。
在一些情况下,直播应用为第三方的直播平台提供,直播应用在运行时若不能接收到摄像头发送的控制流,有可能会认为摄像头发生故障,直播应用可能会向操作系统报错或不能正常运行,但是云手机所能提供的摄像头由于是虚拟摄像头,虚拟摄像头无法向直播应用提供控制流,从而使得直播应用报错或不能正常运行,实施上述实现方式,主播终端可以将本机摄像头的控制流发送给内容分发服务节点,内容分发服务节点将控制流发送至每个云手机的虚拟摄像头,虚拟摄像头可以向直播应用返回主播终端的控制流,从而使得云手机的虚拟摄像头可以向直播应用发送针对摄像头的控制流,从而保证直播应用正常运行。由于直播应用一般为第三方的直播平台提供,而本申请的视频直播方法无需修改直播应用,因此针对第三方的直播平台具有普遍适用性。
具体实现中,主播终端120上的云手机应用可以对摄像头采集的视频数据以及麦克风采集的音频数据进行编码后封装成直播内容,将直播内容发送到拉流地址供云手机410和云手机420拉取,然后将控制指令进行编码后封装成控制流,根据云手机410和云手机420的网络地址,将控制流直接发送给云手机410和云手机420,从而避免了个别直播平台应用需要在获得摄像头控制权限的情况下才能进行视频直播情况的出现,使得本申请提供的基于云手机的直播方法能够有更好的普适性,适用于更多的直播平台。其中,直播内容和控制流的发送顺序可以是同时或先后进行的,本申请不做具体限定。并且,云手机410和云手机420的网络地址可以是在云手机管理节点310创建好云手机410和云手机420之后,创建内容分发服务节点320时存储于该内容分发服务节点320的绑定信息中,绑定信息的描述可以参考前述图4实施例中的内容,这里不重复赘述。
在一实施例中,内容分发服务节点320从拉流地址拉取到主播终端发送的直播内容和控制流之后,还可以根据各个云手机的码率需求对直播内容进行二次转码,比如云手机410上的第一直播应用需要码率A的直播内容,云手机420的第二直播应用需要码率B的直播内容,此时内容分发服务节点320还可以根据各个云手机的码率需求,对直播内容进行二次转码,获得码率A的直播内容和码率B的直播内容,并将两种码率的直播内容全部推流到拉流地址,以供云手机410的第一虚拟摄像头从该拉流地址拉取码率A的直播内容,云手机420的第二虚拟摄像头从该拉流地址拉取码率B的直播内容,使得本申请提供的基于云手机的直播方法能够适用于各种有码率需求的直播平台,方案的普适性更强。其中,各个云手机的码率需求可以是云手机管理节点310创建云手机410和云手机420之后,创建内容分发服务节点320时存储于该内容分发服务节点320的绑定信息中。
为了便于理解本申请实施例所提方案的有益效果,仍以图5-图9实施例描述的用户操作步骤为例,主播通过主播终端120上的云手机应用(以云手机应用命名为“云直播”为例),创建云手机410和云手机420,并在云手机410上安装第一直播应用412,云手机420上安装第二直播应用422之后,开始多平台视频直播。下面介绍上述步骤S310-步骤S340的过程中,用户开始直播后一些示例性的图形用户界面。
用户可以返回用户界面11开始视频直播,具体可以通过如图6实施例描述方式,点击云直播的图标211,使得主播终端120显示用户界面11,也可以在图9所示的用户界面14处通过点击左上角的返回控件801返回当前用户界面的上一用户界面,直至返回用户界面11。用户点击用户界面11中的开始直播控件304C,开始多平台视频直播。主播终端120检测到该用户操作,响应于该用户操作,主播终端120可以显示如图11所示的正在直播的用户界面15。
用户界面15包括直播状态栏1101,云手机状态栏1102,缩小控件1103,直播窗口1104,聊天窗口1105以及常用控件托盘1106,其中,
直播状态栏1101用于显示用户的直播状态,包括各个平台的直播状态,比如图11所示的正在直播平台1直播,正在直播平台2直播,直播状态栏1101的表现形式可以为文本信息、图标或其他形式,本申请不作具体限定。
云手机状态栏1102用于显示用户的云手机运行状态,比如图11所示的云手机410正在运行,云手机420正在运行,直播状态栏1101的表现形式可以为文本信息、图标或其他形式,本申请不作具体限定。
缩小控件1103用于接收用户操作(例如触摸操作),响应于检测到的该用户操作,主播终端120可以将云直播的界面缩小,以供用户进行其他操作,比如打开邮箱查阅新邮件。
直播窗口1104用于显示直播内容。
聊天窗口1105用于显示多个平台用户的聊天记录。
常用控件托盘1106包括多个常用的控件,比如美颜控件1106A,结束直播控件1106B以及切换控件1106C。其中,美颜控件1106A用于美化直播画面,结束直播控件1106B用于结束当前直播,切换控件1106C用于切换前后置摄像头。
应理解,图11仅仅示例性示出了主播终端120上的正在直播的用户界面15,不应构成对本申请实施例的限定。
需要说明的,不限于上述图11列出的开始多平台直播的用户操作,在具体实现中还可以有其他的用户操作可开始多平台直播,本申请实施例对此不作限定。
可以理解的,参考前述内容可知,当用户点击用户界面11中的开始直播控件304C后,主播终端将会向云手机管理节点310发送由主播终端120产生的直播内容,具体地,主播终端可以根据之前云手机管理节点310发送的内容分发服务节点320的推流地址,将直播内容发送给内容分发服务节点320,使得内容分发服务节点320将直播内容发送到拉流地址,以供第一虚拟摄像头和第二虚拟摄像头从该拉流地址拉取直播内容。
当用户点击用户界面11中的开始直播控件304C后,主播终端还会将会向云手机管理节点310发送直播启动命令,使得云手机管理节点310根据该直播命令启动云手机410中的直播应用1和云手机420中的直播应用2,其中,直播应用1启动时产生第一摄像头调用指令,直播应用2启动时产生第二摄像头调用指令。接着,直播应用1向第一虚拟摄像头发送第一摄像头调用指令,第一虚拟摄像头中的第一驱动可以向直播应用1返回之前从拉流地址拉取的直播内容,使得直播应用1可以获得主播终端120产生的直播内容,完成第一直播平台的视频直播,同理,可以完成第二直播平台的视频直播。
综上可知,本申请实施例通过的云手机的直播方法,使得用户只需要在直播前对所需的云手机进行创建,绑定直播平台之后,用户可以通过非常简单便捷的操作即可开始多平台直播,无需购买新的主播终端以服务不同的直播平台,取而代之以云手机实现,而云手机的租用价格比主播终端的购买价格低,可解决主播用户进行多平台直播时需购买多个主播终端而造成成本较高的问题,并且在直播过程中,仅需采用一台主播终端产生的直播内容并发送至内容分发服务节点320,通过内容分发服务节点320将直播内容分发到与不同的直播平台连接的至少两个云手机,使得不同的直播平台可从对应的云手机中获取到相同的直播内容进行视频直播,可提高主播与不同平台观众的互动效果,且直播过程中仅需上传一路直播内容,占用的网络带宽相对于多路直播内容而言较低,可有效解决直播卡顿问题。
上述详细阐述了本申请实施例的方法,为了便于更好的实施本申请实施例上述方案,相应地,下面还提供用于配合实施上述方案的相关设备。
图12是本申请提供的一种云手机管理节点600的结构示意图,该云手机管理节点600可以是前述内容中的云手机管理节点310。如图12所示,本申请提供的云手机管理节点600可以包括:
接收单元610,用于接收主播终端120发送的云手机创建信息,云手机创建信息包括至少两个云手机的规格信息;
创建单元620,用于根据云手机创建信息创建至少两个云手机,其中至少两个云手机与不同的直播平台连接;
发送单元630,用于将推流地址发送至主播终端120,推流地址为主播终端120产生的直播内容的目的地址;
设置单元640,用于将拉流地址设置于至少两个云手机,拉流地址用于提供直播内容以供至少两个云手机拉取。
在一实施例中,创建单元620还用于在接收单元610接收主播终端发送的云手机创建信息之后,创建内容分发服务节点320,并为内容分发服务节点320设置推流地址和拉流地址。
在一实施例中,云手机创建信息包括第一云手机的规格信息和第二云手机的规格信息,第一云手机的规格信息包括需设置在第一云手机的第一直播应用的信息和需设置在第一云手机中的第一虚拟摄像头的信息,第二云手机的规格信息包括需设置在第二云手机的第二直播应用的信息和需设置在第二云手机的第二虚拟摄像头的信息;创建单元620用于根据云手机创建信息在云手机资源池创建第一云手机和第二云手机,其中,第一云手机设置有第一直播应用和第一虚拟摄像头,第二云手机设置有第二直播应用和第二虚拟摄像头,第一直播应用和第二直播应用服务于不同的直播平台;设置单元640用于将拉流地址设置于第一云手机的第一虚拟摄像头和第二云手机的第二虚拟摄像头。
在一实施例中,设置单元640用于为第一云手机设置第一驱动,并为第二云手机设置第二驱动,其中,第一驱动用于控制第一虚拟摄像头在接收到第一直播应用产生的第一摄像头调用指令时向第一直播应用发送第一虚拟摄像头从拉流地址拉取的直播内容,第二驱动用于控制第二虚拟摄像头在接收到第二直播应用产生的第二摄像头调用指令时向第二直播应用发送第二虚拟摄像头从拉流地址拉取的直播内容。
在一实施例中,节点还包括启动单元650,接收单元610还用于接收主播终端120发送的直播启动命令;启动单元650用于根据直播启动命令启动云手机410中的第一直播应用和云手机420中的第二直播应用,其中,第一直播应用启动后产生第一摄像头调用指令,第二直播应用启动时产生第二摄像头调用指令。
应理解,图12所示的云手机管理节点600的内部的单元模块也可以有多种划分,各个模块可以是软件模块,也可以是硬件模块,也可以是部分软件模块部分硬件模块,本申请不对其进行限制。图12是一种示例性的划分方式,本申请不作具体限定。
云手机管理节点600根据云手机创建信息创建第一云手机和第二云手机之后,将拉流地址设置于第一云手机的第一虚拟摄像头和第二云手机的第二虚拟摄像头,这样,当主播开始直播后,主播终端120将直播内容推流至内容分发服务节点320的推流地址,内容分发服务节点320将直播内容关联至拉流地址,此时第一虚拟摄像头、第二虚拟摄像头可以从该拉流地址拉取直播内容,使得第一云手机和第二云手机都可以获取到主播终端120发送的直播内容,从而实现多个云手机共用主播终端摄像头采集的直播内容进行直播的目的,进而解决了多平台直播系统成本高、互动效果差以及容易出现卡顿的情况。
图13为本申请实施例提供的一种计算设备900的结构示意图。其中,所述计算设备900可以是图2-图11实施例中的云手机管理节点310和图12实施例中的云手机管理节点600。如图13所示,计算设备900包括:处理器910、通信接口920以及存储器930。其中,处理器910、通信接口920以及存储器930可以通过内部总线940相互连接,也可通过无线传输等其他手段实现通信。本申请实施例以通过总线940连接为例,总线940可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。所述总线940可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述处理器910可以由至少一个通用处理器构成,例如中央处理器(CentralProcessing Unit,CPU),或者CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(Application-Specific Integrated Circuit,ASIC)、可编程逻辑器件(ProgrammableLogic Device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD)、现场可编程逻辑门阵列(Field-Programmable GateArray,FPGA)、通用阵列逻辑(Generic Array Logic,GAL)或其任意组合。处理器910执行各种类型的数字存储指令,例如存储在存储器930中的软件或者固件程序,它能使计算设备900提供较宽的多种服务。
所述存储器930用于存储程序代码,并由处理器910来控制执行,以执行上述图2-图11中任一实施例中云手机管理节点310的处理步骤。所述程序代码中可以包括一个或多个软件模块。这一个或多个软件模块可以为图12所示实施例中提供的软件模块,如接收单元,创建单元,发送单元以及设置单元,其中,接收单元可以用于接收主播终端120发送的云手机创建信息,创建单元可以用于根据该云手机创建信息创建至少两个云手机,发送单元可以用于将内容分发服务节点的推流地址发送至主播终端,设置单元可以用于将内容分发服务节点的拉流地址设置于至少两个云手机中,具体可用于执行前述方法的S410-步骤S440及其可选步骤,还可以用于执行图2-图12实施例描述的其他由云手机管理节点310执行的步骤,这里不再进行赘述。
需要说明的是,本实施例可以是通用的物理服务器实现的,例如,ARM服务器或者X86服务器,也可以是基于通用的物理服务器结合NFV技术实现的虚拟机实现的,所述虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,本申请不作具体限定。
所述存储器930可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器1030也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器930还可以包括上述种类的组合。存储器930可以存储有程序代码,具体可以包括用于执行图2-图11实施例描述的其他步骤的程序代码,这里不再进行赘述。
通信接口920可以为有线接口(例如以太网接口),可以为内部接口(例如高速串行计算机扩展总线(Peripheral Component Interconnect express,PCIe)总线接口)、有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与与其他设备或模块进行通信。
需要说明的,图13仅仅是本申请实施例的一种可能的实现方式,实际应用中,所述计算设备还可以包括更多或更少的部件,这里不作限制。关于本申请实施例中未示出或未描述的内容,可参见前述图2-图11所述实施例中的相关阐述,这里不再赘述。
应理解,图13所示的计算设备还可以是至少一个服务器构成的计算机集群,本申请不作具体限定。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在处理器上运行时,图2-图11所示的方法流程得以实现。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,图2-图11所示的方法流程得以实现。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括至少一个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含至少一个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(Digital Video Disc,DVD)、或者半导体介质。半导体介质可以是SSD。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (27)
1.一种基于云手机的直播方法,其特征在于,所述方法应用于直播系统,所述直播系统包括内容分发服务节点和至少两个云手机,所述至少两个云手机分别与不同的直播平台连接,所述内容分发服务节点设置有推流地址和拉流地址,所述方法包括:
所述内容分发服务节点接收主播终端向所述推流地址发送的直播内容,并将所述直播内容关联至所述拉流地址,其中,所述直播内容是由所述主播终端产生;
所述至少两个云手机分别从所述拉流地址拉取所述直播内容,并将所述直播内容发送至不同的直播平台。
2.根据权利要求1所述的方法,其特征在于,所述直播系统还包括云手机管理节点,所述内容分发服务节点接收主播终端向所述推流地址发送的直播内容之前,所述方法包括:
所述云手机管理节点接收所述主播终端发送的云手机创建信息,所述云手机创建信息包括所述至少两个云手机的规格信息;
所述云手机管理节点根据所述云手机创建信息创建所述至少两个云手机;
所述云手机管理节点将所述推流地址发送至所述主播终端;
所述云手机管理节点将所述拉流地址设置于所述至少两个云手机。
3.根据权利要求1或2所述的方法,其特征在于,所述云手机管理节点接收所述主播终端发送的云手机创建信息之后,所述方法还包括:
所述云手机管理节点创建所述内容分发服务节点,并为所述内容分发服务节点设置所述推流地址和所述拉流地址。
4.根据权利要求2或3所述的方法,其特征在于,所述云手机创建信息包括第一云手机的规格信息和第二云手机的规格信息,所述第一云手机的规格信息包括第一直播应用的信息和第一虚拟摄像头的信息,所述第二云手机的规格信息包括第二直播应用的信息和第二虚拟摄像头的信息;
所述云手机管理节点根据所述云手机创建信息创建至少两个云手机,包括:
所述云手机管理节点根据所述云手机创建信息在云手机资源池创建所述第一云手机和所述第二云手机,所述第一云手机设置有所述第一虚拟摄像头和所述第一直播应用,所述第二云手机设置有所述第二虚拟摄像头和所述第二直播应用,所述第一直播应用服务于第一直播平台,所述第二直播应用服务于第二直播平台,所述第一直播平台与所述第二直播平台是不同的直播平台;
所述云手机管理节点将所述拉流地址设置于所述至少两个云手机,包括:
所述云手机管理节点将所述拉流地址设置于所述第一虚拟摄像头和所述第二虚拟摄像头。
5.根据权利要求4所述的方法,其特征在于,所述云手机管理节点根据所述云手机创建信息在云手机资源池创建所述第一云手机和所述第二云手机之后,所述方法还包括:
所述云手机管理节点为所述第一云手机设置第一驱动,其中,所述第一驱动用于控制所述第一虚拟摄像头在接收到所述第一直播应用产生的第一摄像头调用指令的情况下向所述第一直播应用发送所述第一虚拟摄像头从所述拉流地址拉取的所述直播内容;
所述云手机管理节点为所述第二云手机设置第二驱动,其中,所述第二驱动用于控制所述第二虚拟摄像头在接收到所述第二直播应用产生的第二摄像头调用指令的情况下向所述第二直播应用发送所述第二虚拟摄像头从所述拉流地址拉取的所述直播内容。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述云手机管理节点接收所述主播终端发送的直播启动命令;
所述云手机管理节点根据所述直播启动命令启动所述第一直播应用和所述第二直播应用,其中,所述第一直播应用启动后产生所述第一摄像头调用指令,所述第二直播应用启动后产生所述第二摄像头调用指令。
7.根据权利要求4至6任一项所述的方法,其特征在于,所述至少两个云手机分别从所述拉流地址拉取所述直播内容,并将所述直播内容发送至不同的直播平台,包括:
所述第一虚拟摄像头从所述拉流地址拉取所述直播内容,所述第一直播应用从所述第一虚拟摄像头获取所述直播内容并将所述直播内容发送至所述第一直播平台;
所述第二虚拟摄像头从所述拉流地址拉取所述直播内容,所述第二直播应用从所述第二虚拟摄像头获取所述直播内容并将所述直播内容发送至所述第二直播平台。
8.一种基于云手机的直播配置方法,其特征在于,包括:
云手机管理节点接收主播终端发送的云手机创建信息,所述云手机创建信息包括至少两个云手机的规格信息;
所述云手机管理节点根据所述云手机创建信息创建所述至少两个云手机,其中所述至少两个云手机与不同的直播平台连接;
所述云手机管理节点将推流地址发送至所述主播终端,所述推流地址为所述主播终端产生的直播内容的目的地址;
所述云手机管理节点将拉流地址设置于所述至少两个云手机,所述拉流地址用于提供所述直播内容以供所述至少两个云手机拉取。
9.根据权利要求8所述的方法,其特征在于,所述云手机管理节点接收所述主播终端发送的云手机创建信息之后,所述方法还包括:
所述云手机管理节点创建内容分发服务节点,并为所述内容分发服务节点设置所述推流地址和所述拉流地址。
10.根据权利要求8或9所述的方法,其特征在于,所述云手机创建信息包括第一云手机的规格信息和第二云手机的规格信息,所述第一云手机的规格信息包括需设置在所述第一云手机中的第一直播应用的信息和需设置在所述第一云手机中的第一虚拟摄像头的信息,所述第二云手机的规格信息包括需设置在所述第二云手机中的第二直播应用的信息和需设置在所述第二云手机中的第二虚拟摄像头的信息,
所述云手机管理节点根据所述云手机创建信息创建所述至少两个云手机,包括:
所述云手机管理节点根据所述云手机创建信息在云手机资源池创建所述第一云手机和所述第二云手机,其中,所述第一云手机设置有所述第一直播应用和所述第一虚拟摄像头,所述第二云手机设置有所述第二直播应用和所述第二虚拟摄像头,所述第一直播应用和所述第二直播应用服务于不同的直播平台;
所述云手机管理节点将拉流地址设置于所述至少两个云手机,包括:
所述云手机管理节点将所述拉流地址设置于所述第一虚拟摄像头和所述第二虚拟摄像头。
11.根据权利要求10所述的方法,其特征在于,所述云手机管理节点根据所述云手机创建信息在云手机资源池创建所述第一云手机和所述第二云手机之后,所述方法还包括:
所述云手机管理节点为所述第一云手机设置第一驱动,其中,所述第一驱动用于控制所述第一虚拟摄像头在接收到所述第一直播应用产生的第一摄像头调用指令时向所述第一直播应用发送所述第一虚拟摄像头从所述拉流地址拉取的所述直播内容;
所述云手机管理节点为所述第二云手机设置第二驱动,其中,所述第二驱动用于控制所述第二虚拟摄像头在接收到所述第二直播应用产生的第二摄像头调用指令时向所述第二直播应用发送所述第二虚拟摄像头从所述拉流地址拉取的所述直播内容。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
所述云手机管理节点接收所述主播终端发送的直播启动命令;
所述云手机管理节点根据所述直播启动命令启动所述第一直播应用和所述第二直播应用,其中,所述第一直播应用启动后产生所述第一摄像头调用指令,所述第二直播应用启动时产生所述第二摄像头调用指令。
13.一种直播系统,其特征在于,所述直播系统包括内容分发服务节点和至少两个云手机,所述至少两个云手机分别与不同的直播平台连接,所述内容分发服务节点设置有推流地址和拉流地址,
所述内容分发服务节点,用于接收主播终端向所述推流地址发送的直播内容,并将所述直播内容关联至所述拉流地址,其中,所述直播内容是由所述主播终端产生;
所述至少两个云手机,用于分别从所述拉流地址拉取所述直播内容,并将所述直播内容发送至不同的直播平台。
14.根据权利要求13所述的系统,其特征在于,所述系统还包括云手机管理节点,
所述云手机管理节点,还用于在所述内容分发服务节点接收主播终端向所述推流地址发送的直播内容之前,接收所述主播终端发送的云手机创建信息,所述云手机创建信息包括所述至少两个云手机的规格信息;
所述云手机管理节点,还用于根据所述云手机创建信息创建所述至少两个云手机;
所述云手机管理节点,还用于将所述推流地址发送至所述主播终端;
所述云手机管理节点,还用于将所述拉流地址设置于所述至少两个云手机。
15.根据权利要求13或14所述的系统,其特征在于,
所述云手机管理节点,还用于在接收所述主播终端发送的云手机创建信息之后,创建所述内容分发服务节点,并为所述内容分发服务节点设置所述推流地址和所述拉流地址。
16.根据权利要求14或15所述的系统,其特征在于,所述云手机创建信息包括第一云手机的规格信息和第二云手机的规格信息,所述第一云手机的规格信息包括第一直播应用的信息和第一虚拟摄像头的信息,所述第二云手机的规格信息包括第二直播应用的信息和第二虚拟摄像头的信息;
所述云手机管理节点,用于根据所述云手机创建信息在云手机资源池创建所述第一云手机和所述第二云手机,所述第一云手机设置有所述第一虚拟摄像头和所述第一直播应用,所述第二云手机设置有所述第二虚拟摄像头和所述第二直播应用,所述第一直播应用服务于第一直播平台,所述第二直播应用服务于第二直播平台,所述第一直播平台与所述第二直播平台是不同的直播平台;
所述云手机管理节点,用于将所述拉流地址设置于所述第一虚拟摄像头和所述第二虚拟摄像头。
17.根据权利要求16所述的系统,其特征在于,
所述云手机管理节点,用于在根据所述云手机创建信息在云手机资源池创建所述第一云手机和所述第二云手机之后,为所述第一云手机设置第一驱动,为所述第二云手机设置第二驱动,其中,所述第一驱动用于控制所述第一虚拟摄像头在接收到所述第一直播应用产生的第一摄像头调用指令的情况下向所述第一直播应用发送所述第一虚拟摄像头从所述拉流地址拉取的所述直播内容,所述第二驱动用于控制所述第二虚拟摄像头在接收到所述第二直播应用产生的第二摄像头调用指令的情况下向所述第二直播应用发送所述第二虚拟摄像头从所述拉流地址拉取的所述直播内容。
18.根据权利要求17所述的系统,其特征在于,
所述云手机管理节点,用于接收所述主播终端发送的直播启动命令;
所述云手机管理节点,用于根据所述直播启动命令启动所述第一直播应用和所述第二直播应用,其中,所述第一直播应用启动后产生所述第一摄像头调用指令,所述第二直播应用启动后产生所述第二摄像头调用指令。
19.根据权利要求16至18任一项所述的系统,其特征在于,
所述第一云手机的所述第一虚拟摄像头,用于从所述拉流地址拉取所述直播内容,所述第一直播应用用于从所述第一虚拟摄像头获取所述直播内容并将所述直播内容发送至所述第一直播平台;
所述第二云手机的所述第二虚拟摄像头,用于从所述拉流地址拉取所述直播内容,所述第二直播应用用于从所述第二虚拟摄像头获取所述直播内容并将所述直播内容发送至所述第二直播平台。
20.一种云手机管理节点,其特征在于,包括:
接收单元,用于接收主播终端发送的云手机创建信息,所述云手机创建信息包括至少两个云手机的规格信息;
创建单元,用于根据所述云手机创建信息创建所述至少两个云手机,其中,所述至少两个云手机与不同的直播平台连接;
发送单元,用于将推流地址发送至所述主播终端,所述推流地址为所述主播终端产生的直播内容的目的地址;
设置单元,用于将拉流地址设置于所述至少两个云手机,所述拉流地址用于提供所述直播内容以供所述至少两个云手机拉取。
21.根据权利要求20所述的云手机管理节点,其特征在于,
所述创建单元,还用于创建内容分发服务节点,并为所述内容分发服务节点设置所述推流地址和所述拉流地址。
22.根据权利要求20或21所述的云手机管理节点,其特征在于,所述云手机创建信息包括第一云手机的规格信息和第二云手机的规格信息,所述第一云手机的规格信息包括需设置在所述第一云手机中的第一直播应用的信息和需设置在所述第一云手机中的第一虚拟摄像头的信息,所述第二云手机的规格信息包括需设置在所述第二云手机中的第二直播应用的信息和需设置在所述第二云手机中的第二虚拟摄像头的信息;
所述创建单元,用于根据所述云手机创建信息在云手机资源池创建所述第一云手机和所述第二云手机,其中,所述第一云手机设置有所述第一直播应用和所述第一虚拟摄像头,所述第二云手机设置有所述第二直播应用和所述第二虚拟摄像头,所述第一直播应用和所述第二直播应用服务于不同的直播平台;
所述设置单元,用于将所述拉流地址设置于所述第一虚拟摄像头和所述第二虚拟摄像头。
23.根据权利要求22所述的云手机管理节点,其特征在于,
所述设置单元,用于为所述第一云手机设置第一驱动,并为所述第二云手机设置第二驱动,其中,所述第一驱动用于控制所述第一虚拟摄像头在接收到所述第一直播应用产生的第一摄像头调用指令时向所述第一直播应用发送所述第一虚拟摄像头从所述拉流地址拉取的所述直播内容,所述第二驱动用于控制所述第二虚拟摄像头在接收到所述第二直播应用产生的第二摄像头调用指令时向所述第二直播应用发送所述第二虚拟摄像头从所述拉流地址拉取的所述拉取的所述直播内容。
24.根据权利要求23所述的云手机管理节点,其特征在于,所述云手机管理节点还包括启动单元,
所述接收单元,还用于接收所述主播终端发送的直播启动命令;
所述启动单元,用于根据所述直播启动命令启动所述第一直播应用和所述第二直播应用,其中,所述第一直播应用启动后产生所述第一摄像头调用指令,所述第二直播应用启动时产生所述第二摄像头调用指令。
25.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算设备上运行时,使得所述计算设备执行如权利要求8至12任一权利要求所述的方法。
26.一种计算设备,其特征在于,包括处理器和存储器,所述处理器执行所述存储器中的代码执行如权利要求8至12任一权利要求所述的方法。
27.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被计算设备读取并执行时,使得所述计算设备执行如权利要求8至12任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/081451 WO2021185302A1 (zh) | 2020-03-20 | 2021-03-18 | 基于云手机的直播和配置方法以及相关装置和系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020102004498 | 2020-03-20 | ||
CN202010200449 | 2020-03-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113497945A true CN113497945A (zh) | 2021-10-12 |
CN113497945B CN113497945B (zh) | 2022-12-30 |
Family
ID=77994904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010387298.1A Active CN113497945B (zh) | 2020-03-20 | 2020-05-09 | 基于云手机的直播和配置方法以及相关装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113497945B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114222195A (zh) * | 2022-01-27 | 2022-03-22 | 北京百度网讯科技有限公司 | 一种直播推流方法、装置、电子设备和存储介质 |
CN114286125A (zh) * | 2021-12-30 | 2022-04-05 | 北京爱学习博乐教育科技有限公司 | 企业直播实现方法及系统 |
CN114500718A (zh) * | 2021-12-27 | 2022-05-13 | 天翼云科技有限公司 | 一种云手机管理方法及装置 |
CN114727140A (zh) * | 2022-03-18 | 2022-07-08 | 广州方硅信息技术有限公司 | 直播联运数据同步的方法、服务器集群及存储介质 |
CN114979675A (zh) * | 2022-04-09 | 2022-08-30 | 澳克多普有限公司 | 基于虚拟直播平台的虚拟手机管理方法 |
CN114979685A (zh) * | 2022-04-27 | 2022-08-30 | 澳克多普有限公司 | 应用虚拟手机直播的方法 |
CN115119037A (zh) * | 2022-06-06 | 2022-09-27 | 深圳康佳电子科技有限公司 | 一种视频发布方法、推送方法、系统、设备及存储介质 |
CN115242972A (zh) * | 2022-06-23 | 2022-10-25 | 深圳康佳电子科技有限公司 | 一种应用调用摄像头的方法和装置、电子设备及存储介质 |
CN115714747A (zh) * | 2022-12-13 | 2023-02-24 | 重庆紫光华山智安科技有限公司 | 基于Kubernetes的集群内部网络流量优化方法、设备、系统及介质 |
CN116708867A (zh) * | 2023-08-07 | 2023-09-05 | 深圳市亿晟科技有限公司 | 一种直播数据处理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106921873A (zh) * | 2017-02-28 | 2017-07-04 | 北京小米移动软件有限公司 | 直播控制方法及装置 |
US20180063556A1 (en) * | 2016-08-29 | 2018-03-01 | YouNow, Inc. | Systems and methods for providing guest broadcasting on a live stream video platform |
CN109068179A (zh) * | 2018-09-17 | 2018-12-21 | 珠海市筑巢科技有限公司 | 一种多平台直播方法、计算机装置及计算机可读存储介质 |
CN109862382A (zh) * | 2019-02-25 | 2019-06-07 | 广州虎牙信息科技有限公司 | 多人语音方法、服务器以及计算机存储介质 |
US20200068262A1 (en) * | 2018-08-24 | 2020-02-27 | Santino Anthony Saldana | System and method for sharing content in a live stream and story application |
-
2020
- 2020-05-09 CN CN202010387298.1A patent/CN113497945B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180063556A1 (en) * | 2016-08-29 | 2018-03-01 | YouNow, Inc. | Systems and methods for providing guest broadcasting on a live stream video platform |
CN106921873A (zh) * | 2017-02-28 | 2017-07-04 | 北京小米移动软件有限公司 | 直播控制方法及装置 |
US20200068262A1 (en) * | 2018-08-24 | 2020-02-27 | Santino Anthony Saldana | System and method for sharing content in a live stream and story application |
CN109068179A (zh) * | 2018-09-17 | 2018-12-21 | 珠海市筑巢科技有限公司 | 一种多平台直播方法、计算机装置及计算机可读存储介质 |
CN109862382A (zh) * | 2019-02-25 | 2019-06-07 | 广州虎牙信息科技有限公司 | 多人语音方法、服务器以及计算机存储介质 |
Non-Patent Citations (1)
Title |
---|
孙恒: "基于多终端的移动流媒体直播系统设计与实现", 《实验室研究与探索》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500718B (zh) * | 2021-12-27 | 2023-11-03 | 天翼云科技有限公司 | 一种云手机管理方法及装置 |
CN114500718A (zh) * | 2021-12-27 | 2022-05-13 | 天翼云科技有限公司 | 一种云手机管理方法及装置 |
CN114286125A (zh) * | 2021-12-30 | 2022-04-05 | 北京爱学习博乐教育科技有限公司 | 企业直播实现方法及系统 |
CN114286125B (zh) * | 2021-12-30 | 2023-12-19 | 北京爱学习博乐教育科技有限公司 | 企业直播实现方法及系统 |
CN114222195A (zh) * | 2022-01-27 | 2022-03-22 | 北京百度网讯科技有限公司 | 一种直播推流方法、装置、电子设备和存储介质 |
CN114727140A (zh) * | 2022-03-18 | 2022-07-08 | 广州方硅信息技术有限公司 | 直播联运数据同步的方法、服务器集群及存储介质 |
CN114979675A (zh) * | 2022-04-09 | 2022-08-30 | 澳克多普有限公司 | 基于虚拟直播平台的虚拟手机管理方法 |
CN114979685A (zh) * | 2022-04-27 | 2022-08-30 | 澳克多普有限公司 | 应用虚拟手机直播的方法 |
CN115119037A (zh) * | 2022-06-06 | 2022-09-27 | 深圳康佳电子科技有限公司 | 一种视频发布方法、推送方法、系统、设备及存储介质 |
CN115242972A (zh) * | 2022-06-23 | 2022-10-25 | 深圳康佳电子科技有限公司 | 一种应用调用摄像头的方法和装置、电子设备及存储介质 |
CN115714747A (zh) * | 2022-12-13 | 2023-02-24 | 重庆紫光华山智安科技有限公司 | 基于Kubernetes的集群内部网络流量优化方法、设备、系统及介质 |
CN116708867A (zh) * | 2023-08-07 | 2023-09-05 | 深圳市亿晟科技有限公司 | 一种直播数据处理方法、装置、设备及存储介质 |
CN116708867B (zh) * | 2023-08-07 | 2023-11-10 | 深圳市亿晟科技有限公司 | 一种直播数据处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113497945B (zh) | 2022-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113497945B (zh) | 基于云手机的直播和配置方法以及相关装置和系统 | |
WO2021185302A1 (zh) | 基于云手机的直播和配置方法以及相关装置和系统 | |
US11164220B2 (en) | Information processing method, server, and computer storage medium | |
US10349234B1 (en) | Bi-directional integration and control of managed and unmanaged devices | |
CN111901695B (zh) | 视频内容截取方法、装置和设备及计算机存储介质 | |
CN104081394A (zh) | 共享服务 | |
CN104918105B (zh) | 媒体文件的多屏播放方法、设备及系统 | |
CN104539977A (zh) | 直播预览方法及装置 | |
EP3614679A1 (en) | Method for configuring video thumbnail, and system | |
KR20140119609A (ko) | 애플리케이션을 실행하기 위한 페이지를 디스플레이하는 방법 및 디바이스 | |
CN101321174A (zh) | 支持多种业务的交互式网络电视终端及其实现方法 | |
US20240028189A1 (en) | Interaction method and apparatus, electronic device and computer readable medium | |
CN115272623A (zh) | 在线带看方法、装置、设备及存储介质 | |
CN108574878B (zh) | 数据交互方法及装置 | |
CN113727129B (zh) | 直播互动方法、装置、系统、设备及存储介质 | |
CN113569089A (zh) | 信息处理方法、装置、服务器、设备、系统及存储介质 | |
US9940645B1 (en) | Application installation using in-video programming | |
CN107241651A (zh) | 一种媒体数据播放方法和装置、智能终端 | |
CN109948082B (zh) | 直播信息处理方法及装置、电子设备、存储介质 | |
CN112565877A (zh) | 投屏方法、系统、电子设备及存储介质 | |
CN110996118A (zh) | 一种封面合成方法、装置、服务器以及存储介质 | |
KR102612580B1 (ko) | 미디어 제공 서버, 트리거 영역을 통해 다른 컨텐츠로 전환하는 방법 및 컴퓨터 프로그램 | |
CN112016280B (zh) | 一种文件编辑方法、装置及计算机可读介质 | |
US11711408B2 (en) | Content appearance conversion for remote application sharing | |
CN113727136B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220211 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |