Заставьте youtube-dl показывать вывод при использовании скриптами - PullRequest
0 голосов
/ 08 апреля 2020

youtube-dl показывает ход загрузки в виде выходного сообщения командной строки. Он прекрасно работает в cmd, но при использовании сценарием youtube-dl отображает только это предупреждение

ПРЕДУПРЕЖДЕНИЕ. При использовании средства извлечения информации generi c.

и продолжает загружать файл без вывода сообщений, скрывая другие выходные данные.

Вот сценарий

import os
link = "example_link"
filename = "C:\Path\to\folder\file.mp4"
command = f'youtube-dl --newline -i -f best -o "{filename}" "{link}"'
print(os.popen(command).read())

Моя цель - найти способ показать выходные данные во время работы сценария.

1 Ответ

0 голосов
/ 29 апреля 2020

Этот код печатает (выводит) ход загрузки с теми же параметрами:

import youtube_dl

link = "example_link"
filename = "C:\Path\to\folder\file.mp4"

ytb_opts = {
    'newline':True,
    'ignoreerrors':True,
    'format':'best',
    'outtmpl':filename
    }

ydl = youtube_dl.YoutubeDL(ytb_opts)
ydl.download([link])

Если вам нужно настроить сообщение о прогрессе, вы должны переопределить функцию report_progress в классе FileDownloader.

...