查看積分策略說明發表回覆
Discuz! 代碼
提示插入
直接插入
說明訊息

插入粗體文本 插入斜體文本 插入下劃線 置中對齊 插入超級連結 插入信件位址 插入圖像 插入 flash 插入代碼 插入引言 插入列表
刪除線 直線分隔線 虛線分隔線
    
添加文字底框
內容 [字數檢查]:

表情符號

更多 Smilies
字型大小 |||
溫馨提示:本區開放遊客瀏覽。


文章關鍵字 : [功能說明]
(關鍵字可加強搜索準確性, 如關鍵字多於一組, 請以 , 作分隔, e.g. : 阿笨,shiuh,第一笨)

 關閉 URL 識別 | html 禁用
 關閉 表情符號 | 表情符號 可用
 關閉 Discuz! 代碼 | Discuz! 代碼 可用
使用個人簽名
接收新回覆信件通知
推薦放檔網絡空間

檔案(Torent, zip等)
  1. freedl
  2. multiupload
  3. btghost
  4. 便當狗
  5. mediafire
  6. pillowangel
圖片(JPG, GIF等)
  1. hotimg
  2. tinypic
  3. mousems2
  4. imageshack
  5. imm.io
>>>歡迎推薦好用空間


最新10篇文章回顧
lovelegend

 發表於 2005-1-23 01:25 AM


引用:
Acute寫到:
IDX/SUB 只要ID 不匹配, 就不會顯示, 所以, 上述改法改過之後的SUB file
韓文字幕將會缺少兩句, 而英文字幕跑出兩句韓文字幕
沒有方法可以讓同一個字幕影像代表兩種或多種字幕的編號!!!!

也不是沒有 work around 的方法的, 可以用 vobsub 的 cutter 和 joiner 去複製那段字幕貼到最後, 再用改 address 的方法引用多出來的韓文字幕和刪走多出的英文字幕..


Acute

 發表於 2005-1-22 05:17 PM


引用:
innison寫到:

引用:
Acute寫到:
另一個方法, 就是自己寫個小程式根據上面的規則, 去變更字幕的編號即可
有程式輔助, 想改幾個字幕都可以 ^^"

阿Q叔叔真厲害,給大家寫一個吧!


innison 叔叔, 你怎反而叫我叔叔, 搞錯了吧

最近半年都剛好在寫跟MPEG1/MPEG2/MPEG4 相關的程式
這個月恰好在寫解釋DVD title 的程式
所以, 剛好知道那些東西的含意
這個問題早一個月出現, 我也是不知道答案的, 哈哈

Acute.


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.


innison

 發表於 2005-1-22 04:50 PM


引用:
Acute寫到:
另一個方法, 就是自己寫個小程式根據上面的規則, 去變更字幕的編號即可
有程式輔助, 想改幾個字幕都可以 ^^"

阿Q叔叔真厲害,給大家寫一個吧!


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 檔嗎?


CML

 發表於 2005-1-22 04:29 PM

非常感謝~
@@原來如此...我都只改到前2K, 難怪有的字出的來有的字出不來...
我是直接在記事本把英文時間段貼到中文, 再用subresync.exe存一次, 使中文段也有圖片資料,
但其圖片資料似乎有問題, 得再用英文段的部分再蓋回去再去做id修改, 這樣一來不管什麼語言都能顯示了,
不過還真累@@還好只有幾段, 懶得寫程式只好手動改

[CML 在 2005-1-22 04:33 PM 作了最後編輯]


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-21 06:56 PM

如題,
可以做增刪動作的編輯器是否有?
目前要將英文字幕某些片段要放到中文字幕中,
但以記事本將該時間片段貼在中文段, 結果字幕跑不出來(重新用subresync.exe儲存過也一樣)

故在此求助, 若知道的人還請回覆, 謝謝...

(不做格式轉換, 單純sub,idx編輯)





所在時區為 GMT+8, 現在時間是 2024-9-29 03:24 PM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.022529 second(s), 6 queries , Qzip disabled