修改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