一种直播控制方法,及主播设备的制作方法

文档序号:7774065阅读:253来源:国知局
一种直播控制方法,及主播设备的制作方法
【专利摘要】本发明实施例公开了一种直播控制方法,及主播设备,其中方法的实现包括:采集直播数据并编码发送给服务器;在发送编码后的直播数据的过程中,获取直播数据的传输状况,并依据所述直播数据的传输状况确定当前的可用码率;依据所述可用码率对直播数据进行编码并发送给服务器。将直播数据编码发送给服务器过程中,获取直播数据的传输状况,并确定当前的可用码率,再使用当前的可用码率对直播数据进行编码,这样可以保证直播数据传输的流畅,还能够在直播过程中获得与可能不断变化的网络环境相适应的码率,从而能够以较高的码率实现直播,获得较好的直播效果。
【专利说明】一种直播控制方法,及主播设备
【技术领域】
[0001]本发明涉及计算机【技术领域】,特别涉及一种直播控制方法,及主播设备。
【背景技术】
[0002]本说明书所称的直播是指广义上的各种实时性的数据传输,传输的数据可以是音频数据、视频流等。以视频直播为例,视频直播方案如下:主播设备采集本地视频并完成编码后,将编码后的视频流上传到视频服务器;视频服务器将视频流下发给用户设备;用户设备对接收到的视频流进行解码,然后显示视频画面。
[0003]在直播过程中,直播效果会受到很多因素的影响,例如直播上下行带宽、网络抖动
坐寸ο
[0004]网络抖动是Q0S(Quality of Service,服务质量)控制常用的一个概念,其意思是指分组延迟的变化程度。如果网络发生拥塞,排队延迟将影响端到端的延迟,并导致通过同一连接传输的分组延迟各不相同,而抖动,就是用来描述这样一延迟变化的程度。因此,抖动对于实时性的传输将会是一个重要参数,比如:VOIP (Voice over Internet Protocol,互联网协议电话),视频等。目前为了解决网络抖动的问题,通常可以采用如下方案:
[0005]1、数据包接收端的抖动缓存指针队列的入队线程接收数据包,对接收到的数据包进行排序后将接收到的数据包插入抖动缓存指针队列的相应位置。
[0006]2、抖动缓存指针队列的出队线程定时器以一定时间间隔触发出队线程,出队线程判断抖动缓存指针队列队头的数据包是否应该在当前触发时刻出队,如果是,则将该数据包出队。
[0007]3、根据抖动缓存指针队列中的队尾数据包和队头数据包时戳值之差与当前抖动缓存深度的大小关系,以及根据数据包在抖动缓存指针队列中的缓存时间与该抖动缓存指针队列缓存数据包的最小延时量之间的关系,增大或缩小当前抖动缓存深度的操作。
[0008]为了保证网络发生抖动导致带宽很低时,不会出现丢包,从而保证直播的流畅性。目前采用的方案是将主播上传码率设置为一个较低的水平。较低的码率会导致直播效果较差,例如视频画面模糊,语音不清等情况。

【发明内容】

[0009]本发明实施例提供了一种直播控制方法,及主播设备,用于在保证直播的流畅性的前提下,提高直播效果。
[0010]一种直播控制方法,包括:
[0011]采集直播数据并编码发送给服务器;
[0012]在发送编码后的直播数据的过程中,获取直播数据的传输状况,并依据所述直播数据的传输状况确定当前的可用码率;
[0013]依据所述可用码率对直播数据进行编码并发送给服务器。
[0014]一种主播设备,包括:[0015]采集单元,用于采集直播数据;
[0016]编码单元,用于对所述采集单元采集的直播数据编码;依据码率确定单元确定的可用码率对直播数据进行编码;
[0017]发送单元,用于将所述编码单元编码得到的直播数据发送给服务器;
[0018]传输获取单元,用于在所述发送单元发送编码后的直播数据的过程中,获取直播数据的传输状况;
[0019]码率确定单元,用于依据所述传输获取单元获取的直播数据的传输状况确定当前的可用码率。
[0020]从以上技术方案可以看出,本发明实施例具有以下优点:将直播数据编码发送给服务器过程中,获取直播数据的传输状况,并确定当前的可用码率,再使用当前的可用码率对直播数据进行编码,这样可以保证直播数据传输的流畅,还能够在直播过程中获得与可能不断变化的网络环境相适应的码率,从而能够以较高的码率实现直播,获得较好的直播效果。
【专利附图】

【附图说明】
[0021]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0022]图1为本发明实施例方法流程示意图;
[0023]图2为本发明实施例方法流程示意图;
[0024]图3为本发明实施例主播设备结构示意图;
[0025]图4为本发明实施例主播设备结构示意图;
[0026]图5为本发明实施例终端结构示意图。
【具体实施方式】
[0027]为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0028]本发明实施例提供了一种直播控制方法,如图1所示,包括:
[0029]101:采集直播数据并编码发送给服务器;
[0030]以上采集直播数据并编码发送给服务器中,在主播终端首次开机的时候采用何种码率进行编码本发明实施例可以不予限制,这是由于本发明实施例所采用的技术方案会对码率进行调整,而不是采用固定码率。不过,在此处如果采用与当前较为适配的码率相差很大的码率进行编码则效果会差于首次采用与当前较为适配的码率相差较小的码率进行编码,因此本发明实施例提供了如下的优选实现方案,但是需要说明的是以下方案并不是本发明实施例的唯一实现方式,其仅是优选实现方式的举例,不应理解为对本发明实施例的唯一性限定,具体如下:可选地,上述采集直播数据并编码发送给服务器包括:采集直播数据,使用默认码率或者前次使用的码率对上述直播数据进行编码,然后将编码后的直播数据发送给服务器。
[0031]102:在发送编码后的直播数据的过程中,获取直播数据的传输状况,并依据上述直播数据的传输状况确定当前的可用码率;
[0032]本实施例中,获取的是发送编码后的直播数据的传输状况,因此该传输状况是主播设备的上行数据传输状况,本步骤可以确定可用的码率来指导后续直播数据的编码。由于主播设备的上行数据传输状况是可能变化的,因此当前确定的可用码率可能并不与后续一段时间的上行数据传输状况所匹配,可能当前确定的可用码率太高,也可能太低,针对这种情况本发明实施例给出了如下解决方案,具体如下:以预定时间为周期执行:上述依据上述直播数据的传输状况确定当前的可用码率。
[0033]以上实施例中每个周期的时间间隔,可用预先设定采用配置的方式配置到设备的执行逻辑中,具体时间间隔采用的值,本领域技术人员可以依据具体的需要和网络状况进行自由设定,该时间间隔设置得越短可以确定更为准确的可用码率与当前网络状态所适配,该时间间隔设置得越长则会占用越少的资源用于进行可用码率的确定,本领域技术人员可以依据需要进行平衡性设定,因此本发明实施例可以不予限定。
[0034]本发明实施例中的传输状态可以是表示当前直播数据传输的质量好坏的任意技术指标,本领域技术人员可以理解的是表示当前直播数据传输的质量好坏的技术指标有很多,在本发明实施例中,可以由传输状态直接确定可用码率,也可以依据传输状态获得其它中间量并依据中间量来确定可用码率,以下给出了其中的一个实现方式的举例,具体如下:可选地,上述依据上述直播数据的传输状况确定当前的可用码率包括:
[0035]依据上述直播数据的传输状况确定当前可用带宽,依据当前可用带宽确定可用码率。
[0036]在以上实施例中,采用的是由传输状态确定可用带宽作为中间量的方式,实际上对应不同的传输状态采用不同的中间量也是可以实现的,因此先确定可用带宽再依据可用带宽来确定可用码率的实现方案不应理解为对本发明实施例的唯一性限定。
[0037]在本发明实施例中,会调整可用码率,本发明实施例还给出了具体调整的步骤,如下:可选地,上述依据上述直播数据的传输状况确定当前的可用码率包括:若上述直播数据的传输状况差于第一预定标准,则调整可用码率到当前使用码率以下;若上述直播数据的传输状况好于第二预定标准,则调整可用码率到当前使用码率之上。
[0038]若在本发明实施例中,以预定时间为周期执行:上述依据上述直播数据的传输状况确定当前的可用码率。那么,以上调整的步骤将也是以预定的周期执行的。因此,直播数据发送的过程中,主播设备编码所使用的码率将会动态的变化,并与当前上行直播数据传输的状态进行匹配,既能保证直播数据能够流畅传输,又能获得较高的码率达到较好的直播效果。
[0039]在本发明实施例中,无论是周期性执行获取可用码率还是通过集中式的一次性执行获得可用码率,均可用有一定的标准来确定当前码率是否较优,本发明实施例给出了如下方案如下:可选地,上述调整可用码率到当前使用码率之上包括:
[0040]提高当前可用码率,使可用码率达到发生网络抖动前的最高码率。
[0041]以上实施例给出的是以网络抖动的临界为标准,在这个标准下获得最高的码率作为优选方案,实际上既可用设定与这个最高码率低预定值作为标准,也可以采用其他标准来确定优选的可用码率,对于采用何种标准来确定优选的可用码率,以上举例仅是一个优选的方案,不应理解为对本发明实施例的唯一性限定。
[0042]本发明实施例中的传输状态可以是表示当前直播数据传输的质量好坏的任意技术指标,本领域技术人员可以理解的是表示当前直播数据传输的质量好坏的技术指标有很多,以下本发明实施例给出了其中一个优选的实现方案如下:可选地,上述获取上述直播数据的传输状况包括:获取上述直播数据在传输过程中的丢包率。
[0043]在以上实施例中,采用丢包率来表示当前直播数据传输的质量好坏,丢包率可以是服务器主动发送的,由主播设备被动接收;丢包率也可以是由主播设备主动进行统计的对此本发明实施例不予限定。
[0044]103:依据上述可用码率对直播数据进行编码并发送给服务器。
[0045]本发明实施例,将直播数据编码发送给服务器过程中,获取直播数据的传输状况,并确定当前的可用码率,再使用当前的可用码率对直播数据进行编码,这样可以保证直播数据传输的流畅,还能够在直播过程中获得与可能不断变化的网络环境相适应的码率,从而能够以较高的码率实现直播,获得较好的直播效果。
[0046]以下实施例将以视频直播对本发明实施例的方案进行更详细的说明。本发明实施例提供了基于主播设备的上行带宽调整码率的方案,可以依据主播设备上行带宽的变化自动调整视频码率的方法。当视频服务器发现主播上传视频出现丢包时,将该丢包信息反馈给主播设备的客户端,主播设备的客户端根据丢包的情况来计算当前上行网络带宽,然后通知客户端编码模块按照与当前上行网络带宽匹配的码率进行编码,当一段时间没有出现丢包后,再慢慢切换回高码率的视频流。
[0047]由于本发明实施例所称的直播是指广义上的各种实时性的数据传输,传输的数据可以是音频数据、视频流等。实时性的数据传输可用是VOIP (Voice over InternetProtocol,互联网协议电话),视频等各种应用环境。本实施例以视频传输作为举例不应理解为对本发明实施例所称的直播数据的唯一性限定。
[0048]201:主播设备采集直播数据,编码并发送给视频服务器,视频服务器转发直播数据给用户设备。
[0049]202:视频服务器发现主播设备上传视频出现丢包时,对丢包数据进行分析得到丢包率,然后整理后将丢包率发送给主播设备的客户端。
[0050]203:主播设备的客户端对视频服务器上报的丢包数据进行计算分析,确定当前上行可用的带宽。
[0051]204:主播设备的客户端通知其编码模块,调整视频编码的码率到步骤203所计算到的可用带宽。
[0052]205:若确定当前码率传输效果较好,例如:主播设备的客户端一段时间后没有收到视频服务器反馈有丢包数据或者丢包率低于预定值。
[0053]206:主播设备的客户端通知其编码模块,调高视频编码的码率。
[0054]上述步骤205和206将会重复执行,甚至周期性重复执行,直到将视频码率调整到网络抖动前的最高码率。
[0055]本发明实施例基于主播设备的上行带宽调整码率具有如下效果:1,抗网络抖动,即使网络状况很差的状况下,仍然能让用户体验到流畅的视频。2,动态调整码率,保证在网络质量较好的状况下,能让用户体验到高质量的视频。
[0056]本发明实施例还提供了一种主播设备,如图3所示,包括:
[0057]采集单元301,用于采集直播数据;
[0058]编码单元302,用于对上述采集单元301采集的直播数据编码;依据码率确定单元305确定的可用码率对直播数据进行编码;
[0059]发送单元303,用于将上述编码单元302编码得到的直播数据发送给服务器;
[0060]传输获取单元304,用于在上述发送单元303发送编码后的直播数据的过程中,获取直播数据的传输状况;
[0061]码率确定单元305,用于依据上述传输获取单元304获取的直播数据的传输状况确定当前的可用码率。
[0062]本发明实施例,将直播数据编码发送给服务器过程中,获取直播数据的传输状况,并确定当前的可用码率,再使用当前的可用码率对直播数据进行编码,这样可以保证直播数据传输的流畅,还能够在直播过程中获得与可能不断变化的网络环境相适应的码率,从而能够以较高的码率实现直播,获得较好的直播效果。
[0063]本实施例中,获取的是发送编码后的直播数据的传输状况,因此该传输状况是主播设备的上行数据传输状况,本步骤可以确定可用的码率来指导后续直播数据的编码。由于主播设备的上行数据传输状况是可能变化的,因此当前确定的可用码率可能并不与后续一段时间的上行数据传输状况所匹配,可能当前确定的可用码率太高,也可能太低,针对这种情况本发明实施例给出了如下解决方案,具体如下:可选地,上述码率确定单元305,用于以预定时间为周期执行依据上述直播数据的传输状况确定当前的可用码率。
[0064]以上实施例中每个周期的时间间隔,可用预先设定采用配置的方式配置到设备的执行逻辑中,具体时间间隔采用的值,本领域技术人员可以依据具体的需要和网络状况进行自由设定,该时间间隔设置得越短可以确定更为准确的可用码率与当前网络状态所适配,该时间间隔设置得越长则会占用越少的资源用于进行可用码率的确定,本领域技术人员可以依据需要进行平衡性设定,因此本发明实施例可以不予限定。
[0065]以上采集直播数据并编码发送给服务器中,在主播终端首次开机的时候采用何种码率进行编码本发明实施例可以不予限制,这是由于本发明实施例所采用的技术方案会对码率进行调整,而不是采用固定码率。不过,在此处如果采用与当前较为适配的码率相差很大的码率进行编码则效果会差于首次采用与当前较为适配的码率相差较小的码率进行编码,因此本发明实施例提供了如下的优选实现方案,但是需要说明的是以下方案并不是本发明实施例的唯一实现方式,其仅是优选实现方式的举例,不应理解为对本发明实施例的唯一性限定,具体如下:可选地,上述编码单元302,用于对上述采集单元301采集的直播数据编码包括:使用默认码率或者前次使用的码率对上述直播数据进行编码。
[0066]本发明实施例中的传输状态可以是表示当前直播数据传输的质量好坏的任意技术指标,本领域技术人员可以理解的是表示当前直播数据传输的质量好坏的技术指标有很多,在本发明实施例中,可以由传输状态直接确定可用码率,也可以依据传输状态获得其它中间量并依据中间量来确定可用码率,以下给出了其中的一个实现方式的举例,具体如下:可选地,上述码率确定单元305,用于依据上述直播数据的传输状况确定当前可用带宽,依据当前可用带宽确定可用码率。
[0067]在以上实施例中,采用的是由传输状态确定可用带宽作为中间量的方式,实际上对应不同的传输状态采用不同的中间量也是可以实现的,因此先确定可用带宽再依据可用带宽来确定可用码率的实现方案不应理解为对本发明实施例的唯一性限定。
[0068]在本发明实施例中,会调整可用码率,本发明实施例还给出了具体调整的步骤,如下:可选地,上述码率确定单元305,用于若上述直播数据的传输状况差于第一预定标准,则调整可用码率到当前使用码率以下;若上述直播数据的传输状况好于第二预定标准,则调整可用码率到当前使用码率之上。
[0069]若在本发明实施例中,以预定时间为周期执行:上述依据上述直播数据的传输状况确定当前的可用码率。那么,以上调整的步骤将也是以预定的周期执行的。因此,直播数据发送的过程中,主播设备编码所使用的码率将会动态的变化,并与当前上行直播数据传输的状态进行匹配,既能保证直播数据能够流畅传输,又能获得较高的码率达到较好的直播效果。
[0070]在本发明实施例中,无论是周期性执行获取可用码率还是通过集中式的一次性执行获得可用码率,均可用有一定的标准来确定当前码率是否较优,本发明实施例给出了如下方案如下:可选地,上述码率确定单元305,用于调整可用码率到当前使用码率之上包括:提高当前可用码率,使可用码率达到发生网络抖动前的最高码率。
[0071]以上实施例给出的是以网络抖动的临界为标准,在这个标准下获得最高的码率作为优选方案,实际上既可用设定与这个最高码率低预定值作为标准,也可以采用其他标准来确定优选的可用码率,对于采用何种标准来确定优选的可用码率,以上举例仅是一个优选的方案,不应理解为对本发明实施例的唯一性限定。
[0072]本发明实施例中的传输状态可以是表示当前直播数据传输的质量好坏的任意技术指标,本领域技术人员可以理解的是表示当前直播数据传输的质量好坏的技术指标有很多,以下本发明实施例给出了其中一个优选的实现方案如下:可选地,上述传输获取单元304,用于获取上述直播数据在传输过程中的丢包率。
[0073]在以上实施例中,采用丢包率来表示当前直播数据传输的质量好坏,丢包率可以是服务器主动发送的,由主播设备被动接收;丢包率也可以是由主播设备主动进行统计的对此本发明实施例不予限定。
[0074]本发明实施例还提供了另一种主播设备,如图4所示,包括:接收器401、发射器402、处理器403以及存储器404 ;
[0075]其中,上述处理器403,用于控制采集直播数据并编码发送给服务器;在发送编码后的直播数据的过程中,获取直播数据的传输状况,并依据上述直播数据的传输状况确定当前的可用码率;依据上述可用码率对直播数据进行编码并发送给服务器。
[0076]本发明实施例,将直播数据编码发送给服务器过程中,获取直播数据的传输状况,并确定当前的可用码率,再使用当前的可用码率对直播数据进行编码,这样可以保证直播数据传输的流畅,还能够在直播过程中获得与可能不断变化的网络环境相适应的码率,从而能够以较高的码率实现直播,获得较好的直播效果。
[0077]本实施例中,获取的是发送编码后的直播数据的传输状况,因此该传输状况是主播设备的上行数据传输状况,本步骤可以确定可用的码率来指导后续直播数据的编码。由于主播设备的上行数据传输状况是可能变化的,因此当前确定的可用码率可能并不与后续一段时间的上行数据传输状况所匹配,可能当前确定的可用码率太高,也可能太低,针对这种情况本发明实施例给出了如下解决方案,具体如下:可选地,上述处理器403,用于以预定时间为周期执行:上述依据上述直播数据的传输状况确定当前的可用码率。
[0078]以上实施例中每个周期的时间间隔,可用预先设定采用配置的方式配置到设备的执行逻辑中,具体时间间隔采用的值,本领域技术人员可以依据具体的需要和网络状况进行自由设定,该时间间隔设置得越短可以确定更为准确的可用码率与当前网络状态所适配,该时间间隔设置得越长则会占用越少的资源用于进行可用码率的确定,本领域技术人员可以依据需要进行平衡性设定,因此本发明实施例可以不予限定。
[0079]以上采集直播数据并编码发送给服务器中,在主播终端首次开机的时候采用何种码率进行编码本发明实施例可以不予限制,这是由于本发明实施例所采用的技术方案会对码率进行调整,而不是采用固定码率。不过,在此处如果采用与当前较为适配的码率相差很大的码率进行编码则效果会差于首次采用与当前较为适配的码率相差较小的码率进行编码,因此本发明实施例提供了如下的优选实现方案,但是需要说明的是以下方案并不是本发明实施例的唯一实现方式,其仅是优选实现方式的举例,不应理解为对本发明实施例的唯一性限定,具体如下:可选地,上述处理器403,用于控制采集直播数据并编码发送给服务器包括:控制采集直播数据,使用默认码率或者前次使用的码率对上述直播数据进行编码,然后将编码后的直播数据发送给服务器。
[0080]本发明实施例中的传输状态可以是表示当前直播数据传输的质量好坏的任意技术指标,本领域技术人员可以理解的是表示当前直播数据传输的质量好坏的技术指标有很多,在本发明实施例中,可以由传输状态直接确定可用码率,也可以依据传输状态获得其它中间量并依据中间量来确定可用码率,以下给出了其中的一个实现方式的举例,具体如下:可选地,上述处理器403,用于依据上述直播数据的传输状况确定当前的可用码率包括:依据上述直播数据的传输状况确定当前可用带宽,依据当前可用带宽确定可用码率。
[0081]在以上实施例中,采用的是由传输状态确定可用带宽作为中间量的方式,实际上对应不同的传输状态采用不同的中间量也是可以实现的,因此先确定可用带宽再依据可用带宽来确定可用码率的实现方案不应理解为对本发明实施例的唯一性限定。
[0082]在本发明实施例中,会调整可用码率,本发明实施例还给出了具体调整的步骤,如下:可选地,上述处理器403,用于依据上述直播数据的传输状况确定当前的可用码率包括:若上述直播数据的传输状况差于第一预定标准,则调整可用码率到当前使用码率以下;若上述直播数据的传输状况好于第二预定标准,则调整可用码率到当前使用码率之上。
[0083]若在本发明实施例中,以预定时间为周期执行:上述依据上述直播数据的传输状况确定当前的可用码率。那么,以上调整的步骤将也是以预定的周期执行的。因此,直播数据发送的过程中,主播设备编码所使用的码率将会动态的变化,并与当前上行直播数据传输的状态进行匹配,既能保证直播数据能够流畅传输,又能获得较高的码率达到较好的直播效果。
[0084]在本发明实施例中,无论是周期性执行获取可用码率还是通过集中式的一次性执行获得可用码率,均可用有一定的标准来确定当前码率是否较优,本发明实施例给出了如下方案如下:可选地,上述处理器403,用于调整可用码率到当前使用码率之上包括:提高当前可用码率,使可用码率达到发生网络抖动前的最高码率。
[0085]以上实施例给出的是以网络抖动的临界为标准,在这个标准下获得最高的码率作为优选方案,实际上既可用设定与这个最高码率低预定值作为标准,也可以采用其他标准来确定优选的可用码率,对于采用何种标准来确定优选的可用码率,以上举例仅是一个优选的方案,不应理解为对本发明实施例的唯一性限定。
[0086]本发明实施例中的传输状态可以是表示当前直播数据传输的质量好坏的任意技术指标,本领域技术人员可以理解的是表示当前直播数据传输的质量好坏的技术指标有很多,以下本发明实施例给出了其中一个优选的实现方案如下:可选地,上述处理器403,用于获取上述直播数据的传输状况包括:获取上述直播数据在传输过程中的丢包率。
[0087]在以上实施例中,采用丢包率来表示当前直播数据传输的质量好坏,丢包率可以是服务器主动发送的,由主播设备被动接收;丢包率也可以是由主播设备主动进行统计的对此本发明实施例不予限定。
[0088]本发明实施例还提供了一种终端,作为主播设备使用,如图5所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、PDA (Personal Digital Assistant,个人数字助理)、P0S (Point of Sales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:
[0089]图5示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图5,手机包括:射频(Radio Frequency,RF)电路510、存储器520、输入单元530、显示单元540、传感器550、音频电路560、无线保真(wireless fidelity,WiFi)模块570、处理器580、以及电源590等部件。本领域技术人员可以理解,图5中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0090]下面结合图5对手机的各个构成部件进行具体的介绍:
[0091]RF电路510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器580处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier, LNA)、双工器等。此外,RF电路50还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication, GSM)、通用分组无线服务(General PacketRadio Service, GPRS)、码分多址(Code Division Multiple Access, CDMA)、宽带码分多址(Wideband Code Division Multiple Access, WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service, SMS)等。
[0092]存储器520可用于存储软件程序以及模块,处理器580通过运行存储在存储器520的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0093]输入单元530可用于接收输入的数字或字符信息,以及产生与手机500的用户设置以及功能控制有关的键信号输入。具体地,输入单元530可包括触控面板531以及其他输入设备532。触控面板531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板531上或在触控面板531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器580,并能接收处理器580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板531。除了触控面板531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0094]显示单元540可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元540可包括显示面板541,可选的,可以采用液晶显示器(Liquid CrystalDisplay, IXD)、有机发光二极管(Organic Light-Emitting Diode, 0LED)等形式来配置显示面板541。进一步的,触控面板531可覆盖显示面板541,当触控面板531检测到在其上或附近的触摸操作后,传送给处理器580以确定触摸事件的类型,随后处理器580根据触摸事件的类型在显示面板541上提供相应的视觉输出。虽然在图5中,触控面板531与显示面板541是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板531与显示面板541集成而实现手机的输入和输出功能。
[0095]手机500还可包括至少一种传感器550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板541的亮度,接近传感器可在手机移动到耳边时,关闭显示面板541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0096]音频电路560、扬声器561,传声器562可提供用户与手机之间的音频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出;另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出处理器580处理后,经RF电路510以发送给比如另一手机,或者将音频数据输出至存储器520以便进一步处理。
[0097]WiFi属于短距离无线传输技术,手机通过WiFi模块570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块570,但是可以理解的是,其并不属于手机500的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0098]处理器580是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器580可包括一个或多个处理单元;优选的,处理器580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器580中。
[0099]手机500还包括给各个部件供电的电源590 (比如电池),优选的,电源可以通过电源管理系统与处理器580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0100]尽管未示出,手机500还可以包括摄像头、蓝牙模块等,在此不再赘述。
[0101]在本发明实施例中,该终端所包括的处理器580还具有以下功能:
[0102]其中,上述处理器580,用于控制采集直播数据并编码发送给服务器;在发送编码后的直播数据的过程中,获取直播数据的传输状况,并依据上述直播数据的传输状况确定当前的可用码率;依据上述可用码率对直播数据进行编码并发送给服务器。
[0103]本发明实施例,将直播数据编码发送给服务器过程中,获取直播数据的传输状况,并确定当前的可用码率,再使用当前的可用码率对直播数据进行编码,这样可以保证直播数据传输的流畅,还能够在直播过程中获得与可能不断变化的网络环境相适应的码率,从而能够以较高的码率实现直播,获得较好的直播效果。
[0104]本实施例中,获取的是发送编码后的直播数据的传输状况,因此该传输状况是主播设备的上行数据传输状况,本步骤可以确定可用的码率来指导后续直播数据的编码。由于主播设备的上行数据传输状况是可能变化的,因此当前确定的可用码率可能并不与后续一段时间的上行数据传输状况所匹配,可能当前确定的可用码率太高,也可能太低,针对这种情况本发明实施例给出了如下解决方案,具体如下:可选地,上述处理器580,用于以预定时间为周期执行:上述依据上述直播数据的传输状况确定当前的可用码率。
[0105]以上实施例中每个周期的时间间隔,可用预先设定采用配置的方式配置到设备的执行逻辑中,具体时间间隔采用的值,本领域技术人员可以依据具体的需要和网络状况进行自由设定,该时间间隔设置得越短可以确定更为准确的可用码率与当前网络状态所适配,该时间间隔设置得越长则会占用越少的资源用于进行可用码率的确定,本领域技术人员可以依据需要进行平衡性设定,因此本发明实施例可以不予限定。
[0106]以上采集直播数据并编码发送给服务器中,在主播终端首次开机的时候采用何种码率进行编码本发明实施例可以不予限制,这是由于本发明实施例所采用的技术方案会对码率进行调整,而不是采用固定码率。不过,在此处如果采用与当前较为适配的码率相差很大的码率进行编码则效果会差于首次采用与当前较为适配的码率相差较小的码率进行编码,因此本发明实施例提供了如下的优选实现方案,但是需要说明的是以下方案并不是本发明实施例的唯一实现方式,其仅是优选实现方式的举例,不应理解为对本发明实施例的唯一性限定,具体如下:可选地,上述处理器580,用于控制采集直播数据并编码发送给服务器包括:控制采集直播数据,使用默认码率或者前次使用的码率对上述直播数据进行编码,然后将编码后的直播数据发送给服务器。
[0107]本发明实施例中的传输状态可以是表示当前直播数据传输的质量好坏的任意技术指标,本领域技术人员可以理解的是表示当前直播数据传输的质量好坏的技术指标有很多,在本发明实施例中,可以由传输状态直接确定可用码率,也可以依据传输状态获得其它中间量并依据中间量来确定可用码率,以下给出了其中的一个实现方式的举例,具体如下:可选地,上述处理器580,用于依据上述直播数据的传输状况确定当前的可用码率包括:依据上述直播数据的传输状况确定当前可用带宽,依据当前可用带宽确定可用码率。
[0108]在以上实施例中,采用的是由传输状态确定可用带宽作为中间量的方式,实际上对应不同的传输状态采用不同的中间量也是可以实现的,因此先确定可用带宽再依据可用带宽来确定可用码率的实现方案不应理解为对本发明实施例的唯一性限定。
[0109]在本发明实施例中,会调整可用码率,本发明实施例还给出了具体调整的步骤,如下:可选地,上述处理器580,用于依据上述直播数据的传输状况确定当前的可用码率包括:若上述直播数据的传输状况差于第一预定标准,则调整可用码率到当前使用码率以下;若上述直播数据的传输状况好于第二预定标准,则调整可用码率到当前使用码率之上。
[0110]若在本发明实施例中,以预定时间为周期执行:上述依据上述直播数据的传输状况确定当前的可用码率。那么,以上调整的步骤将也是以预定的周期执行的。因此,直播数据发送的过程中,主播设备编码所使用的码率将会动态的变化,并与当前上行直播数据传输的状态进行匹配,既能保证直播数据能够流畅传输,又能获得较高的码率达到较好的直播效果。
[0111]在本发明实施例中,无论是周期性执行获取可用码率还是通过集中式的一次性执行获得可用码率,均可用有一定的标准来确定当前码率是否较优,本发明实施例给出了如下方案如下:可选地,上述处理器580,用于调整可用码率到当前使用码率之上包括:提高当前可用码率,使可用码率达到发生网络抖动前的最高码率。
[0112]以上实施例给出的是以网络抖动的临界为标准,在这个标准下获得最高的码率作为优选方案,实际上既可用设定与这个最高码率低预定值作为标准,也可以采用其他标准来确定优选的可用码率,对于采用何种标准来确定优选的可用码率,以上举例仅是一个优选的方案,不应理解为对本发明实施例的唯一性限定。
[0113]本发明实施例中的传输状态可以是表示当前直播数据传输的质量好坏的任意技术指标,本领域技术人员可以理解的是表示当前直播数据传输的质量好坏的技术指标有很多,以下本发明实施例给出了其中一个优选的实现方案如下:可选地,上述处理器580,用于获取上述直播数据的传输状况包括:获取上述直播数据在传输过程中的丢包率。
[0114]在以上实施例中,采用丢包率来表示当前直播数据传输的质量好坏,丢包率可以是服务器主动发送的,由主播设备被动接收;丢包率也可以是由主播设备主动进行统计的对此本发明实施例不予限定。
[0115]值得注意的是,上述主播设备实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0116]另外,本领域普通技术人员可以理解实现上述各方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0117]以上仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
【权利要求】
1.一种直播控制方法,其特征在于,包括: 采集直播数据并编码发送给服务器; 在发送编码后的直播数据的过程中,获取直播数据的传输状况,并依据所述直播数据的传输状况确定当前的可用码率; 依据所述可用码率对直播数据进行编码并发送给服务器。
2.根据权利要求1所述方法,其特征在于, 以预定时间为周期执行:所述依据所述直播数据的传输状况确定当前的可用码率。
3.根据权利要求1所述方法,其特征在于,所述采集直播数据并编码发送给服务器包括: 采集直播数据,使用默认码率或者前次使用的码率对所述直播数据进行编码,然后将编码后的直播数据发送给服务器。
4.根据权利要求1至3任意一项所述方法,其特征在于,所述依据所述直播数据的传输状况确定当前的可用码率包括: 依据所述直播数据的传输状况确定当前可用带宽,依据当前可用带宽确定可用码率。
5.根据权利要求1至3任意一项所述方法,其特征在于,所述依据所述直播数据的传输状况确定当前的可用码率包括: 若所述直播数据的传输状况差于第一预定标准,则调整可用码率到当前使用码率以下; 若所述直播数据的传输状况好于第二预定标准,则调整可用码率到当前使用码率之上。
6.根据权利要求5所述方法,其特征在于,所述调整可用码率到当前使用码率之上包括: 提高当前可用码率,使可用码率达到发生网络抖动前的最高码率。
7.根据权利要求1至3任意一项所述方法,所述获取所述直播数据的传输状况包括: 获取所述直播数据在传输过程中的丢包率。
8.—种主播设备,其特征在于,包括: 采集单元,用于采集直播数据; 编码单元,用于对所述采集单元采集的直播数据编码;依据码率确定单元确定的可用码率对直播数据进行编码; 发送单元,用于将所述编码单元编码得到的直播数据发送给服务器; 传输获取单元,用于在所述发送单元发送编码后的直播数据的过程中,获取直播数据的传输状况; 码率确定单元,用于依据所述传输获取单元获取的直播数据的传输状况确定当前的可用码率。
9.根据权利要求8所述主播设备,其特征在于, 所述码率确定单元,用于以预定时间为周期执行依据所述直播数据的传输状况确定当前的可用码率。
10.根据权利要求8所述主播设备,其特征在于, 所述编码单元,用于对所述 采集单元采集的直播数据编码包括:使用默认码率或者前次使用的码率对所述直播数据进行编码。
11.根据权利要求8至10任意一项所述主播设备,其特征在于, 所述码率确定单元,用于依据所述直播数据的传输状况确定当前可用带宽,依据当前可用带宽确定可用码率。
12.根据权利要求8至10任意一项所述主播设备,其特征在于, 所述码率确定单元,用于若所述直播数据的传输状况差于第一预定标准,则调整可用码率到当前使用码率以下;若所述直播数据的传输状况好于第二预定标准,则调整可用码率到当前使用码率之上。
13.根据权利要求12所述主播设备,其特征在于, 所述码率确定单元,用于调整可用码率到当前使用码率之上包括:提高当前可用码率,使可用码率达到发生网络抖动前的最高码率。
14.根据权利要求8至10任意一项所述主播设备, 所述传输获取单元,用于 获取所述直播数据在传输过程中的丢包率。
【文档编号】H04N21/24GK103533386SQ201310495764
【公开日】2014年1月22日 申请日期:2013年10月21日 优先权日:2013年10月21日
【发明者】胡兴华 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1