Главная Статьи youtube-dl как альтернатива подписке на каналы в youtube
 
   
Главная
Новости
Статьи
FAQ
Конкурсы
Форум
Ссылки

Получать новости
на E-mail:











 
youtube-dl как альтернатива подписке на каналы в youtube
Автор: Rimlyanin   
06.04.2015 06:48

Системный администратор должен быть ленив, настолько ленив, чтобы автоматизировать рутинные операции. Например такие, как отслеживание публикации новых роликов на интересующих его каналах на видеохостинге youtube. Небольшой скрипт, использующий youtube_dl, запускаемый по крону на NAS легко с этим справится.

Ранее я описывал несколько конфигураций собираемых мною NAS серверов: NAS в корпусе от CD-проигрывателя Kenwood DP-2030 и NAS под управлением NAS4Free на 4HDD в ZFS с возможностью расширения. Оба они умеют скачивать и раздавать торренты, оба являются домашними DLNA-серверами на базе MiniDLNA, для просмотра мультимедии на телевизорах, планшетах, смартфонах и прочих DLNA клиентах, так почему бы не научить NAS ещё отслеживать появление новых роликов на интересующих youtube-каналах и скачиванию их?

Ранее я уже описывал написанный на python скрипт для выкачивания роликов с youtube и других видеохостингов - youtube_dl, именно его и будем использовать. Сначала приведу листинг, а потом будут пояснения.

#!/bin/sh
youtube-dl -U
cd /mnt/data/files/
mkdir youtube
cd youtube
mkdir pfkhua
cd pfkhua
youtube-dl --write-description --write-thumbnail --max-quality 22 --max-downloads 10 -o '%(upload_date)s %(title)s (%(id)s).%(ext)s' -c -r 2M https://www.youtube.com/user/pfkhua/video
chmod -R 777 /mnt/data/files/youtube/

А теперь по строчкам и с пояснениями.

#!/bin/sh - путь к интерпретатору, его вызов.

youtube-dl -U - принудительное обновление youtube-dl

cd /mnt/data/files/ - именно по этому пути у меня хранятся расшареные файлы, если путь к Вашим файлам у Вас другой - измените эту строку.

mkdir youtube - создаем подпапку youtube

cd youtube - и переходим в неё

mkdir pfkhua - создаем подпапку по имени интересующего нас канала

cd pfkhua - и переходим в неё

youtube-dl --write-description --write-thumbnail --max-quality 22 --max-downloads 10 -o '%(upload_date)s %(title)s (%(id)s).%(ext)s' -c -r 2M https://www.youtube.com/user/pfkhua/video - огромная строка, в скрипте должна быть написана в одну строку, без переносов строк, в ней указано что и как будет скачиваться, давайте разберем ключи подробнее:

--write-description - записывать также описание к видео. Ведь часто в видео говорят что ссылка на что-то будет в описании под видео, и что, посмотрев видео нам открывать браузер и искать этот ролик на ютубе, чтобы посмотреть ссылку?

--write-thumbnail - записывать также миниатюру видео, miniDLNA умеет отображать её клиентам. Согласитесь, по картинке ведь проще найти интересующее нас видео, и также, по нему зачастую понятно о чем будет идти речь в видео, и принять решение, стоит ли его смотреть или нет.

--max-quality 22 - максимальное качество скачиваемого видео. В данном случае это 720P, мне кажется этого достаточно, да и скачивание видео в разрешении 1080P и более несет за собой определенные трудности.

--max-downloads 10 - максимальное количество скачиваемых видео за один раз, если запускать скрипт каждую ночь, то на утро у вас будет минимум 10 самых свежих роликов (или больше, если вы ещё не удалили предыдущие). Ролики, ранее уже скачанные, если они находятся в той же папке и с тем же именем, скачиваться не будут.

-o '%(upload_date)s %(title)s (%(id)s).%(ext)s' - С каким форматом имен будут сохранятся ролики, в данном случае самым удобным для меня оказался вид YYYYMMDD{название_ролика}({ID_ролика}).{расширение} в результате все ролики сортируются по дате публикации, в названии файла присутствует название ролика, и его ID в скобках, по которому, при необходимости, нужный ролик легко найти на youtube

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

-r 2M - лимит скорости загрузки, можно поставить нужное вам значение

https://www.youtube.com/user/pfkhua/video - собственно, ссылка на канал, свежие ролики которого мы и будем скачивать.

chmod -R 777 /mnt/data/files/youtube/ - и напоследок выставляем нашим скачанным роликам права.

И так, записываем скрипт в файл, даем ему права на выполнение, и прописываем его запуск один-два раза за ночь в cron. Лично у меня он запускается дважды: в два часа ночи и пять часов утра, таким образом каждое утро я на телевизоре могу смотреть свежие ролики с интересных для меня каналов.

При необходимости, скрипт легко модифицируется под Ваши нужны, в том числе и под windows. И также легко в неё добавляются другие каналы, надо лишь перед строкой chmod -R 777 /mnt/data/files/youtube/ вставить вот такой кусок кода:

cd ..
mkdir %channel%
cd %channel%
youtube-dl --write-description --write-annotations --write-thumbnail --max-quality 22 --max-downloads 10 -o '%(upload_date)s %(title)s (%(id)s).%(ext)s' -c -r 2M --write-sub --sub-lang ru,en https://www.youtube.com/user/%channel%/video

Заменив, конечно %channel% на интересующий Вас канал, и, при необходимости, изменив ключи вызова youtube-dl.

Вот так, небольшой скрипт избавляет от рутинных действий по отслеживанию новых роликов на интересных каналах, не требует подписки на них, и каких либо действий со стороны пользователя (ну разве что удалять уже просмотренные видеоролики).

 

Tags:
 
 




Последние комментарии

   
 

© 2010-2024 www.modding.kh.ua Копирование авторских текстов и фотографий возможно только с письменного разрешения администрации сайта.

bigmir)net TOP 100 Яндекс.Метрика

 
 
 
Харьковский моддинг сайт https://modding.kh.ua/