#!/usr/bin/python # coding=UTF-8 import os.path import sys import re #res="640x480" res="" lst = [] user = sys.argv[1] directory = os.path.join(user,'video') pos = 3 for item in os.listdir(directory): if os.path.isfile(os.path.join(directory, item)) and re.match('.*\.(mpg|mpeg|avi|mp4|flv)', item, re.IGNORECASE): lst.append(item) lst.sort() r = ''' ''' r += "Видео от байкера %s" % (user) r += ''' ''' r += "

Видео от байкера %s

" % (user) r += '''
''' previews_directory = os.path.join(directory, 'previews') if not os.path.isdir(previews_directory): os.mkdir(previews_directory) for n, filename in enumerate(lst): if not os.path.isfile(os.path.join(previews_directory, filename)): error_code = os.system('ffmpeg -i "%s" -an -ss %d -an -r 1 -vframes 1 -y -f mjpeg -deinterlace "%s.jpg"' % (\ os.path.join(directory, filename), pos, os.path.join(previews_directory, filename)) ) assert error_code == 0 error_code = os.system('convert "%s.jpg" -thumbnail %s\! -quality 60 "%s.jpg"' % (\ os.path.join(previews_directory, filename), res, os.path.join(previews_directory, filename)) ) if n > 0: r += '\t\t\tНазад%s\n' % (n, ' ' * 5) else: r += '\t\t\tНачало%s\n' % (' ' * 5) r += '\t\t\tРолик №%d из %d\n' % (n + 1, n + 1, len(lst)) if n < len(lst) - 1: r += '\t\t\t%sВперёд\n' % (' ' * 5, n + 2) r += '\t\t\t






\n' % (filename, filename) r += '\n' r+= '''
''' os.system ( 'rm -f "%s"' % (os.path.join(directory,'index.html'))) a=open(os.path.join(directory,'index.html'),'w') a.write(r) a.close() # also make a tar archive with all images (.tar.gz is not so good for jpegs) tar = '%s-video.tar' % (user) if not os.path.exists(os.path.join(user,tar)): os.system ('cd "%s"; find . -maxdepth 1 -regextype posix-egrep -iregex ".*(mp4|avi|mpg|mpeg|flv)$" -print0 | xargs --null tar -cf "../%s"' % (directory, tar) )