近看《生活大爆炸》碰到字幕時間和聲音不同步的問題,字幕或提前或延后的,實在惱人。
打開字幕原文件一看,4、5百條,手工調整什么的就算了,用Python自己寫個小程序吧,沒準以后追別的劇還能用到呢。
代碼如下:
-
def adjust_srt(x, y = r'd:/output/new.src', z = 0):
-
-
調整視頻字幕時間,+z字幕延后z秒顯示,輸出新文件
-
-
-
-
注:函數僅適用于整體調整,字幕隨時間階段偏移的情況比較復雜,
-
相對也比較少見,在此就不追加分段調整功能了,感興趣的可以自己完善~
-
-
-
-
pat = r"\d\d:\d\d:\d\d" # 正則表達式
-
-
l0 = re.findall(pat, f1) # 正則過濾所有字幕顯示時間,輸出是一個列表
-
-
-
-
-
-
-
delta = datetime.timedelta(seconds = z) # 調整時間
-
t = datetime.datetime(2018, 07, 20, h, m, s) + delta # 加入年月日格式化調整后的字幕時間
-
t1 = datetime.datetime.strftime(t, '%H:%M:%S') # 去掉年月日
-
temp.append(t1) # 得到調整后的時間列表
-
-
-
for i in range(len(temp)):
-
f1 = f1.replace(l0[i], temp[i]) # 替換字幕時間
-
-
if os.path.exists(y[0:10]): # 判斷輸出路徑是否存在
-
-
print "it's already exists"
-
-
-
os.mkdir(y[0:10]) # 不存在則新建目錄
-
-
-
-
-
-
path = r'C:\Users\Administrator\Desktop\for_python\wt2.txt'
-
本站文章版權歸原作者及原出處所有 。內容為作者個人觀點, 并不代表本站贊同其觀點和對其真實性負責,本站只提供參考并不構成任何投資及應用建議。本站是一個個人學習交流的平臺,網站上部分文章為轉載,并不用于任何商業目的,我們已經盡可能的對作者和來源進行了通告,但是能力有限或疏忽,造成漏登,請及時聯系我們,我們將根據著作權人的要求,立即更正或者刪除有關內容。本站擁有對此聲明的最終解釋權。