использование youtube-dl для загрузки всего канала YouTube

Таким образом, я пытаюсь загрузить весь канал YouTube с помощью youtube-dl. Я знаю, что при использовании команды-F она дает Вам список качественного типа видео. Мой вопрос - это: как загрузить высшее качество всех видео, таким образом, загрузка не принимает значение по умолчанию к 460 пунктам или что-то низко как этот.

16
задан 4 December 2016 в 07:47

2 ответа

Этот ответ не будет работать над более старыми версиями youtube-dl. Необходимо обновить youtube-dl к последней версии. Можно или установить последнюю версию youtube-dl локально в виртуальной среде Python ( virtualenv), или можно загрузить последнюю версию youtube-dl и установить ее глобально (sudo apt install python-pip && sudo pip install youtube-dl). youtube-dl является также поспешным пакетом. Устанавливать его тип:

sudo snap install youtube-dl

Открывают терминал и тип:

youtube-dl -f best -ciw -o "%(title)s.%(ext)s" -v <url-of-channel>

..., где <url-of-channel> заменяется URL канала.

Примечание: при загрузке большого количества видео необходимо изменить каталоги на каталог, где Вы хотите сохранить видео, прежде чем Вы начнете загружать их.

Объяснение

-f, --format FORMAT
    video format code. The special name "best" will pick the best quality.

-c, --continue                   
    force resume of partially downloaded files

-i, --ignore-errors              
    continue on download errors, for example to skip unavailable videos in a channel 

-w, --no-overwrites
    do not overwrite files

-o, --output
    Output filename template, this example functions similarly to the old --title option

-v, --verbose
    print various debugging information
48
ответ дан 23 November 2019 в 02:26

TL;DR используйте флаг -f 'bestvideo[height>=720]+bestaudio/best', чтобы получить более высокое разрешение. Полная команда, которую я использовал:

youtube-dl -f "bestvideo[height>=720]+bestaudio/best" -ciw -o "%(title)s.%(ext)s" -v

Вот почему -f best может не дать вам самого высокого разрешения.

Когда вы используете флаг -F для перечисления возможных форматов файлов, иногда он указывает формат 360p как «лучший», например:

youtube-dl -F https://www.youtube.com/watch?v=FmZXCqqx6q0
[youtube] FmZXCqqx6q0: Downloading webpage
[info] Available formats for FmZXCqqx6q0:
format code  extension  resolution note
249    webm   audio only tiny   61k , opus @ 50k (48000Hz), 12.74MiB
250    webm   audio only tiny   80k , opus @ 70k (48000Hz), 16.87MiB
140    m4a    audio only tiny  132k , m4a_dash container, mp4a.40.2@128k (44100Hz), 31.35MiB
251    webm   audio only tiny  158k , opus @160k (48000Hz), 33.34MiB
...
244    webm   854x480    480p  271k , vp9, 30fps, video only, 35.05MiB
398    mp4    1280x720   720p  443k , av01.0.05M.08, 30fps, video only, 102.27MiB
247    webm   1280x720   720p  480k , vp9, 30fps, video only, 63.02MiB
136    mp4    1280x720   720p  489k , avc1.4d401f, 30fps, video only, 114.12MiB
18     mp4    640x360    360p  360k , avc1.42001E, 30fps, mp4a.40.2@ 96k (44100Hz), 87.29MiB (best)

Как видите, последний вариант указан как лучший, несмотря на низкое разрешение. Есть несколько способов обойти это, я пытался загрузить с канала, который загружается в формате 720p, поэтому самым простым способом для меня было использовать -f 'bestvideo[height>=720]+bestaudio/best ' флаг.

В зависимости от вашей ситуации вам, возможно, придется поиграть с выражением выбора формата, возможно, либо увеличив его с 720 до 1080, либо выбрав определенный формат файла, например mp4.

Чтобы увидеть другие примеры выбора формата

Чтобы увидеть полную разбивку параметров

Вам потребуется установить ffmpeg или конвертировать из mkv.

13
ответ дан 1 June 2020 в 16:10

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

Похожие вопросы: