#!/usr/bin/python # Script to import video from Panasonic SDR-H20 Camera / JVC Everio # This script is the same as SDCopy.exe utility in Windows # Script copies mod files, renames them to "YYYY-MM-DD HH-MM.mpg" pattern, where "YYYY-MM-DD HH-MM" is creation time # Script also can optionally set aspect ratio flag # Made by m0sia(m0sia@m0sia.ru) # Update in the commandString (added quotes and capitalized extension) bart@friesoft.nl import os import sys import commands import string import struct import shutil import datetime if len(sys.argv)<3: print "Usage "+sys.argv[0]+" \"camera path\" \"destination path\" [setAspectFlag]" print "camera path contains files from your camera" print "destion path - path, where import mpg files" print "setAspectFlag will set wide screen flag in mpg files, maybe useful" print "Example:" print sys.argv[0]+" ~/Desktop ~/Desktop/Videos setAspectFlag" sys.exit() commandString = "find "+sys.argv[1]+" -path '*.MOD'" files = commands.getoutput(commandString) files = string.split(files, "\n") dir=sys.argv[2]+"/" i=1 for file in files: datafile=file.replace(".MOD",".MOI") f = open(datafile, mode='rb') array=f.read() year,month,day,hour,minutes=struct.unpack(">HBBBB",array[6:12]) date=datetime.date(year,month,day) time=datetime.time(hour,minutes) newfilename=dir+str(date)+" "+time.strftime("%H-%M")+".mpg" print "Copying file "+file+" to "+newfilename+" "+str(i)+"/"+str(len(files)) i=i+1 f = open(file, mode='rb') newfile = open(newfilename, mode='wb') while 1: data=f.read(65536) if data: if len(sys.argv)==4: if sys.argv[3]=="setAspectFlag": data=data.replace("\x2C\x02\x40\x23\x17\x4C","\x2C\x02\x40\x33\x17\x4C") newfile.write(data) else: break