|
|
@ -5,6 +5,7 @@ import logging |
|
|
|
import os |
|
|
|
import os |
|
|
|
import platform |
|
|
|
import platform |
|
|
|
import shutil |
|
|
|
import shutil |
|
|
|
|
|
|
|
import sys |
|
|
|
import time |
|
|
|
import time |
|
|
|
from argparse import ArgumentParser, ArgumentTypeError |
|
|
|
from argparse import ArgumentParser, ArgumentTypeError |
|
|
|
from collections.abc import Sequence |
|
|
|
from collections.abc import Sequence |
|
|
@ -283,6 +284,7 @@ def main(): |
|
|
|
p.add_argument('-s', '--start', help='start clipping at <start> seconds', type=int) |
|
|
|
p.add_argument('-s', '--start', help='start clipping at <start> seconds', type=int) |
|
|
|
p.add_argument('-t', '--title', help='overlay this title on the video (e.g. "Chill driving across the Golden Gate Bridge")', type=validate_title) |
|
|
|
p.add_argument('-t', '--title', help='overlay this title on the video (e.g. "Chill driving across the Golden Gate Bridge")', type=validate_title) |
|
|
|
args = parse_args(p) |
|
|
|
args = parse_args(p) |
|
|
|
|
|
|
|
exit_code = 1 |
|
|
|
try: |
|
|
|
try: |
|
|
|
clip( |
|
|
|
clip( |
|
|
|
data_dir=args.data_dir, |
|
|
|
data_dir=args.data_dir, |
|
|
@ -295,12 +297,14 @@ def main(): |
|
|
|
target_mb=args.file_size, |
|
|
|
target_mb=args.file_size, |
|
|
|
title=args.title, |
|
|
|
title=args.title, |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
exit_code = 0 |
|
|
|
except KeyboardInterrupt as e: |
|
|
|
except KeyboardInterrupt as e: |
|
|
|
logger.exception('interrupted by user', exc_info=e) |
|
|
|
logger.exception('interrupted by user', exc_info=e) |
|
|
|
except Exception as e: |
|
|
|
except Exception as e: |
|
|
|
logger.exception('encountered error', exc_info=e) |
|
|
|
logger.exception('encountered error', exc_info=e) |
|
|
|
finally: |
|
|
|
finally: |
|
|
|
atexit._run_exitfuncs() |
|
|
|
atexit._run_exitfuncs() |
|
|
|
|
|
|
|
sys.exit(exit_code) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
|
|
if __name__ == '__main__': |
|
|
|