视频直播方法、装置及用户终端与流程

文档序号:11732320阅读:188来源:国知局
视频直播方法、装置及用户终端与流程

本发明涉及视频直播技术领域,具体而言,涉及一种视频直播方法、装置及用户终端。



背景技术:

现在直播行业十分火爆,有大量的直播内容,视频直播是指利用互联网及流媒体技术进行直播,视频因融合了图像、文字、声音等丰富元素,声形并茂,效果极佳,逐渐成为互联网的主流表达方式,视频直播通过真实、生动的传播可以营造出强烈的现场感。但现有的直播内容中有的没有主播实况内容,以唯一可视化窗口向用户呈现视频;有的主播实况内容与直播内容一起呈现给用户观看,主播实况内容可能会遮挡直播内容的一些重要场景,这样降低了用户体验感。比如在游戏直播中有些用户希望能看到主播打游戏时的神情,进行第一视角交互而不是只观看到游戏界面,这个时候需要呈现主播实况的画面,但是主播实况画面会遮挡住部分游戏界面的内容,但由于加载的是一个视频流,用户无法对该主播实况画面进行调整和处理,导致用户会错过一些关键精彩的直播内容。

因此,如何解决上述问题,一直以来都是本领域技术人员关注的重点。



技术实现要素:

本发明的目的在于提供一种视频直播方法、装置,以改善上述问题。

本发明的目的还在于提供一种用户终端,以改善上述问题。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提出一种视频直播方法,所述视频直播方法包括:获取直播流地址和主播实况流地址;初始化直播播放器以在预设的直播视频层播放通过所述直播流地址获取的直播画面;以及初始化主播实况播放器以在预设的主播实况层播放通过所述主播实况流地址获取的主播实况画面。

第二方面,本发明实施例还提出一种视频直播装置,所述视频直播装置包括:地址获取模块,用于获取直播流地址和主播实况流地址;直播播放器初始化模块,用于初始化直播播放器以在预设的直播视频层播放通过所述直播流地址获取的直播画面;以及主播实况播放器初始化模块,用于初始化主播实况播放器以在预设的主播实况层播放通过所述主播实况流地址获取的主播实况画面。

第三方面,本发明实施例还提出一种用户终端,所述用户终端包括:存储器;处理器;及

视频直播装置,所述视频直播装置存储在所述存储器中并包括一个或多个由所述处理器执行的软件功能模块,所述视频直播装置包括:地址获取模块,用于获取直播流地址和主播实况流地址;直播播放器初始化模块,用于初始化直播播放器以在预设的直播视频层播放通过所述直播流地址获取的直播画面;以及主播实况播放器初始化模块,用于初始化主播实况播放器以在预设的主播实况层播放通过所述主播实况流地址获取的主播实况画面。

相对现有技术,本发明具有以下有益效果:本发明实施例提供的视频直播方法、装置及用户终端,通过获取直播流地址和主播实况流地址,初始化直播播放器以在预设的直播视频层播放通过所述直播流地址获取的直播画面,以及初始化主播实况播放器以在预设的主播实况层播放通过所述主播实况流地址获取的主播实况画面。本发明实施例通过加载两个视频流使用户可同时观看直播画面和主播实况画面,提升了用户的观看体验。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例所提供的视频直播方法、装置及用户终端的应用环境示意图。

图2示出了本发明实施例所提供的用户终端的结构框图。

图3示出了本发明第一实施例所提供的视频直播装置的功能模块图。

图4示出了本发明第二实施例所提供的视频直播方法的流程示意图。

图标:100-用户终端;200-服务器;300-网络;110-存储器;120-存储控制器;130-处理器;140-外设接口;150-射频单元;160-音频单元;170-显示单元;180-输入输出单元;400-视频直播装置;410-直播视频层设置模块;420-主播实况层设置模块;430-地址获取模块;440-直播播放器初始化模块;450-主播实况播放器初始化模块;460-指令响应模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

本发明的一个实施例所提供的视频直播方法、装置及用户终端可应用于如图1所示的应用环境中。如图1所示,用户终端100、服务器200位于网络300中,所述用户终端100与服务器200通过网络300进行数据交互。在本发明实施例中,所述用户终端100可以是,但不限于,智能手机、平板电脑、个人电脑(personalcomputer,pc)、移动上网设备(mobileinternetdevice,mid)、个人数字助理(personaldigitalassistant,pda)等电子设备。所述用户终端100中安装有至少一个应用程序(application,app),例如斗鱼,与服务器200相对应,为用户提供服务。

图2示出了一种可应用于本发明实施例的视频直播方法及装置的用户终端100的结构框图。如图2所示,用户终端100可以包括存储器110、存储控制器120、处理器130、外设接口140、射频单元150、音频单元160、显示单元170及输入输出单元180。所述存储器110、存储控制器120、处理器130、外设接口140、射频单元150、音频单元160、显示单元170及输入输出单元180,各元件之间直接或间接地电性连接,以实现数据的传输或者交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现典型连接。在本实施例中,视频直播装置400包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中或固化在所述用户终端100的操作系统(operatingsystem,os)中的软件功能模块。该处理器130用于执行所述存储器110中存储的可执行模块,例如该视频直播装置400所包括的软件功能模块及计算机程序等。

其中,所述存储器110可以是但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。存储器110可用于存储软件程序以及模块,如本发明实施例中的视频直播方法,处理器130用于在接收到执行指令后,执行该程序。该处理器130以及其他可能的组件对存储器110的访问可在存储控制器120的控制下进行。

所述处理器130可能是一种集成电路芯片,具有信号处理能力。该处理器130可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp))、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

所述外设接口140将各种输入/输出装置(例如射频单元150、音频单元160、显示单元170及输入输出单元180)耦合至该处理器130以及该存储器110。在一些实施例中,外设接口140、处理器130以及存储控制器120可以在单个芯片中实现。在其他一些实例中,它们可以分别由独立的芯片实现。

所述射频单元150用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而实现所述用户终端100与网络300或者其他通信设备进行通讯。

所述音频单元160用于向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。

所述显示单元170在用户终端100与用户之间同时提供一个交互界面(例如用户操作界面)。在本实施例中,所述显示单元170可以是液晶显示器或触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处产生的触控操作,并将该感应到的触控操作交由处理器130进行计算和处理。

所述输入输出单元180用于提供用户输入数据实现用户与所述用户终端100的交互。所述输入输出单元180可以是,但不限于,鼠标、键盘等。

可以理解,图2所示的结构仅为示意,所述用户终端100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。

第一实施例

请参照图3,为本发明第一实施例所提供的视频直播装置400的结构框图。所述视频直播装置400包括直播视频层设置模块410、主播实况层设置模块420、地址获取模块430、直播播放器初始化模块440、主播实况播放器初始化模块450及指令响应模块460。

所述直播视频层设置模块410用于预设所述直播视频层的宽度和高度。

所述主播实况层设置模块420用于预设所述主播实况层的宽度和高度。

例如,在本实施例中,应用程序(例如斗鱼)打开后,根据网页数据初始化flash播放器,可依据显示屏幕的尺寸、大小等设置flash播放器的宽度stageweight和高度stageheight,并在flash播放器内设置直播视频层和主播实况层,且所述主播实况层的层级高于所述直播视频层的层级,使主播实况画面在直播画面之上。优选地,可设置直播视频层的宽度为所述flash播放器的宽度stageweight,设置直播视频层的高度为所述flash播放器的高度stageheight。设置所述主播实况层的宽度为第一初始值w1,所述主播实况层的高度为第二初始值h1,在本实施例中,可以预设所述第一初始值w1和第二初始值h1为200,但不限于此。

在本发明实施例中,当所述主播实况层的宽度与所述直播视频层的宽度符合第一预设条件时,或当所述主播实况层的高度与所述直播视频层的高度符合第二预设条件时,所述主播实况层设置模块420用于对所述主播实况层的宽度和高度进行等比缩放,控制所述主播实况层的宽度与所述直播视频层的宽度的比值低于第一预设值,以及控制所述主播实况层的高度与直播视频层的高度的比值低于第二预设值,以使所述主播实况层播放的画面不扭曲,有利于用户观看直播时的操作(比如拖拽主播实况画面)。需要说明的是,在本实施例中,所述第一预设条件可以是所述主播实况层的宽度大于所述直播视频层宽度的一半,所述第二预设条件可以是所述主播实况层的高度大于所述直播视频层高度的一半,但不限定于此。同时,在本实施例中,可以设定第一预设值及第二预设值为50%,但是也不限定于此。

需要说明的是,对所述主播实况层的宽度和高度进行等比缩放时的等比缩放值可依据所述主播实况层的宽度缩放至直播视频层宽度的一半时的第一缩放值以及所述主播实况层的高度缩放至直播视频层高度的一半时的第二缩放值得到。例如,依据公式scaw=(stageweight×0.5)/w1计算第一缩放值scaw,依据公式scah=(stageheight×0.5)/h1计算第二缩放值scah,然后将第一缩放值scaw和第二缩放值scah两者中的最小值作为等比缩放值sca(例如,sca=scah<scaw?scah:scaw),依据该等比缩放值sca对所述主播实况层的宽度和高度进行等比缩放。

所述地址获取模块430用于获取直播流地址和主播实况流地址。

在本实施例中,通过向服务器200发送http请求以获取直播流地址url1和主播实况流地址url2。需要说明的是,在本实施例中,所述直播流地址url1不为空,因为在直播过程中直播画面是一定存在的,主播实况流地址url2可以为空,在部分直播中可以不提供主播实况画面或者主播已经出现在直播画面中。

所述直播播放器初始化模块440用于初始化直播播放器以在预设的直播视频层播放通过直播流地址获取的直播画面。

在本实施例中,通过分析获取的直播流地址url1中是基于http还是rtmp的视频流,相应地播放http流或者rtmp流到所述直播播放器中,所述直播播放器初始化模块440用于将所述直播播放器添加至所述直播视频层,并依据所述直播视频层的宽度和高度设置所述直播播放器的宽度和高度,此时直播画面由所述直播播放器在所述直播视频层播放,用户可以观看到直播画面。优选地,可设置直播播放器的宽度和高度分别与所述直播视频层的宽度和高度一致。

所述主播实况播放器初始化模块450用于初始化主播实况播放器以在预设的主播实况层播放通过主播实况流地址获取的主播实况画面。

在本实施例中,当主播实况流地址url2不为空时,通过分析获取的主播实况流地址url2中是基于http或rtmp的视频流,相应地播放http流或者rtmp流到所述主播实况播放器中,所述主播实况播放器初始化模块450用于将所述主播实况播放器添加至所述主播实况层,依据所述主播实况层的宽度和高度设置所述主播实况播放器的宽度和高度,此时主播实况画面由所述主播实况播放器在所述主播实况层播放,用户可以观看到主播实况画面。优选地,可设置主播实况播放器的宽度和高度分别与所述主播实况层的宽度和高度一致。

所述指令响应模块460用于响应用户的操作指令,控制所述主播实况播放器显示、隐藏或移动。

在本实施例中,可通过设定按钮、指令等交互方式控制主播实况播放器的显示、隐藏及移动。例如,用户在观看游戏直播时,可以同时看到直播画面(即游戏界面)和主播实况画面(主播打游戏的神情、操作等),倘若此时的主播实况画面挡住了游戏界面的一些精彩部分,用户可通过双击直播视频层就可以控制主播实况播放器隐藏(此时用户只能看见直播画面,主播实况画面已经隐藏),再次双击直播视频层就可以控制主播实况画面显示在直播画面上。同时,在初始化所述主播实况播放器时可以设置其可拖拽移动的区域,在主播实况画面影响到用户的观看时,用户可以根据自己的个人喜好习惯对主播实况播放器进行拖拽操作,以将主播实况播放器移动至其他不影响观看直播画面的区域,或者自己喜好的区域,用户观看体验较好。

第二实施例

请参照图4,为本发明第二实施例所提供的视频直播方法的流程示意图。需要说明的是,本发明实施例所述的视频直播方法并不以图4以及以下所述的具体顺序为限制,其基本原理及产生的技术效果与第一实施例相同,为简要描述,本实施例中未提及部分,可参考第一实施例中的相应内容。应当理解,在其它实施例中,本发明所述的视频直播方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图4所示的具体流程进行详细阐述。

步骤s101,预设所述直播视频层的宽度和高度。

可以理解,该步骤s101可以由上述的直播视频层设置模块410执行。

步骤s102,预设所述主播实况层的宽度和高度。

可以理解,该步骤s102可以由上述的主播实况层设置模块420执行。

例如,在本实施例中,应用程序(例如斗鱼)打开后,根据网页数据初始化flash播放器,可依据显示屏幕的尺寸、大小等设置flash播放器的宽度stageweight和高度stageheight,并在flash播放器内设置直播视频层和主播实况层,且所述主播实况层的层级高于所述直播视频层的层级,使主播实况画面在直播画面之上。优选地,可设置直播视频层的宽度为所述flash播放器的宽度stageweight,设置直播视频层的高度为所述flash播放器的高度stageheight。设置所述主播实况层的宽度为第一初始值w1,所述主播实况层的高度为第二初始值h1,在本实施例中,可以预设所述第一初始值w1和第二初始值h1为200,但不限于此。

在本发明实施例中,当所述主播实况层的宽度与所述直播视频层的宽度符合第一预设条件时,或当所述主播实况层的高度与所述直播视频层的高度符合第二预设条件时,依据计算得到的等比缩放值对所述主播实况层的宽度和高度进行等比缩放,控制所述主播实况层的宽度与所述直播视频层的宽度的比值低于第一预设值,以及控制所述主播实况层的高度与直播视频层的高度的比值低于第二预设值,以使所述主播实况层播放的画面不扭曲,有利于用户观看直播时的操作(比如拖拽主播实况画面)。需要说明的是,在本实施例中,所述第一预设条件可以是所述主播实况层的宽度大于所述直播视频层宽度的一半,所述第二预设条件可以是所述主播实况层的高度大于所述直播视频层高度的一半,但不限定于此。同时,在本实施例中,可以设定第一预设值及第二预设值为50%,但是也不限定于此。

步骤s103,获取直播流地址和主播实况流地址。

在本实施例中,通过向服务器200发送http请求以获取直播流地址url1和主播实况流地址url2。需要说明的是,在本实施例中,所述直播流地址url1不为空,因为在直播过程中直播画面是一定存在的,主播实况流地址url2可以为空,在部分直播中可以不提供主播实况画面或者主播已经出现在直播画面中。

可以理解,该步骤s103可以由上述的地址获取模块430执行。

步骤s104,初始化直播播放器以在预设的直播视频层播放通过直播流地址获取的直播画面。

在本实施例中,通过分析获取的直播流地址url1中是基于http还是rtmp的视频流,相应地播放http流或者rtmp流到所述直播播放器中。优选地,将所述直播播放器添加至所述直播视频层,并依据所述直播视频层的宽度和高度设置所述直播播放器的宽度和高度,此时直播画面由所述直播播放器在所述直播视频层播放,用户可以观看到直播画面。优选地,可设置直播播放器的宽度和高度分别与所述直播视频层的宽度和高度一致。

可以理解,该步骤s104可以由上述的直播播放器初始化模块440执行。

步骤s105,初始化主播实况播放器以在预设的主播实况层播放通过主播实况流地址获取的主播实况画面。

在本实施例中,当主播实况流地址url2不为空时,通过分析获取的主播实况流地址url2中是基于http或rtmp的视频流,相应地播放http流或者rtmp流到所述主播实况播放器中。优选地,将所述主播实况播放器添加至所述主播实况层,依据所述主播实况层的宽度和高度设置所述主播实况播放器的宽度和高度,此时主播实况画面由所述主播实况播放器在所述主播实况层播放,用户可以观看到主播实况画面。优选地,可设置主播实况播放器的宽度和高度分别与所述主播实况层的宽度和高度一致。

可以理解,该步骤s105可以由上述的主播实况播放器初始化模块450执行。

步骤s106,响应用户的操作指令,控制所述主播实况播放器显示、隐藏或移动。

在本实施例中,可通过设定按钮、指令等交互方式控制主播实况播放器的显示、隐藏及移动。例如,用户在观看游戏直播时,可以同时看到直播画面(即游戏界面)和主播实况画面(主播打游戏的神情、操作等),倘若此时的主播实况画面挡住了游戏界面的一些精彩部分,用户可通过双击直播视频层就可以控制主播实况播放器隐藏(此时用户只能看见直播画面,主播实况画面已经隐藏),再次双击直播视频层就可以控制主播实况画面显示在直播画面上。同时,在初始化所述主播实况播放器时可以设置其可拖拽移动的区域,在主播实况画面影响到用户的观看时,用户可以根据自己的个人喜好习惯对主播实况播放器进行拖拽操作,以将主播实况播放器移动至其他不影响观看直播画面的区域,或者自己喜好的区域,用户观看体验较好。

可以理解,该步骤s106可以由上述的指令响应模块460执行。

综上所述,本发明实施例所提供的视频直播方法、装置及用户终端,通过预设直播视频层的宽度以及主播实况层的宽度,当主播实况层的宽度与直播视频层的宽度符合第一预设条件时,或当主播实况层的高度与直播视频层的高度符合第二预设条件时,对主播实况层的高度和宽度进行等比缩放,控制所述主播实况层的宽度与所述直播视频层的宽度的比值低于第一预设值,以及控制所述主播实况层的高度与直播视频层的高度的比值低于第二预设值,以使所述主播实况层播放的画面不扭曲,有利于用户观看直播时的操作;获取直播流地址和主播实况流地址,初始化直播播放器以在预设的直播视频层播放通过所述直播流地址获取的直播画面,以及初始化主播实况播放器以在预设的主播实况层播放通过所述主播实况流地址获取的主播实况画面,可通过响应用户观看直播画面与主播实况画面的过程中的操作指令控制所述主播实况播放器显示、隐藏或者移动。本发明实施例通过加载两个视频流使用户可同时观看直播画面和主播实况画面,并且用户可以根据自己的喜好和观看习惯控制主播实况画面显示、隐藏或者移动,提升了用户的观看体验。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

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