- 論壇徽章:
- 0
|
影片是從eMule下載的,srt是從射手網(wǎng)下載的。
開始字幕還好,到了劇情正式開始的位置,發(fā)現(xiàn)字幕嚴(yán)重地延遲了,反復(fù)測(cè)試發(fā)現(xiàn)從5分13秒的字幕開始延遲,約延遲13秒。
那么解決方法就是用Python來將此后的字幕時(shí)間統(tǒng)統(tǒng)減少13秒。
本來想用Python提供的時(shí)間函數(shù)來處理,但沒有發(fā)現(xiàn)適合的,就打算自己來計(jì)算一下,就是要考慮借位的地方。折騰了一陣,最后實(shí)現(xiàn)了,貼在這里,供大家參考指正
![]()
:
[color="#008000"]# encoding:gb2312
[color="#0000ff"]import [color="#800000"]re[color="#000000"],[color="#800000"]os
[color="#000000"]fo[color="#008080"]=[color="#808000"]file[color="#000000"](r[color="#ff00ff"]"F:\字幕\Supernatural.S01E09.HR.HDTV.AC3.5.1.XviD-CTU.gb-adjust.srt"[color="#000000"],[color="#ff00ff"]"r"[color="#000000"])
[color="#000000"]aContent[color="#008080"]=[color="#000000"]fo[color="#008080"].[color="#000000"]readlines()
[color="#000000"]fo[color="#008080"].[color="#000000"]close()
[color="#000000"]p[color="#008080"]=[color="#000000"]r[color="#ff00ff"]'(\d\d:\d\d:\d\d)(,\d{3} --> )(\d\d:\d\d:\d\d)(,\d{3})'
[color="#000000"]aContentTgt[color="#008080"]=[color="#000000"][]
[color="#0000ff"]def [color="#000000"]dbStr(_i):
[color="#0000ff"]if [color="#000000"]_i[color="#008080"][color="#000000"]0:
[color="#000000"]_sTgt[color="#008080"]+=[color="#000000"]_h[color="#008080"]+[color="#ff00ff"]":"[color="#008080"]+[color="#000000"]dbStr([color="#808000"]int[color="#000000"](_m)[color="#008080"]-[color="#000000"]1)[color="#008080"]+[color="#ff00ff"]":"[color="#008080"]+[color="#000000"]dbStr([color="#808000"]int[color="#000000"](_s)[color="#008080"]-[color="#000000"]13[color="#008080"]+[color="#000000"]60)
[color="#0000ff"]else[color="#000000"]:
[color="#000000"]_sTgt[color="#008080"]+=[color="#000000"]dbStr([color="#808000"]int[color="#000000"](_h)[color="#008080"]-[color="#000000"]1)[color="#008080"]+[color="#ff00ff"]":"[color="#008080"]+[color="#000000"]dbStr([color="#808000"]int[color="#000000"](_m)[color="#008080"]-[color="#000000"]1[color="#008080"]+[color="#000000"]60)[color="#008080"]+[color="#ff00ff"]":"[color="#008080"]+[color="#000000"]dbStr([color="#808000"]int[color="#000000"](_s)[color="#008080"]-[color="#000000"]13[color="#008080"]+[color="#000000"]60)
[color="#0000ff"]else[color="#000000"]:
[color="#000000"]_sTgt[color="#008080"]+=[color="#000000"]_h[color="#008080"]+[color="#ff00ff"]":"[color="#008080"]+[color="#000000"]_m[color="#008080"]+[color="#ff00ff"]":"[color="#008080"]+[color="#000000"]dbStr([color="#808000"]int[color="#000000"](_s)[color="#008080"]-[color="#000000"]13)
[color="#0000ff"]return [color="#000000"]_sTgt
[color="#0000ff"]for [color="#000000"]ln [color="#0000ff"]in [color="#000000"]aContent:
[color="#000000"]m[color="#008080"]=[color="#800000"]re[color="#008080"].[color="#000000"]search(p,ln)
[color="#0000ff"]if [color="#000000"]m:
[color="#000000"]t1,v1,t2,v2[color="#008080"]=[color="#000000"]m[color="#008080"].[color="#000000"]group(1,2,3,4)
[color="#0000ff"]if [color="#000000"]t1[color="#008080"]
本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/28253/showart_251383.html |
|