视频直播方法、装置和计算机设备与流程

文档序号:15925500发布日期:2018-11-14 01:05阅读:131来源:国知局

本发明涉及计算机技术领域,特别是涉及一种视频直播方法、装置和计算机设备。

背景技术

随着科学技术的飞速发展,视频直播已经成为一种日常化的生活娱乐和交流方式,由于移动终端的便利性及性能的不断强大,视频直播逐渐向着移动端发展,各种直播客户端纷纷上线。

目前,使用直播客户端直播时,互动交互层是由直播客户端编码而成。这样一来,当有需要更新的功能时,需要发布新版本的直播客户端,还需要用户重新安装直播客户端,导致直播客户端功能更新效率较低。



技术实现要素:

基于此,有必要针对目前直播客户端功能更新效率较低的技术问题,提供一种视频直播方法、装置和计算机设备。

一种视频直播方法,包括:

通过直播客户端获取直播视频流;

调用所述直播客户端的媒体播放器播放所述直播视频流,形成视频画面;

在所述视频画面上叠加包括透明区域的网页视图组件;

获取与所述直播视频流匹配的网页数据;

根据所述网页数据,在所述网页视图组件中渲染能够通过所述透明区域显示所述视频画面的直播交互界面。

一种视频直播装置,所述装置包括:

直播客户端,用于获取直播视频流;以及调用所述直播客户端的媒体播放器播放所述直播视频流,形成视频画面;

所述直播客户端还用于在所述视频画面上叠加包括透明区域的第一网页视图组件;

所述第一网页视图组件,用于获取与所述直播视频流匹配的网页数据;根据所述网页数据,在所述网页视图组件中渲染能够通过所述透明区域显示所述视频画面的直播交互界面。

一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行以下步骤:

通过直播客户端获取直播视频流;

调用所述直播客户端的媒体播放器播放所述直播视频流,形成视频画面;

在所述视频画面上叠加包括透明区域的网页视图组件;

获取与所述直播视频流匹配的网页数据;

根据所述网页数据,在所述网页视图组件中渲染能够通过所述透明区域显示所述视频画面的直播交互界面。

上述视频直播方法、装置和计算机设备,通过直播客户端获取直播视频流,调用直播客户端的媒体播放器播放直播视频流,形成视频画面,保证了视频流播放的稳定性。在视频画面上叠加包括透明区域的网页视图组件,并根据与直播视频流匹配的网页数据,在网页视图组件中渲染能够通过透明区域显示视频画面的直播交互界面,保证了视频画面的可见。通过叠加在视频画面上的网页视图组件来加载直播交互界面,而不用客户端来编码直播交互界面,就可以在发布更新的直播交互页面时,及时的通过网页视图组件来加载更新该直播交互页面,提高了直播客户端所实现功能的更新效率。

附图说明

图1为一个实施例中视频直播方法的应用环境图;

图2为一个实施例中终端的内部结构示意图;

图3为一个实施例中视频直播方法的流程示意图;

图4为一个实施例中视频直播方法实现时视频画面和网页视图组件的相对位置示意图;

图5为一个实施例中视频播放控制步骤的流程示意图;

图6为一个实施例中视频直播方法实现时的交互关系示意图;

图7为一个实施例中网页视图组件发起播放控制请求步骤的流程示意图;

图8为另一个实施例中视频直播方法的流程示意图;

图9为一个实施例中视频直播装置的结构框图;

图10为一个另实施例中视频直播装置的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为一个实施例中视频直播方法的应用环境图。参照图1,该应用环境包括第一终端110、服务器120以及第二终端130,第一终端110和第二终端130分别与服务器120网络连接。其中,第一终端110和第二终端130上可安装直播客户端,直播客户端是用于实现视频直播功能的应用程序。第一终端110用于采集直播视频流,并将直播视频流发送至服务器120,第二终端130用于从服务器120中获取直播视频流。第一终端110和第二终端130都具备直播视频流播放功能以及直播交互界面显示功能。第一终端110和第二终端130可以是个人计算机或者移动终端。移动终端比如手机、平板电脑、个人数字助理或者穿戴式设备等中的至少一种。服务器120可以用独立的服务器或者是多个物理服务器组成的服务器集群来实现。

图2为一个实施例中终端的内部结构示意图。该终端可以是第一终端110或者第二终端130。参照图2,该终端包括通过系统总线连接的处理器、非易失性存储介质、内存储器、网络接口、显示屏和输入装置。其中,终端的非易失性存储介质可存储操作系统和计算机可读指令,该计算机可读指令被执行时,可使得处理器执行一种视频直播方法。该处理器用于提供计算和控制能力,支撑整个终端的运行。该内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行一种视频直播方法。网络接口用于连接网络进行通信,比如获取网页数据等。终端的显示屏可以是液晶显示屏或者电子墨水显示屏等,终端的输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该终端可以是个人计算机、移动终端或车载设备,移动终端包括手机、平板电脑、个人数字助理或可穿戴设备等中的至少一种。

本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

如图3所示,在一个实施例中,提供了一种视频直播方法。本实施例主要以该方法应用于上述图2中的终端来举例说明,该终端可以是图1所示的第一终端110,也可以是图1所示的第二终端130。参照图3,该视频直播方法具体包括如下步骤:

s302,通过直播客户端获取直播视频流。

其中,直播客户端安装于终端。直播客户端,是用于实现视频直播功能的应用程序,用户可以根据用户标识通过直播客户端登录服务器。直播客户端可以是专用于直播的客户端;直播客户端也可以是集成了直播功能的客户端,如集成了直播功能的即时通信客户端或者sns客户端(socialnetworkservice,社交网络服务)客户端。视频直播,是利用互联网及流媒体技术将采集的音视频数据进行同步发布的信息网络发布方式。直播视频流,是直播过程中传输的音视频数据,包括多帧连续的视频图像数据。

在一个实施例中,直播视频流对应于一直播会话标识。直播会话标识用于唯一标识直播会话。直播会话,亦可称为直播频道或直播事件,是用户标识所对应的直播客户端与服务器之间建立的与直播相关联的会话。直播会话定义了实现直播所需的相关参数。其中,实现直播所需的相关参数包括直播视频流相关参数,还可以包括用于渲染直播交互界面的网页数据的相关参数。参与同一直播会话的用户可视为在同一直播房间(或称为直播间)。

s304,调用直播客户端的媒体播放器播放直播视频流,形成视频画面。

直播客户端的媒体播放器,是直播客户端中嵌入的媒体播放器。具体地,直播客户端可以调用终端本机操作系统的媒体播放器,并将该媒体播放器放置于直播客户端中,以实现在直播客户端中嵌入媒体播放器。其中,媒体播放器是能够编解码直播视频流,并将解码后的直播视频流以视频画面进行输出显示的播放工具。

视频画面,是直播客户端的媒体播放器对直播视频流进行解码识别后,输出显示的画面。

s306,在视频画面上叠加包括透明区域的网页视图组件。

其中,网页视图组件,是用于加载网页数据以生成对应网页的视图组件。在一个实施例中,网页视图组件可以是webview组件,webview组件是一个基于webkit引擎(一个开源的浏览器引擎)的用于展现web页面的组件。

网页视图组件中的透明区域,是网页视图组件中的能够使被网页视图组件遮挡的界面信息显示出来的区域。比如,网页视图组件中有一块透明区域t,网页视图组件遮挡了视频画面,通过该透明区域t可以将被遮挡的视频画面显示出来。其中,透明区域的透明度可以根据实际需求进行设置,只要满足能够将被网页视图组件遮挡的界面信息显示出来即可。透明区域的透明度越高,被网页视图组件遮挡的界面信息通过透明区域显示的就越清晰。

网页视图组件中的透明区域可以为网页视图组件的部分区域,也可以是网页视图组件的全部区域。网页视图组件的尺寸大小可以与视频画面一致,网页视图组件的尺寸也可以大于或小于视图画面的尺寸。

在一个实施例中,终端可以在视频画面上叠加与视频画面尺寸一致的网页视图组件,且网页视图组件包括与视频画面尺寸一致的透明区域。即网页视图组件的尺寸大小与视频画面尺寸一致,且网页视图组件的全部区域皆为透明区域。可以理解,当视频画面尺寸与终端整个显示屏幕尺寸一致时,即视频画面为全屏播放时,网页视图组件的尺寸也为终端的全屏大小,且网页视图组件全部区域皆为透明区域。本实施例中,将网页视图组件整体设置为透明,减少了对视频播放的局限性,使得直播客户端的媒体播放器不用考虑网页视图组件中的透明区域的位置和大小,从而提高了直播客户端的媒体播放器在输出视频画面的效率。

在一个实施例中,终端中可以预先设置包括透明区域的网页视图组件,终端可以在视频画面上直接叠加预设的包括透明区域的网页视图组件。在另一个实施例中,终端还可以在视频画面上叠加网页视图组件,检测与视频画面的尺寸大小和起始位置,并从网页视图组件中确定与视频画面的尺寸大小和起始位置一致的透明区域。通过视频画面的大小和起始位置来确定网页视图组件中的透明区域,减少了对视频播放的局限性,使得直播客户端的媒体播放器不用考虑网页视图组件中的透明区域的位置和大小,从而提高了直播客户端的媒体播放器在输出视频画面的效率。

s308,获取与直播视频流匹配的网页数据。

其中,与直播视频流匹配的网页数据,是与直播视频流具有关联或对应关系的网页数据。在一个实施例中,与直播视频流匹配的网页数据,可以是与直播视频流对应于同一直播会话标识的网页数据。该网页数据是能够生成直播交互界面的网页数据。在一个实施例中,该网页数据为html5(第5版超文本标记语言)网页数据。

网页数据可以包括静态网页数据,还可以包括动态网页数据。静态网页数据,是被终端获取时就已经生成的非实时性变化的网页数据,比如用于渲染功能组件的网页数据。功能组件,是实现直播交互界面中的各种交互功能的组件。功能组件包括主播信息组件、关注信息组件、评论回复组件、短信息组件、送礼组件、分享组件或点歌组件等。动态网页数据,是实时性变化的网页数据,比如具体的评论内容。

具体地,终端可以通过网页视图组件从服务器中获取与直播视频流匹配的网页数据。终端也可以通过直播客户端拦截网页视图组件发起的网页请求,根据该网页请求,从本地缓存中获取与直播视频流匹配的网页数据。在一个实施例中,当通过直播客户端从本地缓存中获取不到与直播视频流匹配的网页数据时,终端可以再通过直播客户端或通过网页视图组件从服务器获取与直播视频流匹配的网页数据。

s310,根据网页数据,在网页视图组件中渲染能够通过透明区域显示视频画面的直播交互界面。

其中,直播交互界面,是终端与用户进行直播信息交换的界面。可以理解,该直播交互界面中对应于网页视图组件的透明区域的区域也为透明区域。视频画面能够透过该直播交互界面中的透明区域进行显示。

该直播交互界面中包括渲染的功能组件信息,比如评论回复、主播信息、关注信息、送礼信息等信息。

图4为一个实施例中视频直播方法实现时视频画面和网页视图组件的相对位置示意图。参照图4,视频画面位于l1层,网页视图组件叠加于l1层之上位于l2层,视频画面可以透过网页视图组件的透明区域显示出来,比如图4中视频画面中的播放按钮a则透过网页视图组件的透明区域显示出来。加载于网页视图组件上的直播交互界面中包括功能组件信息,比如送礼信息、主播信息和评论等信息。

在一个实施例中,网页视图组件可以将直播交互界面中的这些与功能组件相对应的区域以浮层的形式进行展示。浮层,是将需要展示的内容以浮于基础网页之上进行展示的一种页面内容展示方式。

上述视频直播方法,通过直播客户端获取直播视频流,调用直播客户端的媒体播放器播放直播视频流,形成视频画面,保证了直播视频流播放的稳定性。在视频画面上叠加包括透明区域的网页视图组件,并根据与直播视频流匹配的网页数据,在网页视图组件中渲染能够通过透明区域显示视频画面的直播交互界面,保证了视频画面的可见。通过叠加在视频画面上的网页视图组件来加载直播交互界面,而不用客户端来编码直播交互界面,就可以在发布更新的直播交互页面时,及时的通过网页视图组件来加载更新该直播交互页面,提高了发布迭代效率。

在一个实施例中,步骤s308包括:通过网页视图组件获取与直播视频流对应的直播会话标识,并触发携带直播会话标识的网页请求;通过直播客户端获取网页请求;根据网页请求,从本地查询对应于直播会话标识缓存的网页数据。

其中,终端可以通过网页视图组件根据直播视频流与直播会话标识之间的关联映射关系,获取与直播视频流对应的直播会话标识,并触发生成携带直播会话标识的网页请求。终端可以通过直播客户端以拦截的方式获取该网页请求,也可以通过直播客户端以仅获取不拦截的方式获取该网页请求,比如通过监听的方式获取该网页请求。

终端可以通过直播客户端预先在本地将直播会话标识和用于生成直播交互界面的网页数据进行了对应缓存。终端在通过直播客户端获取网页请求后,可以根据网页请求,从本地查询对应于直播会话标识缓存的网页数据。进而,终端可以通过网页视图组件从直播客户端请求从本地查询到的网页数据。

在上述实施例中,通过获取网页视图组件发送的网页请求,根据获取的网页请求从本地查询对应缓存的网页数据,加快了直播交互界面的加载效率,从而避免了需要通过网络从服务器获取网页数据造成的网络资源的浪费。

在一个实施例中,该方法还包括:将网页请求发送至服务器,使得服务器根据网页请求比较查询到的网页数据与服务器上对应于直播会话标识存储的网页数据是否一致。在步骤s310之后,该方法还包括:接收服务器在判断的结果为不一致时反馈的相应网页数据;根据从服务器接收的网页数据更新直播交互界面。

其中,终端可以通过网页视图组件将网页请求发送至服务器。终端还可以通过直播客户端将网页请求发送至服务器。

在一个实施例,网页请求中除了直播会话标识外,还可以携带从终端本地查询到的网页数据或查询到的网页数据的散列值。网页数据的散列值,是对网页数据通过散列函数运算得到的固定长度值。可以理解,网页数据不发生变化,则该网页数据的散列值唯一。在另一个实施例中,服务器可以从终端本地获取查询到的、且对应于网页请求中的直播会话标识的网页数据或获取该查询到的、且对应于网页请求中的直播会话标识的网页数据的散列值。这里对服务器如何实现比较网页数据与服务器上对应于直播会话标识存储的网页数据是否一致的具体实现方式不作确定。服务器可以根据查询到的网页数据或查询到的网页数据的散列值,比对查询到的网页数据与服务器上对应于直播会话标识存储的网页数据是否一致。

其中,服务器在判断的结果为不一致时反馈的相应网页数据,是服务器上对应于直播会话标识存储的网页数据。具体地,当服务器判断查询到的网页数据与服务器上对应于直播会话标识存储的网页数据不一致时,将服务器上对应于直播会话标识存储的网页数据反馈给终端。终端接收服务器在判断的结果为不一致时反馈的服务器上对应于直播会话标识存储的网页数据,并根据该从服务器接收的网页数据更新直播交互界面。可以理解,当终端是根据直播客户端接收服务器在判断的结果为不一致时反馈的相应网页数据时,终端可以通过网页视图组件从直播客户端请求该反馈的网页数据,并通过网页视图组件根据该反馈的网页数据更新直播交互界面。

上述实施例中,根据服务器在判断的结果为不一致时反馈的相应网页数据,更新直播交互界面,使得直播交互界面的信息更加准确,且不需要通过发布客户端版本来更新直播交互界面,而是及时的通过网页视图组件来加载服务器反馈的相应网页数据,以更新该直播交互页面,提高了发布迭代效率。

在一个实施例中,通过直播客户端获取网页请求,包括:通过直播客户端拦截网页请求。将网页请求发送至服务器,使得服务器根据网页请求比较查询到的网页数据与服务器上对应于直播会话标识存储的网页数据是否一致,包括:通过直播客户端,将网页请求通过与服务器之间的点对点通道传输至服务器,使得服务器根据网页请求比较查询到的网页数据与服务器上存储的与直播会话标识对应的网页数据是否一致。

其中,与服务器之间的点对点通道,是直播客户端与服务器之间建立的直接进行数据传输的私有通道,不同于超文本传输协议通道这一公有通道。在一个实施例中,与服务器之间的点对点通道可以是加密通道,以提高安全性。

上述实施例中,终端通过直播客户端以拦截的方式获取网页请求,并通过直播客户端将网页请求转为通过与服务器之间的点对点通道传输至服务器,相较于通过网页视图组件以公有的超文本传输协议通道进行传输,加快了网页请求的传输速度,在服务器上对应于与直播会话标识存储的网页数据与从终端本地查询到的网页数据不一致时,通过该点对点通道能够更快的获取服务器上对应于与直播会话标识存储的网页数据,从而加快了直播交互界面的更新效率。

在一个实施例中,网页请求携带有本地对应于直播会话标识缓存的、且用于在网页视图组件中渲染各功能组件的网页数据所对应的第一散列值。将网页请求发送至服务器,使得服务器根据网页请求比较查询到的网页数据与服务器上对应于直播会话标识存储的网页数据是否一致,包括:将网页请求发送至服务器,使得服务器根据网页请求比较网页请求携带的第一散列值与相应的第二散列值是否一致;第二散列值,与服务器上对应于直播会话标识存储的用于渲染相应功能组件的网页数据相对应。

其中,本地指终端本地。功能组件,是实现直播交互界面中的各种交互功能的组件。功能组件包括主播信息组件、评论回复组件、关注信息组件或送礼组件等。可以理解,直播交互界面中的功能组件可以根据相应的网页数据在网页视图组件中渲染得到的。

第一散列值,是终端对在本地对应于直播会话标识缓存的、且用于在网页视图组件中渲染各功能组件的网页数据通过散列函数运算得到的散列值。网页请求中除了直播会话标识外,还包括该第一散列值。第二散列值,是服务器上对应于直播会话标识存储的用于渲染与第一散列值对应的功能组件的网页数据通过相同散列函数运算得到的散列值。比如,功能组件为主播信息组件,直播会话标识为id_001,则终端会获取本地与直播会话标识id_001对应缓存的、且用于渲染主播信息组件的网页数据,并计算该网页数据的第一散列值记作n1,终端通过网页视图组件触发生成携带主播信息组件的第一散列值n1和直播会话标识id_001的网页请求,并将该网页请求发送至服务器。服务器会获取服务器上对应于id_001存储的用于渲染主播信息组件的网页数据的第二散列值n2,并比对第一散列值n1和第二散列值n2是否一致。

上述实施例中,通过网页请求携带本地对应于直播会话标识缓存的、且用于在网页视图组件中渲染各功能组件的网页数据所对应的第一散列值,使得服务器比对第一散列值和相应的第二散列值来判断直播交互界面是否有更新,而不需要发送本地查询到的完整的网页数据给服务器进行比对,减少了网络传输的数据量,从而降低了网络资源的消耗,且提高了网络传输效率。此外,通过将各功能组件单独进行更新,比将整个直播交互界面的完整的网页数据统一进行更新而言,减少了更新时的数据处理量,减轻了界面更新的负担,提高了更新效率。

如图5所示,在一个实施例中,该方法还包括视频播放控制步骤,具体包括以下步骤:

s502,通过网页视图组件发起播放控制请求。

其中,播放控制请求,是用于控制直播客户端的媒体播放器对直播视频流的播放的请求。

终端可以通过网页视图组件接收作用于直播交互界面上的播放控制指令,并响应于该播放控制指令生成播放控制请求。终端还可以通过网页视图组件获取服务器发的播放控制配置信息,并根据该播放控制配置信息生成播放控制请求。其中,播放控制配置信息,是配置的、对播放直播视频流的媒体播放器起播放控制作用的信息。

在一个实施例中,终端可以通过网页视图组件使用jsbridge://协议发起播放控制请求。其中,jsbridge为一个特殊协议的请求,用于实现网页与终端本地的通信。

s504,拦截播放控制请求,解析播放控制请求中的命令字。

其中,命令字,是能够针对直播客户端的媒体播放器对直播视频流的播放起控制作用的字符,比如,对视频的播放、暂停、缩小、放大、音效的播放或页面动画更新等对应的命令字。终端在拦截播放控制请求后,可以按照约定规则解析出播放控制请求中的命令字。在一个实施例中,终端可以通过直播客户端拦截播放控制请求,并通过直播客户端解析播放控制请求中的命令字。

s506,根据命令字,控制直播客户端的媒体播放器对直播视频流的播放。

具体地,终端可以通过直播客户端控制直播客户端的媒体播放器执行解析出的命令字,以对直播视频流进行播放。

图6为一个实施例中视频直播方法实现时的交互关系示意图。参照图6,网页视图组件通过jsbridge方式来控制直播客户端的媒体播放器的播放,直播客户端通过点对点通道获取服务器反馈的网页数据,并通过网页视图组件加载该反馈的网页数据进行直播交互界面的更新。

上述实施例中,将网页视图组件和直播客户端的媒体播放器对直播视频流的播放结合起来,通过网页视图组件发起对视频播放控制,实现了对播放的有效控制,避免了因无合理控制造成的播放资源的浪费。

如图7所示,在一个实施例中,步骤s502具体包括以下步骤:

s702,通过网页视图组件获取服务器发布的播放控制配置信息。

其中,播放控制配置信息,是配置的、对播放直播视频流的媒体播放器起播放控制作用的信息。播放控制配置信息包括播放控制方法和相应的播放控制参数。播放控制方法包括播放显示状态控制方法、播放进度控制方法或音量控制方法等。播放显示状态控制方法,用于控制直播客户端的媒体播放器播放直播视频流时,所生成的视频画面的显示状态。播放显示状态控制方法包括播放清晰度控制方法或显示亮度控制方法等。播放控制参数包括播放时间、网络信号、播放地理位置或登录直播客户端的用户标识所对应的用户等级。播放时间可以为绝对时间或相对时间,绝对时间包括时间点或时间段。

s704,通过网页视图组件,向直播客户端请求播放控制配置信息中指定的播放控制参数值。

具体地,直播客户端具有获取与播放控制参数对应的参数值的能力。终端通过网页视图组件向直播客户端请求播放控制配置信息中指定的播放控制参数所对应的参数值。直播客户端获取并提供所请求的播放控制参数所对应的参数值至网页视图组件。

s706,当播放控制参数值符合播放控制配置信息所指定的播放控制参数条件时,通过网页视图组件并按照播放控制配置信息发起相应的播放控制请求。

其中,播放控制配置信息还包括播放控制参数条件。终端可以通过网页视图组件比对所请求到的播放控制参数值与播放控制配置信息所指定的对应的播放控制参数条件是否一致,若一致,则可以通过网页视图组件并按照播放控制配置信息发起相应的播放控制请求。在一个实施例中,当播放控制参数值符合播放控制配置信息所指定的播放控制参数条件时,终端可以通过网页视图组件并按照播放控制配置信息中的播放控制方法发起相应的播放控制请求。

比如,播放控制配置信息中指定的播放控制参数为时间、播放控制方法为降低音量至15级,指定的播放控制参数条件为23:00至8:00之间。则网页视图组件可以向直播客户端请求当前时间,直播客户端获取当前时间为23:30返回给网页视图组件,网页视图组件则根据播放控制方法“降低音量至15级”发起相应的音量降低控制请求,以控制直播客户端的媒体播放器将播放音量降低至15级。

上述实施例中,通过网页视图组件获取服务器发布的播放控制配置信息,对直播客户端的媒体播放器的直播视频流的播放进行控制,即直接通过网页发布新的播放控制配置信息,就可实现对直播视频流的新的播放控制功能,而不需要发布新的客户端版本来更新播放控制功能,提高了发布迭代效率。

在一个实施例中,该方法还包括:获取作用于直播交互界面的二级网页视图触发指令;响应于二级网页视图触发指令,在网页视图组件上叠加另一个网页视图组件;获取与另一个网页视图组件关联的网页数据;根据与另一个网页视图组件关联的网页数据,在另一个网页视图组件中渲染相应的交互界面的步骤。

其中,二级网页视图,是在初始化直播交互界面时不生成的、且由作用于直播交互界面的二级网页视图触发指令触发生成的网页视图组件。

在一个实施例中,作用于直播交互界面上的二级网页视图触发指令,可以是由作用于直播交互界面上的相应位置或相应功能组件触发生成的。其中,功能组件包括关注信息组件、主播信息组件或送礼组件等

具体地,终端可以通过叠加的该另一个网页视图组件向服务器获取与该另一个网页视图组件关联的网页数据。终端也可以从本地获取与该另一个网页视图组件关联的网页数据。在一个实施例中,与另一个网页视图组件关联的网页数据,可以是与作用于直播交互界面上的相应功能组件所关联的网页数据,还可以是与作用于直播交互界面上的相应位置所关联的网页数据。

比如,用户点击直播交互界面上的关注信息组件,触发生成二级网页视图的触发指令,终端响应于二级网页视图触发指令,在直播交互界面所位于的网页视图组件上叠加另一个网页视图组件,并获取与关注信息组件关联的关注信息列表,根据关注信息列表,在所叠加的另一个网页视图组件中渲染相应的关注信息列表交互页面。

上述实施例中,通过叠加二级网页视图组件,来渲染相应的交互界面,减少了直播交互界面的界面内容,减少了直播交互界面的页面负担,且减少了加载直播交互界面时所要消耗的资源。此外,通过叠加二级网页视图组件来增加新的交互界面,丰富了交互界面内容。

如图8所示,在一个实施例中,提供了另一种视频直播方法,该方法具体包括以下步骤:

s802,通过直播客户端获取直播视频流。

s804,调用直播客户端的媒体播放器播放直播视频流,形成视频画面。

s806,在视频画面上叠加与视频画面尺寸一致的网页视图组件,且网页视图组件包括与视频画面尺寸一致的透明区域。

s808,通过网页视图组件获取与直播视频流对应的直播会话标识,并触发携带直播会话标识的网页请求。

s810,通过直播客户端拦截网页请求,根据网页请求,从本地查询对应于直播会话标识缓存的网页数据。

s812,根据本地查询的对应于直播会话标识缓存的网页数据,在网页视图组件中渲染能够通过透明区域显示视频画面的直播交互界面。

s814,通过直播客户端,将网页请求通过与服务器之间的点对点通道传输至服务器,其中,网页请求携带有本地对应于直播会话标识缓存的、且用于在网页视图组件中渲染各功能组件的网页数据所对应的第一散列值,使得服务器根据网页请求比较网页请求携带的第一散列值与相应的第二散列值是否一致;第二散列值,与服务器上对应于直播会话标识存储的用于渲染相应功能组件的网页数据相对应。

s816,接收服务器在判断的结果为不一致时反馈的相应网页数据。

s818,根据从服务器接收的网页数据更新直播交互界面。

s820,通过网页视图组件获取服务器发布的播放控制配置信息。

s822,通过网页视图组件,向直播客户端请求播放控制配置信息中指定的播放控制参数值。

s824,当播放控制参数值符合播放控制配置信息所指定的播放控制参数条件时,通过网页视图组件并按照播放控制配置信息发起相应的播放控制请求。

s826,拦截播放控制请求,解析播放控制请求中的命令字,根据命令字,控制直播客户端的媒体播放器对直播视频流的播放。

s828,获取作用于直播交互界面的二级网页视图触发指令。

s830,响应于二级网页视图触发指令,在网页视图组件上叠加另一个网页视图组件。

s832,获取与另一个网页视图组件关联的网页数据,根据与另一个网页视图组件关联的网页数据,在另一个网页视图组件中渲染相应的交互界面。

上述视频直播方法,通过直播客户端获取直播视频流,调用直播客户端的媒体播放器播放直播视频流,形成视频画面,保证了视频流播放的稳定性。通过叠加在视频画面上的包括透明区域的网页视图组件来加载直播交互界面,而不用客户端来编码直播交互界面,就可以在发布更新的直播交互页面时,及时的通过网页视图组件来加载更新该直播交互页面,提高了直播客户端所实现功能的更新效率。

其次,将网页视图组件整体设置为透明,减少了对视频播放的局限性,使得直播客户端的媒体播放器不用考虑网页视图组件中的透明区域的位置和大小,从而提高了直播客户端的媒体播放器在输出视频画面的效率。

然后,终端通过直播客户端以拦截的方式获取网页请求,并通过直播客户端将网页请求转为通过与服务器之间的点对点通道传输至服务器,相较于通过网页视图组件以公有的超文本传输协议通道进行传输,加快了网页请求的传输速度,在服务器上对应于与直播会话标识存储的网页数据与终端本地查询到的网页数据不一致时,通过该点对点通道能够更快的获取服务器上对应于与直播会话标识存储的网页数据,从而加快了直播交互界面的更新效率。

此外,通过网页请求携带本地对应于直播会话标识缓存的、且用于在网页视图组件中渲染各功能组件的网页数据所对应的第一散列值,使得服务器比对第一散列值和相应的第二散列值来判断直播交互界面是否有更新,减少了网络传输的数据量,从而降低了网络资源的消耗,且提高了网络传输效率。通过将各功能组件单独进行更新,比将整个直播交互界面的完整的网页数据统一进行更新而言,减少了更新时的数据处理量,减轻了界面更新的负担,提高了更新效率。

另外,通过网页发布新的播放控制配置信息,就可实现对直播视频流的新的播放控制功能,而不需要发布新的客户端版本来更新播放控制功能,提高了发布迭代效率。

如图9所示,在一个实施例中,提供了一种视频直播装置900,该装置900包括直播客户端902和第一网页视图组件904,其中:

直播客户端902,用于获取直播视频流;以及调用直播客户端902的媒体播放器播放直播视频流,形成视频画面。

直播客户端902还用于在视频画面上叠加包括透明区域的第一网页视图组件904。

第一网页视图组件904,用于获取与直播视频流匹配的网页数据;根据网页数据,在网页视图组件中渲染能够通过透明区域显示视频画面的直播交互界面。

在一个实施例中,直播客户端902还用于在视频画面上叠加与视频画面尺寸一致的第一网页视图组件904,且第一网页视图组件904包括与视频画面尺寸一致的透明区域。

在一个实施例中,第一网页视图组件904还用于通过第一网页视图组件904获取与直播视频流对应的直播会话标识,并触发携带直播会话标识的网页请求。

直播客户端902还用于获取网页请求;根据网页请求,从本地查询对应于直播会话标识缓存的网页数据。

在一个实施例中,直播客户端902还用于将网页请求发送至服务器,使得服务器根据网页请求比较查询到的网页数据与服务器上对应于直播会话标识存储的网页数据是否一致。

第一网页视图组件904还用于接收服务器在判断的结果为不一致时反馈的相应网页数据;根据从服务器接收的网页数据更新直播交互界面。

在一个实施例中,直播客户端902还用于拦截网页请求;将网页请求通过与服务器之间的点对点通道传输至服务器,使得服务器根据网页请求比较查询到的网页数据与服务器上存储的与直播会话标识对应的网页数据是否一致。

在一个实施例中,网页请求携带有本地对应于直播会话标识缓存的、且用于在第一网页视图组件904中渲染各功能组件的网页数据所对应的第一散列值。

直播客户端902还用于将网页请求发送至服务器,使得服务器根据网页请求比较网页请求携带的第一散列值与相应的第二散列值是否一致;第二散列值,与服务器上对应于直播会话标识存储的用于渲染相应功能组件的网页数据相对应。

在一个实施例中,第一网页视图组件904还用于发起播放控制请求。

直播客户端902还用于拦截播放控制请求,解析播放控制请求中的命令字;根据命令字,控制直播客户端902的媒体播放器对直播视频流的播放。

在一个实施例中,第一网页视图组件904还用于获取服务器发布的播放控制配置信息;向直播客户端902请求播放控制配置信息中指定的播放控制参数值;当播放控制参数值符合播放控制配置信息所指定的播放控制参数条件时,按照播放控制配置信息发起相应的播放控制请求。

如图10所示,在一个实施例中,该装置900还包括第二网页视图组件906。

第一网页视图组件904还用于获取作用于直播交互界面的二级网页视图触发指令并通知直播客户端。

直播客户端902还用于响应于二级网页视图触发指令,在第一网页视图组件上叠加第二网页视图组件906。

第二网页视图组件906,用于获取与第二网页视图组件关联的网页数据;根据与第二网页视图组件关联的网页数据,在第二网页视图组件中渲染相应的交互界面。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是图2中所示的终端。该计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行以下步骤:通过直播客户端获取直播视频流;调用直播客户端的媒体播放器播放直播视频流,形成视频画面;在视频画面上叠加包括透明区域的网页视图组件;获取与直播视频流匹配的网页数据;根据网页数据,在网页视图组件中渲染能够通过透明区域显示视频画面的直播交互界面。

在一个实施例中,处理器所执行的在视频画面上叠加包括透明区域的网页视图组件包括:在视频画面上叠加与视频画面尺寸一致的网页视图组件,且网页视图组件包括与视频画面尺寸一致的透明区域。

在一个实施例中,处理器所执行的获取与直播视频流匹配的网页数据包括:通过网页视图组件获取与直播视频流对应的直播会话标识,并触发携带直播会话标识的网页请求;通过直播客户端获取网页请求;根据网页请求,从本地查询对应于直播会话标识缓存的网页数据。

在一个实施例中,计算机可读指令还使得处理器还执行以下步骤:将网页请求发送至服务器,使得服务器根据网页请求比较查询到的网页数据与服务器上对应于直播会话标识存储的网页数据是否一致。在所述根据所述网页数据,在所述网页视图组件中渲染能够通过所述透明区域显示所述视频画面的直播交互界面之后,处理器还执行以下步骤:接收服务器在判断的结果为不一致时反馈的相应网页数据;根据从服务器接收的网页数据更新直播交互界面。

在一个实施例中,处理器所执行的通过直播客户端获取网页请求包括:通过直播客户端拦截网页请求。

处理器所执行的将网页请求发送至服务器,使得服务器根据网页请求比较查询到的网页数据与服务器上对应于直播会话标识存储的网页数据是否一致,包括:通过直播客户端,将网页请求通过与服务器之间的点对点通道传输至服务器,使得服务器根据网页请求比较查询到的网页数据与服务器上存储的与直播会话标识对应的网页数据是否一致。

在一个实施例中,网页请求携带有本地对应于直播会话标识缓存的、且用于在网页视图组件中渲染各功能组件的网页数据所对应的第一散列值。处理器所执行的将网页请求发送至服务器,使得服务器根据网页请求比较查询到的网页数据与服务器上对应于直播会话标识存储的网页数据是否一致包括:将网页请求发送至服务器,使得服务器根据网页请求比较网页请求携带的第一散列值与相应的第二散列值是否一致;第二散列值,与服务器上对应于直播会话标识存储的用于渲染相应功能组件的网页数据相对应。

在一个实施例中,计算机可读指令还使得处理器还执行以下步骤:通过网页视图组件发起播放控制请求;拦截播放控制请求,解析播放控制请求中的命令字;根据命令字,控制直播客户端的媒体播放器对直播视频流的播放。

在一个实施例中,处理器所执行的通过网页视图组件发起播放控制请求包括:通过网页视图组件获取服务器发布的播放控制配置信息;通过网页视图组件,向直播客户端请求播放控制配置信息中指定的播放控制参数值;当播放控制参数值符合播放控制配置信息所指定的播放控制参数条件时,通过网页视图组件并按照播放控制配置信息发起相应的播放控制请求。

在一个实施例中,计算机可读指令还使得处理器还执行以下步骤:获取作用于直播交互界面的二级网页视图触发指令;响应于二级网页视图触发指令,在网页视图组件上叠加另一个网页视图组件;获取与另一个网页视图组件关联的网页数据;根据与另一个网页视图组件关联的网页数据,在另一个网页视图组件中渲染相应的交互界面。

上述计算机设备,通过直播客户端获取直播视频流,调用直播客户端的媒体播放器播放直播视频流,形成视频画面,保证了视频流播放的稳定性。在视频画面上叠加包括透明区域的网页视图组件,并根据与直播视频流匹配的网页数据,在网页视图组件中渲染能够通过透明区域显示视频画面的直播交互界面,保证了视频画面的可见。通过叠加在视频画面上的网页视图组件来加载直播交互界面,而不用客户端来编码直播交互界面,就可以在发布更新的直播交互页面时,及时的通过网页视图组件来加载更新该直播交互页面,提高了直播客户端所实现功能的更新效率。

在一个实施例中,提供了一个或多个存储有计算机可读指令的非易失性可读存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:通过直播客户端获取直播视频流;调用直播客户端的媒体播放器播放直播视频流,形成视频画面;在视频画面上叠加包括透明区域的网页视图组件;获取与直播视频流匹配的网页数据;根据网页数据,在网页视图组件中渲染能够通过透明区域显示视频画面的直播交互界面。

在一个实施例中,处理器所执行的在视频画面上叠加包括透明区域的网页视图组件包括:在视频画面上叠加与视频画面尺寸一致的网页视图组件,且网页视图组件包括与视频画面尺寸一致的透明区域。

在一个实施例中,处理器所执行的获取与直播视频流匹配的网页数据包括:通过网页视图组件获取与直播视频流对应的直播会话标识,并触发携带直播会话标识的网页请求;通过直播客户端获取网页请求;根据网页请求,从本地查询对应于直播会话标识缓存的网页数据。

在一个实施例中,计算机可读指令还使得处理器还执行以下步骤:将网页请求发送至服务器,使得服务器根据网页请求比较查询到的网页数据与服务器上对应于直播会话标识存储的网页数据是否一致。在所述根据所述网页数据,在所述网页视图组件中渲染能够通过所述透明区域显示所述视频画面的直播交互界面之后,处理器还执行以下步骤:接收服务器在判断的结果为不一致时反馈的相应网页数据;根据从服务器接收的网页数据更新直播交互界面。

在一个实施例中,处理器所执行的通过直播客户端获取网页请求包括:通过直播客户端拦截网页请求。

处理器所执行的将网页请求发送至服务器,使得服务器根据网页请求比较查询到的网页数据与服务器上对应于直播会话标识存储的网页数据是否一致,包括:通过直播客户端,将网页请求通过与服务器之间的点对点通道传输至服务器,使得服务器根据网页请求比较查询到的网页数据与服务器上存储的与直播会话标识对应的网页数据是否一致。

在一个实施例中,网页请求携带有本地对应于直播会话标识缓存的、且用于在网页视图组件中渲染各功能组件的网页数据所对应的第一散列值。处理器所执行的将网页请求发送至服务器,使得服务器根据网页请求比较查询到的网页数据与服务器上对应于直播会话标识存储的网页数据是否一致包括:将网页请求发送至服务器,使得服务器根据网页请求比较网页请求携带的第一散列值与相应的第二散列值是否一致;第二散列值,与服务器上对应于直播会话标识存储的用于渲染相应功能组件的网页数据相对应。

在一个实施例中,计算机可读指令还使得处理器还执行以下步骤:通过网页视图组件发起播放控制请求;拦截播放控制请求,解析播放控制请求中的命令字;根据命令字,控制直播客户端的媒体播放器对直播视频流的播放。

在一个实施例中,处理器所执行的通过网页视图组件发起播放控制请求包括:通过网页视图组件获取服务器发布的播放控制配置信息;通过网页视图组件,向直播客户端请求播放控制配置信息中指定的播放控制参数值;当播放控制参数值符合播放控制配置信息所指定的播放控制参数条件时,通过网页视图组件并按照播放控制配置信息发起相应的播放控制请求。

在一个实施例中,计算机可读指令还使得处理器还执行以下步骤:获取作用于直播交互界面的二级网页视图触发指令;响应于二级网页视图触发指令,在网页视图组件上叠加另一个网页视图组件;获取与另一个网页视图组件关联的网页数据;根据与另一个网页视图组件关联的网页数据,在另一个网页视图组件中渲染相应的交互界面。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1