CN113423008A - 视频数据传输方法、装置、电子设备和介质 - Google Patents
视频数据传输方法、装置、电子设备和介质 Download PDFInfo
- Publication number
- CN113423008A CN113423008A CN202110961764.7A CN202110961764A CN113423008A CN 113423008 A CN113423008 A CN 113423008A CN 202110961764 A CN202110961764 A CN 202110961764A CN 113423008 A CN113423008 A CN 113423008A
- Authority
- CN
- China
- Prior art keywords
- delay
- mode
- duration
- indication information
- threshold
- 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/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/44012—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 rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B5/00—Electrically-operated educational appliances
- G09B5/08—Electrically-operated educational appliances providing for individual presentation of information to a plurality of student stations
- G09B5/14—Electrically-operated educational appliances providing for individual presentation of information to a plurality of student stations with provision for individual teacher-student communication
-
- 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及互联网技术领域,尤其涉及一种视频数据传输方法,应用于观众侧设备,该方法包括:获取渲染延迟,所述渲染延迟为当前时刻距离完成上一帧图像的渲染的时刻的时间间隔;当所述渲染延迟大于阈值延迟时,向服务器发送第一指示信息以及确定处于冻结状态;接收所述服务器发送的下行卡顿检测策略;在视频加载模式为第一模式的情况下,获取第二预设时长内的冻结总时长,所述冻结总时长为:在所述第二预设时长内,处于冻结状态的总时长;在所述冻结总时长大于第三阈值时长时,确定所述观众侧设备的下行传输卡顿。采用此方法能够在要求高稳定、低延迟的直播教育场景下,更精确的实现网络卡顿检测,并给观众侧的用户提供稳定的音视频体验。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种视频数据传输方法、装置、电子设备和介质。
背景技术
直播业务在互联网行业快速发展,尤其是在教育领域,音视频稳定性、实时性成为核心关注场景。RTP(Real-time Transport Protocol,实时传输协议)以其低延迟,抗丢包的特点在直播场景中发挥的技术作用愈加重要。
现有技术中,有如下两种方式进行网络卡顿检测,第一种方式为采用视频流缓存区作为卡顿判断依据,如果缓冲区内容为空,且视频流缓存区在大于一定时长时未接收到新的数据,则认为卡顿。第二种方式为使用数据包响应延迟大小及超时机制判断卡顿,如果数据响应延迟过大,或已经超时则判定为卡顿。
在RTC(Real-Time Communication,实时通信)协议下,没有缓冲区,或缓冲区极小,且基于UDP(User Datagram Protocol,用户数据报协议),容忍丢包,导致方案一不可信,准确率很低。又因为RTP为抗弱网,可丢包的协议模式,由于客户端的PLC(Packet LossConcealment,丢包补偿技术)的补偿,在连续丢帧的情况下,PLC所补偿的各个语音帧具有相同的频谱特性和基音频率,非常容易引入一种可察觉的噪声,尤其是当基音频率较高的时候。PLC补偿引入的延迟,实际上用户很难感知到,因此根据延迟大小所判断出的卡顿,并不一定反应观众端层面的卡顿,造成观众理解误区,所以方案二也不可信。
综上所述,基于在线教育用户终端网络的复杂性和不确定性,RTP协议下的网络检测目前没有良好且准确的检测方案。因此,在要求高稳定、低延迟的直播教育场景下,如何更精确的实现网络卡顿检测,并给用户提供稳定的音视频体验是当前亟需解决的问题。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种视频数据传输方法、装置、电子设备和介质。
第一方面,本申请提供了一种视频数据传输方法,应用于服务器,所述方法包括:
接收观众侧设备发送的第一指示信息,所述第一指示信息用于指示所述观众侧设备的渲染延迟大于阈值延迟,所述渲染延迟为所述观众侧用户完成上一帧图像的渲染的时刻距离当前时刻的时间间隔;
响应于所述第一指示信息获取上行数据延迟,所述上行数据延迟为当前时刻距离上一次接收主播侧设备发送的视频流数据的时刻的时间间隔;
在所述上行数据延迟大于第一阈值时长且小于第二阈值时长的情况下,以第一预设时长为间隔,周期性向观众侧设备发送第二指示信息,所述第二指示信息用于指示所述主播侧设备的上行传输卡顿;
在所述上行数据延迟大于所述第二阈值时长的情况下,向所述观众侧设备发送第三指示信息,所述第三指示信息用于指示所述主播侧设备的上行传输断流。
可选的,在所述上行数据延迟小于所述第一阈值时长的情况下,向所述观众侧设备发送下行卡顿检测策略;
其中,所述下行卡顿检测策略包括:当所述渲染延迟大于所述阈值延迟且视频加载模式为第一模式时,获取第二预设时长内的冻结总时长,并在所述冻结总时长大于第三阈值时长时确定所述观众侧设备的下行传输卡顿;所述冻结总时长为:在所述第二预设时长内,处于冻结状态的总时长。
可选的,所述下行卡顿检测策略还包括:
在所述冻结总时长大于第三阈值时长时,将卡顿次数加一;
判断所述卡顿次数是否大于阈值次数;
当所述卡顿次数大于阈值次数时,确定所述观众侧设备的下行传输频繁卡顿。
第二方面,本申请提供了一种视频数据传输方法,应用于观众侧设备,所述方法包括:
获取渲染延迟,所述渲染延迟为当前时刻距离完成上一帧图像的渲染的时刻的时间间隔;
当所述渲染延迟大于阈值延迟时,向服务器发送第一指示信息以及确定处于冻结状态;
接收所述服务器发送的下行卡顿检测策略;
在视频加载模式为第一模式的情况下,获取第二预设时长内的冻结总时长,所述冻结总时长为:在所述第二预设时长内,处于冻结状态的总时长;
在所述冻结总时长大于第三阈值时长时,确定所述观众侧设备的下行传输卡顿。
可选的,接收服务器发送的第二指示信息或第三指示信息;其中,所述第二指示信息用于指示主播侧设备的上行传输卡顿,所述第三指示信息用于指示所述主播侧设备的上行传输断流;
输出所述第二指示信息或第三指示信息。
可选的,在确定所述观众侧设备的下行传输卡顿之后,所述方法还包括:
输出提示信息,所述提示信息用于提示将视频加载模式由第一模式切换为第二模式;所述第一模式所加载的视频的码率大于所述第二模式所加载的视频的码率;
响应于用户输入的模式切换操作,将所述视频加载模式由第一模式切换为第二模式。
可选的,在将所述视频加载模式由第一模式切换为第二模式之后,所述方法还包括:
获取冻结时间间隔,所述冻结时间间隔为上次冻结的时刻距离当前时刻的时间间隔;
若所述冻结时间间隔大于第三预设时长,则将所述第二模式切换为所述第一模式,并将卡顿次数加一;
判断所述卡顿次数是否大于阈值次数;
当所述卡顿次数大于阈值次数时,确定所述观众侧设备的下行传输频繁卡顿。
可选的,在确定所述观众侧设备的下行传输频繁卡顿之后,所述方法还包括:
当所述冻结总时长大于第三阈值时长时,自动将所述视频加载模式由第一模式切换为第二模式。
第三方面,本申请提供了一种服务器,包括:
接收单元,用于接收观众侧设备发送的第一指示信息,所述第一指示信息用于指示所述观众侧设备的渲染延迟大于阈值延迟,所述渲染延迟为所述观众侧用户完成上一帧图像的渲染的时刻距离当前时刻的时间间隔;
获取单元,用于响应于所述第一指示信息获取上行数据延迟,所述上行数据延迟为当前时刻距离上一次接收主播侧设备发送的视频流数据的时刻的时间间隔;
第一指示单元,用于在所述上行数据延迟大于第一阈值时长且小于第二阈值时长的情况下,以第一预设时长为间隔,周期性向观众侧设备发送第二指示信息,所述第二指示信息用于指示所述主播侧设备的上行传输卡顿;
第二指示单元,用于在所述上行数据延迟大于所述第二阈值时长的情况下,向所述观众侧设备发送第三指示信息,所述第三指示信息用于指示所述主播侧设备的上行传输断流。
第四方面,本申请提供了一种观众侧设备,包括:
参数获取单元,用于获取渲染延迟,所述渲染延迟为当前时刻距离完成上一帧图像的渲染的时刻的时间间隔;
发送单元,用于当所述渲染延迟大于阈值延迟时,向服务器发送第一指示信息以及确定处于冻结状态;
接收策略单元,用于接收所述服务器发送的下行卡顿检测策略;
处理单元,用于在视频加载模式为第一模式的情况下,获取第二预设时长内的冻结总时长,所述冻结总时长为:在所述第二预设时长内,处于冻结状态的总时长;
确定单元,用于在所述冻结总时长大于第三阈值时长时,确定所述观众侧设备的下行传输卡顿。
第五方面,本申请提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面或第二方面任一项所述方法的步骤。
第六方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面任一项所述方法的步骤。
本申请提供的技术方案与现有技术相比具有如下优点:
本申请提供的视频数据传输方法,应用于观众侧设备,首先获取渲染延迟,当渲染延迟大于阈值延迟时,确定为冻结状态并向服务器发送第一指示信息,通过接收服务器发送的下行卡顿检测策略,即在视频加载模式为第一模式的情况下,获取第二预设时常内的冻结总时长,并判断冻结总时长是否大于第三阈值时长,若是,则确定观众侧设备的下行传输卡顿。因此,基于在线教育用户终端网络的复杂性和不确定性,采用此方法能够实现更精确的网络卡顿检测。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例提供的应用于服务器的视频数据传输方法的流程示意图;
图2为一个实施例提供的应用于观众侧设备的视频数据传输方法的流程示意图;
图3为一个实施例提供的服务器的结构示意图;
图4为一个实施例提供的观众侧设备的结构示意图;
图5为一个实施例中电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面将对本发明的方案进行进一步描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但本发明还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本发明的一部分实施例,而不是全部的实施例。
本申请提供的一种视频数据传输方法,应用于服务器,这里的服务器可以是以流方式在网络中传送音频、视频和多媒体文件的流媒体服务器。流媒体服务器的主要功能是以流式协议将视频文件传输到客户端,供用户在线观看;也可以从视频采集、压缩软件接收实时视频流,再以流式协议直播给客户端。由于流媒体技术的优越性,该技术广泛应用于视频点播、视频会议、远程教育、远程医疗和在线直播系统中。本申请实施例的应用场景为:主播侧的老师使用RTC进行直播,观众侧的学生尝试加入RTC观看直播。针对该业务场景,卡顿检测策略可以由后端服务器下发,业务触发前,由Https(Hyper Text Transfer Protocolover SecureSocket Layer,超文本传输安全协议)异步请求的形式更新本地策略,并进行本地化缓存,如果请求失败会使用上一次的策略。
在一个实施例中,本发明实施例提供了一种视频数据传输方法,应用于服务器。如图1所示,该视频数据传输方法包括以下步骤:
S110、接收观众侧设备发送的第一指示信息。
其中,所述第一指示信息用于指示所述观众侧设备的渲染延迟大于阈值延迟,所述渲染延迟为所述观众侧用户完成上一帧图像的渲染的时刻距离当前时刻的时间间隔。
示例性的,流媒体服务器接收观众侧设备发送的第一指示信息,阈值延迟可以是400ms(millisecond,毫秒),也可以是其他合理数值,在此不做具体的限定。
S120、响应于所述第一指示信息获取上行数据延迟。
其中,所述上行数据延迟为当前时刻距离上一次接收主播侧设备发送的视频流数据的时刻的时间间隔。
具体的,上行数据为流媒体服务器获取的主播侧视频流数据。
S130、在所述上行数据延迟大于第一阈值时长且小于第二阈值时长的情况下,以第一预设时长为间隔,周期性向观众侧设备发送第二指示信息。
其中,所述第二指示信息用于指示所述主播侧设备的上行传输卡顿。
示例性的,第一预设时长可以为2s,第一阈值时长可以为400 ms,第二阈值时长可以为30s,也可以是其他合理数值,在此不做具体的限定。在流媒体服务器获取的主播侧视频流数据延迟大于400 ms小于30s(second,秒)的情况下,以2s为间隔,周期性向观众侧设备发送主播侧设备的上行传输卡顿的指示信息。
S140、在所述上行数据延迟大于所述第二阈值时长的情况下,向所述观众侧设备发送第三指示信息。
其中,所述第三指示信息用于指示所述主播侧设备的上行传输断流。
示例性的,如果流媒体服务器大于30s未接收到主播视频流,或者收到主播侧设备离线消息认为断流,此时向观众侧设备发送主播侧设备上行传输断流的指示信息,观众侧的用户则认为自己的设备网络正常,不会做出相应的调整视频模式的操作。
作为本发明实施例一种可选的实施方式,在所述上行数据延迟小于所述第一阈值时长的情况下,向所述观众侧设备发送下行卡顿检测策略。
其中,所述下行卡顿检测策略包括:当所述渲染延迟大于所述阈值延迟且视频加载模式为第一模式时,获取第二预设时长内的冻结总时长,并在所述冻结总时长大于第三阈值时长时确定所述观众侧设备的下行传输卡顿;所述冻结总时长为:在所述第二预设时长内,处于冻结状态的总时长。
具体的,首先在本地申请一个列表数据结构List<Pair<Long, Long>>,一列数据名称为Key,记录冻结开始时间;一列数据名称为value,记录冻结时长的数据。冻结行为有开始和结束,冻结开始即渲染延迟大于阈值延迟,冻结结束则是在冻结状态完成渲染时触发。然后当一次冻结行为结束时,记录一个Pair<Long, Long>,即一次开始冻结时间以及对应这次冻结的时长,并添加至所述列表数据结构中。示例性的,第三阈值时长可以取10s,也可以是其他合理数值,在此不做具体的限定。冻结时长的计算过程为:如果目前累积卡顿时间没有超过第三阈值时长,且应用软件仍然在前台,则每隔一秒将冻结的有效时长增加一秒。冻结总时长即在第二预设时长内,冻结的有效时长之和。
作为本发明实施例一种可选的实施方式,所述下行卡顿检测策略还包括:
在所述冻结总时长大于第三阈值时长时,将卡顿次数加一;
判断所述卡顿次数是否大于阈值次数;
当所述卡顿次数大于阈值次数时,确定所述观众侧设备的下行传输频繁卡顿。
示例性的,第三阈值时长可以取10s,第二阈值时长可以取30s,阈值次数可以取3次。如果在30s内,冻结总时长大于10s,则将卡顿次数加一。当卡顿次数大于3次时,确定观众侧设备的下行传输频繁卡顿。
在一个实施例中,提供了一种视频数据传输方法,应用于观众侧设备。这里的观众侧设备,其执行主体为观众客户端。如图2所示,该视频数据传输方法包括以下步骤:
S210、获取渲染延迟。
其中,所述渲染延迟为当前时刻距离完成上一帧图像的渲染的时刻的时间间隔。
具体的,获取渲染延迟之前,启动RTC播放器,观众客户端通过RTC播放器拉取主播视频流。基于RTP协议,根据数据包请求,实时采集上行丢包率、下行丢包率、应用CPU使用率、系统CPU总使用率、网关往返时延、渲染延迟等数据作为基础数据。其中,渲染延迟作为卡顿检测策略的关键参数。
S220、当所述渲染延迟大于阈值延迟时,向服务器发送第一指示信息以及确定处于冻结状态。
示例性的,采用渲染延迟为基准,当渲染延迟大于阈值延迟400ms时,确定处于冻结状态,并向流媒体服务器发送第一指示信息。
相应的,根据所述第一指示信息获取上行数据延迟。观众侧设备执行如下步骤:
S221、接收服务器发送的第二指示信息或第三指示信息。
其中,所述第二指示信息用于指示主播侧设备的上行传输卡顿,所述第三指示信息用于指示所述主播侧设备的上行传输断流。
S222、输出所述第二指示信息或第三指示信息。
具体的,如果观众侧用户收到主播上行传输卡顿的指示信息,且暂时未收到上行传输断流的指示信息,则在第一预设时长内触发冻结行为,或冻结后的累计时长会被忽略。防止因为主播环境,引导用户调整网络。该调整效果为,将视频加载模式由第一模式调整为第二模式,以及有其他连麦行为时,不再拉取除主播老师以外的其他角色视频流。
S230、接收所述服务器发送的下行卡顿检测策略。
对应的,观众侧设备接收流媒体服务器发送的下行卡顿检测策略。
S240、在视频加载模式为第一模式的情况下,获取第二预设时长内的冻结总时长。
其中,所述冻结总时长为:在所述第二预设时长内,处于冻结状态的总时长。
S250、在所述冻结总时长大于第三阈值时长时,确定所述观众侧设备的下行传输卡顿。
作为本发明实施例一种可选的实施方式,在确定所述观众侧设备的下行传输卡顿之后,所述方法还包括如下步骤:
S261、输出提示信息。
其中,所述提示信息用于提示将视频加载模式由第一模式切换为第二模式;所述第一模式所加载的视频的码率大于所述第二模式所加载的视频的码率。
具体的,对于弱网的数据定义,不同的应用所界定的含义是不一样且不清晰的,不仅要考虑各类型网络最低速率,还要结合业务场景和应用类型去划分。按照移动的特性来说,一般应用低于2G速率的都属于弱网,也可以将3G划分为弱网。弱网测试主要是对带宽、丢包、延时等进行模拟弱网环境。示例性的,在本实施例中,第一模式所加载的视频的码率大于第二模式所加载的视频的码率,即,当视频码率为第二模式所加载的码率时,网络状态处于弱网场景;当视频码率为第一模式所加载的码率时,网络状态处于非弱网场景。
S262、响应于用户输入的模式切换操作,将所述视频加载模式由第一模式切换为第二模式。
示例性的,根据用户输入的模式切换操作,将视频码率由标清拉为低清。
作为本发明实施例一种可选的实施方式,在将所述视频加载模式由第一模式切换为第二模式之后,所述方法还包括如下步骤:
S271、获取冻结时间间隔。
其中,所述冻结时间间隔为上次冻结的时刻距离当前时刻的时间间隔。
S272、若所述冻结时间间隔大于第三预设时长,则将所述第二模式切换为所述第一模式,并将卡顿次数加一。
具体的,观众侧设备的视频加载模式已经进入低清模式,第三预设时长可以是5分钟,如果超过5分钟未再次触发冻结,则判断观众侧用户只是短暂网络卡顿,将低清模式撤销,拉取正常清晰度的视频,观众侧设备恢复标清模式,并将卡顿次数加一。
S273、判断所述卡顿次数是否大于阈值次数;当所述卡顿次数大于阈值次数时,确定所述观众侧设备的下行传输频繁卡顿。
作为本发明实施例一种可选的实施方式,在确定所述观众侧设备的下行传输频繁卡顿之后,所述方法还包括:
当所述冻结总时长大于第三阈值时长时,自动将所述视频加载模式由第一模式切换为第二模式。
具体的,在观众侧设备的下行传输卡顿次数超过阈值次数后,当冻结总时长大于第三阈值时长时,再次触发下行传输卡顿,此时判断是观众侧的用户网络环境确实较差,直接切换到低清模式,不再对观众侧的用户进行频繁提醒切换视频加载模式。
本申请提供的视频数据传输方法,应用于观众侧设备,首先获取渲染延迟,当渲染延迟大于阈值延迟时,确定为冻结状态并向服务器发送第一指示信息,通过接收服务器发送的下行卡顿检测策略,即在视频加载模式为第一模式的情况下,获取第二预设时常内的冻结总时长,并判断冻结总时长是否大于第三阈值时长,若是,则确定观众侧设备的下行传输卡顿。因此,基于在线教育用户终端网络的复杂性和不确定性,采用此方法能够实现更精确的网络卡顿检测。
本申请实施例还提供了一种服务器,用于执行上述实施例提提供的任一种视频数据传输方法,具备视频数据传输方法相应的有益效果。
在一个实施例中,提供了一种服务器的结构示意图,如图3所示,所述服务器包括:接收单元310、获取单元320、第一指示单元330、第二指示单元340。
接收单元310,用于接收观众侧设备发送的第一指示信息,所述第一指示信息用于指示所述观众侧设备的渲染延迟大于阈值延迟,所述渲染延迟为所述观众侧用户完成上一帧图像的渲染的时刻距离当前时刻的时间间隔。
获取单元320,用于响应于所述第一指示信息获取上行数据延迟,所述上行数据延迟为当前时刻距离上一次接收主播侧设备发送的视频流数据的时刻的时间间隔。
第一指示单元330,用于在所述上行数据延迟大于第一阈值时长且小于第二阈值时长的情况下,以第一预设时长为间隔,周期性向观众侧设备发送第二指示信息,所述第二指示信息用于指示所述主播侧设备的上行传输卡顿。
第二指示单元340,用于在所述上行数据延迟大于所述第二阈值时长的情况下,向所述观众侧设备发送第三指示信息,所述第三指示信息用于指示所述主播侧设备的上行传输断流。
作为本发明实施例一种可选的实施方式,在所述上行数据延迟小于所述第一阈值时长的情况下,向所述观众侧设备发送下行卡顿检测策略。
其中,所述下行卡顿检测策略包括:当所述渲染延迟大于所述阈值延迟且视频加载模式为第一模式时,获取第二预设时长内的冻结总时长,并在所述冻结总时长大于第三阈值时长时确定所述观众侧设备的下行传输卡顿;所述冻结总时长为:在所述第二预设时长内,处于冻结状态的总时长。
作为本发明实施例一种可选的实施方式,所述下行卡顿检测策略还包括:
在所述冻结总时长大于第三阈值时长时,将卡顿次数加一;判断所述卡顿次数是否大于阈值次数;当所述卡顿次数大于阈值次数时,确定所述观众侧设备的下行传输频繁卡顿。
在一个实施例中,提供了一种观众侧设备的结构示意图,如图4所示,所述观众侧设备包括:参数获取单元410、发送单元420、接收策略单元430、处理单元440以及确定单元450。
参数获取单元410,用于获取渲染延迟,所述渲染延迟为当前时刻距离完成上一帧图像的渲染的时刻的时间间隔;
发送单元420,用于当所述渲染延迟大于阈值延迟时,向服务器发送第一指示信息以及确定处于冻结状态;
接收策略单元430,用于接收所述服务器发送的下行卡顿检测策略;
处理单元440,用于在视频加载模式为第一模式的情况下,获取第二阈值时长内的冻结总时长,所述冻结总时长为:在所述第二预设时长内,处于冻结状态的总时长;
确定单元450,用于在所述冻结总时长大于第三阈值时长时,确定所述观众侧设备的下行传输卡顿。
作为本发明实施例一种可选的实施方式,接收服务器发送的第二指示信息或第三指示信息;其中,所述第二指示信息用于指示主播侧设备的上行传输卡顿,所述第三指示信息用于指示所述主播侧设备的上行传输断流;输出所述第二指示信息或第三指示信息。
作为本发明实施例一种可选的实施方式,在确定所述观众侧设备的下行传输卡顿之后,所述方法还包括:输出提示信息,所述提示信息用于提示将视频加载模式由第一模式切换为第二模式;所述第一模式所加载的视频的码率大于所述第二模式所加载的视频的码率;响应于用户输入的模式切换操作,将所述视频加载模式由第一模式切换为第二模式。
作为本发明实施例一种可选的实施方式,在将所述视频加载模式由第一模式切换为第二模式之后,所述方法还包括:获取冻结时间间隔,所述冻结时间间隔为上次冻结的时刻距离当前时刻的时间间隔;若所述冻结时间间隔大于第三预设时长,则将所述第二模式切换为所述第一模式,并将卡顿次数加一;判断所述卡顿次数是否大于阈值次数;当所述卡顿次数大于阈值次数时,确定所述观众侧设备的下行传输频繁卡顿。
作为本发明实施例一种可选的实施方式,在确定所述观众侧设备的下行传输频繁卡顿之后,所述方法还包括:
当所述冻结总时长大于第三阈值时长时,自动将所述视频加载模式由第一模式切换为第二模式。
关于视频数据传输方法分别应用于服务器和观众侧设备的具体限定可以参见上文中对于视频数据传输方法的限定,在此不再赘述。上述服务器和观众侧设备中的各个单元可全部或部分通过软件、硬件及其组合来实现。上述各单元可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以软件形式存储于电子设备中的处理器中,以便于处理器调用执行以上各个单元对应的操作。
在一个实施例中,提供了一种电子设备,其内部结构图可以如图5所示。该电子设备包括通过系统总线连接的处理器、存储器、通信接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的通信接口用于与外部的电子设备进行有线或无线方式的通信,无线方式可通过WiFi、运营商网络、近场通信(NFC)或其他技术实现。该计算机程序被处理器执行时以实现一种视频数据传输方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的电子设备的服务器可以实现为一种计算机的形式,计算机程序可以在如图5所示的电子设备上运行。电子设备的存储器中可存储组成该电子设备的服务器的各个程序单元,比如,图3所示的接收单元310、获取单元320、第一指示单元330、第二指示单元340。图4所示的参数获取单元410、发送单元420、接收策略单元430、处理单元440以及确定单元450。各个程序单元构成的计算机程序使得处理器执行本说明书描述的本申请各个实施例的电子设备的中的步骤。
例如,图5所示的电子设备可以通过如图3所示的电子设备的服务器中的接收单元310执行步骤S110。电子设备可通过获取单元320执行步骤S120。电子设备可通过第一指示单元330执行步骤S130。电子设备可通过第二指示单元340执行步骤S140。或者通过如图4所示的观众侧设备中的参数获取单元410执行步骤S210。通过发送单元420执行步骤S220。通过接收策略单元430执行步骤S230。通过处理单元440执行步骤S240。通过确定单元450执行步骤S250。
在一个实施例中,提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时可以实现上述任一所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在一个实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所示方法实施例的技术方案。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所述的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种视频数据传输方法,其特征在于,应用于服务器,所述方法包括:
接收观众侧设备发送的第一指示信息,所述第一指示信息用于指示所述观众侧设备的渲染延迟大于阈值延迟,所述渲染延迟为所述观众侧用户完成上一帧图像的渲染的时刻距离当前时刻的时间间隔;
响应于所述第一指示信息获取上行数据延迟,所述上行数据延迟为当前时刻距离上一次接收主播侧设备发送的视频流数据的时刻的时间间隔;
在所述上行数据延迟大于第一阈值时长且小于第二阈值时长的情况下,以第一预设时长为间隔,周期性向观众侧设备发送第二指示信息,所述第二指示信息用于指示所述主播侧设备的上行传输卡顿;
在所述上行数据延迟大于所述第二阈值时长的情况下,向所述观众侧设备发送第三指示信息,所述第三指示信息用于指示所述主播侧设备的上行传输断流。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述上行数据延迟小于所述第一阈值时长的情况下,向所述观众侧设备发送下行卡顿检测策略;
其中,所述下行卡顿检测策略包括:当所述渲染延迟大于所述阈值延迟且视频加载模式为第一模式时,获取第二预设时长内的冻结总时长,并在所述冻结总时长大于第三阈值时长时确定所述观众侧设备的下行传输卡顿;所述冻结总时长为:在所述第二预设时长内,处于冻结状态的总时长。
3.根据权利要求2所述的方法,其特征在于,所述下行卡顿检测策略还包括:
在所述冻结总时长大于第三阈值时长时,将卡顿次数加一;
判断所述卡顿次数是否大于阈值次数;
当所述卡顿次数大于阈值次数时,确定所述观众侧设备的下行传输频繁卡顿。
4.一种视频数据传输方法,其特征在于,应用于观众侧设备,所述方法包括:
获取渲染延迟,所述渲染延迟为当前时刻距离完成上一帧图像的渲染的时刻的时间间隔;
当所述渲染延迟大于阈值延迟时,向服务器发送第一指示信息以及确定处于冻结状态;
接收所述服务器发送的下行卡顿检测策略;
在视频加载模式为第一模式的情况下,获取第二预设时长内的冻结总时长,所述冻结总时长为:在所述第二预设时长内,处于冻结状态的总时长;
在所述冻结总时长大于第三阈值时长时,确定所述观众侧设备的下行传输卡顿。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收服务器发送的第二指示信息或第三指示信息;其中,所述第二指示信息用于指示主播侧设备的上行传输卡顿,所述第三指示信息用于指示所述主播侧设备的上行传输断流;
输出所述第二指示信息或第三指示信息。
6.根据权利要求4所述的方法,其特征在于,在确定所述观众侧设备的下行传输卡顿之后,所述方法还包括:
输出提示信息,所述提示信息用于提示将视频加载模式由第一模式切换为第二模式;所述第一模式所加载的视频的码率大于所述第二模式所加载的视频的码率;
响应于用户输入的模式切换操作,将所述视频加载模式由第一模式切换为第二模式。
7.根据权利要求6所述的方法,其特征在于,在将所述视频加载模式由第一模式切换为第二模式之后,所述方法还包括:
获取冻结时间间隔,所述冻结时间间隔为上次冻结的时刻距离当前时刻的时间间隔;
若所述冻结时间间隔大于第三预设时长,则将所述第二模式切换为所述第一模式,并将卡顿次数加一;
判断所述卡顿次数是否大于阈值次数;
当所述卡顿次数大于阈值次数时,确定所述观众侧设备的下行传输频繁卡顿。
8.根据权利要求7所述的方法,其特征在于,在确定所述观众侧设备的下行传输频繁卡顿之后,所述方法还包括:
当所述冻结总时长大于第三阈值时长时,自动将所述视频加载模式由第一模式切换为第二模式。
9.一种服务器,其特征在于,包括:
接收单元,用于接收观众侧设备发送的第一指示信息,所述第一指示信息用于指示所述观众侧设备的渲染延迟大于阈值延迟,所述渲染延迟为所述观众侧用户完成上一帧图像的渲染的时刻距离当前时刻的时间间隔;
获取单元,用于响应于所述第一指示信息获取上行数据延迟,所述上行数据延迟为当前时刻距离上一次接收主播侧设备发送的视频流数据的时刻的时间间隔;
第一指示单元,用于在所述上行数据延迟大于第一阈值时长且小于第二阈值时长的情况下,以第一预设时长为间隔,周期性向观众侧设备发送第二指示信息,所述第二指示信息用于指示所述主播侧设备的上行传输卡顿;
第二指示单元,用于在所述上行数据延迟大于所述第二阈值时长的情况下,向所述观众侧设备发送第三指示信息,所述第三指示信息用于指示所述主播侧设备的上行传输断流。
10.一种观众侧设备,其特征在于,包括:
参数获取单元,用于获取渲染延迟,所述渲染延迟为当前时刻距离完成上一帧图像的渲染的时刻的时间间隔;
发送单元,用于当所述渲染延迟大于阈值延迟时,向服务器发送第一指示信息以及确定处于冻结状态;
接收策略单元,用于接收所述服务器发送的下行卡顿检测策略;
处理单元,用于在视频加载模式为第一模式的情况下,获取第二预设时长内的冻结总时长,所述冻结总时长为:在所述第二预设时长内,处于冻结状态的总时长;
确定单元,用于在所述冻结总时长大于第三阈值时长时,确定所述观众侧设备的下行传输卡顿。
11.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-8任一项所述视频数据传输方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述视频数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110961764.7A CN113423008B (zh) | 2021-08-20 | 2021-08-20 | 视频数据传输方法、服务器和观众侧设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110961764.7A CN113423008B (zh) | 2021-08-20 | 2021-08-20 | 视频数据传输方法、服务器和观众侧设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113423008A true CN113423008A (zh) | 2021-09-21 |
CN113423008B CN113423008B (zh) | 2021-11-16 |
Family
ID=77719749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110961764.7A Active CN113423008B (zh) | 2021-08-20 | 2021-08-20 | 视频数据传输方法、服务器和观众侧设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113423008B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002526A (zh) * | 2022-05-23 | 2022-09-02 | 阿里巴巴(中国)有限公司 | 视频帧时延确定方法及装置 |
CN115022204A (zh) * | 2022-05-26 | 2022-09-06 | 阿里巴巴(中国)有限公司 | Rtc的传输时延检测方法、装置以及设备 |
CN116208788A (zh) * | 2023-05-04 | 2023-06-02 | 海马云(天津)信息技术有限公司 | 提供网络应用服务的方法及装置、服务器设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248682A (zh) * | 2013-04-27 | 2013-08-14 | 华为技术有限公司 | 一种带宽使用优化方法及装置 |
CN104113628A (zh) * | 2013-04-17 | 2014-10-22 | 深圳富泰宏精密工业有限公司 | 流媒体渲染处理方法及系统 |
CN106791956A (zh) * | 2016-11-25 | 2017-05-31 | 百度在线网络技术(北京)有限公司 | 网络直播卡顿的处理方法及装置 |
CN106803951A (zh) * | 2015-11-26 | 2017-06-06 | 德科仕通信(上海)有限公司 | Hls直播卡顿故障诊断方法 |
CN107105309A (zh) * | 2017-04-25 | 2017-08-29 | 北京潘达互娱科技有限公司 | 直播调度方法及装置 |
CN108833930A (zh) * | 2018-06-20 | 2018-11-16 | 广州华多网络科技有限公司 | 直播数据传输控制方法、装置、直播设备及存储介质 |
CN111277846A (zh) * | 2020-01-15 | 2020-06-12 | 广州虎牙科技有限公司 | 一种直播的异常定位方法、装置、计算机设备和存储介质 |
US20210067837A1 (en) * | 2018-01-24 | 2021-03-04 | Ease Live As | A live video rendering and broadcasting system |
CN112702649A (zh) * | 2019-10-22 | 2021-04-23 | 高新兴科技集团股份有限公司 | 一种移动端的直播视频播放流畅度优化方法、存储介质及电子设备 |
-
2021
- 2021-08-20 CN CN202110961764.7A patent/CN113423008B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104113628A (zh) * | 2013-04-17 | 2014-10-22 | 深圳富泰宏精密工业有限公司 | 流媒体渲染处理方法及系统 |
CN103248682A (zh) * | 2013-04-27 | 2013-08-14 | 华为技术有限公司 | 一种带宽使用优化方法及装置 |
CN106803951A (zh) * | 2015-11-26 | 2017-06-06 | 德科仕通信(上海)有限公司 | Hls直播卡顿故障诊断方法 |
CN106791956A (zh) * | 2016-11-25 | 2017-05-31 | 百度在线网络技术(北京)有限公司 | 网络直播卡顿的处理方法及装置 |
CN107105309A (zh) * | 2017-04-25 | 2017-08-29 | 北京潘达互娱科技有限公司 | 直播调度方法及装置 |
US20210067837A1 (en) * | 2018-01-24 | 2021-03-04 | Ease Live As | A live video rendering and broadcasting system |
CN108833930A (zh) * | 2018-06-20 | 2018-11-16 | 广州华多网络科技有限公司 | 直播数据传输控制方法、装置、直播设备及存储介质 |
CN112702649A (zh) * | 2019-10-22 | 2021-04-23 | 高新兴科技集团股份有限公司 | 一种移动端的直播视频播放流畅度优化方法、存储介质及电子设备 |
CN111277846A (zh) * | 2020-01-15 | 2020-06-12 | 广州虎牙科技有限公司 | 一种直播的异常定位方法、装置、计算机设备和存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002526A (zh) * | 2022-05-23 | 2022-09-02 | 阿里巴巴(中国)有限公司 | 视频帧时延确定方法及装置 |
CN115022204A (zh) * | 2022-05-26 | 2022-09-06 | 阿里巴巴(中国)有限公司 | Rtc的传输时延检测方法、装置以及设备 |
CN115022204B (zh) * | 2022-05-26 | 2023-12-05 | 阿里巴巴(中国)有限公司 | Rtc的传输时延检测方法、装置以及设备 |
CN116208788A (zh) * | 2023-05-04 | 2023-06-02 | 海马云(天津)信息技术有限公司 | 提供网络应用服务的方法及装置、服务器设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113423008B (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113423008B (zh) | 视频数据传输方法、服务器和观众侧设备 | |
KR101758613B1 (ko) | 방송 컨텐츠 제공 방법 및 장치와 그 시스템 | |
KR101602525B1 (ko) | 데이터 세그먼트의 선택적 방송전달을 가지는 스트리밍 | |
CN101909196B (zh) | 一种频道切换处理方法及系统以及相关设备 | |
EP2364017B1 (en) | Method, system and user device for obtaining key frame in streaming media service | |
US9871740B2 (en) | Methods and systems for optimal delivery of internet video over wireless networks | |
US20140095593A1 (en) | Method and apparatus for transmitting data file to client | |
US9813742B2 (en) | Method, device and system for evaluating user experience value of video quality | |
CN101889425B (zh) | 通过可变带宽信道进行同播的设备和方法 | |
US20150271231A1 (en) | Transport accelerator implementing enhanced signaling | |
US11057445B2 (en) | Method for adapting the downloading behavior of a client terminal configured, to receive multimedia content, and corresponding terminal | |
CN107210999B (zh) | 链路感知流送自适应 | |
KR20150067233A (ko) | 하나 이상의 사용자 디바이스에의 콘텐츠의 스트리밍에 관한 장치 및 방법 | |
KR20140023983A (ko) | 수신 비트율 및 연관된 수신기의 동적 적응 방법 | |
US9826283B2 (en) | Apparatus and method for inserting advertisement in a broadcasting system | |
US20160352857A1 (en) | Method for adapting the behavior of a cache, and corresponding cache | |
Belda et al. | Hybrid FLUTE/DASH video delivery over mobile wireless networks | |
JP3927486B2 (ja) | ストリーミング配信装置、ストリーミング配信システム、及びストリーミング配信方法 | |
CN110062003B (zh) | 视频数据发送方法、装置、电子设备及存储介质 | |
Yetgi et al. | Efficient progressive downloading over multimedia broadcast multicast service | |
KR101292422B1 (ko) | Ip 방송 시 서버 접속형 방송 단말기의 접속 지연 및 데이터 손실을 극복하기 위한 ip 방송 시스템, 이를 이용한 ip 방송 방법 | |
KR101931652B1 (ko) | 사용자 네트워크 환경에 적응적인 멀티캐스트 기반 컨텐츠 전송 시스템 및 방법 | |
Prins | Fast retransmission for multicast IPTV | |
CN116170612A (zh) | 一种直播的实现方法、边缘节点、电子设备及存储介质 | |
WO2015088405A1 (en) | Method and apparatus for improving quality of experience of a real-time communication service |
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 |