CN115623230A - 直播视频的播放方法、装置、电子设备及存储介质 - Google Patents
直播视频的播放方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115623230A CN115623230A CN202110797382.5A CN202110797382A CN115623230A CN 115623230 A CN115623230 A CN 115623230A CN 202110797382 A CN202110797382 A CN 202110797382A CN 115623230 A CN115623230 A CN 115623230A
- Authority
- CN
- China
- Prior art keywords
- video
- playing
- target
- live
- data block
- 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.)
- Pending
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/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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2183—Cache memory
-
- 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/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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- 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/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- 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/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
- H04N21/25841—Management of client data involving the geographical location of the client
-
- 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/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47217—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供了一种直播视频的播放方法、装置、电子设备及存储介质;方法包括:展示包括至少一个直播视频的信息流页面,并加载信息流页面中各直播视频的视频数据块,该视频数据块在信息流页面中被周期性的更新;响应于针对信息流页面中第一直播视频的播放指令,播放第一直播视频对应的目标视频数据块;发送第一直播视频对应的目标缓存数据的获取请求;其中,该目标缓存数据,归属于第一直播视频在当前直播时间点之前目标时长的历史直播数据,该目标时长大于或等于视频数据块的更新周期;接收返回的目标缓存数据,并当目标视频数据块播放结束后,播放目标缓存数据;通过本申请,能够提高直播视频播放的流畅度,减少视频帧跳跃、卡顿现象的发生。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种直播视频的播放方法、装置、电子设备及存储介质。
背景技术
相关技术中,针对待播放的直播视频,会按照固定的时间间隔预先加载相应的视频数据块,当开始播放某个直播视频时,则优先播放最新加载的视频数据块,并在播放结束后拉取最新直播数据进行播放。但是由于播放预加载的视频数据块,使得所播放的直播视频内容与最新直播数据之间在时间上是不衔接的,导致所播放的直播视频画面会出现跳帧、卡顿等现象。
发明内容
本申请实施例提供一种直播视频的播放方法、装置、电子设备及存储介质,能够提高直播视频播放的流畅度,减少视频帧跳跃、卡顿现象的发生。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种直播视频的播放方法,包括:
展示包括至少一个直播视频的信息流页面,并加载所述信息流页面中各直播视频的视频数据块,所述视频数据块在所述信息流页面中被周期性的更新;
响应于针对所述信息流页面中第一直播视频的播放指令,播放所述第一直播视频对应的目标视频数据块;
发送所述第一直播视频对应的目标缓存数据的获取请求;
其中,所述目标缓存数据,归属于所述第一直播视频在当前直播时间点之前目标时长的历史直播数据,所述目标时长大于或等于所述视频数据块的更新周期;
接收返回的所述目标缓存数据,并当所述目标视频数据块播放结束后,播放所述目标缓存数据。
本申请实施例还提供一种直播视频的播放装置,包括:
加载模块,用于展示包括至少一个直播视频的信息流页面,并加载所述信息流页面中各直播视频的视频数据块,所述视频数据块在所述信息流页面中被周期性的更新;
第一播放模块,用于响应于针对所述信息流页面中第一直播视频的播放指令,播放所述第一直播视频对应的目标视频数据块;
发送模块,用于发送所述第一直播视频对应的目标缓存数据的获取请求;
其中,所述目标缓存数据,归属于所述第一直播视频在当前直播时间点之前目标时长的历史直播数据,所述目标时长大于或等于所述视频数据块的更新周期;
第二播放模块,用于接收返回的所述目标缓存数据,并当所述目标视频数据块播放结束后,播放所述目标缓存数据。
上述方案中,所述加载模块,还用于针对所述信息流页面中各所述直播视频分别执行如下处理:
发送用于获取所述直播视频的视频数据块的第一获取请求;
接收到基于所述第一获取请求返回的目标互联网协议地址,其中,所述目标互联网协议地址所对应服务节点的地理位置,与展示所述信息流页面的终端的地理位置相匹配;
基于所述目标互联网协议地址,从所述服务节点拉取并加载所述直播视频的视频数据块。
上述方案中,所述加载模块,还用于获取所述信息流页面对应的视频播放地址,所述视频播放地址对应服务管理节点的互联网协议地址;
基于所述视频播放地址,调用服务管理接口发送所述第一获取请求至所述服务管理节点;
所述第一获取请求,用于所述服务管理节点确定地理位置与所述终端所处地理位置相匹配的服务节点,并返回所确定服务节点的目标互联网协议地址。
上述方案中,所述获取请求携带所述目标视频数据块对应的播放结束时间点,所述装置还包括:
解析模块,用于对所述目标视频数据块进行解析,得到所述目标视频数据块对应的播放结束时间点;
所述第二播放模块,还用于接收返回的所述目标缓存数据,所述目标缓存数据的播放起始时间点,位于所述播放结束时间点之后且与所述播放结束时间点相邻。
上述方案中,所述发送模块,还用于发送所述第一直播视频对应目标缓存数据的获取请求至服务管理节点;
其中,所述获取请求,用于所述服务管理节点查询缓存有所述历史直播数据的多个服务节点,并从所述多个服务节点中选择目标服务节点;
所述第二播放模块,还用于接收所述目标服务节点返回的所述目标缓存数据。
上述方案中,所述第二播放模块,还用于获取所述目标缓存数据对应的目标播放速度;
当所述目标视频数据块播放结束后,将当前播放速度调整为所述目标播放速度,并基于所述目标播放速度,播放所述目标缓存数据;
其中,所述目标播放速度大于所述当前播放速度。
上述方案中,所述第二播放模块,还用于获取所述目标缓存数据的播放时长;
确定所述播放时长所归属的播放时长区间,并将所述播放时长区间对应的播放速度作为所述目标播放速度。
上述方案中,所述第二播放模块,还用于在采用所述目标播放速度播放所述目标缓存数据的过程中,发送所述第一直播视频对应当前直播时间点的直播数据的获取请求;
接收到返回的所述当前直播时间点的直播数据,并在所述目标缓存数据播放结束后,将所述目标播放速度调整至标准播放速度;
采用所述标准播放速度播放所述当前直播时间点的直播数据。
上述方案中,所述装置还包括:
第三播放模块,用于在播放所述第一直播视频的过程中,响应于从所述第一直播视频切换至第二直播视频,播放加载的所述第二直播视频的视频数据块,并发送所述第二直播视频对应的缓存数据的获取请求;
其中,所述缓存数据,归属于所述第二直播视频在当前直播时间点之前目标时长的历史直播数据;
接收返回的所述缓存数据,并当加载的所述第二直播视频的视频数据块播放结束后,播放所述缓存数据。
上述方案中,所述装置还包括:
呈现模块,用于在所述信息流页面中,呈现对应各所述直播视频的播放功能项;
所述第一播放模块,还用于接收到基于所述目标播放视频对应的播放功能项所触发的、针对所述第一直播视频的播放指令;
响应于所述播放指令,播放所述第一直播视频对应的目标视频数据块。
上述方案中,所述呈现模块,还用于在所述信息流页面中,呈现对应各所述直播视频的加载提示信息;
其中,所述加载提示信息,用于提示相应直播视频的视频数据块加载成功。
上述方案中,所述加载模块,还用于加载所述信息流页面中各直播视频的第一视频数据块;
在所述视频数据块的更新周期内,检测是否接收到针对各所述直播视频的播放指令;
当未检测到针对各所述直播视频的播放指令时,在基于更新周期以及所述第一视频数据块的加载时间点,确定视频数据块的更新时间点到达时,加载各所述直播视频的第二视频数据块,并
释放所述第一视频数据块对应的缓存空间。
本申请实施例还提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的直播视频的播放方法。
本申请实施例还提供一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时,实现本申请实施例提供的直播视频的播放方法。
本申请实施例具有以下有益效果:
按照更新周期更新加载的信息流页面中各直播视频的视频数据块,当接收到针对第一直播视频的播放指令时,则优先播放第一直播视频的目标视频数据块,同时还获取第一直播视频对应的目标缓存数据,并在目标视频数据块播放结束后,播放该目标缓存数据;这里,该目标缓存数据归属于第一直播视频在当前直播时间点之前目标时长的历史直播数据,在视频数据块播放结束后,可以播放归属于历史直播数据的目标缓存数据,且由于目标时长大于或等于视频数据块的更新周期,使得目标缓存数据与所播放的视频数据块是衔接的,从而减少直接拉取当前时间点的最新直播数据所导致的视频帧跳跃、卡顿现象的发生,提高了直播视频播放的流畅度。
附图说明
图1是本申请实施例提供的直播视频的播放***100的架构示意图;
图2是本申请实施例提供的实施直播视频的播放方法的电子设备500的结构示意图;
图3是本申请实施例提供的直播视频的播放方法的流程示意图;
图4是本申请实施例提供的信息流页面的示意图;
图5是相关技术中提供的内容分发机制的示意图;
图6是本申请实施例提供的内容分发机制的示意图;
图7是本申请实施例提供的直播视频的缓存数据的示意图;
图8是本申请实施例提供的倍速播放的示意图;
图9是本申请实施例提供的直播视频的播放方法的示意图;
图10是本申请实施例提供的通过上下切换直播间切换直播视频的示意图;
图11是本申请实施例提供的直播视频播放启动耗时的示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)客户端,终端中运行的用于提供各种服务的应用程序,例如即时通讯客户端、视频播放客户端。
2)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
基于上述对本申请实施例中涉及的名词和术语的解释,下面说明本申请实施例提供的直播视频的播放***。参见图1,图1是本申请实施例提供的直播视频的播放***100的架构示意图,为实现支撑一个示例性应用,终端(示例性示出了终端400-1)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。
终端(如终端400-1),用于在图形界面410(示例性示出了图形界面410-1)展示包括至少一个直播视频的信息流页面,并加载信息流页面中各直播视频的视频数据块;响应于针对信息流页面中第一直播视频的播放指令,播放第一直播视频对应的目标视频数据块;发送第一直播视频对应的目标缓存数据的获取请求至服务器200;这里,视频数据块在信息流页面中被周期性的更新;
服务器200,用于接收到第一直播视频对应的目标缓存数据的获取请求;响应于获取请求,返回目标缓存数据;这里,目标缓存数据,归属于第一直播视频在当前直播时间点之前目标时长的历史直播数据,目标时长大于或等于视频数据块的更新周期;
终端(如终端400-1),用于接收返回的目标缓存数据,并当目标视频数据块播放结束后,播放目标缓存数据。
在实际应用中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端(如终端400-1)可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能电视、智能手表等,但并不局限于此。终端(如终端400-1)以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
参见图2,图2是本申请实施例提供的实施直播视频的播放方法的电子设备500的结构示意图。在实际应用中,电子设备500可以为图1示出的服务器或终端,以电子设备500为图1示出的终端为例,对实施本申请实施例的直播视频的播放方法的电子设备进行说明,本申请实施例提供的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线***540耦合在一起。可理解,总线***540用于实现这些组件之间的连接通信。总线***540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线***540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作***551,包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作***设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的直播视频的播放装置可以采用软件方式实现,图2示出了存储在存储器550中的直播视频的播放装置555,其可以是程序和插件等形式的软件,包括以下软件模块:加载模块5551、第一播放模块5552、发送模块5553和第二播放模块5554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的直播视频的播放装置可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的直播视频的播放装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的直播视频的播放方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,ApplicationSpecific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable LogicDevice)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
基于上述对本申请实施例提供的直播视频的播放***及电子设备的说明,下面说明本申请实施例提供的直播视频的播放方法。在一些实施例中,本申请实施例提供的直播视频的播放方法可由服务器或终端单独实施,或由服务器及终端协同实施,下面以终端实施为例说明本申请实施例提供的直播视频的播放方法。参见图3,图3是本申请实施例提供的直播视频的播放方法的流程示意图,本申请实施例提供的直播视频的播放方法包括:
步骤101:终端展示包括至少一个直播视频的信息流页面,并加载信息流页面中各直播视频的视频数据块。
其中,该视频数据块在信息流页面中被周期性的更新。
这里,终端设置有具备直播功能的客户端,比如直播客户端、即时通信客户端等;主播端可通过设置有客户端的终端进行直播,并将直播视频实时传输给后台服务器,由后台服务器转发至观众端,从而使观众端通过设置的客户端进行直播视频的观看。当接收到针对客户端的运行指令时,终端运行客户端并展示包括直播视频的信息流页面,该信息流页面中的直播视频的数量可以是一个,也可以是多个,用户可通过滑动信息流页面,更新信息流页面中所呈现的直播视频,从而观看到更多的直播视频。
在终端展示包括至少一个直播视频的信息流页面时,可以预先加载信息流页面中各直播视频的视频数据块,以在用户播放某个直播视频时,可以避免加载等待时间,实现直播视频的快速观看,提高用户直播观看体验。在实际应用中,该视频数据块对应相应直播视频包含的预设时长的视频片段,比如视频数据块可以是30s的视频片段的视频数据。
在实际应用中,各直播视频的视频数据块在信息流页面中被周期性的更新,该周期性更新的更新周期可以是预先设置,比如更新周期可以是30秒,即信息流页面中各直播视频的视频数据块,每隔30秒进行一次更新,具体可以是每隔30秒加载各直播视频的一个视频数据块,该每次加载的直播视频的视频数据块所包含的是当前直播时间点的直播视频数据。
在一些实施例中,终端可通过如下方式加载信息流页面中各直播视频的视频数据块:加载信息流页面中各直播视频的第一视频数据块;在视频数据块的更新周期内,检测是否接收到针对各直播视频的播放指令;当未检测到针对各直播视频的播放指令时,在基于更新周期以及第一视频数据块的加载时间点,确定视频数据块的更新时间点到达时,加载各直播视频的第二视频数据块,并释放第一视频数据块对应的缓存空间。
这里,终端加载信息流页面中各直播视频的第一视频数据块,在加载完成后,在视频数据块的更新周期内,比如在更新周期30秒以内,对是否接收到针对直播视频(比如信息流页面中的某个直播视频)的播放指令进行检测。当检测到针对直播视频的播放指令时,则播放该直播视频的视频数据块;当未检测到针对直播视频的播放指令时,则根据视频数据块的更新周期以及第一视频数据块的加载时间点(也即第一视频数据块的更新时间点),确定视频数据块的更新时间点是否到达。当确定视频数据块的更新时间点到达时,则加载各直播视频的第二视频数据块。
在实际应用中,在加载各直播视频的第二视频数据块后,可以释放第一视频数据块对应的缓存空间,以减少存储空间的占用,提高存储空间的利用率。
在一些实施例中,终端可通过如下方式加载信息流页面中各直播视频的视频数据块:针对信息流页面中各直播视频分别执行如下处理:发送用于获取直播视频的视频数据块的第一获取请求;接收到基于第一获取请求返回的目标互联网协议地址,其中,该目标互联网协议地址所对应服务节点的地理位置,与展示信息流页面的终端的地理位置相匹配;基于目标互联网协议地址,从服务节点拉取并加载直播视频的视频数据块。
这里,针对信息流页面中的各直播视频可分别执行如下处理,以加载各直播视频的视频数据块:终端可以发送用于获取直播视频的视频数据块的第一获取请求,比如将该第一获取请求发送至直播视频对应的后台服务节点。
在一些实施例中,终端可通过如下方式发送用于获取直播视频的视频数据块的第一获取请求:获取信息流页面对应的视频播放地址,该视频播放地址对应服务管理节点的互联网协议地址;基于视频播放地址,调用服务管理接口发送第一获取请求至服务管理节点;该第一获取请求,用于服务管理节点确定地理位置与终端所处地理位置相匹配的服务节点,并返回所确定服务节点的目标互联网协议地址。
这里,在实际应用中,后台服务节点可以为一个服务节点集群,该服务节点集群包含至少两个服务节点,包括主服务节点以及从服务节点,该主服务节点可以是预先设置的,也可以是通过选举机制选取的。该服务节点集群用于为信息流页面的直播视频提供视频数据的拉取(指从视频源服务器拉取视频源数据)、存储(缓存)、下发等服务。当终端发送第一获取请求时,可以发送至该服务节点集群,具体是发送至该服务节点集群的主服务节点,即服务管理节点,因此,需要首先获取该服务管理节点的互联网协议地址。
在实际实施时,终端通过获取信息流页面对应的视频播放地址,以获取服务管理节点的互联网协议地址。从而基于视频播放地址,调用服务管理接口发送第一获取请求至服务管理节点。服务管理节点接收到该第一获取请求,从服务节点集群中,确定地理位置与终端所处地理位置相匹配的服务节点,并返回所确定服务节点的目标互联网协议地址。
具体地,服务管理节点获取该终端所处地理位置,并确定终端所处地理位置与各服务节点的地理位置之间的距离,确定距离满足距离条件(比如距离小于距离阈值)的目标服务节点,为地理位置与终端所处地理位置相匹配的服务节点;或者可以预先设置每个服务节点对应的服务位置区域,确定终端所处地理位置归属于哪个服务节点的服务位置区域,从而将终端所处地理位置所归属的服务位置区域对应的服务节点,为地理位置与终端所处地理位置相匹配的服务节点。
终端接收到服务管理节点返回的目标互联网协议地址,基于目标互联网协议地址,从服务节点拉取并加载直播视频的视频数据块。
步骤102:响应于针对信息流页面中第一直播视频的播放指令,播放第一直播视频对应的目标视频数据块。
这里,终端在展示包括至少一个直播视频的信息流页面,并加载各直播视频的视频数据块后,用户可以通过触发针对直播视频的播放指令,以播放该直播视频的视频数据块,从而实现直播视频的观看。当终端接收到针对信息流页面中第一直播视频的播放指令时,响应于针对第一直播视频的播放指令,播放第一直播视频对应的目标视频数据块。
在一些实施例中,终端展示包括至少一个直播视频的信息流页面之后,还可在信息流页面中,呈现对应各直播视频的播放功能项;
相应的,终端可通过如下方式播放第一直播视频对应的目标视频数据块:接收到基于目标播放视频对应的播放功能项所触发的、针对第一直播视频的播放指令;响应于播放指令,播放第一直播视频对应的目标视频数据块。
在实际应用中,终端展示包括至少一个直播视频的信息流页面之后,可以在信息流页面中呈现对应各直播视频的播放功能项,响应于针对第一直播视频的播放功能项的触发操作,接收到针对第一直播视频的播放指令;响应于该播放指令,播放第一直播视频对应的目标视频数据块。
在一些实施例中,终端展示包括至少一个直播视频的信息流页面之后,还可在信息流页面中,呈现对应各直播视频的加载提示信息;其中,该加载提示信息,用于提示相应直播视频的视频数据块加载成功。
在实际应用中,终端还可以在信息流页面中,呈现对应各直播视频的加载提示信息,以通过该加载提示信息,提示用户相应直播视频的视频数据块已经加载成功。如此,可以协助用户优先选择已经加载完成的直播视频进行观看,避免等待时间。
作为示例,参见图4,图4是本申请实施例提供的信息流页面的示意图。这里,在信息流页面中,呈现有对应各直播视频的播放功能项“播放”,并针对已经加载成功视频数据块的直播视频,呈现对应的加载提示信息“已预加载”。响应于针对第一直播视频的播放功能项“播放”的触发操作,接收到针对第一直播视频的播放指令,播放第一直播视频对应的目标视频数据块。
步骤103:发送第一直播视频对应的目标缓存数据的获取请求。
其中,该目标缓存数据,归属于第一直播视频在当前直播时间点之前目标时长的历史直播数据,该目标时长大于或等于视频数据块的更新周期。
这里,终端在播放第一直播视频对应的目标视频数据块的同时,发送第一直播视频对应的目标缓存数据的获取请求。该目标缓存数据,归属于第一直播视频在当前直播时间点之前目标时长的历史直播数据,该目标时长大于或等于视频数据块的更新周期,从而保证目标视频数据块可以和历史直播数据之间是可以衔接的,避免出现跳帧、卡顿等现象。
在实际实施时,终端可以向直播视频的后台服务器发送该获取请求。后台服务接收到该获取请求后,获取所缓存的第一直播视频在当前播放时间点之前目标时长的历史直播数据,从而将历史直播数据中的全部数据、或者与目标视频数据块在播放时间点上相衔接的部分历史直播数据作为目标缓存数据返回至终端。
步骤104:接收返回的目标缓存数据,并当目标视频数据块播放结束后,播放目标缓存数据。
这里,终端接收到返回的目标缓存数据,在目标视频数据块播放结束后,则播放该目标缓存数据。
在一些实施例中,该获取请求携带目标视频数据块对应的播放结束时间点,该播放结束时间点可通过如下方式得到:对目标视频数据块进行解析,得到目标视频数据块对应的播放结束时间点;
相应的,终端可通过如下方式接收返回的目标缓存数据:接收返回的目标缓存数据,该目标缓存数据的播放起始时间点,位于播放结束时间点之后且与播放结束时间点相邻。
在实际应用中,终端发送的获取请求可以携带有目标视频数据块对应的播放结束时间点。具体地,该播放结束时间点是通过如下方式确定:终端在播放目标视频数据块的同时,对目标视频数据块进行解析,得到目标视频数据块对应的播放时间点,该播放时间点可以包括目标视频数据块对应的每一个视频帧对应的播放时间点,基于此,可以确定目标视频数据对应的播放结束时间点。
相应的,当所发送的获取请求携带目标视频数据块对应的播放结束时间点时,终端接收到的目标缓存数据的播放起始时间点,位于播放结束时间点之后且与播放结束时间相邻。如此,保证终端在播放结束目标视频数据块之后,所播放的目标缓存数据可以同目标视频数据块无缝衔接,从而避免视频帧跳跃、卡顿等现象的发生。
在一些实施例中,终端可通过如下方式发送第一直播视频对应的目标缓存数据的获取请求:发送第一直播视频对应目标缓存数据的获取请求至服务管理节点;其中,该获取请求,用于服务管理节点查询缓存有历史直播数据的多个服务节点,并从多个服务节点中选择目标服务节点;
相应的,终端可通过如下方式接收返回的目标缓存数据:接收目标服务节点返回的目标缓存数据。
这里,终端将第一直播视频对应目标缓存数据的获取请求发送至服务节点集群中的服务管理节点;然后服务管理节点查询缓存有第一直播视频的历史直播数据的多个服务节点,然后从多个服务节点中选择目标服务节点。具体地,可以根据终端所处的地理位置,从多个服务节点中选择与终端所处地理位置相匹配的目标服务节点。如此,服务管理节点优先考虑已经缓存有第一直播视频的历史直播数据的服务节点,可以提高资源的利用率,避免多次从视频源服务器拉取视频数据。
在一些实施例中,终端可通过如下方式播放目标缓存数据:获取目标缓存数据对应的目标播放速度;当目标视频数据块播放结束后,将当前播放速度调整为目标播放速度,并基于目标播放速度,播放目标缓存数据;其中,该目标播放速度大于当前播放速度。
这里,由于终端在播放结束目标视频数据块后,所播放的目标缓存数据为历史直播数据,所以所播放的视频数据和当前播放时间点的直播数据之间存在延时。因此,在本申请实施例中,在播放目标缓存数据时,采用比当前播放速度要大的目标播放速度播放。具体地,将当前播放速度调整为目标播放速度,并基于目标播放速度,播放目标缓存数据。
在一些实施例中,终端可通过如下方式获取目标缓存数据对应的目标播放速度:获取目标缓存数据的播放时长;确定播放时长所归属的播放时长区间,并将播放时长区间对应的播放速度作为目标播放速度。
在实际应用中,可以获取目标缓存数据的播放时长,然后确定播放时长所归属的播放时长区间,从而将播放时长区间对应的播放速度作为目标播放速度。这里,该播放时长区间可以是预先设置的,比如0s-5s、6s-10s、11s-15s等,然后针对每个播放时长区间设置相应的播放速度,比如0s-5s对应1.1倍速。
在一些实施例中,终端可通过如下方式播放当前直播时间点的直播数据:在采用目标播放速度播放目标缓存数据的过程中,发送第一直播视频对应当前直播时间点的直播数据的获取请求;接收到返回的当前直播时间点的直播数据,并在目标缓存数据播放结束后,将目标播放速度调整至标准播放速度;采用标准播放速度播放当前直播时间点的直播数据。
在实际应用中,终端在采用目标播放速度播放目标缓存数据的过程中,会获取第一直播视频对应当前直播时间点的直播数据,以在目标缓存数据播放结束后接续播放当前直播时间点的直播数据,从而降低或者消除所播放视频和当前直播时间点的直播内容之间的延时。
具体地,终端在采用目标播放速度播放目标缓存数据的过程中,可以发送第一直播视频对应当前直播时间点的直播数据的获取请求至用于提供直播服务的服务器,比如上述提供目标缓存数据的目标服务节点。服务器接收到该获取请求后,响应于该获取请求,将当前直播时间点的直播数据返回至终端。终端接收到返回的当前直播时间点的直播数据,并在目标缓存数据播放结束后,调整目标播放速度至标准播放速度,比如将2倍速播放调整至标准播放速度(即1倍速播放),从而采用标准播放速度播放当前直播时间点的直播数据。
在一些实施例中,终端在播放第一直播视频的过程中,响应于从第一直播视频切换至第二直播视频,播放加载的第二直播视频的视频数据块,并发送第二直播视频对应的缓存数据的获取请求;其中,该缓存数据,归属于第二直播视频在当前直播时间点之前目标时长的历史直播数据;接收返回的缓存数据,并当加载的第二直播视频的视频数据块播放结束后,播放缓存数据。
这里,终端在播放第一直播视频后,还可以从第一直播视频切换至第二直播视频以实现第二直播视频的观看。在实际实施时,终端可以通过直播界面播放该第一直播视频,此时可以通过上下滑动的方式切换直播界面所呈现的直播视频,即从第一直播视频切换至第二直播视频,参见图10,用户通过上滑方式从当前直播间切换至下一直播间,即从当前直播间的第一直播视频切换至下一直播间的第二直播视频。当然,在一些实施例中,终端还可以退出当前正在播放的第一直播视频以返回信息流页面,然后再通过触发针对第二直播视频的播放指令,以实现从第一直播视频到第二直播视频的切换。
在实际应用中,终端在播放第一直播视频的过程中,当从第一直播视频切换至第二直播视频时,可以播放加载的第二直播视频的视频数据块,同时发送第二直播视频对应的缓存数据的获取请求,从而接收到基于该获取请求返回的缓存数据,然后在加载的第二直播视频的视频数据块播放结束后,播放该缓存数据。这里,该缓存数据,归属于第二直播视频在当前直播时间点之前目标时长的历史直播数据。
应用本申请上述实施例,按照更新周期更新加载的信息流页面中各直播视频的视频数据块,当接收到针对第一直播视频的播放指令时,则优先播放第一直播视频的目标视频数据块,同时还获取第一直播视频对应的目标缓存数据,并在目标视频数据块播放结束后,播放该目标缓存数据;这里,该目标缓存数据归属于第一直播视频在当前直播时间点之前目标时长的历史直播数据,在视频数据块播放结束后,可以播放归属于历史直播数据的目标缓存数据,且由于目标时长大于或等于视频数据块的更新周期,使得目标缓存数据与所播放的视频数据块是衔接的,从而减少直接拉取当前时间点的最新直播数据所导致的视频帧跳跃、卡顿现象的发生,提高了直播视频播放的流畅度。
下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
相关技术中,终端播放直播视频时,多采用多播放器方案。具体地,终端使用多个播放器,当在播放当前直播视频时,通过播放地址预先拉取下一个视频的视频流,这个视频流只下载视频,不做视频播放。当用户切换到这个视频时,将预先下载的视频解码播放,达到快速播放下一个视频的功能。但是,同时拉取两个视频流,视频码率大,多播放器,占用更多的内存、CPU、带宽等终端设备资源,降低了当前终端设备的可用资源,可能引起手机的功耗高、发烫、卡顿等情况,一定程度降低用户终端体验。此外,终端播放直播视频时,还采用“单播放器+预下载”方案。具体地,当前播放器播放当前视频,通过下一个视频的播放地址,用下载器下载一个视频数据块,之后停止下载。间隔1分钟后,又下载一个视频数据块。循环如此。当用户切换播放到这个播放地址时,优先播放这个视频数据块,播放完视频数据块后直接拉取当前直播时间点的最新直播视频,此时,视频画面会有跳跃,视频数据块的画面和最新的直播视频是不衔接的。
基于此,本申请实施例还提供一种直播视频的播放方法,以解决上述存在的问题。具体地,当前播放器播放当前视频,通过下一个视频的播放地址,用下载器下载一个视频小块,之后停止下载。间隔30s后,又下载一个视频数据块,循环如此。当用户切换播放到这个播放地址时,优先播放这个视频数据块,播放完视频数据块后通过无缝衔接技术,基于视频数据块的结束时间戳,从后台服务器请求预先缓存的最近直播视频数据,从而继续播放视频数据块后面的视频画面,可以做到无缝衔接,达到视频帧不跳越;同时通过倍速播放视频数据块后面的视频画面,降低时延。本申请实施例提供的直播视频的播放方法,结合服务端的IP聚集、精准拉流方案,通过终端本地预加载、解复用、播放器倍速播放等技术,达到视频帧不跳跃、降低时延、提高用户体验,可应用于在线直播视频场景。本申请实施例提供的直播视频的播放方法包括IP聚集内容分发技术、精准吐流技术和倍速播放技术,接下来进行分别说明。
第一,IP聚集内容分发技术。
相关技术中的CDN内容分发机制,用户请求拉取视频流时,在同一网络区域,哪个机房的负载低,则连接到哪台机房,机房中的哪台设备低,则使用哪台服务器设备。如图5所示,图5是相关技术中提供的内容分发机制的示意图。这里,该网络区域包含三个服务器机房(分别为机房A、机房B、机房C),每个机房的负载分别是:40%、50%、45%。当用户需要获取视频源时,根据负载均衡,用户会连接到机房A,因为机房A的负载最低。连接到机房A后,机房A中有三台服务器设备(包括服务器1、服务器2、服务器3),根据这三台服务器设备的负载情况,用户会连接到服务器设备2(因为服务器设备2的负载最低),服务器设备2上的视频内容将从视频源服务器拉取,然后分发给用户。即整个用户连接CDN服务器的原则就是:哪台设备负载低,使用哪台设备。下一个用户观看同样的视频,有可能连接到服务器设备3,服务器设备3上没有该视频数据,则又需要从视频源服务器拉取,导致服务器设备2和服务器设备3的资源冗余,虽然观看同一个视频,但是没有重复利用同一份视频数据,导致资源的浪费。
基于此,本申请实施例提供一种基于IP聚集技术的内容分发方案。具体地,通过IP聚集技术,能将同一网络区域的用户聚集到一个服务器机房,使精准吐流的服务器资源能充分利用,达到更好的效果。如图6所示,图6是本申请实施例提供的内容分发机制的示意图。这里,(1)用户A需要观看直播视频,请求IP聚集服务;(2)IP聚集服务向用户A返回了“机房A的服务器2”的IP地址;(3)用户A通过IP地址找到“机房A的服务器2”,从服务器2拉取视频流进行播放;(4)用户B也要观看该直播视频,请求IP聚集服务;(5)在“机房A的服务器2”不是满负荷的情况下,IP聚集服务向用户B也返回“机房A的服务器2”的IP地址;(6)用户B也会到服务器2中,拉取视频流进行播放。如此,服务器2中的同一份视频数据得到了充分的利用。
第二,精准吐流技术。
如图7所示,图7是本申请实施例提供的直播视频的缓存数据的示意图。这里,用户请求直播视频内容,提供内容分发的服务器,会缓存一个30秒的视频缓存数据。具体地,用户A通过“机房A的服务器2”播放直播视频,在播放的过程中,服务器2会缓存最近30秒的直播视频流,即视频缓存数据。当用户B通过“机房A的服务器2”播放该直播视频时,首先播放该直播视频对应的预加载的视频数据块,并同时向服务器2请求该缓存的视频缓存数据,具体地,基于该视频数据块的时间戳,获取在该视频数据块之后待播放的视频缓存数据,从而在视频数据块播放结束后,继续播放该视频缓存数据,具体地,根据时间戳,接续该时间戳对应的视频缓存数据开始进行播放,比如可以从第10s的视频缓存数据开始播放。如此,实现了视频的无缝衔接播放,即只要这个直播在一个网络区域有一个用户播放,当这个网络区域其它用户播放时,即可以体验到视频无缝衔接。
第三,倍速播放技术。
如图8所示,图8是本申请实施例提供的倍速播放的示意图。这里,精准吐流会带来较高的延时,即用户B从10秒的缓存处开始播放时,用户B播放的视频与当前直播时间点对应的最新直播视频有20秒的延时。此时,用户B通过播放器倍速播放,比如设置1.4倍速,20秒的直播延时将被慢慢减少,最终达到与最新直播数据同步的效果。
接下来以直播信息流页面(即直播Feeds页面)的直播视频的播放为例,对本申请实施例提供的直播视频的播放方法进行详细说明。参见图9,图9是本申请实施例提供的直播视频的播放方法的示意图,这里:
(1)用户进入信息流页面,终端获取信息流页面所有直播视频的视频播放地址,比如“http://ip:port/id.flv”。
(2)终端通过IP聚集接口发送直播视频的视频数据获取请求至IP聚集服务。
(3)IP聚集服务通过IP聚集接口向同一个网络区域、所有播放该直播视频的终端,下发相同的OC服务器的IP地址,即oc_ip,此时终端将播放器地址由“http://ip:port/id.flv”修改为“http://oc_ip:port/id.flv”,并向同一个服务器发起视频数据获取请求,即OC请求。
(4)终端通过预加载模块基于每个直播视频的播放地址“http://oc_ip:port/id.flv”,下载对应各直播视频的视频数据块,该视频数据块可以包含2秒的视频内容。
(5)如果在一个视频数据块的更新周期内(比如30s内),用户没有操作该信息流页面,则在下一个视频数据块更新时间点到达时,重新下载一个新的视频数据块。若用户一直没有操作该信息流页面,则循环此步骤。
(6)用户点击一个直播视频的播放按钮,终端播放该直播视频对应的预先下载好的2秒视频数据块。
这里,信息流页面中的每个直播视频,均对应有相应的直播播放按钮。
(7)在播放视频数据块的同时,解析视频数据块中的时间戳,当该视频数据块播放完毕时,通过携带该时间戳timespan,向服务器请求后续视频数据,服务器将从2秒视频数据块的播放结束位置,继续下发后续视频缓存数据。
(8)终端播放完视频数据块后,继续播放后续视频缓存数据。
具体地,因为服务器有视频缓存,此时用户播放的直播视频与当前直播时间点的直播视频相比会有较高的延时。比如延时有20秒,为解决延时高的问题,终端播放器会启用倍速播放功能,比如将倍速设置为1.4倍,用户将在14秒后,播放完这个20秒的缓存视频,最后达到最低延时后,将播放器倍速设置为1倍速,恢复正常播放。
参见图10,图10是本申请实施例提供的通过上下切换直播间切换直播视频的示意图。这里,用户通过上下切换直播房的方式观看直播视频,也可以采用上述直播视频的播放方法。用户在观看当前直播间的直播视频时,终端将获取下一个直播间的视频播放地址,并加载相应的视频数据块,从而在切换到下一直播间时,播放该加载的视频数据块。同时,解析视频数据块中的时间戳,当该视频数据块播放完毕时,通过携带该时间戳timespan,向服务器请求后续视频数据,服务器将从2秒视频数据块的播放结束位置,继续下发后续视频缓存数据;终端播放完视频数据块后,继续播放后续视频缓存数据。
应用本申请上述实施例,可以显著提升直播视频的播放启动速度,可以满足又快又稳定的播放体验。参见图11,图11是本申请实施例提供的直播视频播放启动耗时的示意图,这里,从信息流页面进入直播间的场景中,可以将音视频进房到首帧视频渲染的时间缩短到207ms;将上下切换直播房间到当前直播间的首帧视频渲染的时间缩短到155ms。且在切换播放直播间过程无直播卡顿,无视频帧跳跃,低延时。
下面继续说明本申请实施例提供的直播视频的播放装置555的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器550的直播视频的播放装置555中的软件模块可以包括:
加载模块5551,用于展示包括至少一个直播视频的信息流页面,并加载所述信息流页面中各直播视频的视频数据块,所述视频数据块在所述信息流页面中被周期性的更新;
第一播放模块5552,用于响应于针对所述信息流页面中第一直播视频的播放指令,播放所述第一直播视频对应的目标视频数据块;
发送模块5553,用于发送所述第一直播视频对应的目标缓存数据的获取请求;
其中,所述目标缓存数据,归属于所述第一直播视频在当前直播时间点之前目标时长的历史直播数据,所述目标时长大于或等于所述视频数据块的更新周期;
第二播放模块5554,用于接收返回的所述目标缓存数据,并当所述目标视频数据块播放结束后,播放所述目标缓存数据。
在一些实施例中,所述加载模块5551,还用于针对所述信息流页面中各所述直播视频分别执行如下处理:
发送用于获取所述直播视频的视频数据块的第一获取请求;
接收到基于所述第一获取请求返回的目标互联网协议地址,其中,所述目标互联网协议地址所对应服务节点的地理位置,与展示所述信息流页面的终端的地理位置相匹配;
基于所述目标互联网协议地址,从所述服务节点拉取并加载所述直播视频的视频数据块。
在一些实施例中,所述加载模块5551,还用于获取所述信息流页面对应的视频播放地址,所述视频播放地址对应服务管理节点的互联网协议地址;
基于所述视频播放地址,调用服务管理接口发送所述第一获取请求至所述服务管理节点;
所述第一获取请求,用于所述服务管理节点确定地理位置与所述终端所处地理位置相匹配的服务节点,并返回所确定服务节点的目标互联网协议地址。
在一些实施例中,所述获取请求携带所述目标视频数据块对应的播放结束时间点,所述装置还包括:
解析模块,用于对所述目标视频数据块进行解析,得到所述目标视频数据块对应的播放结束时间点;
所述第二播放模块5554,还用于接收返回的所述目标缓存数据,所述目标缓存数据的播放起始时间点,位于所述播放结束时间点之后且与所述播放结束时间点相邻。
在一些实施例中,所述发送模块5553,还用于发送所述第一直播视频对应目标缓存数据的获取请求至服务管理节点;
其中,所述获取请求,用于所述服务管理节点查询缓存有所述历史直播数据的多个服务节点,并从所述多个服务节点中选择目标服务节点;
所述第二播放模块5554,还用于接收所述目标服务节点返回的所述目标缓存数据。
在一些实施例中,所述第二播放模块5554,还用于获取所述目标缓存数据对应的目标播放速度;
当所述目标视频数据块播放结束后,将当前播放速度调整为所述目标播放速度,并基于所述目标播放速度,播放所述目标缓存数据;
其中,所述目标播放速度大于所述当前播放速度。
在一些实施例中,所述第二播放模块5554,还用于获取所述目标缓存数据的播放时长;
确定所述播放时长所归属的播放时长区间,并将所述播放时长区间对应的播放速度作为所述目标播放速度。
在一些实施例中,所述第二播放模块5554,还用于在采用所述目标播放速度播放所述目标缓存数据的过程中,发送所述第一直播视频对应当前直播时间点的直播数据的获取请求;
接收到返回的所述当前直播时间点的直播数据,并在所述目标缓存数据播放结束后,将所述目标播放速度调整至标准播放速度;
采用所述标准播放速度播放所述当前直播时间点的直播数据。
在一些实施例中,所述装置还包括:
第三播放模块,用于在播放所述第一直播视频的过程中,响应于从所述第一直播视频切换至第二直播视频,播放加载的所述第二直播视频的视频数据块,并发送所述第二直播视频对应的缓存数据的获取请求;
其中,所述缓存数据,归属于所述第二直播视频在当前直播时间点之前目标时长的历史直播数据;
接收返回的所述缓存数据,并当加载的所述第二直播视频的视频数据块播放结束后,播放所述缓存数据。
在一些实施例中,所述装置还包括:
呈现模块,用于在所述信息流页面中,呈现对应各所述直播视频的播放功能项;
所述第一播放模块5552,还用于接收到基于所述目标播放视频对应的播放功能项所触发的、针对所述第一直播视频的播放指令;
响应于所述播放指令,播放所述第一直播视频对应的目标视频数据块。
在一些实施例中,所述呈现模块,还用于在所述信息流页面中,呈现对应各所述直播视频的加载提示信息;
其中,所述加载提示信息,用于提示相应直播视频的视频数据块加载成功。
在一些实施例中,所述加载模块5551,还用于加载所述信息流页面中各直播视频的第一视频数据块;
在所述视频数据块的更新周期内,检测是否接收到针对各所述直播视频的播放指令;
当未检测到针对各所述直播视频的播放指令时,在基于更新周期以及所述第一视频数据块的加载时间点,确定视频数据块的更新时间点到达时,加载各所述直播视频的第二视频数据块,并
释放所述第一视频数据块对应的缓存空间。
应用本申请上述实施例,按照更新周期更新加载的信息流页面中各直播视频的视频数据块,当接收到针对第一直播视频的播放指令时,则优先播放第一直播视频的目标视频数据块,同时还获取第一直播视频对应的目标缓存数据,并在目标视频数据块播放结束后,播放该目标缓存数据;这里,该目标缓存数据归属于第一直播视频在当前直播时间点之前目标时长的历史直播数据,在视频数据块播放结束后,可以播放归属于历史直播数据的目标缓存数据,且由于目标时长大于或等于视频数据块的更新周期,使得目标缓存数据与所播放的视频数据块是衔接的,从而减少直接拉取当前时间点的最新直播数据所导致的视频帧跳跃、卡顿现象的发生,提高了直播视频播放的流畅度。
本申请实施例还提供一种电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的直播视频的播放方法。
本申请实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的直播视频的播放方法。
本申请实施例还提供一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时,实现本申请实施例提供的直播视频的播放方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件***中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种直播视频的播放方法,其特征在于,所述方法包括:
展示包括至少一个直播视频的信息流页面,并加载所述信息流页面中各直播视频的视频数据块,所述视频数据块在所述信息流页面中被周期性的更新;
响应于针对所述信息流页面中第一直播视频的播放指令,播放所述第一直播视频对应的目标视频数据块;
发送所述第一直播视频对应的目标缓存数据的获取请求;
其中,所述目标缓存数据,归属于所述第一直播视频在当前直播时间点之前目标时长的历史直播数据,所述目标时长大于或等于所述视频数据块的更新周期;
接收返回的所述目标缓存数据,并当所述目标视频数据块播放结束后,播放所述目标缓存数据。
2.如权利要求1所述的方法,其特征在于,所述加载所述信息流页面中各直播视频的视频数据块,包括:
针对所述信息流页面中各所述直播视频分别执行如下处理:
发送用于获取所述直播视频的视频数据块的第一获取请求;
接收到基于所述第一获取请求返回的目标互联网协议地址,其中,所述目标互联网协议地址所对应服务节点的地理位置,与展示所述信息流页面的终端的地理位置相匹配;
基于所述目标互联网协议地址,从所述服务节点拉取并加载所述直播视频的视频数据块。
3.如权利要求2所述的方法,其特征在于,所述发送用于获取所述直播视频的视频数据块的第一获取请求,包括:
获取所述信息流页面对应的视频播放地址,所述视频播放地址对应服务管理节点的互联网协议地址;
基于所述视频播放地址,调用服务管理接口发送所述第一获取请求至所述服务管理节点;
所述第一获取请求,用于所述服务管理节点确定地理位置与所述终端所处地理位置相匹配的服务节点,并返回所确定服务节点的目标互联网协议地址。
4.如权利要求1所述的方法,其特征在于,所述获取请求携带所述目标视频数据块对应的播放结束时间点,所述方法还包括:
对所述目标视频数据块进行解析,得到所述目标视频数据块对应的播放结束时间点;
所述接收返回的所述目标缓存数据,包括:
接收返回的所述目标缓存数据,所述目标缓存数据的播放起始时间点,位于所述播放结束时间点之后且与所述播放结束时间点相邻。
5.如权利要求1所述的方法,其特征在于,所述发送所述第一直播视频对应的目标缓存数据的获取请求,包括:
发送所述第一直播视频对应目标缓存数据的获取请求至服务管理节点;
其中,所述获取请求,用于所述服务管理节点查询缓存有所述历史直播数据的多个服务节点,并从所述多个服务节点中选择目标服务节点;
所述接收返回的所述目标缓存数据,包括:
接收所述目标服务节点返回的所述目标缓存数据。
6.如权利要求1所述的方法,其特征在于,所述当所述目标视频数据块播放结束后,播放所述目标缓存数据,包括:
获取所述目标缓存数据对应的目标播放速度;
当所述目标视频数据块播放结束后,将当前播放速度调整为所述目标播放速度,并基于所述目标播放速度,播放所述目标缓存数据;
其中,所述目标播放速度大于所述当前播放速度。
7.如权利要求6所述的方法,其特征在于,所述获取所述目标缓存数据对应的目标播放速度,包括:
获取所述目标缓存数据的播放时长;
确定所述播放时长所归属的播放时长区间,并将所述播放时长区间对应的播放速度作为所述目标播放速度。
8.如权利要求6所述的方法,其特征在于,所述方法还包括:
在采用所述目标播放速度播放所述目标缓存数据的过程中,发送所述第一直播视频对应当前直播时间点的直播数据的获取请求;
接收到返回的所述当前直播时间点的直播数据,并在所述目标缓存数据播放结束后,将所述目标播放速度调整至标准播放速度;
采用所述标准播放速度播放所述当前直播时间点的直播数据。
9.如权利要求1所述的方法,其特征在于,所述方法还包括:
在播放所述第一直播视频的过程中,响应于从所述第一直播视频切换至第二直播视频,播放加载的所述第二直播视频的视频数据块,并发送所述第二直播视频对应的缓存数据的获取请求;
其中,所述缓存数据,归属于所述第二直播视频在当前直播时间点之前目标时长的历史直播数据;
接收返回的所述缓存数据,并当加载的所述第二直播视频的视频数据块播放结束后,播放所述缓存数据。
10.如权利要求1所述的方法,其特征在于,所述展示包括至少一个直播视频的信息流页面之后,所述方法还包括:
在所述信息流页面中,呈现对应各所述直播视频的播放功能项;
所述响应于针对所述信息流页面中第一直播视频的播放指令,播放所述第一直播视频对应的目标视频数据块,包括:
接收到基于所述目标播放视频对应的播放功能项所触发的、针对所述第一直播视频的播放指令;
响应于所述播放指令,播放所述第一直播视频对应的目标视频数据块。
11.如权利要求1所述的方法,其特征在于,所述展示包括至少一个直播视频的信息流页面之后,所述方法还包括:
在所述信息流页面中,呈现对应各所述直播视频的加载提示信息;
其中,所述加载提示信息,用于提示相应直播视频的视频数据块加载成功。
12.如权利要求1所述的方法,其特征在于,所述加载所述信息流页面中各直播视频的视频数据块,包括:
加载所述信息流页面中各直播视频的第一视频数据块;
在所述视频数据块的更新周期内,检测是否接收到针对各所述直播视频的播放指令;
当未检测到针对各所述直播视频的播放指令时,在基于更新周期以及所述第一视频数据块的加载时间点,确定视频数据块的更新时间点到达时,加载各所述直播视频的第二视频数据块,并
释放所述第一视频数据块对应的缓存空间。
13.一种直播视频的播放装置,其特征在于,所述装置包括:
加载模块,用于展示包括至少一个直播视频的信息流页面,并加载所述信息流页面中各直播视频的视频数据块,所述视频数据块在所述信息流页面中被周期性的更新;
第一播放模块,用于响应于针对所述信息流页面中第一直播视频的播放指令,播放所述第一直播视频对应的目标视频数据块;
发送模块,用于发送所述第一直播视频对应的目标缓存数据的获取请求;
其中,所述目标缓存数据,归属于所述第一直播视频在当前直播时间点之前目标时长的历史直播数据,所述目标时长大于或等于所述视频数据块的更新周期;
第二播放模块,用于接收返回的所述目标缓存数据,并当所述目标视频数据块播放结束后,播放所述目标缓存数据。
14.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现如权利要求1至12任一项所述的直播视频的播放方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,所述可执行指令被执行时,用于实现如权利要求1至12任一项所述的直播视频的播放方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110797382.5A CN115623230A (zh) | 2021-07-14 | 2021-07-14 | 直播视频的播放方法、装置、电子设备及存储介质 |
PCT/CN2022/095455 WO2023284428A1 (zh) | 2021-07-14 | 2022-05-27 | 直播视频的播放方法、装置、电子设备、存储介质及程序产品 |
US18/299,047 US20230247234A1 (en) | 2021-07-14 | 2023-04-12 | Method and apparatus for playing livestreaming video, electronic device, storage medium, and program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110797382.5A CN115623230A (zh) | 2021-07-14 | 2021-07-14 | 直播视频的播放方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115623230A true CN115623230A (zh) | 2023-01-17 |
Family
ID=84855603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110797382.5A Pending CN115623230A (zh) | 2021-07-14 | 2021-07-14 | 直播视频的播放方法、装置、电子设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230247234A1 (zh) |
CN (1) | CN115623230A (zh) |
WO (1) | WO2023284428A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116546257A (zh) * | 2023-04-25 | 2023-08-04 | 上海兴岩信息科技有限公司 | 一种在线视频开播加速方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117793075A (zh) * | 2023-12-28 | 2024-03-29 | 广州市维博网络信息科技有限公司 | 一种网络计算机多媒体视频播放方法和*** |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109618179B (zh) * | 2019-01-21 | 2021-05-11 | 北京数码视讯软件技术发展有限公司 | 超高清视频直播的快速起播方法及装置 |
CN111726657A (zh) * | 2019-03-18 | 2020-09-29 | 北京奇虎科技有限公司 | 直播视频的播放处理方法、装置及服务器 |
CN111726641A (zh) * | 2019-03-18 | 2020-09-29 | 北京奇虎科技有限公司 | 直播视频的播放处理方法、装置及服务器 |
CN111294634B (zh) * | 2020-02-27 | 2022-02-18 | 腾讯科技(深圳)有限公司 | 直播方法、装置、***、设备及计算机可读存储介质 |
CN112822503B (zh) * | 2020-12-30 | 2022-04-22 | 腾讯科技(深圳)有限公司 | 直播视频流的播放方法、装置、设备及存储介质 |
-
2021
- 2021-07-14 CN CN202110797382.5A patent/CN115623230A/zh active Pending
-
2022
- 2022-05-27 WO PCT/CN2022/095455 patent/WO2023284428A1/zh unknown
-
2023
- 2023-04-12 US US18/299,047 patent/US20230247234A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116546257A (zh) * | 2023-04-25 | 2023-08-04 | 上海兴岩信息科技有限公司 | 一种在线视频开播加速方法及装置 |
CN116546257B (zh) * | 2023-04-25 | 2024-04-05 | 上海兴岩信息科技有限公司 | 一种在线视频开播加速方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20230247234A1 (en) | 2023-08-03 |
WO2023284428A1 (zh) | 2023-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11684849B2 (en) | Distributed sample-based game profiling with game metadata and metrics and gaming API platform supporting third-party content | |
US11770308B2 (en) | System and method for cloud-based user interface application deployment | |
US10930318B2 (en) | Gapless video looping | |
US9473548B1 (en) | Latency reduction in streamed content consumption | |
US8473628B2 (en) | Dynamically altering playlists | |
US9942343B2 (en) | Efficient content streaming utilizing local proxy server implemented on client device | |
US8595342B2 (en) | Synchronized media playback using autonomous clients over standard Internet protocols | |
US9635431B2 (en) | Live event viewing via mixed live and on-demand streaming | |
CN108566561B (zh) | 视频播放方法、装置及存储介质 | |
EP4021000A1 (en) | Video playback method, device, apparatus, and storage medium | |
CN108769816B (zh) | 一种视频播放方法、装置及存储介质 | |
WO2023284428A1 (zh) | 直播视频的播放方法、装置、电子设备、存储介质及程序产品 | |
US20150268808A1 (en) | Method, Device and System for Multi-Speed Playing | |
US20230074478A1 (en) | Video distribution device, video distribution method, and video distribution program | |
WO2019052395A1 (zh) | 多媒体数据展示方法、存储介质和计算机设备 | |
CN111510789A (zh) | 视频播放方法、***、计算机设备及计算机可读存储介质 | |
JP2017126983A (ja) | 生中継データを共有する方法およびシステム | |
KR20170067448A (ko) | 타임머신 기능을 위한 슬라이딩 윈도우 관리 방법 및 시스템 | |
KR20220030736A (ko) | 실시간 라이브 스트리밍에서 지연을 최소화하기 위한 방법, 시스템, 및 컴퓨터 판독가능한 기록 매체 | |
CN109996102B (zh) | 视频信息同步显示方法、装置、设备及存储介质 | |
CN115243063B (zh) | 视频流的处理方法、处理装置以及处理*** | |
CN111954041A (zh) | 一种视频加载方法、计算机设备及可读存储介质 | |
CN112437352B (zh) | 视频合并播放方法和设备 | |
CN114025184A (zh) | 一种视频直播方法及电子设备 | |
JP2018198746A (ja) | 端末およびサーバ |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40080363 Country of ref document: HK |