CN113766261B - 一种确定预拉取时长方法、装置、电子设备及存储介质 - Google Patents
一种确定预拉取时长方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113766261B CN113766261B CN202111038373.4A CN202111038373A CN113766261B CN 113766261 B CN113766261 B CN 113766261B CN 202111038373 A CN202111038373 A CN 202111038373A CN 113766261 B CN113766261 B CN 113766261B
- Authority
- CN
- China
- Prior art keywords
- video
- time
- user terminal
- thr
- length
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000000903 blocking effect Effects 0.000 claims abstract description 77
- 238000004891 communication Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- 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/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/437—Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种确定预拉取时长方法、装置、电子设备及存储介质,所述方法包括:获取预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时;将所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时发送至服务器,使所述服务器根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量;根据所述预拉取I帧的数量,确定视频预拉取时长。服务器可以根据不同的网络环境确定出不同的视频预拉取时长,从而实现自适应网络波动带来的影响,提高了用户的使用体验。
Description
技术领域
本发明涉及视频处理技术领域,尤其涉及一种确定预拉取时长方法、装置、电子设备及存储介质。
背景技术
在视频直播应用程序中,可以采用预拉取的方式提前拉取一段时间的数据到本地,实现在用户点击方式切换到该直播间后不需要临时拉取数据就有数据可以播放。从而省去用户切换到某个直播间时等待数据加载的时间,以提高用户的使用体验。
相关技术中,一般设定一个固定的预拉取时长,预拉取时长短则缓存时间短,主播终端与观众终端播放视频之间的延时较小,但是对网络波动的抗性较差,更容易卡顿;预拉取时长长则缓存时间长,对网络波动的抗性较好,但是主播终端与观众终端播放视频之间的延时较大。相关技术设定一个固定的预拉取时长的方案无法自适应网络波动带来的影响,用户的使用体验有待提高。
发明内容
本发明实施例提供了一种确定预拉取时长方法,所述方法包括:
获取预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时;
将所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时发送至服务器,使所述服务器根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量;根据所述预拉取I帧的数量,确定视频预拉取时长。
本发明实施例提供了一种确定预拉取时长方法,所述方法包括:
接收用户终端发送的预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时;
根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量;
根据所述预拉取I帧的数量,确定视频预拉取时长。
另一方面,本发明实施例提供了一种确定预拉取时长装置,所述装置包括:
获取模块,用于获取预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时;
发送模块,用于将所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时发送至服务器,使所述服务器根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量;根据所述预拉取I帧的数量,确定视频预拉取时长。
另一方面,本发明实施例提供了一种确定预拉取时长装置,所述装置包括:
接收模块,用于接收用户终端发送的预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时;
第一确定模块,用于根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量;
第二确定模块,用于根据所述预拉取I帧的数量,确定视频预拉取时长。
另一方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一项所述的方法步骤。
另一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法步骤。
本发明实施例提供了一种确定预拉取时长方法、装置、电子设备及存储介质,所述方法包括:获取预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时;将所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时发送至服务器,使所述服务器根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量;根据所述预拉取I帧的数量,确定视频预拉取时长。
由于在本发明实施例中,用户终端获取预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时,将获取到的上述信息发送至服务器,由服务器根据上述信息确定预拉取I帧的数量,进而根据预拉取I帧的数量,确定视频预拉取时长。由于在不同的网络环境下,预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时是不同的,服务器可以根据不同的网络环境确定出不同的视频预拉取时长,从而实现自适应网络波动带来的影响,提高了用户的使用体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的确定预拉取时长过程示意图;
图2为本发明实施例1提供的服务器处理流程图;
图3为本发明实施例2提供的确定预拉取时长过程示意图;
图4为本发明实施例2提供的音频视频传输示意图;
图5为本发明实施例3提供的确定预拉取时长装置结构示意图;
图6为本发明实施例4提供的确定预拉取时长装置结构示意图;
图7为本发明实施例5提供的电子设备结构示意图;
图8为本发明实施例7提供的电子设备结构示意图。
具体实施方式
下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例1:
图1为本发明实施例提供的确定预拉取时长过程示意图,包括以下步骤:
S101:获取预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时。
S102:将所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时发送至服务器,使所述服务器根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量;根据所述预拉取I帧的数量,确定视频预拉取时长。
本发明实施例提供的确定预拉取时长方法应用于用户终端,该用户终端可以是PC、平板电脑、智能手机等设备。本发明实施例中涉及到的名次解释如下:预拉取:在用户执行操作前预先完成部分操作或拉取一部分数据给用户,从而提高出视频速度,优化用户体验。出视频时长:从用户下达进入某个直播间的指令到视频画面在屏幕上显示出来的时间。卡顿时长:观众观看直播产生卡顿得总时长,单位毫秒。卡顿次数:观众观看直播产生卡顿的总次数。GOP(Group Of Pictures):一组连续的画面,通常由I帧、B帧、P帧组成。I帧:每个GOP的第一个帧,也叫关键帧,必须收到I帧才能解码B帧和P帧。
为了选用最合适的预拉取时长,提高用户体验质量,本发明实施例选用多个直接影响用户体验质量的指标作为输入。如图2所示,在服务器内部的决策器中计算得出推断的较合适的预拉取时长,然后服务器中的执行器按照计算结果进行预拉取数据到客户端的操作。
在决策执行后,产生的效果会反馈到选用的指标上。在下次预拉取时更新后的指标则作为新的输入。如此便形成一个自我优化的循环。使计算结果逐渐趋近最优结果。此外,在网络环境改变后,网络环境的改变依旧会做应到输入的指标上,从而实现对新环境的自适应。
本发明实施例中,用户终端播放视频过程中获取预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时。其中,预设时长可以是1分钟、2分钟等。在获取卡顿次数和卡顿时长时,首先检测视频是否卡顿。其中,可以通过现有的方案来检测是否出现卡顿。例如,currentTime这个属性表示视频播放了多少,在页面开个定时器,例如每5秒检测这个currentTime值有没有变化,如果没有变化,那应该只有两种情况,用户点了暂停或者卡顿。视频暂停可以用paused这个属性判断出来,之后就剩下卡顿这种情况了。本发明实施例不对检测出现卡顿的方法进行限定。在预设时长内检测是否出现卡顿,进而便能够获取到预设时长内的卡顿次数和卡顿时长。
获取出视频时长包括:
获取接收到播放视频的指令时的第一时间信息以及视频画面在所述用户终端屏幕上显示出来的第二时间信息;
将所述第二时间信息与所述第一时间信息的时间差作为出视频时长。
以用户观看某个直播间的视频为例进行说明,当用户终端获取到用户进入某个直播间的点击操作时,确定接收到播放视频的指令。此时记录第一时间信息。当用户终端识别到屏幕上显示出来直播间视频画面时,记录第二时间信息。然后将第二时间信息与第一时间信息的时间差作为出视频时长。
所述获取用户终端与主播终端的视频延时包括:
针对所述用户终端播放视频与所述主播终端播放视频的同一画面,获取所述用户终端播放该画面时的第三时间信息以及所述主播终端播放该画面时的第四时间信息;其中,所述主播终端播放该画面时的第四时间信息是所述主播设备确定并发送至所述服务器,由所述服务器转发至所述用户终端的;
将所述第三时间信息与所述第四时间信息的时间差作为所述用户终端与所述主播终端的视频延时。
主播终端播放的视频一般先发送至服务器,然后由服务器将视频发送至用户终端,用户在用户终端上观看视频。对于用户终端播放视频与主播终端播放视频的同一画面,用户终端可以获取播放该画面时的第三时间信息。主播终端可以获取播放该画面时的第四时间信息。主播终端将播放该画面时的第四时间信息发送至服务器,由服务器转发至用户终端。然后用户终端将第三时间信息与第四时间信息的时间差作为用户终端与主播终端的视频延时。
用户终端将预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时发送至服务器,服务器根据预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量;根据预拉取I帧的数量,确定视频预拉取时长。
由于在本发明实施例中,用户终端获取预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时,将获取到的上述信息发送至服务器,由服务器根据上述信息确定预拉取I帧的数量,进而根据预拉取I帧的数量,确定视频预拉取时长。由于在不同的网络环境下,预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时是不同的,服务器可以根据不同的网络环境确定出不同的视频预拉取时长,从而实现自适应网络波动带来的影响,提高了用户的使用体验。
实施例2:
图3为本发明实施例提供的确定预拉取时长过程示意图,包括以下步骤:
S201:接收用户终端发送的预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时。
S202:根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量。
S203:根据所述预拉取I帧的数量,确定视频预拉取时长。
本发明实施例提供的确定预拉取时长方法应用于服务器。服务器接收用户终端发送的预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时;根据预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量。其中,服务器可以保存预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时与预拉取I帧的数量的对应关系,其中,预设时长内的卡顿次数、卡顿时长、出视频时长越大,用户终端与主播终端的视频延时越小,则确定出的预拉取I帧的数量越多;预设时长内的卡顿次数、卡顿时长、出视频时长越小,用户终端与主播终端的视频延时越大,则确定出的预拉取I帧的数量越少。进而根据所述预拉取I帧的数量,确定视频预拉取时长。
为了使确定预拉取I帧的数量更准确,在本发明实施例中,所述根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量包括:
将所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时代入公式VideoFetchIFrameCount=ThrStuckTime*StuckTime+ThrStuckTimes*StuckTimes+ThrDisplayTime*DisplayTime–ThrDelayTIme*DelayTime,确定预拉取I帧的数量;
式中,VideoFetchIFrameCount为预拉取I帧的数量,ThrStuckTime为卡顿时长对应的权重,StuckTime为卡顿时长,ThrStuckTimes为卡顿次数对应的权重,StuckTimes为卡顿次数,ThrDisplayTime为出视频时长对应的权重,DisplayTime为出视频时长,ThrDelayTIme为用户终端与主播终端的视频延时对应的权重,DelayTime为用户终端与主播终端的视频延时。
本发明实施例中,分别为预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时分配了对应的权重。根据用户的需求可以配置不同的权重。例如,用户更关心卡顿次数,则可以为卡顿次数分配更高的权重,用户更关心卡顿时长,则可以为卡顿时长分配更高的权重等等。然后根据公式VideoFetchIFrameCount=ThrStuckTime*StuckTime+ThrStuckTimes*StuckTimes+ThrDisplayTime*DisplayTime–ThrDelayTIme*DelayTime,确定预拉取I帧的数量确定预拉取I帧的数量。
为了使确定视频预拉取时长更准确,在本发明实施例中,所述根据所述预拉取I帧的数量,确定视频预拉取时长包括:
获取图像组GOP的时长、当前时间信息、以及获取最近的I帧的时间信息,根据所述预拉取I帧的数量、图像组GOP的时长、当前时间信息、以及获取最近的I帧的时间信息确定视频预拉取时长。
具体的,获取图像组GOP的时长、当前时间信息、以及获取最近的I帧的时间信息,将所述预拉取I帧的数量、图像组GOP的时长、当前时间信息、以及获取最近的I帧的时间信息代入公式VideoFetchTimeLength=(VideoFetchIFrameCount–1)*LengthOfOneGOP+(TimeNow-TimeLastIFrame),确定视频预拉取时长;
式中,VideoFetchTimeLength为视频预拉取时长,VideoFetchIFrameCount为预拉取I帧的数量,LengthOfOneGOP为图像组GOP的时长,TimeNow为当前时间信息,TimeLastIFrame为获取最近的I帧的时间信息。
本发明实施例中,由上述公式可以看出,网络条件差时,确定出的视频预拉取时长较长,此时不容易卡顿。网络条件好时,确定出的视频预拉取时长较短,此时主播终端与观众终端播放视频之间的延时较小,并且因为网络条件好也减少了卡顿的情况发生。
主播终端将视频发送到服务器之后,服务器可以获取视频的图像组GOP的时长以及获取最近的I帧的时间信息。然后将预拉取I帧的数量、图像组GOP的时长、当前时间信息以及获取最近的I帧的时间信息代入上述公式,得到视频预拉取时长。
服务器确定视频预拉取时长之后,根据视频预拉取时长进行视频预拉取并发送至用户终端。
以上主要描述的是视频部分预拉取,接下来对音频部分进行说明。如图4所示,音频包和视频包是单独传输的,所以到达用户终端后需要进行音视频同步。由于音频包相比视频包更小,同等网络条件下受到网络波动的影响也更小,所以在本发明实施例中采用音频向视频对齐的方式进行音视频同步。如果音视频同步的差异较大则会在用户终端出现音画不同步的现象,影响观看体验。
音频的预拉取时长要保证大于等于视频的实际预拉取时长。如果观众客户端拿到数据后发现音频数据过长,则可以将音频超出的部分抛弃。
本发明实施例中,将所述预拉取I帧的数量与所述图像组GOP的时长的乘积作为音频预拉取时长;将所述音频预拉取时长与单个音频数据包的播放时长的比值作为预拉取的音频包数。
即AudioFetchTimeLength=Video FetchIFrameCount*LengthOfOneGOP;AudioFetchTimeLength为音频预拉取时长。AudioFetchPkgs=AudioFetchTimeLength/LengthOfOneAudioPkg;LengthOfOneAudioPkg为单个音频包的播放时长。
服务器确定出预拉取的音频包数之后,根据预拉取的音频包数进行音频预拉取并发送至用户终端。
采用本发明实施例提供的方案,在视频点播和直播场景下,服务器可以根据用户的实际体验自动更新预拉取时长参数,使用更适合用户当前网络状况的预拉取时长参数可以有效提高用户客户端的出视频速度,同时提高用户的网络抗性,从而提高使用体验。
本发明实施例中可以适用于视频点播和直播场景,也同样适用于短视频,长视频等音视频流媒体应用场景。本发明中音频和视频是单独放在音频服务器和视频服务器中传输的,本发明的技术方法也适用于音频和视频在同一个服务器中传输的系统中。
本发明实施例采用卡顿时长、卡顿次数、出视频速度、播放时延等直接影响用户体验质量的指标作为输入,计算预拉取时长,以优化用户体验。采用的输入指标具有自反馈和自约束效果,即增加预拉取时长可以减少卡顿,但是预拉取时长过长也会导致播放时延增加,导致用户观看体验变差。这种巧妙的自反馈和自约束机制能够防止计算结果走向极端。音频的预拉取时长与视频动态对齐,能够有效避免音视频同步异常的同时还能最大限度减少多余数据的拉取。音频与视频使用单独的音频服务器和视频服务器进行传输,实现一定程度的解耦。独立传输时音频和视频就可以按照最合适的方式单独优化。而且便于扩展到其他应用场景,如只保留音频部分则成为纯语音房。
实施例3:
图5为本发明实施例提供的确定预拉取时长装置结构示意图,该装置包括:
获取模块51,用于获取预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时;
发送模块52,用于将所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时发送至服务器,使所述服务器根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量;根据所述预拉取I帧的数量,确定视频预拉取时长。
所述获取模块,具体用于获取接收到播放视频的指令时的第一时间信息以及视频画面在所述用户终端屏幕上显示出来的第二时间信息;将所述第二时间信息与所述第一时间信息的时间差作为出视频时长。
所述获取模块,具体用于针对所述用户终端播放视频与所述主播终端播放视频的同一画面,获取所述用户终端播放该画面时的第三时间信息以及所述主播终端播放该画面时的第四时间信息;其中,所述主播终端播放该画面时的第四时间信息是所述主播设备确定并发送至所述服务器,由所述服务器转发至所述用户终端的;将所述第三时间信息与所述第四时间信息的时间差作为所述用户终端与所述主播终端的视频延时。
实施例4:
图6为本发明实施例提供的确定预拉取时长装置结构示意图,该装置包括:
接收模块61,用于接收用户终端发送的预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时;
第一确定模块62,用于根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量;
第二确定模块63,用于根据所述预拉取I帧的数量,确定视频预拉取时长。
所述第二确定模块,具体用于获取图像组GOP的时长、当前时间信息、以及获取最近的I帧的时间信息,根据所述预拉取I帧的数量、图像组GOP的时长、当前时间信息、以及获取最近的I帧的时间信息确定视频预拉取时长。
所述第二确定模块,还用于将所述预拉取I帧的数量与所述图像组GOP的时长的乘积作为音频预拉取时长;将所述音频预拉取时长与单个音频数据包的播放时长的比值作为预拉取的音频包数。
实施例5:
在上述各实施例的基础上,本发明实施例中还提供了一种电子设备,该电子设备可以是用户终端,如图7所示,包括:处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信;
所述存储器303中存储有计算机程序,当所述程序被所述处理器301执行时,使得所述处理器301执行如下步骤:
获取预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时;
将所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时发送至服务器,使所述服务器根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量;根据所述预拉取I帧的数量,确定视频预拉取时长。
本发明实施例提供的一种电子设备可用于执行上述任意实施例提供的确定预拉取时长方法,具备相应的功能和有益效果。
实施例6:
在上述各实施例的基础上,本发明实施例还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由电子设备(用户终端)执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
获取预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时;
将所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时发送至服务器,使所述服务器根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量;根据所述预拉取I帧的数量,确定视频预拉取时长。
本发明实施例还提供的计算机存储可读存储介质,内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,可用于执行上述任意实施例提供的确定预拉取时长方法,具备相应的功能和有益效果。
实施例7:
在上述各实施例的基础上,本发明实施例中还提供了一种电子设备,该电子设备可以是服务器,如图8所示,包括:处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信;
所述存储器403中存储有计算机程序,当所述程序被所述处理器401执行时,使得所述处理器401执行如下步骤:
接收用户终端发送的预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时;
根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量;
根据所述预拉取I帧的数量,确定视频预拉取时长。
本发明实施例提供的一种电子设备可用于执行上述任意实施例提供的确定预拉取时长方法,具备相应的功能和有益效果。
实施例8:
在上述各实施例的基础上,本发明实施例还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由电子设备(服务器)执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
接收用户终端发送的预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时;
根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量;
根据所述预拉取I帧的数量,确定视频预拉取时长。
本发明实施例还提供的计算机存储可读存储介质,内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,可用于执行上述任意实施例提供的确定预拉取时长方法,具备相应的功能和有益效果。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种确定预拉取时长方法,其特征在于,所述方法包括:
获取预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时;其中,获取接收到播放视频的指令时的第一时间信息以及视频画面在所述用户终端屏幕上显示出来的第二时间信息;将所述第二时间信息与所述第一时间信息的时间差作为出视频时长;所述视频延时是指所述用户终端与所述主播终端播放视频的同一画面的时间差;
将所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时发送至服务器,使所述服务器根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量;根据所述预拉取I帧的数量,确定视频预拉取时长;
其中,根据公式VideoFetchIFrameCount=ThrStuckTime*StuckTime+ThrStuckTimes*StuckTimes+ThrDisplayTime*DisplayTime–ThrDelayTIme*DelayTime,确定预拉取I帧的数量;
式中,VideoFetchIFrameCount为预拉取I帧的数量,ThrStuckTime为卡顿时长对应的权重,StuckTime为卡顿时长,ThrStuckTimes为卡顿次数对应的权重,StuckTimes为卡顿次数,ThrDisplayTime为出视频时长对应的权重,DisplayTime为出视频时长,ThrDelayTIme为用户终端与主播终端的视频延时对应的权重,DelayTime为用户终端与主播终端的视频延时。
2.如权利要求1所述的方法,其特征在于,所述获取用户终端与主播终端的视频延时包括:
针对所述用户终端播放视频与所述主播终端播放视频的同一画面,获取所述用户终端播放该画面时的第三时间信息以及所述主播终端播放该画面时的第四时间信息;其中,所述主播终端播放该画面时的第四时间信息是所述主播设备确定并发送至所述服务器,由所述服务器转发至所述用户终端的;
将所述第三时间信息与所述第四时间信息的时间差作为所述用户终端与所述主播终端的视频延时。
3.一种确定预拉取时长方法,其特征在于,所述方法包括:
接收用户终端发送的预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时;其中,获取接收到播放视频的指令时的第一时间信息以及视频画面在所述用户终端屏幕上显示出来的第二时间信息;将所述第二时间信息与所述第一时间信息的时间差作为出视频时长;所述视频延时是指所述用户终端与所述主播终端播放视频的同一画面的时间差;
根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量;
根据所述预拉取I帧的数量,确定视频预拉取时长;
其中,根据公式VideoFetchIFrameCount=ThrStuckTime*StuckTime+ThrStuckTimes*StuckTimes+ThrDisplayTime*DisplayTime–ThrDelayTIme*DelayTime,确定预拉取I帧的数量;
式中,VideoFetchIFrameCount为预拉取I帧的数量,ThrStuckTime为卡顿时长对应的权重,StuckTime为卡顿时长,ThrStuckTimes为卡顿次数对应的权重,StuckTimes为卡顿次数,ThrDisplayTime为出视频时长对应的权重,DisplayTime为出视频时长,ThrDelayTIme为用户终端与主播终端的视频延时对应的权重,DelayTime为用户终端与主播终端的视频延时。
4.如权利要求3所述的方法,其特征在于,所述根据所述预拉取I帧的数量,确定视频预拉取时长包括:
获取图像组GOP的时长、当前时间信息、以及获取最近的I帧的时间信息,根据所述预拉取I帧的数量、图像组GOP的时长、当前时间信息、以及获取最近的I帧的时间信息确定视频预拉取时长。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
将所述预拉取I帧的数量与所述图像组GOP的时长的乘积作为音频预拉取时长;将所述音频预拉取时长与单个音频数据包的播放时长的比值作为预拉取的音频包数。
6.一种确定预拉取时长装置,其特征在于,所述装置包括:
获取模块,用于获取预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时;其中,获取接收到播放视频的指令时的第一时间信息以及视频画面在所述用户终端屏幕上显示出来的第二时间信息;将所述第二时间信息与所述第一时间信息的时间差作为出视频时长;所述视频延时是指所述用户终端与所述主播终端播放视频的同一画面的时间差;
发送模块,用于将所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时发送至服务器,使所述服务器根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量;根据所述预拉取I帧的数量,确定视频预拉取时长;
其中,根据公式VideoFetchIFrameCount=ThrStuckTime*StuckTime+ThrStuckTimes*StuckTimes+ThrDisplayTime*DisplayTime–ThrDelayTIme*DelayTime,确定预拉取I帧的数量;
式中,VideoFetchIFrameCount为预拉取I帧的数量,ThrStuckTime为卡顿时长对应的权重,StuckTime为卡顿时长,ThrStuckTimes为卡顿次数对应的权重,StuckTimes为卡顿次数,ThrDisplayTime为出视频时长对应的权重,DisplayTime为出视频时长,ThrDelayTIme为用户终端与主播终端的视频延时对应的权重,DelayTime为用户终端与主播终端的视频延时。
7.一种确定预拉取时长装置,其特征在于,所述装置包括:
接收模块,用于接收用户终端发送的预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时;其中,获取接收到播放视频的指令时的第一时间信息以及视频画面在所述用户终端屏幕上显示出来的第二时间信息;将所述第二时间信息与所述第一时间信息的时间差作为出视频时长;所述视频延时是指所述用户终端与所述主播终端播放视频的同一画面的时间差;
第一确定模块,用于根据所述预设时长内的卡顿次数、卡顿时长、出视频时长及用户终端与主播终端的视频延时确定预拉取I帧的数量;
第二确定模块,用于根据所述预拉取I帧的数量,确定视频预拉取时长;
其中,根据公式VideoFetchIFrameCount=ThrStuckTime*StuckTime+ThrStuckTimes*StuckTimes+ThrDisplayTime*DisplayTime–ThrDelayTIme*DelayTime,确定预拉取I帧的数量;
式中,VideoFetchIFrameCount为预拉取I帧的数量,ThrStuckTime为卡顿时长对应的权重,StuckTime为卡顿时长,ThrStuckTimes为卡顿次数对应的权重,StuckTimes为卡顿次数,ThrDisplayTime为出视频时长对应的权重,DisplayTime为出视频时长,ThrDelayTIme为用户终端与主播终端的视频延时对应的权重,DelayTime为用户终端与主播终端的视频延时。
8.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-2任一项所述的方法步骤或实现权利要求3-5任一项所述的方法步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-2任一项所述的方法步骤或实现权利要求3-5任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111038373.4A CN113766261B (zh) | 2021-09-06 | 2021-09-06 | 一种确定预拉取时长方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111038373.4A CN113766261B (zh) | 2021-09-06 | 2021-09-06 | 一种确定预拉取时长方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113766261A CN113766261A (zh) | 2021-12-07 |
CN113766261B true CN113766261B (zh) | 2024-06-11 |
Family
ID=78793148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111038373.4A Active CN113766261B (zh) | 2021-09-06 | 2021-09-06 | 一种确定预拉取时长方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113766261B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114697695B (zh) * | 2022-03-28 | 2024-03-08 | 阿里巴巴(中国)有限公司 | 直播数据推送方法、装置、设备及存储介质 |
CN114786055A (zh) * | 2022-04-15 | 2022-07-22 | 北京字节跳动网络技术有限公司 | 一种预加载方法、装置、电子设备及介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103533451A (zh) * | 2013-09-30 | 2014-01-22 | 广州华多网络科技有限公司 | 抖动缓存调节方法及其系统 |
CN108540821A (zh) * | 2018-04-23 | 2018-09-14 | 冼钇冰 | 一种网络视频缓存方法、装置及计算机存储介质 |
CN109618179A (zh) * | 2019-01-21 | 2019-04-12 | 北京数码视讯软件技术发展有限公司 | 超高清视频直播的快速起播方法及装置 |
CN109982159A (zh) * | 2017-12-27 | 2019-07-05 | 华为技术有限公司 | 在线播放流媒体的方法和终端 |
CN110536144A (zh) * | 2019-07-31 | 2019-12-03 | 腾讯科技(深圳)有限公司 | 一种直播处理方法、装置及存储介质 |
CN110611829A (zh) * | 2019-09-11 | 2019-12-24 | 北京达佳互联信息技术有限公司 | 视频预加载的方法、装置、电子设备及存储介质 |
CN111064954A (zh) * | 2019-12-25 | 2020-04-24 | 武汉绿色网络信息服务有限责任公司 | 一种可供旁路视频播放质量评价使用的方法和装置 |
WO2020199304A1 (zh) * | 2019-04-04 | 2020-10-08 | 网宿科技股份有限公司 | 一种同步播放消息流与音视频流的方法、装置和系统 |
CN112333526A (zh) * | 2020-10-26 | 2021-02-05 | 浙江大华技术股份有限公司 | 一种视频缓冲调节方法、装置、存储介质及电子装置 |
CN112822502A (zh) * | 2020-12-28 | 2021-05-18 | 阿里巴巴(中国)有限公司 | 直播去抖动的智能缓存与直播方法、设备及存储介质 |
CN113259706A (zh) * | 2021-06-28 | 2021-08-13 | 北京新唐思创教育科技有限公司 | 直播处理方法、装置、电子设备以及存储介质 |
-
2021
- 2021-09-06 CN CN202111038373.4A patent/CN113766261B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103533451A (zh) * | 2013-09-30 | 2014-01-22 | 广州华多网络科技有限公司 | 抖动缓存调节方法及其系统 |
CN109982159A (zh) * | 2017-12-27 | 2019-07-05 | 华为技术有限公司 | 在线播放流媒体的方法和终端 |
CN108540821A (zh) * | 2018-04-23 | 2018-09-14 | 冼钇冰 | 一种网络视频缓存方法、装置及计算机存储介质 |
CN109618179A (zh) * | 2019-01-21 | 2019-04-12 | 北京数码视讯软件技术发展有限公司 | 超高清视频直播的快速起播方法及装置 |
WO2020199304A1 (zh) * | 2019-04-04 | 2020-10-08 | 网宿科技股份有限公司 | 一种同步播放消息流与音视频流的方法、装置和系统 |
CN110536144A (zh) * | 2019-07-31 | 2019-12-03 | 腾讯科技(深圳)有限公司 | 一种直播处理方法、装置及存储介质 |
CN110611829A (zh) * | 2019-09-11 | 2019-12-24 | 北京达佳互联信息技术有限公司 | 视频预加载的方法、装置、电子设备及存储介质 |
CN111064954A (zh) * | 2019-12-25 | 2020-04-24 | 武汉绿色网络信息服务有限责任公司 | 一种可供旁路视频播放质量评价使用的方法和装置 |
CN112333526A (zh) * | 2020-10-26 | 2021-02-05 | 浙江大华技术股份有限公司 | 一种视频缓冲调节方法、装置、存储介质及电子装置 |
CN112822502A (zh) * | 2020-12-28 | 2021-05-18 | 阿里巴巴(中国)有限公司 | 直播去抖动的智能缓存与直播方法、设备及存储介质 |
CN113259706A (zh) * | 2021-06-28 | 2021-08-13 | 北京新唐思创教育科技有限公司 | 直播处理方法、装置、电子设备以及存储介质 |
Non-Patent Citations (1)
Title |
---|
一种智能终端数据共享中的预取缓存技术;杨培勇;赵志强;孙鹏;;网络新媒体技术;20120715(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113766261A (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109714634B (zh) | 一种直播数据流的解码同步方法、装置及设备 | |
CN113766261B (zh) | 一种确定预拉取时长方法、装置、电子设备及存储介质 | |
CN107147919B (zh) | 直播快速启播方法及系统 | |
CN109714622B (zh) | 一种视频数据处理方法、装置及电子设备 | |
CN107566918B (zh) | 一种视频分发场景下的低延时取流秒开方法 | |
US10638192B2 (en) | Live streaming quick start method and system | |
US20100242066A1 (en) | Method of Performing Random Seek Preview for Streaming Video | |
CA2742034C (en) | Device, method and system for service insertion during content display | |
US8774600B2 (en) | Splicing system | |
CN111601136B (zh) | 一种视频数据处理方法、装置、计算机设备及存储介质 | |
US8886765B2 (en) | System and method for predicitive trick play using adaptive video streaming | |
CN106993212B (zh) | 浏览器窗口中播放多路视频的方法及装置 | |
CN110519627B (zh) | 一种音频数据的同步方法和装置 | |
CN104080006A (zh) | 一种视频处理装置及方法 | |
CN112929713A (zh) | 数据同步方法、装置、终端及存储介质 | |
CN113271496B (zh) | 一种网络直播中视频平滑播放方法、系统和可读存储介质 | |
CN110139128B (zh) | 一种信息处理方法、拦截器、电子设备及存储介质 | |
CN113014981A (zh) | 视频播放方法、装置、电子设备及可读存储介质 | |
EP3320686A1 (en) | Enhanced restart tv | |
CA3104700A1 (en) | Systems and methods for providing media content for continuous watching | |
JPWO2014115389A1 (ja) | ビデオ表示装置及びビデオ表示方法 | |
CN110798713B (zh) | 时移电视点播方法、终端、服务器及系统 | |
US20210112314A1 (en) | Methods, systems, and media for streaming video content using adaptive buffers | |
CN105007521B (zh) | 一种ts视频的播放方法及装置 | |
CN108156515B (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 |