主題: [求助] [求助]有什麼軟體可以編輯Vobsub字幕(sub,idx) [打印本頁]
發表人:
CML 時間: 2005-1-21 06:56 PM 主題: [求助]有什麼軟體可以編輯Vobsub字幕(sub,idx)
如題,
可以做增刪動作的編輯器是否有?
目前要將英文字幕某些片段要放到中文字幕中,
但以記事本將該時間片段貼在中文段, 結果字幕跑不出來(重新用subresync.exe儲存過也一樣)
故在此求助, 若知道的人還請回覆, 謝謝...
(不做格式轉換, 單純sub,idx編輯)
發表人:
Acute 時間: 2005-1-22 03:13 PM
IDX/SUB 字幕, 要編輯, 應該得找DVD 製作軟體嘗試 (必須能編輯字幕的那種)
直接編輯恐怕不可行, 因為SUB 檔案裏面的字幕, 直接是DVD 的字幕抽出, 所以含有字幕ID
直接改變IDX file, 將無法得到正確的ID, 所以還是不會被解釋出來
程式我沒有, 但是我知道如何手動修改, 如果你不怕麻煩的話
DVD 字幕編號從0x20 - 0x3F 最多32 個, 編號位置會變動, 但是, 可以人工解釋, 方法如下:
00 00 01 BA 44 07 0C CE 85 D9 01 89 C3 F8 00 00
01 BD 07 EC 81 81 08 21 01 C3 E7 37 1E 60 3A 20
0E 10 0D F2
00 00 01 BA 表示他是MPEG1/MPEG2 的封包, 每個封包起點位於2048的位置
00 00 01 BD 表示他是字幕 (基本上, SUB 檔案內, 一定是字幕, so, 每2K 出現一次, 呵呵)
重點來了, 00 00 01 BD 往後算第五個bytes, 也就是上面標示08 的位置, 表示header長度, 從該位置往後加該數值+1 的位置, 就是字幕的編號, 也就是藍色標示"20" 的那一個
20 表示字幕ID=0, 21表示字幕ID=1以此類推
例如, 假設你的IDX 內容是:
# Korean
id: ko, index: 0 這個是編號0, 資料用0x20 表示
# Decomment next line to activate alternative name in DirectVobSub / Windows Media Player 6.x
# alt: Korean
# Vob/Cell ID: 1, 1 (PTS: 0)
timestamp: 00:01:21:948, filepos: 000000000
timestamp: 00:01:27:153, filepos: 000001000
timestamp: 00:01:33:059, filepos: 000002000
:
:
# English
id: en, index: 1 這個是編號1, 資料用0x21 表示
# Decomment next line to activate alternative name in DirectVobSub / Windows Media Player 6.x
# alt: English
# Vob/Cell ID: 1, 1 (PTS: 0)
timestamp: 00:00:33:666, filepos: 000247800
timestamp: 00:00:38:271, filepos: 000248800
:
:
現在, 我假設要把Korean 前兩個字幕放到英文裏面的最前面, 所以, IDX 改變的部份是: (注意, 我更動時間了喔, 不然字幕時間重疊會出問題的)
# English
id: en, index: 1
# Decomment next line to activate alternative name in DirectVobSub / Windows Media Player 6.x
# alt: English
# Vob/Cell ID: 1, 1 (PTS: 0)
timestamp: 00:00:21:948, filepos: 000000000
timestamp: 00:00:27:153, filepos: 000001000
timestamp: 00:00:33:666, filepos: 000247800
timestamp: 00:00:38:271, filepos: 000248800
:
:
然後我需要變更檔案0x0000 - 0x1FFF 這8K 的內容(因為第三個起點是0x2000), 每2K 一個單位, 所以, 總共需要改四個
我把四個內容都列出來給你看:
第一個原始資料: (檔案位置: 0x0000)
00 00 01 BA 44 07 0C CE 85 D9 01 89 C3 F8 00 00
01 BD 07 EC 81 81 08 21 01 C3 E7 37 1E 60 3A 20
0E 10 0D F2
變更後的第一個:
00 00 01 BA 44 07 0C CE 85 D9 01 89 C3 F8 00 00
01 BD 07 EC 81 81 08 21 01 C3 E7 37 1E 60 3A 21
0E 10 0D F2
第二個原始資料: (檔案位置: 0x0800)
00 00 01 BA 44 07 0C D3 1C 2B 01 89 C3 F8 00 00
01 BD 06 34 81 00 00 20
變更後的第二個資料:
00 00 01 BA 44 07 0C D3 1C 2B 01 89 C3 F8 00 00
01 BD 06 34 81 00 00 21
PS: 這兒因為header size = 0, 所以, 下一個bytes 就是subtitle ID
第三個原始資料: (檔案位置: 0x1000)
00 00 01 BA 44 07 7E 0F AC 2B 01 89 C3 F8 00 00
01 BD 07 EC 81 80 05 21 01 E1 33 1F 20 08 4A 08
2C
變更後的第三個資料:
00 00 01 BA 44 07 7E 0F AC 2B 01 89 C3 F8 00 00
01 BD 07 EC 81 80 05 21 01 E1 33 1F 21 08 4A 08
2C
第四個原始資料: (檔案位置: 0x1800)
00 00 01 BA 44 07 7E 14 3C D7 01 89 C3 F8 00 00
01 BD 00 6B 81 00 00 20 6D 67
變更後的第四個資料:
00 00 01 BA 44 07 7E 14 3C D7 01 89 C3 F8 00 00
01 BD 00 6B 81 00 00 21 6D 67
這樣子, 就可以在英文字幕撥放時, 看見韓文字幕跑出來嚕
當然, 這個方法絕對是在你只希望讓另一個語文字幕, 有幾個出現的條件下
不然每2K 的位置都得人工改一次, 保證把你累死, 呵呵
另一個方法, 就是自己寫個小程式根據上面的規則, 去變更字幕的編號即可
有程式輔助, 想改幾個字幕都可以 ^^"
IDX/SUB 只要ID 不匹配, 就不會顯示, 所以, 上述改法改過之後的SUB file
韓文字幕將會缺少兩句, 而英文字幕跑出兩句韓文字幕
沒有方法可以讓同一個字幕影像代表兩種或多種字幕的編號!!!!
Acute.
[Acute 在 2005-1-22 03:40 PM 作了最後編輯]
發表人:
CML 時間: 2005-1-22 04:29 PM
非常感謝~
@@原來如此...我都只改到前2K, 難怪有的字出的來有的字出不來...
我是直接在記事本把英文時間段貼到中文, 再用subresync.exe存一次, 使中文段也有圖片資料,
但其圖片資料似乎有問題, 得再用英文段的部分再蓋回去再去做id修改, 這樣一來不管什麼語言都能顯示了,
不過還真累@@還好只有幾段, 懶得寫程式只好手動改
[CML 在 2005-1-22 04:33 PM 作了最後編輯]
發表人:
lovelegend 時間: 2005-1-22 04:43 PM
引用:
Acute寫到:
程式我沒有, 但是我知道如何手動修改, 如果你不怕麻煩的話
DVD 字幕編號從0x20 - 0x3F 最多32 個, 編號位置會變動, 但是, 可以人工解釋, 方法如下:
00 00 01 BA 44 07 0C CE 85 D9 01 89 C3 F8 00 00
01 BD 07 EC 81 81 08 21 01 C3 E7 37 1E 60 3A 20
0E 10 0D F2
不明... 是用 Hex Editor 來開 .sub 檔嗎?
發表人:
innison 時間: 2005-1-22 04:50 PM
引用:
Acute寫到:
另一個方法, 就是自己寫個小程式根據上面的規則, 去變更字幕的編號即可
有程式輔助, 想改幾個字幕都可以 ^^"
阿Q叔叔真厲害,給大家寫一個吧!
發表人:
Acute 時間: 2005-1-22 05:09 PM
引用:
lovelegend寫到:
引用:
Acute寫到:
程式我沒有, 但是我知道如何手動修改, 如果你不怕麻煩的話
DVD 字幕編號從0x20 - 0x3F 最多32 個, 編號位置會變動, 但是, 可以人工解釋, 方法如下:
00 00 01 BA 44 07 0C CE 85 D9 01 89 C3 F8 00 00
01 BD 07 EC 81 81 08 21 01 C3 E7 37 1E 60 3A 20
0E 10 0D F2
不明... 是用 Hex Editor 來開 .sub 檔嗎?
對阿, 那些都是Hex 資料
用UE32 打開, 就會自動進入Hex 模式
如果沒有進入Hex 模式, 自己去選單選Hex 模式即可 ^^"
Acute.
發表人:
Acute 時間: 2005-1-22 05:17 PM
引用:
innison寫到:
引用:
Acute寫到:
另一個方法, 就是自己寫個小程式根據上面的規則, 去變更字幕的編號即可
有程式輔助, 想改幾個字幕都可以 ^^"
阿Q叔叔真厲害,給大家寫一個吧!
innison 叔叔, 你怎反而叫我叔叔, 搞錯了吧
最近半年都剛好在寫跟MPEG1/MPEG2/MPEG4 相關的程式
這個月恰好在寫解釋DVD title 的程式
所以, 剛好知道那些東西的含意
這個問題早一個月出現, 我也是不知道答案的, 哈哈
Acute.
發表人:
lovelegend 時間: 2005-1-23 01:25 AM
引用:
Acute寫到:
IDX/SUB 只要ID 不匹配, 就不會顯示, 所以, 上述改法改過之後的SUB file
韓文字幕將會缺少兩句, 而英文字幕跑出兩句韓文字幕
沒有方法可以讓同一個字幕影像代表兩種或多種字幕的編號!!!!
也不是沒有 work around 的方法的, 可以用 vobsub 的 cutter 和 joiner 去複製那段字幕貼到最後, 再用改 address 的方法引用多出來的韓文字幕和刪走多出的英文字幕..
歡迎光臨 TWed2k (http://twed2k.org/) |
Powered by Discuz! 4.1.0 |