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

推荐订阅源

T
Threatpost
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Security Affairs
N
News and Events Feed by Topic
T
Tenable Blog
P
Proofpoint News Feed
W
WeLiveSecurity
Simon Willison's Weblog
Simon Willison's Weblog
Google DeepMind News
Google DeepMind News
C
CERT Recently Published Vulnerability Notes
Help Net Security
Help Net Security
I
Intezer
T
Threat Research - Cisco Blogs
S
Secure Thoughts
C
Cyber Attacks, Cyber Crime and Cyber Security
L
Lohrmann on Cybersecurity
AWS News Blog
AWS News Blog
Google Online Security Blog
Google Online Security Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Know Your Adversary
Know Your Adversary
Project Zero
Project Zero
The Hacker News
The Hacker News
Security Archives - TechRepublic
Security Archives - TechRepublic
T
Tor Project blog
N
News | PayPal Newsroom
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Hacker News - Newest:
Hacker News - Newest: "LLM"
A
Arctic Wolf
Forbes - Security
Forbes - Security
O
OpenAI News
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Security Latest
Security Latest
P
Palo Alto Networks Blog
S
Schneier on Security
S
Securelist
C
Cybersecurity and Infrastructure Security Agency CISA
H
Heimdal Security Blog
V
Vulnerabilities – Threatpost
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园_首页
T
Troy Hunt's Blog
Latest news
Latest news
Recent Announcements
Recent Announcements
MyScale Blog
MyScale Blog
人人都是产品经理
人人都是产品经理
L
LINUX DO - 热门话题
M
MIT News - Artificial intelligence
N
Netflix TechBlog - Medium
V
Visual Studio Blog
H
Hacker News: Front Page

博客园 - 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,如果是提前则设为正值。