CN111586431A - 进行直播处理的方法、装置、设备及存储介质 - Google Patents
进行直播处理的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111586431A CN111586431A CN202010504005.3A CN202010504005A CN111586431A CN 111586431 A CN111586431 A CN 111586431A CN 202010504005 A CN202010504005 A CN 202010504005A CN 111586431 A CN111586431 A CN 111586431A
- Authority
- CN
- China
- Prior art keywords
- live video
- average
- live
- frame rate
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440263—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440281—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
Abstract
本申请公开了一种进行直播处理的方法、装置、设备及存储介质,属于互联网技术领域。所述方法包括:当检测到直播功能触发时,获取终端连接的第一摄像设备的参数信息,其中,所述第一摄像设备的参数信息包括所述第一摄像设备支持的分辨率和帧率;获取终端的第一上行带宽信息;基于所述第一摄像设备的参数信息以及所述终端的第一上行带宽信息,确定所述终端进行直播的第一直播视频参数,其中,所述第一直播视频参数包括直播视频的帧率和分辨率;基于所述第一直播视频参数进行直播处理。采用本申请能够在直播过程中简化用户操作。
Description
技术领域
本申请涉及互联网技术领域,特别涉及一种进行直播处理的方法、装置、设备及存储介质。
背景技术
随着互联网技术的发展,网络直播变得越来越火热,用户可以在网络直播平台申请直播账户成为主播,然后可以通过终端例如手机或电脑等,进行网络直播。
在相关的直播技术中,主播在直播时,终端连接的摄像头可以采集的主播直播的视频图像,终端连接的麦克风可以采集主播的音频信息,然后终端可以将主播的视频图像和音频信息合成主播直播的视频流发送至服务器,再由服务器将主播直播的视频流发送至其他观看该主播直播的账户所登录的终端。但由于主播进行直播的终端、设备以及网络环境各不相同,例如,摄像头的采集帧率,终端的当前网速等等,会影响主播的直播视频的参数,例如,直播视频的清晰度、帧率等。所以在主播直播之前需要根据自己的进行直播的终端、设备以及网络环境等设置直播时的直播视频参数,例如,将直播视频清晰度为高清还是超清,帧率为30帧还是15帧等。在主播设置直播视频参数完成后,终端连接的摄像头可以根据主播设置的直播视频参数获取视频图像,终端再将对应的视频流发送至服务器。
在实现本申请的过程中,发明人发现相关的直播技术至少存在以下问题:
相关的直播技术需要主播在直播前设置直播视频的参数,但是主播可能并不清楚自己的终端、设备以及网络环境对应的直播视频参数,需要在每次直播之前调整直播视频参数,然后根据直播视频的流畅度,确定自己调整直播视频参数是否合适,如果不合适则需要对直播视频参数再次进行调整,直到调整直播视频参数能够使直播视频变得流畅,这一过程过于繁琐、费时。
发明内容
本申请实施例提供了一种进行直播处理的方法、装置、设备及存储介质,能够在直播过程中简化用户操作。所述技术方案如下:
第一方面,提供了一种进行直播处理的方法,所述方法包括:
当检测到直播功能触发时,获取终端连接的第一摄像设备的参数信息,其中,所述第一摄像设备的参数信息包括所述第一摄像设备支持的分辨率和帧率;
获取所述终端的第一上行带宽信息;
基于所述第一摄像设备的参数信息以及所述终端的第一上行带宽信息,确定所述终端进行直播的第一直播视频参数,其中,所述第一直播视频参数包括直播视频的帧率和分辨率;
基于所述第一直播视频参数进行直播处理。
可选的,所述基于所述第一摄像设备的参数信息以及所述终端的第一上行带宽信息,确定所述终端进行直播的第一直播视频参数,包括:
确定所述终端的第一上行带宽信息支持的至少一组直播视频参数,其中,所述第一上行带宽信息所支持的视频码率大于或等于所述至少一组直播视频参数中各直播视频参数对应的视频码率;
基于所述第一摄像设备的参数信息在所述至少一组直播视频参数中确定第一直播视频参数,其中,所述第一直播视频参数中包括的直播视频的帧率在所述第一摄像设备支持的帧率范围内,所述第一直播视频的分辨率在摄像设备支持的分辨率范围内。
可选的,在所述基于所述第一直播视频参数进行直播处理之后,所述方法还包括:
在所述直播处理结束之后,确定所述第一摄像设备在直播过程中的平均采集帧率,所述终端在直播过程中的平均处理帧率、内存平均占用率以及平均上传码率;
将所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率与所述第一直播视频参数对应存储。
可选的,在所述直播处理结束之后,所述方法还包括:
当再次检测到直播功能触发时,获取所述终端连接的第二摄像设备的第二参数信息,以及终端的第二上行带宽信息;
基于所述第二摄像设备的第二参数信息以及所述终端的第二上行带宽信息,确定所述终端进行直播的第二直播视频参数,其中,所述第二直播视频参数包括直播视频的帧率和分辨率;
如果所述第二直播视频参数与所述第一直播视频参数不相同,则基于所述第二直播视频参数进行直播处理;
如果所述第二直播视频参数与所述第一直播视频参数相同,则基于所述第一直播视频参数对应的所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率,确定所述第二直播视频参数是否满足开播条件,如果所述第二直播视频参数满足所述开播条件,则基于所述第二直播视频参数进行直播处理,如果所述第二直播视频参数不满足所述开播条件,则基于所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率、以及所述第二直播视频参数确定第三直播视频参数,并基于所述第三直播参数进行直播处理。
可选的,基于所述第一直播视频参数对应的所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率,确定所述第二直播视频参数是否满足开播条件,包括:
如果所述平均采集帧率减去第二直播视频参数中直播视频的帧率的差值大于或等于第一数值,且所述平均处理帧率减去所述平均采集帧率的差值大于或等于第二数值,且所述内存平均占用率低于预设占用率,且所述平均上传码率高于或等于第二直播视频参数对应的视频码率,则确定所述第二直播视频参数满足开播条件;
如果所述平均采集帧率减去第二直播视频参数中直播视频的帧率的差值小于第一数值,或,所述平均处理帧率减去所述平均采集帧率的差值小于第二数值,或,所述内存平均占用率等于或高于预设占用率,或,所述平均上传码率低于第二直播视频参数对应的视频码率,则确定所述第二直播视频参数不满足开播条件。
可选的,所述如果所述第二直播视频参数不满足所述开播条件,则基于所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率、以及所述第二直播视频参数确定第三直播视频参数,包括:
如果所述平均采集帧率减去第二直播视频参数中直播视频的帧率的差值小于第一数值,则基于所述平均采集帧率与所述第二直播视频参数确定第三直播视频参数,其中,所述第三直播视频参数包括的直播视频的帧率低于所述平均采集帧率,所述第三直播视频参数包括的直播视频的分辨率低于或等于所述第二直播视频参数包括的直播视频的分辨率;
如果所述平均处理帧率减去所述平均采集帧率的差值小于第二数值,则基于所述平均处理帧率与所述第二直播视频参数确定第三直播视频参数,其中,所述第三直播视频参数包括的直播视频的帧率低于所述平均处理帧率,所述第三直播视频参数包括的直播视频的分辨率低于或等于所述第二直播视频参数包括的直播视频的分辨率;
如果所述内存平均占用率等于或高于预设占用率,则基于所述平均占用率、占用率计算系数、以及所述第二直播视频参数,确定多组第四直播视频参数,以及多组第四直播视频参数对应的内存占用率,在多组第四直播视频参数确定第三直播视频参数,其中,所述第三直播视频参数对应的内存占用率低于所述预设占用率;
如果平均上传码率低于第二直播视频参数对应的预设码率,则基于所述平均上传码率和所述第二直播视频参数,确定第三直播视频参数,其中,所述第三直播视频参数对应的视频码率低于所述平均上传码率。
第二方面,提供了一种进行直播处理的装置,所述装置包括:
第一获取模块,用于当检测到直播功能触发时,获取终端连接的第一摄像设备的参数信息,其中,所述第一摄像设备的参数信息包括所述第一摄像设备支持的分辨率和帧率;
第二获取模块,用于获取所述终端的第一上行带宽信息;
确定模块,用于基于所述第一摄像设备的参数信息以及所述终端的第一上行带宽信息,确定所述终端进行直播的第一直播视频参数,其中,所述第一直播视频参数包括直播视频的帧率和分辨率;
第一处理模块,用于基于所述第一直播视频参数进行直播处理。
可选的,所述确定模块,用于:
确定所述终端的第一上行带宽信息支持的至少一组直播视频参数,其中,所述第一上行带宽信息所支持的视频码率大于或等于所述至少一组直播视频参数中各直播视频参数对应的视频码率;
基于所述第一摄像设备的参数信息在所述至少一组直播视频参数中确定第一直播视频参数,其中,所述第一直播视频参数中包括的直播视频的帧率在所述第一摄像设备支持的帧率范围内,所述第一直播视频的分辨率在摄像设备支持的分辨率范围内。
可选的,所述装置还包括存储模块,用于:
在所述直播处理结束之后,确定所述第一摄像设备在直播过程中的平均采集帧率,所述终端在直播过程中的平均处理帧率、内存平均占用率以及平均上传码率;
将所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率与所述第一直播视频参数对应存储。
可选的,所述装置还包括第二处理模块,用于:
当再次检测到直播功能触发时,获取所述终端连接的第二摄像设备的第二参数信息,以及终端的第二上行带宽信息;
基于所述第二摄像设备的第二参数信息以及所述终端的第二上行带宽信息,确定所述终端进行直播的第二直播视频参数,其中,所述第二直播视频参数包括直播视频的帧率和分辨率;
如果所述第二直播视频参数与所述第一直播视频参数不相同,则基于所述第二直播视频参数进行直播处理;
如果所述第二直播视频参数与所述第一直播视频参数相同,则基于所述第一直播视频参数对应的所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率,确定所述第二直播视频参数是否满足开播条件,如果所述第二直播视频参数满足所述开播条件,则基于所述第二直播视频参数进行直播处理,如果所述第二直播视频参数不满足所述开播条件,则基于所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率、以及所述第二直播视频参数确定第三直播视频参数,并基于所述第三直播参数进行直播处理。
可选的,所述第二处理模块,用于:
如果所述平均采集帧率减去第二直播视频参数中直播视频的帧率的差值大于或等于第一数值,且所述平均处理帧率减去所述平均采集帧率的差值大于或等于第二数值,且所述内存平均占用率低于预设占用率,且所述平均上传码率高于或等于第二直播视频参数对应的视频码率,则确定所述第二直播视频参数满足开播条件;
如果所述平均采集帧率减去第二直播视频参数中直播视频的帧率的差值小于第一数值,或,所述平均处理帧率减去所述平均采集帧率的差值小于第二数值,或,所述内存平均占用率等于或高于预设占用率,或,所述平均上传码率低于第二直播视频参数对应的视频码率,则确定所述第二直播视频参数不满足开播条件。
可选的,所述第二处理模块,用于:
如果所述平均采集帧率减去第二直播视频参数中直播视频的帧率的差值小于第一数值,则基于所述平均采集帧率与所述第二直播视频参数确定第三直播视频参数,其中,所述第三直播视频参数包括的直播视频的帧率低于所述平均采集帧率,所述第三直播视频参数包括的直播视频的分辨率低于或等于所述第二直播视频参数包括的直播视频的分辨率;
如果所述平均处理帧率减去所述平均采集帧率的差值小于第二数值,则基于所述平均处理帧率与所述第二直播视频参数确定第三直播视频参数,其中,所述第三直播视频参数包括的直播视频的帧率低于所述平均处理帧率,所述第三直播视频参数包括的直播视频的分辨率低于或等于所述第二直播视频参数包括的直播视频的分辨率;
如果所述内存平均占用率等于或高于预设占用率,则基于所述平均占用率、占用率计算系数、以及所述第二直播视频参数,确定多组第四直播视频参数,以及多组第四直播视频参数对应的内存占用率,在多组第四直播视频参数确定第三直播视频参数,其中,所述第三直播视频参数对应的内存占用率低于所述预设占用率;
如果平均上传码率低于第二直播视频参数对应的预设码率,则基于所述平均上传码率和所述第二直播视频参数,确定第三直播视频参数,其中,所述第三直播视频参数对应的视频码率低于所述平均上传码率。
第三方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上所述的进行直播处理的方法所执行的操作。
第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的进行直播处理的方法所执行的操作。
本申请实施例提供的技术方案带来的有益效果是:
通过在开始直播时,获取终端连接的摄像设备的参数信息以及终端的上行带宽信息,确定进行直播处理的直播视频参数,可见采用本申请,不需要用户对直播视频参数进行调整,终端能够直接根据摄像设备的参数信息以及上行带宽信息,自动设置合适的直播视频参数,能够在直播过程中简化用户操作。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种进行直播处理的方法流程图;
图2是本申请实施例提供的一种进行直播处理的装置结构示意图;
图3是本申请实施例提供的终端结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请提供的进行直播处理的方法可以由终端实现。终端可以运行有与网络直播相关的应用程序,例如直播应用程序。终端可以具备摄像头、麦克风、显示屏幕等部件,或者也可以外接其他的摄像头、耳机等设备。终端具有处理器和存储器,能对图像数据进行处理、存储。终端还可以具备通信功能,可以接入互联网与直播应用程序的后台服务器进行数据传输。其中,终端可以是智能手机、台式电脑、笔记本电脑,以及各种智能穿戴设备等等。
用户可以操作终端运行直播应用程序,在直播应用程序中登录自己预先申请的直播账户,然后在直播应用程序中点击直播选项进行直播。在直播的过程中,终端连接的摄像设备,例如摄像头,可以采集该用户的直播图像,终端连接的拾音设备,例如麦克风,可以采集该用户的直播音频,然后终端可以将对应的直播音频以及直播图像进行处理,生成对应的直播视频流并发送至服务器,服务器可以根据观看该用户直播的账户列表,将该用户的直播视频流发送至对应的账户登录的终端,从而实现网络直播功能。本申请提供的进行直播处理的方法,可以在用户开始直播之前,可以根据用户的直播环境,例如用户用于直播的终端、以及终端连接的设备的性能,以及终端的带宽等信息,确定适合用户进行直播的直播视频参数,能够保证用户的直播视频的画质和流畅度。
图1是本申请实施例提供的一种进行直播处理的方法的流程图。参见图1,该实施例包括:
步骤101、当检测到直播功能触发时,获取终端连接的第一摄像设备的参数信息。
其中,第一摄像设备的参数信息包括第一摄像设备支持的分辨率和帧率。
在实施中,直播应用程序中设置有开始直播的选项,用户可以点击开始直播的选项触发直播功能,终端在检测到直播功能触发之后,可以获取终端连接的第一摄像设备支持的分辨率范围和支持的帧率范围。其中,第一摄像设备可以是终端通过外设接口连接的摄像头,也可以集成在终端上的摄像设备,例如手机或笔记本电脑上的配置的摄像头。可以通过枚举摄像头的参数,获取摄像头支持的分辨率范围和支持的帧率范围,例如可以通过DirectShow(一种流媒体处理开发包)获取摄像头支持的分辨率范围和支持的帧率范围。一般情况下摄像头支持的分辨率可以从高到低分可以分为4K、1080P、720P、480P等。摄像头支持的帧率可以从高到低可以分为60帧、30帧、15帧等。还可以通过测获取摄像头的支持的最高分辨率和最高帧率,确定摄像头支持的分辨率范围和支持的帧率范围。例如当摄像头支持的最高分辨率1080P时,则该摄像头也支持720P、480P等低于1080P的分辨率,当摄像头支持的最高帧率为30帧时,则该摄像头也支持15帧等低于30帧的帧率。
步骤102、获取终端的第一上行带宽信息。
在实施中,终端在检测到直播功能触发之后,获取终端的第一上行带宽信息,即终端在单位时长内上传的数据量。例如可以向云存储服务器上传文件,通过单位时长内上传的文件大小测算出用户的终端在开始直播时的上行带宽信息。其中需要说明的是,步骤102和步骤101在时序上并没有先后,可以同时进行。
步骤103、基于第一摄像设备的参数信息以及终端的第一上行带宽信息,确定终端进行直播的第一直播视频参数,其中,第一直播视频参数包括直播视频的帧率和分辨率。
在实施中,技术人员可以根据摄像设备的参数信息以及终端的上行带宽信息定义不同的开播参数模版,在每个开播参数模版中包括直播视频的分辨率、帧率,以及支持对应直播视频的分辨率、帧率的视频码率。如下表1所示,开播参数模版可以根据不同的直播视频参数分为流畅、高清、超清、蓝光4M、蓝光8M等。
模版 | 分辨率 | 帧率 | 码率 |
流畅 | 480P | 15帧 | 100K |
高清 | 720P | 15帧 | 150K |
超清 | 720P | 30帧 | 250K |
蓝光4M | 1080P | 30帧 | 500K |
蓝光8M | 1080P | 30帧 | 1M |
表1
可选的,终端可以在获取到第一摄像设备的参数信息以及第一上行带宽信息之后,可以根据第一摄像设备的参数信息以及终端的上行带宽信息,确定对应的开播参数模版,将开播参数模版中的直播视频参数,作为本次直播的第一直播视频参数。相应的处理如下:确定终端的第一上行带宽信息支持的至少一组直播视频参数,其中,第一上行带宽信息所支持的视频码率大于或等于至少一组直播视频参数中各直播视频参数对应的视频码率;基于第一摄像设备的参数信息在至少一组直播视频参数中确定第一直播视频参数,其中,第一直播视频参数中包括的直播视频的帧率在第一摄像设备支持的帧率范围内,第一直播视频的分辨率在摄像设备支持的分辨率范围内,其中,至少一组直播视频参数为至少一个开播参数模板。
在实施中,终端可以在获取到第一摄像设备的参数信息以及第一上行带宽信息之后,可以根据第一摄像设备的参数信息以及终端的上行带宽信息,确定对应的开播参数模版,即确定本次直播的第一直播视频参数。可以先根据终端的第一上行带宽信息确定终端的上传带宽信息对应的视频码率,其中,第一上传带宽信息为终端在单位时长内上传数据的数据量,例如,终端的在1秒内上传数据的数据量300K,则终端的第一上行带宽信息对应的是视频码率为300K,根据表1可知,终端的第一上传带宽信息支持的开播参数模板分别为超清、高清、流畅。另外,由于终端的上传带宽不一定全部分配给直播应用程序,所以在确定终端的上传带宽信息支持的视频码率时,可以将上传带宽信息乘上预设的分流系数,该分流系数可以由技术人员设置,此处不对分流系数的数值进行限定,例如,分流系数可以为60%,当终端的在1秒内上传数据的数据量为300K时,则终端的第一上行带宽信息对应的视频码率为180K,根据表1可知,则终端的第一上传带宽信息支持的开播参数模板分别为高清、流畅。在确定终端的第一上行带宽信息支持的至少一组直播视频参数之后,即确定对应的开播参数模板之后,可以根据摄像设备支持的分辨率范围、帧率范围确定本次进行直播的开播参数模版,即第一直播视频参数。一般情况下,为了主播的直播视频有更好的视频质量,可以根据摄像设备支持的最高分辨率、最高帧率在终端的上行带宽信息支持的开播参数模版,确定进行直播的开播参数模版。例如,终端的上行带宽信息支持的开播参数模版为高清和流畅,摄像设备支持的最高分辨率为1080P、最高帧率为30帧,则根据表1可知,可以进行直播的开播参数模板为高清和流畅,然后可以在高清和流畅对应的开播参数模板中确定分辨率以及帧率最高的开播参数模板作为进行直播的开播参数模板,即将高清对应的开播参数模板中的分辨率和帧率作为第一直播视频参数。
步骤104、基于第一直播视频参数进行直播处理。
在实施中,在确定第一直播视频参数之后,终端可以向第一摄像设备发送携带有第一直播视频参数中包括的分辨率和帧率的采集指令,以指示第一摄像设备向终端按照第一直播视频参数向终端发送采集的直播视频帧。然后终端可以将接收的直播视频帧以及通过拾音设备获取的直播音频进行处理,生成对应的直播视频流并发送至服务器,以供其他用户观看直播视频。
可选的,终端可以在直播处理结束之后,确定第一摄像设备在直播过程中的平均采集帧率,终端在直播过程中的平均处理帧率、内存平均占用率以及平均上传码率;将平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率与第一直播视频参数对应存储,以用于后续验证第一直播视频参数是否合适终端进行直播。
其中,平均采集帧率为摄像头在直播过程中的采集帧率,获取方式可如下:终端在开始直播之后,对接收到第一摄像设备发送的视频帧进行计数,每接收到一个摄像设备发送的视频帧之后,可以将对应的接收计数数值进行加1,然后在终端接收到直播接收指令之后,可以获取终端本次直播的直播时长,然后用本次的直播时长除以本次直播的接收计数数值得到本次直播的平均采集帧率。
平均处理帧率为终端的图像处理器在直播过程中的单位时长内能够处理视频帧的个数,获取方式可如下:终端在开始直播之后,终端的图像处理器可以对接收第一摄像设备发送的视频帧进行处理生成对应的直播视频流,终端可以在每处理一个视频帧之后,将对应的处理计数数值进行加1,然后在终端接收到直播接收指令之后,可以获取终端本次直播的直播时长,然后用本次的直播时长除以本次直播的处理计数数值得到本次直播的平均采集帧率。
内存平均占用率为终端的处理器的内存占用率,获取方式如下:终端在开始直播之后,可以根据按照预设的获取周期,通过终端系统的接口获取终端的内存占用率,然后在终端接收到直播接收指令之后,可以将获取的多个内存占用率求均值得到终端在本次直播过程中的内存平均占用率。
平均上传码率为终端在直播过程中的平均上传码率,获取方式如下:终端在开始直播之后,可以按照预设的统计周期统计终端的平均上传码率,例如,可以1分钟统计一次终端的上传数据量,然后在5个连续的1分钟内,去除上传数据量的最大值和最小值,将剩余的3个数据量求均值,得到平均上传数据量。在终端接收到直播接收指令之后,可以对多个平均上传数据量求均值得到终端在本次直播中的平均上传码率。
终端在结束直播,并得到平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率后,可以将平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率作为直播历史数据与第一直播视频参数对应存储,以用于验证第一直播视频参数是否合适终端进行直播。
相应的通过直播历史数据验证第一直播视频参数是否合适终端进行直播的步骤如下:
步骤1041、当再次检测到直播功能触发时,获取终端连接的第二摄像设备的第二参数信息,以及终端的第二上行带宽信息。
在实施中,第二摄像设备可以是终端通过外设接口连接的摄像头,也可以集成在终端上的摄像设备,可以与上述实施例中的第一摄像设备为同一摄像设备,也可以是与上述实施例中的第一摄像设备不同,为终端更换之后的摄像设备。终端的第二上行带宽信息为终端在当再次检测到直播功能触发时的上行带宽信息。当终端再次检测到直播功能触发时,即终端再次进行直播时,可以按照上述步骤101-102的方式获取第二摄像设备的参数信息以及终端的第二上行带宽信息,此处不再赘述。
步骤1042、基于第二摄像设备的第二参数信息以及终端的第二上行带宽信息,确定终端进行直播的第二直播视频参数,其中,第二直播视频参数包括直播视频的帧率和分辨率。
在实施中,在终端获取第二摄像设备的参数信息以及终端的第二上行带宽信息之后,可以按照上述步骤103中的实施方式,确定第二摄像设备的参数信息以及第二上行带宽信息对应的第二直播视频参数,在第二直播视频参数中包括本次进行直播时的直播视频帧率和直播视频分辨率。
步骤1043、如果第二直播视频参数与第一直播视频参数不相同,则基于第二直播视频参数进行直播处理。
在实施中,如果第二直播视频参数与第一直播视频参数不相同,则说明本次直播时的直播环境与上次直播时的直播环境不同,例如,终端更换了摄像设备,或提高了网络带宽等。则可以根据本次确定的第二直播视频参数进行直播处理。即终端可以向第二摄像设备发送携带有第二直播视频参数中包括的分辨率和帧率的采集指令,以指示第二摄像设备向终端按照第二直播视频参数向终端发送采集的直播视频帧。然后终端可以将接收的直播视频帧以及通过拾音设备获取的直播音频进行处理,生成对应的直播视频流并发送至服务器,以供其他用户观看直播视频。
可选的,终端可以在本次直播处理结束之后,确定第二摄像设备在直播过程中的平均采集帧率,终端在直播过程中的平均处理帧率、内存平均占用率以及平均上传码率;将平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率与第一直播视频参数对应存储,以用于后续验证第二直播视频参数是否合适终端进行直播。
步骤1044、如果第二直播视频参数与第一直播视频参数相同,则基于第一直播视频参数对应的平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率,确定第二直播视频参数是否满足开播条件,如果第二直播视频参数满足开播条件,则基于第二直播视频参数进行直播处理,如果第二直播视频参数不满足开播条件,则基于平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率、以及第二直播视频参数确定第三直播视频参数,并基于第三直播参数进行直播处理。
在实施中,如果第二直播视频参数与第一直播视频参数相同,则可以根据历史直播数据验证第二直播视频参数(即第一直播视频参数)是否合适终端进行直播。即根据第一直播视频参数对应的平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率,确定第二直播视频参数是否满足开播条件。如果第二直播视频参数满足开播条件,则本次直播进行按照第二直播视频参数进行直播处理,如果第二直播视频参数不满足开播条件,则基于平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率、以及第二直播视频参数确定第三直播视频参数,并基于第三直播参数进行直播处理。
可选的,根据历史数据确定第二直播视频参数是否满足开播条件的处理如下:如果所述平均采集帧率减去第二直播视频参数中直播视频的帧率的差值大于或等于第一数值,且所述平均处理帧率减去所述平均采集帧率的差值大于或等于第二数值,且所述内存平均占用率低于预设占用率,且所述平均上传码率高于或等于第二直播视频参数对应的视频码率,则确定所述第二直播视频参数满足开播条件;如果所述平均采集帧率减去第二直播视频参数中直播视频的帧率的差值小于第一数值,或,所述平均处理帧率减去所述平均采集帧率的差值小于第二数值,或,所述内存平均占用率等于或高于预设占用率,或,所述平均上传码率低于第二直播视频参数对应的视频码率,则确定所述第二直播视频参数不满足开播条件。
在实施中,如果平均采集帧率减去第二直播视频参数中直播视频的帧率的差值小于第一数值,则第二直播视频参数不满足开播条件。其中,第一数值可以由技术人员进行设置。例如第一数值设置为-3,平均采集帧率为23,第二直播视频参数中直播视频的帧率为30,则可以确定平均采集帧率减去第二直播视频参数中直播视频的帧率的差值小于第一数值。说明第二摄像设备无法按照第二直播视频参数中直播视频的帧率采集视频帧,实际采集的帧率为23帧,所以可以确定第二直播视频参数不满足开播条件。
如果平均处理帧率减去平均采集帧率的差值小于第二数值,则第二直播视频参数不满足开播条件。其中,第二数值可以由技术人员进行设置。例如,第二数值为-3,平均采集帧率为28,平均处理帧率为24,则可以确定平均处理帧率减去平均采集帧率的差值小于第二数值,说明终端中图像处理器的处理能力无法满足第二直播视频参数中直播视频的帧率,实际能够处理的帧率为24帧,所以可以确定第二直播视频参数不满足开播条件。
如果内存平均占用率等于或高于预设占用率,则第二直播视频参数不满足开播条件。其中,预设占用率可以由技术人员进行设置,例如,预设占用率为80%,如果内存平均占用率为91%,则说明终端按照第二直播视频参数进行直播时,会占用终端过多的处理内存,可能导致终端卡顿从而影响直播效果。所以可以内存平均占用率确定第二直播视频参数不满足开播条件。
如果平均上传码率低于第二直播视频参数对应的视频码率,则确定第二直播视频参数不满足开播条件。由表1可知,在开播参数模板中对不同的直播视频参数设置有对应的视频码率,若终端的平均上传码率低于第二直播视频参数对应的视频码率,则说明以终端的上传带宽在上传第二直播视频参数的直播视频流时,可能会存在较高的延时或出现丢数据的情况,所以当平均上传码率低于第二直播视频参数对应的视频码率时,可以确定第二直播视频参数不满足开播条件。
如果同时满足平均采集帧率减去第二直播视频参数中直播视频的帧率的差值大于或等于第一数值,平均处理帧率减去平均采集帧率的差值大于或等于第二数值,内存平均占用率低于预设占用率,平均上传码率高于或等于第二直播视频参数对应的视频码率时,则可以确定第二直播视频参数满足开播条件。
可选的,当第二直播视频参数不满足开播条件,可以根据平均采集帧率、平均处理帧率、内存平均占用率、平均上传码率与第二直播视频参数确定第三直播视频参数,相应的处理如下:
情况一:如果平均采集帧率减去第二直播视频参数中直播视频的帧率的差值小于第一数值,则基于平均采集帧率与第二直播视频参数确定第三直播视频参数,其中,第三直播视频参数包括的直播视频的帧率低于平均采集帧率,第三直播视频参数包括的直播视频的分辨率低于或等于第二直播视频参数包括的直播视频的分辨率。
在实施中,如果平均采集帧率减去第二直播视频参数中直播视频的帧率的差值小于第一数值,则在开播参数模板中确定对应的直播视频的帧率小于平均采集帧率的开播参数模板,并将对应的开播参数模板作为第三直播视频参数。例如,平均采集帧率为23帧,第二直播视频参数中直播视频的帧率为30帧、分辨率为720P,由表1可知,小于30帧的开播参数模板分别为“高清”和“流畅”,一般为了保证直播视频的质量,会在确定的开播参数模板中选择分辨率、帧率较高的开播参数模板作为第三直播视频参数,即第三直播视频参数中直播视频的帧率为15帧、分辨率为720P。
情况二:如果平均处理帧率减去平均采集帧率的差值小于第二数值,则基于平均处理帧率与第二直播视频参数确定第三直播视频参数,其中,第三直播视频参数包括的直播视频的帧率低于平均处理帧率,第三直播视频参数包括的直播视频的分辨率低于或等于第二直播视频参数包括的直播视频的分辨率。
在实施中,如果平均处理帧率减去平均采集帧率的差值小于第二数值,则在开播参数模板中确定对应的直播视频的帧率小于平均处理帧率的开播参数模板,并将对应的开播参数模板作为第三直播视频参数。例如,平均处理帧率为23帧,第二直播视频参数中直播视频的帧率为30帧、分辨率为720P,由表1可知,小于30帧的开播参数模板分别为“高清”和“流畅”,一般为了保证直播视频的质量,会在确定的开播参数模板中选择分辨率、帧率较高的开播参数模板作为第三直播视频参数,即第三直播视频参数中直播视频的帧率为15帧、分辨率为720P。
情况三:如果内存平均占用率等于或高于预设占用率,则基于平均占用率、占用率计算系数、以及第二直播视频参数,确定多组第四直播视频参数,以及多组第四直播视频参数对应的内存占用率,在多组第四直播视频参数确定第三直播视频参数,其中,第三直播视频参数对应的内存占用率低于预设占用率。
在实施中,如果内存平均占用率等于或高于预设占用率,则分别根据占用率计算系数计算,蓝光、超清、高清、流畅等开播参数模板对应的内存占用率,然后在开播参数模板对应的内存占用率中确定内存占用率低于预设占用率的开播参数模板(即多组第四直播视频参数),并将对应的开播参数模板设置为对应的第三直播视频参数。其中占用率计算系数可以由技术人员进行设置,例如,分辨率每提高一个档次对应的占用率计算系数为200%,帧率每提高一个档次对应的占用率计算系数为150%。当内存平均占用率为91%,预设占用率为80%,第二直播视频参数的直播视频帧率为30帧、分辨率为1080P时。由上述的占用率计算系数可以得到“超清”的开播参数模板对应的内存占用率为45.5%,“高清”开播参数模板对应的内存占用率为30.3%,“流畅”开播参数模板对应的内存占用率为15.2%,都低于预设占用率,一般为了保证直播视频的质量,会在确定的开播参数模板中选择分辨率、帧率较高的开播参数模板作为第三直播视频参数,即可以将超清的开播参数模板中的直播视频参数作为第三直播视频参数。
情况四:如果平均上传码率低于第二直播视频参数对应的预设码率,则基于平均上传码率和第二直播视频参数,确定第三直播视频参数,其中,第三直播视频参数对应的视频码率低于平均上传码率。
在实施中,如果平均上传码率低于第二直播视频参数对应的预设码率,则可以确定低于平均上传码率的开播参数模板。例如,当平均上传码率为180K时,则低于平均上传码率的开播参数模板分别为“高清”、“流畅”,一般为了保证直播视频的质量,会在确定的开播参数模板中选择分辨率、帧率较高的开播参数模板作为第三直播视频参数,即可以将高清的开播参数模板中的直播视频参数作为第三直播视频参数。
其中,需要说明的是上述四种情况可以进行任一组合,并非只能单独出现,当存在上述多种情况时,则可根据每种情况对应的处理方式进行处理,得到对应的第三直播视频参数。
本申请实施例,通过在开始直播时,获取终端连接的摄像设备的参数信息以及终端的上行带宽信息,确定进行直播处理的直播视频参数,可见采用本申请,不需要用户对直播视频参数进行调整,终端能够直接根据摄像设备的参数信息以及上行带宽信息,自动设置合适的直播视频参数,能够在直播过程中简化用户操作。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图2是本申请实施例提供的进行直播处理的装置结构示意图,如图2所示,该装置可以是上述实施例中的终端,该装置包括:
第一获取模块210,用于当检测到直播功能触发时,获取终端连接的第一摄像设备的参数信息,其中,所述第一摄像设备的参数信息包括所述第一摄像设备支持的分辨率和帧率;
第二获取模块220,用于获取所述终端的第一上行带宽信息;
确定模块230,用于基于所述第一摄像设备的参数信息以及所述终端的第一上行带宽信息,确定所述终端进行直播的第一直播视频参数,其中,所述第一直播视频参数包括直播视频的帧率和分辨率;
第一处理模块240,用于基于所述第一直播视频参数进行直播处理。
可选的,所述确定模块230,用于:
确定所述终端的第一上行带宽信息支持的至少一组直播视频参数,其中,所述第一上行带宽信息所支持的视频码率大于或等于所述至少一组直播视频参数中各直播视频参数对应的视频码率;
基于所述第一摄像设备的参数信息在所述至少一组直播视频参数中确定第一直播视频参数,其中,所述第一直播视频参数中包括的直播视频的帧率在所述第一摄像设备支持的帧率范围内,所述第一直播视频的分辨率在摄像设备支持的分辨率范围内。
可选的,所述装置还包括存储模块,用于:
在所述直播处理结束之后,确定所述第一摄像设备在直播过程中的平均采集帧率,所述终端在直播过程中的平均处理帧率、内存平均占用率以及平均上传码率;
将所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率与所述第一直播视频参数对应存储。
可选的,所述装置还包括第二处理模块,用于:
当再次检测到直播功能触发时,获取所述终端连接的第二摄像设备的第二参数信息,以及终端的第二上行带宽信息;
基于所述第二摄像设备的第二参数信息以及所述终端的第二上行带宽信息,确定所述终端进行直播的第二直播视频参数,其中,所述第二直播视频参数包括直播视频的帧率和分辨率;
如果所述第二直播视频参数与所述第一直播视频参数不相同,则基于所述第二直播视频参数进行直播处理;
如果所述第二直播视频参数与所述第一直播视频参数相同,则基于所述第一直播视频参数对应的所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率,确定所述第二直播视频参数是否满足开播条件,如果所述第二直播视频参数满足所述开播条件,则基于所述第二直播视频参数进行直播处理,如果所述第二直播视频参数不满足所述开播条件,则基于所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率、以及所述第二直播视频参数确定第三直播视频参数,并基于所述第三直播参数进行直播处理。
可选的,所述第二处理模块,用于:
如果所述平均采集帧率减去第二直播视频参数中直播视频的帧率的差值大于或等于第一数值,且所述平均处理帧率减去所述平均采集帧率的差值大于或等于第二数值,且所述内存平均占用率低于预设占用率,且所述平均上传码率高于或等于第二直播视频参数对应的视频码率,则确定所述第二直播视频参数满足开播条件;
如果所述平均采集帧率减去第二直播视频参数中直播视频的帧率的差值小于第一数值,或,所述平均处理帧率减去所述平均采集帧率的差值小于第二数值,或,所述内存平均占用率等于或高于预设占用率,或,所述平均上传码率低于第二直播视频参数对应的视频码率,则确定所述第二直播视频参数不满足开播条件。
可选的,所述第二处理模块,用于:
如果所述平均采集帧率减去第二直播视频参数中直播视频的帧率的差值小于第一数值,则基于所述平均采集帧率与所述第二直播视频参数确定第三直播视频参数,其中,所述第三直播视频参数包括的直播视频的帧率低于所述平均采集帧率,所述第三直播视频参数包括的直播视频的分辨率低于或等于所述第二直播视频参数包括的直播视频的分辨率;
如果所述平均处理帧率减去所述平均采集帧率的差值小于第二数值,则基于所述平均处理帧率与所述第二直播视频参数确定第三直播视频参数,其中,所述第三直播视频参数包括的直播视频的帧率低于所述平均处理帧率,所述第三直播视频参数包括的直播视频的分辨率低于或等于所述第二直播视频参数包括的直播视频的分辨率;
如果所述内存平均占用率等于或高于预设占用率,则基于所述平均占用率、占用率计算系数、以及所述第二直播视频参数,确定多组第四直播视频参数,以及多组第四直播视频参数对应的内存占用率,在多组第四直播视频参数确定第三直播视频参数,其中,所述第三直播视频参数对应的内存占用率低于所述预设占用率;
如果平均上传码率低于第二直播视频参数对应的预设码率,则基于所述平均上传码率和所述第二直播视频参数,确定第三直播视频参数,其中,所述第三直播视频参数对应的视频码率低于所述平均上传码率。
需要说明的是:上述实施例提供的进行直播处理的装置在进行直播处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的进行直播处理的装置与进行直播处理的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图3示出了本申请一个示例性实施例提供的终端300的结构框图。该终端300可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端300还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端300包括有:处理器301和存储器302。
处理器301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器301所执行以实现本申请中方法实施例提供的进行直播处理的方法。
在一些实施例中,终端300还可选包括有:外围设备接口303和至少一个外围设备。处理器301、存储器302和外围设备接口303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口303相连。具体地,外围设备包括:射频电路304、触摸显示屏305、摄像头306、音频电路307、定位组件308和电源309中的至少一种。
外围设备接口303可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器301和存储器302。在一些实施例中,处理器301、存储器302和外围设备接口303被集成在同一芯片或电路板上;在一些其他实施例中,处理器301、存储器302和外围设备接口303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏305用于显示UI(UserInterface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏305是触摸显示屏时,显示屏305还具有采集在显示屏305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器301进行处理。此时,显示屏305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏305可以为一个,设置终端300的前面板;在另一些实施例中,显示屏305可以为至少两个,分别设置在终端300的不同表面或呈折叠设计;在再一些实施例中,显示屏305可以是柔性显示屏,设置在终端300的弯曲表面上或折叠面上。甚至,显示屏305还可以设置成非矩形的不规则图形,也即异形屏。显示屏305可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件306用于采集图像或视频。可选地,摄像头组件306包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器301进行处理,或者输入至射频电路304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器301或射频电路304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路307还可以包括耳机插孔。
定位组件308用于定位终端300的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件308可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源309用于为终端300中的各个组件进行供电。电源309可以是交流电、直流电、一次性电池或可充电电池。当电源309包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端300还包括有一个或多个传感器310。该一个或多个传感器310包括但不限于:加速度传感器311、陀螺仪传感器312、压力传感器313、指纹传感器314、光学传感器315以及接近传感器316。
加速度传感器311可以检测以终端300建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器311可以用于检测重力加速度在三个坐标轴上的分量。处理器301可以根据加速度传感器311采集的重力加速度信号,控制触摸显示屏305以横向视图或纵向视图进行用户界面的显示。加速度传感器311还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器312可以检测终端300的机体方向及转动角度,陀螺仪传感器312可以与加速度传感器311协同采集用户对终端300的3D动作。处理器301根据陀螺仪传感器312采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器313可以设置在终端300的侧边框和/或触摸显示屏305的下层。当压力传感器313设置在终端300的侧边框时,可以检测用户对终端300的握持信号,由处理器301根据压力传感器313采集的握持信号进行左右手识别或快捷操作。当压力传感器313设置在触摸显示屏305的下层时,由处理器301根据用户对触摸显示屏305的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器314用于采集用户的指纹,由处理器301根据指纹传感器314采集到的指纹识别用户的身份,或者,由指纹传感器314根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器301授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器314可以被设置终端300的正面、背面或侧面。当终端300上设置有物理按键或厂商Logo时,指纹传感器314可以与物理按键或厂商Logo集成在一起。
光学传感器315用于采集环境光强度。在一个实施例中,处理器301可以根据光学传感器315采集的环境光强度,控制触摸显示屏305的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏305的显示亮度;当环境光强度较低时,调低触摸显示屏305的显示亮度。在另一个实施例中,处理器301还可以根据光学传感器315采集的环境光强度,动态调整摄像头组件306的拍摄参数。
接近传感器316,也称距离传感器,通常设置在终端300的前面板。接近传感器316用于采集用户与终端300的正面之间的距离。在一个实施例中,当接近传感器316检测到用户与终端300的正面之间的距离逐渐变小时,由处理器301控制触摸显示屏305从亮屏状态切换为息屏状态;当接近传感器316检测到用户与终端300的正面之间的距离逐渐变大时,由处理器301控制触摸显示屏305从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图3中示出的结构并不构成对终端300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成下述实施例中进行直播处理的方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种进行直播处理的方法,其特征在于,所述方法包括:
当检测到直播功能触发时,获取终端连接的第一摄像设备的参数信息,其中,所述第一摄像设备的参数信息包括所述第一摄像设备支持的分辨率和帧率;
获取所述终端的第一上行带宽信息;
基于所述第一摄像设备的参数信息以及所述终端的第一上行带宽信息,确定所述终端进行直播的第一直播视频参数,其中,所述第一直播视频参数包括直播视频的帧率和分辨率;
基于所述第一直播视频参数进行直播处理。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一摄像设备的参数信息以及所述终端的第一上行带宽信息,确定所述终端进行直播的第一直播视频参数,包括:
确定所述终端的第一上行带宽信息支持的至少一组直播视频参数,其中,所述第一上行带宽信息所支持的视频码率大于或等于所述至少一组直播视频参数中各直播视频参数对应的视频码率;
基于所述第一摄像设备的参数信息在所述至少一组直播视频参数中确定第一直播视频参数,其中,所述第一直播视频参数中包括的直播视频的帧率在所述第一摄像设备支持的帧率范围内,所述第一直播视频的分辨率在摄像设备支持的分辨率范围内。
3.根据权利要求1所述的方法,其特征在于,在所述基于所述第一直播视频参数进行直播处理之后,所述方法还包括:
在所述直播处理结束之后,确定所述第一摄像设备在直播过程中的平均采集帧率,所述终端在直播过程中的平均处理帧率、内存平均占用率以及平均上传码率;
将所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率与所述第一直播视频参数对应存储。
4.根据权利要求3所述的方法,其特征在于,在所述直播处理结束之后,所述方法还包括:
当再次检测到直播功能触发时,获取所述终端连接的第二摄像设备的第二参数信息,以及终端的第二上行带宽信息;
基于所述第二摄像设备的第二参数信息以及所述终端的第二上行带宽信息,确定所述终端进行直播的第二直播视频参数,其中,所述第二直播视频参数包括直播视频的帧率和分辨率;
如果所述第二直播视频参数与所述第一直播视频参数不相同,则基于所述第二直播视频参数进行直播处理;
如果所述第二直播视频参数与所述第一直播视频参数相同,则基于所述第一直播视频参数对应的所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率,确定所述第二直播视频参数是否满足开播条件,如果所述第二直播视频参数满足所述开播条件,则基于所述第二直播视频参数进行直播处理,如果所述第二直播视频参数不满足所述开播条件,则基于所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率、以及所述第二直播视频参数确定第三直播视频参数,并基于所述第三直播参数进行直播处理。
5.根据权利要求4所述的方法,其特征在于,基于所述第一直播视频参数对应的所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率,确定所述第二直播视频参数是否满足开播条件,包括:
如果所述平均采集帧率减去第二直播视频参数中直播视频的帧率的差值大于或等于第一数值,且所述平均处理帧率减去所述平均采集帧率的差值大于或等于第二数值,且所述内存平均占用率低于预设占用率,且所述平均上传码率高于或等于第二直播视频参数对应的视频码率,则确定所述第二直播视频参数满足开播条件;
如果所述平均采集帧率减去第二直播视频参数中直播视频的帧率的差值小于第一数值,或,所述平均处理帧率减去所述平均采集帧率的差值小于第二数值,或,所述内存平均占用率等于或高于预设占用率,或,所述平均上传码率低于第二直播视频参数对应的视频码率,则确定所述第二直播视频参数不满足开播条件。
6.根据权利要求4所述的方法,其特征在于,所述如果所述第二直播视频参数不满足所述开播条件,则基于所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率、以及所述第二直播视频参数确定第三直播视频参数,包括:
如果所述平均采集帧率减去第二直播视频参数中直播视频的帧率的差值小于第一数值,则基于所述平均采集帧率与所述第二直播视频参数确定第三直播视频参数,其中,所述第三直播视频参数包括的直播视频的帧率低于所述平均采集帧率,所述第三直播视频参数包括的直播视频的分辨率低于或等于所述第二直播视频参数包括的直播视频的分辨率;
如果所述平均处理帧率减去所述平均采集帧率的差值小于第二数值,则基于所述平均处理帧率与所述第二直播视频参数确定第三直播视频参数,其中,所述第三直播视频参数包括的直播视频的帧率低于所述平均处理帧率,所述第三直播视频参数包括的直播视频的分辨率低于或等于所述第二直播视频参数包括的直播视频的分辨率;
如果所述内存平均占用率等于或高于预设占用率,则基于所述平均占用率、占用率计算系数、以及所述第二直播视频参数,确定多组第四直播视频参数,以及多组第四直播视频参数对应的内存占用率,在多组第四直播视频参数确定第三直播视频参数,其中,所述第三直播视频参数对应的内存占用率低于所述预设占用率;
如果平均上传码率低于第二直播视频参数对应的预设码率,则基于所述平均上传码率和所述第二直播视频参数,确定第三直播视频参数,其中,所述第三直播视频参数对应的视频码率低于所述平均上传码率。
7.一种进行直播处理的装置,其特征在于,所述装置包括:
第一获取模块,用于当检测到直播功能触发时,获取终端连接的第一摄像设备的参数信息,其中,所述第一摄像设备的参数信息包括所述第一摄像设备支持的分辨率和帧率;
第二获取模块,用于获取所述终端的第一上行带宽信息;
确定模块,用于基于所述第一摄像设备的参数信息以及所述终端的第一上行带宽信息,确定所述终端进行直播的第一直播视频参数,其中,所述第一直播视频参数包括直播视频的帧率和分辨率;
第一处理模块,用于基于所述第一直播视频参数进行直播处理。
8.根据权利要求7所述的装置,其特征在于,所述确定模块,用于:
确定所述终端的第一上行带宽信息支持的至少一组直播视频参数,其中,所述第一上行带宽信息所支持的视频码率大于或等于所述至少一组直播视频参数中各直播视频参数对应的视频码率;
基于所述第一摄像设备的参数信息在所述至少一组直播视频参数中确定第一直播视频参数,其中,所述第一直播视频参数中包括的直播视频的帧率在所述第一摄像设备支持的帧率范围内,所述第一直播视频的分辨率在摄像设备支持的分辨率范围内。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括存储模块,用于:
在所述直播处理结束之后,确定所述第一摄像设备在直播过程中的平均采集帧率,所述终端在直播过程中的平均处理帧率、内存平均占用率以及平均上传码率;
将所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率与所述第一直播视频参数对应存储。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括第二处理模块,用于:
当再次检测到直播功能触发时,获取所述终端连接的第二摄像设备的第二参数信息,以及终端的第二上行带宽信息;
基于所述第二摄像设备的第二参数信息以及所述终端的第二上行带宽信息,确定所述终端进行直播的第二直播视频参数,其中,所述第二直播视频参数包括直播视频的帧率和分辨率;
如果所述第二直播视频参数与所述第一直播视频参数不相同,则基于所述第二直播视频参数进行直播处理;
如果所述第二直播视频参数与所述第一直播视频参数相同,则基于所述第一直播视频参数对应的所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率,确定所述第二直播视频参数是否满足开播条件,如果所述第二直播视频参数满足所述开播条件,则基于所述第二直播视频参数进行直播处理,如果所述第二直播视频参数不满足所述开播条件,则基于所述平均采集帧率、平均处理帧率、内存平均占用率、以及平均上传码率、以及所述第二直播视频参数确定第三直播视频参数,并基于所述第三直播参数进行直播处理。
11.根据权利要求10所述的装置,其特征在于,所述第二处理模块,用于:
如果所述平均采集帧率减去第二直播视频参数中直播视频的帧率的差值大于或等于第一数值,且所述平均处理帧率减去所述平均采集帧率的差值大于或等于第二数值,且所述内存平均占用率低于预设占用率,且所述平均上传码率高于或等于第二直播视频参数对应的视频码率,则确定所述第二直播视频参数满足开播条件;
如果所述平均采集帧率减去第二直播视频参数中直播视频的帧率的差值小于第一数值,或,所述平均处理帧率减去所述平均采集帧率的差值小于第二数值,或,所述内存平均占用率等于或高于预设占用率,或,所述平均上传码率低于第二直播视频参数对应的视频码率,则确定所述第二直播视频参数不满足开播条件。
12.根据权利要求10所述的装置,其特征在于,所述第二处理模块,用于:
如果所述平均采集帧率减去第二直播视频参数中直播视频的帧率的差值小于第一数值,则基于所述平均采集帧率与所述第二直播视频参数确定第三直播视频参数,其中,所述第三直播视频参数包括的直播视频的帧率低于所述平均采集帧率,所述第三直播视频参数包括的直播视频的分辨率低于或等于所述第二直播视频参数包括的直播视频的分辨率;
如果所述平均处理帧率减去所述平均采集帧率的差值小于第二数值,则基于所述平均处理帧率与所述第二直播视频参数确定第三直播视频参数,其中,所述第三直播视频参数包括的直播视频的帧率低于所述平均处理帧率,所述第三直播视频参数包括的直播视频的分辨率低于或等于所述第二直播视频参数包括的直播视频的分辨率;
如果所述内存平均占用率等于或高于预设占用率,则基于所述平均占用率、占用率计算系数、以及所述第二直播视频参数,确定多组第四直播视频参数,以及多组第四直播视频参数对应的内存占用率,在多组第四直播视频参数确定第三直播视频参数,其中,所述第三直播视频参数对应的内存占用率低于所述预设占用率;
如果平均上传码率低于第二直播视频参数对应的预设码率,则基于所述平均上传码率和所述第二直播视频参数,确定第三直播视频参数,其中,所述第三直播视频参数对应的视频码率低于所述平均上传码率。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如权利要求1至权利要求6任一项所述的进行直播处理的方法所执行的操作。
14.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1至权利要求6任一项所述的进行直播处理的方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010504005.3A CN111586431B (zh) | 2020-06-05 | 2020-06-05 | 进行直播处理的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010504005.3A CN111586431B (zh) | 2020-06-05 | 2020-06-05 | 进行直播处理的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111586431A true CN111586431A (zh) | 2020-08-25 |
CN111586431B CN111586431B (zh) | 2022-03-15 |
Family
ID=72111175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010504005.3A Active CN111586431B (zh) | 2020-06-05 | 2020-06-05 | 进行直播处理的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111586431B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738571A (zh) * | 2020-12-14 | 2021-04-30 | 联想(北京)有限公司 | 一种流媒体参数的确定方法及装置 |
CN112866745A (zh) * | 2020-12-31 | 2021-05-28 | 广州穗能通能源科技有限责任公司 | 流媒体视频数据处理方法、装置、计算机设备和存储介质 |
CN114286128A (zh) * | 2021-12-28 | 2022-04-05 | 广州方硅信息技术有限公司 | 直播视频参数调整方法、系统、装置、设备及存储介质 |
CN115037951A (zh) * | 2021-03-05 | 2022-09-09 | 上海哔哩哔哩科技有限公司 | 直播处理方法及装置 |
CN115665485A (zh) * | 2022-12-26 | 2023-01-31 | 杭州星犀科技有限公司 | 视频画面优化方法及装置、存储介质和视频终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049918A (zh) * | 2015-07-08 | 2015-11-11 | 成都西可科技有限公司 | 一种本地录制视频和网络直播视频的分离方法 |
CN105163134A (zh) * | 2015-08-03 | 2015-12-16 | 腾讯科技(深圳)有限公司 | 直播视频的视频编码参数设置方法、装置及视频编码设备 |
CN106303559A (zh) * | 2016-08-18 | 2017-01-04 | 北京奇虎科技有限公司 | 一种控制直播视频流的方法及直播服务器 |
US20170163709A1 (en) * | 2014-03-13 | 2017-06-08 | Wowza Media Systems, LLC | Adjusting encoding parameters at a mobile device based on a change in available network bandwidth |
-
2020
- 2020-06-05 CN CN202010504005.3A patent/CN111586431B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170163709A1 (en) * | 2014-03-13 | 2017-06-08 | Wowza Media Systems, LLC | Adjusting encoding parameters at a mobile device based on a change in available network bandwidth |
CN105049918A (zh) * | 2015-07-08 | 2015-11-11 | 成都西可科技有限公司 | 一种本地录制视频和网络直播视频的分离方法 |
CN105163134A (zh) * | 2015-08-03 | 2015-12-16 | 腾讯科技(深圳)有限公司 | 直播视频的视频编码参数设置方法、装置及视频编码设备 |
CN106303559A (zh) * | 2016-08-18 | 2017-01-04 | 北京奇虎科技有限公司 | 一种控制直播视频流的方法及直播服务器 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738571A (zh) * | 2020-12-14 | 2021-04-30 | 联想(北京)有限公司 | 一种流媒体参数的确定方法及装置 |
CN112866745A (zh) * | 2020-12-31 | 2021-05-28 | 广州穗能通能源科技有限责任公司 | 流媒体视频数据处理方法、装置、计算机设备和存储介质 |
CN115037951A (zh) * | 2021-03-05 | 2022-09-09 | 上海哔哩哔哩科技有限公司 | 直播处理方法及装置 |
CN115037951B (zh) * | 2021-03-05 | 2024-03-12 | 上海哔哩哔哩科技有限公司 | 直播处理方法及装置 |
CN114286128A (zh) * | 2021-12-28 | 2022-04-05 | 广州方硅信息技术有限公司 | 直播视频参数调整方法、系统、装置、设备及存储介质 |
CN115665485A (zh) * | 2022-12-26 | 2023-01-31 | 杭州星犀科技有限公司 | 视频画面优化方法及装置、存储介质和视频终端 |
Also Published As
Publication number | Publication date |
---|---|
CN111586431B (zh) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109246466B (zh) | 视频播放方法、装置及电子设备 | |
CN108401124B (zh) | 视频录制的方法和装置 | |
CN111586431B (zh) | 进行直播处理的方法、装置、设备及存储介质 | |
CN108966008B (zh) | 直播视频回放方法及装置 | |
CN109348247B (zh) | 确定音视频播放时间戳的方法、装置及存储介质 | |
CN111372126B (zh) | 视频播放方法、装置及存储介质 | |
CN108093268B (zh) | 进行直播的方法和装置 | |
CN111093108B (zh) | 音画同步判断方法、装置、终端及计算机可读存储介质 | |
CN111417006A (zh) | 视频投屏方法、装置、终端及存储介质 | |
CN109951398B (zh) | 数据发送方法、装置及计算机设备 | |
CN111107389B (zh) | 确定观看直播时长的方法、装置和系统 | |
CN111355974A (zh) | 虚拟礼物赠送处理的方法、装置、系统、设备及存储介质 | |
CN111464830B (zh) | 图像显示的方法、装置、系统、设备及存储介质 | |
CN110533585B (zh) | 一种图像换脸的方法、装置、系统、设备和存储介质 | |
CN107896337B (zh) | 信息推广方法、装置及存储介质 | |
CN112929654B (zh) | 检测音画同步的方法、装置、设备及存储介质 | |
CN109451248B (zh) | 视频数据的处理方法、装置、终端及存储介质 | |
CN111586444B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN110839174A (zh) | 图像处理的方法、装置、计算机设备以及存储介质 | |
CN111787347A (zh) | 直播时长计算方法、直播显示方法、装置及设备 | |
CN109089137B (zh) | 卡顿检测方法及装置 | |
CN108401194B (zh) | 时间戳确定方法、装置和计算机可读存储介质 | |
CN107888975B (zh) | 视频播放方法、装置及存储介质 | |
CN111050211B (zh) | 视频处理方法、装置及存储介质 | |
CN110113669B (zh) | 获取视频数据的方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |