CN108668142B - 视频播放方法及装置 - Google Patents
视频播放方法及装置 Download PDFInfo
- Publication number
- CN108668142B CN108668142B CN201710186299.8A CN201710186299A CN108668142B CN 108668142 B CN108668142 B CN 108668142B CN 201710186299 A CN201710186299 A CN 201710186299A CN 108668142 B CN108668142 B CN 108668142B
- Authority
- CN
- China
- Prior art keywords
- video
- time
- terminal
- target video
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000005540 biological transmission Effects 0.000 claims description 16
- 230000001737 promoting effect Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 abstract description 28
- 230000008569 process Effects 0.000 abstract description 14
- 238000004891 communication Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 29
- 230000003287 optical effect Effects 0.000 description 13
- 238000004590 computer program Methods 0.000 description 9
- 230000003068 static effect Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/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/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
- H04N21/26241—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 involving the time of distribution, e.g. the best time of the day for inserting an advertisement or airing a children program
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种视频播放方法及装置,属于电子技术领域。所述方法包括:接收第一终端发送的用于请求获取目标视频的视频播放请求;当在当前的系统时间之前请求获取目标视频的终端中存在未被发送目标视频的终端且目标视频的读取时间到达时,读取目标视频,该读取时间是基于第二终端发送的用于请求获取目标视频的视频播放请求的接收时间确定得到,第二终端为该未被发送目标视频的终端中最早请求获取目标视频的终端;将读取到的目标视频发送给第一终端和该读取时间之前请求获取目标视频且未被发送目标视频的所有终端,使第一终端和该所有终端播放目标视频。本申请在视频播放过程中只需读取一次目标视频,从而减少了视频读取次数,节省了处理资源。
Description
技术领域
本申请涉及电子技术领域,特别涉及一种视频播放方法及装置。
背景技术
随着电子技术的不断发展,观看视频已经成为常见的娱乐方式。终端在需要播放视频时,可以向视频服务器发送视频播放请求。当视频服务器接收到终端发送的视频播放请求时,可以从磁盘中读取对应的视频,并将读取到的视频发送给终端。当终端接收到视频服务器发送的视频时,可以播放该视频。然而,由于视频服务器对接收到的每个视频播放请求,均需从磁盘中读取对应的视频,所以导致视频服务器的处理资源消耗较多,从而限制了视频服务器可服务的终端数量。
目前,为了提高视频服务器可服务的终端数量,往往会在视频服务器中设置缓存系统。缓存系统中可以缓存有播放率较高的视频。此时,视频服务器接收到终端发送的视频播放请求时,无需从磁盘中读取对应的视频,而只需从缓存系统中读取对应的视频。由于缓存系统的读取速度通常大于磁盘的读取速度,所以可以减轻视频服务器的处理负担,从而提高视频服务器可服务的终端数量。
然而,对于请求获取同一视频的多个终端,如果该多个终端需要播放该视频的时间不同,即该多个终端向视频服务器发送用于请求获取该视频的视频播放请求的时间不同,则视频服务器在接收到该多个终端中的每个终端发送的用于请求获取该视频的视频播放请求时,均需从缓存系统中读取该视频,从而依旧会消耗视频服务器较多的处理资源。
另外,当该多个终端向视频服务器发送用于请求获取该视频的视频播放请求的时间不同时,视频服务器需要在多个不同的时间从缓存系统中读取该视频,此时缓存系统在该多个不同的时间均需缓存有该视频,从而导致该视频对缓存系统的占用率较高,进而导致缓存系统的利用率较低。例如,缓存系统的总容量为10,该视频的大小也为10,且该视频包括视频内容1-10。假设在某个时间段内有10个终端请求获取该视频,且该10个终端请求获取该视频的时间在该时间段内平均分布。如图1所示,此时缓存系统在时间1需要缓存有视频内容0,在时间2需要缓存有视频内容0、视频内容1,……。可知,在视频服务器向该10个终端发送该视频期间,缓存系统的总缓存能力为19×10=190,该视频占用的缓存能力为10×10=100,占比接近50%,此时该视频对缓存系统的占用率较高,缓存系统的利用率较低。
发明内容
为了解决现有技术中视频服务器的处理资源消耗较多且缓存系统的利用率较低的问题,本申请提供了一种视频播放方法及装置。所述技术方案如下:
第一方面,提供了一种视频播放方法,所述方法包括:
当接收到第一终端发送的用于请求获取目标视频的视频播放请求时,判断在当前的系统时间之前请求获取所述目标视频的终端中是否存在未被发送所述目标视频的终端;
当在当前的系统时间之前请求获取所述目标视频的终端中存在未被发送所述目标视频的终端时,基于当前的系统时间判断所述目标视频的读取时间是否已到达,所述读取时间是基于第二终端发送的用于请求获取所述目标视频的视频播放请求的接收时间确定得到,所述第二终端为所述未被发送所述目标视频的终端中最早请求获取所述目标视频的终端;
当所述读取时间已到达时,读取所述目标视频;
将读取到的所述目标视频发送给所述第一终端和所述读取时间之前请求获取所述目标视频且未被发送所述目标视频的所有终端,以使所述第一终端和所述所有终端播放所述目标视频。
需要说明的是,目标视频为第一终端所要播放的视频。另外,请求获取目标视频的终端是指发送用于请求获取目标视频的视频播放请求的终端。
在本发明实施例中,当接收到第一终端发送的用于请求获取目标视频的视频播放请求时,可以在当前的系统时间之前请求获取目标视频的终端中存在未被发送目标视频的终端时,基于当前的系统时间判断目标视频的读取时间是否已到达。当该读取时间已到达时,可以读取目标视频,并将读取到的目标视频发送给第一终端和该读取时间之前请求获取目标视频且未被发送目标视频的所有终端,以使第一终端和该所有终端播放目标视频。在此视频播放过程中只需读取一次目标视频,从而减少了视频读取次数,节省了处理资源。另外,由于只需在该读取时间读取目标视频,所以缓存系统只需在该读取时间缓存有目标视频,在该读取时间之前的一段时间内无需缓存目标视频,从而降低了目标视频对缓存系统的占用率,使得缓存系统可以将更多的缓存能力提供给其它业务,提高了缓存系统的利用率,进而提高了可服务的终端数量。
进一步地,所述当在当前的系统时间之前请求获取所述目标视频的终端中存在未被发送所述目标视频的终端时,基于当前的系统时间判断所述目标视频的读取时间是否已到达之前,还包括:
接收所述第二终端发送的用于请求获取所述目标视频的视频播放请求;
将在所述第二终端发送的用于请求获取所述目标视频的视频播放请求的接收时间之后且相距预设时长的时间确定为所述读取时间。
需要说明的是,当在当前的系统时间之前请求获取目标视频的终端中存在未被发送目标视频的终端时,表明在当前的系统时间之前有过所有请求获取目标视频的终端中存在唯一未被发送目标视频的终端的情况,且该唯一未被发送目标视频的终端为在当前的系统时间之前请求获取目标视频且未被发送目标视频的终端中最早请求获取目标视频的终端,本发明实施例中称为第二终端。当当在当前的系统时间之前请求获取目标视频的终端中不存在未被发送目标视频的终端时,表明第一终端是所有请求获取目标视频的终端中唯一未被发送目标视频的终端。
另外,当接收到某一终端发送的用于请求获取目标视频的视频播放请求时,如果该终端为所有请求获取目标视频的终端中唯一未被发送目标视频的终端,则此时可以基于该终端发送的用于请求获取目标视频的视频播放请求的接收时间来确定目标视频的读取时间,目标视频的读取时间为读取目标视频的时间。
进一步地,所述当在当前的系统时间之前请求获取所述目标视频的终端中存在未被发送所述目标视频的终端时,基于当前的系统时间判断所述目标视频的读取时间是否已到达之后,还包括:
当所述读取时间未到达时,确定当前的系统时间与所述读取时间之间相距的等待时长;
从存储的多个推广视频中,获取播放时长的总和与所述等待时长之差最小的至少一个目标推广视频,所述多个推广视频均为包含推广信息的视频;
将所述至少一个目标推广视频发送给所述第一终端,以使所述第一终端对所述至少一个目标推广视频进行播放。
在本发明实施例中,由于该至少一个目标推广视频的播放时长的总和与该等待时长之差较小,因此,第一终端播放完该至少一个目标推广视频时,正好到达该读取时间,此时可以读取并向第一终端发送目标视频来继续播放,从而可以使得第一终端的视频播放较为连续,视频播放性能较好。
第二方面,提供了一种视频播放方法,应用于第一终端,所述方法包括:
向视频服务器发送用于请求确定目标视频的读取时间的预播放请求,以使所述视频服务器返回所述目标视频的读取时间信息;
其中,所述目标视频的读取时间信息为所述视频服务器接收到第二终端发送的用于请求确定所述读取时间的预播放请求时向所述第二终端返回的信息,所述读取时间是所述视频服务器基于所述第二终端发送的用于请求确定所述读取时间的预播放请求的接收时间确定得到,所述第二终端为所述第一终端发送的用于请求确定所述读取时间的预播放请求的接收时间之前请求确定所述读取时间且未被所述视频服务器发送所述目标视频的终端中最早请求确定所述读取时间的终端;
接收所述视频服务器发送的所述目标视频的读取时间信息;
基于所述读取时间信息确定所述读取时间,并在所述读取时间向所述视频服务器发送用于请求获取所述目标视频的视频播放请求,以使所述视频服务器读取并返回所述目标视频;
当接收到所述视频服务器发送的所述目标视频时,播放所述目标视频。
需要说明的是,目标视频为第一终端所要播放的视频,目标视频的读取时间为视频服务器读取目标视频的时间。
在本发明实施例中,可以向视频服务器发送用于请求确定目标视频的读取时间的预播放请求。当接收到视频服务器发送的目标视频的读取时间信息时,可以在该读取时间信息指示的读取时间向视频服务器发送用于请求获取目标视频的视频播放请求。由于视频服务器也会将目标视频的读取时间信息发送给第二终端,因此,第二终端也会在该读取时间向视频服务器发送用于请求获取目标视频的视频播放请求。也即是,视频服务器在该读取时间至少会接收到第一终端和第二终端发送的用于请求获取目标视频的视频播放请求,此时视频服务器会在该读取时间读取一次目标视频,将读取到的目标视频发送给第一终端和第二终端。当第一终端和第二终端接收到视频服务器发送的目标视频时,可以播放目标视频。在此视频播放过程中视频服务器只需读取一次目标视频,从而减少了视频服务器的视频读取次数,节省了视频服务器的处理资源。另外,由于视频服务器只需在该读取时间读取目标视频,所以视频服务器的缓存系统只需在该读取时间缓存有目标视频,在该读取时间之前的一段时间内无需缓存目标视频,从而降低了目标视频对缓存系统的占用率,使得缓存系统可以将更多的缓存能力提供给其它业务,提高了缓存系统的利用率,进而提高了视频服务器可服务的终端数量。
进一步地,所述基于所述读取时间信息确定所述读取时间之后,还包括:
确定当前的系统时间与所述读取时间之间相距的等待时长;
从存储的多个推广视频中,获取播放时长的总和与所述等待时长之差最小的至少一个目标推广视频,所述多个推广视频均为包含推广信息的视频;
对所述至少一个目标推广视频进行播放。
在本发明实施例中,由于该至少一个目标推广视频的播放时长的总和与该等待时长之差较小,因此,播放完该至少一个目标推广视频时,正好到达该读取时间,此时可以向视频服务器请求获取目标视频来继续播放,从而可以使得视频播放较为连续,视频播放性能较好。
更进一步地,所述从存储的多个推广视频中,获取播放时长的总和与所述等待时长之差最小的至少一个目标推广视频之前,还包括:
当网络负载率小于或等于预设负载率时,下载所述多个推广视频;或者,
当网络数据传输速率大于或等于预设数据传输速率时,下载所述多个推广视频。
在本发明实施例中,当网络负载率小于或等于预设负载率时,表明当前进行的业务较少,所以此时进行该多个推广视频的下载将不会影响对业务的正常进行。当网络数据传输速率大于或等于预设数据传输速率时,表明当前的网络连接状况较好,所以此时不仅可以快速下载该多个推广视频,且在网络连接状况较好的情况下,该多个推广视频的下载也不会对正在进行的其他业务造成过大影响。
第三方面,提供了一种视频播放方法,应用于视频服务器,所述方法包括:
当接收到第一终端发送的用于请求确定目标视频的读取时间的预播放请求时,判断在当前的系统时间之前请求确定所述读取时间的终端中是否存在未被发送所述目标视频的终端;
当在当前的系统时间之前请求确定所述读取时间的终端中存在未被发送所述目标视频的终端时,将所述目标视频的读取时间信息发送给所述第一终端,所述目标视频的读取时间信息为接收到第二终端发送的用于请求确定所述读取时间的预播放请求时向所述第二终端返回的信息,所述读取时间是基于所述第二终端发送的用于请求确定所述读取时间的预播放请求的接收时间确定得到,所述第二终端为所述未被发送所述目标视频的终端中最早请求确定所述读取时间的终端;
当在所述读取时间接收到所述第一终端和所述读取时间之前请求确定所述读取时间且未被发送所述目标视频的所有终端发送的用于请求获取所述目标视频的视频播放请求时,读取所述目标视频;
将读取到的所述目标视频发送给所述第一终端和所述所有终端,以使所述第一终端和所述所有终端播放所述目标视频。
需要说明的是,目标视频为第一终端所要播放的视频,目标视频的读取时间为读取目标视频的时间。
在本发明实施例中,当接收到第一终端发送的用于请求确定目标视频的读取时间的预播放请求时,可以在当前的系统时间之前请求确定该读取时间的终端中存在未被发送目标视频的终端时,将目标视频的读取时间信息发送给第一终端,以指示第一终端在该读取时间返回用于请求获取目标视频的视频播放请求。当在该读取时间接收到第一终端和该读取时间之前请求确定该读取时间且未被发送目标视频的所有终端发送的用于请求获取目标视频的视频播放请求时,可以读取目标视频,并将读取到的目标视频发送给第一终端和该所有终端,以使第一终端和该所有终端播放目标视频。在此视频播放过程中只需读取一次目标视频,从而减少了视频读取次数,节省了处理资源。另外,由于只需在该读取时间读取目标视频,所以缓存系统只需在该读取时间缓存有目标视频,在该读取时间之前的一段时间内无需缓存目标视频,从而降低了目标视频对缓存系统的占用率,使得缓存系统可以将更多的缓存能力提供给其它业务,提高了缓存系统的利用率,进而提高了可服务的终端数量。
进一步地,所述当在当前的系统时间之前请求确定所述读取时间的终端中存在未被发送所述目标视频的终端时,将所述目标视频的读取时间信息发送给所述第一终端之前,还包括:
接收所述第二终端发送的用于请求确定所述读取时间的预播放请求;
将在所述第二终端发送的用于请求确定所述读取时间的预播放请求的接收时间之后且相距预设时长的时间确定为所述读取时间。
需要说明的是,当在当前的系统时间之前请求确定该读取时间的终端中存在未被发送目标视频的终端时,表明在当前的系统时间之前有过所有请求确定该读取时间的终端中存在唯一未被发送目标视频的终端的情况,且该唯一未被发送目标视频的终端为在当前的系统时间之前请求确定该读取时间且未被发送目标视频的终端中最早请求确定该读取时间的终端,本发明实施例中称为第二终端。当当在当前的系统时间之前请求确定该读取时间的终端中不存在未被发送目标视频的终端时,表明第一终端是所有请求确定该读取时间的终端中唯一未被发送目标视频的终端。
另外,当接收到某一终端发送的用于请求确定该读取时间的预播放请求时,如果该终端为所有请求确定该读取时间的终端中唯一未被发送目标视频的终端,则此时可以基于该终端发送的用于请求确定该读取时间的预播放请求的接收时间来确定目标视频的读取时间。
第四方面,提供了一种视频播放装置,所述视频播放装置具有实现上述第一方面中视频播放方法行为的功能。所述视频播放装置包括至少一个模块,所述至少一个模块用于实现上述第一方面所提供的视频播放方法。
第五方面,提供了一种视频播放装置,所述视频播放装置具有实现上述第二方面中视频播放方法行为的功能。所述视频播放装置包括至少一个模块,所述至少一个模块用于实现上述第二方面所提供的视频播放方法。
第六方面,提供了一种视频播放装置,所述视频播放装置具有实现上述第三方面中视频播放方法行为的功能。所述视频播放装置包括至少一个模块,所述至少一个模块用于实现上述第三方面所提供的视频播放方法。
第七方面,提供了一种视频播放装置,所述视频播放装置的结构中包括处理器和存储器,所述存储器用于存储支持视频播放装置执行上述第一方面所提供的视频播放方法的程序,以及存储用于实现上述第一方面所提供的视频播放方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述视频播放装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。
第八方面,提供了一种视频播放装置,所述视频播放装置的结构中包括处理器和存储器,所述存储器用于存储支持视频播放装置执行上述第二方面所提供的视频播放方法的程序,以及存储用于实现上述第二方面所提供的视频播放方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述视频播放装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。
第九方面,提供了一种视频播放装置,所述视频播放装置的结构中包括处理器和存储器,所述存储器用于存储支持视频播放装置执行上述第三方面所提供的视频播放方法的程序,以及存储用于实现上述第三方面所提供的视频播放方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述视频播放装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。
第十方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的视频播放方法。
第十一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面所述的视频播放方法。
第十二方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第三方面所述的视频播放方法。
第十三方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的视频播放方法。
第十四方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面所述的视频播放方法。
第十五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第三方面所述的视频播放方法。
上述第四方面、第七方面、第十方面和第十三方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
上述第五方面、第八方面、第十一方面和第十四方面所获得的技术效果与上述第二方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
上述第六方面、第九方面、第十二方面和第十五方面所获得的技术效果与上述第三方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
本申请提供的技术方案带来的有益效果是:当接收到第一终端发送的用于请求获取目标视频的视频播放请求时,可以在当前的系统时间之前请求获取目标视频的终端中存在未被发送目标视频的终端时,基于当前的系统时间判断目标视频的读取时间是否已到达。当该读取时间已到达时,可以读取目标视频,并将读取到的目标视频发送给第一终端和该读取时间之前请求获取目标视频且未被发送目标视频的所有终端,以使第一终端和该所有终端播放目标视频。在此视频播放过程中只需读取一次目标视频,从而减少了视频读取次数,节省了处理资源。另外,由于只需在该读取时间读取目标视频,所以缓存系统只需在该读取时间缓存有目标视频,在该读取时间之前的一段时间内无需缓存目标视频,从而降低了目标视频对缓存系统的占用率,使得缓存系统可以将更多的缓存能力提供给其它业务,提高了缓存系统的利用率,进而提高了可服务的终端数量。
附图说明
图1是本发明实施例提供的一种视频播放方法所涉及的实施环境的示意图;
图2是本发明实施例提供的一种代理服务器的结构示意图;
图3是本发明实施例提供的一种视频播放方法的流程图;
图4是本发明实施例提供的另一种视频播放方法所涉及的实施环境的示意图;
图5是本发明实施例提供的一种视频服务器的结构示意图;
图6是本发明实施例提供的另一种视频播放方法的流程图;
图7是本发明实施例提供的又一种视频播放方法所涉及的实施环境的示意图;
图8是本发明实施例提供的一种第一终端的结构示意图;
图9是本发明实施例提供的另一种视频服务器的结构示意图;
图10是本发明实施例提供的又一种视频播放方法的流程图;
图11A是本发明实施例提供的第一种视频播放装置的结构示意图;
图11B是本发明实施例提供的第二种视频播放装置的结构示意图;
图11C是本发明实施例提供的第三种视频播放装置的结构示意图;
图12A是本发明实施例提供的第四种视频播放装置的结构示意图;
图12B是本发明实施例提供的第五种视频播放装置的结构示意图;
图12C是本发明实施例提供的第六种视频播放装置的结构示意图;
图13A是本发明实施例提供的第七种视频播放装置的结构示意图;
图13B是本发明实施例提供的第八种视频播放装置的结构示意图;
图13C是本发明实施例提供的第九种视频播放装置的结构示意图;
图14A是本发明实施例提供的第十种视频播放装置的结构示意图;
图14B是本发明实施例提供的第十一种视频播放装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
图1是本发明实施例提供的一种视频播放方法所涉及的实施环境的示意图。参见图1,该实施环境可以包括:第一终端110、代理服务器120和视频服务器130。第一终端110与代理服务器120之间,以及代理服务器120与视频服务器130之间均可以通过有线网络或无线网络进行通信,且第一终端110与代理服务器120之间,以及代理服务器120与视频服务器130之间均可以使用超文本传输实时流协议(HTTP Live Streaming,HLS)、实时流媒体协议(Real Time Streaming Protocol,RTSP)等协议来传输视频数据,本发明实施例对此不作限定。
其中,第一终端110可以为智能手机、计算机、平板设备、笔记本电脑等,代理服务器120可以为一服务器,也可以为多个服务器组成的服务器集群,视频服务器130可以为一服务器,也可以为多个服务器组成的服务器集群。实际应用中,代理服务器120和视频服务器130均可以为内容分发网络(Content Delivery Network,CDN)中的CDN节点,如可以为CDN边缘节点等,且代理服务器120和视频服务器130可以分别单独设置,也可以设置在一起,本发明实施例对此不作限定。
其中,第一终端110可以向代理服务器120发送用于请求获取目标视频的视频播放请求;当代理服务器120接收到第一终端110发送的用于请求获取目标视频的视频播放请求时,可以从视频服务器130中读取目标视频,并将读取到的目标视频发送给第一终端110;当第一终端110接收到代理服务器120发送的目标视频时,可以播放目标视频。
图2是本发明实施例提供的一种代理服务器的结构示意图,该代理服务器可以是图1中所示的代理服务器120。参见图2,该代理服务器包括至少一个处理器201,通信总线202,存储器203以及至少一个通信接口204。
处理器201可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线202可包括一通路,在上述组件之间传送信息。
存储器203可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器203可以是独立存在,通过通信总线202与处理器201相连接。存储器203也可以和处理器201集成在一起。
通信接口204,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(Radio Access Network,RAN),无线局域网(Wireless Local AreaNetworks,WLAN)等。
在具体实现中,作为一种实施例,处理器201可以包括一个或多个CPU,例如图2中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,该代理服务器可以包括多个处理器,例如图2中所示的处理器201和处理器205。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
其中,存储器203用于存储执行本申请方案的程序代码210,处理器201用于执行存储器203中存储的程序代码210。该代理服务器可以通过处理器201以及存储器203中的程序代码210,来实现下文图3实施例提供的视频播放方法。
图3是本发明实施例提供的一种视频播放方法的流程图。参见图3,该方法包括:
步骤301:第一终端向代理服务器发送用于请求获取目标视频的视频播放请求。
需要说明的是,目标视频为第一终端所要播放的视频。
另外,当第一终端与代理服务器之间,以及代理服务器与视频服务器之间均是通过RTSP协议来传输视频数据时,当第一终端与代理服务器之间,以及代理服务器与视频服务器之间均可以预先建立会话,以便能够进行后续视频数据的传输。具体地,在步骤301之前,第一终端可以通过选择(OPTIONS)消息、描述(DESCRIBE)消息、计划(DESCRIBE)消息建立与代理服务器之间的会话,同样,代理服务器可以通过OPTIONS消息、DESCRIBE消息、DESCRIBE消息建立与视频服务器之间的会话。
步骤302:当代理服务器接收到第一终端发送的用于请求获取目标视频的视频播放请求时,判断在当前的系统时间之前请求获取目标视频的终端中是否存在未被发送目标视频的终端。
需要说明的是,本发明实施例中所述的请求获取目标视频的终端是指向代理服务器发送用于请求获取目标视频的视频播放请求的终端。
另外,当在当前的系统时间之前请求获取目标视频的终端中存在未被发送目标视频的终端时,表明在当前的系统时间之前有过所有请求获取目标视频的终端中存在唯一未被发送目标视频的终端的情况,且该唯一未被发送目标视频的终端为在当前的系统时间之前请求获取目标视频且未被发送目标视频的终端中最早请求获取目标视频的终端,本发明实施例中称为第二终端。当当在当前的系统时间之前请求获取目标视频的终端中不存在未被发送目标视频的终端时,表明第一终端是所有请求获取目标视频的终端中唯一未被发送目标视频的终端。
再者,当代理服务器接收到某一终端发送的用于请求获取目标视频的视频播放请求时,如果该终端为所有请求获取目标视频的终端中唯一未被发送目标视频的终端,则此时代理服务器可以基于该终端发送的用于请求获取目标视频的视频播放请求的接收时间来确定目标视频的读取时间,目标视频的读取时间为代理服务器读取目标视频的时间。
步骤303:当在当前的系统时间之前请求获取目标视频的终端中存在未被发送目标视频的终端时,代理服务器基于当前的系统时间判断目标视频的读取时间是否已到达。
当在当前的系统时间之前请求获取目标视频的终端中存在未被发送目标视频的终端时,表明代理服务器在当前的系统时间之前已经基于第二终端发送的用于请求获取目标视频的视频播放请求的接收时间确定了目标视频的读取时间。因此,此时代理服务器可以直接基于当前的系统时间判断目标视频的读取时间是否已到达,以便在该读取时间读取目标视频。
其中,代理服务器基于第二终端发送的用于请求获取目标视频的视频播放请求的接收时间确定该读取时间时,可以在步骤303之前,接收第二终端发送的用于请求获取目标视频的视频播放请求,将在第二终端发送的用于请求获取目标视频的视频播放请求的接收时间之后且相距预设时长的时间确定为该读取时间。其中,预设时长可以预先进行设置,本发明实施例对此不作限定。
例如,预设时长为2分钟,第二终端发送的用于请求获取目标视频的视频播放请求的接收时间为2017/3/17-13:57:56,则可以将在2017/3/17-13:57:56之后且相距2分钟的时间2017/3/17-13:59:56确定为该读取时间。
进一步地,当在当前的系统时间之前请求获取目标视频的终端中不存在未被发送目标视频的终端时,代理服务器基于当前的系统时间确定目标视频的读取时间,再基于当前的系统时间判断目标视频的读取时间是否已到达。
当在当前的系统时间之前请求获取目标视频的终端中不存在未被发送目标视频的终端时,表明第一终端是所有请求获取目标视频的终端中唯一未被发送目标视频的终端,则此时代理服务器可以基于第一终端发送的用于请求获取目标视频的视频播放请求的接收时间(即当前的系统时间)确定目标视频的读取时间,具体地,可以将在当前的系统时间之后且相距预设时长的时间确定为该读取时间。
需要说明的是,代理服务器确定目标视频的读取时间之后,代理服务器会在该读取时间对该读取时间之前请求获取目标视频且未被发送目标视频的所有终端统一进行请求响应,也即是,代理服务器会在该读取时间读取目标视频,并将读取到的目标视频统一发送给该读取时间之前请求获取目标视频且未被发送目标视频的所有终端。
进一步地,由于代理服务器在该读取时间才会读取并向第一终端发送目标视频,因此,为了提高第一终端的视频播放性能,在基于当前的系统时间判断目标视频的读取时间是否已到达之后,如果该读取时间未到达,则可以向第一终端发送一些包含推广信息的视频,以使第一终端在当前的系统时间与该读取时间之间的时间段可以播放这些视频。具体地,代理服务器可以确定当前的系统时间与该读取时间之间相距的等待时长;从存储的多个推广视频中,获取播放时长的总和与该等待时长之差最小的至少一个目标推广视频,该多个推广视频均为包含推广信息的视频;将该至少一个目标推广视频发送给第一终端,以使第一终端对该至少一个目标推广视频进行播放。
由于该至少一个目标推广视频的播放时长的总和与该等待时长之差较小,因此,第一终端播放完该至少一个目标推广视频时,正好到达该读取时间,此时代理服务器会读取并向第一终端发送目标视频来继续播放,从而可以使得第一终端的视频播放较为连续,视频播放性能较好。
步骤304:当该读取时间已到达时,代理服务器读取目标视频,并将读取到的目标视频发送给第一终端和该读取时间之前请求获取目标视频且未被发送目标视频的所有终端。
其中,代理服务器读取目标视频时,可以向视频服务器发送用于读取目标视频的视频读取请求;当视频服务器接收到代理服务器发送的用于读取目标视频的视频读取请求时,可以读取目标视频,并将读取到的目标视频发送给代理服务器;当代理服务器接收到视频服务器发送的目标视频时,完成对目标视频的读取。
需要说明的是,代理服务器在接收到第一终端和该所有终端发送的用于请求获取目标视频的视频播放请求时,只需从视频服务器中读取一次目标视频,将读取到的目标视频共享给第一终端和该所有终端即可,从而减少了代理服务器和视频服务器的视频读取次数,节省了代理服务器和视频服务器的处理资源。另外,由于代理服务器只需在该读取时间从视频服务器中读取目标视频,所以视频服务器的缓存系统只需在该读取时间缓存有目标视频,在该读取时间之前的一段时间内无需缓存目标视频,从而降低了目标视频对缓存系统的占用率,使得缓存系统可以将更多的缓存能力提供给其它业务,提高了缓存系统的利用率,进而提高了视频服务器可服务的终端数量。
步骤305:对于第一终端和该所有终端中的任一终端,当该终端接收到代理服务器发送的目标视频时,播放目标视频。
在本发明实施例中,第一终端向代理服务器发送用于请求获取目标视频的视频播放请求。当代理服务器接收到第一终端发送的用于请求获取目标视频的视频播放请求时,可以在当前的系统时间之前请求获取目标视频的终端中存在未被发送目标视频的终端时,基于当前的系统时间判断目标视频的读取时间是否已到达。当该读取时间已到达时,代理服务器可以从视频服务器中读取目标视频,并将读取到的目标视频发送给第一终端和该读取时间之前请求获取目标视频且未被发送目标视频的所有终端。第一终端和该所有终端中的任一终端接收到代理服务器发送的目标视频时,可以播放目标视频。在此视频播放过程中代理服务器只需从视频服务器中读取一次目标视频,从而减少了代理服务器和视频服务器的视频读取次数,节省了代理服务器和视频服务器的处理资源。另外,由于代理服务器只需在该读取时间从视频服务器中读取目标视频,所以视频服务器的缓存系统只需在该读取时间缓存有目标视频,在该读取时间之前的一段时间内无需缓存目标视频,从而降低了目标视频对缓存系统的占用率,使得缓存系统可以将更多的缓存能力提供给其它业务,提高了缓存系统的利用率,进而提高了视频服务器可服务的终端数量。
图4是本发明实施例提供的一种视频播放方法所涉及的实施环境的示意图。参见图4,该实施环境可以包括:第一终端410和视频服务器420。第一终端410与视频服务器420之间可以通过有线网络或无线网络进行通信,且第一终端410与视频服务器420之间可以使用HLS、RTSP等协议来传输视频数据,本发明实施例对此不作限定。第一终端410可以为智能手机、计算机、平板设备、笔记本电脑等,视频服务器420可以为一服务器,也可以为多个服务器组成的服务器集群,本发明实施例对此不作限定。
其中,第一终端410可以向视频服务器420发送用于请求获取目标视频的视频播放请求;当视频服务器420接收到第一终端410发送的用于请求获取目标视频的视频播放请求时,可以读取目标视频,并将读取到的目标视频发送给第一终端410;当第一终端410接收到视频服务器420发送的目标视频时,可以播放目标视频。
图5是本发明实施例提供的一种视频服务器的结构示意图,该视频服务器可以是图4中所示的视频服务器420。参见图5,该视频服务器包括至少一个处理器501,通信总线502,存储器503以及至少一个通信接口504。
处理器501可以是一个通用CPU,微处理器,ASIC,或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线502可包括一通路,在上述组件之间传送信息。
存储器503可以是ROM或可存储静态信息和指令的其它类型的静态存储设备,RAM或者可存储信息和指令的其它类型的动态存储设备,也可以是EEPROM、CD-ROM或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器503可以是独立存在,通过通信总线502与处理器501相连接。存储器503也可以和处理器501集成在一起。
通信接口504,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,RAN,WLAN等。
在具体实现中,作为一种实施例,处理器501可以包括一个或多个CPU,例如图5中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,该视频服务器可以包括多个处理器,例如图5中所示的处理器501和处理器505。这些处理器中的每一个可以是一个single-CPU,也可以是一个multi-CPU。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
其中,存储器503用于存储执行本申请方案的程序代码510,处理器501用于执行存储器503中存储的程序代码510。该视频服务器可以通过处理器501以及存储器503中的程序代码510,来实现下文图6实施例提供的视频播放方法。
图6是本发明实施例提供的一种视频播放方法的流程图。参见图6,该方法包括:
步骤601:第一终端向视频服务器发送用于请求获取目标视频的视频播放请求。
需要说明的是,目标视频为第一终端所要播放的视频。
步骤602:当视频服务器接收到第一终端发送的用于请求获取目标视频的视频播放请求时,判断在当前的系统时间之前请求获取目标视频的终端中是否存在未被发送目标视频的终端。
需要说明的是,本发明实施例中所述的请求获取目标视频的终端是指向视频服务器发送用于请求获取目标视频的视频播放请求的终端。
另外,当在当前的系统时间之前请求获取目标视频的终端中存在未被发送目标视频的终端时,表明在当前的系统时间之前有过所有请求获取目标视频的终端中存在唯一未被发送目标视频的终端的情况,且该唯一未被发送目标视频的终端为在当前的系统时间之前请求获取目标视频且未被发送目标视频的终端中最早请求获取目标视频的终端,本发明实施例中称为第二终端。当当在当前的系统时间之前请求获取目标视频的终端中不存在未被发送目标视频的终端时,表明第一终端是所有请求获取目标视频的终端中唯一未被发送目标视频的终端。
再者,当视频服务器接收到某一终端发送的用于请求获取目标视频的视频播放请求时,如果该终端为所有请求获取目标视频的终端中唯一未被发送目标视频的终端,则此时视频服务器可以基于该终端发送的用于请求获取目标视频的视频播放请求的接收时间来确定目标视频的读取时间,目标视频的读取时间为视频服务器读取目标视频的时间。
步骤603:当在当前的系统时间之前请求获取目标视频的终端中存在未被发送目标视频的终端时,视频服务器基于当前的系统时间判断目标视频的读取时间是否已到达。
当在当前的系统时间之前请求获取目标视频的终端中存在未被发送目标视频的终端时,表明视频服务器在当前的系统时间之前已经基于第二终端发送的用于请求获取目标视频的视频播放请求的接收时间确定了目标视频的读取时间。因此,此时视频服务器可以直接基于当前的系统时间判断目标视频的读取时间是否已到达,以便在该读取时间读取目标视频。
其中,视频服务器基于第二终端发送的用于请求获取目标视频的视频播放请求的接收时间确定该读取时间时,可以在步骤603之前,接收第二终端发送的用于请求获取目标视频的视频播放请求,将在第二终端发送的用于请求获取目标视频的视频播放请求的接收时间之后且相距预设时长的时间确定为该读取时间。其中,预设时长可以预先进行设置,本发明实施例对此不作限定。
例如,预设时长为2分钟,第二终端发送的用于请求获取目标视频的视频播放请求的接收时间为2017/3/17-13:57:56,则可以将在2017/3/17-13:57:56之后且相距2分钟的时间2017/3/17-13:59:56确定为该读取时间。
进一步地,当在当前的系统时间之前请求获取目标视频的终端中不存在未被发送目标视频的终端时,视频服务器基于当前的系统时间确定目标视频的读取时间,再基于当前的系统时间判断目标视频的读取时间是否已到达。
当在当前的系统时间之前请求获取目标视频的终端中不存在未被发送目标视频的终端时,表明第一终端是所有请求获取目标视频的终端中唯一未被发送目标视频的终端,则此时视频服务器可以基于第一终端发送的用于请求获取目标视频的视频播放请求的接收时间(即当前的系统时间)确定目标视频的读取时间,具体地,可以将在当前的系统时间之后且相距预设时长的时间确定为该读取时间。
需要说明的是,视频服务器确定目标视频的读取时间之后,视频服务器会在该读取时间对该读取时间之前请求获取目标视频且未被发送目标视频的所有终端统一进行请求响应,也即是,视频服务器会在该读取时间读取目标视频,并将读取到的目标视频统一发送给该读取时间之前请求获取目标视频且未被发送目标视频的所有终端。
进一步地,由于视频服务器在该读取时间才会读取并向第一终端发送目标视频,因此,为了提高第一终端的视频播放性能,在基于当前的系统时间判断目标视频的读取时间是否已到达之后,如果该读取时间未到达,则可以向第一终端发送一些包含推广信息的视频,以使第一终端在当前的系统时间与该读取时间之间的时间段可以播放这些视频。具体地,视频服务器可以确定当前的系统时间与该读取时间之间相距的等待时长;从存储的多个推广视频中,获取播放时长的总和与该等待时长之差最小的至少一个目标推广视频,该多个推广视频均为包含推广信息的视频;将该至少一个目标推广视频发送给第一终端,以使第一终端对该至少一个目标推广视频进行播放。
由于该至少一个目标推广视频的播放时长的总和与该等待时长之差较小,因此,第一终端播放完该至少一个目标推广视频时,正好到达该读取时间,此时视频服务器会读取并向第一终端发送目标视频来继续播放,从而可以使得第一终端的视频播放较为连续,视频播放性能较好。
步骤604:当该读取时间已到达时,视频服务器读取目标视频,并将读取到的目标视频发送给第一终端和该读取时间之前请求获取目标视频且未被发送目标视频的所有终端。
需要说明的是,视频服务器在接收到第一终端和该所有终端发送的用于请求获取目标视频的视频播放请求时,只需在该读取时间读取一次目标视频,将读取到的目标视频共享给第一终端和该所有终端即可,从而减少了视频服务器的视频读取次数,节省了视频服务器的处理资源。另外,由于视频服务器只需在该读取时间读取目标视频,所以视频服务器的缓存系统只需在该读取时间缓存有目标视频,在该读取时间之前的一段时间内无需缓存目标视频,从而降低了目标视频对缓存系统的占用率,使得缓存系统可以将更多的缓存能力提供给其它业务,提高了缓存系统的利用率,进而提高了视频服务器可服务的终端数量。
步骤605:对于第一终端和该所有终端中的任一终端,当该终端接收到视频服务器发送的目标视频时,播放目标视频。
在本发明实施例中,第一终端向视频服务器发送用于请求获取目标视频的视频播放请求。当视频服务器接收到第一终端发送的用于请求获取目标视频的视频播放请求时,可以在当前的系统时间之前请求获取目标视频的终端中存在未被发送目标视频的终端时,基于当前的系统时间判断目标视频的读取时间是否已到达。当该读取时间已到达时,视频服务器可以读取目标视频,并将读取到的目标视频发送给第一终端和该读取时间之前请求获取目标视频且未被发送目标视频的所有终端。第一终端和该所有终端中的任一终端接收到视频服务器发送的目标视频时,可以播放目标视频。在此视频播放过程中视频服务器只需读取一次目标视频,从而减少了视频服务器的视频读取次数,节省了视频服务器的处理资源。另外,由于视频服务器只需在该读取时间读取目标视频,所以视频服务器的缓存系统只需在该读取时间缓存有目标视频,在该读取时间之前的一段时间内无需缓存目标视频,从而降低了目标视频对缓存系统的占用率,使得缓存系统可以将更多的缓存能力提供给其它业务,提高了缓存系统的利用率,进而提高了视频服务器可服务的终端数量。
图7是本发明实施例提供的一种视频播放方法所涉及的实施环境的示意图。参见图7,该实施环境可以包括:第一终端710和视频服务器720,第一终端710与视频服务器720之间可以通过有线网络或无线网络进行通信,且第一终端710与视频服务器720之间可以使用HLS、RTSP等协议来传输视频数据,本发明实施例对此不作限定。第一终端710可以为智能手机、计算机、平板设备、笔记本电脑等;视频服务器720可以为一服务器,也可以为多个服务器组成的服务器集群,本发明实施例对此不作限定。
其中,第一终端710可以向视频服务器720发送用于请求确定目标视频的读取时间的预播放请求;当视频服务器720接收到第一终端710发送的用于请求确定该读取时间的预播放请求时,可以将目标视频的读取时间信息发送给第一终端710;当第一终端710接收到视频服务器720发送的该读取时间信息时,可以在该读取时间信息指示的该读取时间向视频服务器720发送用于请求获取目标视频的视频播放请求;当视频服务器720在该读取时间接收到第一终端710发送的用于请求获取目标视频的视频播放请求时,可以读取目标视频,并将读取到的目标视频发送给第一终端710;当第一终端710接收到视频服务器720发送的目标视频时,可以播放目标视频。
图8是本发明实施例提供的一种第一终端的结构示意图,该第一终端可以是图7中所示的第一终端710。参见图8,该第一终端包括至少一个处理器801,通信总线802,存储器803以及至少一个通信接口804。
处理器801可以是一个通用CPU,微处理器,ASIC,或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线802可包括一通路,在上述组件之间传送信息。
存储器803可以是ROM或可存储静态信息和指令的其它类型的静态存储设备,RAM或者可存储信息和指令的其它类型的动态存储设备,也可以是EEPROM、CD-ROM或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器803可以是独立存在,通过通信总线802与处理器801相连接。存储器803也可以和处理器801集成在一起。
通信接口804,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,RAN,WLAN等。
在具体实现中,作为一种实施例,处理器801可以包括一个或多个CPU,例如图8中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,该第一终端可以包括多个处理器,例如图8中所示的处理器801和处理器805。这些处理器中的每一个可以是一个single-CPU,也可以是一个multi-CPU。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,该第一终端还可以包括输出设备806和输入设备807。输出设备806和处理器801通信,可以以多种方式来显示信息。例如,输出设备806可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备807和处理器801通信,可以以多种方式接收用户的输入。例如,输入设备807可以是鼠标、键盘、触摸屏设备或传感设备等。
其中,存储器803用于存储执行本申请方案的程序代码810,处理器801用于执行存储器803中存储的程序代码810。该第一终端可以通过处理器801以及存储器803中的程序代码810,来实现下文图10实施例提供的视频播放方法。
图9是本发明实施例提供的一种视频服务器的结构示意图,该视频服务器可以是图7中所示的视频服务器720。参见图9,该视频服务器包括至少一个处理器901,通信总线902,存储器903以及至少一个通信接口904。
处理器901可以是一个通用CPU,微处理器,ASIC,或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线902可包括一通路,在上述组件之间传送信息。
存储器903可以是ROM或可存储静态信息和指令的其它类型的静态存储设备,RAM或者可存储信息和指令的其它类型的动态存储设备,也可以是EEPROM、CD-ROM或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器903可以是独立存在,通过通信总线902与处理器901相连接。存储器903也可以和处理器901集成在一起。
通信接口904,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,RAN,WLAN等。
在具体实现中,作为一种实施例,处理器901可以包括一个或多个CPU,例如图9中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,该视频服务器可以包括多个处理器,例如图9中所示的处理器901和处理器905。这些处理器中的每一个可以是一个single-CPU,也可以是一个multi-CPU。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
其中,存储器903用于存储执行本申请方案的程序代码910,处理器901用于执行存储器903中存储的程序代码910。该视频服务器可以通过处理器901以及存储器903中的程序代码910,来实现下文图10实施例提供的视频播放方法。
图10是本发明实施例提供的一种视频播放方法的流程图。参见图10,该方法包括:
步骤1001:第一终端向视频服务器发送用于请求确定目标视频的读取时间的预播放请求。
需要说明的是,目标视频为第一终端所要播放的视频,目标视频的读取时间为视频服务器读取目标视频的时间。
为了保证视频服务器在该读取时间读取目标视频,后续第一终端接收到视频服务器返回的目标视频的读取时间信息时,需要在该读取时间信息指示的该读取时间向视频服务器发送用于请求获取目标视频的视频播放请求,视频服务器接收到第一终端发送的用于请求获取目标视频的视频播放请求时会立即读取目标视频,从而可以实现视频服务器在该读取时间对目标视频的读取。
步骤1002:当视频服务器接收到第一终端发送的用于请求确定目标视频的读取时间的预播放请求时,判断在当前的系统时间之前请求确定该读取时间的终端中是否存在未被发送目标视频的终端。
需要说明的是,本发明实施例中所述的请求确定该读取时间的终端是指向视频服务器发送用于请求确定该读取时间的预播放请求的终端。
另外,当在当前的系统时间之前请求确定该读取时间的终端中存在未被发送目标视频的终端时,表明在当前的系统时间之前有过所有请求确定该读取时间的终端中存在唯一未被发送目标视频的终端的情况,且该唯一未被发送目标视频的终端为在当前的系统时间之前请求确定该读取时间且未被发送目标视频的终端中最早请求确定该读取时间的终端,本发明实施例中称为第二终端。当当在当前的系统时间之前请求确定该读取时间的终端中不存在未被发送目标视频的终端时,表明第一终端是所有请求确定该读取时间的终端中唯一未被发送目标视频的终端。
再者,当视频服务器接收到某一终端发送的用于请求确定该读取时间的预播放请求时,如果该终端为所有请求确定该读取时间的终端中唯一未被发送目标视频的终端,则此时视频服务器可以基于该终端发送的用于请求确定该读取时间的预播放请求的接收时间来确定目标视频的读取时间。
步骤1003:当在当前的系统时间之前请求确定该读取时间的终端中存在未被发送目标视频的终端时,视频服务器将目标视频的读取时间信息发送给第一终端。
当在当前的系统时间之前请求确定该读取时间的终端中存在未被发送目标视频的终端时,表明视频服务器在当前的系统时间之前已经基于第二终端发送的用于请求确定该读取时间的预播放请求的接收时间确定了目标视频的读取时间。因此,此时视频服务器可以直接将目标视频的读取时间信息发送给第一终端。
其中,视频服务器基于第二终端发送的用于请求确定该读取时间的预播放请求的接收时间确定该读取时间时,可以在步骤1003之前,接收第二终端发送的用于请求确定该读取时间的预播放请求,将在第二终端发送的用于请求确定该读取时间的预播放请求的接收时间之后且相距预设时长的时间确定为该读取时间。其中,预设时长可以预先进行设置,本发明实施例对此不作限定。
例如,预设时长为2分钟,第二终端发送的用于请求确定该读取时间的预播放请求的接收时间为2017/3/17-13:57:56,则可以将在2017/3/17-13:57:56之后且相距2分钟的时间2017/3/17-13:59:56确定为该读取时间。
进一步地,当在当前的系统时间之前请求确定该读取时间的终端中不存在未被发送目标视频的终端时,视频服务器基于当前的系统时间确定目标视频的读取时间,再将目标视频的读取时间信息发送给第一终端。
当在当前的系统时间之前请求确定该读取时间的终端中不存在未被发送目标视频的终端时,表明第一终端是所有请求确定该读取时间的终端中唯一未被发送目标视频的终端,则此时视频服务器可以基于第一终端发送的用于请求确定该读取时间的预播放请求的接收时间(即当前的系统时间)确定该读取时间,具体地,可以将在当前的系统时间之后且相距预设时长的时间确定为该读取时间。
需要说明的是,视频服务器确定目标视频的读取时间之后,视频服务器会对在该读取时间之前请求确定该读取时间且未被发送目标视频的所有终端均返回该读取时间信息,以使该所有终端在该读取时间向视频服务器请求获取目标视频。例如,视频服务器接收到第二终端发送的用于请求确定该读取时间的预播放请求时,基于第二终端发送的用于请求确定该读取时间的预播放请求的接收时间确定该读取时间后,可以将该读取时间信息发送给第二终端,以使第二终端在该读取时间向视频服务器请求获取目标视频。
步骤1004:当第一终端接收到视频服务器发送的目标视频的读取时间信息时,基于该读取时间信息确定目标视频的读取时间,并在该读取时间向视频服务器发送用于请求获取目标视频的视频播放请求。
需要说明的是,目标视频的读取时间信息用于指示目标视频的读取时间,所以第一终端接收到该读取时间信息后,可以基于该读取时间信息确定该读取时间,以便可以在该读取时间向视频服务器请求获取目标视频。
进一步地,由于第一终端在该读取时间才会向视频服务器请求获取目标视频,因此,为了提高视频播放性能,基于该读取时间信息确定该读取时间之后,第一终端还可以在当前的系统时间与该读取时间之间的时间段,播放一些包含推广信息的视频。具体地,可以确定当前的系统时间与该读取时间之间相距的等待时长;从存储的多个推广视频中,获取播放时长的总和与该等待时长之差最小的至少一个目标推广视频,该多个推广视频均为包含推广信息的视频;对该至少一个目标推广视频进行播放。
由于该至少一个目标推广视频的播放时长的总和与该等待时长之差较小,因此,第一终端播放完该至少一个目标推广视频时,正好到达该读取时间,此时第一终端会向视频服务器请求获取目标视频来继续播放,从而可以使得视频播放较为连续,视频播放性能较好。
更进一步地,从存储的多个推广视频中,获取播放时长的总和与该等待时长之差最小的至少一个目标推广视频之前,第一终端还可以预先下载该多个推广视频。具体地,第一终端可以当网络负载率小于或等于预设负载率时,下载该多个推广视频;或者,可以当网络数据传输速率大于或等于预设数据传输速率时,下载该多个推广视频;当然,第一终端也可以在其它时机下载该多个推广视频,本发明实施例对此不作限定。其中,预设负载率和预设数据传输速率均可以预先进行设置,本发明实施例对此不作限定。
需要说明的是,第一终端可以从视频服务器中下载该多个推广视频,当然,也可以从其他服务器中下载该多个推广视频,本发明实施例对此不作限定。
另外,当网络负载率小于或等于预设负载率时,表明第一终端当前进行的业务较少,所以此时进行该多个推广视频的下载将不会影响第一终端对业务的正常进行。当网络数据传输速率大于或等于预设数据传输速率时,表明第一终端当前的网络连接状况较好,所以此时不仅可以快速下载该多个推广视频,且在网络连接状况较好的情况下,该多个推广视频的下载也不会对第一终端正在进行的其他业务造成过大影响。
需要说明的是,由于视频服务器会对在该读取时间之前请求确定该读取时间且未被发送目标视频的所有终端均返回该读取时间信息,因此,第一终端和该所有终端均会接收到该读取时间信息,并在该读取时间向视频服务器发送用于请求获取目标视频的视频播放请求。
步骤1005:当视频服务器在目标视频的读取时间接收到第一终端和该读取时间之前请求确定该读取时间且未被发送目标视频的所有终端发送的用于请求获取目标视频的视频播放请求时,读取目标视频,并将读取到的目标视频发送给第一终端和该所有终端。
由于第一终端和该所有终端均是在该读取时间向视频服务器请求获取目标视频,所以,此时视频服务器只需读取一次目标视频,将读取到的目标视频共享给第一终端和该所有终端即可,从而减少了视频服务器的视频读取次数,节省了视频服务器的处理资源。另外,由于视频服务器只需在该读取时间读取目标视频,所以视频服务器的缓存系统只需在该读取时间缓存有目标视频,在该读取时间之前的一段时间内无需缓存目标视频,从而降低了目标视频对缓存系统的占用率,使得缓存系统可以将更多的缓存能力提供给其它业务,提高了缓存系统的利用率,进而提高了视频服务器可服务的终端数量。
步骤1006:对于第一终端和该所有终端中的任一终端,当该终端接收到视频服务器发送的目标视频时,播放目标视频。
在本发明实施例中,第一终端可以向视频服务器发送用于请求确定目标视频的读取时间的预播放请求,当视频服务器接收到第一终端发送的用于请求确定该读取时间的预播放请求时,可以在当前的系统时间之前请求确定该读取时间的终端中存在未被发送目标视频的终端时,将目标视频的读取时间信息发送给第一终端。当第一终端接收到视频服务器发送的该读取时间信息时,可以在该读取时间信息指示的读取时间向视频服务器发送用于请求获取目标视频的视频播放请求。当视频服务器在该读取时间接收到第一终端和该读取时间之前请求确定该读取时间且未被发送目标视频的所有终端发送的用于请求获取目标视频的视频播放请求时,可以读取目标视频,并将读取到的目标视频发送给第一终端和该所有终端。当第一终端和该所有终端中的任一终端接收到视频服务器发送的目标视频时,可以播放目标视频。在此视频播放过程中视频服务器只需读取一次目标视频,从而减少了视频服务器的视频读取次数,节省了视频服务器的处理资源。另外,由于视频服务器只需在该读取时间读取目标视频,所以视频服务器的缓存系统只需在该读取时间缓存有目标视频,在该读取时间之前的一段时间内无需缓存目标视频,从而降低了目标视频对缓存系统的占用率,使得缓存系统可以将更多的缓存能力提供给其它业务,提高了缓存系统的利用率,进而提高了视频服务器可服务的终端数量。
图11A是本发明实施例提供的一种视频播放装置的结构示意图,该视频播放装置可以由软件、硬件或者两者的结合实现成为代理服务器的部分或者全部,该代理服务器可以为图2所示的代理服务器。参见图11A,该装置包括第一判断模块1101,第二判断模块1102,读取模块1103和第一发送模块1104。
第一判断模块1101,用于执行上述图3实施例中的步骤302;
第二判断模块1102,用于执行上述图3实施例中的步骤303;
读取模块1103和第一发送模块1104,用于执行上述图3实施例中的步骤304。
可选地,参见图11B,该装置还包括接收模块1105和第一确定模块1106。
接收模块1105,用于接收第二终端发送的用于请求获取目标视频的视频播放请求;
第一确定模块1106,用于将在第二终端发送的用于请求获取目标视频的视频播放请求的接收时间之后且相距预设时长的时间确定为读取时间。
可选地,参见图11C,该装置还包括第二确定模块1107,获取模块1108和第二发送模块1109。
第二确定模块1107,用于当读取时间未到达时,确定当前的系统时间与读取时间之间相距的等待时长;
获取模块1108,用于从存储的多个推广视频中,获取播放时长的总和与等待时长之差最小的至少一个目标推广视频,多个推广视频均为包含推广信息的视频;
第二发送模块1109,用于将至少一个目标推广视频发送给第一终端,以使第一终端对至少一个目标推广视频进行播放。
在本发明实施例中,当接收到第一终端发送的用于请求获取目标视频的视频播放请求时,可以在当前的系统时间之前请求获取目标视频的终端中存在未被发送目标视频的终端时,基于当前的系统时间判断目标视频的读取时间是否已到达。当该读取时间已到达时,可以读取目标视频,并将读取到的目标视频发送给第一终端和该读取时间之前请求获取目标视频且未被发送目标视频的所有终端,以使第一终端和该所有终端播放目标视频。在此视频播放过程中只需读取一次目标视频,从而减少了视频读取次数,节省了处理资源。另外,由于只需在该读取时间读取目标视频,所以缓存系统只需在该读取时间缓存有目标视频,在该读取时间之前的一段时间内无需缓存目标视频,从而降低了目标视频对缓存系统的占用率,使得缓存系统可以将更多的缓存能力提供给其它业务,提高了缓存系统的利用率,进而提高了可服务的终端数量。
图12A是本发明实施例提供的一种视频播放装置的结构示意图,该视频播放装置可以由软件、硬件或者两者的结合实现成为视频服务器的部分或者全部,该视频服务器可以为图5所示的视频服务器。参见图12A,该装置包括第一判断模块1201,第二判断模块1202,读取模块1203和第一发送模块1204。
第一判断模块1201,用于执行上述图6实施例中的步骤602;
第二判断模块1202,用于执行上述图6实施例中的步骤603;
读取模块1203和第一发送模块1204,用于执行上述图6实施例中的步骤604。
可选地,参见图12B,该装置还包括接收模块1205和第一确定模块1206。
接收模块1205,用于接收第二终端发送的用于请求获取目标视频的视频播放请求;
第一确定模块1206,用于将在第二终端发送的用于请求获取目标视频的视频播放请求的接收时间之后且相距预设时长的时间确定为读取时间。
可选地,参见图12C,该装置还包括第二确定模块1207,获取模块1208和第二发送模块1209。
第二确定模块1207,用于当读取时间未到达时,确定当前的系统时间与读取时间之间相距的等待时长;
获取模块1208,用于从存储的多个推广视频中,获取播放时长的总和与等待时长之差最小的至少一个目标推广视频,多个推广视频均为包含推广信息的视频;
第二发送模块1209,用于将至少一个目标推广视频发送给第一终端,以使第一终端对至少一个目标推广视频进行播放。
在本发明实施例中,当接收到第一终端发送的用于请求获取目标视频的视频播放请求时,可以在当前的系统时间之前请求获取目标视频的终端中存在未被发送目标视频的终端时,基于当前的系统时间判断目标视频的读取时间是否已到达。当该读取时间已到达时,可以读取目标视频,并将读取到的目标视频发送给第一终端和该读取时间之前请求获取目标视频且未被发送目标视频的所有终端,以使第一终端和该所有终端播放目标视频。在此视频播放过程中只需读取一次目标视频,从而减少了视频读取次数,节省了处理资源。另外,由于只需在该读取时间读取目标视频,所以缓存系统只需在该读取时间缓存有目标视频,在该读取时间之前的一段时间内无需缓存目标视频,从而降低了目标视频对缓存系统的占用率,使得缓存系统可以将更多的缓存能力提供给其它业务,提高了缓存系统的利用率,进而提高了可服务的终端数量。
图13A是本发明实施例提供的一种视频播放装置的结构示意图,该视频播放装置可以由软件、硬件或者两者的结合实现成为第一终端的部分或者全部,该视频服务器可以为图8所示的第一终端。参见图13A,该装置包括第一发送模块1301,接收模块1302,第二发送模块1303和第一播放模块1304。
第一发送模块1301,用于执行上述图10实施例中的步骤1001;
接收模块1302和第二发送模块1303,用于执行上述图10实施例中的步骤1004;
第一播放模块1304,用于执行上述图10实施例中的步骤1006。
可选地,参见图13B,该装置还包括确定模块1305,获取模块1306和第二播放模块1307。
确定模块1305,用于确定当前的系统时间与读取时间之间相距的等待时长;
获取模块1306,用于从存储的多个推广视频中,获取播放时长的总和与等待时长之差最小的至少一个目标推广视频,多个推广视频均为包含推广信息的视频;
第二播放模块1307,用于对至少一个目标推广视频进行播放。
可选地,参见图13C,该装置还包括第一下载模块1308和第二下载模块1309。
第一下载模块1308,用于当网络负载率小于或等于预设负载率时,下载多个推广视频;或者,
第二下载模块1309,用于当网络数据传输速率大于或等于预设数据传输速率时,下载多个推广视频。
在本发明实施例中,可以向视频服务器发送用于请求确定目标视频的读取时间的预播放请求。当接收到视频服务器发送的目标视频的读取时间信息时,可以在该读取时间信息指示的读取时间向视频服务器发送用于请求获取目标视频的视频播放请求。由于视频服务器也会将目标视频的读取时间信息发送给第二终端,因此,第二终端也会在该读取时间向视频服务器发送用于请求获取目标视频的视频播放请求。也即是,视频服务器在该读取时间至少会接收到第一终端和第二终端发送的用于请求获取目标视频的视频播放请求,此时视频服务器会在该读取时间读取一次目标视频,将读取到的目标视频发送给第一终端和第二终端。当第一终端和第二终端接收到视频服务器发送的目标视频时,可以播放目标视频。在此视频播放过程中视频服务器只需读取一次目标视频,从而减少了视频服务器的视频读取次数,节省了视频服务器的处理资源。另外,由于视频服务器只需在该读取时间读取目标视频,所以视频服务器的缓存系统只需在该读取时间缓存有目标视频,在该读取时间之前的一段时间内无需缓存目标视频,从而降低了目标视频对缓存系统的占用率,使得缓存系统可以将更多的缓存能力提供给其它业务,提高了缓存系统的利用率,进而提高了视频服务器可服务的终端数量。
图14A是本发明实施例提供的一种视频播放装置的结构示意图,该视频播放装置可以由软件、硬件或者两者的结合实现成为视频服务器的部分或者全部,该视频服务器可以为图9所示的视频服务器。参见图14A,该装置包括判断模块1401,第一发送模块1402,读取模块1403和第二发送模块1404。
判断模块1401,用于执行上述图10实施例中的步骤1002;
第一发送模块1402,用于执行上述图10实施例中的步骤1003;
读取模块1403和第二发送模块1404,用于执行上述图10实施例中的步骤1005。
可选地,参见图14B,该装置还包括接收模块1405和确定模块1406。
接收模块1405,用于接收第二终端发送的用于请求确定读取时间的预播放请求;
确定模块1406,用于将在第二终端发送的用于请求确定读取时间的预播放请求的接收时间之后且相距预设时长的时间确定为读取时间。
在本发明实施例中,当接收到第一终端发送的用于请求确定目标视频的读取时间的预播放请求时,可以在当前的系统时间之前请求确定该读取时间的终端中存在未被发送目标视频的终端时,将目标视频的读取时间信息发送给第一终端,以指示第一终端在该读取时间返回用于请求获取目标视频的视频播放请求。当在该读取时间接收到第一终端和该读取时间之前请求确定该读取时间且未被发送目标视频的所有终端发送的用于请求获取目标视频的视频播放请求时,可以读取目标视频,并将读取到的目标视频发送给第一终端和该所有终端,以使第一终端和该所有终端播放目标视频。在此视频播放过程中只需读取一次目标视频,从而减少了视频读取次数,节省了处理资源。另外,由于只需在该读取时间读取目标视频,所以缓存系统只需在该读取时间缓存有目标视频,在该读取时间之前的一段时间内无需缓存目标视频,从而降低了目标视频对缓存系统的占用率,使得缓存系统可以将更多的缓存能力提供给其它业务,提高了缓存系统的利用率,进而提高了可服务的终端数量。
需要说明的是:上述实施例提供的视频播放装置在视频播放时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频播放装置与视频播放方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(Digital Versatile Disc,DVD))、或者半导体介质(例如:固态硬盘(Solid State Disk,SSD))等。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种视频播放方法,其特征在于,所述方法包括:
当接收到第一终端发送的用于请求获取目标视频的视频播放请求时,判断在当前的系统时间之前请求获取所述目标视频的终端中是否存在未被发送所述目标视频的终端;
当在当前的系统时间之前请求获取所述目标视频的终端中存在未被发送所述目标视频的终端时,基于当前的系统时间判断所述目标视频的读取时间是否已到达,所述读取时间是在第二终端发送的用于请求获取所述目标视频的视频播放请求的接收时间之后且相距预设时长的时间,所述第二终端为所述未被发送所述目标视频的终端中最早请求获取所述目标视频的终端;
当所述读取时间未到达时,确定当前的系统时间与所述读取时间之间相距的等待时长,从存储的多个推广视频中,获取播放时长的总和与所述等待时长之差最小的至少一个目标推广视频,所述多个推广视频均为包含推广信息的视频,将所述至少一个目标推广视频发送给所述第一终端,以使所述第一终端对所述至少一个目标推广视频进行播放;
当所述读取时间已到达时,读取所述目标视频;
将读取到的所述目标视频发送给所述第一终端和所述读取时间之前请求获取所述目标视频且未被发送所述目标视频的所有终端,以使所述第一终端和所述所有终端播放所述目标视频。
2.如权利要求1所述的方法,其特征在于,所述当在当前的系统时间之前请求获取所述目标视频的终端中存在未被发送所述目标视频的终端时,基于当前的系统时间判断所述目标视频的读取时间是否已到达之前,还包括:
接收所述第二终端发送的用于请求获取所述目标视频的视频播放请求;
将在所述第二终端发送的用于请求获取所述目标视频的视频播放请求的接收时间之后且相距预设时长的时间确定为所述读取时间。
3.一种视频播放方法,其特征在于,应用于第一终端,所述方法包括:
向视频服务器发送用于请求确定目标视频的读取时间的预播放请求,以使所述视频服务器返回所述目标视频的读取时间信息;
其中,所述目标视频的读取时间信息为所述视频服务器接收到第二终端发送的用于请求确定所述读取时间的预播放请求时向所述第二终端返回的信息,所述读取时间是在所述第二终端发送的用于请求确定所述读取时间的预播放请求的接收时间之后且相距预设时长的时间,所述第二终端为所述第一终端发送的用于请求确定所述读取时间的预播放请求的接收时间之前请求确定所述读取时间且未被所述视频服务器发送所述目标视频的终端中最早请求确定所述读取时间的终端;
接收所述视频服务器发送的所述目标视频的读取时间信息;
基于所述读取时间信息确定所述读取时间;
确定当前的系统时间与所述读取时间之间相距的等待时长,从存储的多个推广视频中,获取播放时长的总和与所述等待时长之差最小的至少一个目标推广视频,所述多个推广视频均为包含推广信息的视频,对所述至少一个目标推广视频进行播放;
在所述读取时间向所述视频服务器发送用于请求获取所述目标视频的视频播放请求,以使所述视频服务器读取并返回所述目标视频;
当接收到所述视频服务器发送的所述目标视频时,播放所述目标视频。
4.如权利要求3所述的方法,其特征在于,所述从存储的多个推广视频中,获取播放时长的总和与所述等待时长之差最小的至少一个目标推广视频之前,还包括:
当网络负载率小于或等于预设负载率时,下载所述多个推广视频;或者,
当网络数据传输速率大于或等于预设数据传输速率时,下载所述多个推广视频。
5.一种视频播放装置,其特征在于,所述装置包括:
第一判断模块,用于当接收到第一终端发送的用于请求获取目标视频的视频播放请求时,判断在当前的系统时间之前请求获取所述目标视频的终端中是否存在未被发送所述目标视频的终端;
第二判断模块,用于当在当前的系统时间之前请求获取所述目标视频的终端中存在未被发送所述目标视频的终端时,基于当前的系统时间判断所述目标视频的读取时间是否已到达,所述读取时间是在第二终端发送的用于请求获取所述目标视频的视频播放请求的接收时间之后且相距预设时长的时间,所述第二终端为所述未被发送所述目标视频的终端中最早请求获取所述目标视频的终端;
读取模块,用于当所述读取时间已到达时,读取所述目标视频;
第一发送模块,用于将读取到的所述目标视频发送给所述第一终端和所述读取时间之前请求获取所述目标视频且未被发送所述目标视频的所有终端,以使所述第一终端和所述所有终端播放所述目标视频;
所述装置还包括:
第二确定模块,用于当所述读取时间未到达时,确定当前的系统时间与所述读取时间之间相距的等待时长;
获取模块,用于从存储的多个推广视频中,获取播放时长的总和与所述等待时长之差最小的至少一个目标推广视频,所述多个推广视频均为包含推广信息的视频;
第二发送模块,用于将所述至少一个目标推广视频发送给所述第一终端,以使所述第一终端对所述至少一个目标推广视频进行播放。
6.如权利要求5所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收所述第二终端发送的用于请求获取所述目标视频的视频播放请求;
第一确定模块,用于将在所述第二终端发送的用于请求获取所述目标视频的视频播放请求的接收时间之后且相距预设时长的时间确定为所述读取时间。
7.一种视频播放装置,其特征在于,所述装置包括:
第一发送模块,用于向视频服务器发送用于请求确定目标视频的读取时间的预播放请求,以使所述视频服务器返回所述目标视频的读取时间信息;其中,所述目标视频的读取时间信息为所述视频服务器接收到第二终端发送的用于请求确定所述读取时间的预播放请求时向所述第二终端返回的信息,所述读取时间是在所述第二终端发送的用于请求确定所述读取时间的预播放请求的接收时间之后且相距预设时长的时间,所述第二终端为第一终端发送的用于请求确定所述读取时间的预播放请求的接收时间之前请求确定所述读取时间且未被所述视频服务器发送所述目标视频的终端中最早请求确定所述读取时间的终端;
接收模块,用于接收所述视频服务器发送的所述目标视频的读取时间信息;
第二发送模块,用于基于所述读取时间信息确定所述读取时间,并在所述读取时间向所述视频服务器发送用于请求获取所述目标视频的视频播放请求,以使所述视频服务器读取并返回所述目标视频;
第一播放模块,用于当接收到所述视频服务器发送的所述目标视频时,播放所述目标视频;
所述装置还包括:
确定模块,用于确定当前的系统时间与所述读取时间之间相距的等待时长;
获取模块,用于从存储的多个推广视频中,获取播放时长的总和与所述等待时长之差最小的至少一个目标推广视频,所述多个推广视频均为包含推广信息的视频;
第二播放模块,用于对所述至少一个目标推广视频进行播放。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
第一下载模块,用于当网络负载率小于或等于预设负载率时,下载所述多个推广视频;或者,
第二下载模块,用于当网络数据传输速率大于或等于预设数据传输速率时,下载所述多个推广视频。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710186299.8A CN108668142B (zh) | 2017-03-27 | 2017-03-27 | 视频播放方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710186299.8A CN108668142B (zh) | 2017-03-27 | 2017-03-27 | 视频播放方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108668142A CN108668142A (zh) | 2018-10-16 |
CN108668142B true CN108668142B (zh) | 2021-02-12 |
Family
ID=63785326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710186299.8A Active CN108668142B (zh) | 2017-03-27 | 2017-03-27 | 视频播放方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108668142B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833597A (zh) * | 2012-07-04 | 2012-12-19 | 合一网络技术(北京)有限公司 | 一种基于统计的网络视频分发流量控制系统和方法 |
CN103607595A (zh) * | 2013-11-07 | 2014-02-26 | 北京邮电大学 | 基于时间窗口的单播与多播混合传输方法和设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09265429A (ja) * | 1996-01-23 | 1997-10-07 | Fujitsu Ltd | データ配信装置、記憶装置とその制御方法およびデータ転送システム |
CN100568957C (zh) * | 2007-10-17 | 2009-12-09 | 华中科技大学 | 一种基于p2p技术的视频点播节目缓存方法 |
-
2017
- 2017-03-27 CN CN201710186299.8A patent/CN108668142B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833597A (zh) * | 2012-07-04 | 2012-12-19 | 合一网络技术(北京)有限公司 | 一种基于统计的网络视频分发流量控制系统和方法 |
CN103607595A (zh) * | 2013-11-07 | 2014-02-26 | 北京邮电大学 | 基于时间窗口的单播与多播混合传输方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108668142A (zh) | 2018-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109068153B (zh) | 视频播放方法、装置和计算机可读存储介质 | |
EP2957103B1 (en) | Cloud-based video delivery | |
CN109992406B (zh) | 图片请求方法、响应图片请求的方法及客户端 | |
KR102232900B1 (ko) | 클라우드 스트리밍 서비스 시스템, 최적 gpu를 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
CN108810052B (zh) | 直播服务器的选择方法及装置 | |
CN110874227B (zh) | 实现于api网关的灰度发布的分流方法、系统和电子设备 | |
CN112769671B (zh) | 消息处理方法、装置与系统 | |
US20120221681A1 (en) | Method, apparatus and system for hierarchically requesting contents in a http streaming system | |
WO2015035957A1 (zh) | 一种视频资源获取方法、后台服务器、视频客户端及系统 | |
US20150296014A1 (en) | Picture download method and apparatus | |
CN111478781B (zh) | 一种消息广播的方法和装置 | |
CN112637287A (zh) | 负载均衡方法及设备 | |
WO2023116219A1 (zh) | Cdn节点分配方法、装置、电子设备、介质及程序产品 | |
CN112379982A (zh) | 任务处理方法、装置、电子设备及计算机可读存储介质 | |
CN108270807A (zh) | 一种数据传输方法及装置 | |
US10341454B2 (en) | Video and media content delivery network storage in elastic clouds | |
CN117082073A (zh) | 文件存储方法、文件下载方法、装置、设备及存储介质 | |
CN111988403A (zh) | 电子设备的请求处理方法、系统、存储介质和电子设备 | |
CN108668142B (zh) | 视频播放方法及装置 | |
CN113824689B (zh) | 边缘计算网络、数据传输方法、装置、设备和存储介质 | |
KR101251630B1 (ko) | 푸쉬 서비스 제공 시스템 및 방법 | |
CN110677489B (zh) | 媒体资源处理方法、装置、系统及存储介质 | |
KR20150011087A (ko) | 컨텐츠 전송 서비스를 위한 분산 캐싱 관리 방법 및 이를 위한 중앙 관리 장치 | |
CN112860432A (zh) | 一种进程管理方法、装置及服务器 | |
US8301775B2 (en) | Affiliate bandwidth management |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200201 Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant after: HUAWEI TECHNOLOGIES Co.,Ltd. Address before: 210000 HUAWEI Nanjing base, 101 software Avenue, Yuhuatai District, Jiangsu, Nanjing Applicant before: Huawei Technologies Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |