#python-3.x #interrupt #youtube-dl
#python-3.x #прерывание #youtube-dl
Вопрос:
Когда я прерываю процесс загрузки (нажатием ctrl c), вместо получения файла mp4 я получаю файл части. Я также получаю следующие сообщения :
Exiting normally, received signal 2.
ERROR: ffmpeg exited with code 255
Это часть кода :
self.ydl_opts = {}
with youtube_dl.YoutubeDL(self.ydl_opts) as ydl:
ydl.download([self.download_url])
Также я забыл упомянуть, что если изменить имя файла с filename.mp4.part
на finemame.mp4
, я могу нормально смотреть видео.
Любая помощь очень ценится!
Ответ №1:
Такое поведение требуется, поскольку вы должны иметь возможность перезапустить загрузку. Затем он продолжит или, по крайней мере, должен продолжить загрузку с того места, где вы остановились.
Вы могли бы попробовать использовать
--no-part
при использовании в командной строке
или nopart
True
при использовании встроенного youtube-dl
это приведет к прямой записи выходных данных.
Комментарии:
1. А что, если я хочу сохранить файл mp4 до завершения потока? Также я не думаю, что такое поведение является нормальным, потому что, когда я делаю то же самое через cmd, я получаю файл mp4.
Ответ №2:
Я только что понял это, мне пришлось использовать os.rename(old_title,new_title)
where, old_title = video_title '.part'
и new_title = video_title '.mp4'
, тем не менее, это ненормально, когда я делаю то же самое через cmd, программа возвращает mp4, во всяком случае, это работает для меня!