def load_video(self, make_video=False): """ loads and returns the video """ # load video and make it grey scale self.video = VideoFile(self.video_file) self.video = FilterMonochrome(self.video) if self.params['input/zoom_factor'] != 1: self.video = FilterResize(self.video, self.params['input/zoom_factor'], even_dimensions=True) # restrict video to requested frames if self.params['input/frames']: frames = self.params['input/frames'] self.video = self.video[frames[0]: frames[1]] # setup debug output zoom_factor = self.params['output/zoom_factor'] if make_video: if self.output_video is None: raise ValueError('Video output filename is not set.') self.output = VideoComposer(self.output_video, size=self.video.size, fps=self.video.fps, is_color=True, zoom_factor=zoom_factor) if self.params['output/show_video']: self.debug_window = ImageWindow(self.output.shape, title=self.video_file, multiprocessing=False) else: self.debug_window = None else: self.output = None
def debug_setup(self): """ prepares everything for the debug output """ # load parameters for video output video_output_period = int(self.params['output/video/period']) video_extension = self.params['output/video/extension'] video_codec = self.params['output/video/codec'] video_bitrate = self.params['output/video/bitrate'] # set up the general video output, if requested if 'video' in self.debug_output or 'video.show' in self.debug_output: # initialize the writer for the debug video debug_file = self.get_filename('pass3' + video_extension, 'debug') self.debug['video'] = VideoComposer( debug_file, size=self.video.size, fps=self.video.fps, is_color=True, output_period=video_output_period, codec=video_codec, bitrate=video_bitrate) if 'video.show' in self.debug_output: name = self.name if self.name else '' position = self.params['debug/window_position'] image_window = ImageWindow( self.debug['video'].shape, title='Debug video pass 3 [%s]' % name, multiprocessing=self.params['debug/use_multiprocessing'], position=position) self.debug['video.show'] = image_window