CN113068075A - 一种直播推流方法、装置、计算机设备及存储介质 - Google Patents

一种直播推流方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN113068075A
CN113068075A CN202110306537.0A CN202110306537A CN113068075A CN 113068075 A CN113068075 A CN 113068075A CN 202110306537 A CN202110306537 A CN 202110306537A CN 113068075 A CN113068075 A CN 113068075A
Authority
CN
China
Prior art keywords
target
parameter
flow parameter
information
type information
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
Application number
CN202110306537.0A
Other languages
English (en)
Other versions
CN113068075B (zh
Inventor
谢少泽
黄俊铭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Volcano Engine Technology Co Ltd
Original Assignee
Beijing Youzhuju Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Youzhuju Network Technology Co Ltd filed Critical Beijing Youzhuju Network Technology Co Ltd
Priority to CN202110306537.0A priority Critical patent/CN113068075B/zh
Publication of CN113068075A publication Critical patent/CN113068075A/zh
Application granted granted Critical
Publication of CN113068075B publication Critical patent/CN113068075B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开提供了一种直播推流方法、装置、计算机设备及存储介质,该方法包括:响应在目标程序的第一目标子程序页面发起的直播请求,获取主播端的设备信息和所述第一目标子程序的第一类型信息;基于所述设备信息和第一类型信息,确定与所述设备信息和第一类型信息对应的初始推流参数;基于所述初始推流参数对所述第一目标子程序页面进行直播推流。

Description

一种直播推流方法、装置、计算机设备及存储介质
技术领域
本公开涉及直播技术领域,具体而言,涉及一种直播推流方法、装置、计算机设备及存储介质。
背景技术
目前,直播在网络业务中的占比越来越高,人们的生活和学习中经常会用到视频直播,在进行直播时,受限于多种影响因素,往往需要根据直播类型对直播的推流参数进行设置,以确保直播的顺利进行。
现有的直播推流解决方案所提供的默认推流参数,往往只与直播设备自身性能有关,但实际情况下,不同类型的直播内容对同一直播设备的参数需求也不同,这就导致了主播需要花费较大的财力去购买的高性能直播设备,无法很好的匹配不同类型直播内容的参数需求,从而造成了资源的闲置和浪费。
发明内容
本公开实施例至少提供一种直播推流方法、装置、计算机设备及存储介质。
第一方面,本公开实施例提供了一种直播推流方法,包括:
响应在目标程序的第一目标子程序页面发起的直播请求,获取主播端的设备信息和所述第一目标子程序的第一类型信息;
基于所述设备信息和第一类型信息,确定与所述设备信息和第一类型信息对应的初始推流参数;
基于所述初始推流参数对所述第一目标子程序页面进行直播推流。
一种可能的实施方式中,所述第一目标子程序为游戏子程序;所述第一类型信息为游戏类型信息。
一种可能的实施方式中,所述与所述设备信息和第一类型信息对应的初始推流参数包括:与所述设备信息和第一类型信息对应的默认推流参数,以及推流参数范围;
所述与所述设备信息和第一类型信息对应的默认推流参数包括:分辨率、初始码率、初始帧率;
所述推流参数范围包括码率范围、帧率范围。
一种可能的实施方式中,所述基于所述设备信息和第一类型信息,确定与所述设备信息和第一类型信息对应的初始推流参数,包括:
基于所述设备信息,确定与所述设备信息匹配的推流参数范围;以及,
基于所述设备信息和所述第一类型信息,确定所述默认推流参数。
一种可能的实施方式中,所述基于所述初始推流参数对所述第一目标子程序页面进行直播推流,包括:
基于所述与所述设备信息和第一类型信息对应的默认推流参数对所述第一目标子程序页面进行直播推流。
一种可能的实施方式中,所述方法还包括:
确定所述第一目标子程序页面的画面变化参数,其中,所述画面变化参数用于表示所述第一目标子程序页面的画面变化情况;
在所述第一目标子程序页面的画面变化参数符合预设条件的情况下,基于所述推流参数范围以及预设的推流参数调整规则,对所述默认推流参数进行调整,得到目标推流参数;
基于所述目标推流参数对所述第一目标子程序页面进行直播推流。
一种可能的实施方式中,所述确定所述第一目标子程序页面的画面变化参数,包括:
确定所述第一目标子程序页面在预设长度的目标时间段内,任意两个相邻的视频帧之间的相似度;
基于所述目标时间段内任意两个相邻的视频帧之间的相似度的均值,确定所述目标时间段的画面变化参数。
一种可能的实施方式中,所述基于所述推流参数范围以及预设的推流参数调整规则,对所述默认推流参数进行调整,得到目标推流参数,包括:
基于所述推流参数范围,确定每个默认推流参数对应的调整值;
当所述画面变化参数大于第一预设值时,按照所述调整值减小当前的推流参数,得到所述目标推流参数;以及,
当所述画面变化参数小于第二预设值时,按照所述调整值增大当前的推流参数,得到所述目标推流参数,其中,所述第一预设值大于所述第二预设值,所述当前的推流参数为对所述默认推流参数进行调整后的推流参数,第一次调整时所述当前的推流参数为所述默认推流参数。
一种可能的实施方式中,基于所述目标推流参数对所述第一目标子程序页面进行直播推流后,所述方法还包括:
接收用于指示视频帧画面丢失的丢帧信息;
按照所述调整值减小当前的推流参数,并基于调整后的推流参数进行推流,直至在进行推流后不再接收到所述丢帧信息。
一种可能的实施方式中,在基于所述初始推流参数对所述第一目标子程序页面进行直播推流后,所述方法还包括:
在检测到当前屏幕中展示的页面由所述第一目标子程序页面切换至第二目标子程序页面时,确定所述第二目标子程序的第二类型信息;
基于所述设备信息和第二类型信息,重新确定推流参数;
基于重新确定的推流参数对所述第二目标子程序页面进行直播推流。
第二方面,本公开实施例还提供一种直播推流装置,包括:
获取模块,用于响应在目标程序的第一目标子程序页面发起的直播请求,获取主播端的设备信息和所述第一目标子程序的第一类型信息;
确定模块,用于基于所述设备信息和第一类型信息,确定与所述设备信息和第一类型信息对应的初始推流参数;
推流模块,用于基于所述初始推流参数对所述第一目标子程序页面进行直播推流。
一种可能的实施方式中,所述第一目标子程序为游戏子程序;所述第一类型信息为游戏类型信息。
一种可能的实施方式中,所述与所述设备信息和第一类型信息对应的初始推流参数包括:与所述设备信息和第一类型信息对应的默认推流参数,以及推流参数范围;
所述与所述设备信息和第一类型信息对应的默认推流参数包括:分辨率、初始码率、初始帧率;
所述推流参数范围包括码率范围、帧率范围。
一种可能的实施方式中,所述确定模块,在所述基于所述设备信息和第一类型信息,确定与所述设备信息和第一类型信息对应的初始推流参数时,用于:
基于所述设备信息,确定与所述设备信息匹配的推流参数范围;以及,
基于所述设备信息和所述第一类型信息,确定所述默认推流参数。
一种可能的实施方式中,所述推流模块,在所述基于所述初始推流参数对所述第一目标子程序页面进行直播推流时,用于:
基于所述与所述设备信息和第一类型信息对应的默认推流参数对所述第一目标子程序页面进行直播推流。
一种可能的实施方式中,所述推流模块,还用于:
确定所述第一目标子程序页面的画面变化参数,其中,所述画面变化参数用于表示所述第一目标子程序页面的画面变化情况;
在所述第一目标子程序页面的画面变化参数符合预设条件的情况下,基于所述推流参数范围以及预设的推流参数调整规则,对所述默认推流参数进行调整,得到目标推流参数;
基于所述目标推流参数对所述第一目标子程序页面进行直播推流。
一种可能的实施方式中,所述推流模块,在所述确定所述第一目标子程序页面的画面变化参数时,用于:
确定所述第一目标子程序页面在预设长度的目标时间段内,任意两个相邻的视频帧之间的相似度;
基于所述目标时间段内任意两个相邻的视频帧之间的相似度的均值,确定所述目标时间段的画面变化参数。
一种可能的实施方式中,所述推流模块,在所述基于所述推流参数范围以及预设的推流参数调整规则,对所述默认推流参数进行调整,得到目标推流参数时,用于:
基于所述推流参数范围,确定每个默认推流参数对应的调整值;
当所述画面变化参数大于第一预设值时,按照所述调整值减小当前的推流参数,得到所述目标推流参数;以及,
当所述画面变化参数小于第二预设值时,按照所述调整值增大当前的推流参数,得到所述目标推流参数,其中,所述第一预设值大于所述第二预设值,所述当前的推流参数为对所述默认推流参数进行调整后的推流参数,第一次调整时所述当前的推流参数为所述默认推流参数。
一种可能的实施方式中,所述推流模块,在基于所述目标推流参数对所述第一目标子程序页面进行直播推流后,还用于:
接收用于指示视频帧画面丢失的丢帧信息;
按照所述调整值减小当前的推流参数,并基于调整后的推流参数进行推流,直至在进行推流后不再接收到所述丢帧信息。
一种可能的实施方式中,所述推流模块,在基于所述初始推流参数对所述第一目标子程序页面进行直播推流后,还用于:
在检测到当前屏幕中展示的页面由所述第一目标子程序页面切换至第二目标子程序页面时,确定所述第二目标子程序的第二类型信息;
基于所述设备信息和第二类型信息,重新确定推流参数;
基于重新确定的推流参数对所述第二目标子程序页面进行直播推流。
第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本公开实施例提供的直播推流方法、装置、计算机设备及存储介质,由于直播请求是在第一目标子程序页面直接发起的,因此在确定初始推流参数时,可以同时结合主播端的设备信息以及第一目标子程序的第一类型信息,这样,在基于确定出的初始推流参数对第一目标子程序页面进行直播推流时,可以在保证推流效果的同时,实现对于设备性能的最大化利用,提升了主播端的直播效果。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种直播推流方法的流程图;
图2示出了本公开实施例所提供的直播推流方法中,确定初始推流参数的具体方法的流程图;
图3示出了本公开实施例所提供的直播推流方法中,对所述第一目标子程序页面进行直播推流的具体方法的流程图;
图4示出了本公开实施例所提供的直播推流方法中,确定所述第一目标子程序页面的画面变化参数的具体方法的流程图;
图5示出了本公开实施例所提供的直播推流方法中,对所述默认推流参数进行调整的具体方法的流程图;
图6示出了本公开实施例所提供的直播推流方法中,对所述推流参数进行调整的具体方法的流程图;
图7示出了本公开实施例所提供的直播推流方法中,对所述推流参数进行调整的具体方法的流程图;
图8示出了本公开实施例所提供的一种直播推流装置的架构示意图;
图9示出了本公开实施例所提供的一种计算机设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,现有的直播推流解决方案所提供的默认推流参数,往往只与直播设备自身性能有关,但实际情况下,不同类型的直播内容对同一直播设备的参数需求也不同,这就导致了主播需要花费较大的财力去购买的高性能直播设备,无法很好的匹配不同类型直播内容的参数需求,从而造成了资源的闲置和浪费。
基于上述研究,本公开提供了一种直播推流方法、装置、计算机设备及存储介质,由于直播请求是在第一目标子程序页面直接发起的,因此在确定初始推流参数时,可以同时结合主播端的设备信息以及第一目标子程序的第一类型信息,这样,在基于确定出的初始推流参数对第一目标子程序页面进行直播推流时,可以在保证推流效果的同时,实现对于设备性能的最大化利用,提升了主播端的直播效果。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种直播推流方法进行详细介绍,本公开实施例所提供的直播推流方法的执行主体一般为具有一定计算能力和显示屏的计算机设备,该计算机设备例如包括:终端设备,所述终端设备可以为智能手机、智能手表、平板电脑、个人计算机等。
参见图1所示,为本公开实施例提供的直播推流方法的流程图,所述方法包括步骤S101~S103,其中:
S101:响应在目标程序的第一目标子程序页面发起的直播请求,获取主播端的设备信息和所述第一目标子程序的第一类型信息。
S102:基于所述设备信息和第一类型信息,确定与所述设备信息和第一类型信息对应的初始推流参数。
S103:基于所述初始推流参数对所述第一目标子程序页面进行直播推流。
下面将对本公开实施例中各个步骤及对应的实施方法进行详细说明。
针对S101,所述目标程序为可以安装在所述计算机设备中的应用程序,所述第一目标子程序为所述目标程序中的无需安装的小程序,比如可以为游戏小程序等,在一种可能的应用场景中,所述第一目标子程序可以为游戏子程序,对应的,所述第一类型信息则可以为游戏类型信息,所述游戏类型信息用于表征游戏的游戏类型,比如可以包括第一人称射击类游戏(First-person shooting、FPS)、冒险类游戏(Adventure game、AVG)、解谜益智类游戏(Puzzle game、PUZ)、策略战棋游戏(Simulation Game、SLG)等。
在一种可能的实施方式中,在游戏类直播的应用场景下,用户可以在游戏页面(即上述第一目标子程序页面)中通过触发“一键开播”按钮等方式来发起直播,而由于直播是在游戏内发起的,也即运行游戏的游戏引擎承担了直播的视频和音频的推流工作,因此相较于传统的录屏直播,本方案可以获取到该游戏的游戏类型信息。
进一步的,在进行开播推流时,若所述游戏引擎内部没有进行语音采集功能的模块,还可以额外设置一个音频采集线程,用于采集主播端主播在进行游戏直播时的直播音频,并与所述游戏引擎一起进行直播推流。
此外,所述主播端的设备信息包括主播端的直播设备的类型信息,其可以通过识别用户授权后得到的该直播设备的国际移动设备身份码(International MobileEquipment Identity、IMEI)。
S102:基于所述设备信息和第一类型信息,确定与所述设备信息和第一类型信息对应的初始推流参数。
这里,所述初始推流参数包括与所述设备信息和第一类型信息对应的默认推流参数和推流参数范围;
其中,所述与所述设备信息和第一类型信息对应的默认推流参数包括:分辨率、初始码率、初始帧率。
所述分辨率通常是由所述设备信息和第一类型信息确定的,而所述分辨率在确定后,在直播的目标页面的页面类型信息不发生变化的情况下,为了保证直播效果,一般不进行调整。
比如,若设备信息中屏幕界面的分辨率为1280×720,所述第一类型信息中的游戏操作类型为直播类型为竖屏游玩操作的游戏,则默认推流参数中的分辨率可以为1280×720;若所述第一类型信息中的游戏操作类型为横屏操作,则默认推流参数中的分辨率可以为720×1280。
所述初始码率即为进行直播推流时的数据传输的默认比特率,码率越高则单位时间内传输的数据量越大;所述初始帧率即为进行直播推流时的单位时间内的默认视频帧帧数,帧率越大表示单位时间内的视频帧帧数越多,视频观感越流畅。
所述推流参数范围包括码率范围、帧率范围,所述码率范围可以是通过设置最大码率和最小码率进行确定的,所述帧率范围也可以是通过设置最大帧率和最小帧率进行确定的,所述设置的具体参数值可以由开发人员根据直播观感等设置需求进行设置,比如可以设置最小码率为500Kbps和最大码率为1600Kbps,则可以确定出所述码率范围为500Kbps~1600Kbps。所述初始码率属于所述码率范围,所述初始帧率属于所述帧率范围。
一种可能的实施方式中,如图2所示,可以通过以下步骤确定与所述设备信息和第一类型信息对应的初始推流参数,其中,步骤201和步骤202的执行不分先后顺序:
S201:基于所述设备信息,确定与所述设备信息匹配的推流参数范围。
这里,所述主播端的设备信息包括主播端的直播设备的类型信息,确定所述设备信息匹配的推流参数范围也即,确定与设备类型匹配的推流参数范围。
其中,所述推流参数范围包括码率范围、帧率范围以及分辨率信息。
在一种可能的实施方式中,在确定所述推流参数范围时,可以先根据所述直播设备的类型信息,确定所述直播设备的性能等级,然后将预先设置的与所述性能等级对应的推流参数范围作为所述直播设备的推流参数范围。
具体的,可以预先设置一个性能评分标准,并为所有类型的直播设备进行性能评分,得到各个直播设备在该性能评分标准下的性能得分,所述性能得分用于量化评价该设备的性能高低。然后根据所述性能得分划分出不同的性能等级,不同的性能等级可以对应不同的推流参数范围。
示例性的,可以以10分为满分,按照预设的性能评分标准进行性能评分,并根据性能评分结果,将对应的性能评分大于等于7.92分的直播设备划分为高端设备,对应的性能评分小于7.92分且大于等于5.92分的直播设备划分为中端设备,对应的性能评分小于5.92分的直播设备划分为低端设备,并为每个性能等级设置对应的码率范围、帧率范围以及分辨率,这样,在获取到主播端的设备信息后,可以根据该设备信息所属的性能等级,为该主播端的直播设备确定推流参数范围。
在另外一种可能的实施方式中,在为所有类型的直播设备进行性能评分时,还可以直接获取开源的性能数据库中的数据,并按照一定的转换规则进行转化,从而得到评分结果,比如可以从某性能测试软件中得到A设备的平均分值为80万分,则进行转化后其对应的评分可以为8分,其大于预设的7.92分,则其可以确定为高端设备。
进一步的,由于同一型号的设备随着使用时间的增长,其性能往往会出现下降,因此,在确定推流参数范围时,可以根据主播端的当前的性能评分进行确定。
具体的,所述主播端的设备信息可以包括主播端的直播设备的性能评分,在确定与所述设备信息匹配的推流参数范围时,可以先对所述主播端的直播设备进行性能测试(比如可以测试其针对直播流数据的处理能力,包括针对音视频数据的编/解码能力等),并根据得到的性能得分,确定所述主播端的直播设备对应的性能等级,然后将与所述性能等级对应的推流参数范围作为该主播端对应的推流参数范围。
S202:基于所述设备信息和所述第一类型信息,确定所述默认推流参数。
这里,不同的第一页面类型对于直播推流的要求也是不同的,仍以上述游戏类直播的应用场景为例,不同的游戏对于帧率和码率的要求也是不同的,快节奏类的枪战类游戏视频画面变化较大,为了保证直播时的观众直播体验,需要设置其默认推流参数在其直播设备所能承受的性能范围内,也即码率范围和帧率范围内尽可能高;而慢节奏的下棋类游戏视频画面变化较小,为了节约资源,可以设置其默认推流参数在不影响观众正常直播体验的前提下尽可能低。
具体的,在基于所述设备信息和所述第一类型信息确定所述默认推流参数时,可以先基于所述设备信息,确定多个待选的推流参数,然后基于所述第一类型信息,从所述多个待选的推流参数中选择默认推流参数。
示例性的,若所述设备信息为A设备,为A设备设置的待选的默认推流参数如下表1所示:
表1
页面类型信息 推流参数
1 a
2 b
3 c
若所述第一类型信息为页面类型信息1,则对应的默认推流参数为a;若所述第一类型信息为页面类型信息2,则对应的默认推流参数为b。
S103:基于所述初始推流参数对所述第一目标子程序页面进行直播推流。
一种可能的实施方式中,可以基于所述与所述设备信息和第一类型信息对应的默认推流参数对所述第一目标子程序页面进行直播推流。
具体的,可以在采集到直播音视频数据后,按照所述默认推流参数进行直播流数据处理,得到用于进行直播的流数据,并将所述流数据发送至对应的直播服务器,再由所述直播服务器进行直播数据的分发,从而使得观众端用户能够观看到本次的直播。
一种可能的实施方式中,在进行推流直播的过程中,第一目标子程序页面的画面变化情况可能发生改变,因此可以动态调整推流参数,来保证直播效果。具体的,如图3所示,还可以通过以下步骤对所述第一目标子程序页面进行直播推流:
S301:确定所述第一目标子程序页面的画面变化参数,其中,所述画面变化参数用于表示所述第一目标子程序页面的画面变化情况。
这里,所述画面变化情况包括画面变化大和变化小,其中,当所述第一目标子程序页面的画面变化大时,表征此时的画面变化剧烈,而在画面变化剧烈时,为了保证用户的直播观看体验,需要适当提高推流参数。
S302:在所述第一目标子程序页面的画面变化参数符合预设条件的情况下,基于所述推流参数范围以及预设的推流参数调整规则,对所述默认推流参数进行调整,得到目标推流参数。
S303:基于所述目标推流参数对所述第一目标子程序页面进行直播推流。
这里,可以根据实时确定的所述目标推流参数进行直播推流,并根据后续实时直播情况进行推流参数的自适应调整,生成新的所述目标推流参数,以确保同时兼顾到整场直播中的资源利用效率和观众直播观看体验。
一种可能的实施方式中,如图4所示,可以通过以下步骤确定所述第一目标子程序页面的画面变化参数:
S401:确定所述第一目标子程序页面在预设长度的目标时间段内,任意两个相邻的视频帧之间的相似度。
这里,所述预设长度可以是1秒钟、10秒钟等,所述预设长度的目标段可以是指从开启直播开始的每个预设长度的时间段,例如开启直播后的第1秒、第2秒、第3秒等。
以预设长度为1秒为例,所述第一目标子程序页面在进行直播的过程中是以视频帧的形式传输至服务器,若所述1秒内有三十帧视频帧,则所述确定所述第一目标子程序页面在预设长度的目标时间段内,任意两个相邻的视频帧之间的相似度,可以是确定这1秒钟内的三十帧视频帧中任意两个相邻的视频帧之间的相似度,相邻两帧视频帧之间的相似度越高则表示相邻两帧间的画面变化越小。
具体的,在计算所述任一两个相邻的视频帧之间的相似度时,例如可以基于帧间对比算法进行计算。
S402:基于所述目标时间段内任意两个相邻的视频帧之间的相似度的均值,确定所述目标时间段的画面变化参数。
一种可能的实施方式中,如图5所示,可以通过以下步骤对所述默认推流参数进行调整,其中,步骤502和步骤503的执行不分先后顺序,在每次满足步骤中相应的执行条件时即可执行:
S501:基于所述推流参数范围,确定每个默认推流参数对应的调整值。
这里,为了避免单次调整幅度过大,可以在对应的推流参数范围内进行多次调整,因此需要确定出每次进行自适应调整时的调整值。
针对任一推流参数范围,可以根据该推流参数范围的最大值和最小值,以及预设的划分个数,确定该推流参数对应的调整值。
示例性的,以所述推流参数范围为码率范围500Kbps~1500Kbps为例,可以将该范围的最大值与最小值之差1000Kbps十等分(即为上述划分个数),得到每次进行调整时的调整值100Kbps。
具体实施中,每当计算出一个上述目标时间段的画面变化参数后,就可以对应的进行一次判断,判断该预设时间段内的画面变化参数与第一预设值和第二预设值之间的大小关系,若大于第一预设值,则执行步骤502,并按照得到的目标推流参数进行下一目标时间段的直播推流;若小于第二预设值,则执行步骤503,并按照得到的目标推流参数进行下一目标时间段的直播推流;若大于第二预设值且小于第一预设值,则按照当前目标时间段内的推流参数进行下一目标时间段的直播推流,每计算出一个目标时间段内的画面变化参数后,即执行一次上述判断过程,可以重复上述过程直至直播结束。
S502:当所述画面变化参数大于第一预设值时,按照所述调整值减小当前的推流参数,得到所述目标推流参数。
这里,为了避免使用过大的推流参数而造成的资源浪费,可以设置所述第一预设值,以所述画面变化参数为所述相似度为例,当所述相似度大于所述第一预设值时,则可以认为此时的画面变化程度较低,无需使用此时过高的推流参数,因而可以按照所述调整值减小当前的推流参数。
S503:当所述画面变化参数小于第二预设值时,按照所述调整值增大当前的推流参数,得到所述目标推流参数,其中,所述第一预设值大于所述第二预设值,所述当前的推流参数为对所述默认推流参数进行调整后的推流参数,第一次调整时所述当前的推流参数为所述默认推流参数。
为了避免使用过小的推流参数而造成的直播观看体验较差,可以设置所述第二预设值,以所述画面变化参数为所述相似度为例,当所述相似度小于所述第二预设值时,则可以认为此时的画面变化程度较高,需使用更高的推流参数,才能确保观众端的直播观看体验,因而可以按照所述调整值增大当前的推流参数。
另一种可能的实施方式中,所述第一目标子程序页面的操作频率也可以表征所述第一目标子程序页面画面变化情况,所述操作频率越高代表着用户在一定时间内进行操作的次数越多,相应的画面变化情况也可能变化的越大,因此,可以通过确定所述第一目标子程序页面的操作频率,来确定所述第一目标子程序页面的画面变化参数。
具体的,可以在所述目标时间段检测到用户操作次数超过预设次数的情况下,则确定当前画面变化情况较大,可以按照所述调整值增大当前的推流参数;在所述目标时间段检测到所述用户操作次数不超过预设次数的情况下,则确定当前画面变化情况较小,可以按照所述调整值减小当前的推流参数。
一种可能的实施方式中,在基于所述目标推流参数对所述第一目标子程序页面进行直播推流后,如图6所示,还可以通过以下步骤对所述推流参数进行调整:
S601:接收用于指示视频帧画面丢失的丢帧信息。
这里,在主播端按照所述目标推流参数将直播音视频数据发送至直播中心之后,会得到所述直播中心发送的反馈信息,在出现丢帧情况时,所述反馈信息中包括丢帧信息,也即主播端推流的帧率与所述直播中心接收到的帧率之间的差值。
具体的,出现上述丢帧的原因包括网络带宽过小等原因,也即此时的网络条件无法支持按照所述目标推流参数进行推流,因此需要进行调整,以免造成主播端的计算资源的浪费。
S602:按照所述调整值减小当前的推流参数,并基于调整后的推流参数进行推流,直至在进行推流后不再接收到所述丢帧信息。
具体的,在进行直播推流时,由于反馈信息是可以近乎实时得到的,因此可以基于这一时刻得到的所述反馈信息,对下一时刻的推流参数进行及时调整,当调整后的推流参数能够满足推流需求时,接收到的反馈信息中的帧率和推流时的帧率便会相同,此时也即不存在丢帧信息。
进一步的,还可以结合所述画面变化参数和所述丢帧信息共同进行推流参数的自适应调整,可以确保在不会接收所述丢帧信息的前提下,基于所述画面变化参数进行推流参数的自适应调整。
一种可能的场景中,在接收到丢帧信息,减小推流参数后,不再接收到所述丢帧信息,即使画面变化较大,此时也可以不进行推流参数的调整,以确保在进行直播推流时不会丢帧。
一种可能的实施方式中,在基于所述初始推流参数对所述第一目标子程序页面进行直播推流后,如图7所示,还可以通过以下步骤对所述推流参数进行调整:
S701:在检测到当前屏幕中展示的页面由所述第一目标子程序页面切换至第二目标子程序页面时,确定所述第二目标子程序的第二类型信息。
这里,所述第二目标子程序为所述目标程序中可被打开的小程序,比如可被打开的小游戏等,在游戏类直播的应用场景下,第一目标子程序页面切换至第二目标子程序页面可以是同一游戏引擎运行的游戏从游戏A切换为游戏B,此时可以确定所述游戏B的游戏类型。
此外,还可以是直播时选择的直播类型标签发生变化时,确定发生变化后的第二类型信息,具体的,主播在进行开播前为了能够让想要观看某种直播的观众方便地找到自己,可以选择自己的直播类型标签,此时确定的所述第二类型信息,也即是主播自行选择的所述第二目标子程序的第二类型信息。
S702:基于所述设备信息和第二类型信息,重新确定推流参数。
这里,由于直播设备并未发生改变,因此基于所述设备信息确定的推流参数范围信息无需进行重复确定,而与所述设备信息和第一类型信息对应的默认推流参数,则需要按照上述步骤进行重新确认。
S703:基于重新确定的推流参数对所述第二目标子程序页面进行直播推流。
这里,所述重新确定的推流参数的确定范围参照上文相关内容,在此不做赘述。
本公开实施例提供的直播推流方法,由于直播请求是在第一目标子程序页面直接发起的,因此在确定初始推流参数时,可以同时结合主播端的设备信息以及第一目标子程序的第一类型信息,这样,在基于确定出的初始推流参数对第一目标子程序页面进行直播推流时,可以在保证推流效果的同时,实现对于设备性能的最大化利用,提升了主播端的直播效果。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与直播推流方法对应的直播推流装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述直播推流方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图8所示,为本公开实施例提供的一种直播推流装置的架构示意图,所述装置包括:获取模块801、确定模块802、推流模块803;其中,
获取模块801,用于响应在目标程序的第一目标子程序页面发起的直播请求,获取主播端的设备信息和所述第一目标子程序的第一类型信息;
确定模块802,用于基于所述设备信息和第一类型信息,确定与所述设备信息和第一类型信息对应的初始推流参数;
推流模块803,用于基于所述初始推流参数对所述第一目标子程序页面进行直播推流。
一种可能的实施方式中,所述第一目标子程序为游戏子程序;所述第一类型信息为游戏类型信息。
一种可能的实施方式中,所述与所述设备信息和第一类型信息对应的初始推流参数包括:与所述设备信息和第一类型信息对应的默认推流参数,以及推流参数范围;
所述与所述设备信息和第一类型信息对应的默认推流参数包括:分辨率、初始码率、初始帧率;
所述推流参数范围包括码率范围、帧率范围。
一种可能的实施方式中,所述确定模块802,在所述基于所述设备信息和第一类型信息,确定与所述设备信息和第一类型信息对应的初始推流参数时,用于:
基于所述设备信息,确定与所述设备信息匹配的推流参数范围;以及,
基于所述设备信息和所述第一类型信息,确定所述默认推流参数。
一种可能的实施方式中,所述推流模块803,在所述基于所述初始推流参数对所述第一目标子程序页面进行直播推流时,用于:
基于所述与所述设备信息和第一类型信息对应的默认推流参数对所述第一目标子程序页面进行直播推流。
一种可能的实施方式中,所述推流模块803,还用于:
确定所述第一目标子程序页面的画面变化参数,其中,所述画面变化参数用于表示所述第一目标子程序页面的画面变化情况;
在所述第一目标子程序页面的画面变化参数符合预设条件的情况下,基于所述推流参数范围以及预设的推流参数调整规则,对所述默认推流参数进行调整,得到目标推流参数;
基于所述目标推流参数对所述第一目标子程序页面进行直播推流。
一种可能的实施方式中,所述推流模块803,在所述确定所述第一目标子程序页面的画面变化参数时,用于:
确定所述第一目标子程序页面在预设长度的目标时间段内,任意两个相邻的视频帧之间的相似度;
基于所述目标时间段内任意两个相邻的视频帧之间的相似度的均值,确定所述目标时间段的画面变化参数。
一种可能的实施方式中,所述推流模块803,在所述基于所述推流参数范围以及预设的推流参数调整规则,对所述默认推流参数进行调整,得到目标推流参数时,用于:
基于所述推流参数范围,确定每个默认推流参数对应的调整值;
当所述画面变化参数大于第一预设值时,按照所述调整值减小当前的推流参数,得到所述目标推流参数;以及,
当所述画面变化参数小于第二预设值时,按照所述调整值增大当前的推流参数,得到所述目标推流参数,其中,所述第一预设值大于所述第二预设值,所述当前的推流参数为对所述默认推流参数进行调整后的推流参数,第一次调整时所述当前的推流参数为所述默认推流参数。
一种可能的实施方式中,所述推流模块803,在基于所述目标推流参数对所述第一目标子程序页面进行直播推流后,还用于:
接收用于指示视频帧画面丢失的丢帧信息;
按照所述调整值减小当前的推流参数,并基于调整后的推流参数进行推流,直至在进行推流后不再接收到所述丢帧信息。
一种可能的实施方式中,所述推流模块803,在基于所述初始推流参数对所述第一目标子程序页面进行直播推流后,还用于:
在检测到当前屏幕中展示的页面由所述第一目标子程序页面切换至第二目标子程序页面时,确定所述第二目标子程序的第二类型信息;
基于所述设备信息和第二类型信息,重新确定推流参数;
基于重新确定的推流参数对所述第二目标子程序页面进行直播推流。
本公开实施例提供的直播推流装置,由于直播请求是在第一目标子程序页面直接发起的,因此在确定初始推流参数时,可以同时结合主播端的设备信息以及第一目标子程序的第一类型信息,这样,在基于确定出的初始推流参数对第一目标子程序页面进行直播推流时,可以在保证推流效果的同时,实现对于设备性能的最大化利用,提升了主播端的直播效果。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于同一技术构思,本公开实施例还提供了一种计算机设备。参照图9所示,为本公开实施例提供的计算机设备900的结构示意图,包括处理器901、存储器902、和总线903。其中,存储器902用于存储执行指令,包括内存9021和外部存储器9022;这里的内存9021也称内存储器,用于暂时存放处理器901中的运算数据,以及与硬盘等外部存储器9022交换的数据,处理器901通过内存9021与外部存储器9022进行数据交换,当计算机设备900运行时,处理器901与存储器902之间通过总线903通信,使得处理器901在执行以下指令:
响应在目标程序的第一目标子程序页面发起的直播请求,获取主播端的设备信息和所述第一目标子程序的第一类型信息;
基于所述设备信息和第一类型信息,确定与所述设备信息和第一类型信息对应的初始推流参数;
基于所述初始推流参数对所述第一目标子程序页面进行直播推流。
一种可能的实施方式中,所述处理器901的指令中,所述第一目标子程序为游戏子程序;所述第一类型信息为游戏类型信息。
一种可能的实施方式中,所述处理器901的指令中,所述与所述设备信息和第一类型信息对应的初始推流参数包括:与所述设备信息和第一类型信息对应的默认推流参数,以及推流参数范围;
所述与所述设备信息和第一类型信息对应的默认推流参数包括:分辨率、初始码率、初始帧率;
所述推流参数范围包括码率范围、帧率范围。
一种可能的实施方式中,所述处理器901的指令中,所述基于所述设备信息和第一类型信息,确定与所述设备信息和第一类型信息对应的初始推流参数,包括:
基于所述设备信息,确定与所述设备信息匹配的推流参数范围;以及,
基于所述设备信息和所述第一类型信息,确定所述默认推流参数。
一种可能的实施方式中,所述处理器901的指令中,所述基于所述初始推流参数对所述第一目标子程序页面进行直播推流,包括:
基于所述与所述设备信息和第一类型信息对应的默认推流参数对所述第一目标子程序页面进行直播推流。
一种可能的实施方式中,所述处理器901的指令中,还包括:
确定所述第一目标子程序页面的画面变化参数,其中,所述画面变化参数用于表示所述第一目标子程序页面的画面变化情况;
在所述第一目标子程序页面的画面变化参数符合预设条件的情况下,基于所述推流参数范围以及预设的推流参数调整规则,对所述默认推流参数进行调整,得到目标推流参数;
基于所述目标推流参数对所述第一目标子程序页面进行直播推流。
一种可能的实施方式中,所述处理器901的指令中,所述确定所述第一目标子程序页面的画面变化参数,包括:
确定所述第一目标子程序页面在预设长度的目标时间段内,任意两个相邻的视频帧之间的相似度;
基于所述目标时间段内任意两个相邻的视频帧之间的相似度的均值,确定所述目标时间段的画面变化参数。
一种可能的实施方式中,所述处理器901的指令中,所述基于所述推流参数范围以及预设的推流参数调整规则,对所述默认推流参数进行调整,得到目标推流参数,包括:
基于所述推流参数范围,确定每个默认推流参数对应的调整值;
当所述画面变化参数大于第一预设值时,按照所述调整值减小当前的推流参数,得到所述目标推流参数;以及,
当所述画面变化参数小于第二预设值时,按照所述调整值增大当前的推流参数,得到所述目标推流参数,其中,所述第一预设值大于所述第二预设值,所述当前的推流参数为对所述默认推流参数进行调整后的推流参数,第一次调整时所述当前的推流参数为所述默认推流参数。
一种可能的实施方式中,所述处理器901的指令中,基于所述目标推流参数对所述第一目标子程序页面进行直播推流后,还包括:
接收用于指示视频帧画面丢失的丢帧信息;
按照所述调整值减小当前的推流参数,并基于调整后的推流参数进行推流,直至在进行推流后不再接收到所述丢帧信息。
一种可能的实施方式中,所述处理器901的指令中,在基于所述初始推流参数对所述第一目标子程序页面进行直播推流后,还包括:
在检测到当前屏幕中展示的页面由所述第一目标子程序页面切换至第二目标子程序页面时,确定所述第二目标子程序的第二类型信息;
基于所述设备信息和第二类型信息,重新确定推流参数;
基于重新确定的推流参数对所述第二目标子程序页面进行直播推流。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的直播推流方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的直播推流方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (13)

1.一种直播推流方法,其特征在于,包括:
响应在目标程序的第一目标子程序页面发起的直播请求,获取主播端的设备信息和所述第一目标子程序的第一类型信息;
基于所述设备信息和第一类型信息,确定与所述设备信息和第一类型信息对应的初始推流参数;
基于所述初始推流参数对所述第一目标子程序页面进行直播推流。
2.根据权利要求1所述的方法,其特征在于,所述第一目标子程序为游戏子程序;所述第一类型信息为游戏类型信息。
3.根据权利要求1所述的方法,其特征在于,所述与所述设备信息和第一类型信息对应的初始推流参数包括:与所述设备信息和第一类型信息对应的默认推流参数,以及推流参数范围;
所述与所述设备信息和第一类型信息对应的默认推流参数包括:分辨率、初始码率、初始帧率;
所述推流参数范围包括码率范围、帧率范围。
4.根据权利要求3所述的方法,其特征在于,所述基于所述设备信息和第一类型信息,确定与所述设备信息和第一类型信息对应的初始推流参数,包括:
基于所述设备信息,确定与所述设备信息匹配的推流参数范围;以及,
基于所述设备信息和所述第一类型信息,确定所述默认推流参数。
5.根据权利要求3所述的方法,其特征在于,所述基于所述初始推流参数对所述第一目标子程序页面进行直播推流,包括:
基于所述与所述设备信息和第一类型信息对应的默认推流参数对所述第一目标子程序页面进行直播推流。
6.根据权利要求3或5所述的方法,其特征在于,所述方法还包括:
确定所述第一目标子程序页面的画面变化参数,其中,所述画面变化参数用于表示所述第一目标子程序页面的画面变化情况;
在所述第一目标子程序页面的画面变化参数符合预设条件的情况下,基于所述推流参数范围以及预设的推流参数调整规则,对所述默认推流参数进行调整,得到目标推流参数;
基于所述目标推流参数对所述第一目标子程序页面进行直播推流。
7.根据权利要求6所述的方法,其特征在于,所述确定所述第一目标子程序页面的画面变化参数,包括:
确定所述第一目标子程序页面在预设长度的目标时间段内,任意两个相邻的视频帧之间的相似度;
基于所述目标时间段内任意两个相邻的视频帧之间的相似度的均值,确定所述目标时间段的画面变化参数。
8.根据权利要求6所述的方法,其特征在于,所述基于所述推流参数范围以及预设的推流参数调整规则,对所述默认推流参数进行调整,得到目标推流参数,包括:
基于所述推流参数范围,确定每个默认推流参数对应的调整值;
当所述画面变化参数大于第一预设值时,按照所述调整值减小当前的推流参数,得到所述目标推流参数;以及,
当所述画面变化参数小于第二预设值时,按照所述调整值增大当前的推流参数,得到所述目标推流参数,其中,所述第一预设值大于所述第二预设值,所述当前的推流参数为对所述默认推流参数进行调整后的推流参数,第一次调整时所述当前的推流参数为所述默认推流参数。
9.根据权利要求8所述的方法,其特征在于,基于所述目标推流参数对所述第一目标子程序页面进行直播推流后,所述方法还包括:
接收用于指示视频帧画面丢失的丢帧信息;
按照所述调整值减小当前的推流参数,并基于调整后的推流参数进行推流,直至在进行推流后不再接收到所述丢帧信息。
10.根据权利要求1所述的方法,其特征在于,在基于所述初始推流参数对所述第一目标子程序页面进行直播推流后,所述方法还包括:
在检测到当前屏幕中展示的页面由所述第一目标子程序页面切换至第二目标子程序页面时,确定所述第二目标子程序的第二类型信息;
基于所述设备信息和第二类型信息,重新确定推流参数;
基于重新确定的推流参数对所述第二目标子程序页面进行直播推流。
11.一种直播推流装置,其特征在于,包括:
获取模块,用于响应在目标程序的第一目标子程序页面发起的直播请求,获取主播端的设备信息和所述第一目标子程序的第一类型信息;
确定模块,用于基于所述设备信息和第一类型信息,确定与所述设备信息和第一类型信息对应的初始推流参数;
推流模块,用于基于所述初始推流参数对所述第一目标子程序页面进行直播推流。
12.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至10任一所述的直播推流方法的步骤。
13.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至10任一项所述的直播推流方法的步骤。
CN202110306537.0A 2021-03-23 2021-03-23 一种直播推流方法、装置、计算机设备及存储介质 Active CN113068075B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110306537.0A CN113068075B (zh) 2021-03-23 2021-03-23 一种直播推流方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110306537.0A CN113068075B (zh) 2021-03-23 2021-03-23 一种直播推流方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN113068075A true CN113068075A (zh) 2021-07-02
CN113068075B CN113068075B (zh) 2023-04-07

Family

ID=76562901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110306537.0A Active CN113068075B (zh) 2021-03-23 2021-03-23 一种直播推流方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN113068075B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114173160A (zh) * 2021-12-01 2022-03-11 上海哔哩哔哩科技有限公司 直播推流方法及装置
CN114286128A (zh) * 2021-12-28 2022-04-05 广州方硅信息技术有限公司 直播视频参数调整方法、系统、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009118973A1 (ja) * 2008-03-24 2009-10-01 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
WO2017092259A1 (zh) * 2015-12-04 2017-06-08 腾讯科技(深圳)有限公司 一种游戏直播视频的传输控制方法以及装置
CN108521609A (zh) * 2018-02-27 2018-09-11 北京达佳互联信息技术有限公司 确定推送视频类型的方法、装置及终端
CN109348244A (zh) * 2018-11-20 2019-02-15 浙江齐聚科技有限公司 视频编码参数的配置方法、装置、设备和存储介质
WO2019114129A1 (zh) * 2017-12-13 2019-06-20 平安科技(深圳)有限公司 推流服务器的调度装置、方法及计算机可读存储介质
US20200043287A1 (en) * 2017-09-21 2020-02-06 NEX Team Inc. Real-time game tracking with a mobile device using artificial intelligence
CN111010587A (zh) * 2019-12-24 2020-04-14 网易(杭州)网络有限公司 直播控制方法、装置及系统
CN111918093A (zh) * 2020-08-13 2020-11-10 腾讯科技(深圳)有限公司 直播数据处理方法、装置、计算机设备和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009118973A1 (ja) * 2008-03-24 2009-10-01 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
WO2017092259A1 (zh) * 2015-12-04 2017-06-08 腾讯科技(深圳)有限公司 一种游戏直播视频的传输控制方法以及装置
US20200043287A1 (en) * 2017-09-21 2020-02-06 NEX Team Inc. Real-time game tracking with a mobile device using artificial intelligence
WO2019114129A1 (zh) * 2017-12-13 2019-06-20 平安科技(深圳)有限公司 推流服务器的调度装置、方法及计算机可读存储介质
CN108521609A (zh) * 2018-02-27 2018-09-11 北京达佳互联信息技术有限公司 确定推送视频类型的方法、装置及终端
CN109348244A (zh) * 2018-11-20 2019-02-15 浙江齐聚科技有限公司 视频编码参数的配置方法、装置、设备和存储介质
CN111010587A (zh) * 2019-12-24 2020-04-14 网易(杭州)网络有限公司 直播控制方法、装置及系统
CN111918093A (zh) * 2020-08-13 2020-11-10 腾讯科技(深圳)有限公司 直播数据处理方法、装置、计算机设备和存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114173160A (zh) * 2021-12-01 2022-03-11 上海哔哩哔哩科技有限公司 直播推流方法及装置
CN114173160B (zh) * 2021-12-01 2023-11-21 上海哔哩哔哩科技有限公司 直播推流方法及装置
CN114286128A (zh) * 2021-12-28 2022-04-05 广州方硅信息技术有限公司 直播视频参数调整方法、系统、装置、设备及存储介质

Also Published As

Publication number Publication date
CN113068075B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
US20230412672A1 (en) Data processing method and apparatus based on edge computing, device, and storage medium
CN113068075B (zh) 一种直播推流方法、装置、计算机设备及存储介质
US11813527B2 (en) Information processing program, information processing server, and information processing system
CN110856032B (zh) 一种直播方法、装置、设备及存储介质
US8902970B1 (en) Altering streaming video encoding based on user attention
CN112616061A (zh) 直播互动方法、装置、直播服务器及存储介质
WO2014194695A1 (en) Method and server for pvp team matching in computer games
CN109120987A (zh) 一种视频录制方法、装置、终端及计算机可读存储介质
US9908047B2 (en) User save data migration based on location information
US20170177255A1 (en) Method and electronic device for allocating dynamic memory resources
CN110087081A (zh) 视频编码方法、装置、服务器及存储介质
WO2023077813A1 (zh) 确定直播间刷量的方法及装置
CN113365111A (zh) 基于直播的互动方法及装置
CN113727201B (zh) 一种数据处理方法、装置、计算机设备及存储介质
CN113824983A (zh) 数据匹配方法、装置、设备及计算机可读存储介质
CN111068317A (zh) 一种云游戏的操控方法、服务器和可读存储介质
CN112891926A (zh) 游戏终端、云服务器、云游戏控制方法和存储介质
CN114945097B (zh) 视频流处理方法及装置
WO2017185618A1 (zh) 一种实现平民解说的方法及装置
US9149725B2 (en) Method and server for PVP team matching in computer games
CN111954041A (zh) 一种视频加载方法、计算机设备及可读存储介质
US20150148124A1 (en) Method, device and computer storage medium for controlling displaying
WO2015090079A1 (en) Data processing method and device applicable to network application
CN114125560A (zh) 一种视频播放方法、装置、电子设备及存储介质
CN110769904B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230625

Address after: 100190 1309, 13th floor, building 4, Zijin Digital Park, Haidian District, Beijing

Patentee after: Beijing volcano Engine Technology Co.,Ltd.

Address before: Room 802, Information Building, 13 Linyin North Street, Pinggu District, Beijing, 101299

Patentee before: Beijing youzhuju Network Technology Co.,Ltd.