请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
查看: 6298|回复: 19

AdjustAssTime: 調整字幕時間軸/FPS 或合併多個字幕 (2019/1/1 更新)

  • TA的每日心情
    郁闷
    2016-12-31 01:33
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    12

    主题

    290

    帖子

    446

    真·积分

    星辰大海

    Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

    积分
    373534
    tonyhsie 发表于 2017-1-1 11:25:30 | 显示全部楼层 |阅读模式
    本帖最后由 tonyhsie 于 2019-1-1 04:24 编辑

    分享一個自己寫的小程式,主要功能有兩個

    1. 一次調整多個字幕檔 (.ass/.ssa/.srt) 的 時間軸FPS

    2. 合併多個字幕檔 (.ass/.ssa 或 .srt) 的時間軸,主要是 BDrip -> BD 原盤用


    支援 Unicode 或 BIG5/GB (ANSI)


    程式截圖

    v190101

    功能 A:  調整字幕時間軸  (圖片範例:將字幕往後平移 5 移)




    功能 B: 合併兩個以上的字幕  (圖片範例:將兩個字幕合併,第 2 個字幕起始時間為 23:42.086)




    功能 C:  調整字幕 FPS  (圖片範例:將 fps 23.976 影片的字幕轉成 fps 25 的影片用)




    更新記錄


    v190101

    1. 一堆小 bug 修正
    2. 時間單位可選擇 毫秒 (Millisecond) 或 秒  (Second)

    3. 可改變字幕 FPS (如 23.976 -> 25 之類)


    for 調整時間模式 (Adjust mode)

    4. Sushi 自動產生的字幕,如果有多個不同的時間區塊,那麼在區塊邊界,Sushi 偶爾會判斷錯誤,需要手動修正
    AdjustAssTime 可按照 Sushi 結果來生成 N 個平移了不同時間後的字幕檔,方便來修正 Sushi 的這種錯誤


    for 合併字幕模式 (Append mode)

    5. 如果合併的字幕,預設解析度不相同時,會根據第一個字幕的解析度來調整後續字幕的字型大小 font size、字幕位置 position、 邊界 magrins 等等跟字幕解析度相關的數據,並產生 "*.position.ass" 用來方便確認更改後的相關字幕是否能正常呈現

    6. 可直接把 "chapters.txt" 拖曳到 "Start Time" 欄,直接根據檔案裡紀錄的合併時間來再次合併字幕



    v170516

    1. 新增支援 .srt 字幕

    2. 新增支援編碼為 ANSI (BIG5 或 GB) 的字幕(預設仍為 UTF8)

    3. 新增一個合併字幕時可選用的選項:合併時以各字幕檔最後一個有效字幕的時間,來計算字幕合併的時間點 (Calculate next....)
     若合併後的字幕,合併的時間點錯誤時,可勾選後再試試


    v170111

    新版加入兩個功能

    1. 可以指定是否只調整某個時間點以後的字幕
      例如:01:00 之後的字幕,往後調 5 秒,00:00~01:00 之間的字幕時間保持不變

    2. 可以一次合併多個字幕
      例如:把各集 BDrip 字幕,合成一個 BD-BOX 用的單字幕檔

    簡易教學請見 2 樓


    跟 SubResync, Aegisub 相比的話,主要特點在於

    1. 簡潔快速的操作,不需在層層選單裡徘徊
    2. 完整保留原始字幕檔的一切文字,除了時間軸改變以外,其它文字跟排版都不會變,(SubResync/Aegisub 都會拿掉注釋,排版也可能會變)
    3. 支援一次調整多檔的時間軸
    4. 合併字幕時,遇到相同 Style,但是不同的字型/字體設定時,兩種 Style 都會保留下來 (Aegisub 只會留其中一個)


    操作方式


    1. 可直接拖曳字幕檔案或目錄、或是路徑文字到視窗上,或用 "..." 按鈕選取一至多個字幕文件、或手動輸入字幕路徑皆可

    2. 時間也可以用拖曳文字的方式輸入,省去打字或複製貼上的手忙腳亂


    3. 調整時間軸,可以設定 "Original Time(原始時間)" & "Target Time(調整後時間)" 來調整,程式會自動幫你算兩者的時間差,再去調字幕


     簡單說,假設同一句台詞 A,在 TVrip 的時間點是 0:10:35,在 BDrip 的時間點是 0:12:03,分別填入這兩個時間,就可以把 TVrip 字幕調成 BDrip  的時間軸

     也可以只填入 "Target Time","Original Time" 保持在 0:00:00.000,那麼程式就會按你所填時間,把字幕時間一律往後(或往前)調整

     填入時間的格式,可以是 1:23:45.678 (時:分:秒.毫秒),也可以填入整數 12345678 (毫秒),也可以是負數的時間/整數 (把字幕時間往前調)

    4. 合併字幕的話,就只需要填入合併的時間點

     例如,BD 影片是第 1 集 + 第 2 集,那就填入第 2 集開始的時間點,然後合併兩集的字幕

    5. 按下 Go! 就會產生新的字幕檔,調整(或合併)的時間點也會一併保留在檔名上,如圖



    調軸的話,就是單純產生 "原檔名 + Delay 多少時間" 的新字幕檔

    合併的話,程式會自動判斷兩個字幕檔檔名的差異,如果像圖中這種有規律性,[01], [02], [03], .... 的
    合併的字幕就會是 [01-02], [03-04],檔名最後會加上 "Appended @ 哪個時間點" 以方便辨視

    進行多次合併的話,檔名就會像圖中最後一個檔案那樣 [24-25-26] (先合併 24 & 25, 再合併 26)


    以下是合併字幕的一些特色

    Style 部分,如果有同名的不同 Style 定義,程式會自動更名,Style名稱會加上該字幕檔的編號,如圖中 temp25, Default26 等等
    如果有新的 Style,但名稱不衝突,則保留原名,如圖中的 STAFF



    合併的兩個字幕檔中間,開頭會有 [Event] + 編號 以供判別




    雖然說起來複雜,但實際操作是很直覺不難懂的

    有任何建議或想法都歡迎指教,謝謝





    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x

    评分

    参与人数 9活跃度 +5311 收起 理由
    Remaus + 800 很给力!
    lee850220 + 800 很给力!
    qweasdshilk + 111 赞一个!
    lattka + 400
    liyuweiying + 1600
    true + 200
    minyain + 200 赞一个!
    atomsfear + 200 辛苦了
    2222 + 1000

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2016-12-31 01:33
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    12

    主题

    290

    帖子

    446

    真·积分

    星辰大海

    Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

    积分
    373534
    tonyhsie  楼主| 发表于 2017-1-11 18:30:44 | 显示全部楼层





    更新記錄


    v170111

    新版加入兩個功能

    1. 可以指定是否只調整某個時間點以後的字幕
      例如:01:00 之後的字幕,往後調 5 秒,00:00~01:00 之間的字幕時間保持不變

    2. 可以一次合併多個字幕
      例如:把各集 BDrip 字幕,合成一個 BD-BOX 用的單字幕檔


    以合併白箱 BD-BOX 字幕為例

    (1) 先用 tsMuxer 打開 BD 原盤的 MPLS 文件,以獲取章節的時間軸




    (2) 將字幕文件拖曳到 AdjustAssTimes 程式上、將時間軸拖曳(或複製貼上) 到 Start Time 文字框




    (3) 選擇 Append 功能,按下 Go!


    程式便自動生成單一字幕檔,並將時間軸資訊及章節資訊,另存純文本,以便不時之需





    各字幕合併的時間點,程式會以章節時間軸自行計算,若各話片長差不多,便毋需自行一一計算時間軸
    大部分動畫都是如此

    (如: Fate/stay night, Charlotte, SHIROBAKO, STEINS;GATE, THE IDOLM@STER, 中二病でも恋がしたい)


    若每一話時間有長有短 (如 Fate/Zero),程式無法準確預估時間


    也可以自行指定時間軸,再拖曳 (或複製貼上) 到 Start Time

    一樣可以輕鬆合併多個字幕

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2016-12-31 01:33
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    12

    主题

    290

    帖子

    446

    真·积分

    星辰大海

    Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

    积分
    373534
    tonyhsie  楼主| 发表于 2017-5-16 07:13:38 | 显示全部楼层
    更新記錄


    v170516

    1. 新增支援 .srt 字幕

    2. 新增支援編碼為 ANSI (BIG5 或 GB) 的字幕(預設仍為 UTF8)

    3. 新增一個合併字幕時可選用的選項:合併時以各字幕檔最後一個有效字幕的時間,來計算字幕合併的時間點 (Calculate next....)
     若合併後的字幕,合併的時間點錯誤時,可勾選後再試試
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    26

    主题

    147

    帖子

    0

    真·积分

    高级会员

    [s][/s]

    Rank: 4

    积分
    21254
    true 发表于 2017-8-21 05:08:02 | 显示全部楼层
    这工具太厉害了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    5

    帖子

    0

    真·积分

    新手上路

    Rank: 1

    积分
    34
    大帅鸭 发表于 2017-8-23 13:40:43 | 显示全部楼层
    厉害了,LZ好厉害
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2019-3-9 23:35
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    0

    主题

    3

    帖子

    0

    真·积分

    注册会员

    Rank: 2

    积分
    805
    yukako 发表于 2017-11-18 14:13:25 | 显示全部楼层
    本帖最后由 yukako 于 2017-11-18 14:14 编辑

    请问这个可以单纯合并多个字幕吗?

    我一次合并多个时,字幕档是合并了,可是时间轴未改变,也有勾选过Calculate next,还是一样
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2016-12-31 01:33
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    12

    主题

    290

    帖子

    446

    真·积分

    星辰大海

    Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

    积分
    373534
    tonyhsie  楼主| 发表于 2017-11-18 22:25:51 | 显示全部楼层
    yukako 发表于 2017-11-18 14:13
    请问这个可以单纯合并多个字幕吗?

    我一次合并多个时,字幕档是合并了,可是时间轴未改变,也有勾选过Calcu ...

    可以合併多個字幕檔,但需要自行指定合併的時間點 (需在 "Start Time" 處填上時間點)


    時間點可接受的格式,可以是 1234567 (=1234.567 秒),或是 01:23:45.670 兩種

    也可以接受多行的輸入

    例如:

    00:00:00.000
    00:02:12.006
    00:03:42.013
    00:11:37.988
    00:21:15.941

    這樣程式才有辦法知道  合併後的字幕要怎麼重新給定時間軸



    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2019-3-9 23:35
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    0

    主题

    3

    帖子

    0

    真·积分

    注册会员

    Rank: 2

    积分
    805
    yukako 发表于 2017-11-19 00:56:33 | 显示全部楼层
    本帖最后由 yukako 于 2017-11-19 00:57 编辑
    tonyhsie 发表于 2017-11-18 22:25
    可以合併多個字幕檔,但需要自行指定合併的時間點 (需在 "Start Time" 處填上時間點)

    请问喔,你说可多行输入
    00:00:00.000
    00:02:12.006
    00:03:42.013

    是直接复制全部在贴上就行吗?

    那时间轴每行的定义是?
    假设我有档1.ass、档2.ass、档3.ass

    像00:00:00.000是插在哪个顺序?
    像00:02:12.006又插在哪个顺序?
    像00:03:42.013又插在哪个顺序?

    另外建议一下,可否把要合并的档案完全呈现,就是input 2那里,而不是只有一个。


    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2016-12-31 01:33
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    12

    主题

    290

    帖子

    446

    真·积分

    星辰大海

    Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

    积分
    373534
    tonyhsie  楼主| 发表于 2017-11-19 12:12:27 | 显示全部楼层
    yukako 发表于 2017-11-19 00:56
    请问喔,你说可多行输入
    00:00:00.000
    00:02:12.006

    >> 请问喔,你说可多行输入
    >> 00:00:00.000
    >> 00:02:12.006
    >> 00:03:42.013
    >> 是直接复制全部在贴上就行吗?

    是的,直接複製貼上就行

    >> 那时间轴每行的定义是?
    >> 假设我有档1.ass、档2.ass、档3.ass
    >> 像00:00:00.000是插在哪个顺序?

    程式會跳過 0:00:00

    >> 像00:02:12.006又插在哪个顺序?

    合併時,字幕檔2的時間部分,全部會平移 2:12.006

    >> 像00:03:42.013又插在哪个顺序?

    字幕檔3 會平移 3:42.013

    >> 另外建议一下,可否把要合并的档案完全呈现,就是input 2那里,而不是只有一个。

    謝謝建議,我會再想想看怎麼設計會比較好

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2019-3-9 23:35
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    0

    主题

    3

    帖子

    0

    真·积分

    注册会员

    Rank: 2

    积分
    805
    yukako 发表于 2017-11-19 14:23:58 | 显示全部楼层
    tonyhsie 发表于 2017-11-19 12:12
    >> 请问喔,你说可多行输入
    >> 00:00:00.000
    >> 00:02:12.006

    如果方便的话,时间轴呈现也可以考虑加入,
    这个软件真方便,我原本还想要手算起始点在用其它软件平移...不过看着那堆数字就觉得头痛了
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    VCB-Studio分享论坛X

    VCB-S微信公众号上线了,欢迎关注!

    欢迎关注VCB-S微信公众号,公众号将不定期推送有关本组最新资源的消息。...

    点击查看详情 
    快速回复 返回顶部 返回列表