CN110213662A - 一种视频点播方法、服务器、客户端及视频点播系统 - Google Patents
一种视频点播方法、服务器、客户端及视频点播系统 Download PDFInfo
- Publication number
- CN110213662A CN110213662A CN201910618834.1A CN201910618834A CN110213662A CN 110213662 A CN110213662 A CN 110213662A CN 201910618834 A CN201910618834 A CN 201910618834A CN 110213662 A CN110213662 A CN 110213662A
- Authority
- CN
- China
- Prior art keywords
- client
- location information
- server
- video file
- target
- 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
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/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
-
- 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
-
- 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/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/47202—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 requesting content on demand, e.g. video on demand
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种视频点播方法、服务器、客户端及视频点播系统。该方法包括:接收客户端发送的获取目标视频文件的请求;判断所述目标视频文件是否缓存在满足传输条件的其它客户端中;若是,向所述客户端发送第一定位信息;其中,所述第一定位信息为所述满足传输条件的其它客户端的定位信息;若否,则向所述客户端发送第二定位信息;其中,所述第二定位信息为服务器的定位信息。在本申请中,将视频文件缓存在客户端中,则无需再部署过多的服务器,降低了VOD视频点播系统的营运成本。同时,也避免出现过多服务器处于闲置状态,导致资源浪费的情况。
Description
技术领域
本申请涉及视频点播技术领域,例如,涉及一种视频点播方法、服务器、客户端及视频点播系统。
背景技术
在视频点播系统中,一般需要在网络中部署较多的服务器,用于存储视频文件并为客户端提供视频文件内容推送服务。随着用户数量的增加,须在网络中部署更多的服务器来满足新增用户的视频点播业务需求,导致增加视频点播系统的营运成本。并且服务器是服务于在线用户的,由于在线客户端数量的不确定性,会有一部分服务器在很多时候都处于闲置状态,进而造成资源的浪费。
发明内容
有鉴于此,本申请的目的在于提供一种视频点播方法、服务器、客户端及视频点播系统,以改善上述“为了满足新增用户的视频点播业务需求,部署更多的服务器,导致视频点播系统的营运成本增加,以及由于在线客户端数量的不确定性,会有一部分服务器在很多时候都处于闲置状态,进而造成资源的浪费”的问题。
为了解决上述技术问题,本申请实施例通过如下方式实现:
第一方面,本申请实施例提供一种视频点播方法,应用于视频点播系统中的服务器,所述方法包括:接收客户端发送的获取目标视频文件的请求;判断所述目标视频文件是否缓存在满足传输条件的其它客户端中;若是,向所述客户端发送第一定位信息;其中,所述第一定位信息为所述满足传输条件的其它客户端的定位信息;若否,则向所述客户端发送第二定位信息;其中,所述第二定位信息为所述服务器的定位信息。
在本申请中,当客户端向服务器发送获取目标视频文件的请求时,服务器会先判断该目标视频文件是否存在满足传输条件的其它客户端中,若是,则向客户端发送其它客户端的定位信息,以使客户端从其它客户端中下载目标视频文件,若否,则从服务器下载目标视频。进一步地,将视频文件缓存在客户端中,使得无需再部署过多的服务器,降低了视频点播系统的营运成本。同时,也避免出现过多服务器处于闲置状态,导致资源浪费的情况。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述若是,向所述客户端发送第一定位信息;其中,所述第一定位信息为所述满足传输条件的其它客户端的定位信息;若否,则向所述客户端发送第二定位信息;其中,所述第二定位信息为所述服务器的定位信息,包括:若是,向所述客户端发送第一定位信息;其中,所述第一定位信息为所述满足传输条件的其它客户端的定位信息;若否,则判断所述视频点播系统中是否存在满足缓存条件以及传输条件的客户端;若是,向所述客户端发送第三定位信息,其中,所述第三定位信息为满足所述缓存条件以及传输条件的客户端的定位信息;若否,则向所述客户端发送第二定位信息;其中,所述第二定位信息为所述服务器的定位信息。
在本申请中,当目标视频文件未缓存在其它客户端时,服务器会确定出所述视频播放系统中是否有可以缓存目标视频文件,且满足传输条件的其它客户端,若有,则向客户端发送满足缓存条件以及传输条件的其它客户端的定位信息。通过将目标视频文件缓存在满足缓存条件以及传输条件的其它客户端中减轻了服务器的压力,以便后期其它客户端直接通过缓存有该目标视频文件的客户端进行下载目标视频文件。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,在所述接收客户端发送的获取目标视频文件的请求之前,所述方法还包括:根据预设的拆分规则,将存储的视频文件拆分成分片文件;根据所述分片文件的拆分情况生成索引信息;在所述接收客户端发送的获取目标视频文件的请求之后,及判断所述目标视频文件是否缓存在满足传输条件的其它客户端中之前,所述方法还包括:向所述客户端发送所述目标视频文件的目标索引信息;接收所述客户端发送的获取所述目标索引信息中的分片文件的请求。
在本申请中,通过预设的拆分规则将存储的视频文件拆分成分片文件,便于后续客户端能够存储该分片文件,避免出现视频文件过大,导致客户端无法缓存或者导致客户端存储空间被过多的占用的情况。进一步地,将视频文件拆分成多个分片文件缓存在各个客户端中,也减轻了客户端的压力。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述预设的拆分规则包括:根据所述视频文件的文件大小以及视频播放的时间顺序,将所述视频文件进行拆分。
在本申请中,分片文件是根据视频文件的大小和视频播放的时间顺序进行拆分,因此,客户端仅需根据目标索引信息依次获取并播放相应的分片文件,便可播放完整的视频文件;同时,根据视频文件的大小进行合理的拆分,便于客户端进行缓存。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述判断所述目标视频文件是否缓存在满足传输条件的其它客户端中,包括:判断所述目标视频文件是否缓存在能够与所述客户端进行NAT穿越的其它客户端中。
在本申请中,若客户端与缓存有目标视频文件的其它客户端能够实现NAT穿越,则客户端能够通过NAT穿越从相应的其它客户端下载目标视频文件,这实现了客户端之间的交互,且交互过程稳定安全。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述缓存条件包括所述客户端的存储空间、网络带宽及CPU信息。
在本申请中,只有满足存储空间、网络带宽以及CPU信息均符合条件才能缓存视频,保证了后续客户端进行下载视频的稳定性。
第二方面,本申请实施例提供一种视频点播方法,应用于视频点播系统中的客户端,所述方法包括:向服务器发送获取目标视频文件的请求;接收所述服务器发送的目标视频文件的目标索引信息,其中,所述目标索引信息为所述服务器根据预设的拆分规则将所述目标视频文件拆分后,根据拆分情况生成的;向所述服务器发送获取所述目标索引信息中的分片文件的请求;接收所述服务器发送的定位信息,并根据所述定位信息,下载所述目标视频文件的索引信息中的分片文件进行播放。
第三方面,本申请实施例提供一种视频点播服务装置,应用于视频点播系统中的服务器,所述装置包括用于实现第一方面以及结合第一方面的任意可能的方法的功能模块。
第四方面,本申请实施例提供一种视频点播客户装置,应用于视频点播系统中的客户端,所述装置包括用于实现第二方面的方法的功能模块。
第五方面,本申请实施例提供一种服务器,包括:处理器和存储器,所述处理器和所述存储器连接;所述存储器用于存储程序;所述处理器用于调用存储在所述存储器中的程序,执行如上述第一方面实施例和/或结合上述第一方面实施例的一些可能的实现方式提供的方法。
第六方面,本申请实施例提供一种客户端,包括:处理器和存储器,所述处理器和所述存储器连接;所述存储器用于存储程序;所述处理器用于调用存储在所述存储器中的程序,执行如上述第二方面实施例提供的方法。
第七方面,本申请实施例提供一种视频点播系统,包括:服务器和客户端;所述服务器,用于根据预设的拆分规则,将存储的视频文件拆分成分片文件;根据所述分片文件的拆分情况生成索引信息;所述客户端,用于向所述服务器发送获取目标视频文件的请求;所述服务器,还用于向所述客户端发送所述目标视频文件的目标索引信息;所述客户端,还用于接收所述服务器发送的所述目标视频文件的目标索引信息,向所述服务器发送获取所述目标索引信息中的分片文件的请求;所述服务器,还用于接收客户端发送的获取所述目标索引信息中的分片文件的请求;判断所述目标索引信息中的分片文件是否缓存在满足传输条件的其它客户端中;若是,向所述客户端发送第一定位信息;其中,所述第一定位信息为所述满足传输条件的其它客户端的定位信息;若否,则向所述客户端发送第二定位信息;其中,所述第二定位信息为所述服务器的定位;所述客户端,还用于接收所述服务器发送的定位信息,并根据所述定位信息,下载所述目标视频文件的索引信息中的分片文件进行播放。
本申请的其它特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其它优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本申请实施例提供的一种视频点播系统的结构框图。
图2为本申请实施例提供的一种服务器的结构框图。
图3为本申请实施例提供的一种客户端的结构框图。
图4为本申请实施例提供的一种视频点播方法的流程图。
图5为本申请实施例提供的一种判断方法的流程图。
图6为本申请实施例提供的又一种视频点播方法的流程图。
图7为本申请实施例提供的一种应用于服务器的视频点播服务装置的结构框图。
图8为本申请实施例提供的一种应用于客户端的视频点播客户装置的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请实施例的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
目前,在视频点播系统中,一般需要在网络中部署较多的服务器。随着用户数量的增加,须在网络中部署更多的服务器来满足新增用户的视频点播业务需求,导致增加视频点播系统的营运成本。并且服务器是服务于在线用户的,由于在线客户端数量的不确定性,会有一部分服务器在很多时候都处于闲置状态,进而造成资源的浪费。
鉴于上述问题,本申请发明人经过研究探索,提出以下实施例以解决上述问题。
请参阅图1,本申请实施例提供一种视频点播系统100,该视频点播系统100包括服务器10及多个客户端(如客户端21、客户端22、客户端23),每个客户端通过网络与服务器10进行数据交互。该视频点播系统100的每个客户端可以与该视频点播系统100中的至少一个其他客户端通信连接。其中,本申请中的视频点播系统100可以是交互式(Video OnDemand,VOD)视频点播系统,也可以是其他的视频点播系统,在此本申请不作限定。
请参阅图2,服务器10包括至少一个处理器110,至少一个存储器111、至少一个通信总线112和无线通信模块113。其中,通信总线112用于实现这些组件之间的连接通信。无线通信模块113用于与客户端建立通信连接,其可以是WiFi模块、ZigBee模块、3G模块等,在此不做限定。存储器111可以是高速RAM存储器,也可以是非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。其中,存储器111中存储有计算机可读取指令,如存储有图7中所示的软件功能模块,即视频点播服务装置200。可以理解的是,存储器111中还存储有视频文件。该处理器110用于执行存储的程序,如图7所述的视频点播服务装置200包括的软件功能或计算机程序,具体的,处理器110用于接收客户端发送的获取目标视频文件的请求;处理器110还用于判断所述目标视频文件是否缓存在满足传输条件的其它客户端中;若是,向所述客户端发送第一定位信息;其中,所述第一定位信息为所述满足传输条件的其它客户端的定位信息;若否,则向所述客户端发送第二定位信息;其中,所述第二定位信息为所述服务器的定位信息。
上述的处理器110可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,客户端可以为软件程序,也可以是硬件设备,当客户端为软件程序时,搭载该客户端的载体至少包括一个处理器和存储器,比如,当客户端为一个应用程序(Application,APP)时,载体可以是手机或者平板电脑,在此不作限定。当客户端为硬件设备时,请参阅图3,该客户端包括至少一个处理器210,至少一个存储器211、至少一个通信总线212和无线通信模块213。需要说明的是,该客户端与服务器10相同结构的部分可以互相参考,为了避免累赘,在此不再阐述。该客户端可以包括但不限于:个人电脑、机顶盒、智能投影仪等设备。该客户端用于执行存储的程序,如图8所述的视频点播客户装置300包括的软件功能或计算机程序,具体的,客户端用于向服务器10发送获取目标视频文件的请求;客户端还用于接收所述服务器10发送的目标视频文件的目标索引信息,其中,所述目标索引信息为所述服务器10根据预设的拆分规则将所述目标视频文件拆分后,根据拆分情况生成的;客户端还用于向所述服务器10发送获取所述目标索引信息中的分片文件的请求;客户端还用于接收所述服务器10发送的定位信息,并根据所述定位信息,下载所述目标视频文件的索引信息中的分片文件进行播放。
请参阅图4,本申请提供一种视频点播方法,应用于如图1示出的视频点播系统100中。可以理解,视频点播系统100中的每个客户端均可以作为点播请求的发起端。本实施例中,以客户端21为点播请求的发起端为例,对本申请提供的视频点播方法进行说明。该视频点播方法可以包括:步骤S101-步骤S105。
步骤S101:客户端21向服务器10发送获取目标视频文件的请求。
首先客户端21会先接收用户的点播指令,客户端21根据用户的点播指令中请求点播的目标视频,向服务器10发送获取该目标视频文件的请求。
步骤S102:服务器10判断目标视频文件是否缓存在满足传输条件的其它客户端中。
服务器10首先接收客户端21发送的获取目标视频文件的请求指令,再根据该请求指令,判断目标视频文件是否缓存在满足传输条件的其他客户端中。需要说明的是,其他客户端为视频点播系统中除客户端21之外的客户端。
可选地,判断目标视频文件是否缓存在满足传输条件的其他客户端中,可以是判断目标视频文件是否缓存在能够与客户端21进行NAT穿越的其他客户端中。进一步地,该步骤可理解为两步,第一步判断目标视频文件是否缓存在其他客户端中,第二步判断缓存有目标视频文件的其他客户端是否能够与该客户端21进行NAT穿越。需要说明的是,每个客户端都包括NAT模块,每个客户端都包含一种NAT类型,如完全圆锥型NAT、受限圆锥型NAT、端口受限圆锥型NAT、对称型NAT等。
在本申请中,若客户端与缓存有目标视频文件的其它客户端能够进行NAT穿越,则客户端能够通过NAT穿越从相应的其它客户端下载目标视频文件,实现了客户端之间的交互,且交互过程稳定安全。
可选地,传输条件还可以包含其他的传输协议,如UPnP协议、私有协议等,当需要进行通信的客户端之间满足上述传输协议,则实现通信传输。对此,本申请不作限定。
若判断结果为是,则执行步骤S103。若判断结果为否,则执行步骤S104。
步骤S103:服务器10向客户端21发送第一定位信息。
若目标视频文件缓存在满足传输条件的其他客户端中,则服务器10向客户端发送第一定位信息,其中,第一定位信息为满足传输条件的其它客户端的定位信息,需要说明的是,当有多个其他客户端均满足传输条件,且缓存有目标视频文件时,服务器10发送其中的一个客户端的定位信息至客户端21。如当客户端22与客户端23均满足传输条件,且缓存有目标视频文件时,服务器10可以向客户端21发送客户端22的定位信息,也可以是向服务器10发送客户端23的定位信息,对此,本申请不作限定。
步骤S104:服务器10向客户端21发送第二定位信息。
若目标视频文件未缓存在满足传输条件的其他客户端中,则服务器10向客户端21发送第二定位信息,其中,第二定位信息为所述服务器10的定位信息。也即服务器10将自身的定位发送给客户端21,以便客户端直接从服务器10下载目标视频文件。
作为一种可选的实施方式,为了进一步的减轻服务器10的压力,以便后期各个客户端之间实现相互下载视频,当服务器10判断目标视频文件未缓存在满足传输条件的其它客户端中时,即在服务器10执行步骤S104之前,服务器10还会执行以下步骤,包括:步骤S201-S202(如图5所示)。
步骤S201:判断视频点播系统100中是否存在满足缓存条件以及传输条件的客户端。
当目标视频并未缓存在满足传输条件的其他客户端中时,服务器10判断该视频点播系统中是否存在满足缓存条件以及传输条件的客户端。其中,该缓存条件包括存储空间、网络带宽及CPU信息,即服务器10判断视频点播系统100中的客户端的存储空间、网络带宽以及CPU信息是否处于可以缓存视频的状态,如客户端的存储空间是否有冗余,网络带宽是否良好,CPU是否工作正常等,比如当客户端23的存储空间还有冗余、网络带宽稳定,CPU运行正常时,该客户端23满足缓存条件。其中,传输条件的判断与步骤S102中判断方式一致,为了避免累赘,在此不再阐述,相同部分请参考步骤S102中的判断方式即可。当确定了满足缓存条件以及传输条件的客户端之后,服务器10会向相应的满足缓存条件和传输条件的客户端发送缓存目标视频的指令,以使相应的客户端对目标视频进行缓存。可以理解的是,当发起获取目标视频文件请求的客户端,也即客户端21满足缓存条件时,服务器10同样可以向客户端21发送缓存目标视频的指令。对此,本申请不作限定。
可选地,在本申请实施例中,服务器10还可以删除客户端中之前缓存好的视频文件,以使该客户端符合缓存条件。
若判断结果为是,则执行步骤S202。若判断结果为否,则执行步骤S104。
步骤S202:向客户端21发送第三定位信息。
若存在满足缓存条件以及传输条件的客户端,则服务器10向客户端发送第三定位信息,其中,第三定位信息为满足缓存条件以及传输条件的客户端的定位信息。需要说明的是,当有多个客户端均满足缓存条件以及传输条件时,服务器10发送其中的一个客户端的定位信息至客户端21。可以理解的是,服务器10会优先选择剩余存储空间大,网络带宽以及CPU更加良好的客户端进行缓存视频。
步骤S105:客户端21接收服务器10发送的定位信息,并根据定位信息下载目标视频文件进行播放。
客户端21接收到服务器10发送的定位信息后,根据定位信息下载视频文件进行播放。比如,若客户端21接收到的定位信息为第一定位信息时,则客户端21从缓存有目标视频文件的其他客户端中下载目标视频文件进行播放,若客户端21接收到的定位信息为第二定位信息时,则客户端21从服务器10中下载目标视频文件进行播放。
在本申请实施例中,当客户端21向服务器10发送获取目标视频文件的请求时,服务器10会先判断该目标视频文件是否存在满足传输条件的其它客户端中,若是,则,向客户端21发送其它客户端的定位信息,以使客户端21从其它客户端中下载目标视频文件,若否,则从服务器10下载目标视频。进一步地,将视频文件缓存在客户端中,使得无需再部署过多的服务器,降低了视频点播系统的营运成本。同时,也避免出现过多服务器处于闲置状态,导致资源浪费的情况。
此外,由于现在的视频文件较大(即,视频文件所占用的内存较大),为了合理的利用各个客户端的存储空间,避免出现视频文件过大,导致客户端无法缓存或者导致客户端存储空间被过多地占用的情况,在本申请中,服务器10在接收客户端发送的获取目标视频文件的请求之前,服务器10还会执行以下步骤:根据预设的拆分规则,将存储的视频文件拆分成分片文件;根据分片文件的拆分情况生成索引文件。
作为一种可选的实施方式,预设的拆分规则可以是根据视频文件的文件大小以及视频播放的时间顺序,将视频文件进行拆分。下面举例进行说明,服务器存储有一个500MB的视频文件,按照视频文件的文件大小以及播放的时间顺序将视频文件进行拆分,如按照视频文件100MB的规格以及视频播放顺序将视频文件进行拆分成五个分片文件,即分片文件A、分片文件B、分片文件C、分片文件D和分片文件E,根据分片文件A-E的顺序即可播放完整的视频,服务器10在对视频文件拆分后会记录每一个视频文件的大小、时长、文件名,存储路径等信息,并根据以上信息生成索引信息。可以理解的是,视频文件还可以按照50MB、20MB、200MB的规格大小进行拆分,当视频文件过小时,比如当视频文件小于预设阈值时,如20M、30M时,则无需拆分,对此,本申请不作限定。
作为又一种实施方式,预设的拆分规则可以是根据视频文件的内容,将视频文件进行拆分,比如,若视频文件包括广告、正片、结尾彩蛋,可以根据内容将该视频文件拆分为视频文件A、视频文件B和视频文件C,视频文件A中的内容为广告,视频文件B中的内容为正片,视频文件C中的内容为结尾彩蛋。
具体的选用何种拆分方式可以根据实际情况而定,在此,本申请不作限定。
相应的,客户端21在向服务器10发送获取目标视频文件的请求之后,服务器会向客户端21发送目标文件视频的目标索引信息。
下面将结合图6进行完整的说明,图6示出了本申请实施例提供的又一种视频点播方法的流程图,步骤包括:S301-S308。
步骤S301:服务器10根据预设的拆分规则,将存储的视频文件拆分成分片文件;根据分片文件的拆分情况生成索引文件。
步骤S302:客户端21向服务器10发送获取目标视频文件的请求。
步骤S303:服务器10向客户端发送目标视频文件的目标索引信息。
步骤S304:客户端21向服务器10发送获取目标索引信息中的分片文件的请求。
其中,服务器10向客户端发送的目标索引信息中,包含每一个分片文件,客户端在接收到目标索引信息后,会按照分片文件的播放顺序向服务器发送请求,比如若目标索引信息中包含三个分片文件,分片文件A、分片文件B和分片文件C,假设三个分片文件是按照视频文件的播放顺序排列的,则客户端先向服务器10发送获取目标索引信息中的分片文件A的请求。可以理解的是,当客户端当前的网络带宽以及存储空间允许的情况下,客户端向服务器10发送的获取目标索引信息中的分片文件的请求,可以同时包含多个分片文件的请求,比如客户端向服务器10发送的获取目标索引信息中的分片文件的请求中同时包含获取分片文件A以及分片文件B的请求。在此,本申请不作限定。
步骤S305:服务器10判断目标索引信息中的分片文件是否缓存在满足传输条件的其它客户端中。
步骤S306:服务器10向客户端21发送第一定位信息。
步骤S307:服务器10向客户端21发送第二定位信息。
步骤S308:客户端21接收服务器10发送的定位信息,并根据定位信息下载目标索引信息中的分片文件进行播放。
其中,分片文件的播放顺序与目标视频文件的播放顺序一致,比如若目标索引信息中包含三个分片文件,分片文件A、分片文件B和分片文件C,假设三个分片文件是按照视频文件的播放顺序排列的,则先播放分片文件A。
由于步骤S301-步骤S303、步骤S305-步骤S308均在本申请其他实施例中有相应的说明,为了避免累赘,在此不作重复阐述。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
请参与图7,本申请实施例还提供一种视频点播服务装置200,应用于视频点播系统100中的服务器10。该视频点播服务装置200包括:接收模块510、判断模块520和发送模块530。
接收模块510用于接收客户端发送的获取目标视频文件的请求指令。
判断模块520用于判断目标视频文件是否缓存在满足传输条件的其它客户端中。可选地,判断模块520用于判断目标视频是否缓存在能够与客户端进行NAT穿越的其他客户端中。
发送模块530用于向客户端发送第一定位信息,发送模块530还用于向客户端发送第二定位信息。
可选地,判断模块520还用于判断每个客户端是否满足缓存条件以及传输条件。
可选地,发送模块530还用于向客户端发送第三定位信息。
可选地,该视频点播服务装置200还包括拆分模块540。拆分模块540用于根据预设的拆分规则,将存储的视频文件拆分成分片文件;根据分片文件的拆分情况生成索引文件。
可选地,发送模块530还用于向客户端发送目标文件的目标索引信息。
可选地,判断模块520还用于判断目标索引信息中的分片文件是否缓存在满足传输条件的其他客户端中。
请参与图8,本申请实施例还提供一种视频点播客户装置300,应用于视频点播系统100中的客户端。该视频点播客户装置300包括:发送模块310和接收模块320。
发送模块310用于向服务器10发送获取目标视频文件的请求。
接收模块320用于接收服务器10发送的定位信息,并根据定位信息下载目标视频文件进行播放。
可选地,发送模块310还用于向服务器10发送获取目标索引信息中的分片文件的请求。
在本发明所提供的实施例中,应该理解到,所揭露的装置、系统和方法,也可以通过其它的方式实现。以上所描述的装置、系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。可以替换的,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其它可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种视频点播方法,其特征在于,应用于视频点播系统中的服务器,所述方法包括:
接收客户端发送的获取目标视频文件的请求;
判断所述目标视频文件是否缓存在满足传输条件的其它客户端中;
若是,向所述客户端发送第一定位信息;其中,所述第一定位信息为所述满足传输条件的其它客户端的定位信息;
若否,则向所述客户端发送第二定位信息;其中,所述第二定位信息为所述服务器的定位信息。
2.根据权利要求1所述的视频点播方法,其特征在于,所述若是,向所述客户端发送第一定位信息;其中,所述第一定位信息为所述满足传输条件的其它客户端的定位信息;若否,则向所述客户端发送第二定位信息;其中,所述第二定位信息为所述服务器的定位信息,包括:
若是,向所述客户端发送第一定位信息;其中,所述第一定位信息为所述满足传输条件的其它客户端的定位信息;
若否,则判断所述视频点播系统中是否存在满足缓存条件以及传输条件的客户端;
若是,向所述客户端发送第三定位信息,其中,所述第三定位信息为满足所述缓存条件以及传输条件的客户端的定位信息;
若否,则向所述客户端发送第二定位信息;其中,所述第二定位信息为所述服务器的定位信息。
3.根据权利要求1所述的视频点播方法,其特征在于,在所述接收客户端发送的获取目标视频文件的请求之前,所述方法还包括:
根据预设的拆分规则,将存储的视频文件拆分成分片文件;
根据所述分片文件的拆分情况生成索引信息;
在所述接收客户端发送的获取目标视频文件的请求之后,及判断所述目标视频文件是否缓存在满足传输条件的其它客户端中之前,所述方法还包括:
向所述客户端发送所述目标视频文件的目标索引信息;
接收所述客户端发送的获取所述目标索引信息中的分片文件的请求。
4.根据权利要求3所述的视频点播方法,其特征在于,所述预设的拆分规则包括:
根据所述视频文件的文件大小以及视频播放的时间顺序,将所述视频文件进行拆分。
5.根据权利要求1所述的视频点播方法,其特征在于,所述判断所述目标视频文件是否缓存在满足传输条件的其它客户端中,包括:
判断所述目标视频文件是否缓存在能够与所述客户端进行NAT穿越的其它客户端中。
6.根据权利要求2所述的视频点播方法,其特征在于,所述缓存条件包括所述客户端的存储空间、网络带宽及CPU信息。
7.一种视频点播方法,其特征在于,应用于视频点播系统中的客户端,所述方法包括:
向服务器发送获取目标视频文件的请求;
接收所述服务器发送的目标视频文件的目标索引信息,其中,所述目标索引信息为所述服务器根据预设的拆分规则将所述目标视频文件拆分后,根据拆分情况生成的;
向所述服务器发送获取所述目标索引信息中的分片文件的请求;
接收所述服务器发送的定位信息,并根据所述定位信息,下载所述目标视频文件的索引信息中的分片文件进行播放。
8.一种服务器,其特征在于,包括处理器和存储器,所述处理器和所述存储器连接;
所述存储器用于存储程序;
所述处理器用于调用存储在所述存储器中的程序,执行如权利要求1-6中任一项所述的方法。
9.一种客户端,其特征在于,包括处理器和存储器,所述处理器和所述存储器连接;
所述存储器用于存储程序;
所述处理器用于调用存储在所述存储器中的程序,执行如权利要求7所述的方法。
10.一种视频点播系统,其特征在于,包括服务器和客户端;
所述服务器,用于根据预设的拆分规则,将存储的视频文件拆分成分片文件;根据所述分片文件的拆分情况生成索引信息;
所述客户端,用于向所述服务器发送获取目标视频文件的请求;
所述服务器,还用于向所述客户端发送所述目标视频文件的目标索引信息;
所述客户端,还用于接收所述服务器发送的所述目标视频文件的目标索引信息,向所述服务器发送获取所述目标索引信息中的分片文件的请求;
所述服务器,还用于接收客户端发送的获取所述目标索引信息中的分片文件的请求;判断所述目标索引信息中的分片文件是否缓存在满足传输条件的其它客户端中;若是,向所述客户端发送第一定位信息;其中,所述第一定位信息为所述满足传输条件的其它客户端的定位信息;若否,则向所述客户端发送第二定位信息;其中,所述第二定位信息为所述服务器的定位信息;
所述客户端,还用于接收所述服务器发送的定位信息,并根据所述定位信息,下载所述目标视频文件的索引信息中的分片文件进行播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910618834.1A CN110213662A (zh) | 2019-07-09 | 2019-07-09 | 一种视频点播方法、服务器、客户端及视频点播系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910618834.1A CN110213662A (zh) | 2019-07-09 | 2019-07-09 | 一种视频点播方法、服务器、客户端及视频点播系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110213662A true CN110213662A (zh) | 2019-09-06 |
Family
ID=67796952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910618834.1A Pending CN110213662A (zh) | 2019-07-09 | 2019-07-09 | 一种视频点播方法、服务器、客户端及视频点播系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110213662A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110784775A (zh) * | 2019-11-25 | 2020-02-11 | 金明晔 | 一种视频分片缓存方法、装置及视频点播系统 |
CN111935515A (zh) * | 2020-08-14 | 2020-11-13 | 北京永新视博数字电视技术有限公司 | 一种电子节目指南数据表生成方法、装置、设备及介质 |
CN112468829A (zh) * | 2020-11-11 | 2021-03-09 | 上海连尚网络科技有限公司 | 缓存视频的共享方法、电子设备及计算机可读存储介质 |
CN113993164A (zh) * | 2021-10-29 | 2022-01-28 | 维沃移动通信有限公司 | 文件传输方法和文件传输装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7080218B2 (en) * | 1998-07-10 | 2006-07-18 | International Business Machines Corporation | Real-time shared disk system for computer clusters |
CN101378490A (zh) * | 2007-08-30 | 2009-03-04 | 腾讯科技(深圳)有限公司 | 实现流媒体视频点播的录入前端、装置、客户端及方法 |
CN101686180A (zh) * | 2008-09-28 | 2010-03-31 | 华为技术有限公司 | 数据传输方法及网络节点和数据传输系统 |
CN102256163A (zh) * | 2011-08-10 | 2011-11-23 | 中山大学深圳研究院 | 一种基于p2p的视频点播系统 |
CN102404608A (zh) * | 2011-11-30 | 2012-04-04 | 苏州奇可思信息科技有限公司 | 基于局域网点到点传输的视频点播方法 |
CN103313093A (zh) * | 2012-03-14 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 进行分布式视频点播的方法及索引系统 |
CN103634692A (zh) * | 2013-12-06 | 2014-03-12 | 南京理工大学连云港研究院 | 基于cdn和p2p的混合流媒体视频点播系统 |
CN103856820A (zh) * | 2012-12-04 | 2014-06-11 | 好看科技(深圳)有限公司 | 用于浏览器页面的音视频点播方法及系统 |
CN104661058A (zh) * | 2013-11-20 | 2015-05-27 | 深圳市云帆世纪科技有限公司 | Mp4视频点播的数据流传输方法、客户端及点播系统 |
CN109600683A (zh) * | 2018-12-05 | 2019-04-09 | 深圳市网心科技有限公司 | 一种视频点播方法、装置及其相关设备 |
-
2019
- 2019-07-09 CN CN201910618834.1A patent/CN110213662A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7080218B2 (en) * | 1998-07-10 | 2006-07-18 | International Business Machines Corporation | Real-time shared disk system for computer clusters |
CN101378490A (zh) * | 2007-08-30 | 2009-03-04 | 腾讯科技(深圳)有限公司 | 实现流媒体视频点播的录入前端、装置、客户端及方法 |
CN101686180A (zh) * | 2008-09-28 | 2010-03-31 | 华为技术有限公司 | 数据传输方法及网络节点和数据传输系统 |
CN102256163A (zh) * | 2011-08-10 | 2011-11-23 | 中山大学深圳研究院 | 一种基于p2p的视频点播系统 |
CN102404608A (zh) * | 2011-11-30 | 2012-04-04 | 苏州奇可思信息科技有限公司 | 基于局域网点到点传输的视频点播方法 |
CN103313093A (zh) * | 2012-03-14 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 进行分布式视频点播的方法及索引系统 |
CN103856820A (zh) * | 2012-12-04 | 2014-06-11 | 好看科技(深圳)有限公司 | 用于浏览器页面的音视频点播方法及系统 |
CN104661058A (zh) * | 2013-11-20 | 2015-05-27 | 深圳市云帆世纪科技有限公司 | Mp4视频点播的数据流传输方法、客户端及点播系统 |
CN103634692A (zh) * | 2013-12-06 | 2014-03-12 | 南京理工大学连云港研究院 | 基于cdn和p2p的混合流媒体视频点播系统 |
CN109600683A (zh) * | 2018-12-05 | 2019-04-09 | 深圳市网心科技有限公司 | 一种视频点播方法、装置及其相关设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110784775A (zh) * | 2019-11-25 | 2020-02-11 | 金明晔 | 一种视频分片缓存方法、装置及视频点播系统 |
CN111935515A (zh) * | 2020-08-14 | 2020-11-13 | 北京永新视博数字电视技术有限公司 | 一种电子节目指南数据表生成方法、装置、设备及介质 |
CN112468829A (zh) * | 2020-11-11 | 2021-03-09 | 上海连尚网络科技有限公司 | 缓存视频的共享方法、电子设备及计算机可读存储介质 |
CN113993164A (zh) * | 2021-10-29 | 2022-01-28 | 维沃移动通信有限公司 | 文件传输方法和文件传输装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10999342B2 (en) | Caching media in a media fling system | |
US10848587B2 (en) | Content distribution network supporting popularity-based caching | |
US11877026B2 (en) | Selective interactivity | |
CN110213662A (zh) | 一种视频点播方法、服务器、客户端及视频点播系统 | |
CN104539977B (zh) | 直播预览方法及装置 | |
US9621620B2 (en) | Apparatus and method for providing content with a distributed architecture, and system for providing content with the said apparatus | |
US9432454B2 (en) | Cloud-to-cloud peering | |
US11509744B2 (en) | Resource request management using bandwidth allocation and time slots | |
CN105379295A (zh) | 分段内容的流送 | |
EP2288085A1 (en) | P2p based method, device and system for playing media | |
US20160294903A1 (en) | Method and device for pushing resources to mobile communication terminal by smart television | |
CN107396136A (zh) | 一种视频数据获取方法、装置、服务器及介质 | |
CN109788301A (zh) | 一种流媒体的直播方法、终端设备、直播系统及计算机可读存储介质 | |
US11025528B1 (en) | Dynamic virtual network function placement for optimal border gateway protocol support | |
CN115473876A (zh) | 实时流媒体数据的传输方法、装置、系统和存储介质 | |
US20130239158A1 (en) | Method and System to Locally Cache and Inform Users of Partial Video Segments and Data Objects | |
US9674564B2 (en) | System and methods for multicast delivery of internet protocol video content | |
CN101958934B (zh) | 一种电子节目指南增量内容同步方法、装置及系统 | |
CN101877722A (zh) | 电子节目指南系统及文件下载方法 | |
CN105163144A (zh) | 在线网络视频p2p传输方法 | |
CN114025184A (zh) | 一种视频直播方法及电子设备 | |
US20140150039A1 (en) | Managing video-on-demand | |
US20190036838A1 (en) | Delivery of Multimedia Components According to User Activity | |
CN103702234A (zh) | 可抵抗不稳定带宽的内容传送网络的处理方法与系统 | |
CN108668142A (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 | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20220429 |