一种直播视频流的传输方法、主播端设备与流程

文档序号:12378955阅读:300来源:国知局
一种直播视频流的传输方法、主播端设备与流程

本发明涉及通信技术领域,尤其涉及一种直播视频流的传输方法、主播端设备。



背景技术:

随着科学技术的不断发展,通信技术也得到了飞速的发展,电子产品的种类也越来越多,人们也享受到了科技发展带来的各种便利。现在人们可以通过各种类型的移动终端,享受随着科技发展带来的舒适生活。例如,智能手机、平板电脑等移动终端已经成为人们生活中一个重要的组成部分,用户可以使用智能手机、平板电脑等移动终端来听音乐、玩游戏、观看网络直播等等,以减轻现代快节奏生活所带来的压力。

网络直播,是不同用户在同一时刻透过网络系统在交流平台实现直播互动的一种娱乐方式。直播的内容可以是个人秀、游戏、电影等等。网络直播大多数都是直播个人秀,通常情况下,我们把直播个人秀的用户称为主播或者网络主播。

而主播在进行个人秀时,主播端设备会实时和观众端设备通信进行互动。这些互动信息都需要直播服务器进行中转。

而在网络直播中,主播端设备的视频播放的流畅度,很大程度上会影响观众的积极性。但是,目前即便处于网络较好的情况下,某些主播端设备在上传直播视频流时也会出现画面卡死的情况,影响观众端设备的观看网络直播的质量,进而显著降低了观众端设备观看网络直播的积极性,不利于移动互联技术的普及和发展。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种直播视频流的传输方法、主播端设备。

本发明的一个方面,提供了一种直播视频流的传输方法,所述方法包括:

获得所述主播端设备的硬件参数;

基于所述主播端设备的硬件参数,确定所述主播端设备在直播中上传直播视频流的上行码流参数;

按照所述上行码流参数上传所述直播视频流给直播服务器,进而使得所述直播服务器将所述直播视频流下发给所述主播端设备对应的观众端设备。

优选的,所述获得所述主播端设备的硬件参数,包括:

获得所述主播端设备的机型参数,所述主播端设备的机型参数包括:具有ios操作系统的机型参数和具有其他操作系统的机型参数。

优选的,若所述主播端设备的机型参数为具有ios操作系统的机型参数;

所述基于所述主播端设备的硬件参数,确定所述主播端设备在直播中上传直播视频流的码率,包括:

基于所述主播端设备的ios操作系统的机型参数,从第一映射关系中确定所述主播端设备的机型参数对应的上行码流参数,其中,所述第一映射关系具体是具有ios操作系统的机型参数和所述上行码流参数的映射关系。

优选的,若所述主播端设备的机型参数为具有其他操作系统的机型参数;

所述获得所述主播端设备的硬件参数,包括:

基于所述主播端设备的具有其他操作系统的机型参数,进一步获得所述主播端设备的内存、硬盘、图像处理器GPU、核数、CPU主核、系统版本、摄像头性能参数中的一种或者多种硬件参数。

优选的,所述基于所述主播端设备的硬件参数,确定所述主播端设备在直播中上传直播视频流的上行码流参数,包括:

基于所述主播端设备的具有其他操作系统的机型参数,从第二映射关系中确定所述主播端设备的机型参数对应的上行码流参数,其中,所述第二映射关系具体是所述主播端设备的内存、硬盘、图像处理器GPU、核数、CPU主核、系统版本、摄像头性能参数中的一种或者多种硬件参数和所述上行码流参数的隐身关系。

优选的,所述上行码流参数包括码率、帧率、分辨率的一种或者多种。

本发明的一个方面,提供了一种主播端设备,包括:

获得模块,用于获得所述主播端设备的硬件参数;

确定模块,用于基于所述主播端设备的硬件参数,确定所述主播端设备在直播过程中用于上传直播视频流的上行码流参数;

传输模块,用于按照所述上行码流参数上传所述直播视频流给直播服务器,进而使得所述直播服务器将所述直播视频流下发给所述主播端设备对应的观众端设备。

优选的,所述获得模块,用于:

获得所述主播端设备的机型参数,所述主播端设备的机型参数包括:具有ios操作系统的机型参数和具有其他操作系统的机型参数。

优选的,若所述主播端设备的机型参数为具有ios操作系统的机型参数;

所述确定模块,用于:

基于所述主播端设备的ios操作系统的机型参数,从第一映射关系中确定所述主播端设备的机型参数对应的上行码流参数,其中,所述第一映射关系具体是具有ios操作系统的机型参数和所述上行码流参数的映射关系。

优选的,若所述主播端设备的机型参数为具有其他操作系统的机型参数;

所述获得模块,用于:

基于所述主播端设备的具有其他操作系统的机型参数,进一步获得所述主播端设备的内存、硬盘、图像处理器GPU、核数、CPU主核、系统版本、摄像头性能参数中的一种或者多种硬件参数。

优选的,所述确定模块,用于:

基于所述主播端设备的具有其他操作系统的机型参数,从第二映射关系中确定所述主播端设备的机型参数对应的上行码流参数,其中,所述第二映射关系具体是所述主播端设备的内存、硬盘、图像处理器GPU、核数、CPU主核、系统版本、摄像头性能参数中的一种或者多种硬件参数和所述上行码流参数的映射关系。

优选的,所述上行码流参数包括码率、帧率、分辨率的一种或者多种。

本申请实施例中提供的技术方案,至少具有如下技术效果或优点:

本发明公开了一种直播视频流的传输方法,首先获得所述主播端设备的硬件参数,将主播端设备自身的硬件参数作为影响因素考虑到直播视频流的传输过程中,然后基于所述主播端设备的硬件参数,确定所述主播端设备在直播中用于上传直播视频流的上行码流参数;使主播端设备利用所述上传码流参数上传直播视频流给直播服务器,进而使得所述直播服务器将所述直播视频流下发给所述主播端设备对应的观众端设备。本发明利用主播端设备的硬件参数决定上传码流参数,使得不同的主播端设备可以综合考虑自身的硬件情况选择适合的上传码流参数传输直播视频流,因此会减少或者杜绝画面卡死的情况,能够提供画面流畅的直播视频流给观众端设备。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的一种直播视频流的传输方法的流程图;

图2示出了根据本发明一个实施例的一种主播端设备的示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供了一种直播视频流的传输方法,用以解决现有技术中主播端设备在上传直播视频流时也会出现画面卡死的情况的技术问题。

下面请参看图1,本发明的直播视频流的传输方法的具体实施过程包括:

本发明涉及的主播端设备主要指具有IOS操作系统或者具有其他操作系统(例如Android操作系统、windows操作系统)的移动终端,如IPAD,智能手机,PAD等等。

S11,获得所述主播端设备的硬件参数。

主播端设备,是供用户直播的移动终端设备,例如供主播进行个人秀的智能手机、PAD等等。观众端设备,则是呈现直播画面供用户观看的移动终端设备,例如智能手机、PAD等等。

直播视频流,是由主播端设备在登陆网络直播平台之后,通过摄像头实时采集的视频流数据,直播视频流的内容多种多样,例如吃饭、睡觉、唱歌等等。观众端设备可接收到由直播服务器中转的主播端设备发送的直播视频流。

作为一种可选的实施例,主播端设备的硬件参数包括:机型参数、内存、硬盘、图像处理器GPU、核数、CPU主核、系统版本、摄像头性能参数、基带芯片中的一种或者多种硬件参数。当然,除上述公开的硬件参数外,主播端设备可能还有其他硬件参数,在此不再一一举例。

主播端设备的硬件参数主要影响的是主播端设备的性能,若硬件参数较好,主播端设备的性能则较好,若硬件参数的性能较差,那么主播端设备的性能较差。

S12,基于所述主播端设备的硬件参数,确定所述主播端设备在直播过程中用于上传直播视频流的上行码流参数。

上行码流参数,主要用于直播视频流。

上行码流参数包括:码率、帧率、分辨率的一种或者多种。

码率,是指视频文件在单位时间内使用的数据流量,是视频编码中画面质量控制中最重要的部分。同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越好。

帧率,表示每秒传输的帧数。视频流是一帧一帧图画构成的,因此高的帧率可以得到更流畅、更逼真的视频流。

分辨率,表示视频图像的精密度,是指视频每一帧包含的像素有多少。由于视频上的点、线和面都是由像素组成的,视频包含的像素越多,画面就越精细,同样的面积内能显示的信息也越多,所以分辨率是个非常重要的性能指标之一。

码率、帧率、分辨率三者是影响视频流传输速度的重要因素,但并不是所有的主播端设备都能够支持高码率、高帧率、高分辨率的传输。若性能较低的主播端设备,在使用高码率、高帧率、高分辨率传输直播视频流时,则会出现卡机、死机等情况。进而本发明需要基于所述主播端设备的硬件参数,确定合适该主播端设备的上行码流参数,主播端设备的上行码流参数和主播端设备的硬件参数相匹配,最大限度的保证两者的平衡。

作为一种可选的实施例,本发明的主播端设备按照操作系统的不同,将主播端划分为具有IOS操作系统的主播端或者具有其他操作系统主播端设备。对于不同类型的主播端设备确定上行码流参数的方式不同。

在具体的实施过程中,主播端设备先从硬件参数中获得所述主播端设备的机型参数。所述主播端设备的机型参数包括:具有ios操作系统的机型参数和具有其他操作系统的机型参数。

通过机型参数则可以清楚获知主播端设备的操作系统以及具体的手机型号。例如,通过主播端设备的机型参数,可以获知主播端设备为具有ios操作系统的iPhone5、iPhone5s、iPhone6。

若所述主播端设备的机型参数为具有ios操作系统的机型参数,由于ios系统的局限性,相同机型的主播端设备的硬件参数都一样。则可直接基于所述主播端设备的ios操作系统的机型参数,从第一映射关系中确定所述主播端设备的机型参数对应的上行码流参数,其中,所述第一映射关系具体是具有ios操作系统的机型参数和所述上行码流参数的映射关系。

第一映射关系可参看表1,上行码流参数仅以码率、帧率举例。

表1

当然,以上参数数值仅作举例,不做限制。

而在实际应用中,在确定上传直播视频流实际的上行码流参数时,除了要考虑主播端设备的ios操作系统的机型参数之外,还需要考虑外部网络环境,两者结合获得实际的上行码流参数。例如,当主播端设备处于3G网络时,上传码率为400k。当主播端设备处于4G网络时,上传码率为500k。当主播端设备处于wifi网络时,上传码率为1000k等等。

若所述主播端设备的机型参数为具有其他操作系统的机型参数,由于其他系统的开放性,因此会进一步基于所述主播端设备的具有其他操作系统的机型参数,进一步获得所述主播端设备的内存、硬盘、图像处理器GPU、核数、CPU主核、系统版本、摄像头性能参数中的一种或者多种硬件参数。

所述基于所述主播端设备的硬件参数,确定所述主播端设备在直播中上传直播视频流的上行码流参数,包括:

基于所述主播端设备的具有其他操作系统的机型参数,从第二映射关系中确定所述主播端设备的机型参数对应的上行码流参数。硬件参数的一种或者多种都可以影响上行码流参数,主播端设备可综合考虑所述主播端设备的内存、硬盘、图像处理器GPU、核数、CPU主核、系统版本、摄像头性能参数中的一种或者多种硬件参数,获得最终的上行码流参数。而在具体的实施过程中,可基于第二映射关系获得上行码流参数,所述第二映射关系具体是所述主播端设备的内存、硬盘、图像处理器GPU、核数、CPU主核、系统版本、摄像头性能参数中的一种或者多种硬件参数和所述上行码流参数的映射关系。

在实际应用中,在确定上传直播视频流实际的上行码流参数时,除了要考虑上述一种获得多种硬件参数之外,还可以考虑外部网络环境,两者结合获得实际的上行码流参数。

S13,按照所述上行码流参数上传所述直播视频流给直播服务器,进而使得所述直播服务器将所述直播视频流下发给所述主播端设备对应的观众端设备。

作为一种可选的实施例,直播服务器可实时接收各主播端设备上传的直播视频流。各主播端设备上传的直播视频流的数据量可相同也可以不相同,直播视频流的数据量的大小,取决于主播端设备的硬件参数,例如主播端设备的摄像头的像素、基带芯片支持的网络类型等等,硬件参数决定直播视频流的上行码流参数。

以上便是本发明实施例中公开的一种直播视频流的传输方法,首先获得所述主播端设备的硬件参数,将主播端设备自身的硬件参数作为影响因素考虑到直播视频流的传输过程中,然后基于所述主播端设备的硬件参数,确定所述主播端设备在直播中用于上传直播视频流的上行码流参数;使主播端设备利用所述上传码流参数上传直播视频流给直播服务器,进而使得所述直播服务器将所述直播视频流下发给所述主播端设备对应的观众端设备。本发明利用主播端设备的硬件参数决定上传码流参数,使得不同的主播端设备可以综合考虑自身的硬件情况选择适合的上传码流参数传输直播视频流,因此会减少或者杜绝画面卡死的情况,能够提供画面流畅的直播视频流给观众端设备。

在下面的实施例中,参看图2,公开了一种主播端设备,包括:

获得模块21,用于获得所述主播端设备的硬件参数;

确定模块22,用于基于所述主播端设备的硬件参数,确定所述主播端设备在直播过程中用于上传直播视频流的上行码流参数;

传输模块23,用于按照所述上行码流参数上传所述直播视频流给直播服务器,进而使得所述直播服务器将所述直播视频流下发给所述主播端设备对应的观众端设备。

作为一种可选的实施例,所述获得模块21,用于:

获得所述主播端设备的机型参数,所述主播端设备的机型参数包括:具有ios操作系统的机型参数和具有其他操作系统的机型参数。

作为一种可选的实施例,若所述主播端设备的机型参数为具有ios操作系统的机型参数;

所述确定模块22,用于:

基于所述主播端设备的ios操作系统的机型参数,从第一映射关系中确定所述主播端设备的机型参数对应的上行码流参数,其中,所述第一映射关系具体是具有ios操作系统的机型参数和所述上行码流参数的映射关系。

作为一种可选的实施例,若所述主播端设备的机型参数为具有其他操作系统的机型参数;

所述获得模块21,用于:

基于所述主播端设备的具有其他操作系统的机型参数,进一步获得所述主播端设备的内存、硬盘、图像处理器GPU、核数、CPU主核、系统版本、摄像头性能参数、基带芯片中的一种或者多种硬件参数。

作为一种可选的实施例,所述确定模块22,用于:

基于所述主播端设备的具有其他操作系统的机型参数,从第二映射关系中确定所述主播端设备的机型参数对应的上行码流参数,其中,所述第二映射关系具体是所述主播端设备的内存、硬盘、图像处理器GPU、核数、CPU主核、系统版本、摄像头性能参数中的一种或者多种硬件参数和所述上行码流参数的映射关系。

作为一种可选的实施例,所述上行码流参数包括码率、帧率、分辨率的一种或者多种。

本申请实施例中提供的技术方案,至少具有如下技术效果或优点:

根据本发明的一种直播视频流的传输方法,首先获得所述主播端设备的硬件参数,将主播端设备自身的硬件参数作为影响因素考虑到直播视频流的传输过程中,然后基于所述主播端设备的硬件参数,确定所述主播端设备在直播中用于上传直播视频流的上行码流参数;使主播端设备利用所述上传码流参数上传直播视频流给直播服务器,进而使得所述直播服务器将所述直播视频流下发给所述主播端设备对应的观众端设备。本发明利用主播端设备的硬件参数决定上传码流参数,使得不同的主播端设备可以综合考虑自身的硬件情况选择适合的上传码流参数传输直播视频流,因此会减少或者杜绝画面卡死的情况,能够提供画面流畅的直播视频流给观众端设备。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了,A1、一种直播视频流的传输方法,其特征在于,所述方法包括:

获得所述主播端设备的硬件参数;

基于所述主播端设备的硬件参数,确定所述主播端设备在直播中上传直播视频流的上行码流参数;

按照所述上行码流参数上传所述直播视频流给直播服务器,进而使得所述直播服务器将所述直播视频流下发给所述主播端设备对应的观众端设备。

A2、如A1所述的方法,其特征在于,所述获得所述主播端设备的硬件参数,包括:

获得所述主播端设备的机型参数,所述主播端设备的机型参数包括:具有ios操作系统的机型参数和具有其他操作系统的机型参数。

A3、如A2所述的方法,其特征在于,若所述主播端设备的机型参数为具有ios操作系统的机型参数;

所述基于所述主播端设备的硬件参数,确定所述主播端设备在直播中上传直播视频流的码率,包括:

基于所述主播端设备的ios操作系统的机型参数,从第一映射关系中确定所述主播端设备的机型参数对应的上行码流参数,其中,所述第一映射关系具体是具有ios操作系统的机型参数和所述上行码流参数的映射关系。

A4、如A2所述的方法,其特征在于,若所述主播端设备的机型参数为具有其他操作系统的机型参数;

所述获得所述主播端设备的硬件参数,包括:

基于所述主播端设备的具有其他操作系统的机型参数,进一步获得所述主播端设备的内存、硬盘、图像处理器GPU、核数、CPU主核、系统版本、摄像头性能参数中的一种或者多种硬件参数。

A5、如A4所述的方法,其特征在于,所述基于所述主播端设备的硬件参数,确定所述主播端设备在直播中上传直播视频流的上行码流参数,包括:

基于所述主播端设备的具有其他操作系统的机型参数,从第二映射关系中确定所述主播端设备的机型参数对应的上行码流参数,其中,所述第二映射关系具体是所述主播端设备的内存、硬盘、图像处理器GPU、核数、CPU主核、系统版本、摄像头性能参数中的一种或者多种硬件参数和所述上行码流参数的隐身关系。

A6、如A1所述的方法,其特征在于,所述上行码流参数包括码率、帧率、分辨率的一种或者多种。

B7、一种主播端设备,其特征在于,包括:

获得模块,用于获得所述主播端设备的硬件参数;

确定模块,用于基于所述主播端设备的硬件参数,确定所述主播端设备在直播过程中用于上传直播视频流的上行码流参数;

传输模块,用于按照所述上行码流参数上传所述直播视频流给直播服务器,进而使得所述直播服务器将所述直播视频流下发给所述主播端设备对应的观众端设备。

B8、如B7所述的主播端设备,其特征在于,所述获得模块,用于:

获得所述主播端设备的机型参数,所述主播端设备的机型参数包括:具有ios操作系统的机型参数和具有其他操作系统的机型参数。

B9、如B8所述的主播端设备,其特征在于,若所述主播端设备的机型参数为具有ios操作系统的机型参数;

所述确定模块,用于:

基于所述主播端设备的ios操作系统的机型参数,从第一映射关系中确定所述主播端设备的机型参数对应的上行码流参数,其中,所述第一映射关系具体是具有ios操作系统的机型参数和所述上行码流参数的映射关系。

B10、如B8所述的主播端设备,其特征在于,若所述主播端设备的机型参数为具有其他操作系统的机型参数;

所述获得模块,用于:

基于所述主播端设备的具有其他操作系统的机型参数,进一步获得所述主播端设备的内存、硬盘、图像处理器GPU、核数、CPU主核、系统版本、摄像头性能参数中的一种或者多种硬件参数。

B11、如B10所述的主播端设备,其特征在于,所述确定模块,用于:

基于所述主播端设备的具有其他操作系统的机型参数,从第二映射关系中确定所述主播端设备的机型参数对应的上行码流参数,其中,所述第二映射关系具体是所述主播端设备的内存、硬盘、图像处理器GPU、核数、CPU主核、系统版本、摄像头性能参数中的一种或者多种硬件参数和所述上行码流参数的映射关系。

B12、如B7所述的主播端设备,其特征在于,所述上行码流参数包括码率、帧率、分辨率的一种或者多种。

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