Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Пишем собственный скрипт для скачивания музыки с Youtube

Оригинал: Write Your Own Youtube Music Downloader Script
Автор: panos georgiadis
Дата публикации: 24 июля 2012 года
Перевод: А. Кривошей
Дата перевода: 27 августа 2012 г.

Бесспорным фактом является то, что YouTube является одним из трех самых посещаемых веб-сайтов в мире. Многие люди загружают туда созданные ими клипы, песни, подкасты, скринкасты и т.д., все это доступно каждому пользователю интернет.
Эти видеоклипы предназначены только для домашнего использования. Но если говорить честно, я даже не могу вспомнить, сколько раз я заходил на YouTube, чтобы послушать свои любимые песни, или просто случайно натыкался на каналы, заполненные защищенной копирайтом музыки. В связи с этим возникает вопрос...

Легально ли скачивать видеоклипы с Youtube?

И да и нет. В техническом смысле, если вы посмотрите на временные файлы в Ubuntu, любое просматриваемое вами видео или по крайней мере часть его уже скачаны на ваш компьютер. Но просто сказать, что оно теперь ваше, вы не можете. В целом, если вы уже имеете скачиваемый контент, то все в порядке (например, как вы делаете рип с купленного CD, чтобы слушать в mp3 на портативном плейере). Хотя, в наши дни так много различий в законах в зависимости от страны, где вы живете, политики YouTube, музыкальной индустрии, MPAA/RIAA, ACTA, гражданских прав... Все это усложняет ситуацию. Поэтому, пожалуйста, перед тем как скачивать что-нибудь, убедитесь, что этот видеоклип не защищен копирайтом.
Целью этой статьи является показать вам мощь терминала, а не вовлекать вас в какие-либо незаконные действия. Поэтому скачивание защищенного копирайтом контента или использование его для получения прибыли (например продажа CD с защищенными копирайтом материалами) недопустимо.

Пожалуйста, используйте это руководство только в образовательных целях.

Получение пакетов

Для скачивания видео с Youtube мы собираемся использовать Youtube-dl, а для того, чтобы конвертировать видео в аудио (mp3), мы будем использовать ffmpeg, поэтому убедитесь, что оба эти приложения корректно установлены в вашей системе. Нижеследующие инструкции предназначены для Ubuntu Precise Pangolin 12.04 LTS / Oneiric Ocelot 11.10.

$ sudo apt-get install youtube-dl
$ sudo apt-get install ffmpeg libavcodec-extra-53

Написание скрипта

Откройте свой любимый текстовый редактор. Лично я предпочитаю gedit. Его можно запустить командой:

$ gedit myscript.sh

Скрипт очень прост для понимания и вы можете как угодно модифицировать его для своих нужд. Этот скрипт спрашивает вас, какого исполнителя и какую песню вы хотите, затем ищет клип на Youtube и скачивает его. Затем ffmpeg конвертирует ваше видео (обычно в формате flv) в mp3. Далее преобразованный файл перемешается в папку /home/yourname/Music.

Запуск скрипта

Чтобы запустить скрипт, необходимо сделать его исполняемым. Для этого введите следующую команду:

$ chmod +x music1.sh
$ ./music

Как можно увидеть из команд скрипта, мы используем только легальные данные для скачивания видео с Youtube. Однако это не значит, что само скачивание законно. Важно действие, а не инструмент для него. Мы всего лишь хотим продемонстрировать мощь командной строки.

работа скрипта

Модифицирование скрипта

Вы можете изменять код по своему усмотрению в соответствии со своими нуждами. Позвольте мне также предложить несколько альтернативных вариантов. Еще один скрипт позволяет автоматизировать процесс. Создайте текстовый файл и скопируйте в него все ссылки с Youtube, которые вы хотите скачать и конвертировать в mp3. Сохраните файл в той же директории, где находится скрипт. Вот его код:

Для тех, кто предпочитает скачивать плейлисты, имеется еще один вариант:

Исправление ошибок

Большинство возникающих ошибок связаны с отсутствующими кодеками в ffmpeg. Для их исправления возможно понадобится собрать ffmpeg вручную. Если проблема не в ffmpeg, попробуйте обновить yourube-dl. Если проблема не исчезла, посмотрите еще раз на код. На Youtube имеется множество доступных форматов видео, но этот скрипт работает только с .flv. Поэтому, если вам встретятся любые другие форматы, внесите соответствующие изменения в код скрипта.