CN108235120A - 直播视频流推送方法、装置及电子设备 - Google Patents

直播视频流推送方法、装置及电子设备 Download PDF

Info

Publication number
CN108235120A
CN108235120A CN201810246980.1A CN201810246980A CN108235120A CN 108235120 A CN108235120 A CN 108235120A CN 201810246980 A CN201810246980 A CN 201810246980A CN 108235120 A CN108235120 A CN 108235120A
Authority
CN
China
Prior art keywords
buffer zone
video stream
frame image
live video
image
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
CN201810246980.1A
Other languages
English (en)
Other versions
CN108235120B (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 Longzhixin Technology Co ltd
Original Assignee
Beijing Panda Mutual Entertainment 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 Panda Mutual Entertainment Technology Co Ltd filed Critical Beijing Panda Mutual Entertainment Technology Co Ltd
Priority to CN201810246980.1A priority Critical patent/CN108235120B/zh
Publication of CN108235120A publication Critical patent/CN108235120A/zh
Application granted granted Critical
Publication of CN108235120B publication Critical patent/CN108235120B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44012Processing 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 rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server

Abstract

本发明实施例提供一种直播视频流推送方法、装置及电子设备,该方法包括:主播客户端获取原始直播数据,再对此原始直播数据进行渲染处理,以得到与此原始直播数据对应的至少一帧图像,此至少一帧图像即可构成即将推送至CDN节点的待播放直播视频流。主播客户端再将至少一帧图像按照顺序依次写入N个缓存区域中。最后,主播客户端按照至少一帧图像的写入顺序将用于组成待播放直播视频流的至少一帧图像推送至CDN节点。本发明提供的直播视频流推送方法通过设置多个缓存区域来提高至少一帧图像的整体写入速度,且多个缓存区域交替地将至少一帧图像推送至CDN节点也可以相应提高至少一帧图像即直播视频流的推送速度。

Description

直播视频流推送方法、装置及电子设备
技术领域
本发明涉及视频直播技术领域,尤其涉及一种直播视频流推送方法、装置及电子设备。
背景技术
传统媒体例如电视、广播等,其节目内容的传播是单向的,互动性较低且不能使用户有真正的参与感。伴随着互联网的发展而出现的网络视频直播则由于其内容丰富、主播和观看用户间的互动性强等特点,能够很好地改善传统媒体所具有的问题,尤其受到人们的广泛欢迎。
主播使用移动终端拍摄直播视频流,然后再利用主播客户端将直播视频流上传至内容分发网络(Content Delivery Network,简称CDN)节点,观看用户使用观看客户端从此CDN节点处获取直播视频流,也即是实现了视频直播。但在实际观看过程中,经常会出现由于主播客户端上传直播视频流的速度较慢,而使观看用户不能流畅地观看直播视频的情况。因此,如何保证直播视频流的上传速度就成了一个亟待解决的问题。
发明内容
有鉴于此,本发明实施例提供一种直播视频流推送方法、装置及电子设备,用以提高直播视频流的推送速度,使观看用户能够流畅观看视频直播。
本发明实施例提供一种直播视频流推送方法,包括:
获取用以生成待播放直播视频流的原始直播数据;
将对所述原始直播数据进行渲染处理后得到的至少一帧图像依次写入N个缓存区域内,其中,N≥2;
按照图像写入的先后顺序将用于构成所述待播放直播视频流的所述至少一帧图像推送至CDN节点。
可选地,在所述获取用以生成待播放直播视频流的原始直播数据之前,还包括:
响应于用户触发的直播开始操作,获取所述用户使用的终端设备的设备参数;
根据所述设备参数与缓存区域个数之间的预设对应关系确定所述缓存区域的个数为N个。
可选地,在所述按照图像写入的先后顺序将用于构成所述待播放直播视频流的所述至少一帧图像推送至CDN节点之后,还包括:
根据在预设时间段内每秒推送的图像数目或者在所述预设时间段内所述N个缓存区域各自的使用状态调整缓存区域的个数,以得到M个缓存区域,其中,M≥2;
将在所述预设时间段后的得到的至少一帧图像依次写入所述M个缓存区域内。
可选地,所述根据在预设时间段内每秒推送的图像数目或者在所述预设时间段内所述N个缓存区域各自的使用状态调整缓存区域的个数,以得到M个缓存区域,包括:
统计在所述预设时间段内所述N个缓存区域各自的使用频率;
删除使用频率小于预设频率的缓存区域,以得到M个缓存区域。
可选地,所述根据在预设时间段内每秒推送的图像数目或者在所述预设时间段内所述N个缓存区域各自的使用状态调整缓存区域的个数,以得到M个缓存区域,包括:
统计在所述预设时间段内每秒推送至CDN节点的图像的数目;
若所述每秒钟推送至CDN节点的图像的数目小于预设数目,则增加缓存区域,以得到M个缓存区域。
可选地,所述若所述每秒钟推送至CDN节点的图像的数目不满足预设数目,则增加缓存区域,包括:
根据所述每秒钟推送至CDN节点的图像的数目与所述预设数目之间差值的大小,确定缓存区域增加的个数,其中,所述差值与缓存区域增加的个数具有预设对应关系。
本发明实施例提供一种直播视频流推送装置,包括:
直播数据获取模块,用于获取用以生成待播放直播视频流的原始直播数据;
写入模块,用于将对所述原始直播数据进行渲染处理后得到的至少一帧图像依次写入N个缓存区域内,其中,N≥2;
推送模块,用于按照图像写入的先后顺序将用于构成所述待播放直播视频流的所述至少一帧图像推送至CDN节点。
可选地,所述装置还包括:
参数获取模块,用于响应于用户触发的直播开始操作,获取所述用户使用的终端设备的设备参数;
确定模块,用于根据所述设备参数与缓存区域个数之间的预设对应关系确定所述缓存区域的个数为N个。
可选地,所述装置还包括:
调整模块,用于根据在预设时间段内每秒推送的图像数目或者在所述预设时间段内所述N个缓存区域各自的使用状态调整缓存区域的个数,以得到M个缓存区域,其中,M≥2;
写入模块,还用于将在所述预设时间段后的得到的至少一帧图像依次写入所述M个缓存区域内。
本发明实施例提供一种电子设备,包括:存储器,以及与所述存储器连接的处理器;
所述存储器,用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理器调用执行;
所述处理器,用于执行所述一条或多条计算机指令以实现上述直播视频流推送方法中的任意一种方法。
本发明实施例提供的直播视频流推送方法、装置及电子设备,主播客户端获取用以生成待播放直播视频流的原始直播数据。接着,对此原始直播数据进行渲染处理,从而得到与此原始直播数据对应的至少一帧图像,此至少一帧图像即可构成即将推送至CDN节点的待播放直播视频流。主播客户端再将至少一帧图像按照顺序依次写入N个缓存区域中,且每个缓存区域写入一帧图像。最后,主播客户端按照至少一帧图像的写入顺序将用于构成待播放直播视频流的至少一帧图像推送至CDN节点。根据上述描述可知,本发明提供的直播视频流推送方法是通过设置多个缓存区域来进行至少一帧图像的写入操作,这样可以提高至少一帧图像的整体写入速度。同时,通过多个缓存区域交替被写入图像再交替将图像推送至CDN节点的方式也可以相应提高至少一帧图像即待播放直播视频流的推送速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的直播视频流推送方法实施例一的流程图;
图2为本发明实施例提供的直播视频流推送方法实施例二的流程图;
图3为本发明实施例提供的直播视频流推送装置实施例一的结构示意图;
图4为本发明实施例提供的直播视频流推送装置实施例二的结构示意图;
图5为本发明实施例提供的电子设备实施例一的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述XXX,但这些XXX不应限于这些术语。这些术语仅用来将XXX彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一XXX也可以被称为第二XXX,类似地,第二XXX也可以被称为第一XXX。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
图1为本发明实施例提供的直播视频流推送方法实施例一的流程图,本实施例提供的该直播视频流推送方法的执行主体可以为安装于终端设备中的主播客户端,如图1所示,该方法包括如下步骤:
S101,获取用以生成待播放直播视频流的原始直播数据。
在实际应用中,可选地,用户可以通过使用安装有主播客户端且具有摄像功能的终端设备拍摄真实场景的方式来得到用以生成待播放直播视频流的原始直播数据。此时,主播客户端也即是获取到终端设备拍得的原始直播数据。
除了上述情况之外,为了提高观看用户的观看体验,主播客户端获取的原始直播数据还可以是一个具有增强现实(Augmented Reality,简称AR)效果的混合直播数据。此混合直播数据可以由终端设备拍得的真实场景的真实直播数据以及虚拟图像的虚拟直播数据组成,其中,可选地,虚拟直播数据可以预先存储于主播客户端中。在此种情况下,主播客户端会将真实直播数据和虚拟直播数据进行合成处理,主播客户端便可以获取到合成后的直播数据也即是原始直播数据。
需要说明的是,上述以及下述实施例中提及的用户为主播用户。
S102,将对原始直播数据进行渲染处理后得到的至少一帧图像依次写入N个缓存区域内。
S103,按照图像写入的先后顺序将用于构成待播放直播视频流的至少一帧图像推送至CDN节点。
在获取到原始直播数据后,主播客户端会对此原始直播数据进行渲染处理,以得到至少一帧图像,再将此至少一帧图像按照顺序依次写入N个缓存区域内,其中,N≥2且每个缓存区域一次写入一帧图像。然后,可选地,主播客户端还会分别记录每一帧图像写入缓存区域的时间,根据记录下的时间主播客户端即可知晓各帧图像写入缓存区域的先后顺序。可选地,缓存区域的个数可以是在主播客户端成功安装在移动终端后,由主播客户端自动分配的。另外,主播客户端对原始直播数据的渲染处理可以采用现有技术中的任一种方式,本发明并不对此进行限定。
待N个缓存区域中的某一缓存区域A已经完成图像的写入操作后,主播客户端便会将此帧图像从此缓存区域A推送至CDN节点。同时,主播客户端还会将得到的新一帧图像写入之前已经完成图像写入操作的缓存区域A内,也即是至少一帧图像是交替地写入N个缓存区域内的。最后,主播客户端再按照图像写入的先后顺序依次将至少一帧图像推送至CDN节点也即是将待播放直播视频流推送至CDN节点,并且,将不同缓存区域中写入的图像推送至CDN节点的过程都是相互独立的。
以一具体实例说明至少一帧图像被交替写入N个缓存区域内的过程:
假设存在3个缓存区域,主播客户端可以先将第1至3帧图像分别写入缓存区域1至3内。当主播客户端获取到第4帧图像时,缓存区域1中的第1帧图像已经被推送至CDN节点,此时主播客户端可以继续将第4帧图像写入第1缓存区域内,相似地,主播客户端还可以依次将第5、6帧图像分别写入缓存区域2、3中,这样也即是实现了N个缓存区域交替写入图像。
在此需要说明的是,由于每帧图像写入到缓存区域的速度是基本相同的,因此,先写入某一缓存区域的一帧图像也是会先推送至CDN节点的,也就是说图像写入的先后顺序与图像显示的先后顺序是相同的。主播客户端将至少一帧图像按照图像写入的先后顺序推送至CDN节点也即是能够保证至少一帧图像的显示顺序是正确的。
本实施例中,主播客户端获取用以生成待播放直播视频流的原始直播数据。接着,对此原始直播数据进行渲染处理,从而得到与此原始直播数据对应的至少一帧图像,此至少一帧图像即可构成即将推送至CDN节点的待播放直播视频流。主播客户端再将至少一帧图像按照顺序依次写入N个缓存区域中,且每个缓存区域写入一帧图像。最后,主播客户端按照至少一帧图像的写入顺序将用于构成待播放直播视频流的至少一帧图像推送至CDN节点。根据上述描述可知,本发明提供的直播视频流推送方法是通过设置多个缓存区域来进行至少一帧图像的写入操作,这样可以提高至少一帧图像的整体写入速度。同时,通过多个缓存区域交替被写入图像再交替将图像推送至CDN节点的方式也可以相应提高至少一帧图像即待播放直播视频流的推送速度。
根据实施例一中的相关描述可知:设置多个缓存区域可以提高主播客户端推送直播视频流速度。但缓存区域设置得过多可能会影响主播客户端对其他数据的正常处理,设置得过少又不能很好地提高图像的推送速度。因此,如何设置合理个数的缓存区域也成为了一个重要问题。
基于此,图2为本发明实施例提供的直播视频流推送方法实施例二的流程图,如图2所示,该方法包括如下步骤:
S201,响应于用户触发的直播开始操作,获取用户使用的终端设备的设备参数。
S202,根据设备参数与缓存区域个数之间的预设对应关系确定缓存区域的个数为N个。
在获取原始直播数据之前,可选地,用户可以通过主播客户端提供的操作界面向主播客户端触发直播开始操作。可选地,用户还可以通过发送语音消息或其他可以实现的方式对主播客户端触发直播开始操作。主播客户端响应于主播触发的直播开始操作,获取安装有主播客户端的、用户正在使用的终端设备的设备参数。主播客户端再根据设备参数与缓存区域个数之间的预设对应关系确定出缓存区域的个数,其中,前述的预设对应关系往往都是技术人员根据经验设置的,并且可选地,主播获取到的设备参数通常是设备的硬件参数。举例来说,对于硬件条件较好的终端设备,缓存区域的个数通常较少,可以为1~2个;对于硬件条件较差的终端设备,缓存区域的个数通常较多,可以为3~5个。
S203,获取用以生成待播放直播视频流的原始直播数据。
S204,将对原始直播数据进行渲染处理后得到的至少一帧图像依次写入N个缓存区域内。
S205,按照图像写入的先后顺序将用于构成待播放直播视频流的至少一帧图像推送至CDN节点。
上述步骤S203-S205执行过程与前述实施例的相应步骤相似,可以参见如图1所示实施例中的相关描述,在此再不赘述。
主播响应于用户触发的直播开始操作,通过执行上述步骤S201-S205便可以实现将由至少一帧图像构成的直播视频流快速地推送至CDN节点。
但上述描述中也提到了:缓存区域个数与设备参数之间的预设对应关系是根据技术人员的经验进行设置的,因此,在实际应用中,根据此预设对应关系确定出的缓存区域的个数有可能会存在不合理的情况。此时,主播客户端还可以对缓存区域的个数进行调整。一般情况下,缓存区域个数是否合理在待播放直播视频流推送之前是无法知晓的,因此,对缓存区域的个数进行调整通常是在待播放直播视频流推送一段时间后才进行的。
因此,可选地,在主播客户端执行上述步骤S201-S205将待播放直播视频流推送至CDN节点一段时间后,主播客户端还可以执行以下步骤:
S206,根据在预设时间段内每秒推送的图像数目或者在预设时间段内N个缓存区域各自的使用状态调整缓存区域的个数,以得到M个缓存区域。
S207,将在预设时间段后的得到的至少一帧图像依次写入M个缓存区域内。
主播客户端在预设时间段内可以利用步骤S202中确定出的N个缓存区域将至少一帧图像推送至CDN节点。可选地,在实际应用中,此预设时间段可以一段较短的时间,例如5秒。在此预设时间段内,主播客户端在推送图像的同时还会统计在此预设时间段内每秒钟N个缓存区域总共推送的图像的数目以及在此预设时间段内每个缓存区域的使用状态,其中,缓存区域的使用状态可以是使用频率或者使用时长等。
在经过此预设时间段后主播客户端会根据上述记录的两种数据对当前缓存区域的个数进行调整也即是将N个缓存区域调整为M个,其中,M≥2并且M通常不等于N。在预设时间段后,主播客户端可以使用个数调整后的M个缓存区域对在预设时间段后得到的所有图像进行推送,其中,在预设时间段后得到的所有图像可以采用如步骤S203-S204所述的方式生成。
容易理解的,对应缓存区域的调整不外乎就是增加或减少缓存区域,可选地,主播客户端可以采用以下方式来减少缓存区域的个数:
第一,统计在预设时间段内N个缓存区域各自的使用频率。
第二,删除使用频率小于预设频率的缓存区域,以得到M个缓存区域。
具体地,主播客户端会分别统计在预设时间段内N个缓存区域各自被写入了多少帧图像,可以用写入图像的数目来表示缓存区域的使用频率,写入图像的数目越多,使用频率越高。
当某一缓存区域I的使用频率小于预设频率时,可以理解为此缓存区域I几乎未被使用,也就是说直播客户端在几乎不使用此缓存区域I的情况下就能够实现将至少一帧图像推送至CDN节点。在实际应用中,如果此至少一帧图像在预设时间段内能够全部推送至CDN节点就能够保证观看用户流畅地观看直播视频。在此前提下,缓存区域I在主播客户端推送图像的过程中就是不必要的,此时主播客户端可以调整缓存区域的个数即将此缓存区域I删除,以得到个数合理的M个缓存区域。
可选地,主播客户端可以采用以下方式来增加缓存区域的个数:
第一,统计在预设时间段内每秒推送至CDN节点的图像的数目。
第二,若每秒钟推送至CDN节点的图像的数目小于预设数目,则增加缓存区域,以得到M个缓存区域。
主播客户端在推送至少一帧图像的同时还会统计在预设时间段内每秒钟推送至CDN节点的图像的数目。只有当每秒钟推送的图像的数目达到直播视频的帧率才能够保证观看用户可以流畅地观看直播视频。因此,若每秒钟推送的图像的数目小于预设数目,则表明当前推送的图像的数目并不能够支持观看用户流畅地观看直播视频,此时,主播客户端就会增加缓存区域的个数来提高每秒钟推送图像的数目,使推送的图像的数目能够达到预设数目,进而使观看用户可以流畅地观看直播。
进一步地,一种可选地方式,主播客户端可以采用以下方式来确定要增加的缓存区域的个数:
根据每秒钟推送至CDN节点的图像的数目与预设数目之间差值的大小,确定缓存区域增加的个数,其中,差值与缓存区域增加的个数具有预设对应关系。
具体来说,主播客户端可以计算出每秒钟推送的图像数目与预设数目之间的差值,此差值的大小可以表示出当前缓存区域个数缺少的程度高低。差值越大表明需要增加的缓存区域的个数越多。主播客户端可以根据差值与增加个数之间的预设对应关系确定出此时应该增加多少个缓存区域。
在此需要说明的是,本实施例中提供的缓存区域个数的调整方式同样可以适用于本发明中上述以及下述各实施例。
另外,可选地,在主播客户端对缓存区域的个数进行一次调整,从而得到M个缓存区域后,主播客户端即可一直使用此M个缓存区域进行图像的写入与推送。当然,可选地,主播客户端还可以每间隔预设时间段就进行缓存区域个数的调整。
本实施例中,主播客户端能够通过获取终端设备的设备参数来确定缓存区域的个数,使不同设备参数的终端设备具有不同个数的缓存区域,能够一定程度上提高缓存区域个数的合理性。另外,主播客户端还会根据在预设时间段内每秒推送的图像数目或者在预设时间段内N个缓存区域各自的使用状态来进一步调整缓存区域的个数,进一步提高缓存区域个数的合理性。基于此,主播客户端还会根据缓存区域缺少程度的高度来增加相应个数的缓存区域,更进一步地,提高缓存区域个数的合理性。主播客户端可以利用此个数合理的缓存区域将至少一帧图像推送至CDN节点,提高用于构成待播放直播视频流的至少一帧图像的推送速度,使观看用户可以流畅地观看直播视频。
图3为本发明实施例提供的直播视频流推送装置实施例一的结构示意图,如图3所示,该直播视频流推送装置包括:直播数据获取模块11、写入模块12以及推送模块13。
直播数据获取模块11,用于获取用以生成待播放直播视频流的原始直播数据。
写入模块12,用于将对原始直播数据进行渲染处理后得到的至少一帧图像依次写入N个缓存区域内,其中,N≥2。
推送模块13,用于按照图像写入的先后顺序将用于构成待播放直播视频流的至少一帧图像推送至CDN节点。
图3所示装置可以执行图1所示实施例的方法,本实施例未详细描述的部分,可参考对图1所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1所示实施例中的描述,在此不再赘述。
图4为本发明实施例提供的直播视频流推送装置实施例二的结构示意图,如图4所示,在图3所示实施例基础上,该直播视频流推送装置还包括:参数获取模块21和确定模块22。
参数获取模块21,用于响应于用户触发的直播开始操作,获取用户使用的终端设备的设备参数。
确定模块22,用于根据设备参数与缓存区域个数之间的预设对应关系确定缓存区域的个数为N个。
可选地,该直播视频流推送装置还包括:调整模块23。
调整模块23,用于根据在预设时间段内每秒推送的图像数目或者在预设时间段内N个缓存区域各自的使用状态调整缓存区域的个数,以得到M个缓存区域,其中,M≥2。
写入模块12,还用于将在预设时间段后的得到的至少一帧图像依次写入M个缓存区域内。
可选地,该直播视频流推送装置中的调整模块23具体包括:统计单元231和删除单元232。
统计单元231,用于统计在预设时间段内N个缓存区域各自的使用频率。
删除单元232,用于删除使用频率小于预设频率的缓存区域,以得到M个缓存区域。
可选地,该直播视频流推送装置中的调整模块23具体还包括:增加单元233。
统计单元231,还用于统计在预设时间段内每秒推送至CDN节点的图像的数目。
增加单元233,用于若每秒钟推送至CDN节点的图像的数目小于预设数目,则增加缓存区域,以得到M个缓存区域。
可选地,该直播视频流推送装置中的增加单元233具体用于:
根据每秒钟推送至CDN节点的图像的数目与预设数目之间差值的大小,确定缓存区域增加的个数,其中,差值与缓存区域增加的个数具有预设对应关系。
图4所示装置可以执行图2所示实施例的方法,本实施例未详细描述的部分,可参考对图2所示实施例的相关说明。该技术方案的执行过程和技术效果参见图2所示实施例中的描述,在此不再赘述。
以上描述了直播视频流推送装置的内部功能和结构,在一个可能的设计中,直播视频流推送装置的结构可实现为一电子设备,例如智能手机、平板电脑等终端设备。图5为本发明实施例提供的电子设备实施例一的结构示意图,如图5所示,该电子设备包括:存储器31,以及与存储器连接的处理器32,存储器31用于存储电子设备执行上述任一实施例中提供的直播视频流推送方法的程序,处理器32被配置为用于执行存储器31中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器32执行时能够实现如下步骤:
获取用以生成待播放直播视频流的原始直播数据;
将对原始直播数据进行渲染处理后得到的至少一帧图像依次写入N个缓存区域内,其中,N≥2;
按照图像写入的先后顺序将用于构成待播放直播视频流的至少一帧图像推送至CDN节点。
可选地,处理器32还用于执行前述各方法步骤中的全部或部分步骤。
其中,电子设备的结构中还可以包括通信接口33,用于电子设备与其他设备或通信网络通信。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以产品的形式体现出来,该计算机产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种直播视频流推送方法,其特征在于,包括:
获取用以生成待播放直播视频流的原始直播数据;
将对所述原始直播数据进行渲染处理后得到的至少一帧图像依次写入N个缓存区域内,其中,N≥2;
按照图像写入的先后顺序将用于构成所述待播放直播视频流的所述至少一帧图像推送至CDN节点。
2.根据权利要求1所述的方法,其特征在于,在所述获取用以生成待播放直播视频流的原始直播数据之前,还包括:
响应于用户触发的直播开始操作,获取所述用户使用的终端设备的设备参数;
根据所述设备参数与缓存区域个数之间的预设对应关系确定所述缓存区域的个数为N个。
3.根据权利要求1或2所述的方法,其特征在于,在所述按照图像写入的先后顺序将用于构成所述待播放直播视频流的所述至少一帧图像推送至CDN节点之后,还包括:
根据在预设时间段内每秒推送的图像数目或者在所述预设时间段内所述N个缓存区域各自的使用状态调整缓存区域的个数,以得到M个缓存区域,其中,M≥2;
将在所述预设时间段后的得到的至少一帧图像依次写入所述M个缓存区域内。
4.根据权利要求3所述的方法,其特征在于,所述根据在预设时间段内每秒推送的图像数目或者在所述预设时间段内所述N个缓存区域各自的使用状态调整缓存区域的个数,以得到M个缓存区域,包括:
统计在所述预设时间段内所述N个缓存区域各自的使用频率;
删除使用频率小于预设频率的缓存区域,以得到M个缓存区域。
5.根据权利要求3所述的方法,其特征在于,所述根据在预设时间段内每秒推送的图像数目或者在所述预设时间段内所述N个缓存区域各自的使用状态调整缓存区域的个数,以得到M个缓存区域,包括:
统计在所述预设时间段内每秒推送至CDN节点的图像的数目;
若所述每秒钟推送至CDN节点的图像的数目小于预设数目,则增加缓存区域,以得到M个缓存区域。
6.根据权利要求5所述的方法,其特征在于,所述若所述每秒钟推送至CDN节点的图像的数目不满足预设数目,则增加缓存区域,包括:
根据所述每秒钟推送至CDN节点的图像的数目与所述预设数目之间差值的大小,确定缓存区域增加的个数,其中,所述差值与缓存区域增加的个数具有预设对应关系。
7.一种直播视频流推送装置,其特征在于,包括:
直播数据获取模块,用于获取用以生成待播放直播视频流的原始直播数据;
写入模块,用于将对所述原始直播数据进行渲染处理后得到的至少一帧图像依次写入N个缓存区域内,其中,N≥2;
推送模块,用于按照图像写入的先后顺序将用于构成所述待播放直播视频流的所述至少一帧图像推送至CDN节点。
8.根据权利要求7所述的装置,其特征在于,还包括:
参数获取模块,用于响应于用户触发的直播开始操作,获取所述用户使用的终端设备的设备参数;
确定模块,用于根据所述设备参数与缓存区域个数之间的预设对应关系确定所述缓存区域的个数为N个。
9.根据权利要求7或8所述的装置,其特征在于,还包括:
调整模块,用于根据在预设时间段内每秒推送的图像数目或者在所述预设时间段内所述N个缓存区域各自的使用状态调整缓存区域的个数,以得到M个缓存区域,其中,M≥2;
写入模块,还用于将在所述预设时间段后的得到的至少一帧图像依次写入所述M个缓存区域内。
10.一种电子设备,其特征在于,包括:存储器,以及与所述存储器连接的处理器;
所述存储器,用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理器调用执行;
所述处理器,用于执行所述一条或多条计算机指令以实现权利要求1至6中任一项所述的方法。
CN201810246980.1A 2018-03-23 2018-03-23 直播视频流推送方法、装置及电子设备 Expired - Fee Related CN108235120B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810246980.1A CN108235120B (zh) 2018-03-23 2018-03-23 直播视频流推送方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810246980.1A CN108235120B (zh) 2018-03-23 2018-03-23 直播视频流推送方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN108235120A true CN108235120A (zh) 2018-06-29
CN108235120B CN108235120B (zh) 2020-01-07

Family

ID=62659956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810246980.1A Expired - Fee Related CN108235120B (zh) 2018-03-23 2018-03-23 直播视频流推送方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN108235120B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111541905A (zh) * 2020-04-17 2020-08-14 广州虎牙科技有限公司 一种直播方法、装置、计算机设备和存储介质
CN111897603A (zh) * 2020-07-23 2020-11-06 上海瑾盛通信科技有限公司 数据分发方法、装置、电子设备和存储介质
CN112073806A (zh) * 2020-08-27 2020-12-11 厦门市美亚柏科信息股份有限公司 图像缓存方法、装置、计算机可读存储介质和电子设备
CN112637617A (zh) * 2020-12-11 2021-04-09 苏州浪潮智能科技有限公司 一种直播源站视频流传输的方法、系统、设备及介质
CN112887512A (zh) * 2021-01-26 2021-06-01 长威信息科技发展股份有限公司 一种视频流高分可视化系统
CN114501052A (zh) * 2022-01-26 2022-05-13 腾讯科技(深圳)有限公司 直播数据处理方法、云平台、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140125686A1 (en) * 2012-11-05 2014-05-08 Rightware Oy Image rendering method and system
CN105530553A (zh) * 2015-12-24 2016-04-27 武汉鸿瑞达信息技术有限公司 Rtmp与rudp结合的实时流媒体直播系统
CN106210525A (zh) * 2016-07-29 2016-12-07 乐视控股(北京)有限公司 用于实现视频直播的相机及方法
CN106921873A (zh) * 2017-02-28 2017-07-04 北京小米移动软件有限公司 直播控制方法及装置
CN107277616A (zh) * 2017-07-21 2017-10-20 广州爱拍网络科技有限公司 视频特效渲染方法、装置及终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140125686A1 (en) * 2012-11-05 2014-05-08 Rightware Oy Image rendering method and system
CN105530553A (zh) * 2015-12-24 2016-04-27 武汉鸿瑞达信息技术有限公司 Rtmp与rudp结合的实时流媒体直播系统
CN106210525A (zh) * 2016-07-29 2016-12-07 乐视控股(北京)有限公司 用于实现视频直播的相机及方法
CN106921873A (zh) * 2017-02-28 2017-07-04 北京小米移动软件有限公司 直播控制方法及装置
CN107277616A (zh) * 2017-07-21 2017-10-20 广州爱拍网络科技有限公司 视频特效渲染方法、装置及终端

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111541905A (zh) * 2020-04-17 2020-08-14 广州虎牙科技有限公司 一种直播方法、装置、计算机设备和存储介质
CN111541905B (zh) * 2020-04-17 2022-05-20 广州虎牙科技有限公司 一种直播方法、装置、计算机设备和存储介质
CN111897603A (zh) * 2020-07-23 2020-11-06 上海瑾盛通信科技有限公司 数据分发方法、装置、电子设备和存储介质
CN111897603B (zh) * 2020-07-23 2024-02-09 上海瑾盛通信科技有限公司 数据分发方法、装置、电子设备和存储介质
CN112073806A (zh) * 2020-08-27 2020-12-11 厦门市美亚柏科信息股份有限公司 图像缓存方法、装置、计算机可读存储介质和电子设备
CN112637617A (zh) * 2020-12-11 2021-04-09 苏州浪潮智能科技有限公司 一种直播源站视频流传输的方法、系统、设备及介质
CN112887512A (zh) * 2021-01-26 2021-06-01 长威信息科技发展股份有限公司 一种视频流高分可视化系统
CN114501052A (zh) * 2022-01-26 2022-05-13 腾讯科技(深圳)有限公司 直播数据处理方法、云平台、计算机设备和存储介质

Also Published As

Publication number Publication date
CN108235120B (zh) 2020-01-07

Similar Documents

Publication Publication Date Title
CN108235120A (zh) 直播视频流推送方法、装置及电子设备
Hoskins Television and the Collapse of Memory
CN112383568B (zh) 流媒体呈现系统
CN106331877B (zh) 弹幕播放方法及装置
RU2506635C2 (ru) Сервер для предоставления контента, устройство воспроизведения контента, способ предоставления контента, способ воспроизведения контента, программа и система для предоставления контента
CN109257631B (zh) 视频轮播播放方法、装置、计算机设备及存储介质
WO2018086468A1 (zh) 播放对象评论信息处理方法及装置
CA2937093C (en) Generating visualizations for display along with video content
JP2017504230A (ja) ビデオコンテンツを配布するビデオブロードキャストシステム及び方法
EP2834972B2 (fr) Navigation video multi-sources
CN106162357B (zh) 获取视频内容的方法及装置
CN104427284B (zh) 处理运动视频的方法和装置
US10021433B1 (en) Video-production system with social-media features
CN108462896A (zh) 直播数据流处理方法、装置及电子设备
CN109089131A (zh) 一种基于ios系统的录屏直播方法、装置、设备及存储介质
CN108600850A (zh) 视频分享方法、客户端、服务器及存储介质
WO2007005735A2 (en) Loop beacons
CN105915985A (zh) 一种直播中进行回看的方法及装置
CN113364998A (zh) 直播视频播放方法、装置、电子设备及可读存储介质
CN101714956B (zh) 一种虚拟视频系统、视频文件远程共享系统和方法
Pang et al. Classx mobile: region-of-interest video streaming to mobile devices with multi-touch interaction
CN110740374B (zh) 一种多媒体数据的处理方法、装置、计算机设备和存储介质
CN106060609B (zh) 获取图片的方法及装置
CN101594477B (zh) 一种超长字幕渲染的处理系统
CN101583010A (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

Effective date of registration: 20210309

Address after: 101300 309, 3rd floor, 60 Fuqian 1st Street, Tianzhu District, Shunyi District, Beijing

Patentee after: Beijing longzhixin Technology Co.,Ltd.

Address before: 100041 room 120, 4th floor, building 17, yard 30, Shixing street, Shijingshan District, Beijing

Patentee before: BEIJING PANDA MUTUAL ENTERTAINMENT TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200107

CF01 Termination of patent right due to non-payment of annual fee