Moviepy по-прежнему печатает индикатор выполнения даже после установки для `verbose` значения`False`

Я пытался подавить вывод консоли, полученный из moviepy при вызове метода write_videofile. Я передал подробный аргумент как Ложный, но безрезультатно. Это все еще выводит что-то вроде:

0%| | 0/1624 [00:00<?, ?it/s]
0%| | 8/1624 [00:00<00:20, 77.64it/s]
1%| | 16/1624 [00:00<00:20, 78.31it/s]
2%|1 | 25/1624 [00:00<00:20, 77.90it/s]
2%|2 | 34/1624 [00:00<00:19, 80.80it/s]
3%|2 | 42/1624 [00:00<00:20, 75.91it/s]
3%|3 | 51/1624 [00:00<00:20, 76.07it/s]
4%|3 | 58/1624 [00:00<00:25, 62.44it/s]
4%|4 | 65/1624 [00:00<00:28, 54.77it/s]
4%|4 | 71/1624 [00:01<00:28, 53.63it/s]
5%|4 | 77/1624 [00:01<00:29, 52.69it/s]
5%|5 | 83/1624 [00:01<00:28, 54.06it/s]
5%|5 | 89/1624 [00:01<00:29, 52.80it/s]
6%|5 | 96/1624 [00:01<00:26, 56.95it/s]
6%|6 | 102/1624 [00:01<00:29, 52.38it/s]
7%|6 | 108/1624 [00:01<00:29, 51.74it/s]
...
...
...
100%|#########9| 1621/1624 [00:28<00:00, 51.43it/s]
100%|##########| 1624/1624 [00:28<00:00, 57.75it/s]

Есть ли способ полностью подавить вывод?

6 ответов

Решение

Да.

Есть параметр в write_vidiofile а также write_audiofile называется progress_bar, Проходить progress_bar=False удалить индикатор выполнения. Обычно вы также хотите пройти verbose=False а также, как у вас.

Чтобы получить эту функциональность, вам, вероятно, придется запустить pip install moviepy --upgrade (своп pip за pip3 если используется Python 3), так как он был только что добавлен (добавлено в moviepy версии 0.2.3.1).

Полное использование это:

clip = VideoFileClip("video.mp4")  # Generate a clip
clip.write_videofile("output.mp4")  # Prints progress bar and info
clip.write_videofile("output.mp4", verbose=False)  # Just prints progress bar
clip.write_videofile("output.mp4", verbose=False, progress_bar=False)  # Prints nothing

progress_bar параметр также должен прийти к write_images_sequenceВ настоящее время мы стремимся к версии 0.2.3.2.

Теперь в 2019 году вы должны использовать clip.write_videofile("output.mp4", verbose=False, logger=None) скрыть индикатор выполнения, используя progress_bar=True получил ошибку вроде: TypeError: write_audiofile() got an unexpected keyword argument 'progress_bar'

Чтобы отключить индикатор выполнения или любое другое сообщение от Moviepy, обязательно установите

Регистратор в «Нет»

      write_videofile(self, filename, logger=None)

Для фильма ==1.0.3

использовать

      logger=None

Вызов help(clip.write_videofile) показывает, что:

подробный (не рекомендуется, сохранен для совместимости) Ранее использовался для включения / выключения сообщений. Используйте logger = None сейчас.

Итак, вам нужно установить параметр logger=None.

Теперь в Moviepy версии 1.0.3 это выглядит следующим образом:

video.audio.write_audiofile(audio_file_path.wav, verbose= False, logger= None)

progress_bar изменен на logger. Просто установите для него значение «Нет», если вам не нужен индикатор выполнения.

Другие вопросы по тегам