class TestVideoConverter(unittest.TestCase): def setUp(self): self.mock_executor = MagicMock(spec=Executor) self.mock_executor.execute.return_value = 0 self.test_model = VideoConverter(self.mock_executor) def __run_test(self): self.test_model.convert_to_mp4(PATH_TO_INPUT, PATH_TO_OUTPUT, CREATE_TIME) def test_it_should_properly_form_the_shell_command(self): self.__run_test() self.mock_executor.execute.assert_called_once_with( [ "ffmpeg", "-y", "-i", PATH_TO_INPUT, "-threads", "16", "-f", "mp4", "-metadata", "creation_time=2015-11-18 00:00:00", PATH_TO_OUTPUT, ] ) def test_it_should_raise_an_error_if_the_conversion_failed(self): self.mock_executor.execute.side_effect = CalledProcessError(1, "cmd") with self.assertRaises(RuntimeError): self.__run_test()
def play_converted_video(self: 'Gui'): if not self.playing_video: self.playing_video = True converter = VideoConverter(self.frame_nums_to_write, self.jpgFolder, self.audio.data, 30, \ self.audio.rate, self.audio.sampwidth) self.play_converted_video_button.setText('Pause') converter.play() self.play_converted_video_button.setText('Play') self.playing_video = False else: self.keyboard_emulator.press('p') self.keyboard_emulator.release('p') self.video_paused = not self.video_paused if self.video_paused: self.play_converted_video_button.setText('Play') else: self.play_converted_video_button.setText('Pause')
def setUp(self): self.mock_executor = MagicMock(spec=Executor) self.mock_executor.execute.return_value = 0 self.test_model = VideoConverter(self.mock_executor)
if start is not None: frame_nums_to_write.append((start, end)) num_selected_frames += (end - start) frames.append(end - start) if num_selected_frames >= min_frames: break frame_nums_to_write.sort(key=lambda x: x[0]) return frame_nums_to_write if __name__ == "__main__": folder = 'test_data_3' video_name = 'test_video_3' frames_rgb_folder = 'input/test_dataset/{folder}/frames_rgb_test/{video_name}/'.format( folder=folder, video_name=video_name) frames_jpg_folder = 'input/test_dataset/{folder}/frames_test/{video_name}/'.format( folder=folder, video_name=video_name) audio_file = 'input/test_dataset/{folder}/{video_name}.wav'.format( folder=folder, video_name=video_name) evaluator = Evaluator(frames_rgb_folder, audio_file, None) evaluator.evaluate() frame_nums_to_write = evaluator.select_frames() # offline run converter = VideoConverter(frame_nums_to_write, frames_jpg_folder, evaluator.audio.data, 30, evaluator.audio.rate, evaluator.audio.sampwidth) converter.offline_conversion( './output_offline/{video_name}'.format(video_name=video_name))