Получаем аудио и видео файлы из YouTube

Возникает иногда необходимость скачать аудио или видео файл с видеохостинга YouTube для последующего его воспроизведения в режиме офлайн. Для этого я пользовался онлайн-сервисами для получения нужных мне файлов с YouTube (всего более-менее нормальных я знал два). В итоге с помощью одного сервиса перестали скачиваться видео и аудио файлы если они были защищены авторским правом. А второй сервис имел лимит на скачивание файла если его продолжительность превышает 120 минут. В итоге после такой не радостной сложившейся ситуации появилась необходимость в поиске других вариантов получения файлов с YouTube. В приоритете была попытка в поиске решения для создания ПО с минимальными трудозатратами и без использования API. И здесь я вспомнил что есть отличный плагин для AIMP для воспроизведения потокового аудио с YouTube и некоторых других популярных сервисов. Было решено “копнуть глубже” в его сторону. В итоге поиск увенчался успехом и привел нас к программе “youtube-dl”. Для которой нам необходимо будет произвести соответствующие настройки.

Установка и настройка программы

Сразу хотелось бы заметить это то, что это программа является консольным приложением и имеет версии для таких операционных систем как: Windows, Linux и macOS. Нам интересна версия для Windows.

Для установки нам потребуется файл youtube-dl.exe и пакет Microsoft Visual C++ 2010 Redistributable Package (x86). Если имеется необходимость скачивать видео и аудио файлы, то в дополнительно потребуется одна из библиотек avconv или ffmpeg. Что касается по выбору видео и аудио конвертера, то я свой выбор остановил на avconv. Ниже представлена структура каталога со списком всех необходимых для работы файлов:

D:\yConverter\avconv
D:\yConverter\youtube-dl.exe
D:\yConverter\avconv\avcodec-57.dll
D:\yConverter\avconv\avconv.exe
D:\yConverter\avconv\avdevice-56.dll
D:\yConverter\avconv\avfilter-6.dll
D:\yConverter\avconv\avformat-57.dll
D:\yConverter\avconv\avprobe.exe
D:\yConverter\avconv\avresample-3.dll
D:\yConverter\avconv\avutil-55.dll
D:\yConverter\avconv\libgcc_s_sjlj-1.dll
D:\yConverter\avconv\libmp3lame-0.dll
D:\yConverter\avconv\libogg-0.dll
D:\yConverter\avconv\libopencore-amrnb-0.dll
D:\yConverter\avconv\libopencore-amrwb-0.dll
D:\yConverter\avconv\libopus-0.dll
D:\yConverter\avconv\libvo-aacenc-0.dll
D:\yConverter\avconv\libvo-amrwbenc-0.dll
D:\yConverter\avconv\libvorbis-0.dll
D:\yConverter\avconv\libvorbisenc-2.dll
D:\yConverter\avconv\libvorbisfile-3.dll
D:\yConverter\avconv\libx264-148.dll
D:\yConverter\avconv\swscale-4.dll
D:\yConverter\avconv\zlib1.dll

Полный список параметров для работы с программой находиться здесь. Ну а мы разберем базовые команды для работы.

Команда для получения видео:

youtube-dl [url]

Команда для получения видео в формате mp4:

youtube-dl --ffmpeg-location avconv --format mp4 [url]

Команда для извлечения аудио в формате mp3:

youtube-dl --ffmpeg-location avconv --extract-audio --audio-format mp3 [url]

Команда для работы со списком файлов (ссылки должны располагаться по одной на строку и не содержать вначале символов ‘#’, ‘;’ или ‘]’):

youtube-dl -a list [url]

Если программа перестанет работать, то проверьте актуальность ее версии здесь.