CN109587510A - 一种直播方法、装置、设备和存储介质 - Google Patents
一种直播方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN109587510A CN109587510A CN201811504754.5A CN201811504754A CN109587510A CN 109587510 A CN109587510 A CN 109587510A CN 201811504754 A CN201811504754 A CN 201811504754A CN 109587510 A CN109587510 A CN 109587510A
- Authority
- CN
- China
- Prior art keywords
- video data
- bit rate
- period
- encoder bit
- sent
- 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
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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
Abstract
本发明公开了一种直播方法、装置、设备和存储介质。该方法包括:采集原始直播视频数据;确定上一时间段内所述主播客户端与直播服务器之间的网络质量信息,其中,所述网络质量信息通过缓存队列的状态判断;根据所述网络质量信息确定本时间段内的第一编码码率;将所述原始直播视频数据按照所述第一编码码率进行编码,获得目标视频数据;将所述目标直播视频数据发送至所述直播服务器。通过该方法会减少丢帧现象的产生,使得画面更加流畅,从而进一步减少由丢帧引起的画面跳跃问题。
Description
技术领域
本发明实施例涉及网络传输领域,尤其涉及一种直播方法、装置、设备和存储介质。
背景技术
随着互联网的快速发展,以及人们对于视频需求量的增长,基于视频应用产生的网络流量已经占到互联网总流量的大部分。
直播通常是通过主播端上传视频直播数据到直播服务器,直播服务器再按照观众需求,提供对应的直播数据到观众端。
当主播端网络质量较差时,通常会主动丢弃部分视频帧,从而降低视频直播数据的数据量,保证传输的时效性。
但是,当视频帧丢弃超过一定限度之后,会使得直播视频数据的画面出现卡顿的现象。
发明内容
本发明提供一种直播方法、装置、设备和存储介质,以解决网络质量较差时,视频帧丢弃导致的画面不流畅,甚至画面跳跃问题。
第一方面,本发明实施例提供了一种直播方法,应用在主播客户端中,所述方法包括:
采集原始直播视频数据;
确定上一时间段内所述主播客户端与直播服务器之间的网络质量信息,其中,所述网络质量信息通过缓存队列的状态判断;
根据所述网络质量信息确定本时间段内的第一编码码率;
将所述原始直播视频数据按照所述第一编码码率进行编码,获得目标视频数据;
将所述目标直播视频数据发送至所述直播服务器。
第二方面,本发明实施例还提供了一种直播装置,应用在主播客户端中,所述方法包括:
视频数据采集模块,用于采集原始直播视频数据;
质量信息确定模块,用于确定上一时间段内所述主播客户端与直播服务器之间的网络质量信息,其中,所述网络质量信息通过缓存队列的状态判断;
第一码率确定模块,用于根据所述网络质量信息确定本时间段内的第一编码码率;
视频数据获取模块,用于将所述原始直播视频数据按照所述第一编码码率进行编码,获得目标视频数据;
直播数据传输模块,用于将所述目标直播视频数据发送至所述直播服务器。
第三方面,本发明实施例还提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如任一实施例所述的一种直播方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如任一实施例所述的一种直播方法。
本发明通过采集原始直播视频数据,确定上一时间段内主播客户端与直播服务器之间的网络质量信息,根据网络质量信息确定本时间段内的第一编码码率,将原始直播视频数据按照编码码率进行编码,获得目标视频数据,将目标直播视频数据发送至直播服务器的方法实现了根据主播端网络情况主动调整码率,控制主播客户端向直播服务器传输视频直播数据的数据量,在保证传输时效性的基础上,可以减缓传输过程中的丢弃视频帧的数量,从而保证视频直播数据的流畅度和画面质量,减少卡顿的现象。
附图说明
图1为本发明实施例一提供的一种直播方法的流程图;
图2为本发明实施例二提供的一种直播方法的流程图;
图3为本发明实施例三提供的一种直播装置的结构图;
图4为本发明实施例四提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种直播方法的流程图。本实施例可适用于根据主播端的带宽信息,控制主播端向直播服务器发送视频数据时的编码码率。该方法由一种直播装置来执行,该装置可以由软件和/或硬件的方式实现,通常配置于主播端的电子设备中。
参考图1,该方法包括以下步骤:
S101、采集原始直播视频数据。
在一种具体实现中,主播会通过摄像头等摄像设备采集图像信息,此时,通过摄像设备采集到的信息就是原始直播视频数据。
在一种具体实现中,主播还可能通过录屏的方式采集图像信息,如通过手机、平板或电脑等电子设备,采集自己进行游戏的游戏画面。此时,通过录屏方式被采集到的图像信息也是原始直播视频数据。
当原始直播视频数据被采集到之后,会通过编码器将原始直播视频数据进行编码,随后通过发送器将编码完成的目标视频数据通过发送器进行发送。
S102、确定上一时间段内所述主播客户端与直播服务器之间的网络质量信息。
在本实施方式中,通过反馈链路来统计带宽数据,将未发送的缓冲数据的信息反馈给编码器,从而确定网络质量信息。可以理解为,所述网络质量信息通过缓存队列的状态判断。
具体的,在发送器中预设有缓存队列,编码器编码出来的目标视频数据会放到该缓存队列中,然后发送线程会去该队列里面获取目标视频数据,将获取到的目标视频数据发送到直播服务器。假如网络条件好(网络质量信息为第二传输质量),说明目标视频数据发送得足够快,此时,该缓存队列要么只有一个目标视频数据数据包,要么就没有;如果网络条件差(网络质量信息为第一传输质量),说明目标视频数据发送比较慢,那么该缓存队列中的数据包就会累积,累积得足够多了之后会导致丢帧。
在一个具体实施方式中,从预设的缓存队列中查询上一时间段内剩余未发送的目标视频数据;若存在剩余未发送的目标视频数据,则确定所述主播客户端与直播服务器之间的网络质量信息为第一传输质量;若不存在剩余未发送的目标视频数据,则确定所述主播客户端与直播服务器之间的网络质量信息为第二传输质量。
其中,为了方便计算,本领域技术人员一般将时间段确定为1秒。从预设的缓存队列中查询上一时间段内剩余未发送的目标视频数据,即上一秒中缓存队列中已发送的目标视频数据与接收的目标视频数据的差值是否为零。若为零,则说明不存在剩余未发送的目标视频数据;若不为零,则说明存在剩余未发送的目标视频数据。第一传输质量是指网络条件不好的情况,第二传输质量是指网络条件好的情况。这里的网络情况“好”与“不好”,可以由本领域技术人员任一定义。优选的是,当缓存队列中没有目的视频数据时,认为网络条件好,认为主播客户端与直播服务器之间的网络质量信息为第二传输质量;当缓存队列中有目的视频数据时,认为网络条件不好,认为主播客户端与直播服务器之间的网络质量信息为第一传输质量。
S103、根据所述网络质量信息确定本时间段内的第一编码码率。
在一个实施方式中,以网络条件好(网络质量信息为第二传输质量)为例,网络条件好,说明目标视频数据发送得足够快,此时可以提升码率,增加目标视频数据的数据量,从而提升图像质量。因此将提升后的码率作为本时间段内的第一编码码率。
在一个实施方式中,如果网络条件差(网络质量信息为第一传输质量)为例,网络条件差,说明目标视频数据发送比较慢,那么该缓存队列中的数据包就会累积,累积得足够多了之后会导致丢帧。因此需要降低码率,从而减少编码之后的数据量,以减少丢帧。因此将降低后的码率作为本时间段内的第一编码码率。
在上述实施例的基础上,码率也不能无限制的增大或减小,码率增大到一定程度时,图像质量提升不明显,而码率降低到一定程度时,图像的质量下降很明显,所以每一个分辨率都会设一个码率的上限记为bitrateMax和下限记为bitrateMin。当第一编码码率在bitrateMax和bitrateMin之间时,不对第一编码码率进行调整;当第一编码码率大于bitrateMax时,则取bitrateMax作为第一编码码率;当第一编码码率小于bitrateMin时,则取bitrateMin作为第一编码码率。
S104、将所述原始直播视频数据按照所述第一编码码率进行编码,获得目标视频数据。
在一种具体实现中,编码器根据所述网络质量信息确定本时间段内的第一编码码率后,将原始直播视频数据按照第一编码码率进行编码,获得目标视频数据。
S105、将所述目标直播视频数据发送至所述直播服务器。
在一种具体实现中,发送线程会从缓存队列中获取目标视频数据,将获取到的目标视频数据发送到直播服务器。
在某些情况下,直播服务器可能根据与观众客户端之间的网络情况(如带宽、丢包率等)控制编码码率,根据该编码码率对直播视频数据进行编码,再发送至观众客户端。
但是,在此情况中,主播客户端在网络情况较差的时候,依然丢弃部分视频帧,直播服务器所接收到的直播视频数据完整性较低,直播服务器控制编码码率对帧数不构成影响,观众客户端所接收到的直播视频数据的帧数与直播服务器中的直播数据的帧数一致,即完整性较差,依然存在卡顿的现象。
相比于此情况,本实施例在主播客户端根据网络情况控制编码码率,可保证直播数据的完整性,因此,直播服务器所接收到的直播视频数据完整性较高,观众客户端所接收到的直播视频数据的帧数与直播服务器中的直播数据的帧数一致,即完整性较高,可减少卡顿的现象。
本发明实施例通过采集原始直播视频数据,确定上一时间段内主播客户端与直播服务器之间的网络质量信息,根据网络质量信息确定本时间段内的第一编码码率,将原始直播视频数据按照编码码率进行编码,获得目标视频数据,将目标直播视频数据发送至所述直播服务器的方法实现了根据主播端网络情况主动调整码率,控制主播客户端向直播服务器传输视频直播数据的数据量,避免传输过程中的过度丢帧现象,保证视频直播数据的流畅度和画面质量的有益效果。
实施例二
图2为本发明实施例二提供的一种直播方法的流程图。本实施例是在实施例一的基础上进行的细化,本实施例详细描述了根据所述网络质量信息确定本时间段内的第一编码码率的具体方法。具体的,本实施例包括:
S201、采集原始直播视频数据。
S202、主播客户端按照上一时间段对应的第二编码码率生成目标视频数据。
在一种具体实现中,主播客户端按照上一时间段(以1秒为例)对应的第二编码码率生成目标视频数据。这时的第二编码码率是基础编码码率,通过对第二编码码率进行降低或提高则可以获得本时间段(以1秒为例)对应的第一编码码率。
S203、所述上一时间段生成的目标视频数据通过缓存队列进行缓存。
在一种具体实现中,将上一时间段内按照第二编码码率生成的目标视频数据通过缓存队列进行缓存。
其中,缓存队列在接收目标视频数据的同时也在向直播服务器输出目标视频数据,因此,缓存队列里面的目标视频数据量是变化的。
S204、所述缓存队列中的目标视频数据按照上一时间段对应的数据传输率被发送至直播服务器。
在一种具体实现中,缓存队列中的目标视频数据按照上一时间段对应的数据传输率被发送至直播服务器。
在一实施方式中,数据传输率是指上一时间段(1秒)内,从主播端发送到直播服务器的目标视频数据的数据量,将该数据量记为sendBitrate。构建一个队列,节点的结构如下
缓冲队列出队之后,记录当前发送的包数据量(单位为比特)和当前时间(单位为微秒),插入到队列中,并从队列中时间超出当前时间1秒的数据删除。这样队列中一直保持着过去1秒的数据,再再对队列中的每一个节点数据量求和,得到的值就是sendBitrate。同样用类似的队列对缓冲队列求和,得到缓冲队列数据,记为queueBitrate。S205、若所述网络质量参数为第一传输质量,则降低上一时间段内的第二编码码率,获得本时间段内的第一编码码率。
在一具体实施方式中,确定上一时间段内发送目标视频数据的数据传输率;在预设的缓存队列中统计上一时间段内剩余未发送的目标视频数据的数据量;缓存有所述历史视频数据;确定将所述剩余未发送的目标视频数据发送至所述直播服务器的期望时间;将所述数据量与所述期望时间的商设置为期望传输率;将所述数据传输率与所述期望传输率之间的差值设置为本时间段内的第一编码码率。
具体的,如果过去1秒(上一时间段)缓冲队列一直不为空,那么sendBitrate就是当前可用带宽。假如带宽在短期内维持不变,需要将累积的数据在t秒(期望时间)内发完。则第一编码码率encoderBitrate计算公式为:encoderBitrate=sendBitrate-queueBitrate/t。
S206、若所述网络质量参数为第二传输质量,则提高上一时间段内的第二编码码率,获得本时间段内的第一编码码率。
在一具体实施方式中,记录预设的缓存队列中存储有目标视频数据的最后时间点;确定特征时间,所述最后时间为预设的缓存队列中存储的最后一个目标视频数据的时间;判断当前时间与所述特征时间之间的时间间是否隔大于预设的时间阈值;若是,则执行所述获取预设的编码增幅码率。
具体的,那么当queueBitrate一直为空,说明网络条件比较好,则尝试上升码率。当缓存队列不为空时,每发送一个数据包,记录当前时间,即上次不为空的时间,记为lastTime;当缓存队列为空时,则不更新该值。当前时间为time,如果队列为空超过时间t(预设的时间阈值),则需要升码率,判断条件为time-lastTime>t,每次升码率值记为diff(编码增幅码率),则第一编码码率encoderBitrate计算公式为:encoderBitrate=encoderBitrate+diff。
S207、将所述原始直播视频数据按照所述第一编码码率进行编码,获得目标视频数据。
S208、将所述目标直播视频数据写入预设的缓存队列。
在一种具体实现中,目标直播视频数据按照第一编码码率进行编码后,写入预设的缓存队列。S209、从所述缓存队列中提取所述目标直播视频数据,并发送至所述直播服务器。
在一种具体实现中,发送线程会从缓存队列中获取目标视频数据,将获取到的目标视频数据发送到直播服务器。
本发明实施例通过采集原始直播视频数据,确定上一时间段内主播客户端与直播服务器之间的网络质量信息,根据网络质量信息确定本时间段内的第一编码码率,将原始直播视频数据按照编码码率进行编码,获得目标视频数据,将目标直播视频数据发送至所述直播服务器的方法实现了根据主播端网络情况主动调整码率,控制主播客户端向直播服务器传输视频直播数据的数据量,避免传输过程中的过度丢帧现象,保证视频直播数据的流畅度和画面质量的有益效果。
实施例三
图3为本发明实施例三提供的一种直播装置的结构图。该装置包括:视频数据采集模块31、质量信息确定模块32、第一码率确定模块33、视频数据获取模块34和直播数据传输模块35。
视频数据采集模块31,用于采集原始直播视频数据;
质量信息确定模块32,用于确定上一时间段内所述主播客户端与直播服务器之间的网络质量信息,其中,所述网络质量信息通过缓存队列的状态判断;
第一码率确定模块33,用于根据所述网络质量信息确定本时间段内的第一编码码率;
视频数据获取模块34,用于将所述原始直播视频数据按照所述第一编码码率进行编码,获得目标视频数据;
直播数据传输模块35,用于将所述目标直播视频数据发送至所述直播服务器。
本发明实施例通过采集原始直播视频数据,确定上一时间段内主播客户端与直播服务器之间的网络质量信息,根据网络质量信息确定本时间段内的第一编码码率,将原始直播视频数据按照编码码率进行编码,获得目标视频数据,将目标直播视频数据发送至所述直播服务器的方法实现了根据主播端网络情况主动调整码率,控制主播客户端向直播服务器传输视频直播数据的数据量,避免传输过程中的过度丢帧现象,保证视频直播数据的流畅度和画面质量的有益效果。
在上述实施例的基础上,质量信息确定模块32还用于:
主播客户端按照上一时间段对应的第二编码码率生成目标视频数据;
所述上一时间段生成的目标视频数据通过缓存队列进行缓存;
所述缓存队列中的目标视频数据按照上一时间段对应的数据传输率被发送至直播服务器。
在上述实施例的基础上,质量信息确定模块32还用于:
从预设的缓存队列中查询上一时间段内剩余未发送的目标视频数据;
若存在剩余未发送的目标视频数据,则确定所述主播客户端与直播服务器之间的网络质量信息为第一传输质量;
若不存在剩余未发送的目标视频数据,则确定所述主播客户端与直播服务器之间的网络质量信息为第二传输质量。
在上述实施例的基础上,第一码率确定模块33还用于:
若所述网络质量参数为第一传输质量,则降低上一时间段内的第二编码码率,获得本时间段内的第一编码码率;
若所述网络质量参数为第二传输质量,则提高上一时间段内的第二编码码率,获得本时间段内的第一编码码率。
在上述实施例的基础上,若所述网络质量参数为第一传输质量,则降低上一时间段内的第二编码码率,获得本时间段内的第一编码码率,包括:
确定上一时间段内发送目标视频数据的数据传输率;
在预设的缓存队列中统计上一时间段内剩余未发送的目标视频数据的数据量;缓存有所述历史视频数据;
确定将所述剩余未发送的目标视频数据发送至所述直播服务器的期望时间;
将所述数据量与所述期望时间的商设置为期望传输率;
将所述数据传输率与所述期望传输率之间的差值设置为本时间段内的第一编码码率。
在上述实施例的基础上,若所述网络质量参数为第二传输质量,则提高上一时间段内的第二编码码率,获得本时间段内的第一编码码率,包括:
记录预设的缓存队列中存储有目标视频数据的最后时间点;
确定特征时间,所述最后时间为预设的缓存队列中存储的最后一个目标视频数据的时间;
判断当前时间与所述特征时间之间的时间间是否隔大于预设的时间阈值;若是,则执行所述获取预设的编码增幅码率。
在上述实施例的基础上,直播数据传输模块35还用于:
将所述目标直播视频数据写入预设的缓存队列;
从所述缓存队列中提取所述目标直播视频数据,并发送至所述直播服务器。
本实施例提供的一种直播装置可用于执行上述任一实施例提供的直播方法,具有相应的功能和有益效果。
实施例四
图4为本发明实施例四提供的一种电子设备的结构示意图。如图4所示,该电子设备包括处理器40、存储器41、通信模块42、输入装置43和输出装置44;电子设备中处理器40的数量可以是一个或多个,图4中以一个处理器40为例;电子设备中的处理器40、存储器41、通信模块42、输入装置43和输出装置44可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本实施例中的一种直播方法对应的模块(例如,一种直播装置中的视频数据采集模块31、质量信息确定模块32、第一码率确定模块33、视频数据获取模块34和直播数据传输模块35。。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的一种直播方法。
存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信模块42,用于与显示屏建立连接,并实现与显示屏的数据交互。输入装置43可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。
本实施例提供的一种电子设备,可执行本发明任一实施例提供的直播方法,具体相应的功能和有益效果。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种直播方法,该方法包括:
采集原始直播视频数据;
确定上一时间段内所述主播客户端与直播服务器之间的网络质量信息,其中,所述网络质量信息通过缓存队列的状态判断;
根据所述网络质量信息确定本时间段内的第一编码码率;
将所述原始直播视频数据按照所述第一编码码率进行编码,获得目标视频数据;
将所述目标直播视频数据发送至所述直播服务器。。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任一实施例所提供的直播方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机电子设备(可以是个人计算机,服务器,或者网络电子设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述直播装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种直播方法,其特征在于,应用在主播客户端中,所述方法包括:
采集原始直播视频数据;
确定上一时间段内所述主播客户端与直播服务器之间的网络质量信息,其中,所述网络质量信息通过缓存队列的状态判断;
根据所述网络质量信息确定本时间段内的第一编码码率;
将所述原始直播视频数据按照所述第一编码码率进行编码,获得目标视频数据;
将所述目标直播视频数据发送至所述直播服务器。
2.根据权利要求1所述的方法,其特征在于,所述确定上一时间段内所述主播客户端与直播服务器之间的网络质量信息,包括:
主播客户端按照上一时间段对应的第二编码码率生成目标视频数据;
所述上一时间段生成的目标视频数据通过缓存队列进行缓存;
所述缓存队列中的目标视频数据按照上一时间段对应的数据传输率被发送至直播服务器。
3.根据权利要求1或2所述的方法,其特征在于,所述确定上一时间段内所述主播客户端与直播服务器之间的网络质量信息,包括:
从预设的缓存队列中查询上一时间段内剩余未发送的目标视频数据;
若存在剩余未发送的目标视频数据,则确定所述主播客户端与直播服务器之间的网络质量信息为第一传输质量;
若不存在剩余未发送的目标视频数据,则确定所述主播客户端与直播服务器之间的网络质量信息为第二传输质量。
4.根据权利要求1或2所述的方法,其特征在于,所述根据所述网络质量信息确定本时间段内的第一编码码率,包括:
若所述网络质量参数为第一传输质量,则降低上一时间段内的第二编码码率,获得本时间段内的第一编码码率;
若所述网络质量参数为第二传输质量,则提高上一时间段内的第二编码码率,获得本时间段内的第一编码码率。
5.根据权利要求4所述的方法,其特征在于,所述若所述网络质量参数为第一传输质量,则降低上一时间段内的第二编码码率,获得本时间段内的第一编码码率,包括:
确定上一时间段内发送目标视频数据的数据传输率;
在预设的缓存队列中统计上一时间段内剩余未发送的目标视频数据的数据量;缓存有所述历史视频数据;
确定将所述剩余未发送的目标视频数据发送至所述直播服务器的期望时间;
将所述数据量与所述期望时间的商设置为期望传输率;
将所述数据传输率与所述期望传输率之间的差值设置为本时间段内的第一编码码率。
6.根据权利要求4所述的方法,其特征在于,所述若所述网络质量参数为第二传输质量,则提高上一时间段内的第二编码码率,获得本时间段内的第一编码码率,包括:
记录预设的缓存队列中存储有目标视频数据的最后时间点;
确定特征时间,所述最后时间为预设的缓存队列中存储的最后一个目标视频数据的时间;
判断当前时间与所述特征时间之间的时间间是否隔大于预设的时间阈值;若是,则执行所述获取预设的编码增幅码率。
7.根据权利要求1、2、5或6任一所述的方法,其特征在于,所述将所述目标直播视频数据发送至所述直播服务器,包括:
将所述目标直播视频数据写入预设的缓存队列;
从所述缓存队列中提取所述目标直播视频数据,并发送至所述直播服务器。
8.一种直播装置,其特征在于,应用在主播客户端中,所述方法包括:
视频数据采集模块,用于采集原始直播视频数据;
质量信息确定模块,用于确定上一时间段内所述主播客户端与直播服务器之间的网络质量信息;
第一码率确定模块,用于根据所述网络质量信息确定本时间段内的第一编码码率;
视频数据获取模块,用于将所述原始直播视频数据按照所述第一编码码率进行编码,获得目标视频数据;
直播数据传输模块,用于将所述目标直播视频数据发送至所述直播服务器。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一所述的一种直播方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一所述的一种直播方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811504754.5A CN109587510B (zh) | 2018-12-10 | 2018-12-10 | 一种直播方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811504754.5A CN109587510B (zh) | 2018-12-10 | 2018-12-10 | 一种直播方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109587510A true CN109587510A (zh) | 2019-04-05 |
CN109587510B CN109587510B (zh) | 2021-11-02 |
Family
ID=65928010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811504754.5A Active CN109587510B (zh) | 2018-12-10 | 2018-12-10 | 一种直播方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109587510B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110062003A (zh) * | 2019-04-30 | 2019-07-26 | 北京金山云网络技术有限公司 | 视频数据发送方法、装置、电子设备及存储介质 |
CN110798700A (zh) * | 2019-11-07 | 2020-02-14 | 网易(杭州)网络有限公司 | 视频处理方法、视频处理装置、存储介质与电子设备 |
CN111107104A (zh) * | 2019-12-31 | 2020-05-05 | 广州酷狗计算机科技有限公司 | 视频发送方法、视频接收方法、装置、设备及存储介质 |
CN111510737A (zh) * | 2020-04-26 | 2020-08-07 | 广州虎牙科技有限公司 | 一种视频数据的传输方法、装置、设备和存储介质 |
WO2021000843A1 (zh) * | 2019-07-04 | 2021-01-07 | 广州虎牙科技有限公司 | 一种直播数据处理方法、系统、电子设备及存储介质 |
CN113038261A (zh) * | 2019-12-25 | 2021-06-25 | 浙江宇视科技有限公司 | 一种视频生成方法、装置、设备、系统及存储介质 |
CN113055698A (zh) * | 2021-03-09 | 2021-06-29 | 百果园技术(新加坡)有限公司 | 视频参数调节方法、装置、设备及介质 |
CN113259706A (zh) * | 2021-06-28 | 2021-08-13 | 北京新唐思创教育科技有限公司 | 直播处理方法、装置、电子设备以及存储介质 |
CN113411340A (zh) * | 2021-06-22 | 2021-09-17 | 中国农业银行股份有限公司 | 视频处理方法、装置、电子设备、存储介质和程序产品 |
CN113434561A (zh) * | 2021-06-24 | 2021-09-24 | 北京金山云网络技术有限公司 | 直播数据校验方法、系统、电子设备及存储介质 |
CN113824992A (zh) * | 2020-06-19 | 2021-12-21 | 京东方科技集团股份有限公司 | 终端及上传方法、服务器及监测方法、介质、设备及系统 |
CN114553846A (zh) * | 2022-01-11 | 2022-05-27 | 南方电网深圳数字电网研究院有限公司 | 一种实时采集流媒体的直播方法及装置 |
CN114760491A (zh) * | 2022-04-18 | 2022-07-15 | 北京金山云网络技术有限公司 | 直播数据的传输系统、方法和装置、电子设备、存储介质 |
EP3993430A4 (en) * | 2020-02-18 | 2022-11-09 | Beijing Dajia Internet Information Technology Co., Ltd. | METHOD OF ENCODING LIVE BROADCAST DATA AND ELECTRONIC DEVICE |
WO2023036258A1 (zh) * | 2021-09-10 | 2023-03-16 | 深圳市道通智能航空技术股份有限公司 | 基于无人机的视频直播方法、系统、设备及存储介质 |
CN114553846B (zh) * | 2022-01-11 | 2024-05-14 | 南方电网数字平台科技(广东)有限公司 | 一种实时采集流媒体的直播方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060104370A1 (en) * | 2004-10-29 | 2006-05-18 | Sharp Kabushiki Kaisha | Communications device, communications method, communications program, storage medium storing the communications program, and communications system |
CN103533386A (zh) * | 2013-10-21 | 2014-01-22 | 腾讯科技(深圳)有限公司 | 一种直播控制方法,及主播设备 |
CN105744342A (zh) * | 2016-01-28 | 2016-07-06 | 腾讯科技(深圳)有限公司 | 移动终端的数据传输方法和装置 |
CN107920041A (zh) * | 2016-10-08 | 2018-04-17 | 北京小唱科技有限公司 | 一种直播视频数据编码比特率的调整方法和装置 |
CN108769826A (zh) * | 2018-06-22 | 2018-11-06 | 广州酷狗计算机科技有限公司 | 直播媒体流获取方法、装置、终端及存储介质 |
-
2018
- 2018-12-10 CN CN201811504754.5A patent/CN109587510B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060104370A1 (en) * | 2004-10-29 | 2006-05-18 | Sharp Kabushiki Kaisha | Communications device, communications method, communications program, storage medium storing the communications program, and communications system |
CN103533386A (zh) * | 2013-10-21 | 2014-01-22 | 腾讯科技(深圳)有限公司 | 一种直播控制方法,及主播设备 |
CN105744342A (zh) * | 2016-01-28 | 2016-07-06 | 腾讯科技(深圳)有限公司 | 移动终端的数据传输方法和装置 |
CN107920041A (zh) * | 2016-10-08 | 2018-04-17 | 北京小唱科技有限公司 | 一种直播视频数据编码比特率的调整方法和装置 |
CN108769826A (zh) * | 2018-06-22 | 2018-11-06 | 广州酷狗计算机科技有限公司 | 直播媒体流获取方法、装置、终端及存储介质 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110062003B (zh) * | 2019-04-30 | 2022-01-25 | 北京金山云网络技术有限公司 | 视频数据发送方法、装置、电子设备及存储介质 |
CN110062003A (zh) * | 2019-04-30 | 2019-07-26 | 北京金山云网络技术有限公司 | 视频数据发送方法、装置、电子设备及存储介质 |
WO2021000843A1 (zh) * | 2019-07-04 | 2021-01-07 | 广州虎牙科技有限公司 | 一种直播数据处理方法、系统、电子设备及存储介质 |
CN110798700A (zh) * | 2019-11-07 | 2020-02-14 | 网易(杭州)网络有限公司 | 视频处理方法、视频处理装置、存储介质与电子设备 |
CN110798700B (zh) * | 2019-11-07 | 2022-03-04 | 网易(杭州)网络有限公司 | 视频处理方法、视频处理装置、存储介质与电子设备 |
CN113038261A (zh) * | 2019-12-25 | 2021-06-25 | 浙江宇视科技有限公司 | 一种视频生成方法、装置、设备、系统及存储介质 |
CN111107104A (zh) * | 2019-12-31 | 2020-05-05 | 广州酷狗计算机科技有限公司 | 视频发送方法、视频接收方法、装置、设备及存储介质 |
CN111107104B (zh) * | 2019-12-31 | 2022-02-18 | 广州酷狗计算机科技有限公司 | 视频发送方法、视频接收方法、装置、设备及存储介质 |
US11908481B2 (en) | 2020-02-18 | 2024-02-20 | Beijing Dajia Internet Information Technology Co., Ltd. | Method for encoding live-streaming data and encoding device |
EP3993430A4 (en) * | 2020-02-18 | 2022-11-09 | Beijing Dajia Internet Information Technology Co., Ltd. | METHOD OF ENCODING LIVE BROADCAST DATA AND ELECTRONIC DEVICE |
CN111510737A (zh) * | 2020-04-26 | 2020-08-07 | 广州虎牙科技有限公司 | 一种视频数据的传输方法、装置、设备和存储介质 |
CN113824992A (zh) * | 2020-06-19 | 2021-12-21 | 京东方科技集团股份有限公司 | 终端及上传方法、服务器及监测方法、介质、设备及系统 |
CN113055698A (zh) * | 2021-03-09 | 2021-06-29 | 百果园技术(新加坡)有限公司 | 视频参数调节方法、装置、设备及介质 |
CN113411340A (zh) * | 2021-06-22 | 2021-09-17 | 中国农业银行股份有限公司 | 视频处理方法、装置、电子设备、存储介质和程序产品 |
CN113434561A (zh) * | 2021-06-24 | 2021-09-24 | 北京金山云网络技术有限公司 | 直播数据校验方法、系统、电子设备及存储介质 |
CN113259706B (zh) * | 2021-06-28 | 2022-06-17 | 北京新唐思创教育科技有限公司 | 直播处理方法、装置、电子设备以及存储介质 |
CN113259706A (zh) * | 2021-06-28 | 2021-08-13 | 北京新唐思创教育科技有限公司 | 直播处理方法、装置、电子设备以及存储介质 |
WO2023036258A1 (zh) * | 2021-09-10 | 2023-03-16 | 深圳市道通智能航空技术股份有限公司 | 基于无人机的视频直播方法、系统、设备及存储介质 |
CN114553846A (zh) * | 2022-01-11 | 2022-05-27 | 南方电网深圳数字电网研究院有限公司 | 一种实时采集流媒体的直播方法及装置 |
CN114553846B (zh) * | 2022-01-11 | 2024-05-14 | 南方电网数字平台科技(广东)有限公司 | 一种实时采集流媒体的直播方法及装置 |
CN114760491A (zh) * | 2022-04-18 | 2022-07-15 | 北京金山云网络技术有限公司 | 直播数据的传输系统、方法和装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109587510B (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109587510A (zh) | 一种直播方法、装置、设备和存储介质 | |
US10674213B2 (en) | Reception apparatus, reception method, transmission apparatus, and transmission method | |
US8903916B2 (en) | Method, system, and computer-readable medium to render repeatable data objects streamed over a network | |
CN107135417B (zh) | 一种hls协议的投屏方法及系统 | |
US9615119B2 (en) | Method and apparatus for providing timeshift service in digital broadcasting system and system thereof | |
US10986397B2 (en) | Reception apparatus, transmission apparatus, and data processing method | |
US9479807B1 (en) | Gateway-based video client-proxy sub-system for managed delivery of A/V content using fragmented method in a stateful system | |
EP2243272B1 (en) | Providing remote access to segments of a transmitted program | |
CN110636339B (zh) | 基于码率的调度方法、装置及电子设备 | |
US10341035B2 (en) | Method for continuously playing, on a client device, a content broadcast within a peer-to-peer network | |
CN105681827A (zh) | 直播频道的海报生成方法、系统及相关装置 | |
CN114040232B (zh) | 投屏系统、方法、电子设备和存储介质 | |
CN112019905A (zh) | 直播回放方法、计算机设备及可读存储介质 | |
CN109168020A (zh) | 基于直播的视频处理方法、装置、计算设备和存储介质 | |
CN103327252A (zh) | 拍摄装置及其拍摄方法 | |
CN108881931A (zh) | 一种数据缓冲方法及网络设备 | |
CN104219571A (zh) | 一种自动提供看点的方法和装置 | |
CN114697695A (zh) | 直播数据推送方法、装置、设备及存储介质 | |
CN105872857B (zh) | 一种处理视频的方法、装置及电子设备 | |
KR20180113514A (ko) | 수신 장치, 송신 장치 및 데이터 처리 방법 | |
US20180324480A1 (en) | Client and Method for Playing a Sequence of Video Streams, and Corresponding Server and Computer Program Product | |
US11622135B2 (en) | Bandwidth allocation for low latency content and buffered content | |
US20230300430A1 (en) | Method and system to highlight video segments in a video stream | |
US11334979B2 (en) | System and method to detect macroblocking in images | |
CN114025184A (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 |