CN107135405B - 一种在线视频的播放方法及装置 - Google Patents

一种在线视频的播放方法及装置 Download PDF

Info

Publication number
CN107135405B
CN107135405B CN201710294813.XA CN201710294813A CN107135405B CN 107135405 B CN107135405 B CN 107135405B CN 201710294813 A CN201710294813 A CN 201710294813A CN 107135405 B CN107135405 B CN 107135405B
Authority
CN
China
Prior art keywords
online video
video stream
address
playing
server
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
CN201710294813.XA
Other languages
English (en)
Other versions
CN107135405A (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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710294813.XA priority Critical patent/CN107135405B/zh
Publication of CN107135405A publication Critical patent/CN107135405A/zh
Application granted granted Critical
Publication of CN107135405B publication Critical patent/CN107135405B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2404Monitoring of server processing errors or hardware failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明涉及视频播放技术领域,尤其涉及一种在线视频的播放方法及装置。方法包括:向服务器发送用于获取在线视频流地址的地址请求;接收服务器反馈的在线视频流地址;根据在线视频流地址,在Flash播放器中播放与在线视频流地址对应的在线视频流,并在播放在线视频流的过程中,判断在线视频流是否满足预设卡顿条件;若在线视频流满足预设卡顿条件,则重新从服务器中获取与在线视频流对应的在线视频流地址,并根据获取到的在线视频流地址,在Flash播放器中播放与在线视频流地址对应的在线视频流。本发明实现了智能获取在线视频流地址进行播放的技术效果,无需用户手动刷新网页,并且也无需对整个网页均进行重新加载,节省了加载时间。

Description

一种在线视频的播放方法及装置
技术领域
本发明涉及视频播放技术领域,尤其涉及一种在线视频的播放方法及装置。
背景技术
目前,在浏览器中的网页内存在大量用于加载在线视频流的Flash播放器,这类Flash播放器在加载在线视频流时不可避免的会遇到极端网速环境,在极端网速环境下,无论是用户的下载带宽,还是服务器的上行、下行带宽,都会影响到Flash播放器的正常使用,导致Flash播放器中断在线视频流的播放。在现有技术中,当Flash播放器中断对在线视频流的播放时,需要用户手动刷新网页以对在线视频流进行重新加载,而在刷新网页的过程中网页元素将会一同被重新加载,不仅加载过程复杂,还会浪费大量加载时间。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种在线视频的播放方法及装置。
本发明实施例提供一种在线视频的播放方法,所述方法包括:
向服务器发送用于获取在线视频流地址的地址请求;
接收所述服务器反馈的所述在线视频流地址;
根据所述在线视频流地址,在Flash播放器中播放与所述在线视频流地址对应的在线视频流,并在播放所述在线视频流的过程中,判断所述在线视频流是否满足预设卡顿条件;
若所述在线视频流满足所述预设卡顿条件,则重新从所述服务器中获取与所述在线视频流对应的所述在线视频流地址,并根据获取到的所述在线视频流地址,在所述Flash播放器中播放与所述在线视频流地址对应的所述在线视频流。
优选的,在所述向服务器发送用于获取在线视频流地址的地址请求之前,所述方法还包括:
对用于表征客户端与所述服务器之间的通信存在异常的通信异常事件进行监听;
其中,所述向服务器发送用于获取在线视频流地址的地址请求,包括:
当监听到存在所述通信异常事件时,间隔第一预设计时时间向所述服务器发送所述地址请求。
优选的,所述根据所述在线视频流地址,在Flash播放器中播放与所述在线视频流地址对应的在线视频流,包括:
建立所述Flash播放器与所述服务器之间的网络连接;
在所述Flash播放器中创建单向流通道;
建立视频对象,并在所述单向流通道中利用所述视频对象承载所述在线视频流地址,以对所述在线视频流进行播放。
优选的,在所述播放与所述在线视频流地址对应的在线视频流之后,且,在所述判断所述在线视频流是否满足预设卡顿条件之前,所述方法还包括:
对所述在线视频流的播放状态进行监听。
优选的,所述判断所述在线视频流是否满足预设卡顿条件,包括:
当监听到当前时刻所述在线视频流的播放状态为未填满缓存区的第一状态时,判断从与当前时刻对应的第二预设计时时间的开始时刻到所述当前时刻之间,所述在线视频流产生所述第一状态的次数是否大于预设卡顿次数;
其中,若从与当前时刻对应的第二预设计时时间的开始时刻到所述当前时刻之间,所述在线视频流产生所述第一状态的次数大于所述预设卡顿次数,则表明满足所述预设卡顿条件。
基于同一发明构思,本发明实施例还提供一种在线视频的播放装置,所述装置包括:
发送模块,用于向服务器发送用于获取在线视频流地址的地址请求;
接收模块,用于接收所述服务器反馈的所述在线视频流地址;
播放判断模块,用于根据所述在线视频流地址,在Flash播放器中播放与所述在线视频流地址对应的在线视频流,并在播放所述在线视频流的过程中,判断所述在线视频流是否满足预设卡顿条件;
重新获取模块,用于若所述在线视频流满足所述预设卡顿条件,则重新从所述服务器中获取与所述在线视频流对应的所述在线视频流地址,并根据获取到的所述在线视频流地址,在所述Flash播放器中播放与所述在线视频流地址对应的所述在线视频流。
优选的,所述装置还包括:
第一监听模块,用于对用于表征客户端与所述服务器之间的通信存在异常的通信异常事件进行监听;
其中,所述发送模块具体用于:
当监听到存在所述通信异常事件时,间隔第一预设计时时间向所述服务器发送所述地址请求。
优选的,所述播放判断模块,包括:
连接建立单元,用于建立所述Flash播放器与所述服务器之间的网络连接;
通道建立单元,用于在所述Flash播放器中创建单向流通道;
播放单元,用于建立视频对象,并在所述单向流通道中利用所述视频对象承载所述在线视频流地址,以对所述在线视频流进行播放。
优选的,所述装置还包括:
第二监听模块,用于对所述在线视频流的播放状态进行监听。
优选的,所述播放判断模块,还包括:
判断单元,用于当监听到当前时刻所述在线视频流的播放状态为未填满缓存区的第一状态时,判断从与当前时刻对应的第二预设计时时间的开始时刻到所述当前时刻之间,所述在线视频流产生所述第一状态的次数是否大于预设卡顿次数;
其中,若从与当前时刻对应的第二预设计时时间的开始时刻到所述当前时刻之间,所述在线视频流产生所述第一状态的次数大于所述预设卡顿次数,则表明满足所述预设卡顿条件。
本发明实施例中的一个或多个技术方案,至少具有如下技术效果或优点:
本申请通过客户端向服务器发送地址请求,服务器根据接收到的地址请求反馈给客户端在线视频流地址,客户端根据接收到的在线视频流地址,在Flash播放器中播放与该在线视频流地址对应的在线视频流,并在播放在线视频流的过程中,判断在线视频流是否满足预设卡顿条件,若在线视频流满足预设卡顿条件,则重新从所述服务器中获取与该在线视频流对应的在线视频流地址,并根据获取到的在线视频流地址,在Flash播放器中播放与在线视频流地址对应的在线视频流,从而实现了智能获取在线视频流地址进行播放的技术效果,当在线视频流出现卡顿时,无需用户手动刷新网页,并且也无需对整个网页均进行重新加载,节省了加载时间。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考图形表示相同的部件。在附图中:
图1示出了本发明实施例中的一种在线视频的播放方法的流程图;
图2示出了本发明实施例中的一种在线视频的播放装置的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供一种在线视频的播放方法,应用于客户端中,该客户端可以为手机、平板电脑等智能通信终端,该客户端中具有Flash播放器。进一步来讲,所述方法可以应用在携带有Flash播放器的浏览器中。如图1所示,所述方法包括:
步骤101:向服务器发送用于获取在线视频流地址的地址请求;
步骤102:接收所述服务器反馈的所述在线视频流地址;
步骤103:根据所述在线视频流地址,在Flash播放器中播放与所述在线视频流地址对应的在线视频流,并在播放所述在线视频流的过程中,判断所述在线视频流是否满足预设卡顿条件;
步骤104:若所述在线视频流满足所述预设卡顿条件,则重新从所述服务器中获取与所述在线视频流对应的所述在线视频流地址,并根据获取到的所述在线视频流地址,在所述Flash播放器中播放与所述在线视频流地址对应的所述在线视频流。
本申请通过客户端向服务器发送地址请求,服务器根据接收到的地址请求反馈给客户端在线视频流地址,客户端根据接收到的在线视频流地址,在Flash播放器中播放与该在线视频流地址对应的在线视频流,并在播放在线视频流的过程中,判断在线视频流是否满足预设卡顿条件,若在线视频流满足预设卡顿条件,则重新从所述服务器中获取与该在线视频流对应的在线视频流地址,并根据获取到的在线视频流地址,在Flash播放器中播放与在线视频流地址对应的在线视频流,从而实现了智能获取在线视频流地址进行播放的技术效果,当在线视频流出现卡顿时,自动重新从服务器中获取在线视频流地址,无需用户手动刷新网页,并且也无需对整个网页均进行重新加载,节省了加载时间。
进一步,在本申请中,在步骤101之前,所述方法还可以包括:初始化数据。由于每台服务器都有一定的承载水位,无法同时无限制的响应网络请求,为减轻服务器的压力,可以在客户端中预先设置最大刷新请求次数maxReFresh,例如,将最大刷新请求次数设置为3次,从而当刷新次数超过3次时,Flash播放器将不再进行刷新请求,即,当重新从服务器中获取在线视频流地址的次数超过3次时,将不再向服务器发送地址请求。本申请通过设置最大刷新请求次数,能够避免一部分客户端在其网络环境不佳的情况下,无限制地刷新,从而增加服务器的压力,降低服务器承载溢出风险。进一步,在本申请中,当前已经刷新次数为CurrentFresh,CurrentFresh默认为0。上述过程的代码实现如下:
Canget=maxReFresh>CurrentFresh?true:false;
其中,Canget为重新获取在线视频流地址的函数,当Canget为true时,客户端发送地址请求给服务器。
进一步,在本申请中,在初始化数据之后,且,在向服务器发送用于获取在线视频流地址的地址请求之前,所述方法还可以包括:对用于表征客户端与所述服务器之间的通信存在异常的通信异常事件进行监听。
具体来讲,服务器为了防止在线视频流被盗刷,将会给在线视频流地址添加时效性,即,为在线视频流地址添加生命周期,在在线视频流地址被请求开始的预设时间段内是有效的,超过预设时间段将会失效,被服务器回收,因此,每次需要播放在线视频流时,客户端向服务器发送地址请求,服务器根据客户端发送的地址请求向客户端反馈最新的在线视频流地址,避免播放无效的流地址。
进一步,当客户端与服务器之间的通信存在异常时,客户端仍然无法获得有效的在线视频流地址,因此,在本申请中,通过对通信异常事件进行监听,如出现403、404等网页错误码或服务器错误码,则表明存在通信异常事件,当监听到存在通信异常事件时,间隔第一预设计时时间再向服务器发送地址请求,从而避免由于存在通信异常而无法获得有效的在线视频流地址。其中,第一预设计时时间可以为500毫秒,通过设置计时器500毫秒,在500毫秒之后再向服务器发送地址请求。
其中,上述过程的代码实现如下:
Figure BDA0001282803290000071
str为服务器请求流接口地址,网络请求采取post是为了在默写浏览器get请求会被浏览器过滤去缓存中拿数据而post不会。
进一步,当获取到在线视频流地址之后,将CurrentFresh增加1,即CurrentFresh=CurrentFresh+1。
具体来讲,在步骤103中,根据所述在线视频流地址,在Flash播放器中播放与所述在线视频流地址对应的在线视频流,包括:
建立所述Flash播放器与所述服务器之间的网络连接;
在所述Flash播放器中创建单向流通道;
建立视频对象,并在所述单向流通道中利用所述视频对象承载所述在线视频流地址,以对所述在线视频流进行播放。
在具体实施过程中,Flash播放器播放在线视频流的过程包含NetConnection、NetStream和Video三个元素。首先,通过NetConnection类在Flash播放器与服务器之间建立网络连接nc,接着,利用NetStream类通过NetConnection在Flash播放器中创建单向流通道ns,上述两个过程的代码实现方式如下:
nc=new NetConnection()
nc.connect(null);
ns=new NetStream(nc);
最后,建立视频对象(Video对象),在单向流通道ns中利用视频对象承载在线视频流地址,以对在线视频流进行播放。其代码实现过程如下:
video.attachNetStram(ns)
进一步,在本申请中,在播放在线视频流的过程中,判断所述在线视频流是否满足预设卡顿条件,包括:判断在第一预设计时时间内所述在线视频流出现卡顿的次数是否大于预设卡顿次数,其中,若在第一预设计时时间内在线视频流出现卡顿的次数大于预设卡顿次数,则表明在线视频流满足预设卡顿条件。其中,在线视频流出现卡顿的次数即在线视频流无法填满缓存区的次数。
在一种具体的实施方式中,在播放与在线视频流地址对应的在线视频流之后,且,在判断在线视频流是否满足预设卡顿条件之前,所述方法可以包括:对所述在线视频流的播放状态进行监听。进而,判断所述在线视频流是否满足预设卡顿条件,包括:
当监听到当前时刻所述在线视频流的播放状态为未填满缓存区的第一状态时,判断从与当前时刻对应的第二预设计时时间的开始时刻到所述当前时刻之间,所述在线视频流产生所述第一状态的次数是否大于预设卡顿次数;
其中,若从与当前时刻对应的第二预设计时时间的开始时刻到所述当前时刻之间,所述在线视频流产生所述第一状态的次数大于所述预设卡顿次数,则表明满足所述预设卡顿条件。
具体来讲,NetStatusEvent.NET_STATUS事件用于反映在线视频流的播放状态,本申请对NetStatusEvent.NET_STATUS事件进行监听,当在线视频流的状态发生改变时,系统会抛出NetStatusEvent.NET_STATUS事件,其代码实现过程如下:
ns.addEventListener(NetStatusEvent.NET_STATUS,__netStreamStatusHandler);
进一步,当系统抛出NetStatusEvent.NET_STATUS事件时,调用方法__netStreamStatusHandle,获取在线视频流的播放状态netState,其代码实现过程如下:netState=e.info.code。
进一步,当在线视频流的播放状态为未填满缓存区的第一状态时,即netState为NetStream.Buffer.Empty,则判断从与当前时刻对应的第二预设计时时间的开始时刻到当前时刻之间,在线视频流产生第一状态的次数是否大于预设卡顿次数。通常,可以设置预设卡顿次数为10,预设卡顿次数也即MaxLoseNum,第二预设计时时间的时间跨度可以为1s,即,第二预设计时时间可以通过1s计时器进行实现,不同时刻对应的计时器可能不同,例如,时间10:000-10:009对应第一个1s计时器,时间10:010-10:019对应第二个1s计时器,也即,时间10:000-10:009对应第一个第二预设计时时间,时间10:010-10:019对应第二个第二预设计时时间。进一步,若当前时刻为10:007,则判断从第一个1s计时器的开始时刻10:000到10:007之间(包含当前时刻),产生第一状态的次数是否大于10,若大于10,则表明满足预设卡顿条件。若满足所述预设卡顿条件,则重新从服务器中获取与在线视频流对应的在线视频流地址,并根据获取到的在线视频流地址,在Flash播放器中播放与在线视频流地址对应的在线视频流。
基于同一发明构思,本发明实施例还提供一种在线视频的播放装置,如图2所示,所述装置包括:
发送模块201,用于向服务器发送用于获取在线视频流地址的地址请求;
接收模块202,用于接收所述服务器反馈的所述在线视频流地址;
播放判断模块203,用于根据所述在线视频流地址,在Flash播放器中播放与所述在线视频流地址对应的在线视频流,并在播放所述在线视频流的过程中,判断所述在线视频流是否满足预设卡顿条件;
重新获取模块204,用于若所述在线视频流满足所述预设卡顿条件,则重新从所述服务器中获取与所述在线视频流对应的所述在线视频流地址,并根据获取到的所述在线视频流地址,在所述Flash播放器中播放与所述在线视频流地址对应的所述在线视频流。
优选的,所述装置还包括:
第一监听模块,用于对用于表征客户端与所述服务器之间的通信存在异常的通信异常事件进行监听;
其中,所述发送模块具体用于:
当监听到存在所述通信异常事件时,间隔第一预设计时时间向所述服务器发送所述地址请求。
优选的,播放判断模块203,包括:
连接建立单元,用于建立所述Flash播放器与所述服务器之间的网络连接;
通道建立单元,用于在所述Flash播放器中创建单向流通道;
播放单元,用于建立视频对象,并在所述单向流通道中利用所述视频对象承载所述在线视频流地址,以对所述在线视频流进行播放。
优选的,所述装置还包括:
第二监听模块,用于对所述在线视频流的播放状态进行监听。
优选的,播放判断模块203,还包括:
判断单元,用于当监听到当前时刻所述在线视频流的播放状态为未填满缓存区的第一状态时,判断从与当前时刻对应的第二预设计时时间的开始时刻到所述当前时刻之间,所述在线视频流产生所述第一状态的次数是否大于预设卡顿次数;
其中,若从与当前时刻对应的第二预设计时时间的开始时刻到所述当前时刻之间,所述在线视频流产生所述第一状态的次数大于所述预设卡顿次数,则表明满足所述预设卡顿条件。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
本申请通过客户端向服务器发送地址请求,服务器根据接收到的地址请求反馈给客户端在线视频流地址,客户端根据接收到的在线视频流地址,在Flash播放器中播放与该在线视频流地址对应的在线视频流,并在播放在线视频流的过程中,判断在线视频流是否满足预设卡顿条件,若在线视频流满足预设卡顿条件,则重新从所述服务器中获取与该在线视频流对应的在线视频流地址,并根据获取到的在线视频流地址,在Flash播放器中播放与在线视频流地址对应的在线视频流,从而实现了智能获取在线视频流地址进行播放的技术效果,当在线视频流出现卡顿时,无需用户手动刷新网页,并且也无需对整个网页均进行重新加载,节省了加载时间。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的在线视频的播放装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (4)

1.一种在线视频的播放方法,其特征在于,所述方法包括:
在客户端向服务器发送的地址请求的次数不超过预设最大刷新请求次数的条件下,向所述服务器发送用于获取在线视频流地址的地址请求;
接收所述服务器反馈的所述在线视频流地址,所述在线视频流地址具有生命周期,所述生命周期对应于一预设时间段,所述在线视频流地址在被请求开始的所述预设时间段内有效,当超过所述预设时间段后,所述服务器回收所述在线视频流地址;
根据所述在线视频流地址,在Flash播放器中播放与所述在线视频流地址对应的在线视频流,并对所述在线视频流的播放状态进行监听;
当监听到当前时刻所述在线视频流的播放状态为未填满缓存区的第一状态时,判断从与当前时刻对应的第二预设计时时间的开始时刻到所述当前时刻之间,所述在线视频流产生所述第一状态的次数是否大于预设卡顿次数;
若从与当前时刻对应的第二预设计时时间的开始时刻到所述当前时刻之间,所述在线视频流产生所述第一状态的次数大于所述预设卡顿次数,表明满足预设卡顿条件,则重新从所述服务器中获取与所述在线视频流对应的所述在线视频流地址,并根据获取到的所述在线视频流地址,在所述Flash播放器中播放与所述在线视频流地址对应的所述在线视频流;
其中,所述根据所述在线视频流地址,在Flash播放器中播放与所述在线视频流地址对应的在线视频流,包括:
建立所述Flash播放器与所述服务器之间的网络连接;
在所述Flash播放器中创建单向流通道;
建立视频对象,并在所述单向流通道中利用所述视频对象承载所述在线视频流地址,以对所述在线视频流进行播放。
2.如权利要求1所述的在线视频的播放方法,其特征在于,在所述向服务器发送用于获取在线视频流地址的地址请求之前,所述方法还包括:
对用于表征客户端与所述服务器之间的通信存在异常的通信异常事件进行监听;
其中,所述向服务器发送用于获取在线视频流地址的地址请求,包括:
当监听到存在所述通信异常事件时,间隔第一预设计时时间向所述服务器发送所述地址请求。
3.一种在线视频的播放装置,其特征在于,所述装置包括:
发送模块,用于在客户端向服务器发送的地址请求的次数不超过预设最大刷新请求次数的条件下,向所述服务器发送用于获取在线视频流地址的地址请求;
接收模块,用于接收所述服务器反馈的所述在线视频流地址,所述在线视频流地址具有生命周期,所述生命周期对应于一预设时间段,所述在线视频流地址在被请求开始的所述预设时间段内有效,当超过所述预设时间段后,所述服务器回收所述在线视频流地址;
播放判断模块,用于根据所述在线视频流地址,在Flash播放器中播放与所述在线视频流地址对应的在线视频流,并在播放所述在线视频流的过程中,判断所述在线视频流是否满足预设卡顿条件;
重新获取模块,用于若所述在线视频流满足所述预设卡顿条件,则重新从所述服务器中获取与所述在线视频流对应的所述在线视频流地址,并根据获取到的所述在线视频流地址,在所述Flash播放器中播放与所述在线视频流地址对应的所述在线视频流;
其中,所述装置还包括:
第二监听模块,用于对所述在线视频流的播放状态进行监听;
其中,所述播放判断模块,还包括:
判断单元,用于当监听到当前时刻所述在线视频流的播放状态为未填满缓存区的第一状态时,判断从与当前时刻对应的第二预设计时时间的开始时刻到所述当前时刻之间,所述在线视频流产生所述第一状态的次数是否大于预设卡顿次数;
其中,若从与当前时刻对应的第二预设计时时间的开始时刻到所述当前时刻之间,所述在线视频流产生所述第一状态的次数大于所述预设卡顿次数,则表明满足所述预设卡顿条件;
其中,所述播放判断模块,包括:
连接建立单元,用于建立所述Flash播放器与所述服务器之间的网络连接;
通道建立单元,用于在所述Flash播放器中创建单向流通道;
播放单元,用于建立视频对象,并在所述单向流通道中利用所述视频对象承载所述在线视频流地址,以对所述在线视频流进行播放。
4.如权利要求3所述的在线视频的播放装置,其特征在于,所述装置还包括:
第一监听模块,用于对用于表征客户端与所述服务器之间的通信存在异常的通信异常事件进行监听;
其中,所述发送模块具体用于:
当监听到存在所述通信异常事件时,间隔第一预设计时时间向所述服务器发送所述地址请求。
CN201710294813.XA 2017-04-28 2017-04-28 一种在线视频的播放方法及装置 Active CN107135405B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710294813.XA CN107135405B (zh) 2017-04-28 2017-04-28 一种在线视频的播放方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710294813.XA CN107135405B (zh) 2017-04-28 2017-04-28 一种在线视频的播放方法及装置

Publications (2)

Publication Number Publication Date
CN107135405A CN107135405A (zh) 2017-09-05
CN107135405B true CN107135405B (zh) 2020-02-07

Family

ID=59716722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710294813.XA Active CN107135405B (zh) 2017-04-28 2017-04-28 一种在线视频的播放方法及装置

Country Status (1)

Country Link
CN (1) CN107135405B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110300326B (zh) * 2018-03-22 2021-11-26 杭州萤石软件有限公司 一种视频卡顿的检测方法、装置、电子设备及存储介质
CN110290430A (zh) * 2019-07-31 2019-09-27 腾讯科技(深圳)有限公司 视频播放方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103714143A (zh) * 2013-12-25 2014-04-09 华为技术有限公司 网页数据的处理方法和装置及通信系统
CN105491400A (zh) * 2015-11-24 2016-04-13 腾讯科技(深圳)有限公司 一种视频流下载方法及其设备
CN105872611A (zh) * 2015-12-07 2016-08-17 乐视云计算有限公司 一种云直播系统的承压测试方法及设备
CN106303606A (zh) * 2016-08-18 2017-01-04 上海卓易科技股份有限公司 一种在线视频播放方法及装置
CN106331876A (zh) * 2016-09-09 2017-01-11 乐视控股(北京)有限公司 网页视频播放方法及装置
CN106331766A (zh) * 2016-08-31 2017-01-11 网宿科技股份有限公司 视频文件的播放方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140010517A1 (en) * 2012-07-09 2014-01-09 Sensr.Net, Inc. Reduced Latency Video Streaming

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103714143A (zh) * 2013-12-25 2014-04-09 华为技术有限公司 网页数据的处理方法和装置及通信系统
CN105491400A (zh) * 2015-11-24 2016-04-13 腾讯科技(深圳)有限公司 一种视频流下载方法及其设备
CN105872611A (zh) * 2015-12-07 2016-08-17 乐视云计算有限公司 一种云直播系统的承压测试方法及设备
CN106303606A (zh) * 2016-08-18 2017-01-04 上海卓易科技股份有限公司 一种在线视频播放方法及装置
CN106331766A (zh) * 2016-08-31 2017-01-11 网宿科技股份有限公司 视频文件的播放方法和装置
CN106331876A (zh) * 2016-09-09 2017-01-11 乐视控股(北京)有限公司 网页视频播放方法及装置

Also Published As

Publication number Publication date
CN107135405A (zh) 2017-09-05

Similar Documents

Publication Publication Date Title
US10425349B2 (en) Idle worker-process page-out
US20170171278A1 (en) Method and electronic device for continuously playing video
CN110807128B (zh) 视频的预加载方法、装置、设备和存储介质
CN103475932A (zh) 网络视频的无缝在线播放方法及装置、网络电视系统
CN107135405B (zh) 一种在线视频的播放方法及装置
US11039187B2 (en) Self-adaptive software background update method and device
CN105791985A (zh) 媒体流数据下载方法及装置
EP3193509A1 (en) Video advertisement filtering method, device and equipment
CN107493510B (zh) 直播间内直播流播放方法、装置、计算机存储介质及设备
US9411397B2 (en) Managing a portal application
CN109445941B (zh) 配置处理器性能的方法、装置、终端及存储介质
CN107071550B (zh) 一种视频数据共享方法和装置
CN108769816B (zh) 一种视频播放方法、装置及存储介质
US20150134846A1 (en) Method and apparatus for media segment request retry control
CN106775952B (zh) 一种安卓应用的进程管理方法和装置
CN110134450B (zh) 一种视频重定向方法,装置和计算机可读存储介质
RU2632420C1 (ru) Способ обработки данных и устройство, используемое для приложения терминала
CN106412630B (zh) 视频列表切换控制方法及装置
CN105828109A (zh) 服务器、客户端及基于rtsp/rtp的播放系统
CN107908730B (zh) 一种下载数据的方法和装置
WO2017185632A1 (zh) 数据传输的方法及电子设备
US20240031454A1 (en) System, method and computer-readable medium for data accessing
CN109032787B (zh) 一种任务分配方法及装置
CN114302189A (zh) 直播清晰度处理方法及装置
CN108174231B (zh) 一种实现直播群的方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant