Astra linux в делах и заботе

Качаем видео с YouTube, VK и не только (в консоли)

[05.11.2022]

Есть проект yotube-dl, утилита прекрасно скачивает видео с youtube и других ресурсов.

youtube-dl https://youtu.be/cLe8M4_WKgg

Так как более параметров (кроме url) мы не задали, то ву текущую директорию скачается видеофайл с названием равным своему описанию на Youyube канале.

Поступил намедни запрос скачать пару обучающих видео с Вконтакте (vk.com), а наша утилита yotube-dl не смогла нам помочь. Vk внес небольшие правки в логику своего сайта.

Ждало нас по началу разочарование:

astra@astra16:~$ youtube-dl https://m.vk.com/video-141933106_456239045
[vk] -141933106_456239045: Downloading JSON metadata
ERROR: This video is only available for registered users. Use --username and --password or --netrc to provide account credentials.

Поиск вывел нас на хорошее решение - форк (yotube-dl): YT-DLP, в котором исправлены проблемы с VK и есть новые функции.

Установка

Установить можно различными способами, например через SNAP (для Astra CE актуально, так как там требуется python 3.7)

sudo snap install yt-dlp

Работа

Работа утилиты такая же:

yt-dlp Ваш_URL

Один ньюанс, если описание видео длинное, то возможно появление следующей ошибки:

astra@astra16:~/Desktop$ yt-dlp  https://m.vk.com/video-141933106_456239047
[vk] -141933106_456239047: Downloading JSON metadata
[vk] -141933106_456239047: Downloading m3u8 information
[info] -141933106_456239047: Downloading 1 format(s): hls-2853
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 2520
[download] Destination: 13.10.22 Всероссийский онлайн-семинар «Дошкольное образование детей с РАС: реализация АООП и применение доказательных практик» [-141933106_456239047].mp4
ERROR: unable to download video data: [Errno 36] File name too long: '13.10.22 Всероссийский онлайн-семинар «Дошкольное образование детей с РАС: реализация АООП и применение доказательных практик» [-141933106_456239047].mp4.ytdl'

Решение простое - через параметр -o задать название результирующего файла:

yt-dlp -o Название_видео Ваш_URL

yt-dlp делает все, чтобы быть хорошей программой для командной строки, ее можно вызвать из любого языка программирования.

И да, yt-dlp это очень мощный комбайн, описание параметров которого занимает несколько экранов текста ))

← Назад Оглавление Дальше →