一种视频播放方法及装置与流程

文档序号:12730894阅读:161来源:国知局
一种视频播放方法及装置与流程

本发明涉及多媒体技术领域,特别是涉及一种视频播放方法及装置。



背景技术:

随着计算机以及互联网技术的高速发展,电脑、手机等各类终端设备已经成为人们生活娱乐中的重要组成部分。通过这些终端设备不仅能够丰富人们的生活,而且还使得人们获得了很多便利。

现在,越来越多的人通过终端设备可以随时在各种环境下收看网络中的视频资源。然而用户在观看网络视频资源时,由于网络传输速度的波动,经常会出现卡顿等情况,造成用户体验不佳。

现有技术中,当用户观看过程中网络传输速度变低,视频出现卡顿时,用户可以通过手动操作主动降低码率。例如,很多视频网站中,用户可以手动选择所观看视频的清晰度。从而当出现视频卡顿的情况时,用户可以手动选择较低的清晰度,从而降低视频传输码率,使得视频能够适应当前网络传输速度。但是,当网络传输速度恢复时,用户一般很少会主动得知网络传输的情况,从而不会主动将码率调整为正常码率。这将导致用户观看视频时一直处于低码率不清晰的状态,而且用户手动的进行码率的调整,也增加了用户的观看负担,很大程度上降低了用户体验。



技术实现要素:

本发明实施例的目的在于提供一种视频播放方法及装置,以实现根据网络的传输速度,自动调整所观看视频的码率,提高用户体验。具体技术方案如下:

本发明实施例提供了一种视频播放方法,包括:

确定待播放的视频,并播放所述视频;

在视频播放过程中,按预设周期,检测网络传输速度;

当所述网络传输速度低于预设阈值时,降低所述视频的传输码率;

当所述网络传输速度高于所述预设阈值时,增加所述视频的传输码率。

可选的,所述确定待播放的视频包括:

检测页面中是否含有可播放的视频或可播放的视频的链接;

当存在所述可播放的视频或所述可播放的视频的链接时,将所述可播放的视频或所述可播放的视频的链接对应的视频,作为待播放的视频。

可选的,所述播放所述视频包括:

检测待播放的视频的封装格式;

根据所述封装格式,调用对应的播放程序播放所述视频。

可选的,检测待播放的视频的封装格式之后,所述方法还包括:

检测所述待播放的视频的编码格式;

所述根据所述封装格式,调用对应的播放程序播放所述视频包括:

根据所述待播放的视频的编码格式,调用对应的解码程序对所述视频进行解码;

根据所述封装格式,调用对应的播放程序播放解码后的视频。

可选的,确定待播放的视频之后,所述方法还包括:

检测所述视频是否为网络视频;

所述在视频播放过程中,按预设周期,检测网络传输速度包括:

当检测到所述视频为网络视频时,在视频播放过程中,按预设周期,检测网络传输速度。

本发明实施例还提供了一种视频播放装置,包括:

播放模块,用于确定待播放的视频,并播放所述视频;

检测模块,用于在视频播放过程中,按预设周期,检测网络传输速度;

第一调整模块,用于当所述网络传输速度低于预设阈值时,降低所述视频的传输码率;

第二调整模块,用于当所述网络传输速度高于所述预设阈值时,增加所述视频的传输码率。

可选的,所述播放模块包括:

检测子模块,用于检测页面中是否含有可播放的视频或可播放的视频的链接;

确定子模块,用于当存在所述可播放的视频或所述可播放的视频的链接时,将所述可播放的视频或所述可播放的视频的链接对应的视频,作为待播放的视频。

可选的,所述播放模块包括:

执行子模块,用于检测待播放的视频的封装格式;

播放子模块,用于根据所述封装格式,调用对应的播放程序播放所述视频。

可选的,所述播放模块还包括:

处理子模块,用于检测所述待播放的视频的编码格式;

所述播放子模块,具体用于根据所述待播放的视频的编码格式,调用对应的解码程序,对所述视频进行解码;根据所述封装格式,调用对应的播放程序播放解码后的视频。

可选的,所述装置还包括:

判断模块,用于检测所述视频是否为网络视频;

所述检测模块,具体用于当所述判断模块检测到所述视频为网络视频时,在视频播放过程中,按预设周期,检测网络传输速度。

本发明实施例提供的一种视频播放方法及装置,可以按预设周期检测网络传输速度,当网络传输速度低于预设阈值时,降低视频传输的码率,当网络传输速度高于预设阈值时,增加视频传输的码率,从而不需要用户手动选择视频码率,能够自动的调整码率来匹配当前的网络传输速度,保证了视频观看流畅的同时,提高了用户体验。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的视频播放方法的流程图;

图2为本发明实施例提供的视频播放装置的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,图1为本发明实施例提供的视频播放方法的流程图,包括:

步骤101,确定待播放的视频,并播放视频。

本发明实施例中,用户可以使用各类终端设备观看网络中的视频资源。其中,上述终端设备可以包括:手机、平板电脑、计算机、智能电视等设备。

当用户使用终端设备观看网络中的视频资源时,终端设备可以根据用户的控制指令将网络中的视频资源作为待播放的视频,并进行播放。例如:用户在视频网站中选定一个视频,终端设备就可以将该视频作为待播放的视频。当用户通过控制指令,如进行点击播放按钮等操作时,终端设备就可以对该视频进行播放。

终端设备也可以自动在用户所浏览的页面中检测可以用于播放的视频,将该视频作为待播放的视频,然后可以直接自动的进行该视频的播放;也可以根据用户的控制指令,如点击播放按钮等,再对该视频进行播放。

步骤102,在视频播放过程中,按预设周期,检测网络传输速度。

当视频开始播放后,终端设备可以按预设周期,对当前移动终端所在的网络环境的网络传输速度进行检测。其中,预设周期可以根据需要进行预先设置,例如可以是10秒,30秒,1分钟等等。

监测网络传输速度可以有很多种方法,例如,可以通过第三方软件或程序对网络传输速度进行检测;也可以在视频播放程序中加入预设的用于网络传输速度检测插件。具体的,检测网络传输速度的具体方法,属于现有技术,在此不再进行赘述。

步骤103,当网络传输速度低于预设阈值时,降低视频的传输码率。

终端设备按预设周期对网络传输速度进行检测,当所检测的网络传输速度低于预设阈值时,终端设备就可以主动的降低正在播放的视频的传输码率。其中,预设阈值是根据实际需要设置的阈值,该阈值可以有一个或多个。

在一种实现方式中,可以设定一个阈值。这种情况下,当终端设备检测到网络传输速度后,就可以将网络传输速度与预设阈值进行比较,当网络传输速度小于预设阈值时,终端设备就可以通过降低正在播放的视频的清晰度来降低视频的传输码率,也可以直接降低视频的传输码率。

在另一种实现方式中,还可以根据实际所检测到的网络传输速度,与多个预设阈值来进行比较,从而确定出将视频的传输码率降低的程度。

例如,一般各大视频网站中,对各种视频都可以提供三种清晰度以供用户选择,包括:超清、高清、标清。这三个不同的清晰度对应三档不同的码率。用户观看不同清晰度的视频时,其传输码率不同。其中,超清的传输码率最高,标清的传输码率最低。当检测到的网络传输速度低于第一预设阈值时,将传输码率降低至对应标清的码率;当网络传输速度高于第一预设阈值,且低于第二预设阈值时,将传输码率降低至对应高清的码率;容易理解的是,当网络传输速度高于第二预设阈值时,不需要降低视频的传输码率。

终端设备可以通过自动调整网络中视频的清晰度来实现降低视频的传输码率,也可以在视频播放时,直接降低视频的码率,从而降低视频的传输码率。

步骤104,当网络传输速度高于预设阈值时,增加视频的传输码率。

网络传输速度可能由于各种各样的原因会出现波动,有时的网络传输速度可能较低,但一段时间后,网络传输速度可能就会恢复为正常值。

所以,终端设备会持续的按预设周期进行网络传输速度的检测,当网络传输速度高于预设阈值时,就可以增加视频的传输码率,从而增加视频的清晰度,使得用户的观看效果更佳。

当存在多个预设阈值时,可以将网络传输速度与多个预设阈值进行比较,从而增加合适的传输码率。例如,当前的传输码率较低,对应视频的标清,当检测到的网络传输速度高于第一预设阈值,且低于第二预设阈值时,将视频的传输码率增加至对应高清的码率;当网络传输速度高于第二预设阈值时,将视频的传输码率增加至对应超清的码率。

具体的,增加视频的传输码率的方法与降低视频的传输码率的方法类似,在此不再进行赘述。

在本发明实施例中,终端设备通过按预设周期检测网络传输速度,当网络传输速度低于预设阈值时,降低视频传输的码率,当网络传输速度高于预设阈值时,增加视频传输的码率,从而不需要用户手动选择视频码率,能够自动的调整码率来匹配当前的网络传输速度,保证了视频观看流畅的同时,提高了用户体验。

可选的,在本发明实施例提供的视频播放方法中,确定待播放的视频包括:

第一步,检测页面中是否含有可播放的视频或可播放的视频的链接。

用户在使用终端设备时,经常会浏览到各种含有视频的页面。所以,为了能及时的为视频的播放做好准备或者直接为用户播放该页面中的视频,终端设备可以检测用户当前正在浏览的页面中是否含有可播放的视频或者可播放的视频的链接。

终端设备可以通过检测页面源代码来实现对可播放的视频或者可播放的视频的链接。例如,可以通过检测页面中是否含有特定后缀名的文件或链接,如,AVI、MKV、MOV、MP4、RM/RMVB、WMV,当存在含有上述后缀名的文件或链接时,则可以认为页面中含有可播放的视频或可播放的视频的链接。

第二步,当存在可播放的视频或可播放的视频的链接时,将可播放的视频或可播放的视频的链接对应的视频,作为待播放的视频。

当终端设备检测到页面中含有可播放的视频或可播放的视频的链接时,就可以将该可播放的视频或可播放的视频的链接作为待播放的视频,并且可以直接对该视频进行播放。当然,也可以在接收到用户的指示,如点击播放按钮之后,再进行播放。

在本发明实施例中,终端设备通过主动的检测页面中是否含有可播放的视频或可播放的视频的链接,从而确定出待播放的视频,进而可以直接为用户开始播放页面中的视频,节省了用户的操作时间,提高了用户体验。

可选的,在本发明实施例提供的视频播放方法中,播放视频包括:

第一步,检测待播放的视频的封装格式。

终端设备已经确定出了待播放的视频,在对该视频进行播放时,可以先检测出该视频的封装格式。

封装格式就是将已经编码压缩好的视频轨和音频轨按照一定的格式放到一个文件中,可以将封装格式理解为一种容器,用于装载已经压缩好的视频和音频,从而构成一个完整的视频文件。常见的封装格式有:AVI、MKV、MOV、MP4、RM/RMVB、WMV等等。也就是视频文件不同的后缀名代表了不同的封装格式。

所以,通过检测待播放的视频的后缀名,就可以确定出该视频的封装格式。

第二步,根据封装格式,调用对应的播放程序播放视频。

当确定出待播放的视频的封装类型后,就可以针对该视频的封装类型调用对应的播放程序对待播放的视频进行播放。

不同的封装格式相当于不同类型的容器,针对不同类型的容器,对应有不同的打开容器的工具。所以,可以针对不同的封装格式,预设不同的播放程序用于播放不同封装格式的视频。播放程序可以是独立的播放程序,也可以集成在一个总的播放程序中,针对不同的封装格式,总的播放程序可以调用不同的程序模块,用来播放不同的封装格式。

具体的,播放程序可以通过各类程序语言进行开发,本领域技术人员可以根据实际需要开发出所需的播放程序,属于现有技术,不再进行赘述。

在本发明实施例中,通过检测待播放的视频的封装格式,可以针对不同的封装格式调用针对该封装格式的播放程序对待播放的视频进行播放,从而可以实现播放多种格式的视频,避免了因为视频播放程序不兼容待播放的视频的封装格式而导致的播放失败。

可选的,在本发明实施例提供的视频播放方法中,检测待播放的视频的封装格式之后,该方法还包括:

检测待播放的视频的编码格式。

视频的封装格式是将已经压缩好的视频和音频装载在一个文件中,然而同样的封装格式中视频还可能由不同的压缩技术进行压缩,不同的视频压缩技术可以对应视频不同的编码格式。

所以当检测待播放的视频的封装格式之后,终端设备还可以检测待播放的视频的编码格式。常见的编码格式包括:mpeg2、mpeg4、divx、h.263、h.264等等。

具体的,检测视频编码格式的方法属于现有技术,在此不再进行赘述。

相应的,根据封装格式,调用对应的播放程序播放视频包括:

根据待播放的视频的编码格式,调用对应的解码程序对视频进行解码。并根据封装格式,调用对应的播放程序播放解码后的视频。

当确定出了待播放的视频的编码格式后,就可以根据视频的编码格式,调用对应的解码程序。解码程序与对应的编码格式相对应,可以将压缩的视频还原成可以观看的完整视频。

在实际应用中,可以将解码程序集成在播放程序中,首先通过解码程序进行解码后,在通过播放程序进行视频的播放。

在本发明实施例中,在检测了待播放的视频的封装格式后,还可以检测待播放视频的编码格式,从而调用相应的解码程序,对待播放视频进行解码,从而进一步避免了因待播放的视频的格式不兼容,而导致的播放失败的情况。

可选的,在本发明实施例提供的视频播放方法中,确定待播放的视频之后,该方法还包括:

检测视频是否为网络视频。

在实际应用中,用户可能不仅仅观看网络中的视频资源,还可能通过终端设备观看存储在终端设备本地的视频。并且,当用户观看终端本地的视频时,不再需要从网络上缓存该视频。

所以,当终端设备确定出了待播放的视频后,或者当已经接收到用户播放一个视频的指令后,例如,用户打开并播放一个视频文件时,终端设备可以检测该视频是否为网络视频。例如,可以通过检测该视频的来源位置或存储位置,检测出该视频是否是网络视频。

相应的,在视频播放过程中,按预设周期,检测网络传输速度包括:

当检测到视频为网络视频时,在视频播放过程中,按预设周期,检测网络传输速度。

容易理解的是,当终端设备检测出视频是终端设备本地所保存的视频时,由于对该视频的播放不受网络传输速度的限制,从而可以不需要在对网络的传输速度进行检测。也不需要主动调整视频的码率。

只有当检测到视频为网络视频时,在对视频进行播放时,可以按按预设周期,检测网络传输速度。从而,根据不同的网络传输速度,调整视频的传输码率,减少视频播放时的卡顿和延时,提高用户观看体验。

本发明实施例通过检测视频是否为网络视频,只有在视频是网络视频时,终端设备才按预设周期,检测网络传输速度,从而减少了终端设备的负载,有利于提高终端设备的性能。

参见图2,图2为本发明实施例提供的视频播放装置的结构图,包括:

播放模块201,用于确定待播放的视频,并播放视频;

检测模块202,用于在视频播放过程中,按预设周期,检测网络传输速度;

第一调整模块203,用于当网络传输速度低于预设阈值时,降低视频的传输码率;

第二调整模块204,用于当网络传输速度高于预设阈值时,增加视频的传输码率。

在本发明实施例中,终端设备通过按预设周期检测网络传输速度,当网络传输速度低于预设阈值时,降低视频传输的码率,当网络传输速度高于预设阈值时,增加视频传输的码率,从而不需要用户手动选择视频码率,能够自动的调整码率来匹配当前的网络传输速度,保证了视频观看流畅的同时,提高了用户体验。

可选的,在本发明实施例提供的视频播放装置中,播放模块201包括:

检测子模块,用于检测页面中是否含有可播放的视频或可播放的视频的链接;

确定子模块,用于当存在可播放的视频或可播放的视频的链接时,将可播放的视频或可播放的视频的链接对应的视频,作为待播放的视频。

可选的,在本发明实施例提供的视频播放装置中,播放模块201包括:

执行子模块,用于检测待播放的视频的封装格式;

播放子模块,用于根据封装格式,调用对应的播放程序播放视频。

可选的,在本发明实施例提供的视频播放装置中,播放模块201还包括:

处理子模块,用于检测待播放的视频的编码格式;

播放子模块,具体用于根据待播放的视频的编码格式,调用对应的解码程序,对视频进行解码;根据封装格式,调用对应的播放程序播放解码后的视频。

可选的,在本发明实施例提供的视频播放装置中,改装置还包括:

判断模块(图中未标出),用于检测视频是否为网络视频;

检测模块具体用于,当判断模块检测到视频为网络视频时,在视频播放过程中,按预设周期,检测网络传输速度。

本发明实施例的装置是应用上述视频播放方法的装置,则上述视频播放方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。

对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1