From f6fc2bb124886bc238ee04786b249d5749093e39 Mon Sep 17 00:00:00 2001 From: gpoirier Date: Mon, 27 Jun 2005 13:33:40 +0000 Subject: =?UTF-8?q?vobsub=20time-adjust=20tool=20by=20G=C3=83=C2=A1bor=20F?= =?UTF-8?q?arkas=20<=20gabor=20AH=20nekomancer=20POUM=20net=20>?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15830 b3059339-0415-0410-9bf9-f77b7e298cf2 --- TOOLS/README | 10 ++++++++++ TOOLS/vobshift.py | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100755 TOOLS/vobshift.py (limited to 'TOOLS') diff --git a/TOOLS/README b/TOOLS/README index 671074dbf9..e89be12496 100644 --- a/TOOLS/README +++ b/TOOLS/README @@ -401,6 +401,16 @@ Usage: install-w32codecs.sh install install-w32codecs.sh uninstall +vobshift.py + +Author: Gábor Farkas + +Description: Adjust the time-info in vobsub files + +Usage: vobshift.py in.idx out.idx +8.3 + Will shift the time by 8.3 seconds + + subrip.c Author: Kim Minh Kaplan diff --git a/TOOLS/vobshift.py b/TOOLS/vobshift.py new file mode 100755 index 0000000000..180b5c486f --- /dev/null +++ b/TOOLS/vobshift.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python + +#usage: +# +# vobshift.py in.idx out.idx -8.45 +# +# this will read in in.idx,shift it by 8.45 seconds back, +# and save it as out.idx +# +# license: i don't care ;) +# + +import datetime +import sys + +def tripletize(line): + begin = line[:11] + middle = line[11:23] + end = line[23:] + return (begin,middle,end) + +def text2delta(t): + h = int( t[0:2] ) + m = int( t[3:5] ) + s = int( t[6:8] ) + milli = int( t[9:12] ) + return datetime.timedelta(hours=h,minutes=m,seconds=s,milliseconds=milli) + +def delta2text(d): + t = str(d) + milli = t[8:11] + if len(milli) == 0: #fix for .000 seconds + milli = '000' + return '0'+t[:7]+':'+milli + +def shift(line,seconds): + triplet = tripletize(line) + + base = text2delta(triplet[1]) + base = base + datetime.timedelta(seconds=seconds) + base = delta2text(base) + + return triplet[0]+base+triplet[2] + +INFILE =sys.argv[1] +OUTFILE =sys.argv[2] +DIFF =float(sys.argv[3]) + +o = open(OUTFILE,'wt') + + +for line in open(INFILE): + if line.startswith('timestamp'): + line = shift(line,DIFF) + + o.write(line) + +o.close() -- cgit v1.2.3