CN103414959B - 一种加快网络视频播放速度的方法和装置 - Google Patents

一种加快网络视频播放速度的方法和装置 Download PDF

Info

Publication number
CN103414959B
CN103414959B CN201310302624.4A CN201310302624A CN103414959B CN 103414959 B CN103414959 B CN 103414959B CN 201310302624 A CN201310302624 A CN 201310302624A CN 103414959 B CN103414959 B CN 103414959B
Authority
CN
China
Prior art keywords
video
burst
unit
request
network request
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
Application number
CN201310302624.4A
Other languages
English (en)
Other versions
CN103414959A (zh
Inventor
孙卓
章勋
彭国洲
鲁小锁
丁振
赵化强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201310302624.4A priority Critical patent/CN103414959B/zh
Publication of CN103414959A publication Critical patent/CN103414959A/zh
Application granted granted Critical
Publication of CN103414959B publication Critical patent/CN103414959B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种加快网络视频播放速度的方法和装置。本发明实施例提供的一种加快网络视频播放速度的方法,包括:接管支持网络视频播放的视频播放器和/或视频插件发送的所有网络请求;从网络请求中选择可执行视频加快播放的视频请求;对视频请求中请求的视频文件采用点对服务器及点的方式进行下载;将下载得到的视频文件推送到视频播放器和/或视频插件中进行播放。

Description

一种加快网络视频播放速度的方法和装置
技术领域
本发明涉及计算机网络技术领域,特别涉及一种加快网络视频播放速度的方法和装置。
背景技术
当用户打开浏览器观看视频时,由于视频服务器的网速慢等原因会导致视频持续缓冲,为解决这一问题,现有方案提出了对网络视频进行加速,以保证视频的播放效果。
然而,现有方案中的加速软件都是针对特定的网络视频进行加速,如爱酷只能针对优酷视频加速,飞速土豆只能针对土豆视频加速,导致用户需要开启多个加速软件才能确保对自己想看的视频进行加速,造成了系统资源的浪费,而且现有方案大多是采用多线程从视频服务器下载的方式实现视频加速,加速方法单一,在视频服务器和视频用户的网络带宽都有限的情况下视频下载速度较慢、加速效果不佳。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种加快网络视频播放速度的方法和装置。
依据本发明的一个方面,本发明实施例提供了一种加快网络视频播放速度的方法,包括:
接管支持网络视频播放的视频播放器和/或视频插件发送的所有网络请求;从网络请求中选择可执行视频加快播放的视频请求;对视频请求中请求的视频文件采用点对服务器及点的方式进行下载;将下载得到的视频文件推送到视频播放器和/或视频插件中进行播放。
其中,上述接管支持网络视频播放的视频播放器和/或视频插件发送的所有网络请求包括:
建立与视频播放器和/或视频插件之间的代理连接,通过该代理连接将视频播放器和/或视频插件的网络请求重定向至代理端口;通过代理端口向视频服务器发送网络请求。
其中,上述将视频播放器和/或视频插件的网络请求重定向至代理端口包括:通过代理连接拦截视频播放器和/或视频插件发送的网络请求,将网络请求中的发送端口修改为代理端口。
其中,上述通过代理端口发送网络请求包括:记录通过代理端口发送的网络请求的相关信息,该相关信息至少包括网络请求中请求的文件的文件格式和文件大小。
其中,上述从网络请求中选择可执行视频加快播放的视频请求包括:将同时满足下述条件的网络请求选取为可执行视频加快播放的视频请求:
网络请求中的文件格式为视频格式;
网络请求中的文件大小大于预定加快播放阈值。
其中,上述对视频请求中请求的视频文件采用点对服务器及点P2SP的方式进行下载包括:对待下载的视频文件进行分片;同时启动多个线程,利用一个线程对一个分片进行下载,并在下载每个分片时,采用点对服务器及点的方式执行该分片的下载操作。
其中,上述对待下载的视频文件进行分片包括:设置分片的时间戳和/或序列号和该分片的分片大小成正比。
其中,上述将下载得到的视频文件推送到视频播放器和/或视频插件中进行播放包括:
通过代理端口接收响应于视频请求下载得到的数据;在一个分片的数据下载完毕后,判断该分片之前的分片是否都已经推送至所述视频播放器和/或视频插件中播放,若是,立即通过代理连接将该分片的数据推送到视频播放器和/或视频插件中进行播放;若否,等待该分片之前的所有分片下载完毕后,将还未播放的分片按照视频文件的播放顺序拼接成数据流,通过代理连接将该数据流推送到视频播放器和/或视频插件中进行播放。
本发明另一个实施例还提供了一种加快网络视频播放速度的装置,包括:
网络请求接管单元,适于接管支持网络视频播放的视频播放器和/或视频插件发送的所有网络请求;视频请求选择单元,适于从网络请求中选择可执行视频加快播放的视频请求;下载单元,适于对视频请求中请求的视频文件采用点对服务器及点的方式进行下载;播放单元,适于将下载得到的视频文件推送到视频播放器和/或视频插件中进行播放。
其中,网络请求接管单元,适于建立与视频播放器和/或视频插件之间的代理连接,通过该代理连接将视频播放器和/或视频插件的网络请求重定向至代理端口;通过代理端口向视频服务器发送网络请求。
其中,网络请求接管单元,适于通过代理连接拦截视频播放器和/或视频插件发送的网络请求,将网络请求中的发送端口修改为代理端口。
其中,网络请求接管单元,适于记录通过代理端口发送的网络请求的相关信息,该相关信息至少包括网络请求中请求的文件的文件格式和文件大小。
其中,视频请求选择单元,适于将同时满足下述条件的网络请求选取为所述可执行视频加快播放的视频请求:
网络请求中的文件格式为视频格式;
网络请求中的文件大小大于预定加快播放阈值。
其中,下载单元,适于对待下载的视频文件进行分片;同时启动多个线程,利用一个线程对一个分片进行下载,并在下载每个分片时,采用点对服务器及点的方式执行该分片的下载操作。
其中,下载单元,适于设置分片的时间戳和/或序列号和该分片的分片大小成正比。
其中,播放单元,适于通过代理端口接收响应于视频请求下载得到的数据;在一个分片的数据下载完毕后,判断该分片之前的分片是否都已经推送至所述视频播放器和/或视频插件中播放,若是,立即通过代理连接将该分片的数据推送到视频播放器和/或视频插件中进行播放;若否,等待该分片之前的所有分片下载完毕后,将还未播放的分片按照视频文件的播放顺序拼接成数据流,通过代理连接将该数据流推送到视频播放器和/或视频插件中进行播放。
由上所述,本发明实施例提供的加快网络视频播放速度的方案,采用了点对服务器及点的下载方式,能够从原始的视频服务器和网络中其他具有该视频资源的视频提供方同时下载视频文件,解决了网络条件较差时在线视频的播放需要经常缓冲、不流畅的问题,能够快速下载到视频文件,实现对在线视频的加快播放,提高在线视频播放的流畅度。
并且,本方案不依赖特定视频文件的特定属性,能够应用于浏览器中播放的各种视频资源,解决了现有方案中需要开启多个加快播放软件执行视频加快播放带来的资源浪费问题,提高了系统资源的利用率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种加快网络视频播放速度的方法流程图;
图2示出了根据本发明又一个实施例的一种加快网络视频播放速度的装置结构示意图;
图3示出了根据本发明又一个实施例的按照预设策略调度P2S和P2P进行下载的示意图;
图4示出了根据本发明又一个实施例的按照预设策略调度P2S和P2P进行下载的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明一个实施例提供的一种加快网络视频播放速度的方法,参见图1,该方法适于步骤S100,包括如下处理:
S100:接管支持网络视频播放的视频播放器和/或视频插件发送的所有网络请求。
上述视频播放器为能够进行视频播放的独立软件;上述视频插件可以为浏览器中的视频插件,也可以是其它任何形式的网页中的视频插件。
本步骤中,接管网络请求主要指在视频播放器和/或浏览器(或其他网页)生成需要发送的网络请求之后,将该网络请求拦截下来,以代替视频播放器和/或浏览器(或其他网页)对这些网络请求进行处理,如将这些网络请求发送出去。在接管网络请求时,一种处理方式为,建立与视频播放器和/或视频插件之间的代理连接,通过该代理连接将视频播放器和/或视频插件的网络请求重定向至代理端口;通过代理端口向视频服务器发送网络请求。
上述网络视频可以包括现有的多种类型的视频,如土豆视频、优酷视频等,即本实施例能够对多种类型的视频执行加快播放处理。
S102:从网络请求中选择可执行视频加快播放的视频请求。
本步骤中从浏览器侧生成的各种网络请求中,选择出请求下载视频的视频请求,并且在这些视频请求中选择出可执行视频加快播放的视频请求。
S104:对视频请求中请求的视频文件采用P2SP(Peer to Server&Peer,点对服务器及点)的方式进行下载。
P2SP方式基于用户对服务器和用户机制,它不但支持P2P(Peer to Peer,点对点)技术,同时还把服务器资源和P2P资源整合到了一起,在下载某一个文件的时候,会自动搜索其他资源,选择合适的资源进行加快播放,从而能够达到较高的下载稳定性和下载速度。
S106:将下载得到的视频文件推送到浏览器中进行播放。
上述步骤S100至S106可以由设置在浏览器侧的服务端执行,该服务端和浏览器可以为浏览器侧两个独立的进程。
本发明实施例提供的加快网络视频播放速度的方案,采用了点对服务器及点的下载方式,能够从原始的视频服务器和网络中其他具有该视频资源的视频提供方同时下载视频文件,解决了网络条件较差时在线视频的播放需要经常缓冲、不流畅的问题,能够快速下载到视频文件,实现对在线视频的加快播放,提高在线视频播放的流畅度。
并且,本方案不依赖特定视频文件的特定属性,能够应用于浏览器中播放的各种视频资源,解决了现有方案中需要开启多个加快播放软件执行视频加快播放带来的资源浪费问题,提高了系统资源的利用率。
在图1所示实施例的基础上,进一步的,本发明的另一个实施例中,以加快浏览器中视频插件播放网络视频的速度为例来说明本方案,则步骤S100中,优选的,采用代理端口的方式对浏览器的网络请求(流量)进行接管,具体的,(服务端)建立与浏览器之间的代理连接,通过该代理连接将浏览器的网络请求重定向至代理端口;通过该代理端口发送网络请求。一种方式下,通过网络驱动的方式将浏览器的网络请求重定向到在浏览器本地设置的代理端口,通过该代理端口执行网络请求的发送,从而使浏览器不再执行网络请求的发送,将网络请求从浏览器接管了过来,由服务端执行网络请求的发送。
在执行重定向的操作时,可以通过代理连接拦截浏览器发送的网络请求,将该网络请求中的发送端口修改为代理端口来实现。
另外,在执行步骤S100时,本实施例还可以对通过代理端口发送的网络请求的相关信息进行记录,该相关信息至少包括网络请求中请求的文件的文件格式(如flv格式、mp4格式)和文件大小。
步骤S102中,选取出的网络请求需要满足两方面的要求,一方面考虑到本实施例主要是针对视频加快播放的场景的处理,选取出的网络请求需要为请求获取网络视频的视频请求,可以通过网络请求中的文件格式获知哪些网络请求为视频请求;另一方面,考虑到对容量较小、播放时间过短的视频文件(如2M以下的视频文件)执行视频加快播放的意义不大,所以,选取出的网络请求需要为请求获取一定容量大小的网络视频的视频请求,可以通过网络请求中的文件大小获知请求的网络视频的容量。即将同时满足下述条件的网络请求选取为可执行视频加快播放的视频请求:
网络请求中的文件格式为视频格式;
网络请求中的文件大小大于预定加快播放阈值(如2M)。
步骤S104中,为了更快地下载到视频文件并播放,缩短用户的等待时间,本实施例对待下载的视频文件进行分片处理,由于每个分片的容量小于整个需要下载的视频文件的大小,所以能够较快下载到各分片的数据。
在进行分片的划分时,设置分片的时间戳和/或序列号和该分片的分片大小成正比。分片的时间戳和/或序列号指示分片在视频文件中的位置,时间戳指示的时间越早和/或序列号指示的数值的越小表示分片在视频文件中的位置越靠前,当分片在视频文件中的位置越靠近该视频文件的前部,为该分片划分的大小越小。本实施例中的“前部”或“之前”指按照视频播放顺序先播放的视频数据在整个视频文件处于的位置,例如,将一个视频文件从前至后划分为5个分片时,第一个分片至第五个分片的容量大小可以使递减的。这主要是因为前部的分片容量较小时,可以很快将该分片下载下来,推送至浏览器侧播放,从而能够尽快向用户播放该视频,缩短用户的等待时间。
进一步的,本实施例采用多线程和P2SP方式相结合的加速下载策略,对分片进行下载。一方面,使用多线程从视频服务器同时请求下载多个分片的数据,另一方面,对每个分片,通过P2SP方式从附近网络用户(包括正在观看相同视频的用户或者已经下载过相同视频的用户等各种具有该视频资源的视频提供方)和视频服务器同时请求视频数据,从而能够快速缓冲足够的视频数据进行播放。
步骤S106中,通过代理端口接收响应于所述视频请求下载得到的数据,即当从代理端口接收到数据时,即可获知这些数据为需要在浏览器中播放的视频数据。
在一个分片的数据下载完毕后,判断该分片之前的分片是否都已经推送至所述浏览器中播放,若是,立即通过代理连接将该分片的数据推送到浏览器中进行播放;若否,等待该分片之前的所有分片下载完毕后,将还未播放的分片按照视频文件的播放顺序拼接成数据流,通过代理连接将该数据流推送到浏览器中进行播放。例如,当第二分片和第三分片下载完毕后,判断出第一分片还没有下载完毕,则会等待该第一分片下载完毕后,将第一分片至第三分片拼接成数据流通过代理连接推送至浏览器中播放。
这种处理方式,按照视频文件的播放顺序,在数据流中一个分片的数据下载完毕后,立即将该分片的数据推送到所述浏览器中进行播放,从而进一步的缩短了用户等待的时间,提高视频播放的流畅度。
由上所述,本发明实施例提供的加快网络视频播放速度的方案,采用了点对服务器及点的下载方式,能够从原始的视频服务器和网络中其他具有该视频资源的视频提供方同时下载视频文件,解决了网络条件较差时在线视频的播放需要经常缓冲、不流畅的问题,能够快速下载到视频文件,实现对在线视频的加快播放,提高在线视频播放的流畅度。
并且,本方案不依赖特定视频文件的特定属性,能够应用于浏览器中播放的各种视频资源,解决了现有方案中需要开启多个加快播放软件执行视频加快播放带来的资源浪费问题,提高了系统资源的利用率。
本发明又一个实施例还提供了一种加快网络视频播放速度的装置200,参见图2,该装置200包括:
网络请求接管单元210,适于接管支持网络视频播放的视频播放器和/或视频插件发送的所有网络请求;视频请求选择单元212,适于从网络请求中选择可执行视频加速的视频请求;下载单元214,适于对视频请求中请求的视频文件采用P2SP的方式进行下载;播放单元216,适于将下载得到的视频文件推送到视频播放器和/或视频插件中进行播放。上述视频播放器为能够进行视频播放的独立软件;上述视频插件可以为浏览器中的视频插件,也可以是其它任何形式的网页中的视频插件。
其中,网络请求接管单元210适于建立与视频播放器和/或视频插件之间的代理连接,通过该代理连接将视频播放器和/或视频插件的网络请求重定向至代理端口;通过代理端口向视频服务器发送网络请求。在进行重定向操作时,网络请求接管单元210适于通过代理连接拦截视频播放器和/或视频插件发送的网络请求,将网络请求中的发送端口修改为代理端口。
其中,网络请求接管单元210适于记录通过代理端口发送的网络请求的相关信息,该相关信息至少包括网络请求中请求的文件的文件格式和文件大小。
其中,视频请求选择单元212适于同时满足下述条件的网络请求选取为所述可执行视频加速的视频请求:
网络请求中的文件格式为视频格式;
网络请求中的文件大小大于预定加速阈值。
其中,下载单元214适于对待下载的视频文件进行分片;同时启动多个线程,利用一个线程对一个分片进行下载,并在下载每个分片时,采用点对服务器及点的方式执行该分片的下载操作。下载单元214设置分片的时间戳和/或序列号和该分片的分片大小成正比。
其中,播放单元216通过代理端口接收响应于视频请求下载得到的数据;在一个分片的数据下载完毕后,判断该分片之前的分片是否都已经推送至视频播放器和/或视频插件中播放,若是,立即通过代理连接将该分片的数据推送到视频播放器和/或视频插件中进行播放;若否,等待该分片之前的所有分片下载完毕后,将还未播放的分片按照视频文件的播放顺序拼接成数据流,通过代理连接将该数据流推送到视频播放器和/或视频插件中进行播放。
本发明装置实施例中各单元的具体工作方式可以参见本发明的方法实施例,在此不再赘述。
由上所述,本发明实施例提供的加快网络视频播放速度的方案,采用了点对服务器及点的下载方式,能够从原始的视频服务器和网络中其他具有该视频资源的视频提供方同时下载视频文件,解决了网络条件较差时在线视频的播放需要经常缓冲、不流畅的问题,能够快速下载到视频文件,实现对在线视频的加快播放,提高在线视频播放的流畅度。
并且,本方案不依赖特定视频文件的特定属性,能够应用于浏览器中播放的各种视频资源,解决了现有方案中需要开启多个加快播放软件执行视频加快播放带来的资源浪费问题,提高了系统资源的利用率。
本发明又一个实施例对如何对视频请求中请求的视频文件采用P2SP的方式进行下载(即上述方法实施例中的步骤S104)进行具体说明,本实施例中加速获取网络视频文件的其他操作,可以参见上述方法实施例中步骤S100、S102和S106中的内容。
首先,本实施例对视频文件进行分片。将待下载的网络视频文件码流按照播放顺序从前到后进行分片,在下载队列中靠前的分片较小(例如几十k,依次到上百k,几百k等),靠后的分片较大(1M到2M),这样可以保证的小的分片可以先下载并且能够很快下载完,这样可以保证视频一边播放的同时,去下载队列中的后面的大的视频分片。
具体来说,用一个队列(如采用先进先出FIFO的数据结构)存放分片,然后依次从队列的前端取出分片进行下载。比如一个视频文件被分成如下四块分片:1M、2M、3M和4M,那么用一个队列存放就是先放入1M,再放入2M,再放入3M,最后放入4M,下载的时候则是先放入的先下载,即按照1M、2M、3M和4M的顺序依次进行下载。就分片的大小来说,1M最小,向后依次增大,4M最大。
再次,采用多线程结合P2SP(点对点+点对服务器,P2P+P2S)的方式对分片进行下载,即利用多线程同时处理多个分片,对每个分片采用同时采用P2P和P2S进行下载。
对于下载每个分片,按照预设策略调度P2SP的方式进行下载。
P2S方式从服务器下载,服务器的数据比较稳定,但是会受限于带宽。P2P是和节点(具有待下载视频文件的数据源)之间交互进行下载,不太稳定,但可以节省带宽,在服务器速度不好的时候,可以作为补充下载,当节点足够多时,速度甚至远超服务器。例如,对于一个大小为100K的分片,使用P2S从第1个字节开始往后下载,使用P2P从100K的最后一个字节开始往前下载,如果两者速度相同,最后会在第50K个字节处相遇,拼成一个完整的100K分片,这样一个分片的下载就完成了。
P2S的下载方式就是用视频请求的url,例如http://1.2.3.4/a.flv这样的链接去向视频服务器请求数据。P2P的具体下载方式如下:本机向P2P资源服务器查询当前视频资源,资源服务器根据在线节点的情况给出一部分节点信息,然后本机一一去连接这些节点请求视频数据。比如,本机向资源服务器查询视频a.flv的资源,资源服务器查到了P1、P2、P3、P4和P5这五个节点都有a.flv的资源,资源服务器随机挑选出P2、P3和P5这三个节点反馈给本机,本机根据反馈分别连接P2、P3和P5这三个节点,请求分片数据。
在本发明实施例中,在实际下载过程中,P2S的下载速度和P2P的下载速度不可能完全相同,分两种情况:
(a)当检测到网络环境中P2S速度较快,P2P速度较慢的情况下。此时,当下载的视频源较为冷门的时候,P2P的速度不会很好,这样情况下让P2S一直下载,P2P则可以作为次要的下载服务器进行资源下载。
对每个分片,采用点对服务器的方式从该分片的起始位置开始向后下载,采用点对点的方式从该分片的结尾位置开始向前下载,直至将该分片的数据全部下载完成;或者,对每个分片,采用点对点的方式从该分片的起始位置开始向后下载,采用点对服务器的方式从该分片的结尾位置开始向前下载,直至将该分片的数据全部下载完成。
仍以100K大小的分片为例,采用P2S方式从起始位置开始下载,采用P2P方式从结尾位置开始下载,则P2S可能会下完前面80K的数据,而后面20K的数据由P2P下载完成,如图3所示。
(b)当检测到在网络环境中P2S速度较慢,P2P速度较快的情况下。当下载的视频源非常热门时,会找到大量的P2P节点,这时P2P的速度会非常好,甚至于超过P2S的速度。当P2P的速度达到一定的阈值时,调整关闭P2S下载,只采用P2P下载,以减少服务器端的压力。
具体地对每个分片,采用点对服务器的方式从该分片的起始位置开始向后下载,采用点对点的方式从该分片的结尾位置开始向前下载,或者,采用点对点的方式从该分片的起始位置开始向后下载,采用点对服务器的方式从该分片的结尾位置开始向前下载;当点对点下载的速度大于点对服务器下载的速度且点对点下载的速度达到一定的阈值时,关闭点对服务器的方式,并采用点对点的方式完成剩余部分的下载。
在本发明的一个实施例中,P2P下载速度的阈值采用视频的码率作为指标,视频的码率一般用于衡量视频的清晰度,根据经验,当视频的下载速度大于2倍的视频的码率值时,可以保证视频流畅播放,因此P2P下载速度的阈值可采用码率的2倍或者3倍。
例如,采用P2S方式从起始位置开始下载,采用P2P方式从结尾位置开始下载,当P2P的下载速度很好已达到预设阈值时,停止P2S,P2P从P2S已完成的地方开始从前往后下载,保证可以节省服务器的资源。还是以100K的分片为例,P2S从前往后下载了10K,P2P从后往前下载到了20K,这时发现P2P速度已经优于P2S,于是停掉P2S下载,让P2P从10K的位置开始,完成剩下部分的下载,如图4所示。
一个分片的起始位置和结尾位置在进行分片的时候就已经确定好的,例如,某一个分片是从视频的第2M开始,长度为1M,那么该分片的起始位置是该视频的2M位置处,该分片的结束位置就是该视频的3M位置处。
在本发明的一个实施例中,采用多线程的方式对视频的多个分片同时进行下载。即采用多线程的方式进行调度,同时可以创建多个线程让多个分片同时下载。
例如采用两个线程(线程11和线程12)用P2S方式从起始位置开始下载,再采用两个线程(线程21和22)用P2P方式从结尾位置开始下载,其中,初始时线程11下载第一个分片,线程12下载第二个分片,先下载完的线程11或线程12再去下载第三个分片,以此类推;同样线程21下载最后一个分片,线程22下载倒数第二个分片,调度先完成下载的线程21或22接着下载倒数地三个分片,以此类推。还可以根据需要增减线程,如果需要增加一个线程,则开启一个新的线程,并调度其参加下载工作,如果需要减少一个线程,则当该线程完成一个分片的下载后就不再调度其进行新分片的下载,就会少一个工作线程。
但是由于视频码流的时序性要求,并不是线程数越多就越好,在发明的一个实施例中采用动态调整线程数的策略:在下载过程中增加线程进行下载;或者,在下载过程中,如果下载速度已超过视频码率的预设倍数,则维持线程数量不变或减少线程数量。一般根据下载速度与视频码率之间的关系调整线程的数量。视频码率是每秒播放的视频数据量,不同清晰度的视频文件的视频码率不同。
例如,最开始的时候只启动两个线程去下载,让前面的分片能够快速下载完成,当完成多个分片后,开始调整增加线程数,从三线程到四线程甚至到五线程。同时监控了下载速度,当下载速度已经超过视频码率的两三倍之后,再增加线程数就用处不大了,可以维持当前的线程数进行下载。如果下载速度非常好,甚至可以减少当前使用的线程数,从四线程减少到到三线程或减少到两线程,这样既可以保证视频的流程播放,又不会过多的占用网络资源。
由上所述,本发明实施例提供的加快网络视频播放速度的方案,采用了点对服务器及点的下载方式,能够从原始的视频服务器和网络中其他具有该视频资源的视频提供方同时下载视频文件,解决了网络条件较差时在线视频的播放需要经常缓冲、不流畅的问题,能够快速下载到视频文件,实现对在线视频的加快播放,提高在线视频播放的流畅度。
并且,本方案不依赖特定视频文件的特定属性,能够应用于浏览器中播放的各种视频资源,解决了现有方案中需要开启多个加快播放软件执行视频加快播放带来的资源浪费问题,提高了系统资源的利用率。
根据本发明实施例所述的装置,其中,所述网络请求接管单元,适于通过所述代理连接拦截所述视频播放器和/或视频插件发送的网络请求,将所述网络请求中的发送端口修改为所述代理端口。
根据本发明实施例所述的装置,其中,所述网络请求接管单元,适于记录通过所述代理端口发送的网络请求的相关信息,所述相关信息至少包括网络请求中请求的文件的文件格式和文件大小。
根据本发明实施例所述的装置,其中,所述视频请求选择单元,适于将同时满足下述条件的网络请求选取为所述可执行视频加快播放的视频请求:
网络请求中的文件格式为视频格式;
网络请求中的文件大小大于预定加快播放阈值。
根据本发明实施例所述的装置,其中,所述下载单元,适于对待下载的视频文件进行分片;同时启动多个线程,利用一个线程对一个分片进行下载,并在下载每个分片时,采用点对服务器及点的方式执行该分片的下载操作。
根据本发明实施例所述的装置,其中,所述下载单元,适于设置分片的时间戳和/或序列号和该分片的分片大小成正比。
根据本发明实施例所述的装置,其中,所述播放单元,适于通过所述代理端口接收响应于所述视频请求下载得到的数据;在一个分片的数据下载完毕后,判断该分片之前的分片是否都已经推送至所述视频播放器和/或视频插件中播放,若是,立即通过所述代理连接将该分片的数据推送到所述视频播放器和/或视频插件中进行播放;若否,等待该分片之前的所有分片下载完毕后,将还未播放的分片按照视频文件的播放顺序拼接成数据流,通过所述代理连接将该数据流推送到所述视频播放器和/或视频插件中进行播放。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的加快网络视频播放速度的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (12)

1.一种加快网络视频播放速度的方法,包括:
接管支持网络视频播放的视频播放器和/或视频插件发送的所有网络请求;
从所述网络请求中选择可执行视频加快播放的视频请求;
对所述视频请求中请求的视频文件采用点对服务器及点的方式进行下载;
将下载得到的视频文件推送到所述视频播放器和/或视频插件中进行播放;
其中,所述对所述视频请求中请求的视频文件采用点对服务器及点的方式进行下载包括:
对待下载的视频文件进行分片,设置分片的时间戳和/或序列号和该分片的分片大小成正比;
同时启动多个线程,利用一个线程对一个分片进行下载,并在下载每个分片时,采用点对服务器及点的方式执行该分片的下载操作;
其中,在下载过程中增加线程进行下载;或者,在下载过程中,如果下载速度已超过视频码率的预设倍数,则维持线程数量不变或减少线程数量。
2.根据权利要求1所述的方法,其中,所述接管支持网络视频播放的视频播放器和/或视频插件发送的所有网络请求包括:
建立与所述视频播放器和/或视频插件之间的代理连接,通过该代理连接将所述视频播放器和/或视频插件的网络请求重定向至代理端口;
通过所述代理端口向视频服务器发送所述网络请求。
3.根据权利要求2所述的方法,其中,所述通过该代理连接将所述视频播放器和/或视频插件的网络请求重定向至代理端口包括:
通过所述代理连接拦截所述视频播放器和/或视频插件发送的网络请求,将所述网络请求中的发送端口修改为所述代理端口。
4.根据权利要求2所述的方法,其中,所述通过所述代理端口发送所述网络请求包括:
记录通过所述代理端口发送的网络请求的相关信息,所述相关信息至少包括网络请求中请求的文件的文件格式和文件大小。
5.根据权利要求4所述的方法,其中,所述从所述网络请求中选择可执行视频加快播放的视频请求包括:
将同时满足下述条件的网络请求选取为所述可执行视频加快播放的视频请求:
网络请求中的文件格式为视频格式;
网络请求中的文件大小大于预定加快播放阈值。
6.根据权利要求1所述的方法,其中,所述将下载得到的视频文件推送到所述视频播放器和/或视频插件中进行播放包括:
通过所述代理端口接收响应于所述视频请求下载得到的数据;
在一个分片的数据下载完毕后,判断该分片之前的分片是否都已经推送至所述视频播放器和/或视频插件中播放,若是,立即通过所述代理连接将该分片的数据推送到所述视频播放器和/或视频插件中进行播放;若否,等待该分片之前的所有分片下载完毕后,将还未播放的分片按照视频文件的播放顺序拼接成数据流,通过所述代理连接将该数据流推送到所述视频播放器和/或视频插件中进行播放。
7.一种加快网络视频播放速度的装置,包括:
网络请求接管单元,适于接管支持网络视频播放的视频播放器和/或视频插件发送的所有网络请求;
视频请求选择单元,适于从所述网络请求中选择可执行视频加快播放的视频请求;
下载单元,适于对所述视频请求中请求的视频文件采用点对服务器及点的方式进行下载;
播放单元,适于将下载得到的视频文件推送到所述视频播放器和/或视频插件中进行播放;
其中,所述下载单元,适于对待下载的视频文件进行分片,设置分片的时间戳和/或序列号和该分片的分片大小成正比;同时启动多个线程,利用一个线程对一个分片进行下载,并在下载每个分片时,采用点对服务器及点的方式执行该分片的下载操作;还适于在下载过程中增加线程进行下载,或者,在下载过程中,如果下载速度已超过视频码率的预设倍数,则维持线程数量不变或减少线程数量。
8.根据权利要求7所述的装置,其中,所述网络请求接管单元,适于建立与所述视频播放器和/或视频插件之间的代理连接,通过该代理连接将所述视频播放器和/或视频插件的网络请求重定向至代理端口;通过所述代理端口向视频服务器发送所述网络请求。
9.根据权利要求8所述的装置,其中,所述网络请求接管单元,适于通过所述代理连接拦截所述视频播放器和/或视频插件发送的网络请求,将所述网络请求中的发送端口修改为所述代理端口。
10.根据权利要求8所述的装置,其中,所述网络请求接管单元,适于记录通过所述代理端口发送的网络请求的相关信息,所述相关信息至少包括网络请求中请求的文件的文件格式和文件大小。
11.根据权利要求10所述的装置,其中,所述视频请求选择单元,适于将同时满足下述条件的网络请求选取为所述可执行视频加快播放的视频请求:
网络请求中的文件格式为视频格式;
网络请求中的文件大小大于预定加快播放阈值。
12.根据权利要求7所述的装置,其中,所述播放单元,适于通过所述代理端口接收响应于所述视频请求下载得到的数据;在一个分片的数据下载完毕后,判断该分片之前的分片是否都已经推送至所述视频播放器和/或视频插件中播放,若是,立即通过所述代理连接将该分片的数据推送到所述视频播放器和/或视频插件中进行播放;若否,等待该分片之前的所有分片下载完毕后,将还未播放的分片按照视频文件的播放顺序拼接成数据流,通过所述代理连接将该数据流推送到所述视频播放器和/或视频插件中进行播放。
CN201310302624.4A 2013-07-15 2013-07-15 一种加快网络视频播放速度的方法和装置 Active CN103414959B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310302624.4A CN103414959B (zh) 2013-07-15 2013-07-15 一种加快网络视频播放速度的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310302624.4A CN103414959B (zh) 2013-07-15 2013-07-15 一种加快网络视频播放速度的方法和装置

Publications (2)

Publication Number Publication Date
CN103414959A CN103414959A (zh) 2013-11-27
CN103414959B true CN103414959B (zh) 2017-04-05

Family

ID=49607937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310302624.4A Active CN103414959B (zh) 2013-07-15 2013-07-15 一种加快网络视频播放速度的方法和装置

Country Status (1)

Country Link
CN (1) CN103414959B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105744299A (zh) * 2014-12-08 2016-07-06 深圳Tcl数字技术有限公司 动态码率切换方法、服务器及系统
CN105430425B (zh) * 2015-11-18 2018-11-16 深圳Tcl新技术有限公司 单分片视频播放加速方法及装置
CN105898535A (zh) * 2015-12-30 2016-08-24 乐视致新电子科技(天津)有限公司 提高起播速度的方法、视频播放器及电子装置
CN106131658A (zh) * 2016-07-13 2016-11-16 青岛海信电器股份有限公司 音视频的播放方法及显示设备
CN108124169A (zh) * 2016-11-29 2018-06-05 中国科学院声学研究所 一种家用无线路由器的p2p视频服务加速方法
CN108933805A (zh) * 2017-05-26 2018-12-04 武汉斗鱼网络科技有限公司 一种文件传输方法及系统
CN111562945B (zh) * 2020-04-01 2021-12-21 杭州博雅鸿图视频技术有限公司 一种多媒体处理方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404182A (zh) * 2010-09-07 2012-04-04 中国移动通信集团公司 传输控制方法及装置
CN102779062A (zh) * 2011-05-09 2012-11-14 阿里巴巴集团控股有限公司 一种访问系统资源的线程数量的控制方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085843B2 (en) * 2000-07-13 2006-08-01 Lucent Technologies Inc. Method and system for data layout and replacement in distributed streaming caches on a network
US7752620B2 (en) * 2005-06-06 2010-07-06 International Business Machines Corporation Administration of locks for critical sections of computer programs in a computer that supports a multiplicity of logical partitions
CN101237561A (zh) * 2008-01-09 2008-08-06 北京捷报互动科技有限公司 网络视频加速系统及控制方法
CN101247402B (zh) * 2008-03-17 2011-09-14 腾讯科技(深圳)有限公司 多媒体文件的下载播放系统和方法
CN101848067B (zh) * 2010-06-22 2015-01-28 中兴通讯股份有限公司 一种自适应带宽的数据传输方法及系统
US20130104177A1 (en) * 2011-10-19 2013-04-25 Google Inc. Distributed real-time video processing
CN102510536A (zh) * 2011-12-21 2012-06-20 中国传媒大学 一种互联网音视频下载方法
CN102629938B (zh) * 2012-03-14 2015-05-06 网宿科技股份有限公司 对网络视频加载进行视频加速的方法和系统
CN103024593A (zh) * 2012-12-26 2013-04-03 人民搜索网络股份公司 一种网络视频点播加速系统及其播放方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404182A (zh) * 2010-09-07 2012-04-04 中国移动通信集团公司 传输控制方法及装置
CN102779062A (zh) * 2011-05-09 2012-11-14 阿里巴巴集团控股有限公司 一种访问系统资源的线程数量的控制方法及装置

Also Published As

Publication number Publication date
CN103414959A (zh) 2013-11-27

Similar Documents

Publication Publication Date Title
CN103414959B (zh) 一种加快网络视频播放速度的方法和装置
CN103327415B (zh) 一种加速网络视频下载的方法和装置
US11457088B2 (en) Adaptive transfer rate for retrieving content from a server
CN105611328B (zh) 基于hls流媒体的视频数据加速下载方法及装置
US10110507B2 (en) Push-based transmission of resources and correlated network quality estimation
CN107483627A (zh) 一种文件分发、下载方法、分发服务器、客户端及系统
US8484368B2 (en) Method and system for optimizing download and instantaneous viewing of media files
CN109862065A (zh) 文件下载方法、装置和电子设备
KR101503121B1 (ko) 스트리밍 데이터 다운로드 방법 및 그의 컴퓨터 판독 가능한 기록 매체
CN106572358A (zh) 一种直播时移方法及客户端
JP6219800B2 (ja) マルチトラックビデオコンテンツを提供するためのマルチトラックビデオコンテンツサービス方法およびシステム
CN110247985A (zh) 一种资源下载方法、装置、电子设备及介质
JP2011523298A (ja) クライアント側ストリームスイッチング
JP2008526057A (ja) ストリーミングメディアをバッファリングする方法及び装置
CN107454384A (zh) 一种直播性能测试方法和装置
US20120166627A1 (en) Monitoring and managing a http session independent of client and server configurations
CN105323597B (zh) Mp4文件播放方法、处理方法和装置以及播放系统
CN106411778B (zh) 数据转发的方法及装置
CN110087141A (zh) 视频数据传输方法、装置、客户端及服务器
KR20210032289A (ko) 세그먼터 유동성을 위한 패키저
CN105100839A (zh) 一种视频文件下载方法、装置、服务器和终端设备
CN108833968B (zh) 一种缓存视频的方法以及相关设备
CN105812840A (zh) 一种直播视频传输方法、装置,以及视频直播系统
CN108924630B (zh) 一种显示缓存进度的方法和播放设备
EP3125541A1 (en) Data acquisition and interaction method, set top box, server and multimedia system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220725

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right