Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
check_framerate = True
cap_framerate = cap_framerates[0]
if framerate is not None:
if isinstance(framerate, float):
if framerate < scenedetect.frame_timecode.MINIMUM_FRAMES_PER_SECOND_FLOAT:
raise ValueError("Invalid framerate (must be a positive non-zero value).")
cap_framerate = framerate
check_framerate = False
else:
raise TypeError("Expected float for framerate, got %s." % type(framerate).__name__)
else:
unavailable_framerates = [(video_names[i][0], video_names[i][1]) for
i, fps in enumerate(cap_framerates) if fps <
scenedetect.frame_timecode.MINIMUM_FRAMES_PER_SECOND_FLOAT]
if unavailable_framerates:
raise VideoFramerateUnavailable(unavailable_framerates)
return (cap_framerate, check_framerate)
error_strs = [
'could not open video%s.' % get_plural(ex.file_list),
'Failed to open the following video file%s:' % get_plural(ex.file_list)]
error_strs += [' %s' % file_name[0] for file_name in ex.file_list]
dll_okay, dll_name = check_opencv_ffmpeg_dll()
if not dll_okay:
error_strs += [
'Error: OpenCV dependency %s not found.' % dll_name,
'Ensure that you installed the Python OpenCV module, and that the',
'%s file can be found to enable video support.' % dll_name]
logging.debug('\n'.join(error_strs[1:]))
if not dll_okay:
click.echo(click.style(
'\nOpenCV dependency missing, video input/decoding not available.\n', fg='red'))
raise click.BadParameter('\n'.join(error_strs), param_hint='input video')
except VideoFramerateUnavailable as ex:
error_strs = ['could not get framerate from video(s)',
'Failed to obtain framerate for video file %s.' % ex.file_name]
error_strs.append('Specify framerate manually with the -f / --framerate option.')
logging.debug('\n'.join(error_strs))
raise click.BadParameter('\n'.join(error_strs), param_hint='input video')
except VideoParameterMismatch as ex:
error_strs = ['video parameters do not match.', 'List of mismatched parameters:']
for param in ex.file_list:
if param[0] == cv2.CAP_PROP_FPS:
param_name = 'FPS'
if param[0] == cv2.CAP_PROP_FRAME_WIDTH:
param_name = 'Frame width'
if param[0] == cv2.CAP_PROP_FRAME_HEIGHT:
param_name = 'Frame height'
error_strs.append(' %s mismatch in video %s (got %.2f, expected %.2f)' % (
param_name, param[3], param[1], param[2]))
def __init__(self, file_name=None, file_path=None, message=
"OpenCV VideoCapture object failed to return framerate when calling "
"get(cv2.CAP_PROP_FPS)."):
# type: (str, str, str)
# Pass message string to base Exception class.
super(VideoFramerateUnavailable, self).__init__(message)
# Set other exception properties.
self.file_name = file_name
self.file_path = file_path
error_strs = [
'could not open video%s.' % get_plural(ex.file_list),
'Failed to open the following video file%s:' % get_plural(ex.file_list)]
error_strs += [' %s' % file_name[0] for file_name in ex.file_list]
dll_okay, dll_name = check_opencv_ffmpeg_dll()
if not dll_okay:
error_strs += [
'Error: OpenCV dependency %s not found.' % dll_name,
'Ensure that you installed the Python OpenCV module, and that the',
'%s file can be found to enable video support.' % dll_name]
logging.debug('\n'.join(error_strs[1:]))
if not dll_okay:
click.echo(click.style(
'\nOpenCV dependency missing, video input/decoding not available.\n', fg='red'))
raise click.BadParameter('\n'.join(error_strs), param_hint='input video')
except VideoFramerateUnavailable as ex:
error_strs = ['could not get framerate from video(s)',
'Failed to obtain framerate for video file %s.' % ex.file_name]
error_strs.append('Specify framerate manually with the -f / --framerate option.')
logging.debug('\n'.join(error_strs))
raise click.BadParameter('\n'.join(error_strs), param_hint='input video')
except VideoParameterMismatch as ex:
error_strs = ['video parameters do not match.', 'List of mismatched parameters:']
for param in ex.file_list:
if param[0] == cv2.CAP_PROP_FPS:
param_name = 'FPS'
if param[0] == cv2.CAP_PROP_FRAME_WIDTH:
param_name = 'Frame width'
if param[0] == cv2.CAP_PROP_FRAME_HEIGHT:
param_name = 'Frame height'
error_strs.append(' %s mismatch in video %s (got %.2f, expected %.2f)' % (
param_name, param[3], param[1], param[2]))