修改Srt字幕档案的字幕显示时间

Home Home
引用 | 编辑 PeterPan
2005-05-03 13:47
楼主
推文 x1
===================↑执行范例↑====================
A‧将执行档与字幕档搬到同一目录,执行ChangeSrtTime.exe
B‧输入字幕档案名称与修改的毫秒数
C‧成功变出修改好的字幕档


==========↓前言﹝碎碎念﹞↓===========
昨晚抓了一些电影以及字幕档,准备考试完毕以后犒赏自己,但是有些字幕显示时间与影片时间不合,又懒的每次都要去DirectVobSub设定偏差时间,于是开始在茫茫网海中搜寻能修改 .srt 字幕时间的程式,但是找了半小时都找不到...﹝这家伙搜寻功力果然够差﹞,一怒之下就花了三个小时半写出这只程式﹝这家伙只顾着写 Web Application,基本的小程式居然都忘记怎么写了!﹞

============↓程式原理↓=============
.srt 档案的规则很简单,以下撷取部份内容说明
3
00:00:29,891 --> 00:00:33,504
∮噢,我来自一个遥远的国度

4
00:00:33,572 --> 00:00:36,834
∮一个沙漠骆驼队徜徉的地方

5
00:00:36,901 --> 00:00:40,415
∮那里平坦宽阔、广袤无边、酷热难耐
由此可知,每段字幕就是编号、显示时间的范围、字幕内容 这三个部分。而时间这行有字串 " --> ",所以程式只要在读取每行资料的时候,判断这行资料是否有 " --> " 这个字串,如果有,就修改这行 String,如果没有,就直接 write 啰。

时间这行 String 的格式很固定↓
小时:分钟:秒数,毫秒 --> 小时:分钟:秒数,毫秒

我的做法是将两个时间通通换算成毫秒数,再增减希望增减的毫秒数,然后传入 Date 的 constructor,再传入 SimpleDateFormat 来设定格式,然后再输出。

=============↓程式码↓=============/**
  .srt 字幕档的字幕显示时间修改程式
  written by PeterPan 【peterpan_pp.tw@yahoo.com.tw】
  2005/05/02
**/
import java.io.*;
import java.util.Date;
import java.text.SimpleDateFormat;

public class ChangeSrtTime{

public ChangeSrtTime(){
}

public void changeTime(Strin ..

访客只能看到部份内容,免费 加入会员



献花 x6
引用 | 编辑 mannon
2007-06-07 21:33
1楼
  
真是个方便又精简的程式!
非常实用! 表情

献花 x0
引用 | 编辑 skywalker509
2007-11-30 23:49
2楼
  
往前移的功能有写错喔
往后移正常

献花 x0
引用 | 编辑 a413012
2008-08-30 20:02
3楼
  
看起来很复杂的感觉
有没有比较方便一点的

献花 x0
引用 | 编辑 ost
2008-08-31 00:04
4楼
  
看说明好像使用起来很方便耶

不知有没有比DirectVobSub好用

来试试看好了

感谢分享

献花 x0
引用 | 编辑 luvqaf
2009-02-01 21:41
5楼
  
他不能全部改变耶
只能用一小部分的字幕

献花 x0
引用 | 编辑 xxxx9659
2009-06-16 03:53
6楼
  
这个好用

献花 x0
引用 | 编辑 daweproject
2009-06-23 01:49
7楼
  
这好用的软体当然要下载回来试试啰.谢谢分享

献花 x0
引用 | 编辑 jimyuan
2009-10-10 20:16
8楼
  
太棒了~希望这好用!!!

献花 x0
引用 | 编辑 overing
2009-10-16 01:55
9楼
  
如果没有需要额外储存资料
其实changeTime可以加个static
就可以在main里面直接用ChangeSrtTime.changeTime呼叫
不用再生成(new)一个ChangeSrtTime物件

献花 x0
引用 | 编辑 jumbo1012001
2009-12-19 14:53
10楼
  
表情 我也常为了字幕与影片不同步而困扰,可这位大大,您这程式是针对有儿电脑程式设计概念的人写的,以您的功力,想来可以弄个更简单,供我这种电脑白痴者使用的「同步机」,先谢啰。

献花 x0
引用 | 编辑 snake614
2010-05-31 14:50
11楼
  
那软件真的行耶..
B-) 不胜感激.

献花 x0
引用 | 编辑 gozillaa
2010-08-15 00:25
12楼
  
好厉害喔
自己写出修改字幕的小程式
给你拍拍手

献花 x0