亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2030 | 回復(fù): 0
打印 上一主題 下一主題

Python應(yīng)用:邪惡力量字幕線性增量偏移的修正 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2007-04-01 22:32 |只看該作者 |倒序?yàn)g覽
      
     就是用昨天寫的模塊作為輔助,通過影片最后的一句話的時(shí)間位置和對(duì)應(yīng)的字幕位置,計(jì)算偏移比例。然后對(duì)每一個(gè)時(shí)間按這個(gè)比例因子修正。開始部分也許顯得快那么一點(diǎn)點(diǎn),不過整體效果很理想


[color="#808080"]# adjust-subtitles.py
[color="#808080"]# encoding:gb2312
[color="#808080"]# 開始基本一致.延遲時(shí)間逐漸增長
[color="#808080"]# 假設(shè)為線性增長.
[color="#808080"]# 時(shí)間偏移起始位置(基準(zhǔn)時(shí)刻)
[color="#808080"]# 取得采樣時(shí)間戳(采樣目標(biāo)時(shí)間40:20~采樣字幕時(shí)間41:55),采樣時(shí)間離基準(zhǔn)時(shí)間越長越精確
[color="#808080"]# 修正比例因子: (采樣x字幕時(shí)間-基準(zhǔn)時(shí)刻)/(采樣x目標(biāo)時(shí)間-基準(zhǔn)時(shí)刻) 取平均值
[color="#0000ff"]import [color="#000080"]re[color="#000000"],[color="#000080"]os[color="#000000"],[color="#000080"]sys
[color="#0000ff"]import [color="#000000"]timeItv
[color="#808080"]# 取得調(diào)整因子
[color="#0000ff"]def [color="#000000"]getAdjustFactor ((t,s),b):
    [color="#000000"]mt[color="#008000"]=[color="#000080"]re[color="#008000"].[color="#000000"]match(p,t)
    [color="#000000"]mr[color="#008000"]=[color="#000080"]re[color="#008000"].[color="#000000"]match(p,s)
   
    [color="#0000ff"]if [color="#000000"]mt [color="#0000ff"]and [color="#000000"]mr:
            [color="#0000ff"]return [color="#000000"](timeItv[color="#008000"].[color="#000000"]time2itv(s)[color="#008000"]-[color="#000000"]b)[color="#008000"]*[color="#000000"]1[color="#008000"].[color="#000000"]0[color="#008000"]/[color="#000000"](timeItv[color="#008000"].[color="#000000"]time2itv(t)[color="#008000"]-[color="#000000"]b)
    [color="#0000ff"]else[color="#000000"]:
                [color="#0000ff"]print [color="#64a2e6"]"check the sample time format"
                [color="#000080"]sys[color="#008000"].exit[color="#000000"]()
[color="#808080"]# 對(duì)時(shí)刻的調(diào)整
[color="#0000ff"]def [color="#000000"]adjustTime(_t,_b,_f):
        [color="#000000"]a[color="#008000"]=[color="#000000"]([color="#64a2e6"]"%2.3f" [color="#008000"]%[color="#000000"](_b[color="#008000"]+[color="#000000"](timeItv[color="#008000"].[color="#000000"]time2itv(_t)[color="#008000"]-[color="#000000"]_b)[color="#008000"]/[color="#000000"]_f))[color="#008000"].[color="#000000"]split([color="#78ade9"]'.'[color="#000000"])
        [color="#0000ff"]return [color="#000000"]timeItv[color="#008000"].[color="#000000"]itv2time([color="#808000"]int[color="#000000"](a[0]))[color="#008000"]+[color="#78ade9"]','[color="#008000"]+[color="#000000"]a[1]
[color="#0000ff"]if [color="#008000"]__name__==[color="#64a2e6"]"__main__"[color="#000000"]:
        [color="#808080"]# 輸入?yún)?shù)設(shè)定及格式檢查
        [color="#000000"]sBaseTime[color="#008000"]=[color="#64a2e6"]"00:00:00"
        [color="#000000"]aOffsetSample[color="#008000"]=[color="#000000"][([color="#64a2e6"]"00:40:19"[color="#000000"],[color="#64a2e6"]"00:41:55"[color="#000000"])]
        [color="#000000"]p[color="#008000"]=[color="#000000"]r[color="#64a2e6"]"^([0-9]+):([0-5][0-9]):([0-5][0-9])$"
        [color="#000000"]pc[color="#008000"]=[color="#000080"]re[color="#008000"].[color="#808000"]compile[color="#000000"](p)
       
        [color="#0000ff"]if not [color="#000000"]pc[color="#008000"].[color="#000000"]match(sBaseTime):
                [color="#0000ff"]print [color="#64a2e6"]"sBaseTime should have format hh:mm:ss"
                [color="#000080"]sys[color="#008000"].exit[color="#000000"]()
        [color="#0000ff"]else[color="#000000"]:
                [color="#000000"]iBaseTime[color="#008000"]=[color="#000000"]timeItv[color="#008000"].[color="#000000"]time2itv(sBaseTime)
        [color="#808080"]# 計(jì)算偏差因子
        [color="#000000"]iAdjustFactor[color="#008000"]=[color="#000000"]sum([color="#808000"]map[color="#000000"](getAdjustFactor,aOffsetSample,[iBaseTime][color="#008000"]*[color="#808000"]len[color="#000000"](aOffsetSample)))[color="#008000"]/[color="#808000"]len[color="#000000"](aOffsetSample)
        [color="#808080"]# 讀入源字幕文件
        [color="#000000"]fo[color="#008000"]=[color="#808000"]file[color="#000000"](r[color="#64a2e6"]"F:\字幕\邪惡力量\supernatural.103.hdtv-lol.chs.srt"[color="#000000"],[color="#64a2e6"]"r"[color="#000000"])
        [color="#000000"]aContent[color="#008000"]=[color="#000000"]fo[color="#008000"].[color="#000000"]readlines()
        [color="#000000"]fo[color="#008000"].[color="#000000"]close()
        [color="#808080"]# 分行分析,處理字幕行,保留非字幕行
        [color="#000000"]p[color="#008000"]=[color="#000000"]r[color="#78ade9"]'(\d\d:\d\d:\d\d),\d{3}( --> )(\d\d:\d\d:\d\d),\d{3}'
        [color="#000000"]pc[color="#008000"]=[color="#000080"]re[color="#008000"].[color="#808000"]compile[color="#000000"](p)
        [color="#000000"]aContentTgt[color="#008000"]=[color="#000000"][]
        [color="#0000ff"]for [color="#000000"]ln [color="#0000ff"]in [color="#000000"]aContent:
                [color="#000000"]m[color="#008000"]=[color="#000080"]re[color="#008000"].[color="#000000"]search(p,ln)
                [color="#0000ff"]if [color="#000000"]m:
                        [color="#000000"]t1,middle,t2[color="#008000"]=[color="#000000"]m[color="#008000"].[color="#000000"]group(1,2,3)
                        [color="#0000ff"]if [color="#000000"]t1[color="#008000"]


本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/28253/showart_269226.html
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP