view TOOLS/vobshift.py @ 27146:a8681ded2d41

r25756: Document vo gl lscale=3 r25757: Add experimental unsharp-mask OpenGL scaler. r25767: misc spelling fixes r25768: misc markup fixes r25769: better ao/vo profile examples r25786: Add a fragment program for 5x5 unsharp masking r25821: (instead of adding quotation mark, this added a missing paragraph!) r25955: (previously applied) r25973: Hint about possible libmpeg2 problems with -hardframedrop r25984: Slightly document alpha for OSD color r26014: -dumpstream will not dump chapters anymore r26015: Document that framedrop needs -no-correct-pts r26017: removed wrong example
author kraymer
date Mon, 30 Jun 2008 19:35:36 +0000
parents 96b84e3a0d96
children 0f1b5b68af32
line wrap: on
line source

#!/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()