#!/usr/bin/python import sys import struct class GetFPS(object): def __init__(self, filename): self.filename = filename def __enter__(self): return self.fps def fps(self): self.file = open(self.filename,"r+b") s = self.file.read(4) if s == "\x1a\x45\xdf\xa3": return self.get_mkv_fps() elif s == "RIFF": self.file.seek(32) return 1000000.0 / float(struct.unpack('I', self.file.read(4))[0] ) ) file = sys.argv[1] try: with GetFPS(file) as _fps: fps = _fps() except: print >> sys.stderr, "%s" % sys.exc_info()[1] fps = 0 print "%.3f" % fps