[0001]
本申请涉及网络视频直播控制技术领域,尤其涉及一种网络直播控制方法及其相应的装置、设备、介质,还涉及一种网络直播执行方法及其相应的装置、设备、介质。
背景技术:[0002]
随着互联网越来越普及,互联网也不仅限于为一个国家的网民提供网络连线服务,也为全球的网民提供了网络连线服务,互联网通过全球部署构建了一个互联网全球村。在此基础建设下,跨国视频连线应用程序可为网民提供与其他国家网民进行网络视频连线的服务,网民通过跨国连线应用程序所提供的匹配服务,寻找志同道合的网民进行视频交流,分享彼此的生活。
[0003]
目前大部分的跨国视频连线应用程序是在双方匹配成功并确认连麦后,先让双方通过调用相应的接口将推流地址及直播流推送到服务器上,之后双方与服务器进行四次的rpc(remote procedure call)调用获取对方的直播流。
[0004]
具体而言,请参考图2,现有的技术流程中需要双方用户在确认连麦后,服务器才会从双方用户的用户端中获取直播流,然后才将双方用户的直播流推送给对方的用户端。因跨国连线的各方用户之间的通信客观存在较大的物理延迟,双方在理想情况下至少需要花费10秒的时间才获取对方的直播流并显示在其图形用户界面中,这将严重影响双方的视频连线体验。
[0005]
另一方面,现有技术流程中无法预先对双方的直播流所展示的视频内容进行符合网络直播内容审核标准细则的审核,可能造成跨国视频连线应用程序的连线环境较为混乱,影响网络社区的环境。
[0006]
针对以上传统的跨国视频连线匹配所普遍面临的问题,亟待提供一些有效的解决方案。
技术实现要素:[0007]
鉴于现有技术所存在的不足,本申请的目的之一,旨在提供一种网络直播控制方法及其相应的网络直播控制装置、电子设备、非易失性存储介质。
[0008]
作为本申请的其他目的,还提供一种网络直播执行方法及其相应的网络直播执行装置、电子设备、非易失性存储介质。
[0009]
为满足本申请的各种目的,本申请采用如下技术方案:
[0010]
适应本申请的目的之一而提供的一种网络直播控制方法,包括如下步骤:
[0011]
响应各直播用户的连线匹配请求,反馈其推流地址供其推送其直播流;
[0012]
为启动直播流推送的直播用户匹配适于与其连线的其他启动直播流推送的直播用户;
[0013]
向已实现匹配的直播用户发送匹配通知,该匹配通知包含与其接收方直播用户实现匹配的其他直播用户的用户身份信息和直播流的访问地址,以供接收方直播用户静默加
载所述的直播流;
[0014]
响应该匹配通知的接收方直播用户的确认请求,向与之相匹配的其他直播用户发送连线通知,以控制该连线通知的接收方直播用户与该匹配通知的接收方直播用户完成视频连线的建立以开始播放显示后者的直播流。
[0015]
进一步的实施例中,还包括如下步骤:
[0016]
响应于计算机事件而维护预设的匹配池,该匹配池中包含若干连线信息,所述连线信息包含发起连线匹配请求的直播用户的用户身份信息及其连线进行状态。
[0017]
进一步的实施例中,所述响应于计算机事件而维护预设的匹配池还包括如下具体步骤:
[0018]
响应所述连线匹配请求所触发的事件,为该连线匹配请求相应的直播用户创建一条所述的连线信息,其连线进行状态被标记为表征待匹配的状态;
[0019]
响应直播用户启动直播流推送所触发的事件,将该直播用户相应的连线信息标记为表征正在匹配的状态;
[0020]
响应直播用户发送的确认请求所触发的事件,将该直播用户相应的连线信息标记为表征已确认连线的状态。
[0021]
较佳的实施例中,所述为启动直播流推送的直播用户匹配适于与其连线的其他启动直播流推送的直播用户的步骤中,实现匹配的各直播用户的推流地址分别指向不同的媒体服务器。
[0022]
进一步的实施例中,所述媒体服务器所属的网络地址归属于不同的国别。
[0023]
适用本申请的其他目的而提供的一种网络直播执行方法,包括如下步骤:
[0024]
向服务器发起连线匹配请求,以获取服务器为当前直播用户推送的推流地址,向该推流地址所指向的第一媒体服务器推送当前直播用户的直播流;
[0025]
接收服务器发送的匹配通知,获取其中与当前直播用户相匹配的其他直播用户的直播流的访问地址;
[0026]
向服务器发送确认请求,以通过服务器向与当前直播用户相匹配的所述其他直播用户发送表征确认建立连线的连线通知,从该访问地址所指向的第二媒体服务器静默加载所述其他直播用户的直播流;
[0027]
接收服务器发送的由任意所述其他直播用户触发的表征确认建立连线的连线通知,完成当前直播用户与该其他直播用户的视频连线的建立,开始播放显示其直播流。
[0028]
进一步的实施例中,所述完成与所述其他直播用户的视频连线的建立的过程,包括如下步骤:将当前直播用户的图形用户界面切换到具有多播放窗口的模式,每个播放窗口用于播放一个直播用户的视频流。
[0029]
适应本申请的首要目的而提出的一种网络直播控制装置,其包括:
[0030]
匹配请求模块,用于响应各直播用户的连线匹配请求,反馈其推流地址供其推送其直播流;
[0031]
匹配执行模块,用于为启动直播流推送的直播用户匹配适于与其连线的其他启动直播流推送的直播用户;
[0032]
匹配通知模块,用于向已实现匹配的直播用户发送匹配通知,该匹配通知包含与其接收方直播用户实现匹配的其他直播用户的用户身份信息和直播流的访问地址,以供接
收方直播用户静默加载所述的直播流;
[0033]
匹配建立模块,用于响应该匹配通知的接收方直播用户的确认请求,向与之相匹配的其他直播用户发送连线通知,以控制该连线通知的接收方直播用户与该匹配通知的接收方直播用户完成视频连线的建立以开始播放显示后者的直播流。
[0034]
适应本申请的其他目的而提出的一种网络直播执行装置,其包括:
[0035]
推流启动模块,用于向服务器发起连线匹配请求,以获取服务器为当前直播用户推送的推流地址,向该推流地址所指向的第一媒体服务器推送当前直播用户的直播流;
[0036]
地址获取模块,用于接收服务器发送的匹配通知,获取其中与当前直播用户相匹配的其他直播用户的直播流的访问地址;
[0037]
连线确认模块,用于向服务器发送确认请求,以通过服务器向与当前直播用户相匹配的所述其他直播用户发送表征确认建立连线的连线通知,从该访问地址所指向的第二媒体服务器静默加载所述其他直播用户的直播流;
[0038]
连线启动模块,用于接收服务器发送的由所述其他直播用户触发的表征确认建立连线的连线通知,完成与所述其他直播用户的视频连线的建立,开始播放显示其直播流。
[0039]
适应本申请的目的之一而提供的一种电子设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行本申请所述的网络直播控制/执行方法的步骤。
[0040]
适应本申请的目的而提供的一种非易失性存储介质,其以计算机可读指令的形式存储有依据所述的网络直播控制/执行方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。
[0041]
相对于现有技术,本申请的优势如下:
[0042]
一方面,本申请在直播用户发起匹配请求后,服务器即可允许该用户预先推送其直播流,然后服务器为该用户匹配其他已启动直播流推送的用户,在用户推送其直播流的同时,服务器便实施所述的匹配;当服务器完成匹配后,向双方发送匹配通知,双方通过响应匹配通知获取对方的身份信息及访问地址,以便获取对方的直播流;双方确认连麦后,服务器将向双方发送对方的连线通知,以便双方完成视频连线的建立,显示对方的直播流在图形用户界面中。可见,通过适用这一原理,优化连麦匹配流程,服务器在直播用户完成匹配并未确认连麦时,已获取了匹配双方的直播流及访问地址等信息,并静默推送至双方的用户端中,双方用户在确认连麦后,其图形用户界面中将立刻显示对方的直播流,这将大大减少直播用户在确认连麦后图形用户界面显示对方直播流的时间,有效改善直播用户的连麦体验。特别是对于跨国连线应用这种因接收直播流的媒体服务器不在一处而具有较高网络延时的应用场景而言,可以有效缩短视频连线响应时间。
[0043]
另一方面,由于在双方完成连线建立之前,用户便已开始向服务器推送其直播流,在用户的直播流上传至服务器至与其连线的其他用户获取其直播流期间,为直播流的视频管理预留出内容审核时间,在此期间可以对用户的直播流的内容适用人工智能或人工审查等内容审核手段,以确保互联网运营平台的健康发展。
附图说明
[0044]
本申请上述的和/或附加的方面和优点经过下面结合附图对实施例进行描述,将
变得明显和容易理解,其中:
[0045]
图1为实施本申请的技术方案在网络环境中部署所呈现的示意图;
[0046]
图2为传统进行跨国视频连线的执行逻辑流程示意图;
[0047]
图3为经实施本申请所优化后进行跨国视频连线的执行逻辑流程示意图;
[0048]
图4为本申请的网络直播控制方法的典型实施例的流程示意图;
[0049]
图5为本申请的网络直播控制方法的另一实施例的流程示意图,其相对添加了另一步骤;
[0050]
图6为本申请的网络直播控制方法的另一实施例的流程示意图;
[0051]
图7为本申请的网络直播控制方法的再一实施例的流程示意图;
[0052]
图8为本申请的网络直播控制装置的典型实施例的原理框图;
[0053]
图9为本申请的网络直播执行方法的典型实施例的流程示意图;
[0054]
图10为本申请的网络直播执行装置的典型实施例的原理框图。
具体实施方式
[0055]
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
[0056]
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
[0057]
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
[0058]
本技术领域技术人员可以理解,这里所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向连线链路上,进行双向连线的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的连线设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他连线设备;pcs(personal communications service,个人连线系统),其可以组合语音、数据处理、传真和/或数据连线能力;pda(personal digital assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或gps(global positioning system,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、
“
终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是连线终端、上网终端、音乐/视频播放终端,例如可以是pda、mid(mobile internet device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
[0059]
本申请所称的“服务器”、“客户端”、“服务节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
[0060]
需要指出的是,本申请所称的“服务器”这一概念,同理也可扩展到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本申请的网络部署方式的实施方式。
[0061]
请参阅图1,本申请相关技术方案实施时所需的硬件基础可按图中所示的架构进行部署。本申请所称的服务器80部署在云端,主要提供网络(视频)直播运营支持服务,其可以负责进一步连接起相关业务服务器、媒体服务器以及其他提供相关支持的服务器等,以此构成逻辑上相关联的服务机群,来为相关的终端设备例如图中所示的智能手机81和个人计算机82提供服务。所述的智能手机和个人计算机均可通过公知的网络接入方式接入互联网,与云端的服务器80建立数据连线链路,以便运行所述服务器所提供的服务相关的应用程序,包括由网页内嵌的应用程序。
[0062]
需要指出的是,在这些服务器机群中,某些场景中将支持网络视频直播运行的服务器、媒体服务器以及支持开播服务的服务器合并为同一服务器或同一网络地址,有时亦可相互独立由同一应用服务器建立整个机群的相互关联,从而使用同一网络地址即可指向最终负责服务的服务器。对此,本领域技术人员应当理解。
[0063]
为了支持所述的应用程序的运行,终端设备配备有相关操作系统,例如ios、hms(鸿蒙)、android以及其他提供同等功能的操作系统,在此类操作系统的支持下,适应性开发的应用程序得以正常运行,实现人机交互以及远程交互。
[0064]
本申请的网络直播控制方法适用于被编程内置于提供网络直播运营服务的应用程序中,作为其基础服务功能,在所述的服务器中运行。本申请的网络直播执行方法适用于播控端及观众端,被编程内置于网页内嵌或者独立的应用程序中,在所述的终端设备中安装运行,便于实现人机交互。
[0065]
所述的网络直播,或称网络视频直播,是指一种基于前述的网络部署架构所实现的一种视频直播网络服务,其可以是以视频会议系统、网络聊天室系统、教育培训系统等等不同形式呈现,以满足各种不同应用场景。
[0066]
同一网络直播实例的参与者,一般是两方以上,在视频连线的过程中,双方播放显示对方及自身的直播流,即参与者同时兼备播控端及观众端的功能。诸如此类周边支持技术,均不影响本申请的实施。
[0067]
请参阅图2,传统的跨国视频连线业务流程中,国家1用户90其通过向国家1业务服务器92发送连线匹配请求以进入连线对象匹配,在与国家2用户91匹配成功并确认进行视频连线后,才向国家1业务服务器92发送开播指令,以便将自身的直播流推送到国家1媒体服务器93,使得国家2用户91可从国家1媒体服务器93中拉取国家1用户的直播流,同理,国家2用户91也执行相同的流程。
[0068]
请参阅图3,实施本申请的技术方案的跨国视频连线业务流程中,国家1用户90’在向国家1业务服务器92’发送连线匹配请求以进入连线对象匹配后,就向国家1业务服务器92’发送开播指令,以便提前将自身的直播流推送到国家1媒体服务器93’,国家2用户91’也执行相同的流程,国家1用户90’在与国家2用户91’匹配成功并确认进行视频连线后,即可从国家2媒体服务器94’拉取国家2用户91’的直播流。
[0069]
通过上述对图2及图3的叙述,图2的国家1用户90相比图3的国家1用户90’,其将因为跨国所导致的物理延迟,导致在匹配成功后,仍需较长的时间才能在图形用户界面中显示国家2用户91的直播流,而图3的国家1用户90’与国家2用户91’因其在匹配成功前,就向双方相应的媒体服务器推送自身的直播流,以便双方在匹配成功后,可将对方的直播流快速地显示在图形用户界面中,几乎消除了直播用户在确认连线后的等待对方的直播流加载显示到图形用户界面中的时间,大大提升了直播用户的连线视频体验。需要注意的是,图2和图3只示意了一对一进行跨国视频连线的匹配执行逻辑,本申请所实施的方法并不局限以此,也可建立一对多或多对多的跨国视频连线匹配。
[0070]
在介绍了本申请相关的应用环境及其基本原理的基础上,以下将介绍本申请相关方法的各种具体实施例。为避免曲解变通行文的用意,本领域技术人员对此应当知晓:本申请的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本申请所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。
[0071]
请参阅图3和图4,本申请的一种网络直播控制方法,由服务器的应用程序负责执行体现,在其典型实施例中,其包括如下步骤:
[0072]
步骤s11,响应各直播用户的连线匹配请求,反馈其推流地址供其推送其直播流:
[0073]
本申请实现为直播用户提供匹配视频连线服务,除了一对一的视频连线模式,本应用程序也可为多个直播用户提供类似聊天室的模式,可将多个直播用户匹配到一起,以便多个直播用户共同进行视频连线,因此,业务服务器可同时响应多个直播用户的连线匹配请求,并为直播用户生成其各自相应的媒体服务器的推流地址反馈给所述直播用户,以便直播用户将其直播流推送至对应的所述媒体服务器中。不同的直播用户因其地域例如国别不同,一般由不同的媒体服务器提供流服务。
[0074]
所述的连线匹配请求,由需要进行视频连线的直播用户发送至业务服务器中,以触发业务服务器向该直播用户发送与其相应的媒体服务器的推流地址,以便所述的媒体服务器接收由直播用户通过所述推流地址所推送的直播流,以便后续与该直播用户匹配的其他直播用户从该媒体服务器中获取该直播用户的直播流。
[0075]
所述的推流地址,由业务服务器为该直播用户生成后而反馈的,通常指向该业务服务器所能触达的一台媒体服务器,以便所述直播用户通过所述推流地址将自身的直播流
推送至最近物理距离或最小时延的所述媒体服务器中。需要注意,所述推流地址,一般只用于直播用户推送其自身的直播流,与后续步骤中的访问地址理论上既可相同也可不相同,视乎开发逻辑而定,本领域的技术人员应当理解。
[0076]
所述的直播流,是由直播用户的终端设备相应硬件所生成的流媒体文件,例如直播用户终端设备的摄像头等其他可进行生成视频的硬件生成所述直播流,所述直播流以流媒体文件的格式传输至媒体服务器。
[0077]
参考图3,每个国家的直播用户均按照业务服务器提供的推流地址将其直播流推送至其国内部署的相应的媒体服务器,先于该直播用户与其他直播用户的匹配而进行,在直播用户向其相应的媒体服务器推流的过程中,业务服务器便可并行地实施该直播用户与其他直播用户之间的匹配。由此,可减少后续业务服务器为与所述直播用户匹配的其他直播用户获取该直播用户的直播流的时间,同理也减少了该直播用户获取对方直播用户的直播流的时间。
[0078]
由于媒体服务器中先于双方直播用户连线而获取了各直播用户的直播流,因而,直播平台的运维人员或人工智能程序可以通过调用所述直播流实施内容审核,便于将不符合网络直播内容审核标准的直播流所属的直播用户进行封禁等其他处罚,以便为直播平台的运营提供一个健康的网络环境。
[0079]
步骤s12,为启动直播流推送的直播用户匹配适于与其连线的其他启动直播流推送的直播用户:
[0080]
媒体服务器接收由直播用户通过推流地址推送的直播流的同时,业务服务器也为所述直播用户匹配适于与其连线的至少一个其他启动直播流推送的直播用户,因而,媒体服务器接收所述直播流与业务服务器实施直播用户之间的连线匹配是可以并行执行的,由此可减少发起连线匹配请求的直播用户等待匹配的时间,提升直播用户的连线体验。
[0081]
关于业务服务器为直播用户匹配其他直播用户的执行逻辑,一般是根据直播用户的用户个人信息进行匹配,例如,根据直播用户的用户个人信息中包含的性别、兴趣等属于直播用户的个性化信息,匹配其他与之相似的直播用户。再比如,根据用户个人信息中包含的国家、地区、运营商等出于直播用户的网络辐射范围所匹配其他直播用户,防止直播用户在视频连线过程中因物理延迟上的瓶颈而造成较为严重的延迟现象,影响直播用户的视频连线体验。
[0082]
所述的用户个人信息,业务服务器可通过直播用户的历史行为记录数据进行创建,或者由直播用户向其发送。关于用户个人信息的由来,本领域技术人员可灵活采用,只要业务服务器可根据直播用户的用户个人信息为该直播对象匹配其他的直播用户进行视频连线即可。
[0083]
业务服务器的匹配机制也可以根据预设pi ng值,为直播用户匹配低于预设pi ng值的其他直播用户,以优化视频连线过程中的延迟现象,减少直播用户在视频连线过程中因pi ng过高而频繁出现断线、卡顿等其他影响体验的现象出现。关于业务服务器为直播用户匹配其他直播用户的机制,本领域的技术人员可参考现如今存在的相关技术,灵活进行设计。
[0084]
步骤s13,向已实现匹配的直播用户发送匹配通知,该匹配通知包含与其接收方直播用户实现匹配的其他直播用户的用户身份信息和直播流的访问地址,以供接收方直播用
户静默加载所述的直播流:
[0085]
当业务服务器根据直播用户的连线信息匹配到相应的其他直播用户后,将向双方发送所述匹配通知,以便直播用户双方得知连麦对象已匹配完成,且做进一步的视频连线确认。
[0086]
为了行文便利,将以第一主播用户及第二主播用户作为实现匹配直播用户双方的名称,当然,本申请所实施的方法并不只能实现一对一的视频连线匹配模式,同样可实现一对多或多对多的视频连线匹配模式。
[0087]
如图3,业务服务器为第一直播用户实现匹配第二直播用户后,将向第一直播用户及第二直播用户发送所述匹配通知,以第一直播用户举例说明,所述第一直播用户接收到的匹配通知,将包含第二主播用户的用户个人信息和第二主播用户的访问地址。
[0088]
第一直播用户通过解析所述匹配通知,获取第二直播用户的用户个人信息,并将其可视化显示在图形用户界面中,以便第一直播用户直观地了解第二直播用户的个人信息,考虑是否与第二直播用户进行视频连线。
[0089]
第一直播用户通过解析所述匹配通知,获取第二直播用户的访问地址,以便通过访问地址,从该访问地址所指向的媒体服务器中获取第二直播用户的直播流。需要注意的是,第一直播用户在获取第二直播用户的直播流后,无需播放显示在其图形用户界面中,即所述的静默加载。第一直播用户在实现匹配后,将预先通过所述访问地址,从该访问地址所对应的媒体服务器中获取第二直播用户的直播流,以便双方在确认视频连线后,快速在其图形用户中播放显示对方的视频流,以解决因网络延迟等其他因素需耗费大量时间获取对方的直播流而影响用户的视频连线体验的问题。对于第二直播用户而言,其与第一直播用户实施连线的过程也与上述同理。
[0090]
步骤s14,响应该匹配通知的接收方直播用户的确认请求,向与之相匹配的其他直播用户发送连线通知,以控制该连线通知的接收方直播用户与该匹配通知的接收方直播用户完成视频连线的建立以开始播放显示后者的直播流:
[0091]
接收到所述匹配通知的直播用户确认与匹配通知所指代的直播用户进行视频连线后,通过触发相应的事件向业务服务器发送确认请求,以便业务服务器向与之相匹配的其他直播用户发送连线通知,以达成与其匹配的其他直播用户进行视频连线的建立。
[0092]
为了行文便利,此处同样按照一对一的视频连线叙述建立过程:
[0093]
请参阅图3,第一直播用户接收服务器发送的匹配通知后,通过触发相应的事件向业务服务器发送确认请求,例如通过触控图形用户界面中弹框控件的确认按钮向业务服务器发送所述确认请求,以便在其图形用户界面中显示匹配通知所指代的第二直播用户的直播流。
[0094]
业务服务器对来自第一直播用户及第二直播用户发送的确认请求进行响应,向双方发送所述连线通知,完成视频连线的建立,以触发双方的图形用户界面中播放显示对方直播用户的直播流。
[0095]
在完成视频连线的建立后,第一直播用户及第二直播用户依然持续向所述推流地址所指向的媒体服务器推送自身的直播流,并通过对方的直播流的访问地址向对方的媒体服务器获取对方的直播流,以维持双方的视频连线运行。
[0096]
通常,同一国家内可能存在多台媒体服务器,分别由不同的电信运营商提供,因此
分别经过不同的网关。对于这种情况,业务服务器一般会适应直播用户所接入的电信运营商为其指定属于同一电信运营商提供链路的媒体服务器,由该媒体服务器负责接收该直播用户的直播流并提供给其他直播用户访问。
[0097]
或者,不同国家本身即存在通信延迟,因此,直播平台通常会在不同国家部署不同的媒体服务器,各国的媒体服务器用于为其本国的直播用户提供流媒体服务,当直播用户需要实施推流时,业务服务器一般会为该直播用户匹配其所在国的媒体服务器用于推送直播流。
[0098]
无论何种情况,其目的均是为了使直播用户到达最低通信时延的媒体服务器,使与直播流推送和拉流相关的通信连接更为稳定高效。因此,本申请的技术方案应用于这些存在不同媒体服务器的场景中时,将更能体现其优越性。
[0099]
可以理解,当双方直播用户均按照以上的逻辑与业务服务器交互之后,在业务服务器实现的业务逻辑的作用下,双方直播用户便可顺利实现视频连线。对于多方直播用户共同参与的情况,也以双方直播用户为单位进行同样的处理,由此便可丰富本申请的技术方案的应用需求。
[0100]
参考图5,为了维护直播用户在参与本方法所实施的视频连线活动中的连线状态,本方法可在前述实施例的基础上通过增设另一步骤而提出另一实施例,该实施例中,该方法还包括:
[0101]
步骤s15,响应于计算机事件而维护预设的匹配池,该匹配池中包含若干连线信息,所述连线信息包含发起连线匹配请求的直播用户的用户身份信息及其连线进行状态:
[0102]
所述匹配池,是指储存所述连线信息的数据库或内存列表,其存储多个发起连线匹配请求的多个直播用户的连线信息,由业务服务器负责维护。业务服务器通过响应各种相应的计算机事件,而对该匹配池进行维护,触发所述匹配池改变相应直播用户的连线信息中的连线进行状态,以实时更新各个直播用户的当前连线状态。
[0103]
所述的连线信息,由业务服务器根据发连线匹配请求的直播用户的相关信息进行创建,并添加到所述匹配池中,其包含该直播用户的用户身份信息及连线进行状态。所述的用户身份信息,一般是指用户的u i d,以便匹配池区分不同的直播用户;所述的连线进行状态,适用于表征当前直播用户的连线匹配状态。
[0104]
请参考图6,相关的事件响应机制可通过如下具体步骤进行实施:
[0105]
步骤s151,响应所述连线匹配请求所触发的事件,为该连线匹配请求相应的直播用户创建一条所述的连线信息,其连线进行状态被标记为表征待匹配的状态:
[0106]
当业务服务器响应直播用户的连线匹配请求,触发一个用于指示创建连线信息的事件,于是,本步骤响应于该事件为该直播用户创建对应的连线信息并将其添加到所述匹配池中,其包含的用户身份信息通过由该连线匹配请求所提供。
[0107]
在创建该连线信息时,将其中的连线进行状态标记为待匹配状态。后续业务服务器监控到匹配池中该直播用户当前的连线进行状态被标记为待匹配状态,将执行创建相应媒体服务器的推流地址并发送至所述直播用户中,以便该直播用户向所述媒体服务器推送直播流。
[0108]
步骤s152,响应直播用户启动直播流推送所触发的事件,将该直播用户相应的连线信息标记为表征正在匹配的状态:
[0109]
当业务服务器向直播用户发送相应的媒体服务器的推流地址推送后,可触发一用于指示该直播用户正在实施匹配的事件,业务服务器于是响应该事件将匹配池中该直播用户的连线进行状态标记为正在匹配的状态,以便触发业务服务器根据该直播用户的连线信息为其匹配相应的其他直播用户,并向实现匹配的多个直播用户发送匹配通知。
[0110]
步骤s153,响应直播用户发送的确认请求所触发的事件,将该直播用户相应的连线信息标记为表征已确认连线的状态:
[0111]
当所述实现匹配的多个直播用户接收到所述匹配通知并确认连麦后,将向业务服务器发送确认请求,以便业务服务器通过响应所述确认请求,由此产生一指示该直播用户已确认连线的事件,业务服务器响应于该事件将匹配池中该直播用户的连线进行状态标记为已确认连线的状态,触发业务服务器向确认连麦的直播用户发送连线通知,以便所述确认连线直播用户的图形用户界面显示自身的直播流及其所连线的其他直播用户的直播流。
[0112]
参考图7,前一实施例所实施的进程可结合到本方法的各个典型实施例步骤中成为另一实施例,其具体实施步骤如下:
[0113]
步骤s11’,响应各直播用户的连线匹配请求,反馈其推流地址供其推送其直播流,为该连线匹配请求相应的直播用户在预设的匹配池中创建一条所述的连线信息,其连线进行状态被标记为表征待匹配的状态,该匹配池中包含若干连线信息,所述连线信息包含发起连线匹配请求的直播用户的用户身份信息及其连线进行状态:
[0114]
业务服务器在响应直播用户的类型匹配请求,先在匹配池中为该用户创建一条连线信息,并将该连线信息中的连线进行状态被标记为表征待匹配的状态,以便业务服务器监控到匹配池该直播用户当前的连线进行状态被标记为待匹配状态,将执行创建相应媒体服务器的推流地址并发送至所述直播用户中。
[0115]
步骤s12’,为启动直播流推送的直播用户匹配适于与其连线的其他启动直播流推送的直播用户:
[0116]
本步骤中,直播用户的类型进行状态仍被标记为表征待匹配的状态。
[0117]
关于其他具体实施方法可参考本方法的步骤s12,此次不再对本步骤其进行叙述。
[0118]
步骤s13’,向已实现匹配的直播用户发送匹配通知,将该直播用户相应的连线信息标记为表征正在匹配的状态,该匹配通知包含与其接收方直播用户实现匹配的其他直播用户的用户身份信息和直播流的访问地址,以供接收方直播用户静默加载所述的直播流:
[0119]
当业务服务器完成对直播用户的匹配后,业务服务器将匹配池中该直播用户的连线信息中的连线进行状态标记为表征正在匹配的状态,以便业务服务器根据该直播用户的连线信息为其匹配相应的其他直播用户,并向实现匹配的多个直播用户发送匹配通知。
[0120]
步骤s14’,响应该匹配通知的接收方直播用户的确认请求,将该直播用户相应的连线信息标记为表征已确认连线的状态,向与之相匹配的其他直播用户发送连线通知,以控制该连线通知的接收方直播用户与该匹配通知的接收方直播用户完成视频连线的建立以开始播放显示后者的直播流:
[0121]
当业务服务器响应实现匹配的直播用户发送的确认请求后,将匹配池中确认连麦的直播用户的连线进行状态标记为已确认连线的状态,以便业务服务器根据该直播用户的连线信息,向确认连麦的直播用户发送连线通知,完成视频连线的建立。
[0122]
所述匹配池的应用,便于业务服务器在为直播用户匹配连线对象并建立视频连线
的过程中,根据直播用户在匹配池中的连线信息的连线进行状态的变动实施相应的处理,最终完成为该直播用户与其他直播用户的视频连线建立。
[0123]
进一步,可以通过将上述各实施例所揭示的方法中的各个步骤进行功能化,构造出本申请的一种网络直播控制装置,按照这一思路,请参阅图8,其中的一个典型实施例中,该装置包括:
[0124]
匹配请求模块11,用于响应各直播用户的连线匹配请求,反馈其推流地址供其推送其直播流;
[0125]
匹配执行模块12,用于为启动直播流推送的直播用户匹配适于与其连线的其他启动直播流推送的直播用户;
[0126]
匹配通知模块13,用于向已实现匹配的直播用户发送匹配通知,该匹配通知包含与其接收方直播用户实现匹配的其他直播用户的用户身份信息和直播流的访问地址,以供接收方直播用户静默加载所述的直播流;
[0127]
匹配建立模块14,用于响应该匹配通知的接收方直播用户的确认请求,向与之相匹配的其他直播用户发送连线通知,以控制该连线通知的接收方直播用户与该匹配通知的接收方直播用户完成视频连线的建立以开始播放显示后者的直播流。
[0128]
请参阅图3和图9,本申请的一种网络直播执行方法,由直播用户端的应用程序负责执行体现,在其典型实施例中,其包括如下步骤:
[0129]
步骤s21,向服务器发起连线匹配请求,以获取服务器为当前直播用户推送的推流地址,向该推流地址所指向的第一媒体服务器推送当前直播用户的直播流:
[0130]
直播用户通过触发相应的事件向业务服务器发送所述连线匹配请求,触发业务服务器向其反馈相应的媒体服务器的推流地址,以便通过所述推流地址向该推流地址所属的媒体服务器推送自身的直播流。
[0131]
所述的媒体服务器,是指接收并储存相应地区的直播用户的直播流的媒体服务器,直播用户通过所述媒体服务器的推流地址向其推送自身的直播流,以便所述直播用户所匹配的其他直播用户通过该媒体服务器对应该直播流所提供的访问地址静默加载该直播用户的直播流,为后续将所述直播流显示在图形用户界面中做准备,减少完成视频连线建立的时间,提高直播用户的视频连线体验。
[0132]
为了行文便利,实例将主要叙述一对一的视频连线匹配模式,并将匹配双方称作第一直播用户及第二直播用户,第一直播用户指代向第一媒体服务器推送自身的直播流的一方,以此类推;需要注意的是,本申请的方法并不只是针对一对一的视频连线匹配模式而所述,同样可以构建一对多及多对多的视频连线匹配模式。
[0133]
参考图3,第一直播用户向服务器发送连线匹配请求后,将从服务器中获取第一媒体服务器的推流地址,以便通过所述推流地址将自身的直播流推送至第一媒体服务器中。
[0134]
步骤s22,用于接收服务器发送的匹配通知,获取其中与当前直播用户相匹配的其他直播用户的直播流的访问地址:
[0135]
当业务服务器确认所述直播用户所匹配的一个或多个直播用户后,该直播用户将接收到来自业务服务器发送的一个或多个匹配通知,以便通过解析一个或多个所述匹配通知,获取一个或多个所述访问地址,并通过所述访问地址所属的媒体服务器获取一个或多个直播用户的直播流,以便后续将其显示在图形用户界面中。
[0136]
参考图3,第一直播用户通过解析接收服务器发送的匹配通知后,将获取业务服务器为其匹配的第二直播用户的第二媒体服务器的访问地址,以便后续向业务服务器发送确认请求后,依据该访问地址静默加载第二直播用户的直播流。
[0137]
一种实施例中,第一主播用户除了获取匹配通知外,还将获取第二直播用户的用户个人信息,并将其可视化显示在图形用户界面中,以便第一直播用户更直观地了解第二主播用户的信息,确认是否与第二主播用户建立视频连线。
[0138]
步骤s23,用于向服务器发送确认请求,以通过服务器向与当前直播用户相匹配的所述其他直播用户发送表征确认建立连线的连线通知,从该访问地址所指向的第二媒体服务器静默加载所述其他直播用户的直播流:
[0139]
直播用户通过触发相应的事件向业务服务器发送确认请求,确认与匹配通知所指示的其他主播用户建立视频连线,以便服务器接收并响应所述确认请求,向与当前直播用户相匹配的所述其他直播用户发送表征确认建立连线的连线通知。
[0140]
第一直播用户通过触发相应的事件向业务服务器发送确认请求,以便所述业务服务器通过响应所述确认请求,向第二直播用户发送连线通知表征第一直播用户的视频连线意愿。
[0141]
第一直播用户在向业务服务器发送所述确认请求后,可通过所述访问地址,从访问地址所指向的第二媒体服务器中获取第二直播用户的直播流,且无需将第二直播用户的直播流播放显示在其图形用户界面中,即所述的静默加载,待双方都确认进行视频连线后再将该直播流进行播放显示。
[0142]
步骤s24,接收服务器发送的由任意所述其他直播用户触发的表征确认建立连线的连线通知,完成当前直播用户与该其他直播用户的视频连线的建立,开始播放显示其直播流:
[0143]
所述其他直播用户向服务器发送确认请求,以便业务服务器通过响应该确认请求,向所述直播用户发送连线通知,完成与所述其他直播用户的视频连线的建立,触发直播用户的图形用户界面中显示一个或多个所述其他直播用户的直播流。
[0144]
第二直播用户通过触发相应的事件向业务服务器发送确认请求,以便服务器通过响应该确认请求向第一直播用户发送连线通知,完成第一直播用户与第二直播用户的视频连线的建立,并触发双方的图形用户界面中显示对方及自身的直播流。
[0145]
第一直播用户与第二直播用户建立视频连线后,将持续通过所述访问地址从其所属的媒体服务器中获取对方的直播流,以维持视频连线的运作。
[0146]
一种实施例中,当多个直播用户建立视频连线时,所述直播用户的图形用户界面为了显示多个其他直播用户的直播流,所述图形用户界面可切换为多播放窗口的模式,且每一个播放窗口对对应显示一个直播用户的直播流,且可将直播用户的用户个人信息可视化显示至所述播放窗口中,以表明每一个播放窗口所播放的直播流的直播用户身份。
[0147]
进一步,可以通过将上述各实施例所揭示的方法中的各个步骤进行功能化,构造出本申请的一种网络直播执行装置,按照这一思路,请参阅图10,其中的一个典型实施例中,该装置包括:
[0148]
推流启动模块21,用于向服务器发起连线匹配请求,以获取服务器为当前直播用户推送的推流地址,向该推流地址所指向的第一媒体服务器推送当前直播用户的直播流;
[0149]
地址获取模块22,用于接收服务器发送的匹配通知,获取其中与当前直播用户相匹配的其他直播用户的直播流的访问地址;
[0150]
连线确认模块23,用于向服务器发送确认请求,以通过服务器向与当前直播用户相匹配的所述其他直播用户发送表征确认建立连线的连线通知,从该访问地址所指向的第二媒体服务器静默加载所述其他直播用户的直播流;
[0151]
连线启动模块24,用于接收服务器发送的由所述其他直播用户触发的表征确认建立连线的连线通知,完成与所述其他直播用户的视频连线的建立,开始播放显示其直播流。
[0152]
进一步,为便于本申请的执行,本申请提供一种电子设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行如前所述的各实施例中所述网络直播控制/执行方法的步骤。
[0153]
可以看出,存储器适宜采用非易失性存储介质,通过将前述的方法实现为计算机程序,安装到手机或计算机之类电子设备中,相关程序代码和数据便被存储到电子设备的非易失性存储介质中,进一步通过电子设备的中央处理器运行该程序,将其从非易性存储介质中调入内存中运行,便可实现本申请所期望的目的。因此,可以理解,本申请的一个实施例中,还可提供一种非易失性存储介质,其中存储有依据所述的网络直播控制/执行方法各个实施例所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。
[0154]
综上所述,本申请通过优化传统的视频连线匹配的执行逻辑,大大减少了匹配双方在确认建立视频连线后显示对方直播流所需的时间,提升了用户进行视频连线匹配的体验。
[0155]
本技术领域技术人员可以理解,本申请包括涉及用于执行本申请中所述操作、方法中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其存储器之内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-only memory,只读存储器)、ram(random access memory,随即存储器)、eprom(erasable programmable read-only memory,可擦写可编程只读存储器)、eeprom(electrically erasable programmable read-only memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
[0156]
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本申请公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
[0157]
本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
[0158]
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。