tonyhsie 发表于 2017-11-19 14:48:27

yukako 发表于 2017-11-19 14:23
如果方便的话,时间轴呈现也可以考虑加入,
这个软件真方便,我原本还想要手算起始点在用其它软件平移... ...

是啊

當初我也是遇到類似的情況

後來索性就自己寫了這個工具來用了

{:4_696:}

li0510 发表于 2018-4-30 03:35:55

感谢分享
使用非常方便 特别是集体shifting 节约很多时间

tonyhsie 发表于 2018-5-1 01:51:17

li0510 发表于 2018-4-30 03:35
感谢分享
使用非常方便 特别是集体shifting 节约很多时间

謝謝

如果對程式有什麼想法或問題,也歡迎討論哦

{:4_679:}

li0510 发表于 2018-5-2 02:27:40

tonyhsie 发表于 2018-5-1 01:51
謝謝

如果對程式有什麼想法或問題,也歡迎討論哦

嘿嘿嘿
好哒

none1839 发表于 2018-12-25 16:31:01

楼主太牛逼了

tonyhsie 发表于 2018-12-27 16:07:22

謝謝支持

過幾天會放新版出來
如果有什麼意見或建議都歡迎提出來 {:4_679:}

tonyhsie 发表于 2019-1-1 02:55:31

本帖最后由 tonyhsie 于 2019-1-1 02:59 编辑

大家新年快樂!! {:4_693:}




更新記錄


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" 欄,直接根據檔案裡紀錄的合併時間來再次合併字幕



tonyhsie 发表于 2019-1-1 04:03:54

關於輔助 Sushi 手動調軸的部分說明一下
因為我自己在看美劇時常用 Sushi 來調字幕,但常常需要手動修正時間軸,所以才把這個功能加到 AdjustAssTime 上面



Sushi 調軸,是基於比較兩個影片的聲音資訊去估計每一句字幕該平移多少時間,當它估計錯誤時,便需要手動修正,而 AdjustAssTime 可以讓修正字幕更方便一點



實際拿美劇 Young Sheldon S02E09 的兩個版本 AVS & NTb 為例,如果把 AVS 版本的字幕,用 Sushi 自動調整成 NTb 版本,Sushi 訊息如下圖



紅框處代表 Sushi 對字幕時間所作的調整:

0. Sushi 把這個 AVS 版本的字幕分成 4 個時間區間 (Group),對這 4 個區間作不同的時間平移後即為 NTb 版本的字幕

1. 區間1從 00:00.00 到 06:40.19, 共 174 行, 平移 0.0353979964315 秒
2. 區間2從 06:49.36 到 14:07.93, 共 149 行, 平移 -1.215611012 秒 (負數時間代表往前平移)
3. 區間3從 14:16.93 到 20:00.85, 共 123 行, 平移 -3.15114449299 秒
4. 區間4從 20:09.07 到 20:39.25, 共 10 行, 平移 -5.16585587174 秒


問題來了,假如 Sushi 判斷錯誤了


實際上區間2 的 6:49.36 開頭的 3 行字幕,其實應該是屬於區間1,應該平移 0.0353979964315 秒,而不是 -1.215611012 秒呢?


AdjustAssTime 可以按照 Sushi 判斷的時間區間,來產生平移了不同時間後的字幕
以上面的例子來說,會產生平移 0.04, -1.22, -3.15, -5.17 秒的 4 個不同字幕檔


Step 1:將 AVS 版本的字幕拖曳到 "Input 1" 欄
Step 2:複製 Sushi 的區間資訊到記事本,再拖曳到 AdjustAssFonts 裡的 "Target Time" 欄
Step 3:按下 "Go!"

區間資訊只要有包含到第一個 "Group (start..." 到 最後一個 "average: ....)" 就好,可以像圖片一樣亂拉一個範圍,不用精確指定起點 & 終點




產生的結果




實際上區間2 的 6:49.36 開頭的 3 行字幕,其實應該是屬於區間1,應該平移 0.0353979964315 秒,而不是 -1.215611012 秒呢?



那 3 行 Sushi 判斷錯誤的字幕,只要用 ".Delay 40ms.ass" 這個字幕文件裡的那 3 行,去取代掉 *.sushi.ass 裡的,就修正完成了

reiayanami 发表于 2019-11-3 09:04:43

本帖最后由 reiayanami 于 2019-11-4 03:00 编辑

今天发现2个问题,一个是调轴的时候不管我丢进去的文件是什么,original FPS都是23.976,无法识别出真正的FPS,即便我调整为24,把新生成的文件丢进去还是显示FPS 23.976,所以这个target FPS也不是绝对值,而是相对值,比如我调整为24,发现调少了,想调到25,这个时候进去还是显示original FPS 23.976,target FPS就不能输入25,而要输入24.976。也就是说用这个程序不能连续调整同一个文件,只能不停的去调整源文件。

再一个就是调轴以后依然有一些中文会乱码,用了ANSI也是乱码。比如下面这个字幕
https://subhd.tv/ar0/374104

tonyhsie 发表于 2019-11-4 03:02:33

本帖最后由 tonyhsie 于 2019-11-4 03:08 编辑

reiayanami 发表于 2019-11-3 09:04
今天发现2个问题,一个是调轴的时候不管我丢进去的文件是什么,original FPS都是23.976,无法识别出真正的F ...
謝謝你提供的反饋,我來說明一下

但我不太確定有沒有誤解你的問題,如果有的話,再麻煩你告知一下

调轴的时候不管我丢进去的文件是什么,original FPS都是23.976,无法识别出真正的FPS,即便我调整为24,把新生成的文件丢进去还是显示FPS 23.976,所以这个target FPS也不是绝对值,而是相对值,
就我的認知

FPS 的資訊並沒有記錄在字幕文件裡 (.srt/.ssa/.ass 應該都沒有)

所以一定要自行手動設置 Original 及 Target 的 FPS,程式才能知道要怎麼去調整時間軸
23.976 只是一個程式預設的數字,並不是程式 "偵測到字幕文件的 FPS" 是 23.976,這是一個誤會

比如我调整为24,发现调少了,想调到25,这个时候进去还是显示original FPS 23.976,target FPS就不能输入25,而要输入24.976。如果你丟進去的新文件,當初是把 FPS 從 23.976 調成 24 的話,那你現在的 Original FPS 就應該要填 24,Target FPS 填 25

這樣跟把源文件丟進去,再把 FPS 從 23.976 調成 25,是一樣的結果

如圖



如果無法確定 FPS 有沒有設對的話,程式先不要關閉,源文件也先不要刪除
慢慢調整 FPS 數字來改,這樣可能會比較方便一點


也就是说用这个程序不能连续调整同一个文件,只能不停的去调整源文件。
不停的連續調整同一個文件(源文件)是可以的,去對程式產生出來的新文件再去做第二次的調整,也不是問題

但你要自己填入新文件的 Original FPS
(例如:第一次調整時把 FPS 23.976 轉成 25 了,那如果要用這個新文件再去調整 FPS,那你的 Original FPS 就是 25)

再一个就是调轴以后依然有一些中文会乱码,比如下面这个字幕
https://subhd.tv/ar0/374104
關於編碼問題,程式支援 UTF8, Unicode-LE, Unicode-BE (程式下方請選擇 Unicode),BIG5 或 GB2312 (程式下方請選擇 Ansi)

如果你的問題,跟這個選項無關,那是否可以直接把有問題的字幕發上來,並簡單說明一下你的操作過程,遇到的錯誤,你原本預期的正確結果是什麼


謝謝


页: 1 [2] 3 4 5 6 7 8 9 10 11
查看完整版本: AdjustAssTime: 調整字幕時間軸/FPS 或合併多個字幕 (2023/02/05 更新)