直播流交互控制方法及其相应的装置、设备、介质与流程

专利检索2022-05-10  6



1.本技术涉及网络直播领域,尤其涉及一种直播流交互控制方法、装置及其相应的电子设备和非易失性存储介质。


背景技术:

2.在音视频交互及网络直播场景中,经常需要在实验室用网络损伤设备来模拟各种网络环境,包括正常网络以及弱网条件,主要需要模拟的网络因素有丢包率、带宽、时延等,然后通过模拟的网络环境来测评各种传输及编码策略下的音视频质量。整个过程中,有以下突出的两个问题:
3.1)需要人工修改网络条件,并且需要通过人工录屏、拍照、主观视听等手段来采集测评结果,对结果的整理费时费力,容易出错并且主观性强。
4.2)实验室对网络的仿真,主要手段是通过网络损伤仪来实现,而现有的网络损伤仪对网络条件的损伤,只能通过少数几种模式(比如固定,随机,突发,正弦等)来仿真,这种一刀切的方法,大大简化了网络的复杂性和随时性,与实际生产环境中碰到的网络情况相差甚远,所以对音视频编解码及传输算法策略的评估,不够全面,容易通过应试性做法来获得实验室好结果,但是对实际生产环境的ab测试却无法获得好成绩。
5.以网络直播系统为例,传统方案都是在上行或者下行网络接入一个网络损伤设备,通过网络损伤设备来模拟各种弱网条件,然后在观众端通过录屏、拍照等等一些人工手段来采集观看端收到的音视频质量。测试过程中,测试完一种用例,需要人工修改弱网条件测试下一种用例。
6.可见,现有技术中对网络直播过程中的音视频交互所需的网络环境的模拟技术,尚有不足,导致相关测试效率低下,应有提升的空间。


技术实现要素:

7.本技术的目的在于解决上述问题至少之一而提供一种直播流交互控制方法及其相应的装置、计算机设备、非易失性存储介质,以便对应用程序实施自动化分发测试。
8.为满足本技术的各个目的,本技术采用如下技术方案:
9.适应本技术的目的之一而提供的一种直播流交互控制方法,包括如下步骤:
10.建立推流设备经本服务器中继到达播流设备的数据通信链路,该数据通信链路用于将推流设备产生的直播流推送至播流设备中;
11.应用预设的链路控制信息仿真控制所述数据通信链路的网络传输性能,以控制所述直播流到达所述播流设备的音视频质量;
12.通过所述数据通信链路接收推流设备产生的所述直播流,将其转发至所述播流设备中播放显示。
13.具体化的实施例中,建立推流设备经本服务器中继到达播流设备的数据通信链路,包括如下步骤:
14.响应推流设备在直播间中的开播事件,建立推流设备至本服务器之间用于上传所述直播流的第一分支链路,以接收推流设备上传的所述直播流;
15.响应播流设备在所述直播间中触发的进入事件,建立本服务器至播流设备之间用于推送所述直播流的第二分支链路,以向播流设备推送所述直播流;
16.通过由第一分支链路和第二分支链路构成的所述数据通信链路持续传输所述的直播流。
17.具体化的实施例中,应用预设的链路控制信息仿真控制所述数据通信链路的网络传输性能,以控制所述直播流到达所述播流设备的音视频质量,包括如下步骤:
18.检测所述数据通信链路的链路控制信息是否处于启用状态,若处于启用状态则启动应用该链路控制信息;
19.解析出所启用的链路控制信息,获得至少一个标定了运行时长的仿真控制实例,每个仿真控制实例包含该运行时长范围内多个时间切片相对应的网络传输性能配置参数;
20.适应每个仿真控制实例,按所述时间切片的时间顺序对应适用所述网络传输性能配置参数,对所述的数据通信链路实施仿真控制。
21.深化的实施例中,检测所述数据通信链路的链路控制信息是否处于启用状态,若处于启用状态则启动应用该链路控制信息,包括如下步骤:
22.根据推流设备、播流设备各自的用户特征信息检测推流设备、播流设备是否为仿真服务对象;
23.针对仿真服务对象,判定其链路控制信息处于启用状态,调用与仿真服务对象相对应的链路控制信息;
24.为仿真服务对象启动应用其相适配的链路控制信息,以使每个链路控制信息应用于所述数据通信链路中相对应的分支链路,使推流设备至本服务器之间的分支链路适用推流设备相对应的链路控制信息,使本服务器至播流设备之间的分支链路适用播流设备相对应的链路控制信息。
25.较佳的实施例中,适应每个仿真控制实例,按所述时间切片的时间顺序对应适用所述网络传输性能配置参数,对所述的数据通信链路实施仿真控制,包括如下步骤:
26.适应每个仿真控制实例,获得其按时间切片组织的网络传输性能配置参数;
27.按时间顺序依次调用每个时间切片相对应的所述网络传输性能配置参数,所述网络传输性能配置参数包括时间切片相对应的时间戳、带宽值、最小往返时延、最大往返时延、丢包率;
28.在持续至下一时间戳到达前的当前时间切片的时间范围内,对所述的数据通信链路实施如下仿真控制:约束所述数据通信链路以所述带宽值为最高带宽进行所述直播流的传输,约束所述直播流的往返时延间于所述最小往返时延与最大往返时延之间,约束所述直播流的按照所述丢包率随机丢弃数据报文。
29.变通的实施例中,解析出所启用的链路控制信息的步骤中,所述链路控制信息包括多个所述的仿真控制实例、为多个仿真控制实例统一标定的所述运行时长,以及用于控制两个仿真控制实例先后实施仿真控制的间隔时长。
30.扩展的实施例中,本方法还包括如下步骤:
31.响应管理用户触发的配置请求而向管理用户推送测试配置页面;
32.接收管理用户通过该测试配置页面提交的所述测试配置信息,所述测试配置信息包括链路控制信息及其适应的用户特征信息;
33.响应于管理用户查看指令,向管理用户推送测试报告,该测试报告包含从数据库中查询获取表征所述音视频质量的采样数据所形成的汇总信息,所述采样数据由所述播流设备采样提交至所述数据库中。
34.适应本技术的目的之一而提供的一种直播流交互控制装置,包括链路建立模块、仿真控制模块,以及传输直播模块,其中:所述链路建立模块,用于建立推流设备经本服务器中继到达播流设备的数据通信链路,该数据通信链路用于将推流设备产生的直播流推送至播流设备中;所述仿真控制模块,应用预设的链路控制信息仿真控制所述数据通信链路的网络传输性能,以控制所述直播流到达所述播流设备的音视频质量;所述传输直播模块,用于通过所述数据通信链路接收推流设备产生的所述直播流,将其转发至所述播流设备中播放显示。
35.具体化的实施例中,所述链路建立模块包括:开播上传子模块,用于响应推流设备在直播间中的开播事件,建立推流设备至本服务器之间用于上传所述直播流的第一分支链路,以接收推流设备上传的所述直播流;进入推流子模块,用于响应播流设备在所述直播间中触发的进入事件,建立本服务器至播流设备之间用于推送所述直播流的第二分支链路,以向播流设备推送所述直播流;持续传输子模块,用于通过由第一分支链路和第二分支链路构成的所述数据通信链路持续传输所述的直播流。
36.具体化的实施例中,所述仿真控制模块包括:启用检测子模块,用于检测所述数据通信链路的链路控制信息是否处于启用状态,若处于启用状态则启动应用该链路控制信息;调用解析子模块,用于解析出所启用的链路控制信息,获得至少一个标定了运行时长的仿真控制实例,每个仿真控制实例包含该运行时长范围内多个时间切片相对应的网络传输性能配置参数;仿真实施子模块,用于适应每个仿真控制实例,按所述时间切片的时间顺序对应适用所述网络传输性能配置参数,对所述的数据通信链路实施仿真控制。
37.深化的实施例中,所述启用检测子模块包括:对象识别二级模块,用于根据推流设备、播流设备各自的用户特征信息检测推流设备、播流设备是否为仿真服务对象;状态识别二级模块,用于针对仿真服务对象,判定其链路控制信息处于启用状态,调用与仿真服务对象相对应的链路控制信息;区别适应二级模块,用于为仿真服务对象启动应用其相适配的链路控制信息,以使每个链路控制信息应用于所述数据通信链路中相对应的分支链路,使推流设备至本服务器之间的分支链路适用推流设备相对应的链路控制信息,使本服务器至播流设备之间的分支链路适用播流设备相对应的链路控制信息。
38.较佳的实施例中,所述仿真实施子模块包括:参数获取二级模块,用于适应每个仿真控制实例,获得其按时间切片组织的网络传输性能配置参数;切片调用二级模块,用于按时间顺序依次调用每个时间切片相对应的所述网络传输性能配置参数,所述网络传输性能配置参数包括时间切片相对应的时间戳、带宽值、最小往返时延、最大往返时延、丢包率;切片仿真二级模块,用于在持续至下一时间戳到达前的当前时间切片的时间范围内,对所述的数据通信链路实施如下仿真控制:约束所述数据通信链路以所述带宽值为最高带宽进行所述直播流的传输,约束所述直播流的往返时延间于所述最小往返时延与最大往返时延之间,约束所述直播流的按照所述丢包率随机丢弃数据报文。
39.变通的实施例中,所述调用解析子模块所调用的所述链路控制信息包括多个所述的仿真控制实例、为多个仿真控制实例统一标定的所述运行时长,以及用于控制两个仿真控制实例先后实施仿真控制的间隔时长。
40.扩展的实施例中,本装置还包括:配置响应模块,用于响应管理用户触发的配置请求而向管理用户推送测试配置页面;配置实施模块,用于接收管理用户通过该测试配置页面提交的所述测试配置信息,所述测试配置信息包括链路控制信息及其适应的用户特征信息;报告查看模块,用于响应于管理用户查看指令,向管理用户推送测试报告,该测试报告包含从数据库中查询获取表征所述音视频质量的采样数据所形成的汇总信息,所述采样数据由所述播流设备采样提交至所述数据库中。
41.适应本技术的目的之一而提供的一种计算机设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行本技术所述的直播流交互控制方法的步骤。
42.适应本技术的另一目的而提供的一种非易失性存储介质,其以计算机可读指令的形式存储有依据所述的直播流交互控制方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。
43.相对于现有技术,本技术的优势如下:
44.本技术可以借助预先提供的链路控制信息,方便自动化地对直播流行经的数据通信链路的网络传输性能进行仿真控制,实现对现实生产环境网络的仿真与重现,从而协助完成直播流交互过程的测试,方便追踪在线音视频质量问题。
45.本技术通过借助链路控制信息自动化覆盖网络仿真用例,大大节省了人力成本,提升音视频质量评价标准的客观性、统一性,并且方便进行前后版本、不同网络条件、不同算法策略的音视频质量对比。
46.本技术通过链路控制信息自动对数据通信链路适用网络损伤操作来进行网络仿真,相较于以往都是通过用网络损伤设备或者软件损伤工具来模拟弱网条件的情况而言,只需在链路控制信息中写入控制过程相关信息,无需人工修改和切换损伤条件,便于实现全程自动化高效测试。
附图说明
47.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
48.图1为实施本技术的技术方案相关的一种典型的部署架构示意图;
49.图2为本技术的直播流交互控制方法的典型实施例的流程示意图;
50.图3为本技术的直播流交互控制方法建立数据通信链路的流程示意图;
51.图4为本技术的直播流交互控制方法实施仿真控制的流程示意图;
52.图5为本技术的直播流交互控制方法启用链路控制信息的流程示意图;
53.图6为本技术的直播流交互控制方法适用仿真控制实例的流程示意图;
54.图7为本技术的直播流交互控制方法的扩展实施例中管理用户操作过程的流程示意图;
55.图8为本技术的直播流交互控制装置的典型实施例的原理框图;
56.图9为本技术所采用的一种计算机设备的结构示意图。
具体实施方式
57.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本技术的限制。
58.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
59.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
60.本技术领域技术人员可以理解,这里所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;pcs(personal communications service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;pda(personal digital assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或gps(global positioning system,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是pda、mid(mobile internet device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
61.本技术所称的“服务器”、“客户端”、“服务节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
62.需要指出的是,本技术所称的“服务器”这一概念,同理也可扩展到适用于服务器
机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本技术的网络部署方式的实施方式。
63.请参阅图1,本技术相关技术方案实施时所需的硬件基础可按图中所示的架构进行部署,其各部分的作用及功能揭示如下:
64.本技术所称的远程服务器80可以作为一个前端的业务服务器,负责进一步连接起相关数据服务器,以此构成逻辑上相关联的服务机群,来为相关的终端设备例如图中所示的智能手机81、82和个人计算机提供服务。所述的智能手机81、82和个人计算机均可通过公知的网络接入方式与远程服务器80建立数据通信链路。
65.本技术的远程服务器80适于提供网络直播、即时通信之类的音视频推流服务,通过运行服务而向相应的终端设备提供相应的互联网业务,由此,不同用户通过各自的终端设备使用远程服务器80的服务,便可实现用户之间的通信数据的交换。例如,网络直播间中的主播用户可以将其直播流从其所在的推流设备81上传至该远程服务器80,然后由该远程服务器80推送给一个或多个观众用户所在的播流设备82。由于本技术主要关注远程服务器80所提供的推流服务,因此,也可称其为媒体服务器。
66.所述的推流设备81与播流设备82均属于本技术所称的终端设备,所述的终端设备配备有相关操作系统,例如android、ios、homoneyos以及其他提供同等功能的操作系统,在此类操作系统的支持下,远程服务器80与终端设备之间可以通过彼此约定的数据协议进行数据通信,而为这些操作系统适应性开发的应用程序也得以在终端设备中正常运行,正是借助这些应用程序的运行,使得终端设备可以实现人机交互、远程交互以及通过远程服务器与其他终端实现各种间接交互。
67.本技术所称的数据服务器88,适于存储推流设备81与播流设备82所采集的采样数据及其统计分析后形成的汇总信息,且配备有可供管理用户访问的后台管理逻辑,数据服务器88上实现的功能也强由远程服务器80所在的机群所集成,本领域技术人员可灵活实现,并不影响本技术的实施。
68.本技术所称的应用程序,其通称意义是指运行于服务器或终端设备之类的电子设备的应用程序,这些应用程序采用编程的方式实现了本技术的相关技术方案,其程序代码可被以计算机可执行指令的形式保存于计算机能识别的非易失性存储介质中,并被中央处理器调入内存中运行,通过该应用程序在计算机的运行而构造出本技术的相关装置。
69.本技术所称的网络直播间,简称直播间,由远程服务器80所在的机群负责维护运行,通过终端设备上的应用程序的运行,主播用户、观众用户或者其他游客用户等,可以进入所述主播用户相关联的直播间实例,其中,主播用户可以通过其推流设备向媒体服务器提交其直播流,以便由媒体服务器将其推送给处于该直播间实例中的相关观众用户所在的播流设备。
70.本领域技术人员对此应当知晓:本技术的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本技术所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。
71.本技术即将揭示的各个实施例,除非明文指出彼此之间的相互排斥关系,否则,各个实施例所涉的相关技术特征可以交叉结合而灵活构造出新的实施例,只要这种结合不背离本技术的创造精神且可满足现有技术中的需求或解决现有技术中的某方面的不足即可。对此变通,本领域技术人员应当知晓。
72.请参阅图2,本技术的一种直播流交互控制方法,由媒体服务器侧的应用程序负责执行体现,在其典型实施例中,其包括如下步骤:
73.步骤s1100、建立推流设备经本服务器中继到达播流设备的数据通信链路,该数据通信链路用于将推流设备产生的直播流推送至播流设备中:
74.所述推流设备为网络直播间的主播用户所在的起播控作用的终端设备,所述播流设备则为该网络直播间的其他用户,通常是已注册的观众用户所在的终端设备,主播用户通过其推流设备向本服务器,即媒体服务器推送直播流之后,本服务器将该直播流推送给观众用户所在的播流设备。由此可见,在推流设备与播流设备之间,存在一条经本服务器中继的数据通信链路。该数据通信链路采用分段的方式来建立,后续将通过其他实施例揭示其建立的详细过程,此处暂且概而言之,即所述当主播用户登录在其推流设备启动其直播间时,本服务器便与其建立所述数据通信链路的第一分支链路,确保推流设备可以通过第一分支链路将其直播流推送至本服务器中;当所述观众用户在其播流设备中进入所述的直播间时,本服务器便与其建立所述数据通信链路的第二分支链路,确保本服务器可以通过第二分支链路将所述直播流推送至播流设备中播放显示。
75.所述的直播流,可以通过推流设备进行本地的采集或合成,也可在到达本服务器后进行必要的合成和采集,均可灵活处理,不影响本技术的实施。
76.步骤s1200、应用预设的链路控制信息仿真控制所述数据通信链路的网络传输性能,以控制所述直播流到达所述播流设备的音视频质量:
77.正常情况下,推流设备与播流设备之间,基于运营商提供的客观现实的网络条件,使用所述数据通信链路进行所述直播流的传输,而本技术则提供对所述数据通信链路的网络传输性能进行控制的技术手段,以便满足限流或者测试等需要,通过仿真网络条件,控制所述数据通信链路的网络传输性能,达到控制直播流到达所述播流设备的音视频质量的目的。
78.为此,可以为所述的数据通信链路应用链路控制信息,所述链路控制信息用于描述所述数据通信链路中一个或所有分支链路的网络传输性能相关的配置参数,根据这些配置参数为相应的分支链路仿真控制其传输所述直播流时的网络传输条件,起到对该直播流的传输过程实施网络损伤的作用,从而实现对所述直播流在弱网环境中传输的模拟。
79.启动对所述链路控制信息的应用,可以通过检验所述终端设备的设备特征信息或者通过检验所述主播用户、观众用户的用户特征信息是否被添加到控制清单来实现。具体而言,当需要进行程序测试或者进行网络限流管控时,可以先确立是以用户还是以设备为管控对象,一旦确立,便将相应的用户特征信息或设备唯一性特征信息添加到一个后台的控制清单中,本服务器会按照默认的触发机制,例如在目标直播间启动时、主播用户启动直播间时、观众用户进入直播间时或者测试用户发出相关指令时,便查询当前的用户特征信息或设备唯一性特征信息是否处于该控制清单中,藉此便可对进入该控制清单的用户或设备应用所述的链路控制信息。
80.无论所述链路控制信息实施的网络损伤效果是作用于整条数据通信链路,还是作用于其中的一个分支链路,均可理解,相对于客观网络环境而言,经实施网络损伤之后到达播流设备的直播流,其音视频质量会相对下降。
81.一个实施例中,出于直播流的音视频交互测试的需要,可以在播流设备一侧的本技术的应用程序中预置音视频质量数据采集相关的业务逻辑,通过预先埋点实现对所述直播流的音视频质量数据进行采集,并上传到数据服务器中,以备查看。反映所述音视频质量的数据,包括所述直播流传输时的码率、分辨率、帧率、卡顿率、时延、音视频同步差、出音视频速度等,均可按需进行埋点采集,可由本领域技术人员灵活确定。掌握此类数据之后,测试人员可摒弃传统的拍照、录屏等方式,而仅需利用客观数据对链路控制信息作用下的音视频质量进行分析。
82.步骤s1300、通过所述数据通信链路接收推流设备产生的所述直播流,将其转发至所述播流设备中播放显示:
83.本服务器依然按其所实现的维护网络直播间实例运行的逻辑,服务于各个直播间的运行,当其中的一条所述的数据通信链路被应用了相对应的链路控制信息,而被实施网络损伤之后,其对应的推流设备仍可将其直播流通过该数据通信链路经本服务器中继推送至对应的播流设备,播流设备接收到所述直播流之后,无论其音视频质量如何,均按照默认的业务逻辑,输出至直播间播放器中播放显示。
84.对于播流设备侧预埋了音视频质量数据采集相关的代码的情况而言,播流设备将在该些埋点的代码所生成的指令的作用下,源源不断地采集其所接收到的直播流的音视频质量数据,提交至所述的数据服务器,以配合实现测试的目的。
85.通过本典型实施例的揭示可知,本技术可以借助预先提供的链路控制信息,方便自动化地对直播流行经的数据通信链路的网络传输性能进行仿真控制,实现对现实生产环境网络的完美仿真与重现,从而协助完成直播流交互过程的测试,方便追踪在线音视频质量问题。
86.进一步,本技术通过借助链路控制信息自动化覆盖网络仿真用例,大大节省了人力成本,提升音视频质量评价标准的客观性、统一性,并且方便进行前后版本、不同网络条件、不同算法策略的音视频质量对比。
87.此外,本技术通过链路控制信息自动对数据通信链路适用网络损伤操作来进行网络仿真,相较于以往都是通过用网络损伤设备或者软件损伤工具来模拟弱网条件的情况而言,只需在链路控制信息中写入控制过程相关信息,无需人工修改和切换损伤条件,便于实现全程自动化高效测试。
88.请参阅图3,具体化的实施例中,建立推流设备经本服务器中继到达播流设备的数据通信链路,包括如下步骤:
89.步骤s1110、响应推流设备在直播间中的开播事件,建立推流设备至本服务器之间用于上传所述直播流的第一分支链路,以接收推流设备上传的所述直播流:
90.网络直播相关的服务,一般允许每一个用户都可以创建自身的直播间实例,其中,启用直播间实例向其他用户开播的用户即为主播用户,主播用户所在的终端设备即为本技术的推流设备;进入直播间中接收主播用户的直播流进行播放的用户即为该直播间实例的观众用户,网络直播的应用程序在接收到直播间实例相应的直播流之后,便可将其播放显
示。
91.主播用户要开播时,在推流设备的网络直播应用程序中触发开播指令,据此便可进入直播间界面,产生开播事件,根据应用程序默认的业务逻辑,向本技术的媒体服务器推送推流设备本地产生的直播流,所述直播流通常包含音视频内容。
92.本技术的媒体服务器,响应于推流设备在直播间中产生的开播事件,根据其与推流设备的应用程序预协议的业务逻辑,自动建立起从推流设备至本服务器之间的数据通信链路,即为本技术所称的推流设备至播流设备之间的数据通信链路中的第一分支链路,以便推流设备通过第一分支链路源源不断地向媒体服务器上传其直播流。
93.步骤s1120、响应播流设备在所述直播间中触发的进入事件,建立本服务器至播流设备之间用于推送所述直播流的第二分支链路,以向播流设备推送所述直播流:
94.媒体服务器持续维持主播用户相关的直播间实例的运行,并相继向进入该直播间的观众用户推送该直播间的主播用户所在的推流设备推送的直播流,起到中继作用。
95.直播间的任意观众用户,当其进入该直播间时,便会根据应用程序所预置的业务逻辑,产生该观众用户进入该直播间相应的进入事件,由此,本服务器便可接收该进入事件并获知该观众用户的用户特征信息,进一步对该进入事件做出响应。
96.为了实现本服务器的中继推流作用,本服务器响应所述的进入事件,建立从本服务器到相应的观众用户所在的播流设备之间的数据通信链路,构成本技术所称的推流设备至播流设备之间的数据通信链路中的第二分支链路,通过第二分支链路,本服务器可以源源不断地将推流设备上传的直播流中继转发给所述的播流设备。
97.步骤s1130、通过由第一分支链路和第二分支链路构成的所述数据通信链路持续传输所述的直播流:
98.根据直播间应用程序的固有逻辑,一旦第一分支链路得以建立,便允许主播用户向本服务器上传其直播流,一旦第二分支链路建立,便允许本服务器向相应的播流设备推送相应的直播流,因此,一个主播用户与其一个观众用户之间,一旦两者之间的第一分支链路和第二分支链路均得以建立,两者之间的整条数据通信链路的建立过程即告完成,便可服务于他们之间的直播流的传输。
99.可以理解,由于互联网基于tcp/ip协议实现,而音视频数据通常以udp数据报文封装,因此,所述第一分支链路与第二分支链路,通常以长链接的方式维持,本领域技术人员对此应当知晓。
100.本实施例进一步揭示本技术建立推流设备至播流设备之间的数据通信链路的过程,可以看出,基于网络直播相应的直播间实例固有的业务逻辑,便可建立所述的数据通信链路,无需额外独立实现,因此,在媒体服务器实施本技术的技术方案,有助于节省本技术的实施成本,高效地实现本技术的目的。
101.请参阅图4,具体化的实施例中,所述步骤s1200中,应用预设的链路控制信息仿真控制所述数据通信链路的网络传输性能,以控制所述直播流到达所述播流设备的音视频质量,包括如下步骤:
102.步骤s1210、检测所述数据通信链路的链路控制信息是否处于启用状态,若处于启用状态则启动应用该链路控制信息:
103.对于任意一条数据通信链路,均可在后台登记其是否需要应用相应的链路控制信
息来对其实施网络传输性能控制。如前文所揭示的实施例中,可以在服务器中构造一个控制清单,在该控制清单中,登记需要实施网络传输性能仿真控制的用户相应的启用状态信息,具体可存储所述用户的用户特征信息与其启用状态信息之间的映射关系数据来实施,据此,当一个主播用户或者观众用户启用相应的数据通信链路时,服务器便可查询该控制清单,查知其相对应的用户特征信息是否被标记为启用状态,如果处于启用状态,则对其相对应的分支链路,即其终端设备至媒体服务器之间分支链路,启动应用相应的链路控制信息。
104.改进的实施例中,所述的启用状态信息可以实现为所述用户的个人设置信息中的一个状态标记,由此,如果需要对某些用户适用本技术的仿真控制,则只需将这些用户的相应的状态标记修改为启用状态即可,后续本服务器通过查询这个状态标记,确定是否对相应的用户相对应的分支链路适用相应的链路控制信息。
105.所述的链路控制信息,可以集成于同一个文件、数据表中,也可依据第一分支链路和第二分支链路性质的不同而分设于多个文件、数据表中。本实施例推荐为第一分支链路单独编制第一链路控制信息,为第二分支链路单独编制第二链路控制信息,然后,对于多个推流设备相应的第一分支链路而言,统一适用第一链路控制信息,对于多个播流设备相应的第二分支链路而言,统一适用第二链路控制信息。据此,只需编制两种链路控制信息,便可对各个数据通信链路进行标准化的测试或控制,有助于提升本技术的实施效率。
106.步骤s1220、解析出所启用的链路控制信息,获得至少一个标定了运行时长的仿真控制实例,每个仿真控制实例包含该运行时长范围内多个时间切片相对应的网络传输性能配置参数:
107.所述的链路控制信息,通常按照一定的预定格式进行编制,以便被本服务器按照格式规范对应解析出来。以下示例一种格式规范:
108.[运行时长][间隔时长]
[0109]
[仿真控制实例1文件名]
[0110]
[仿真控制实例2文件名]
[0111]
……
[0112]
[仿真控制实例n文件名]
[0113]
可以看出,一个链路控制信息包括两个参数和至少一个仿真控制实例(以存储路径/文件名指示),其中参数“运行时长”用于标定每个仿真控制实例被适用于数据通信链路发挥弱网控制作用的运行时间长度,一些变化的实施例中,也可考虑为每个仿真控制实例独立标定所述的运行时长;参数“间隔时长”为可选项,用于表示先后适用的两个仿真控制实例之间的时间间隔。根据该规范,可以编制出如下的链路控制信息:
[0114]
180 120
[0115]
100_600k_35loss.txt
[0116]
45loss_50_300delay.txt
[0117]
100_500k_50_300rtt.txt
[0118]
当执行对此一链路控制信息的解析之后,可以获得三个仿真控制实例,获得仿真控制实例的运行时长为180s,且获得两个仿真控制实例之间的间隔时长为120s。
[0119]
应当知晓,本领域技术人员可以参照此处的示例灵活编制链路控制信息,不受此
处示例的局限,只要本服务器能够根据链路控制信息的编制规范相应解析获得相应的参数和仿真控制实例即可。
[0120]
为了表述简洁,在链路控制信息中,每个仿真控制实例是以其存储路径或文件名的形式指示的,因此,本服务器还应根据其文件名进一步获取仿真控制实例的具体内容,实际上,某些实施例中,仿真控制实例的具体内容也可直接写入链路控制信息中,而不必另外独立存储于文件中,对此,本领域技术人员也应当理解。
[0121]
对于每个仿真控制实例的编制格式规范而言,可参照如下示例:
[0122]
[时间戳1][带宽值][最小往返时延][最大往返时延][丢包率]
[0123]
[时间戳2][带宽值][最小往返时延][最大往返时延][丢包率]
[0124]
[时间戳3][带宽值][最小往返时延][最大往返时延][丢包率]
[0125]
……
[0126]
[时间戳n][带宽值][最小往返时延][最大往返时延][丢包率]
[0127]
其中,每一行包括时间戳及网络传输性能配置参数。各时间戳可按时序排列,时序上相邻的两个时间戳之间共同界定一个时间切片,每个时间戳为其所属的时间切片的起始时间。所述网络传输性能配置参数,主要包括带宽值、最小往返时延、最大往返时长、丢包率等参数,这些参数可由本领域技术人员按需灵活确定,包括优选其中一个或多个,或者增加、去除相关参数。所述的带宽值,用于表征其所适用的数据通信链路按照其指定的最高带宽仿真控制传输直播流;所述的最小往返时延、最大往返时延,用于共同仿真界定数据通信链路传输相应的直播流时,其在两端间的往返时延的动态变化范围,使实际往返时延间于最小往返时延与最大往返时延之间;所述的丢包率,用于仿真控制数据通信链路中传输的直播流按照其标定的百分比随机丢弃数据报文,使得最张综合丢包率等于或接近该百分比。据此规范实施的一个具体示例中,如前述链路控制信息示例中仿真控制实例100_600k_35loss.txt所描述的内容,如下所示:
[0128][0129]
根据此处的示例可以看出,不同的时间切片,其相应的带宽值是变化的,因此,解析出这些配置参数之后,后续便可在不同时间切换控制直播流在数据通信链路中按照相应的带宽值进行传输。其他参数虽未变化,但本领域技术人员均可理解,其他参数可以按需进行设置。
[0130]
由此可见,只要遵守一定的格式规范,便可将预先编制的链路控制信息正确解析出来,然后调用其中积上仿真控制实例,应用于数据通信链路中实现仿真控制其网络传输性能。
[0131]
步骤s1230、适应每个仿真控制实例,按所述时间切片的时间顺序对应适用所述网络传输性能配置参数,对所述的数据通信链路实施仿真控制:
[0132]
解析出所述的链路控制信息后,便获得每个仿真控制实例相对应的各个时间切片相对应的时间戳以及各个时间切片相对应的网络传输性能配置参数,据此,便可对相应的
数据通信链路实施仿真控制,达到为数据通信链路模拟网络传输性能变化的目的。
[0133]
本实施例通过链路控制信息的编制,可以将数据通信链路的网络传输性能精确到时间切片级别,通过不同时间切片适用不同的网络传输性能配置参数,实现对复杂网络条件的模拟,通过控制时间切片的粒度,能够反映出网络的瞬时变化和抖动情况,实现精细化仿真网络传输性能的效果,当用于实施直播流的音视频交互的测试时,简单易用,对网络描述准确,能高效且低成本地取得测试效果。
[0134]
请参阅图5,深化的实施例中,所述步骤s1210中,检测所述数据通信链路的链路控制信息是否处于启用状态,若处于启用状态则启动应用该链路控制信息,包括如下步骤:
[0135]
步骤s1211、根据推流设备、播流设备各自的用户特征信息检测推流设备、播流设备是否为仿真服务对象:
[0136]
如前所述,当推流设备与本服务器建立数据通信链路中的第一分支链路、当播流设备与本服务器建立数据通信链路中的第二分支链路,本服务器均可相应地确定推流设备中登录的主播用户的用户特征信息、播流设备中登录的观众用户的用户特征信息是否预先登记于控制清单中,若是,则相应的推流设备、播流设备即为本技术的仿真服务对象。
[0137]
在实际应用中,有时仅需针对推流设备的第一分支链路进行仿真控制,有时则仅需针对播流设备的第二分支链路进行仿真控制,有时整条数据通信链路均需进行仿真控制,具体如何取舍,视乎推流设备相应的用户特征信息及播流设备相应的用户特征信息是否预先登记于控制清单中即可。
[0138]
步骤s1212、针对仿真服务对象,判定其链路控制信息处于启用状态,调用与仿真服务对象相对应的链路控制信息:
[0139]
针对仿真服务对象,可可以进一步检测其链路控制信息是否处于启用状态。如前所述,链路控制信息可以适应第一分支链路和第二分支链路进行分别配备,这种情况下,如果仿真服务对象包括推流设备,则便检测其对应的链路控制信息是否处于启用状态,如果包括播流设备,则也检测其对应的链路控制信息是否处于启用状态,对于处于启用状态的链路控制信息,便可直接调用以备解析。
[0140]
对于整条数据通信链路均需实施仿真控制的情况,则由于仿真服务对象同时包括推流设备和播流设备,则通过检测两者的启用状态,也可获得两份链路控制信息。对于将第一分支链路和第二分支链路编制于同一链路控制信息的情况,则仅相应检测该链路控制信息是否处于启用状态即可。
[0141]
步骤s1213、为仿真服务对象启动应用其相适配的链路控制信息,以使每个链路控制信息应用于所述数据通信链路中相对应的分支链路,使推流设备至本服务器之间的分支链路适用推流设备相对应的链路控制信息,使本服务器至播流设备之间的分支链路适用播流设备相对应的链路控制信息:
[0142]
所述控制清单中可能预先登记了多个推流设备、多个播流设备中用户的用户特征信息,因此,本服务器最终确定的仿真服务对象可能涉及多个数据通信链路,这种情况下,本服务器需要为多个仿真服务对象分别对应适用其相匹配的链路控制信息。由于链路控制信息可以按照第一分支链路和第二分支链路的分类进行标准化编制,因此,在本实施例中,本服务可以适应属于第一分支链路的仿真服务对象,而标准化地匹配第一分支链路相对应的链路控制信息,适应属于第二分支链路的仿真服务对象,而标准化地匹配第二分支链路
相对应的链路控制信息。
[0143]
本实施例具体化揭示了在数据通信链路中处理不同类型链路控制信息的匹配的思路,丰富了本服务器服务于多个推流设备和多个播流设备的控制手段,使得对数据通信链路的网络传输性能的仿真控制能够有条不紊的实施,确保本服务器实施仿真控制的运行效率。
[0144]
请参阅图6,较佳的实施例中,所述步骤s1230中,适应每个仿真控制实例,按所述时间切片的时间顺序对应适用所述网络传输性能配置参数,对所述的数据通信链路实施仿真控制,包括如下步骤:
[0145]
步骤s1231、适应每个仿真控制实例,获得其按时间切片组织的网络传输性能配置参数:
[0146]
对于同一数据通信链路,在先已经解析出链路控制信息的情况下,便可根据链路控制信息中的运行时长及间隔时长来控制多个仿真控制实例的运行。各个仿真控制实例按照其在链路控制信息中的排序被顺序调用,每个仿真控制实例的适用时长以不超过所述的运行时长为准,一个仿真控制实例适用结束后,按照所述间隔时长暂停,在所述间隔时长结束后再启用后续的仿真控制实例进行适用。
[0147]
由于每个仿真控制实例中包括按照时间切片组织的多组网络传输性能配置参数,这些配置参数在先已经被解析出来,因此,在此处可以根据时间切片获取其相应的网络传输性能配置参数。
[0148]
步骤s1232、按时间顺序依次调用每个时间切片相对应的所述网络传输性能配置参数,所述网络传输性能配置参数包括时间切片相对应的时间戳、带宽值、最小往返时延、最大往返时延、丢包率:
[0149]
如前所述,每个仿真控制实例中,其以时间戳顺序描述了其各个时间切片之下的网络传输性能配置参数,在具体适用仿真控制实例时,可以严格按照时间戳所指示的时间顺序和时间切片的时长,来适用其对应的配置参数。本实施例延用前述的示例,所述的配置参数主要包括时间戳、带宽值、最小往返时延、最大往返时延、丢包率。
[0150]
步骤s1233、在持续至下一时间戳到达前的当前时间切片的时间范围内,对所述的数据通信链路实施如下仿真控制:约束所述数据通信链路以所述带宽值为最高带宽进行所述直播流的传输,约束所述直播流的往返时延间于所述最小往返时延与最大往返时延之间,约束所述直播流的按照所述丢包率随机丢弃数据报文:
[0151]
从一个时间戳到其时序上相邻的下一时间戳之间,构成一个所述的时间切片,因此,当前时间戳到达之时,便进入当前时间切片,直至下一时间戳到达时当前时间切片才告结束,因此,可以在当前时间切片所约束的时间范围内,按照当前时间切片相对应的网络传输性能配置参数,对相应的数据通信链路实施仿真控制,当然,视链路控制信息与数据通信链路的分支链路的对应关系,一般是以分支链路为单位实施仿真控制的。
[0152]
结合此前关于配置参数的构成的示例,根据网络传输性能配置参数对数据通信链路实施仿真控制时,可以对数据通信链路中相应的分支链路执行如下的约束控制:
[0153]
根据配置参数中的带宽值,控制经当前分支链路上传或推送的直播流的传输速率总体上按照该带宽值传输,当然允许一定的误差,便其综合带宽尽量不应高过所述的带宽值,具体可由本领域技术人员灵活调节。
[0154]
根据配置参数中的最小往返时延和最大往返时延,便可模拟控制所述直播流在相应的分支链路中传输数据报文的往返时延处于最小往返时延和最大往返时延之间。
[0155]
根据配置参数中的丢包率,则相应模拟控制所述直播流在相应的分支链路中传输数据报文时按照该丢包率所给定的百分比,例如35%,随机丢弃数据报文,最终使其综合丢包率达到或约等于该百分比。
[0156]
由此可见,根据网络传输性能配置参数的不同,本服务器均可相应地实施仿真控制,以达成不同的弱网条件,对数据通信链路的网络传输性能进行完美仿真。
[0157]
由本实施例可以看出,无论是推流设备所在的分支链路还是播流设备所在的分支链路,对于整条数据通信链路而言,仿真控制都可以在本服务器处实施,不必依赖对推流设备、播流设备等终端设备进行直接控制,并且,由于本服务器是媒体服务器,其汇聚了整个网络直播平台的所有直播流资源,因此,在本服务器中实施网络传输性能的仿真控制,对于实施限流或测试而言,非常高效集中,大大提升了相关项目的实施效率,有助于节省平台的控制和测试成本。
[0158]
请参阅图7,扩展的实施例中,本方法还包括如下步骤:
[0159]
步骤s2100、响应管理用户触发的配置请求而向管理用户推送测试配置页面:
[0160]
为了便于管理用户实施音视频交互测试,本实施例进一步借助后台管理系统而为管理用户提供相关测试配置页面,当管理用户进入该后台管理系统时,可以在其中触发配置请求,本技术的后台管理系统接收该配置请求后,响应该配置请求向该管理用户推送相应的测试配置页面。所述的后台管理系统可以部署于本技术的远程服务器中,包括本技术的媒体服务器或者其所在机群的其他服务器均可,对此,本领域技术人员可灵活实施。
[0161]
步骤s2200、接收管理用户通过该测试配置页面提交的所述测试配置信息,所述测试配置信息包括链路控制信息及其适应的用户特征信息:
[0162]
管理用户获得所述的测试配置页面后,可以利用该页面提供的编辑框,编制所述的链路控制信息,以及向控制清单中添加需要实施测试的用户相对应的用户特征信息等,然后将这些信息提交给后台管理系统即可。
[0163]
后台管理系统获取管理用户编辑的用户特征信息之后,将其添加到控制清单中,以备指示对提供该用户特征信息的播流设备或推流设备适用相应的链路控制信息。
[0164]
后台管理系统获取管理用户编辑的链路控制信息之后,也将其存储于相应的存储地址中,以便后续需要调用时径行获取,管理用户一般也可为其提供的链路控制信息配置其启用状态信息,默认为启用状态,后台管理系统均可对应处理存储。
[0165]
步骤s2300、响应于管理用户查看指令,向管理用户推送测试报告,该测试报告包含从数据库中查询获取表征所述音视频质量的采样数据所形成的汇总信息,所述采样数据由所述播流设备采样提交至所述数据库中:
[0166]
出于测试的需要,测试用户往往需要查看测试结果,因此,可以在推流设备、播流设备所运行的网络直播应用程序中预置埋点代码,使得其运行时便可获取埋点数据,上交给本技术的相关数据服务器,因此,在本技术实施并运行之后,所述数据服务器将存储有所述被适用了链路控制信息的播流设备所提交的音视频质量的采样数据,对此,后台管理系统可以对这些采样数据进行统计分析,获得相应的汇总信息。
[0167]
如前所述,应用程序所获取的音视频质量的采样数据是客观数据,无需通过录屏、
拍照、主观视听来生成,因此,客观反映了音视频被传输后的实际质量,这些采样数据通常包括如下一种或数种类型的数据:码率、分辨率、帧率、卡顿率、时延、音视频同步差、出音视频速度等。
[0168]
当管理用户向后台管理系统发送用户查看指令时,后台管理系统便可向所述的数据服务器中的数据库获取相应的汇总信息,向管理用户推送结果页面以呈现相应的测试报告,该测试报告包括所述的汇总信息,由此,测试人员在应用本技术实施网络传输性能仿真控制之后,还可相应获取其测试结果,不必对各个终端设备进行录屏、拍照,仅通过查看测试报告便可获知每次仿真控制相对应的音视频质量数据。
[0169]
本实施例通过为管理用户提供控制手段,使管理用户可以通过后台管理系统,借助本技术的技术方案实施对音视频交互的测试,并且获取到相应的音视频质量测试报告,由于音视频质量以客观数据呈现,因此,可以借助这些客观数据来对比被测试的不同版本、不同算法音视频交互策略的优劣,比业内人工分析标定的质量数据,更科学合理,更便于确定最优的音视频交互实现方案。
[0170]
进一步,可以通过将上述各实施例所揭示的方法中的各个步骤进行功能化,构造出本技术的一种直播流交互控制装置,按照这一思路,请参阅图8,其中的一个典型实施例中,该装置包括链路建立模块1100、仿真控制模块1200,以及传输直播模块1300,其中:所述链路建立模块1100,用于建立推流设备经本服务器中继到达播流设备的数据通信链路,该数据通信链路用于将推流设备产生的直播流推送至播流设备中;所述仿真控制模块1200,应用预设的链路控制信息仿真控制所述数据通信链路的网络传输性能,以控制所述直播流到达所述播流设备的音视频质量;所述传输直播模块1300,用于通过所述数据通信链路接收推流设备产生的所述直播流,将其转发至所述播流设备中播放显示。
[0171]
具体化的实施例中,所述链路建立模块1100包括:开播上传子模块,用于响应推流设备在直播间中的开播事件,建立推流设备至本服务器之间用于上传所述直播流的第一分支链路,以接收推流设备上传的所述直播流;进入推流子模块,用于响应播流设备在所述直播间中触发的进入事件,建立本服务器至播流设备之间用于推送所述直播流的第二分支链路,以向播流设备推送所述直播流;持续传输子模块,用于通过由第一分支链路和第二分支链路构成的所述数据通信链路持续传输所述的直播流。
[0172]
具体化的实施例中,所述仿真控制模块1200包括:启用检测子模块,用于检测所述数据通信链路的链路控制信息是否处于启用状态,若处于启用状态则启动应用该链路控制信息;调用解析子模块,用于解析出所启用的链路控制信息,获得至少一个标定了运行时长的仿真控制实例,每个仿真控制实例包含该运行时长范围内多个时间切片相对应的网络传输性能配置参数;仿真实施子模块,用于适应每个仿真控制实例,按所述时间切片的时间顺序对应适用所述网络传输性能配置参数,对所述的数据通信链路实施仿真控制。
[0173]
深化的实施例中,所述启用检测子模块包括:对象识别二级模块,用于根据推流设备、播流设备各自的用户特征信息检测推流设备、播流设备是否为仿真服务对象;状态识别二级模块,用于针对仿真服务对象,判定其链路控制信息处于启用状态,调用与仿真服务对象相对应的链路控制信息;区别适应二级模块,用于为仿真服务对象启动应用其相适配的链路控制信息,以使每个链路控制信息应用于所述数据通信链路中相对应的分支链路,使推流设备至本服务器之间的分支链路适用推流设备相对应的链路控制信息,使本服务器至
播流设备之间的分支链路适用播流设备相对应的链路控制信息。
[0174]
较佳的实施例中,所述仿真实施子模块包括:参数获取二级模块,用于适应每个仿真控制实例,获得其按时间切片组织的网络传输性能配置参数;切片调用二级模块,用于按时间顺序依次调用每个时间切片相对应的所述网络传输性能配置参数,所述网络传输性能配置参数包括时间切片相对应的时间戳、带宽值、最小往返时延、最大往返时延、丢包率;切片仿真二级模块,用于在持续至下一时间戳到达前的当前时间切片的时间范围内,对所述的数据通信链路实施如下仿真控制:约束所述数据通信链路以所述带宽值为最高带宽进行所述直播流的传输,约束所述直播流的往返时延间于所述最小往返时延与最大往返时延之间,约束所述直播流的按照所述丢包率随机丢弃数据报文。
[0175]
变通的实施例中,所述调用解析子模块所调用的所述链路控制信息包括多个所述的仿真控制实例、为多个仿真控制实例统一标定的所述运行时长,以及用于控制两个仿真控制实例先后实施仿真控制的间隔时长。
[0176]
扩展的实施例中,本装置还包括:配置响应模块,用于响应管理用户触发的配置请求而向管理用户推送测试配置页面;配置实施模块,用于接收管理用户通过该测试配置页面提交的所述测试配置信息,所述测试配置信息包括链路控制信息及其适应的用户特征信息;报告查看模块,用于响应于管理用户查看指令,向管理用户推送测试报告,该测试报告包含从数据库中查询获取表征所述音视频质量的采样数据所形成的汇总信息,所述采样数据由所述播流设备采样提交至所述数据库中。
[0177]
为解决上述技术问题,本技术实施例还提供计算机设备。如图9所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种直播流交互控制方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行本技术的直播流交互控制方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0178]
本实施方式中处理器用于执行图8中的各个模块及其子模块的具体功能,存储器存储有执行上述模块或子模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有本技术的直播流交互控制装置中执行所有模块/子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
[0179]
本技术还提供一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行本技术任一实施例的直播流交互控制方法的步骤。
[0180]
本领域普通技术人员可以理解实现本技术上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取
存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read

only memory,rom)等非易失性存储介质,或随机存储记忆体(random access memory,ram)等。
[0181]
综上所述,本技术可为直播流的传输实现对现实生产环境网络的完美仿真与重现,方便追踪在线音视频质量问题或者对音视频质量按需实施限制。
[0182]
本技术领域技术人员可以理解,本技术中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本技术中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本技术中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
[0183]
以上所述仅是本技术的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
转载请注明原文地址:https://win.8miu.com/read-150122.html

最新回复(0)