一种推流方法、装置、电子设备及存储介质与流程

文档序号:17089691发布日期:2019-03-13 23:18阅读:218来源:国知局
一种推流方法、装置、电子设备及存储介质与流程

本发明涉及直播技术领域,特别是涉及一种推流方法、装置、电子设备及存储介质。



背景技术:

目前,主播可通过主播端的直播app进行视频直播,为用户放送精彩的节目。

主播在进行视频直播时,服务器获取主播端的直播视频,然后按照默认的推流方式将直播视频推流至用户端,用户即可通过用户端的直播app观看视频直播。

当网络状态发生变化时,由于上述推流方式为按照默认的推流方式进行推流,无法对推流方式进行改变,导致用户端播放直播视频卡顿,使得推流效果较差,进一步导致用户体验较差。



技术实现要素:

本发明实施例的目的在于提供一种推流方法、装置、电子设备及存储介质,优化推流效果,提高用户体验。具体技术方案如下:

一种推流方法,所述方法包括:

在主播直播过程中,获取当前网速;

根据所述当前网速,调整直播视频的推流参数;

按照调整后的推流参数,将所述直播视频推流至所述用户端。

可选的,所述根据所述当前网速,调整直播视频的推流参数的步骤,包括:

检测所述当前网速是否低于预设网速阈值;

如果是,调低所述直播视频的推流参数;

所述按照调整后的推流参数,将所述直播视频推流至所述用户端的步骤,包括:

按照调低后的推流参数,将所述直播视频推流至所述用户端。

可选的,在所述按照调低后的推流参数,将所述直播视频推流至所述用户端的步骤之后,所述方法还包括:

检测所述用户端播放所述直播视频未卡顿的时长是否达到预设时长;

如果是,调高所述推流参数;

按照调高后的推流参数,将所述直播视频推流至所述用户端。

可选的,在所述按照调低后的推流参数,将所述直播视频推流至所述用户端的步骤之后,所述方法还包括:

检测所述用户端播放所述直播视频未卡顿的时长是否达到预设时长;

如果达到预设时长,检测所述用户端的cpu占用率是否小于预设占用率值;

如果小于预设占用率值,调高所述推流参数;

按照调高后的推流参数,将所述直播视频推流至所述用户端。

可选的,所述推流参数包括推流分辨率,所述调低所述直播视频的推流参数的步骤,包括:

确定所述推流分辨率位于的分辨率档位;

调整所述推流分辨率至所述分辨率档位的下一档位对应的分辨率;

所述按照调低后的推流参数,将所述直播视频推流至所述用户端的步骤,包括:

按照调整后的推流分辨率,将所述直播视频推流至所述用户端。

可选的,所述推流参数还包括帧率,在所述按照调整后的分辨率,将所述直播视频推流至所述用户端的步骤之后,所述方法还包括:

检测所述用户端播放所述直播视频是否卡顿;

如果是,调低所述帧率;

按照调低后的帧率,将所述直播视频推流至所述用户端。

可选的,所述推流参数还包括码率,在按照调低后的帧率,将所述直播视频推流至所述用户端的步骤之后,所述方法还包括:

检测所述用户端播放所述直播视频是否卡顿;

如果是,调低所述码率;

按照调低后的码率,将所述直播视频推流至所述用户端。

一种推流装置,所述方法包括:

获取模块,用于在主播直播过程中,获取当前网速;

调整模块,用于根据所述当前网速,调整直播视频的推流参数;

第一推流模块,用于按照调整后的推流参数,将所述直播视频推流至所述用户端。

可选的,所述调整模块,包括:

网速检测单元,用于检测所述当前网速是否低于预设网速阈值,如果是,触发推流参数调低单元;

所述推流参数调低单元,用于调低所述直播视频的推流参数;

所述第一推流模块,具体用于:

按照调低后的推流参数,将所述直播视频推流至所述用户端。

可选的,所述装置还包括:

第一时长检测模块,用于在所述按照调低后的推流参数,将所述直播视频推流至所述用户端之后,检测所述用户端播放所述直播视频未卡顿的时长是否达到预设时长,如果是,触发第一调高模块;

所述第一调高模块,用于调高所述推流参数;

第二推流模块,用于按照调高后的推流参数,将所述直播视频推流至所述用户端。

可选的,所述装置还包括:

第二时长检测模块,用于在所述按照调低后的推流参数,将所述直播视频推流至所述用户端之后,检测所述用户端播放所述直播视频未卡顿的时长是否达到预设时长,如果是,触发cpu占用率检测模块;

所述cpu占用率检测模块,检测所述用户端的cpu占用率是否小于预设占用率值,如果是,触发第二调高模块;

所述第二调高模块,用于调高所述推流参数;

第三推流模块,用于按照调高后的推流参数,将所述直播视频推流至所述用户端。

可选的,所述推流参数包括推流分辨率,所述推流参数调低单元,包括:

分辨率档位确定子单元,用于确定所述推流分辨率位于的分辨率档位;

分辨率调整子单元,用于调整所述推流分辨率至所述分辨率档位的下一档位对应的分辨率;

所述第一推流模块,具体用于:

按照调整后的推流分辨率,将所述直播视频推流至所述用户端。

可选的,所述推流参数还包括帧率,所述装置还包括:

第一卡顿检测模块,用于在所述按照调整后的分辨率,将所述直播视频推流至所述用户端之后,检测所述用户端播放所述直播视频是否卡顿,如果是,触发帧率调低模块;

所述帧率调低模块,用于调低所述帧率;

第四推流模块,用于按照调低后的帧率,将所述直播视频推流至所述用户端。

可选的,所述推流参数还包括码率,所述装置还包括:

第二卡顿检测模块,用于在按照调低后的帧率,将所述直播视频推流至所述用户端之后,检测所述用户端播放所述直播视频是否卡顿,如果是,触发码率调低模块;

所述码率调低模块,用于调低所述码率;

第五推流模块,用于按照调低后的码率,将所述直播视频推流至所述用户端。

一种电子设备,包括处理器和存储器,其中,

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的计算机程序时,实现上述任一所述的方法步骤。

一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的方法步骤。

本发明实施例中,在主播直播过程中,获取当前网速,根据当前网速,调整直播视频的推流参数,按照调整后的推流参数,将直播视频推流至用户端。本发明中,推流参数可以依据当前网速进行调整,不再是一成不变,随着网速的改变,推流参数也发生相应的变化,使得服务器可以采用合适的推流参数向用户端进行推流,减少了直播视频卡顿现象的发生,优化了推流效果,提高了用户体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的推流方法的第一种流程示意图;

图2为本发明实施例提供的推流方法的第二种流程示意图;

图3为本发明实施例提供的推流方法的第三种流程示意图;

图4为本发明实施例提供的推流方法的第四种流程示意图;

图5为本发明实施例提供的推流方法的第五种流程示意图;

图6为本发明实施例提供的推流方法的第六种流程示意图;

图7为本发明实施例提供的推流方法的第七种流程示意图;

图8为本发明实施例提供的推流装置的结构流程示意图;

图9为本发明实施例提供的电子设备的结构流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了解决推流效果差的技术问题,本发明实施例提供了一种推流方法、装置、电子设备及存储介质。

下面首先对本发明实施例所提供的一种推流方法进行介绍。

本发明实施例提供的一种推流方法应用于服务器,服务器分别与主播端和用户端通信连接,其中,主播端为直播时,主播所使用的电子设备,用户端为直播时,观众所使用的电子设备,电子设备可以但不限于以下设备:台式电脑、笔记本电脑。

如图1所示,本发明实施例提供的一种推流方法,该方法可以包括:

s101:在主播直播过程中,获取当前网速。

目前,主播可以通过视频直播的方式,为观众放送精彩的节目。主播在进行视频直播时,观众可以通过用户端观看视频直播。

在视频直播的过程中,服务器需要将主播端的直播视频推流至用户端,其中,推流就是将主播端的主播现场的视频信号传到网络的过程。

在视频直播的过程中,可能由于各种原因导致网速的变化。推流对网络要求比较高,当网速发生变化时,会对服务器的推流效果产生直接的影响,例如:服务器采用相同的推流参数进行推流,当网速较低时,相较于网络较高时的推流效果差,导致直播产生卡顿,因此,服务器为了保证推流效果,需要采用合适的推流参数向用户端进行推流。

为了采用合适的推流参数向用户端进行推流,服务器需要在主播直播过程中,获取当前网速。

s102:根据当前网速,调整直播视频的推流参数。

为了采用合适的推流参数向用户端进行推流,在获取当前网速后,需要根据当前网速,调整直播视频的推流参数。

一般来说,如果当前网速较高,说明网络状态良好,单位时间内可以传输较多的数据,此时,可以调高直播视频的推流参数以传输较多的直播视频数据。

如果当前网速较低,说明网络状态较差,单位时间内可以传输较少的数据,此时,可以调低直播视频的推流参数以传输较少的直播视频数据。

s103:按照调整后的推流参数,将直播视频推流至用户端。

在调整直播视频的推流参数后,即可按照调整后的推流参数,将直播视频推流至用户端,此时,用户端的用户即可观看到主播的直播视频。

本发明实施例中,在主播直播过程中,获取当前网速,根据当前网速,调整直播视频的推流参数,按照调整后的推流参数,将直播视频推流至用户端。本发明中,推流参数可以依据当前网速进行调整,不再是一成不变,随着网速的改变,推流参数也发生相应的变化,使得服务器可以采用合适的推流参数向用户端进行推流,减少了直播视频卡顿现象的发生,优化了推流效果,提高了用户体验。

如图2所示,本发明实施例提供的一种推流方法,该方法可以包括:

s201:在主播直播过程中,获取当前网速。

步骤s201与图1中的步骤s101类似,具体描述可以参见图1中的步骤s101,在此不再赘述。

s202:检测当前网速是否低于预设网速阈值,如果是,执行步骤s203,如果否,不做任何处理。

由于当前网速较低,说明网络状态较差,单位时间内可以传输较少的数据,此时,如果此时传输的数据较多,则可能造成直播视频产生卡顿,因此,为了采用合适的推流参数向用户端进行推流,以减少卡顿的发生,在获取当前网速后,需要检测当前网速是否低于预设网速阈值,并根据检测结果执行后续步骤。

s203:调低直播视频的推流参数。

在检测到当前网速低于预设网速阈值时,说明当前网络状态较差,单位时间内可以传输较少的数据,此时,可以调低直播视频的推流参数以传输较少的直播视频数据。

s204:按照调低后的推流参数,将直播视频推流至用户端。

在调低直播视频的推流参数后,即可按照调低后的推流参数,将直播视频推流至用户端,此时,用户端的用户即可观看到主播的直播视频。

由此,在检测当前网速低于预设网速阈值时,通过调低直播视频的推流参数的方式,减少传输的直播视频数据,达到减少直播视频卡顿的目的。

在图2所示方法的基础上,在步骤s204之后,如图3所示,本发明实施例提供的一种推流方法,还可以包括:

s205:检测用户端播放直播视频未卡顿的时长是否达到预设时长,如果是,执行步骤s206,如果否,不做任何处理。

由于按照调低后的推流参数推流至用户端的直播视频在播放过程中也可能会产生卡顿的现象,如果连续的一段时间内,用户端播放的直播视频未产生卡顿,说明该调低后的推流参数较为合适,即可以使直播视频不产生卡顿,因此,为了确定调低后的推流参数是否合适,在按照调低后的推流参数,将直播视频推流至用户端后,需要检测用户端播放直播视频未卡顿的时长是否达到预设时长,并根据检测结果执行后续步骤。

s206:调高推流参数。

如果检测用户端播放直播视频未卡顿的时长达到预设时长,说明该调低后的推流参数较为合适,此时,为了提高视频直播的播放效果,可以调高推流参数。

s207:按照调高后的推流参数,将直播视频推流至用户端。

在调高推流参数后,即可按照调高后的推流参数,将直播视频推流至用户端。

由此,在检测用户端播放直播视频未卡顿的时长达到预设时长时,通过调高推流参数的方式,提高视频直播的播放效果。

在图2所示方法的基础上,在步骤s204之后,如图4所示,本发明实施例提供的一种推流方法,还可以包括:

s208:检测在预设时间段内,用户端播放所述直播视频是否卡顿,如果是,执行步骤s209,如果否,不做任何处理。

步骤s208与图3中的步骤s205类似,具体描述可以参见图3中的步骤s205,在此不再赘述。

s209:检测用户端的cpu占用率是否小于预设占用率值,如果是,执行步骤s210,如果否,不做任何处理。

如果检测用户端播放直播视频未卡顿的时长达到预设时长,说明该调低后的推流参数较为合适,为了提高视频直播的播放效果,可以调高推流参数,但是,调高推流参数将占用用户端的cpu资源。

并且,用户端可能并不仅仅运行视频直播这一程序,用户端可能还存在其他的正在运行的程序,这些正在运行的程序均会消耗用户的cpu的资源,当cpu所剩资源较少时,将无法支持调高推流参数,因此,为了确定是否可以调高推流参数,需要检测用户端的cpu占用率是否小于预设占用率值,并根据检测结果执行后续步骤。

s210:调高推流参数。

但检测用户端的cpu占用率小于预设占用率值时,说明用户端的cpu的剩余资源较多,可以支持调高推流参数,此时,调高推流参数。

s211:按照调高后的推流参数,将直播视频推流至用户端。

在调高推流参数后,即可按照调高后的推流参数,将直播视频推流至用户端。

由此,在检测用户端播放直播视频未卡顿的时长达到预设时长时,继续检测用户端的cpu占用率是否小于预设占用率值,并在小于预设占用率值时,通过调高推流参数的方式,提高视频直播的播放效果。

推流参数可以包括多种,如图5所示,当推流参数包括推流分辨率时,本发明实施例提供的一种推流方法,该方法可以包括:

s301:在主播直播过程中,获取当前网速。

步骤s301与图1中的步骤s101类似,具体描述可以参见图1中的步骤s101,在此不再赘述。

s302:检测当前网速是否低于预设网速阈值,如果是,执行步骤s303,如果否,不做任何处理。

步骤s302与图2中的步骤s201类似,具体描述可以参见图2中的步骤s201,在此不再赘述。

s303:确定推流分辨率位于的分辨率档位。

通常情况下,图像的分辨率越高,所包含的像素就越多,图像就越清晰,印刷的质量也就越好,同时,它也会增加文件占用的空间。也就是说,推流分辨率越高,直播视频所占用的空间越大,推流分辨率越低,直播视频所占用的空间越小。

由于在检测到当前网速低于预设网速阈值时,说明当前网络状态较差,单位时间内可以传输较少的数据,此时,为了减少传输的直播视频数据,需要确定推流分辨率位于的分辨率档位。

本发明实施例中,预先将直播视频的分辨率划分为多个档位,示例性的,直播视频的分辨率的档位可以如下表所示:

s304:调整推流分辨率至分辨率档位的下一档位对应的分辨率。

为了减少传输的直播视频数据,在确定推流分辨率位于的分辨率档位后,需要调整推流分辨率至分辨率档位的下一档位对应的分辨率。

例如:假设所确定的推流分辨率位于的分辨率档位为中档,则调整推流分辨率至低档对应的分辨率。

s305:按照调整后的推流分辨率,将直播视频推流至用户端。

在调整推流分辨率至分辨率档位的下一档位对应的分辨率后,即可按照调整后的推流参数,将直播视频推流至用户端,此时,用户端的用户即可观看到主播的直播视频。

由此,在检测当前网速低于预设网速阈值时,通过调低分辨率档位的方式,减少传输的直播视频数据,达到减少直播视频卡顿的目的。

在图5所示方法的基础上,如图6所示,推流参数还可以包括帧率,在步骤s305之后,本发明实施例提供的一种推流方法,还可以包括:

s306:检测用户端播放直播视频是否卡顿,如果是,执行步骤s307,如果否,不做任何处理。

由于按照调整后的推流分辨率推流至用户端的直播视频在播放过程中也可能会产生卡顿的现象,因此,在按照调整后的推流分辨率,将直播视频推流至用户端后,需要检测用户端播放直播视频是否卡顿,并根据检测结果执行后续步骤。

s307:调低帧率。

如果检测用户端播放直播视频卡顿,说明即使按照调整后的推流分辨率,将直播视频推流至用户端,依然无法改变卡顿的现象,此时,可以通过调低帧率的方式减缓卡顿。其中,帧率为每秒显示的帧数。

s308:按照调低后的帧率,将直播视频推流至用户端。

在调低帧率后,即可按照调低后的帧率,将直播视频推流至用户端。

由此,在调整分辨率后,检测用户端播放直播视频依然卡顿的情况下,通过调低帧率的方式,达到减缓卡顿的效果。

在图6所示方法的基础上,如图7所示,推流参数还可以包括帧率,在步骤s308之后,本发明实施例提供的一种推流方法,还可以包括:

s309:检测用户端播放直播视频是否卡顿,如果是,执行步骤s310,如果否,不做任何处理。

由于按照调低后的帧率推流至用户端的直播视频在播放过程中也可能会产生卡顿的现象,因此,在按照调低后的帧率,将直播视频推流至用户端后,需要检测用户端播放直播视频是否卡顿,并根据检测结果执行后续步骤。

s310:调低码率。

如果检测用户端播放直播视频卡顿,说明即使按照调低后的帧率,将直播视频推流至用户端,依然无法改变卡顿的现象,此时,可以通过调低码率的方式减缓卡顿。其中,码率为是数据传输时单位时间传送的数据位数。

s311:按照调低后的码率,将直播视频推流至用户端。

在调低码率后,即可按照调低后的码率,将直播视频推流至用户端。

由此,在调整分辨率并调低帧率后,检测用户端播放直播视频依然卡顿的情况下,通过调低码率的方式,达到减缓卡顿的效果。

相对于上述方法实施例,参见图8,本发明实施例还提供了一种推流装置,所述装置可以包括:

获取模块401,用于在主播直播过程中,获取当前网速;

调整模块402,用于根据所述当前网速,调整直播视频的推流参数;

第一推流模块403,用于按照调整后的推流参数,将所述直播视频推流至所述用户端。

本发明实施例中,在主播直播过程中,获取当前网速,根据当前网速,调整直播视频的推流参数,按照调整后的推流参数,将直播视频推流至用户端。本发明中,推流参数可以依据当前网速进行调整,不再是一成不变,随着网速的改变,推流参数也发生相应的变化,使得服务器可以采用合适的推流参数向用户端进行推流,减少了直播视频卡顿现象的发生,优化了推流效果,提高了用户体验。

在本发明实施例的一种实现方式中,所述调整模块402,可以包括:

网速检测单元,用于检测所述当前网速是否低于预设网速阈值,如果是,触发推流参数调低单元;

所述推流参数调低单元,用于调低所述直播视频的推流参数;

所述第一推流模块403,可以具体用于:

按照调低后的推流参数,将所述直播视频推流至所述用户端。

在本发明实施例的一种实现方式中,所述装置还可以包括:

第一时长检测模块,用于在所述按照调低后的推流参数,将所述直播视频推流至所述用户端之后,检测所述用户端播放所述直播视频未卡顿的时长是否达到预设时长,如果是,触发第一调高模块;

所述第一调高模块,用于调高所述推流参数;

第二推流模块,用于按照调高后的推流参数,将所述直播视频推流至所述用户端。

在本发明实施例的一种实现方式中,所述装置还可以包括:

第二时长检测模块,用于在所述按照调低后的推流参数,将所述直播视频推流至所述用户端之后,检测所述用户端播放所述直播视频未卡顿的时长是否达到预设时长,如果是,触发cpu占用率检测模块;

所述cpu占用率检测模块,检测所述用户端的cpu占用率是否小于预设占用率值,如果是,触发第二调高模块;

所述第二调高模块,用于调高所述推流参数;

第三推流模块,用于按照调高后的推流参数,将所述直播视频推流至所述用户端。

在本发明实施例的一种实现方式中,所述推流参数包括推流分辨率,所述推流参数调低单元,可以包括:

分辨率档位确定子单元,用于确定所述推流分辨率位于的分辨率档位;

分辨率调整子单元,用于调整所述推流分辨率至所述分辨率档位的下一档位对应的分辨率;

所述第一推流模块,具体用于:

按照调整后的推流分辨率,将所述直播视频推流至所述用户端。

在本发明实施例的一种实现方式中,所述推流参数还包括帧率,所述装置还可以包括:

第一卡顿检测模块,用于在所述按照调整后的分辨率,将所述直播视频推流至所述用户端之后,检测所述用户端播放所述直播视频是否卡顿,如果是,触发帧率调低模块;

所述帧率调低模块,用于调低所述帧率;

第四推流模块,用于按照调低后的帧率,将所述直播视频推流至所述用户端。

在本发明实施例的一种实现方式中,所述推流参数还包括码率,所述装置还可以包括:

第二卡顿检测模块,用于在按照调低后的帧率,将所述直播视频推流至所述用户端之后,检测所述用户端播放所述直播视频是否卡顿,如果是,触发码率调低模块;

所述码率调低模块,用于调低所述码率;

第五推流模块,用于按照调低后的码率,将所述直播视频推流至所述用户端。

本发明实施例还提供了一种电子设备,如图9所示,包括处理器901和存储器902,

存储器902,用于存放计算机程序;

处理器901,用于执行存储器902上所存放的计算机程序时,实现推流方法,该方法可以包括如下步骤:

在主播直播过程中,获取当前网速;

根据所述当前网速,调整直播视频的推流参数;

按照调整后的推流参数,将所述直播视频推流至所述用户端。

本发明实施例中,电子设备在主播直播过程中,获取当前网速,根据当前网速,调整直播视频的推流参数,按照调整后的推流参数,将直播视频推流至用户端。本发明中,推流参数可以依据当前网速进行调整,不再是一成不变,随着网速的改变,推流参数也发生相应的变化,使得服务器可以采用合适的推流参数向用户端进行推流,减少了直播视频卡顿现象的发生,优化了推流效果,提高了用户体验。

在本发明的一种实现方式中,所述根据所述当前网速,调整直播视频的推流参数的步骤,可以包括:

检测所述当前网速是否低于预设网速阈值;

如果是,调低所述直播视频的推流参数;

所述按照调整后的推流参数,将所述直播视频推流至所述用户端的步骤,包括:

按照调低后的推流参数,将所述直播视频推流至所述用户端。

在本发明的一种实现方式中,在所述按照调低后的推流参数,将所述直播视频推流至所述用户端的步骤之后,所述方法还可以包括:

检测所述用户端播放所述直播视频未卡顿的时长是否达到预设时长;

如果是,调高所述推流参数;

按照调高后的推流参数,将所述直播视频推流至所述用户端。

在本发明的一种实现方式中,在所述按照调低后的推流参数,将所述直播视频推流至所述用户端的步骤之后,所述方法还可以包括:

检测所述用户端播放所述直播视频未卡顿的时长是否达到预设时长;

如果达到预设时长,检测所述用户端的cpu占用率是否小于预设占用率值;

如果小于预设占用率值,调高所述推流参数;

按照调高后的推流参数,将所述直播视频推流至所述用户端。

在本发明的一种实现方式中,所述推流参数包括推流分辨率,所述调低所述直播视频的推流参数的步骤,可以包括:

确定所述推流分辨率位于的分辨率档位;

调整所述推流分辨率至所述分辨率档位的下一档位对应的分辨率;

所述按照调低后的推流参数,将所述直播视频推流至所述用户端的步骤,包括:

按照调整后的推流分辨率,将所述直播视频推流至所述用户端。

在本发明的一种实现方式中,所述推流参数还包括帧率,在所述按照调整后的分辨率,将所述直播视频推流至所述用户端的步骤之后,所述方法还可以包括:

检测所述用户端播放所述直播视频是否卡顿;

如果是,调低所述帧率;

按照调低后的帧率,将所述直播视频推流至所述用户端。

在本发明的一种实现方式中,所述推流参数还包括码率,在按照调低后的帧率,将所述直播视频推流至所述用户端的步骤之后,所述方法还可以包括:

检测所述用户端播放所述直播视频是否卡顿;

如果是,调低所述码率;

按照调低后的码率,将所述直播视频推流至所述用户端。

上述电子设备提到的存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现推流方法,该方法可以包括如下步骤:

在主播直播过程中,获取当前网速;

根据所述当前网速,调整直播视频的推流参数;

按照调整后的推流参数,将所述直播视频推流至所述用户端。

本发明实施例中,计算机程序被处理器执行时在主播直播过程中,获取当前网速,根据当前网速,调整直播视频的推流参数,按照调整后的推流参数,将直播视频推流至用户端。本发明中,推流参数可以依据当前网速进行调整,不再是一成不变,随着网速的改变,推流参数也发生相应的变化,使得服务器可以采用合适的推流参数向用户端进行推流,减少了直播视频卡顿现象的发生,优化了推流效果,提高了用户体验。

在本发明的一种实现方式中,所述根据所述当前网速,调整直播视频的推流参数的步骤,可以包括:

检测所述当前网速是否低于预设网速阈值;

如果是,调低所述直播视频的推流参数;

所述按照调整后的推流参数,将所述直播视频推流至所述用户端的步骤,包括:

按照调低后的推流参数,将所述直播视频推流至所述用户端。

在本发明的一种实现方式中,在所述按照调低后的推流参数,将所述直播视频推流至所述用户端的步骤之后,所述方法还可以包括:

检测所述用户端播放所述直播视频未卡顿的时长是否达到预设时长;

如果是,调高所述推流参数;

按照调高后的推流参数,将所述直播视频推流至所述用户端。

在本发明的一种实现方式中,在所述按照调低后的推流参数,将所述直播视频推流至所述用户端的步骤之后,所述方法还可以包括:

检测所述用户端播放所述直播视频未卡顿的时长是否达到预设时长;

如果达到预设时长,检测所述用户端的cpu占用率是否小于预设占用率值;

如果小于预设占用率值,调高所述推流参数;

按照调高后的推流参数,将所述直播视频推流至所述用户端。

在本发明的一种实现方式中,所述推流参数包括推流分辨率,所述调低所述直播视频的推流参数的步骤,可以包括:

确定所述推流分辨率位于的分辨率档位;

调整所述推流分辨率至所述分辨率档位的下一档位对应的分辨率;

所述按照调低后的推流参数,将所述直播视频推流至所述用户端的步骤,包括:

按照调整后的推流分辨率,将所述直播视频推流至所述用户端。

在本发明的一种实现方式中,所述推流参数还包括帧率,在所述按照调整后的分辨率,将所述直播视频推流至所述用户端的步骤之后,所述方法还可以包括:

检测所述用户端播放所述直播视频是否卡顿;

如果是,调低所述帧率;

按照调低后的帧率,将所述直播视频推流至所述用户端。

在本发明的一种实现方式中,所述推流参数还包括码率,在按照调低后的帧率,将所述直播视频推流至所述用户端的步骤之后,所述方法还可以包括:

检测所述用户端播放所述直播视频是否卡顿;

如果是,调低所述码率;

按照调低后的码率,将所述直播视频推流至所述用户端。

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

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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