Мультимедиа в командной строке/yt-dlp
yt-dlp это консольная утилита для скачивания видео. Очень мощная. Есть графическая оболочка для неё, работающая в том числе в MS Windows.
yt-dlp является форком проекта youtube-dl. youtube-dl пользоваться уже нет смысла, но он был предшественником.
Самое быстрое скачивание
[править]Если ничего не хочется выбирать (качество и формат), можно выполнить вот такую команду. И утилита сама выберет лучшие форматы и в результате скачивания получится один файл готовый к использованию.
yt-dlp -f bestvideo+bestaudio/best https://www.youtube.com/watch?v=oX8O4zkpVgA
Скачивание видео и аудио одновременно
[править]Чтобы сразу скачать и видео и звук, в строке запуска yt-dlp нужно указать номера через плюс - "-f 123+456". Но для того чтобы файлы были объединены должен быть рядом yt-dlp в той же папке размещен файл "ffmpeg" либо путь до "ffmpeg" был в PATH.
yt-dlp.exe -o "e:\both.%(ext)s" -f hls-akfire_interconnect_quic-3968+hls-akfire_interconnect_quic-audio-low-Original https://vimeo.com/32423434234 --cookies my_cookies.txt
Чтобы скачанные файлы остались и не были удалены после объединения, то надо добавить -k. С помощью ключа --verbose можно проверить, видит ли yt-dlp ffmpeg и доступен ли он ему.
Имя скачиваемого файла
[править]Если качаются раздельно звук и видео, то надо явно указать название файла. Если этого не сделать, то второй файл уже не скачает, сообщив что он уже имеется. Помимо имени можно сразу указать и путь, где будет размещен скачанный файл.
Пример:
yt-dlpexe -o "e:\hls-akfire_interconnect_quic-3968.%(ext)s" -f hls-akfire_interconnect_quic-3968 https://vimeo.com/234242342 --cookies my_cookies.txt
Скачивание с Vimeo
[править]Для скачивания с Vimeo необходимо иметь учетную запись (она получается бесплатно). Надо войти в нее и получить куки. Затем эти куки надо экспортировать в файл формата Netscape. В этом может помочь плагин Cookie-Editor (cookie-editor.com) для Chrome [1]. Файл нужно указать в строке.
yt-dlp.exe -F https://vimeo.com/34243243 --cookies cok.txt
Скачивание запароленного видео с Vimeo
[править]Указать дополнительно надо пароль
yt-dlp.exe -F https://vimeo.com/34243243 --cookies cok.txt --video-password 4324234
Ошибки при скачивании с Vimeo
[править]Надо указать куки. Без них не получится. Как это сделать описано выше.
[vimeo] 1066401656: Downloading webpage ERROR: [vimeo] 1066401656: The web client only works when logged-in. Use --cookies, --cookies-from-browser, --username and -password, --netrc-cmd, or --netrc (vimeo) to provide account credentials. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-doi-pass-cookies-to-yt-dlp for how to manually pass cookies
Куки можно попробовать указать взять прямо у Chrome, но в MS Windows, похоже, с этим есть проблемы и придется скачивать куки вручную сначала (описано как выше)
yt-dlp.exe -F https://vimeo.com/1066401656 --cookies-from-browser chrome Extracting cookies from chrome ERROR: Could not copy Chrome cookie database. See https://github.com/yt-dlp/yt-dlp/issues/7271 for more info
При такой ошибке надо обновить yt-dlp
ERROR: [vimeo] 1066401656: Failed to fetch android OAuth token: HTTP Error 400: Bad Request (caused by <HTTPError 400: Bad Request>)