bugfix on the order of the frames
This commit is contained in:
12
generator
12
generator
@@ -31,7 +31,6 @@ def generate_video_thumbnail(args):
|
|||||||
interval = int(args['<interval>'])
|
interval = int(args['<interval>'])
|
||||||
size = (int(args['<width>']), int(args['<height>']))
|
size = (int(args['<width>']), int(args['<height>']))
|
||||||
outputPrefix = get_output_prefix()
|
outputPrefix = get_output_prefix()
|
||||||
|
|
||||||
generate_frames(videoFileClip, interval, outputPrefix, size)
|
generate_frames(videoFileClip, interval, outputPrefix, size)
|
||||||
|
|
||||||
columns = int(args['<columns>'])
|
columns = int(args['<columns>'])
|
||||||
@@ -40,15 +39,16 @@ def generate_video_thumbnail(args):
|
|||||||
|
|
||||||
def generate_frames(videoFileClip, interval, outputPrefix, size):
|
def generate_frames(videoFileClip, interval, outputPrefix, size):
|
||||||
print "Extracting", int(videoFileClip.duration / interval), "frames"
|
print "Extracting", int(videoFileClip.duration / interval), "frames"
|
||||||
|
frameCount = 0
|
||||||
for i in range(0, int(videoFileClip.duration), interval):
|
for i in range(0, int(videoFileClip.duration), interval):
|
||||||
extract_frame(videoFileClip, i, outputPrefix, size)
|
extract_frame(videoFileClip, i, outputPrefix, size, frameCount)
|
||||||
|
frameCount += 1
|
||||||
print " Frames extracted."
|
print " Frames extracted."
|
||||||
|
|
||||||
|
def extract_frame(videoFileClip, moment, outputPrefix, size, frameCount):
|
||||||
def extract_frame(videoFileClip, moment, outputPrefix, size):
|
|
||||||
sys.stdout.write(".")
|
sys.stdout.write(".")
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
output = outputPrefix + str(moment) + ".png"
|
output = outputPrefix + ("%05d.png" % frameCount)
|
||||||
videoFileClip.save_frame(output, t=int(moment))
|
videoFileClip.save_frame(output, t=int(moment))
|
||||||
resize_image(output, size)
|
resize_image(output, size)
|
||||||
|
|
||||||
@@ -78,13 +78,11 @@ def merge_frames(images, finalImage, columns, size, output):
|
|||||||
shutil.rmtree(TMP_FRAMES_PATH, ignore_errors=True)
|
shutil.rmtree(TMP_FRAMES_PATH, ignore_errors=True)
|
||||||
print "Saved!"
|
print "Saved!"
|
||||||
|
|
||||||
|
|
||||||
def get_output_prefix():
|
def get_output_prefix():
|
||||||
if not os.path.exists(TMP_FRAMES_PATH):
|
if not os.path.exists(TMP_FRAMES_PATH):
|
||||||
os.makedirs(TMP_FRAMES_PATH)
|
os.makedirs(TMP_FRAMES_PATH)
|
||||||
return TMP_FRAMES_PATH + ("%032x_" % random.getrandbits(128))
|
return TMP_FRAMES_PATH + ("%032x_" % random.getrandbits(128))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
arguments = docopt(__doc__, version='Naval Fate 2.0')
|
arguments = docopt(__doc__, version='Naval Fate 2.0')
|
||||||
generate_video_thumbnail(arguments)
|
generate_video_thumbnail(arguments)
|
||||||
|
|||||||
Reference in New Issue
Block a user