一种影音文件播放方法和装置与流程

文档序号:14722147发布日期:2018-06-17 19:53阅读:164来源:国知局

本发明涉及音视频播放技术领域,特别是涉及一种影音文件播放方法和装置。



背景技术:

对正在播放的影音文件进行快进或快退操作,目前的技术方案是使用进度条进行拖拽,或者利用快捷键按照设定的时间间隔进行快进或快退。

但在观看某些节目时,如电视剧,可能需要快退回去重复观看刚才某角色的一句话,或者想跳过角色当前的一句话,而使用进度条拖拽或者点击快捷键并不能精准地按照一句话的间隔进行快进或快退,无法满足用户需求。



技术实现要素:

本发明提供一种影音文件播放方法和装置,以解决现有的快进或快退方式无法满足用户需求的问题。

为了解决上述问题,本发明公开了一种影音文件播放方法,包括:

接收对当前播放的影音文件的快进或快退指令;其中,快进或快退指令中包括指令时间点的信息;

搜索得到对应于快进或快退指令的指令时间点的前一句字幕或后一句字幕的起始时间;

从起始时间对应的字幕和音视频帧开始,播放影音文件。

优选地,搜索得到对应于快进或快退指令的指令时间点的前一句字幕或后一句字幕的起始时间,包括:

在影音文件的外挂字幕信息或内嵌字幕信息中匹配得到指令时间点的前一句字幕或后一句字幕的起始时间;或,

根据对影音文件的视频帧中字幕的识别结果,得到指令时间点的前一句字幕或后一句字幕的起始时间。

优选地,影音文件的外挂字幕信息为文本文件格式的字幕文件;影音文件的内嵌字幕信息为以单独轨道形式存在于影音文件内的字幕数据;

外挂字幕信息和内嵌字幕信息均包括时间轴信息和与时间轴信息对应的字幕;时间轴信息包括各句字幕的起始时间和终止时间。

优选地,在影音文件的外挂字幕信息或内嵌字幕信息中匹配得到指令时间点的前一句字幕或后一句字幕的起始时间,包括:

在影音文件的外挂字幕信息的文本文件格式的字幕文件中或内嵌字幕信息所在的单独轨道内,判断指令时间点是否位于某一句字幕的时间轴信息的起始时间和终止时间的时间段内;

若是,则将该一句字幕确定为当前字幕,获取当前字幕的前一句字幕或后一句字幕的起始时间;其中,当前字幕的前一句字幕为终止时间在当前字幕的起始时间之前且终止时间距离当前字幕的起始时间最近的字幕;当前字幕的后一句字幕为起始时间在当前字幕的终止时间之后且起始时间距离当前字幕的终止时间最近的字幕;

若否,则对应于快进或快退指令,获取起始时间在指令时间点之后且起始时间距离指令时间点最近的字幕的起始时间,或获取终止时间在指令时间点之前且终止时间距离指令时间点最近的字幕的起始时间。

优选地,根据对影音文件的视频帧中字幕的识别结果,得到指令时间点的前一句字幕或后一句字幕的起始时间,包括:

检测得到指令时间点对应的视频帧的前一存在字幕的视频帧或后一存在字幕的视频帧,获取前一存在字幕的视频帧或后一存在字幕的视频帧中字幕的起始时间;

其中,前一存在字幕的视频帧或后一存在字幕的视频帧与指令时间点对应的视频帧之间存在至少一帧无字幕的视频帧。

优选地,检测得到指令时间点对应的视频帧的前一存在字幕的视频帧或后一存在字幕的视频帧,包括:

对指令时间点对应的视频帧进行图片识别,根据图片识别的结果判断视频帧中是否存在文字;

若存在,则根据快进或快退指令,继续对指令时间点之后或之前的视频帧进行图片识别,直至识别出不存在文字的视频帧;

继续根据快进或快退指令,对不存在文字的视频帧之后或之前的视频帧进行图片识别,直至再次识别出存在文字的视频帧;

将再次识别出的存在文字的视频帧作为指令时间点对应的视频帧的前一存在字幕的视频帧或后一存在字幕的视频帧。

优选地,获取前一存在字幕的视频帧或后一存在字幕的视频帧中字幕的起始时间,包括:

根据快进指令,将再次识别出存在文字的视频帧对应的时间点作为后一存在字幕的视频帧的起始时间;

或者,

根据快退指令,继续对识别出的存在文字的视频帧对应的时间点之前的视频帧进行图片识别,直至再次识别出不存在文字的视频帧,将在再次识别出的不存在文字的视频帧对应的时间点之后的最近一帧视频帧对应的时间点作为前一存在字幕的视频帧的起始时间。

优选地,方法还包括:

若指令时间点小于等于外挂字幕信息或内嵌字幕信息中第一句字幕的终止时间,或指令时间点之前的全部视频帧中均无字幕,则生成并显示禁止快退的提示信息;

若指令时间点大于等于外挂字幕信息或内嵌字幕信息中最后一句字幕的起始时间,或指令时间点之后的全部视频帧中均无字幕,则生成并显示禁止快进的提示信息。

优选地,从起始时间对应的字幕和音视频开始,播放影音文件之前,方法还包括:

判断起始时间对应的音视频帧是否为关键帧;

若是,则执行从起始时间对应的字幕和音视频帧开始,播放影音文件的步骤;

若否,则搜索在起始时间之前,距离起始时间对应的音视频帧最近的关键帧,并从最近的关键帧开始解码影音文件的音视频帧,直至解码至起始时间对应的音视频帧时,执行从起始时间对应的字幕和音视频帧开始,播放影音文件的步骤。

优选地,接收对当前播放的影音文件的快进或快退指令,包括:

接收由点击操作、手势操作或者语音操作生成的快进或快退指令。

相应地,本发明还公开了一种影音文件播放装置,包括:

指令接收模块,用于接收对当前播放的影音文件的快进或快退指令;其中,快进或快退指令中包括指令时间点的信息;

起始时间搜索模块,用于搜索得到对应于快进或快退指令的指令时间点的前一句字幕或后一句字幕的起始时间;

播放模块,用于从起始时间对应的字幕和音视频帧开始,播放影音文件。

优选地,起始时间搜索模块在影音文件的外挂字幕信息或内嵌字幕信息中匹配得到指令时间点的前一句字幕或后一句字幕的起始时间;或,

起始时间搜索模块根据对影音文件的视频帧中字幕的识别结果,得到指令时间点的前一句字幕或后一句字幕的起始时间。

优选地,影音文件的外挂字幕信息为文本文件格式的字幕文件;影音文件的内嵌字幕信息为以单独轨道形式存在于影音文件内的字幕数据;

外挂字幕信息和内嵌字幕信息均包括时间轴信息和与时间轴信息对应的字幕;时间轴信息包括各句字幕的起始时间和终止时间。

优选地,起始时间搜索模块,包括:

时间判断子模块,用于在影音文件的外挂字幕信息的文本文件格式的字幕文件中或内嵌字幕信息所在的单独轨道内,判断指令时间点是否位于某一句字幕的时间轴信息的起始时间和终止时间的时间段内;

第一时间获取子模块,用于若指令时间点位于某一句字幕的时间轴信息的起始时间和终止时间的时间段内,则将该一句字幕确定为当前字幕,获取当前字幕的前一句字幕或后一句字幕的起始时间;其中,当前字幕的前一句字幕为终止时间在当前字幕的起始时间之前且终止时间距离当前字幕的起始时间最近的字幕;当前字幕的后一句字幕为起始时间在当前字幕的终止时间之后且起始时间距离当前字幕的终止时间最近的字幕;

第二时间获取子模块,用于若指令时间点不位于某一句字幕的时间轴信息的起始时间和终止时间的时间段内,则对应于快进或快退指令,获取起始时间在指令时间点之后且起始时间距离指令时间点最近的字幕的起始时间,或获取终止时间在指令时间点之前且终止时间距离指令时间点最近的字幕的起始时间。

优选地,起始时间搜索模块,包括:

第三时间获取子模块,用于检测得到指令时间点对应的视频帧的前一存在字幕的视频帧或后一存在字幕的视频帧,获取前一存在字幕的视频帧或后一存在字幕的视频帧中字幕的起始时间;

其中,前一存在字幕的视频帧或后一存在字幕的视频帧与指令时间点对应的视频帧之间存在至少一帧无字幕的视频帧。

优选地,第三时间获取子模块,包括:

识别判断子单元,用于对指令时间点对应的视频帧进行图片识别,根据图片识别的结果判断视频帧中是否存在文字;

继续识别子单元,用于若视频帧中存在文字,则根据快进或快退指令,继续对指令时间点之后或之前的视频帧进行图片识别,直至识别出不存在文字的视频帧;继续根据快进或快退指令,对不存在文字的视频帧之后或之前的视频帧进行图片识别,直至再次识别出存在文字的视频帧;

视频帧确定子单元,用于将再次识别出的存在文字的视频帧作为指令时间点对应的视频帧的前一存在字幕的视频帧或后一存在字幕的视频帧。

优选地,第三时间获取子模块,还包括:

起始时间确定子单元,用于根据快进指令,将再次识别出存在文字的视频帧对应的时间点作为后一存在字幕的视频帧的起始时间;或者,根据快退指令,继续对识别出的存在文字的视频帧对应的时间点之前的视频帧进行图片识别,直至再次识别出不存在文字的视频帧,将在再次识别出的不存在文字的视频帧对应的时间点之后的最近一帧视频帧对应的时间点作为前一存在字幕的视频帧的起始时间。

优选地,装置还包括:

禁止快退模块,用于若指令时间点小于等于外挂字幕信息或内嵌字幕信息中第一句字幕的终止时间,或指令时间点之前的全部视频帧中均无字幕,则生成并显示禁止快退的提示信息;

禁止快进模块,用于若指令时间点大于等于外挂字幕信息或内嵌字幕信息中最后一句字幕的起始时间,或指令时间点之后的全部视频帧中均无字幕,则生成并显示禁止快进的提示信息。

优选地,装置还包括:

关键帧判断模块,用于在播放模块从起始时间对应的字幕和音视频开始,播放影音文件之前,判断起始时间对应的音视频帧是否为关键帧;若是,则播放模块执行从起始时间对应的字幕和音视频帧开始,播放影音文件的步骤;

关键帧搜索及解码模块,用于若起始时间对应的音视频帧不是关键帧,则搜索在起始时间之前,距离起始时间对应的音视频帧最近的关键帧,并从最近的关键帧开始解码影音文件的音视频帧,直至解码至起始时间对应的音视频帧时,播放模块执行从起始时间对应的字幕和音视频帧开始,播放影音文件的步骤。

优选地,指令接收模块接收由点击操作、手势操作或者语音操作生成的快进或快退指令。

与背景技术相比,本发明包括以下优点:

接收对当前播放的影音文件的快进或快退指令,快进或快退指令中包括指令时间点的信息,该指令时间点为快进或快退指令发生时的时间。搜索得到对应于快进或快退指令的指令时间点的前一句字幕或后一句字幕的起始时间,从起始时间对应的字幕和音视频帧开始,播放影音文件。快进或快退操作是以快进或快退指令的指令时间点为基准,将当前播放的影音文件快进或快退到指令时间点的前一句字幕或后一句字幕,从前一句字幕和音视频帧或后一句字幕和音视频帧开始播放影音文件,实现了快进或快退操作可以以一句字幕的单位为调整间隔,满足了用户的实际需求,尤其满足了某些具有特殊需求的用户,如通过影音学习外语的用户的实际需求。

附图说明

图1是本发明实施例一中的一种影音文件播放方法的流程图;

图2是本发明实施例二中的一种影音文件播放方法的流程图;

图3是本发明实施例三中的一种影音文件播放方法的流程图;

图4是本发明实施例四中的一种影音文件播放装置的结构图;

图5是本发明实施例五中的一种影音文件播放装置的结构图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

下面通过列举几个具体的实施例详细介绍本发明提供的一种影音文件播放方法和装置。

实施例一

详细介绍本发明实施例提供的一种影音文件播放方法。

参照图1,示出了本发明实施例中一种影音文件播放方法的流程图。

步骤100,接收对当前播放的影音文件的快进或快退指令。

其中,快进或快退指令中包括指令时间点的信息。

快进指令中包括快进指令时间点的信息,快退指令中包括快退指令时间点的信息。指令时间点的信息可以为快进指令或快退指令产生时的时间信息,此时间信息为影音文件播放的时间信息。例如,某影音文件的播放时长为90分钟,在该影音文件播放到10分钟时,接收到对该影音文件的快进指令,则快进指令中的指令时间点的信息可以为该影音文件播放到10分钟。

步骤102,搜索得到对应于快进或快退指令的指令时间点的前一句字幕或后一句字幕的起始时间。

快进指令的目的是将当前播放的影音文件快进到当前播放时刻的后一句字幕,从后一句字幕开始播放当前影音文件。快退指令的目的是将当前播放的影音文件快退到当前播放时刻的前一句字幕,从前一句字幕开始播放当前影音文件。

一句字幕在影音文件的播放过程中,显示的时间是一个时间段,可以是由起始时间和终止时间组成的一个时间段。

在影音文件的播放过程中,例如一部电影的播放过程中,对应于快进或快退指令的指令时间点,可以有字幕显示,也可以没有字幕显示。无论是否有字幕,均可以确定快进或快退指令的指令时间点的前一句字幕或后一句字幕。例如,某影音文件共有3句字幕,按照时间排序依次分别为字幕1、字幕2和字幕3,且两两字幕之间存在一定的时间间隔,即字幕1和字幕2之间存在一定的时间间隔,字幕2和字幕3之间也存在一定的时间间隔。若快进或快退指令的指令时间点处于字幕2的显示时间段当中,则前一句字幕为字幕1,后一句字幕为字幕3;若快进或快退指令的指令时间点处于字幕1和字幕2之间的时间间隔当中,则前一句字幕为字幕1,后一句字幕为字幕2。

步骤104,从起始时间对应的字幕和音视频帧开始,播放影音文件。

若接收到的是快进指令,则在快进指令的指令时间点的后一句字幕的起始时间对应的字幕和音视频帧开始,播放影音文件。

若接收到的是快退指令,则在快退指令的指令时间点的前一句字幕的起始时间对应的字幕和音视频帧开始,播放影音文件。

综上所述,本发明实施例中的技术方案,接收对当前播放的影音文件的快进或快退指令,快进或快退指令中包括指令时间点的信息,该指令时间点为快进或快退指令发生时的时间。搜索得到对应于快进或快退指令的指令时间点的前一句字幕或后一句字幕的起始时间,从起始时间对应的字幕和音视频帧开始,播放影音文件。快进或快退操作是以快进或快退指令的指令时间点为基准,将当前播放的影音文件快进或快退到指令时间点的前一句字幕或后一句字幕,从前一句字幕和音视频帧或后一句字幕和音视频帧开始播放影音文件,实现了快进或快退操作可以以一句字幕的单位为调整间隔,满足了用户的实际需求,尤其满足了某些具有特殊需求的用户,如通过影音学习外语的用户的实际需求。

实施例二

详细介绍本发明实施例提供的一种影音文件播放方法。

参照图2,示出了本发明实施例中一种影音文件播放方法的流程图。

步骤200,接收对当前播放的影音文件的快进或快退指令。

其中,快进或快退指令中可以包括指令时间点的信息。

快进指令中包括快进指令时间点的信息,快退指令中包括快退指令时间点的信息。指令时间点的信息可以为快进指令或快退指令产生时的时间信息,此时间信息为影音文件播放的时间信息。例如,某影音文件的播放时长为90分钟,在该影音文件播放到10分钟时,接收到对该影音文件的快进指令,则快进指令中的指令时间点的信息可以为该影音文件播放到10分钟。

优选地,步骤200可以为:接收由点击操作、手势操作或者语音操作生成的快进或快退指令。

通常,若对播放器正在播放的影音文件下达快进或快退指令,可以利用鼠标点击快进或快退的按钮,或者点击键盘上快进或快退的快捷键,再或者可以通过触摸屏幕的手势操作,或者还可以通过语音操作下达快进或快退指令。

步骤202,搜索得到对应于快进或快退指令的指令时间点的前一句字幕或后一句字幕的起始时间。

快进指令的目的是将当前播放的影音文件快进到当前播放时刻的后一句字幕,从后一句字幕开始播放当前影音文件。快退指令的目的是将当前播放的影音文件快退到当前播放时刻的前一句字幕,从前一句字幕开始播放当前影音文件。

一句字幕在影音文件的播放过程中,显示的时间是一个时间段,可以是由起始时间和终止时间组成的一个时间段。

在影音文件的播放过程中,例如一部电影的播放过程中,对应于快进或快退指令的指令时间点,可以有字幕显示,也可以没有字幕显示。无论是否有字幕,均可以确定快进或快退指令的指令时间点的前一句字幕或后一句字幕。例如,某影音文件共有3句字幕,按照时间排序依次分别为字幕1、字幕2和字幕3,且两两字幕之间存在一定的时间间隔,即字幕1和字幕2之间存在一定的时间间隔,字幕2和字幕3之间也存在一定的时间间隔。若快进或快退指令的指令时间点处于字幕2的显示时间段当中,则前一句字幕为字幕1,后一句字幕为字幕3;若快进或快退指令的指令时间点处于字幕1和字幕2之间的时间间隔当中,则前一句字幕为字幕1,后一句字幕为字幕2。

根据影音文件中字幕的来源的不同,步骤202可以按照如下三种方式执行:

(1)在影音文件的外挂字幕信息中匹配得到指令时间点的前一句字幕或后一句字幕的起始时间。

其中,影音文件的外挂字幕信息为文本文件格式的字幕文件。如扩展名为ass、srt、smi、ssa或sub的字幕文件。

优选地,在影音文件的外挂字幕信息中匹配得到指令时间点的前一句字幕或后一句字幕的起始时间,可以包括:

步骤11,在影音文件的外挂字幕信息的文本文件格式的字幕文件中,判断指令时间点是否位于某一句字幕的时间轴信息的起始时间和终止时间的时间段内;若是,则执行步骤12;若否,则执行步骤13。

步骤12,将该一句字幕确定为当前字幕,获取当前字幕的前一句字幕或后一句字幕的起始时间。

其中,当前字幕的前一句字幕为终止时间在当前字幕的起始时间之前且终止时间距离当前字幕的起始时间最近的字幕。

当前字幕的后一句字幕为起始时间在当前字幕的终止时间之后且起始时间距离当前字幕的终止时间最近的字幕。

例如,快进指令的指令时间点位于影音文件的第10句字幕的起始时间和终止时间的时间段内,则第10句字幕为当前字幕,第11句字幕为后一句字幕,第9句字幕为前一句字幕。

步骤13,对应于快进或快退指令,获取起始时间在指令时间点之后且起始时间距离指令时间点最近的字幕的起始时间,或获取终止时间在指令时间点之前且终止时间距离指令时间点最近的字幕的起始时间。

例如,快进指令的指令时间点位于影音文件的第10句字幕的终止时间和第11句字幕的起始时间之间的时间段内,则第11句字幕为后一句字幕,第10句字幕为前一句字幕。

或者,

(2)在影音文件的内嵌字幕信息中匹配得到指令时间点的前一句字幕或后一句字幕的起始时间。

其中,影音文件的内嵌字幕信息为以单独轨道形式存在于影音文件内的字幕数据。如影音文件可以包含多个单独轨道,其中某个单独轨道标识着该影音文件的字幕数据。

外挂字幕信息和内嵌字幕信息均可以包括时间轴信息和与时间轴信息对应的字幕。时间轴信息可以包括各句字幕的起始时间和终止时间。

优选地,在影音文件的内嵌字幕信息中匹配得到指令时间点的前一句字幕或后一句字幕的起始时间,可以包括:

步骤21,在影音文件的内嵌字幕信息所在的单独轨道内,判断指令时间点是否位于某一句字幕的时间轴信息的起始时间和终止时间的时间段内;若是,则执行步骤22;若否,则执行步骤23。

步骤22,将该一句字幕确定为当前字幕,获取当前字幕的前一句字幕或后一句字幕的起始时间。

其中,当前字幕的前一句字幕为终止时间在当前字幕的起始时间之前且终止时间距离当前字幕的起始时间最近的字幕。

当前字幕的后一句字幕为起始时间在当前字幕的终止时间之后且起始时间距离当前字幕的终止时间最近的字幕。

例如,快进指令的指令时间点位于影音文件的第10句字幕的起始时间和终止时间的时间段内,则第10句字幕为当前字幕,第11句字幕为后一句字幕,第9句字幕为前一句字幕。

步骤23,对应于快进或快退指令,获取起始时间在指令时间点之后且起始时间距离指令时间点最近的字幕的起始时间,或获取终止时间在指令时间点之前且终止时间距离指令时间点最近的字幕的起始时间。

例如,快进指令的指令时间点位于影音文件的第10句字幕的终止时间和第11句字幕的起始时间之间的时间段内,则第11句字幕为后一句字幕,第10句字幕为前一句字幕。

需要说明的是,上述步骤12和步骤22可以相同,上述步骤13和步骤23可以相同。

或者,

(3)根据对影音文件的视频帧中字幕的识别结果,得到指令时间点的前一句字幕或后一句字幕的起始时间。

此种情况下的字幕可以理解为“印刷”在影音文件的视频帧上,与视频帧是一个整体,可以通过文字识别技术识别得到。

优选地,根据对影音文件的视频帧中字幕的识别结果,得到指令时间点的前一句字幕或后一句字幕的起始时间,可以包括:

步骤31,检测得到指令时间点对应的视频帧的前一存在字幕的视频帧或后一存在字幕的视频帧。

其中,前一存在字幕的视频帧或后一存在字幕的视频帧与指令时间点对应的视频帧之间存在至少一帧无字幕的视频帧。

例如,指令时间点对应的视频帧为第100帧,前一存在字幕的视频帧应该为第98帧(第99帧为无字幕的视频帧)或第98帧之前的视频帧(第98帧或第99帧中至少有一帧是无字幕的视频帧)。

优选地,步骤31可以包括:

步骤311,对指令时间点对应的视频帧进行图片识别,根据图片识别的结果判断视频帧中是否存在文字;若存在,则执行步骤312;若不存在,则执行步骤313。

其中,对视频帧进行图片识别的技术手段可以采用现有的图片识别或文字识别的技术手段,本发明实施例对图片识别或文字识别的具体执行过程不作限制。

步骤312,根据快进或快退指令,继续对指令时间点之后或之前的视频帧进行图片识别,直至识别出不存在文字的视频帧;继续根据快进或快退指令,对不存在文字的视频帧之后或之前的视频帧进行图片识别,直至再次识别出存在文字的视频帧;将再次识别出的存在文字的视频帧作为指令时间点对应的视频帧的前一存在字幕的视频帧或后一存在字幕的视频帧。

例如,以快进指令为例,若步骤311中判断出指令时间点对应的视频帧(第100帧)中存在文字,则继续对之后的视频帧(第101帧)进行图片识别,若第101帧也存在文字,则继续对第102帧进行图片识别,若第102帧无文字,则对第102帧之后的视频帧(第103帧)进行图片识别,若第103帧有文字,则第103帧为指令时间点对应的视频帧(第100帧)的后一存在字幕的视频帧。

步骤313,根据快进或快退指令,对不存在文字的视频帧之后或之前的视频帧进行图片识别,直至再次识别出存在文字的视频帧;将再次识别出的存在文字的视频帧作为指令时间点对应的视频帧的前一存在字幕的视频帧或后一存在字幕的视频帧。

上述步骤313可以理解为上述步骤312中的部分执行过程,可以参见上述关于步骤312中的介绍,在此不再赘述。

步骤32,获取前一存在字幕的视频帧或后一存在字幕的视频帧中字幕的起始时间。

优选地,按照快进指令和快退指令的不同,步骤32可以分为以下两种执行过程:

1)根据快进指令,将再次识别出存在文字的视频帧对应的时间点作为后一存在字幕的视频帧的起始时间。

或者,

2)根据快退指令,继续对识别出的存在文字的视频帧对应的时间点之前的视频帧进行图片识别,直至再次识别出不存在文字的视频帧,将在再次识别出的不存在文字的视频帧对应的时间点之后的最近一帧视频帧对应的时间点作为前一存在字幕的视频帧的起始时间。

例如,若指令时间点对应的视频帧为第51帧,经图片识别该帧中不存在文字;对第51帧之前的第50帧进行图片识别,识别出该帧中存在文字;对识别出的存在文字的第50帧对应的时间点之前的第49帧进行图片识别,若第49帧存在文字,则对第48帧进行图片识别,若第48帧不存在文字,则将第48帧对应的时间点之后的最近一帧视频帧即第49帧对应的时间点作为指令时间点对应的第51帧的前一存在字幕的视频帧的起始时间。

步骤204,判断起始时间对应的音视频帧是否为关键帧;若是,则执行步骤206;若否,则执行步骤208。

其中,音视频帧的设置可以采用常规设置。以视频帧为例,关键帧可以是角色或者物体运动或变化中的关键动作所处的那一帧,也可以是本领域技术人员根据需求每隔设定间隔设定关键帧,如每间隔10帧设定一个关键帧等,本发明对此不作限制。

步骤206,从起始时间对应的字幕和音视频帧开始,播放影音文件。

若接收到的是快进指令,则在快进指令的指令时间点的后一句字幕的起始时间对应的字幕和音视频帧开始,播放影音文件。

若接收到的是快退指令,则在快退指令的指令时间点的前一句字幕的起始时间对应的字幕和音视频帧开始,播放影音文件。

步骤208,搜索在起始时间之前,距离起始时间对应的音视频帧最近的关键帧,并从最近的关键帧开始解码影音文件的音视频帧,直至解码至起始时间对应的音视频帧时,从起始时间对应的字幕和音视频帧开始,播放影音文件。

例如,若起始时间对应的音视频帧(第50帧)不是关键帧,距离第50帧最近的关键帧为第40帧,则从第40帧开始解码影音文件的音视频帧,但不显示影音文件,直至解码至第50帧,从第50帧开始播放影音文件。

在影音文件中,字幕通常与音视频一同播放,而影音文件中的音视频通常为经过编码的数字信号格式,需要对编码后的影音文件中的音视频进行解码,经过解码后与字幕一起播放。

需要说明的是,本发明实施例中的技术方案,在接收到快进或快退指令时,还可以根据实际情况生成并显示提示信息。

若指令时间点小于等于外挂字幕信息或内嵌字幕信息中第一句字幕的终止时间,或指令时间点之前的全部视频帧中均无字幕,则生成并显示禁止快退的提示信息。

例如,指令时间点为00:05:00,100,外挂字幕或内嵌字幕中第一句字幕的终止时间为00:08:00,100,则生成并显示禁止快退的提示信息。

若指令时间点大于等于外挂字幕信息或内嵌字幕信息中最后一句字幕的起始时间,或指令时间点之后的全部视频帧中均无字幕,则生成并显示禁止快进的提示信息。

例如,指令时间点为01:29:00,100,外挂字幕或内嵌字幕中最后一句字幕的起始时间为01:27:00,100,则生成并显示禁止快进的提示信息。

综上所述,本发明实施例中的技术方案,接收对当前播放的影音文件的快进或快退指令,快进或快退指令中包括指令时间点的信息,该指令时间点为快进或快退指令发生时的时间。搜索得到对应于快进或快退指令的指令时间点的前一句字幕或后一句字幕的起始时间,从起始时间对应的字幕和音视频帧开始,播放影音文件。快进或快退操作是以快进或快退指令的指令时间点为基准,将当前播放的影音文件快进或快退到指令时间点的前一句字幕或后一句字幕,从前一句字幕和音视频帧或后一句字幕和音视频帧开始播放影音文件,实现了快进或快退操作可以以一句字幕的单位为调整间隔,满足了用户的实际需求,尤其满足了某些具有特殊需求的用户,如通过影音学习外语的用户的实际需求。

实施例三

详细介绍本发明实施例提供的一种影音文件播放方法。

参照图3,示出了本发明实施例中一种影音文件播放方法的流程图。

步骤300,接收快进/快退指令。

用户通过播放器的操作界面请求快进一句/快退一句,比如通过点击按钮,或者用手势操作生成快进或快退指令,影音播放工具如影音播放器接收该快进或快退指令。

步骤302,读取字幕信息。

播放器在播放的时候,会读取字幕信息,在请求快进或快退的当前时间点存在字幕的情况下会记录当前时间的字幕信息。

步骤304,找到最近的一句字幕。

播放器收到快进/快退的指令之后,以快退一句字幕为例子,根据当前播放的时间点,在字幕里往前找最近的一句字幕的起始时间。

如果当前时间点之前已经没有字幕了,则提示用户当前播放的已经是第一句字幕,不能快退。

如果当前时间点之后已经没有字幕了,则提示用户当前播放的已经是最后一句字幕,不能快进。

步骤306,完成快进/快退。

如果当前时间点的音视频帧不是关键帧,则往前再搜索到距离当前时间点的音视频帧的第一个关键帧,也就是距离当前时间点的音视频帧的最近的关键帧,对这个最近的关键帧进行解码但不显示,直到解码出当前时间点的音视频帧,开始显示播放。

综上所述,本发明实施例中的技术方案,接收对当前播放的影音文件的快进或快退指令,快进或快退指令中包括指令时间点的信息,该指令时间点为快进或快退指令发生时的时间。搜索得到对应于快进或快退指令的指令时间点的前一句字幕或后一句字幕的起始时间,从起始时间对应的字幕和音视频帧开始,播放影音文件。快进或快退操作是以快进或快退指令的指令时间点为基准,将当前播放的影音文件快进或快退到指令时间点的前一句字幕或后一句字幕,从前一句字幕和音视频帧或后一句字幕和音视频帧开始播放影音文件,实现了快进或快退操作可以以一句字幕的单位为调整间隔,满足了用户的实际需求,尤其满足了某些具有特殊需求的用户,如通过影音学习外语的用户的实际需求。

实施例四

详细介绍本发明实施例提供的一种影音文件播放装置。

参照图4,示出了本发明实施例中一种影音文件播放装置的结构图。

本发明实施例中的装置可以包括:指令接收模块400,起始时间搜索模块402,播放模块404。

下面分别详细介绍各模块的功能以及各模块之间的关系。

指令接收模块400,用于接收对当前播放的影音文件的快进或快退指令。其中,快进或快退指令中包括指令时间点的信息。

起始时间搜索模块402,用于搜索得到对应于快进或快退指令的指令时间点的前一句字幕或后一句字幕的起始时间。

播放模块404,用于从起始时间对应的字幕和音视频帧开始,播放影音文件。

综上所述,本发明实施例中的技术方案,接收对当前播放的影音文件的快进或快退指令,快进或快退指令中包括指令时间点的信息,该指令时间点为快进或快退指令发生时的时间。搜索得到对应于快进或快退指令的指令时间点的前一句字幕或后一句字幕的起始时间,从起始时间对应的字幕和音视频帧开始,播放影音文件。快进或快退操作是以快进或快退指令的指令时间点为基准,将当前播放的影音文件快进或快退到指令时间点的前一句字幕或后一句字幕,从前一句字幕和音视频帧或后一句字幕和音视频帧开始播放影音文件,实现了快进或快退操作可以以一句字幕的单位为调整间隔,满足了用户的实际需求,尤其满足了某些具有特殊需求的用户,如通过影音学习外语的用户的实际需求。

实施例五

详细介绍本发明实施例提供的一种影音文件播放装置。

参照图5,示出了本发明实施例中一种影音文件播放装置的结构图。

本发明实施例中的装置可以包括:指令接收模块500,起始时间搜索模块502,关键帧判断模块504,关键帧搜索及解码模块506,播放模块508,禁止快退模块510,禁止快进模块512。

其中,起始时间搜索模块502可以包括:时间判断子模块5021,第一时间获取子模块5022,第二时间获取子模块5023,第三时间获取子模块5024。

其中,第三时间获取子模块5024可以包括:识别判断子单元50241,继续识别子单元50242,视频帧确定子单元50243,起始时间确定子单元50244。

下面分别详细介绍各模块、各自模块、各自单元的功能以及各模块、各自模块、各自单元之间的关系。

指令接收模块500,用于接收对当前播放的影音文件的快进或快退指令。其中,快进或快退指令中包括指令时间点的信息。

优选地,指令接收模块500可以接收由点击操作、手势操作或者语音操作生成的快进或快退指令。

起始时间搜索模块502,用于搜索得到对应于快进或快退指令的指令时间点的前一句字幕或后一句字幕的起始时间。

优选地,起始时间搜索模块502在影音文件的外挂字幕信息或内嵌字幕信息中匹配得到指令时间点的前一句字幕或后一句字幕的起始时间;或,

起始时间搜索模块502根据对影音文件的视频帧中字幕的识别结果,得到指令时间点的前一句字幕或后一句字幕的起始时间。

其中,影音文件的外挂字幕信息为文本文件格式的字幕文件;影音文件的内嵌字幕信息为以单独轨道形式存在于影音文件内的字幕数据;外挂字幕信息和内嵌字幕信息均包括时间轴信息和与时间轴信息对应的字幕;时间轴信息包括各句字幕的起始时间和终止时间。

优选地,起始时间搜索模块502,包括:

时间判断子模块5021,用于在影音文件的外挂字幕信息的文本文件格式的字幕文件中或内嵌字幕信息所在的单独轨道内,判断指令时间点是否位于某一句字幕的时间轴信息的起始时间和终止时间的时间段内。

第一时间获取子模块5022,用于若指令时间点位于某一句字幕的时间轴信息的起始时间和终止时间的时间段内,则将该一句字幕确定为当前字幕,获取当前字幕的前一句字幕或后一句字幕的起始时间;其中,当前字幕的前一句字幕为终止时间在当前字幕的起始时间之前且终止时间距离当前字幕的起始时间最近的字幕;当前字幕的后一句字幕为起始时间在当前字幕的终止时间之后且起始时间距离当前字幕的终止时间最近的字幕。

第二时间获取子模块5023,用于若指令时间点不位于某一句字幕的时间轴信息的起始时间和终止时间的时间段内,则对应于快进或快退指令,获取起始时间在指令时间点之后且起始时间距离指令时间点最近的字幕的起始时间,或获取终止时间在指令时间点之前且终止时间距离指令时间点最近的字幕的起始时间。

第三时间获取子模块5024,用于检测得到指令时间点对应的视频帧的前一存在字幕的视频帧或后一存在字幕的视频帧,获取前一存在字幕的视频帧或后一存在字幕的视频帧中字幕的起始时间。

其中,前一存在字幕的视频帧或后一存在字幕的视频帧与指令时间点对应的视频帧之间存在至少一帧无字幕的视频帧。

优选地,第三时间获取子模块5024,包括:

识别判断子单元50241,用于对指令时间点对应的视频帧进行图片识别,根据图片识别的结果判断视频帧中是否存在文字。

继续识别子单元50242,用于若视频帧中存在文字,则根据快进或快退指令,继续对指令时间点之后或之前的视频帧进行图片识别,直至识别出不存在文字的视频帧;继续根据快进或快退指令,对不存在文字的视频帧之后或之前的视频帧进行图片识别,直至再次识别出存在文字的视频帧。

视频帧确定子单元50243,用于将再次识别出的存在文字的视频帧作为指令时间点对应的视频帧的前一存在字幕的视频帧或后一存在字幕的视频帧。

起始时间确定子单元50244,用于根据快进指令,将再次识别出存在文字的视频帧对应的时间点作为后一存在字幕的视频帧的起始时间;或者,根据快退指令,继续对识别出的存在文字的视频帧对应的时间点之前的视频帧进行图片识别,直至再次识别出不存在文字的视频帧,将在再次识别出的不存在文字的视频帧对应的时间点之后的最近一帧视频帧对应的时间点作为前一存在字幕的视频帧的起始时间。

关键帧判断模块504,用于在播放模块508从起始时间对应的字幕和音视频开始,播放影音文件之前,判断起始时间对应的音视频帧是否为关键帧;若是,则播放模块执行从起始时间对应的字幕和音视频帧开始,播放影音文件的步骤。

关键帧搜索及解码模块506,用于若起始时间对应的音视频帧不是关键帧,则搜索在起始时间之前,距离起始时间对应的音视频帧最近的关键帧,并从最近的关键帧开始解码影音文件的音视频帧,直至解码至起始时间对应的音视频帧时,播放模块执行从起始时间对应的字幕和音视频帧开始,播放影音文件的步骤。

播放模块508,用于从起始时间对应的字幕和音视频帧开始,播放影音文件。

禁止快退模块510,用于若指令时间点小于等于外挂字幕信息或内嵌字幕信息中第一句字幕的终止时间,或指令时间点之前的全部视频帧中均无字幕,则生成并显示禁止快退的提示信息。

禁止快进模块512,用于若指令时间点大于等于外挂字幕信息或内嵌字幕信息中最后一句字幕的起始时间,或指令时间点之后的全部视频帧中均无字幕,则生成并显示禁止快进的提示信息。

综上所述,本发明实施例中的技术方案,接收对当前播放的影音文件的快进或快退指令,快进或快退指令中包括指令时间点的信息,该指令时间点为快进或快退指令发生时的时间。搜索得到对应于快进或快退指令的指令时间点的前一句字幕或后一句字幕的起始时间,从起始时间对应的字幕和音视频帧开始,播放影音文件。快进或快退操作是以快进或快退指令的指令时间点为基准,将当前播放的影音文件快进或快退到指令时间点的前一句字幕或后一句字幕,从前一句字幕和音视频帧或后一句字幕和音视频帧开始播放影音文件,实现了快进或快退操作可以以一句字幕的单位为调整间隔,满足了用户的实际需求,尤其满足了某些具有特殊需求的用户,如通过影音学习外语的用户的实际需求。

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

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

以上对本发明实施例所提供的一种影音文件播放方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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