import os

# This script goes through all jpegs in the render dir and makes movies from them

tempf = '/tmp/videoRender.temp'
jpgFolders = '/tmp/videoRenderFiles.temp'

search = '/shared/render/'


def main():
	
	os.system('find %s > %s' % (search, jpgFolders))

	file_jpgFolders = open(jpgFolders, 'r').readlines()
	
	dirs = {}
	
	errors = {}
	error_count = 0
	tot = len(file_jpgFolders)
	
	# Get all folders containing jpegs
	for i, line in enumerate(file_jpgFolders):
		line = line.strip()
		if line.lower().endswith('.jpg') and '/jpg/' in line:
			
			#print 'Loading', line, str(int( (float(i)/tot) * 100.0 )) + '% done,  error count:', error_count
			jpgdir, filename = line.split('/jpg/')
			jpgdir = jpgdir + '/jpg/'
			
			# Ok we have a path containing jpegs 
			# /shared/render/05_throwing/10/jpg/foo.jpg
			
			# Add a list for this folder if its not there.
			dirs.setdefault(jpgdir, []).append(filename)
	
	for jpgdir, files in dirs.iteritems():
		if len(files) > 1:
			#### fname = jpgdir.split('/')[-4] + '_' + jpgdir.split('/')[-3]
			
			fname = jpgdir.split('/')[-4].split('_')[0] + '_' + jpgdir.split('/')[-3]
			
			# print fname
			# make an avi from the jpegs
			os.system('mencoder mf://%s*.jpg -mf w=1920:h=1080:fps=24 -ovc copy -o %s../../%s_hi.avi' % (jpgdir, jpgdir, fname))
			
			# now for a low quality mpeg4
			#os.system('mencoder mf://%s*.jpg -mf w=960:h=540:fps=24 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vbitrate=1600 -o %s../../%s.avi' % (jpgdir, jpgdir, fname))
			os.system('mencoder mf://%s*.jpg -mf w=960:h=540:fps=24 -ovc lavc -lavcopts vcodec=ljpeg -o %s../../%s.avi' % (jpgdir, jpgdir, fname))
			
	# os.system('rm ' + tempf)
	os.system('rm ' + jpgFolders)
	

main()
		
		
		
		

