惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - cpunion

使用dpkt和pcap抓包 [收藏] jfwan实现的一个C++委托类 [c++] c++0x中的auto和typeof ACE_TP_Reactor的限制 ACE_SOCK_Stream send和recv超时设置 哀悼18位在车祸中死去的人 对ACE_TP_Reactor定时器处理机制做一点修改。 C++编写“异步调用代理组件”的一点想法 有趣的东西:Test () () () () () () () () () (); - cpunion VC2005 Beta 2 模板偏特化有些问题 [python] and or 表达式陷阱一则。 我们的标准化委员会网站在哪? 不就是个座嘛 answers.com真是个不错的网站 《星际之门》和《亚特兰蒂斯》总算是更新了 生成gb2312码表 - cpunion - 博客园 [假如设计一个新语言] 哪些语言特性是我想要的 写一个CopyOnWrite的通用实现(C++) - cpunion - 博客园 Python写的一个适配器类。
Media Player Classic外挂字幕时间调整脚本
cpunion · 2005-07-31 · via 博客园 - cpunion

使用Media Player Classic播放外挂字幕的电影,有时会出现字幕和语音有偏移的情况,这个可能有2个原因:
1、加载字幕文件时,系统忙造成偏移;
2、字幕文件本身时间不准;

对于第1种情况,只要打开视频文件,加载字幕以后按停止,再按播放即可解决。
第2种情况就需要特别处理了,一般会整个播放期间都有偏移,所以我们只需要把字幕文件里的时间相应作个位移即可,以下是用python写的调整脚本:

offset = -13 # 需要位移的时间,单位是秒
## 下面分别是源文件和输出文件
## 写GUI是个麻烦事,使用命令行也会好用多少,所以先放在这里了,要修改只需要改这个即可。
src_file 
= '[我是谁].Jackie.Chan.-.Who.Am.I.(1998).DVDRip.AC3.imagecker-PoD-CD2.srt'
dest_file 
= 'cd2.srt'

import re

= open (src_file, 'r+')
fcopy 
= open (dest_file, 'w+')

need_write 

= False
group 
= ''
for line in f.readlines ():
    
if len(line.strip()) == 0: # blank line, write a group lines
        group 
+= line
        
if need_write:
            fcopy.write (group)
        group 
= ''
        
continue        
    result 
= re.findall('^(\\d+):(\\d+):(\\d+),(\\d+) --> (\\d+):(\\d+):(\\d+),(\\d+)$', line)
    
if len(result) != 1 or len(result[0]) != 8:
        group 
+= line
        
continue
    result 
= map(int, result [0])
    start 
= result[0* 3600 + result[1* 60 + result[2+ offset
    end 
= result[4* 3600 + result[5* 60 + result[6+ offsetif start < 0 or end < 0:
        need_write 
= False
        
continue
    result[
0= start / 3600
    start 
%= 3600
    result[
1= start / 60
    start 
%= 60
    result[
2= start

    result[

4= end / 3600
    end 
%= 3600
    result[
5= end / 60
    end 
%= 60
    result[
6= end

    line 

= '%02d:%02d:%02d,%03d --> %02d:%02d:%02d,%03d\r\n' % tuple(result)
    group 
+= line
    need_write 
= Trueif group:
    fcopy.write (group)
fcopy.close()
f.close()


我在观看verycd.com上下载的《我是谁》时,由于字幕比语音落后了13秒,所以这里参数设为-13,如果是提前则设为正值。