[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 это очень мощный комбайн, описание параметров которого занимает несколько экранов текста ))
| ← Назад | Оглавление | Дальше → |