网络视频播放方法及网络视频播放装置的制作方法

文档序号:7659272阅读:298来源:国知局
专利名称:网络视频播放方法及网络视频播放装置的制作方法
技术领域
本发明涉及音视频技术领域,特别涉及一种网络视频播放方法及装置。
背景技术
随着互联网技术的发展,在网络带宽不断增长的今天,网络视频以其便捷的访问体验、多样化的影片来源、实时的更新速度吸引了广大的用户,使得网络视频成为了用户网络生活不可或缺的重要组成部分。目前,大多数网站服务器提供的网络视频都以一定的码流进行播放。所述码流 (Data Rate),是指视频文件在单位时间内使用的数据流量,也叫码率,它是视频编码中画面质量控制中最重要的部分。同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越高。如果在网络带宽较小、网络流量较大的情况下,码流较大的视频文件会占用更多的带宽资源,从而影响视频的传输,进一步影响视频播放的流畅度,若降低标准看视频的话则又会浪费带宽,又很难保证画面的质量。申请号为200910242821. 5的中国专利《一种网络视频的播放方法及一种网络视频播放系统》中公开了一种网络视频的播放方法,所述方法包括针对每一路视频源,预置多种码流;选择其中一种码流播放视频源对应的视频。可以在网络带宽资源较少的情况下选择低码流,而在带宽资源充足的情况下选择高码流,从而保证视频播放的流畅度。通过在播放过程中调整视频码流,还可以提高网络视频播放的并发用户数。这种选择码流的基本上都是通过手动选择,而手动操作的时候本身就会浪费比较多的时间。由于一般的视频都会采取帧间压缩技术,在播放视频的时候,必须从关键帧开始才能正常解码,否则可能会解码失败导致花屏或丢帧的情况。手动操作切换时,如果切换到新码流时没有从关键帧开始发送数据则可能因上述原因造成画面不平滑过渡的情况。

发明内容
为解决上述问题,本发明提供一种网络视频播放方法及装置,能够有效的利用网络带宽,在保证视频画面不卡的情况下,尽可能为用户提供高质量视频画面。针对上面所述问题,本发明提供一种网络视频播放方法,包括 针对每一路视频源,预置多种码流;
用户请求播放视频,选择一种视频码流;
判断是否需要切换视频码流,是则按照时间戳切换视频码流。本发明还提供一种网络视频播放装置,包括 网络连接的网络服务器以及网络视频播放客户端。所述网络服务器包括多码流设置模块、视频传输模块、码流切换模块;
所述多码流设置模块,用于针对每一路视频源,预置多种码流,为每种码流中的视频帧记录显示时间戳信息;
所述视频传输模块,用于选择其中一种码流向视频播放客户端传输视频源对应的视频。所述码流切换模块,用于切换各个码流的数据。网络视频播放客户端用于播放视频源对应的视频,其包括状态检测模块和码流选择模块
所述状态检测模块,检测当前网络的状况以及对当前播放客户端中的缓冲数据进行检
测,
所述码流选择模块,用于发送码流切换请求,或者将自身检测到的状态发给所述服务器来决定切换码流。与现有技术相比,本发明可在网络不稳定的情况下,保证流畅性并尽可能为用户提供高质量视频画面,以达到更好的显示效果;实现自动切换视频从而减少手动操作所带来不必要的时间损耗;还采用了时间戳对应对视频进行切换,使画面过渡平滑、自然。


图1为本发明实施例一所述的一种网络视频播放方法流程图。图2为本发明实施例一所述的码流切换时时间戳比较图。图3为本发明实施例一中的视频码流选取流程图。图4为本发明实施例二中的视频码流选取流程图。图5为本发明实施例二所述的一种网络视频播放装置结构图。
具体实施例方式传统的网络视频播放通常使用单一码流,而本发明提出了一种多码流的播放方案,在网络不稳定的情况下,保证流畅性并尽可能为用户提供高质量视频画面,以达到更好的显示效果。下面通过实施例进行说明。下面结合具体的实施例详细描述本发明的技术方案。实施例一
如图1所示,本发明一种网络视频播放方法,具体包括以下步骤 S101、针对每一路视频源,预置多种码流;
务器10所述视频源是指视频的信号来源,一路视频源可以为一个单独的节目,也可以针对一个频道。每一路视频源会预置多种可选的码流,所述预置的方式可以是对每个视频源并发启动多路编码,接收到所采集的原始视频流后,按照用户需求将其编码成多种码流。预设码流中每帧视频的数据中包含显示时间戳信息,同一内容的视频帧在不同码流中时间戳之差小于1秒。一般而言,连续两帧视频的间隔时间为四十毫秒。如图2所示从第一码流切换到第二码流过程中,第一码流第N帧的视频与第二码流的第N帧视频为同一内容,假设两码流帧间隔都固定为四十毫秒。进行码流切换时,需先发送的是第一码流的第N帧视频的数据 (假设其时间戳为1000毫秒,它的下一帧第N+1帧的时间戳为1040毫秒),发送完毕后切换到第二码流,应发送第二码流中时间戳大于1000且最小的视频帧以及之后的数据。如果第二码流的第N+1帧的时间戳为1040毫秒,那么切换之后会从第二码流的第N+1帧数据开始发送,这种情况下图像实现平滑的过渡;如果相同内容的视频帧在不同码流中时间戳有差值,例如第N+沈帧的时间戳才为1040毫秒,那么切换之后会从第二码流的第N+沈帧数据开始发送,此时第二码流的第N+1帧到第N+25帧的数据被跳过,会造成图像显示上的不连
-m-贝ο作为最优的实施例,在处理预设码流时,须将同一内容的视频帧在不同码流中时间戳进行一一对应,即第一码流的第N帧与第二码流的第N帧视频的时间戳相等。S102、用户请求播放视频,选择一种视频码流;
网络视频播放服务器选择指定视频的一种质量的码流,并将码流发送给客户端。选择的方式可以是根据默认选择一种最低质量的码流以减少缓冲的时间,也可以是根据网络负载的情况选择一个合适的质量的码流。这里所说质量与分辨率、帧率相关,即分辨率越高、 帧率越高,那么图像质量也就越高。由服务器端自动进行码流选择的方式是服务器或客户端监控网络状态,并自动选择一种适应当前网络状态的码流。其中,所述网络状态是通过网络带宽、网络流量等参数进行标识,用于反映网络资源的多少。S103、判断是否需要切换视频码流,是则按照时间戳切换视频码流;
网络视频服务器根据网络视频播放客户端已缓冲的视频时间长度Tb,与预设的缓冲时间长度临界值的比较,决定选取视频的码流,并根据时间戳进行切换。网络视频播放客户端在播放过程中间隔一段时间向服务器报告一次自身已缓冲的视频时间长度Tb。如图3所示,服务器根据客户端已缓冲的视频时间长度Tb,与预设的缓冲时间长度临界值的比较,决定选取视频的码流,具体还包括以下步骤
S1031、当已缓冲的视频时间长度Tb大于第一缓冲时间Tm,则发送完当前码流当前帧的全部数据后,记录下所述当前视频帧的时间戳&。切换到第一码流,根据时间戳& 找到第一码流中应继续发送的视频数据的位置,发送此位置的视频数据;
S1032、当已缓冲的视频时间长度Tb小于第二缓冲时间Tn,则当发送完当前码流当前帧的全部数据后,记录下所述当前帧视频的时间戳&。切换到第二码流,根据时间戳&找到第二码流中应继续发送的视频数据的位置,发送此位置的视频数据;
作为最优的实施例,上述第一缓冲时间Tm〉第二缓冲时间Τη,上述第一码流视频的视频质量 > 第二码流视频的视频质量,第一码流视频的分辨率或帧率 > 第二码流视频的分辨率或帧率。作为最优的实施例,上述应继续发送视频数据的位置为时间戳大于&且为最小的视频帧I所在的位置。作为最优的实施例,上述的视频采用帧间压缩技术,所述视频帧I有可能为非关键帧。为保证视频的正常解码,如果视频帧I为非关键帧则需根据其之前的视频数据将其转换为关键帧。目前,一些常见的视频规格有1080ρ,720ρ, 480ρ等。其视频质量的关系为 1080ρ>720ρ>480ρ。作为实施上述S103的一个例子。一开始播放视频时采用720ρ的视频规格。当已缓冲的视频时间长度Tb大于第一缓冲时间长度Tm时,记录下所述当前帧视频的时间戳&,并选择IOSOp视频规格的码流视频,查找到此码流的时间戳为大于&且最小的所对应的帧视频,并向客户端发送此帧视频及之后的数据。当已缓冲的视频时间长度Tb小于第二缓冲时间长度临界值Tn时,记录下所述当前帧视频的时间戳Sc,并选择480p视频规格的码流视频,查找到此码流的时间戳为大于& 且最小的帧视频,并向客户端发送此帧视频及之后的数据。本发明所采用视频规格并不局限于以上三种。作为一个较好的实施例,本发明还可以采用已缓存的视频帧数来代替已缓冲的视频时间长度Tb。采用与之前相同的网络环境,对一路视频源多码流进行观看测试。由于网络的带宽与当时刻使用的人的数量有一定的关系。采用专利20091(^^821. 5时,它只根据网络一开始的带宽对视频码流进行筛选,若一开始网络带宽大,之后带宽小,则极易出现“卡”的状况,而一开始网络带宽小,则使得视频质量不高;采用本发明的上述步骤,可在网络不稳定的情况下,保证流畅性并尽可能为用户提供高质量视频画面,以达到更好的显示效果,本发明还采用了时间戳对应对视频进行切换,使画面过渡平滑、自然。实施例二
如图4所示,本发明一种网络视频播放方法,实施例一中的S103还可以是以下步骤 S103’网络视频播放服务器根据客户端的缓冲速度视频Vb与缓冲速度参考值进行比较,决定是否切换视频码流;
网络视频播放服务器在播放过程中每间隔一段时间获取客户端的缓冲速度Vb,获取的方法可以是客户端间隔一段时间向服务器报告已缓冲视频的时间长度,服务器根据连续几次报告的缓冲时间长度及其报告时间间隔来计算平均缓冲速度;也可以由客户端自己计算单位时间内缓冲的视频时间长度来得到平均缓冲速度,然后报告给服务器。网络视频播放服务器根据客户端缓冲视频的速度,进行以下步骤
S1031’、当缓冲视频速度Vb大于第一缓冲参考速度Vm,则发送完当前码流当前帧的全部数据后,记录下所述当前帧视频的时间戳&。切换到第一码流,根据时间戳&找到第一码流中应继续发送的视频数据的位置,发送此位置的视频数据;
S1032’、当缓冲视频速度Vb小于第二缓冲参考速度Vn,则发送完当前码流当前帧的全部数据后,记录下所述当前帧视频的时间戳&。切换到第二码流,根据时间戳&找到第二码流中应继续发送的视频数据的位置,发送此位置的视频数据;
作为最优的实施例,上述的缓冲视频速度Vb采用平均缓冲速度;上述第一缓冲速度 Vm>第二缓冲速度Vn,上述第一码流视频的视频质量 > 第二码流视频的视频质量。作为最优的实施例,上述应继续发送视频数据的位置为时间戳大于&且为最小的视频帧I所在的位置。作为最优的实施例,上述的视频采用帧间压缩技术,所述视频帧I有可能为非关键帧。为保证视频的正常解码,如果视频帧I为非关键帧则需根据其将其转换为关键帧。作为实施上述S103’的一个例子。播放视频时采用720p的视频规格。当平均缓冲视频速度Vb大于第一缓冲参考速度Vm时,记录下所述当前帧视频的时间戳&,并选择IOSOp视频规格的码流视频,查找此码流中视频的时间戳为大于&且最小的视频帧I,并向客户端发送视频帧I及之后的数据。
当平均缓冲视频速度Vb小于第二缓冲参考速度Vn时,记录下所述当前帧视频的时间戳Sc,并选择480p视频规格的码流视频,查找到此码流中视频的时间戳为大于&且最小的视频帧I,并向客户端发送视频帧I及之后的数据。此外,本发明还提供一种网络视频播放装置,包括网络服务器1以及网络视频播放客户端2,如图5所示。所述网络服务器1包括多码流设置模块11、视频传输模块12,码流切换模块13,各个模块信号连接;
多码流设置模块11,用于针对每一路视频源,预置多种码流,为每种码流中的视频帧记录显示时间戳信息;
视频传输模块12,用于选择其中一种码流向网络视频播放客户端2传输视频源对应的视频。码流切换模块13,用于按照客户端的请求或者根据与预设条件来比较的结果来切换码流;
所述码流切换是按时间戳从一种码流切换到另一种码流来发送数据。所述预设切换条件包括缓冲时间长度临界值Tm、Tn或缓冲视频帧数或缓冲视频的速度临界值Vm、Vn ;
所述播放客户端2用于播放视频源对应的视频,包括状态检测模块21和码流选择模块 22,两个模块信号连接
状态检测模块21,检测当前网络的状况以及对当前播放客户端中的缓冲数据进行检测,所述缓冲数据包括缓冲的视频时间长度Tb或缓冲视频帧数或缓冲视频的速度Vb ;
码流选择模块22,用于发送码流切换请求,或者将自身检测到的状态发给所述服务器来决定切换码流。本发明的网络视频播放装置,具有与本发明的一种网络视频播放方法同样的有益效果,这里不再赘述。以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
权利要求
1.一种网络视频播放方法,其特征在于,包括以下步骤 针对每一路视频源,预置多种码流;用户请求播放视频,选择一种视频码流;判断是否需要切换视频码流,是则按照时间戳切换视频码流。
2.根据权利要求1所述的网络视频播放方法,其特征在于,在预置多种码流时,预设码流中每帧视频的数据中包含显示时间戳信息,同一内容的视频帧在不同码流中的时间戳之差小于1秒。
3.根据权利要求2所述的网络视频播放方法,其特征在于,在预设多种码流时,预设码流的视频帧的时间戳一一对应。
4.根据权利要求1所述的网络视频播放方法,其特征在于,在按照时间戳切换视频码流时,若切换后发送的第一个视频帧为非关键帧则根据其之前的视频数据转换为关键帧。
5.根据权利要求1或2或3或4所述的网络视频播放方法,其特征在于,所述判断是否需要切换视频码流方法包括获取网络视频播放客户端自身已缓冲的视频时间长度; 利用已缓冲的视频时间长度与预设缓冲时间长度进行比较; 根据比较的结果来切换视频码流。
6.根据权利要求5所述的网络视频播放方法,其特征在于,所述判断是否需要切换视频码流方法包括若已缓冲的视频时间长度大于第一缓冲时间长度,切换到第一码流视频; 若已缓冲的视频时间长度小于第二缓冲时间长度,切换到第二码流视频。
7.根据权利要求1或2或3或4所述的网络视频播放方法,其特征在于,所述判断是否需要切换视频码流方法包括获取网络视频播放客户端的缓冲视频速度; 将缓冲视频速度与预设缓冲参考速度进行比较; 根据比较的结果来切换视频码流。
8.根据权利要求7所述的网络视频播放方法,其特征在于,所述判断是否需要切换视频码流方法包括若缓冲视频速度大于第一缓冲参考速度,切换到第一码流视频; 若缓冲视频速度小于第二缓冲参考速度,切换到第二码流视频。
9.根据权利要求1-8所述的网络视频播放方法,其特征在于,所述按照时间戳切换视频码流的方法,包括获取服务器当前发送的视频帧的时间戳;根据时间戳找到需要切换到的视频码流中应继续发送视频数据的位置; 发送此位置的视频数据。
10.一种网络视频播放装置,其特征在于,包括网络服务器以及网络视频播放客户端所述网络服务器包括多码流设置模块、视频传输模块、码流切换模块; 所述多码流设置模块,用于针对每一路视频源,预置多种码流,为每种码流中的视频帧记录显示时间戳信息;所述视频传输模块,用于选择其中一种码流向视频播放客户端传输视频源对应的视频;所述码流切换模块,用于切换各个码流的数据;网络视频播放客户端用于播放视频源对应的视频,其包括状态检测模块和码流选择模块所述状态检测模块,检测当前网络的状况以及对当前播放客户端中的缓冲数据进行检测;所述码流选择模块,用于发送码流切换请求,或者将自身检测到的状态发给所述服务器来决定切换码流。
全文摘要
本发明涉及一种网络视频播放方法,其包括以下步骤针对每一路视频源,预置多种码流;用户请求播放视频,选择一种视频码流;判断是否需要切换视频码流,是则按照时间戳切换视频码流。另外本发明还一种网络视频播放装置。采用本发明可在网络不稳定的情况下,保证流畅性并尽可能为用户提供高质量视频画面,以达到更好的显示效果;实现自动切换视频从而减少手动操作所带来不必要的时间损耗;还采用了时间戳对应对视频进行切换,使画面过渡平滑、自然。
文档编号H04N21/8547GK102291599SQ20111011687
公开日2011年12月21日 申请日期2011年5月7日 优先权日2011年5月7日
发明者曾昭兴, 董友球, 郭景贵 申请人:曾昭兴, 董友球, 郭景贵
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1