`
半人马
  • 浏览: 23086 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

小练习一则:将.srt格式的视频字幕文件中字幕向前或向后推移一段时间

阅读更多
.srt字幕格式如下:
1
00:00:48,860 --> 00:00:51,400
站好,你不喜欢你的工作吗?

2
00:01:00,160 --> 00:01:01,540
食物

3
00:01:06,090 --> 00:01:08,090
你要去哪里?

.......

ruby代码如下:
ruby 代码
 
  1. # param: time_str : string with "00:01:08,123" like format  
  2. # param: offset : int, seconds to shift ahead  
  3. def offset(time_str, offset)  
  4.   new_time = Time.parse(time_str) - offset  
  5.   format("%02d:%02d:%02d,%03d", new_time.hour, new_time.min, new_time.sec, new_time.usec/1000)  
  6. end  
  7.   
  8. def convert(src_file_path, dst_file_path, offset)  
  9.   open(dst_file_path, "w"do |dst_file|  
  10.     open(src_file_path, "r").each_line do |line|  
  11.       if line.include?(" --> ")  
  12.         new_line = line.split(" --> ").collect{ |time_str| offset(time_str, offset)}.join(" --> ")  
  13.         dst_file.puts new_line  
  14.         puts "line #{line} converted to #{new_line}"  
  15.       else  
  16.         dst_file.puts line  
  17.       end  
  18.     end  
  19.   end  
  20. end  
  21.   
  22. convert "c:\\src.srt""c:\\dst.srt", 90  
分享到:
评论

相关推荐

    python3.x 批量将Coursera字幕格式.vtt转换为.srt格式

    因此,为了方便在其他平台上使用或编辑这些字幕,我们需要将.vtt格式转换为.srt格式。 首先,我们需要理解这两种字幕格式的基本结构。WebVTT(Web Video Text Tracks)是一种基于文本的时间编码格式,常用于HTML5...

    视频字幕srt文件合二为一(合成后格式为mkv)封装软件mkvtoolnix

    MKVToolNix是一款强大的、免费的开源工具,专门用于进行这种“字幕封装”操作,尤其适用于将SRT字幕文件与视频文件合成为MKV格式的文件。本文将详细介绍如何利用MKVToolNix来实现这个过程,并探讨相关知识点。 首先...

    批量修改字幕文件时间小工具

    标题 "批量修改字幕文件时间小工具" 是一个专门针对字幕文件的处理软件,它主要功能在于能够方便用户一次性调整多个字幕文件中的时间信息。在观看电影或电视剧时,有时字幕与画面同步出现问题,这个工具就能帮助解决...

    srt 字幕 延时 调整

    例如,如果你希望整体向前或向后移动字幕时间,可以使用以下命令: ```bash ffmpeg -i input.mp4 -vf "setpts=PTS+1/TB" -c:a copy -c:s srt -map 0 output.srt ``` 这里的`1/TB`表示增加1秒的延迟。你可以根据...

    TXT 转 SRT 字幕

    相比之下,SRT(SubRip Subtitle)是一种带有时间轴信息的字幕格式,它能够精确地控制字幕在视频中的显示时间,因此在视频制作和分享中更为常用。 转换过程通常包括以下步骤: 1. **准备TXT文件**:首先,你需要一...

    C#处理字幕文件(srt和Lrc格式)并根据时间进行剪辑

    C#处理字幕文件(srt和Lrc格式)并根据时间进行剪辑,可以从srt文件和lrc文件中解析出里面每一段的字幕形成集合。并且可以根据一个所给的开始时间和结束时间来或者一个处于两者之间字幕的集合。这个工具类只支持最长...

    ASS、SRT字幕格式定义(标准文档)

    本文将深入探讨两种广泛使用的字幕格式——ASS(Advanced SubStation Alpha)和SRT(SubRip Text),并根据提供的“ASS、SRT字幕格式定义(标准文档)”进行详细说明。 SRT格式是最简单的字幕格式之一,主要用于...

    srt字幕切割工具,用来分割电影字幕

    在描述中提到,通常在网上找到的SRT字幕可能覆盖了整个电影或电视剧集,但有时我们可能需要将它们分割成更小的部分,比如为了制作个性化的剪辑,或是为特定场景添加字幕。在这种情况下,一款小巧且易于操作的SRT字幕...

    javacv加载字幕文件并合成视频

    需要注意的是,在实际使用中,字幕文件的格式可能不同,例如可以是SRT格式、ASS格式或者其他格式。需要根据实际情况选择对应的FFmpegFrameGrabber类来加载字幕文件。同时,在合并字幕和视频时,需要根据字幕文件中的...

    SRT 字幕整体时间调整工具

    4. 输出调整后的字幕:最后,软件将生成一个新的SRT文件,其中包含了时间调整后的字幕数据。这个新文件可以直接用于视频播放器,确保字幕与视频同步。 在处理多语言字幕或者需要进行字幕翻译的工作时,SRT字幕整体...

    MKV提取srt字幕

    MKV是一种常见的多媒体容器格式,它能够容纳多种音视频流以及字幕轨道。在处理MKV文件时,有时我们需要单独提取其中的SRT字幕文件,以便于编辑、转换或在不支持内嵌字幕的设备上播放。"MKV提取srt字幕"这个主题就是...

    用SubRip将sub字幕转成srt格式的方法.docx

    标题和描述中提到的方法是关于如何使用SubRip软件将.sub字幕文件转换为.srt格式,这是一个常见的字幕处理过程,特别是在处理DVD影片字幕时。SubRip是一款强大的字幕提取工具,它能够从DVD中抓取字幕并自动生成带有...

    3D电视SRT字幕格式转换(2D转3D).

    转换工具如“3DTV_SRT.EXE”便是为此设计的,它可以解析SRT文件,然后将其转换为3D格式,如左右分屏(Side-by-Side)或上下分屏(Top-Bottom)。 左右分屏格式是将左右眼的画面并排放置在同一帧内,一般用于全高清...

    B站Json字幕转换为Srt字幕源码

    这个项目是关于将B站的Json字幕转换为Srt格式的源码实现,这有助于用户在不支持Json字幕的环境下观看视频或进行字幕编辑。 Json(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时...

    Python将某一目录下.vtt字幕文件转化为.srt字幕文件

    使用Python将某一目录下的.vtt文件转换为.srt文件

    subtitle_shifter:将 .srt 文件中的字幕移动给定的秒数

    Subtitle Shifter 是一个基于 Ruby 的工具,专门设计用于调整 .srt 字幕文件中的时间轴。这个工具的主要功能是将字幕的起始和结束时间按照用户指定的秒数进行移动,这对于处理视频同步问题或者调整字幕与音频对齐的...

    iOS视频以及配套srt字幕文件

    虽然Apple的内置视频播放器(如QuickTime Player或Video.app)不直接支持加载SRT文件,但可以通过一些技巧或第三方工具将字幕文件与视频文件合并,形成一个包含内嵌字幕的多媒体文件,这样就可以在任何播放器中播放...

    字幕文件黑暗骑士的

    SRT(SubRip Subtitle)是常用的字幕文件格式之一,主要用于视频字幕的制作和分享。这种文件包含了时间轴信息和对应的文本内容,通常由一系列编号的字幕条目组成,每个条目包含开始和结束时间以及相应的字幕文本。...

    srt字幕分析器代码-Java版简易版

    【标题】"srt字幕分析器代码-Java版简易版"揭示了这是一...这个项目为学习Java编程和理解SRT字幕格式提供了一个实用的实践平台,有助于提升对文本解析和文件操作的理解,同时也展示了如何将理论知识应用到实际项目中。

    android 外挂字幕,目前仅支持SRT格式

    而Srt.java可能是一个表示SRT字幕数据结构的类,用于存储时间轴和对应的文本内容。 集成这两个类的方法应该已经在类的注释或者示例代码中详细说明,这通常包括如何实例化对象,加载字幕文件,以及在播放视频时适时...

Global site tag (gtag.js) - Google Analytics