掌桥专利:专业的专利平台
掌桥专利
首页

一种视频文件字幕解析显示方法

文献发布时间:2023-06-19 11:54:11


一种视频文件字幕解析显示方法

技术领域

本发明涉及计算机技术领域,特别指一种视频文件字幕解析显示方法。

背景技术

随着互联网的快速发展,视频资源呈现爆炸式的增长,如今的网络可以观看各国的视频资源。不同国别的视频资源所采用的语言不尽相同,为了看到视频资源里的内容,在视频资源播放时显示字幕就显得尤为重要,直接关系到视频资源能否正常欣赏。

主流的字幕涉及内封字幕、srt格式外挂字幕、idx/sub格式外挂字幕、microdvd格式外挂字幕等,市面上各类基于Android系统的视频播放器软件虽然都支持字幕功能,但支持的不够全面,只支持其中几种字幕或者一种字幕,并且在字幕切换时还会出现一些显示问题导致切换失败。

因此,如何提供一种视频文件字幕解析显示方法,实现提升字幕显示的兼容性,并支持不同格式字幕间流畅的切换,成为一个亟待解决的问题。

发明内容

本发明要解决的技术问题,在于提供一种视频文件字幕解析显示方法,实现提升字幕显示的兼容性,并支持不同格式字幕间流畅的切换。

本发明是这样实现的:一种视频文件字幕解析显示方法,包括如下步骤:

步骤S10、终端接收待播放的视频文件,并基于接收的字幕启用指令开启字幕显示功能;

步骤S20、检测所述视频文件的内封字幕以及不同格式的外挂字幕,并对各所述内封字幕以及外挂字幕进行初始化得到字幕数据,并设定所述字幕数据的字幕属性;

步骤S30、将各所述字幕数据发送给终端的播放器;

步骤S40、播放器基于所述字幕属性对字幕数据进行字幕类型切换和显示。

进一步地,所述步骤S20具体包括:

步骤S21、通过所述视频文件的字幕流检测视频文件里携带的内封字幕,通过所述视频文件的文件名检测相同路径下的外挂字幕;所述外挂字幕的格式为srt、idx/sub或者microdvd;

步骤S22、对所述内封字幕、srt格式的外挂字幕、idx/sub格式的外挂字幕、microdvd格式的外挂字幕进行解析得到字幕数据,设定各所述字幕数据的字幕属性,并将携带所述字幕属性的字幕数据存储至字幕队列中。

进一步地,所述步骤S22中,所述对所述内封字幕进行解析得到字幕数据具体包括:

步骤S2211、通过read_stream线程读取所述内封字幕携带的字幕数据包;

步骤S2212、通过FFMPEG解码所述字幕数据包得到字幕数据。

进一步地,所述步骤S22中,所述对所述srt格式的外挂字幕进行解析得到字幕数据具体包括:

步骤S2221、根据文件名打开srt格式的外挂字幕;

步骤S2222、逐行依次解析所述srt格式的外挂字幕的文本内容得到字幕数据。

进一步地,所述步骤S22中,所述对所述idx/sub格式的外挂字幕进行解析得到字幕数据具体包括:

步骤S2231、根据文件名打开idx文件和sub文件;

步骤S2232、解析所述idx文件得到每条文本内容对应的时间信息和在sub文件中的位置;

步骤S2233、基于所述位置从sub文件中读取对应的数据,并转存为RGBA数组,即字幕数据。

进一步地,所述步骤S22中,所述对所述microdvd格式的外挂字幕进行解析得到字幕数据具体包括:

步骤S2241、根据文件名打开microdvd格式的外挂字幕;

步骤S2242、逐行依次解析所述microdvd格式的外挂字幕的文本内容得到字幕数据。

进一步地,所述步骤S20中,所述字幕属性包括字幕总字数、字幕切换标签、每行字幕对应的显示时间、每行字幕对应的字幕序号、字幕类型;

所述字幕切换标签为内封字幕切外挂字幕、外挂字幕切内封字幕、维持内封字幕或者维持外挂字幕;所述字幕类型为内封字幕或者外挂字幕。

进一步地,所述步骤S30具体为:

将字幕队列中存储的各所述字幕数据基于显示时间,通过socket发送给终端的播放器。

进一步地,所述步骤S40具体包括:

步骤S41、播放器基于所述字幕属性里的显示时间以及字幕序号对各行字幕数据进行排序;

步骤S42、播放器读取所述字幕属性里的字幕切换标签,若为内封字幕切外挂字幕,则释放字幕类型为内封字幕的字幕数据,显示字幕类型为外挂字幕的字幕数据;若为外挂字幕切内封字幕,则对字幕类型为内封字幕的字幕数据进行初始化并显示;若为维持内封字幕,则释放字幕类型为外挂字幕的字幕数据,显示字幕类型为内封字幕的字幕数据;若为维持外挂字幕,则直接显示字幕类型为外挂字幕的字幕数据。

本发明的优点在于:

通过检测视频文件的内封字幕以及srt、idx/sub、microdvd格式的外挂字幕,对各内封字幕和外挂字幕进行初始化得到字幕数据,并设定各字幕数据包括字幕总字数、字幕切换标签、每行字幕对应的显示时间、每行字幕对应的字幕序号、字幕类型的字幕属性,播放器即可基于字幕属性对接收的字幕数据进行字幕类型切换和显示;即实现在内封字幕以及srt、idx/sub、microdvd格式的外挂字幕间灵活的切换显示,由于通过字幕切换标签实现定义的切换属性,极大的提升了不同格式字幕间切换的流畅性,最终极大的提升了字幕显示的兼容性,并支持不同格式字幕间流畅的切换。

附图说明

下面参照附图结合实施例对本发明作进一步的说明。

图1是本发明一种视频文件字幕解析显示方法的流程图。

具体实施方式

本申请实施例中的技术方案,总体思路如下:同时检测并初始化视频文件的内封字幕以及srt、idx/sub、microdvd格式的外挂字幕,对初始化得到的字幕数据字幕属性,进而播放器基于字幕属性对接收的字幕数据进行字幕类型切换和显示,以实现提升字幕显示的兼容性,并支持不同格式字幕间流畅的切换。

请参照图1所示,本发明一种视频文件字幕解析显示方法的较佳实施例,包括如下步骤:

步骤S10、终端接收待播放的视频文件,并基于接收的字幕启用指令开启字幕显示功能;

步骤S20、检测所述视频文件的内封字幕以及不同格式的外挂字幕,并对各所述内封字幕以及外挂字幕进行初始化得到字幕数据,并设定所述字幕数据的字幕属性;所述内封字幕即视频文件自带的字幕,所述外挂字幕即需要另外加载到播放器进行显示;

步骤S30、将字幕队列中存储的各所述字幕数据基于显示时间,通过socket发送给终端的播放器;发送前需要先初始化socket(套接字)连接;

步骤S40、播放器基于所述字幕属性对字幕数据进行字幕类型实时切换和显示。例如从所述内封字幕切换至srt格式的外挂字幕,从srt格式的所述外挂字幕切换至microdvd格式的外挂字幕等。

所述步骤S20具体包括:

步骤S21、通过所述视频文件的字幕流检测视频文件里携带的内封字幕,通过所述视频文件的文件名检测相同路径下的外挂字幕;所述外挂字幕的格式为srt、idx/sub或者microdvd;所述外挂字母与视频文件拥有相同的文件名;

若检测到所述内封字幕,则默认显示第一条所述内封字幕的字幕流;若未检测到所述内封字幕,则跳过所述内封字幕的相关流程;

步骤S22、对所述内封字幕、srt格式的外挂字幕、idx/sub格式的外挂字幕、microdvd格式的外挂字幕进行解析得到字幕数据,设定各所述字幕数据的字幕属性,并将携带所述字幕属性的字幕数据存储至字幕队列中。

所述步骤S22中,所述对所述内封字幕进行解析得到字幕数据具体包括:

步骤S2211、通过read_stream线程读取所述内封字幕携带的字幕数据包;

步骤S2212、通过FFMPEG解码所述字幕数据包得到字幕数据。

所述步骤S22中,所述对所述srt格式的外挂字幕进行解析得到字幕数据具体包括:

步骤S2221、根据文件名打开srt格式的外挂字幕;

步骤S2222、逐行依次解析所述srt格式的外挂字幕的文本内容得到字幕数据。

所述步骤S22中,所述对所述idx/sub格式的外挂字幕进行解析得到字幕数据具体包括:

步骤S2231、根据文件名打开idx文件和sub文件;

步骤S2232、解析所述idx文件得到每条文本内容对应的时间信息和在sub文件中的位置;

步骤S2233、基于所述位置从sub文件中读取对应的数据,并转存为RGBA数组,即字幕数据。

所述步骤S22中,所述对所述microdvd格式的外挂字幕进行解析得到字幕数据具体包括:

步骤S2241、根据文件名打开microdvd格式的外挂字幕;

步骤S2242、逐行依次解析所述microdvd格式的外挂字幕的文本内容得到字幕数据。

所述步骤S20中,所述字幕属性包括字幕总字数、字幕切换标签、每行字幕对应的显示时间、每行字幕对应的字幕序号、字幕类型;

所述字幕切换标签为内封字幕切外挂字幕、外挂字幕切内封字幕、维持内封字幕或者维持外挂字幕;所述字幕类型为内封字幕或者外挂字幕。

所述步骤S40具体包括:

步骤S41、播放器基于所述字幕属性里的显示时间以及字幕序号对各行字幕数据进行排序;

步骤S42、播放器读取所述字幕属性里的字幕切换标签,若为内封字幕切外挂字幕,则释放字幕类型为内封字幕的字幕数据,实时显示字幕类型为外挂字幕的字幕数据;若为外挂字幕切内封字幕,则对字幕类型为内封字幕的字幕数据进行初始化并实时显示;若为维持内封字幕,则释放字幕类型为外挂字幕的字幕数据,实时显示字幕类型为内封字幕的字幕数据;若为维持外挂字幕,则直接显示字幕类型为外挂字幕的字幕数据。

综上所述,本发明的优点在于:

通过检测视频文件的内封字幕以及srt、idx/sub、microdvd格式的外挂字幕,对各内封字幕和外挂字幕进行初始化得到字幕数据,并设定各字幕数据包括字幕总字数、字幕切换标签、每行字幕对应的显示时间、每行字幕对应的字幕序号、字幕类型的字幕属性,播放器即可基于字幕属性对接收的字幕数据进行字幕类型切换和显示;即实现在内封字幕以及srt、idx/sub、microdvd格式的外挂字幕间灵活的切换显示,由于通过字幕切换标签实现定义的切换属性,极大的提升了不同格式字幕间切换的流畅性,最终极大的提升了字幕显示的兼容性,并支持不同格式字幕间流畅的切换。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

相关技术
  • 一种视频文件字幕解析显示方法
  • 影片字幕处理装置与方法,以及解析影片字幕的方法
技术分类

06120113096160