Front-end для youtube-dl под Putty и MC

Используем пакеты, расширяющие возможности оборудования
nick7inc
Сообщения: 12
Зарегистрирован: 08 май 2017, 14:59

Сообщение nick7inc » 07 янв 2018, 13:13

День добрый. Недавно поставил под роутер программку для скачивания роликов с ютуба (и не только). Программа - хорошая, но работает из командной строки, так что пользоваться ею без Front-end неудобно. Для Windows/Linux есть уже оболочки, а при запуске из-под роутра не попадались. Решил написать на скриптах шела для более удобного запуска программы с необходимыми параметрами.

Хочу поделиться наработкой. В скриптах я новичок, многое делал методом научного тыка.
Требования:
1) минимальные необходимо установить youtube-dl ffmpeg и ffprobe (это всё необходимо для самого youtube-dl);
2) для запуска закачки в фоне нужен screen;
3) для работы интерактивного режима нужен dialog;
4) умение работать с командной строкой и Midnight Commander.

Папка установки. Лучше все файлы записать в /opt/etc/youtube-dl

Для начала - работа с минимальным комплектом.
Ссылки складываем в файл youtube-dl_url.txt, в файле src.yd_vars настраиваем пути, прокси, предельную скорость закачки; папка для закачек задаётся в переменных OUT (без плейлиста) и OUTPLAYLIST (для плейлистов), в последнем случае сделан макрос/шаблон для раскладывания серий плейлистов по своим папкам.
Запускаем файл saveinfo.sh для получения таблицы с форматами видео (опционально можно передать диапазон серий, например, "saveinfo.sh 1-5"). Результат будет в файле youtube-dl_formats.txt.

Для скачивания в автоматическом качестве запускаем down-auto.sh без параметров или передаём в качестве параметра список серий для плейлиста.

Для скачивания с выбранным качеством запускаем down-selected.sh с обязательным 1м параметром - качество, который берётся из 1го столбца таблицы youtube-dl_formats.txt. Второй необязательный параметр командной строки - список серий для плейлиста. Для 1го параметра можно задавать альтернативные вар-ты качества, например, 22/48/16, тогда при отсутствии 22 будет скачиваться 48 или 16. Также можно использовать слияние, когда нужные видео и аудиодорожки идут отдельно, например, 17+15. В этом случае дорожки будут скачены отдельно и соединены. Но проверки от дурака тут нет, если вы скачаете что-то не то...

screen-down-selected.sh, screen-saveinfo.sh аналогичны down-selected.sh и saveinfo.sh, только запускаются в фоне (можно закрывать окно терминала), но нужен, есс-но screen.

Для работы down-interactive.sh нужен dialog и screen. Позволяет интерактивно выбирать одну закачку из файла youtube-dl_url.txt или вводить адрес вручную (вставка через буфер обмена), выбирать качество из таблицы и работать с плейлистами. Скрипт работает с задержкой, т.к. перед показами диалогов делает 2 запроса: запрос названия и запрос таблицы с качеством. Надо ждать. Скрипт кэширует названия и таблицу с качеством в папке /opt/var/cache/youtube-dl_cache, поэтому повторный запуск по одному и тому же URL пройдёт быстрее.

Файл screens-show.sh показывает, есть ли фоновый процесс, а screens-resume.sh позволяет к нему подключиться (для отключения нажмите CTRL-A-D).

P.S. У down-interactive.sh есть проверка на фоновый процесс, второй он не запустит, а вот у остальных, что работают со screen, лучше не запускать 2ю параллельную задачу: роутер будет подвисать.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»

Кто сейчас на конференции

Всего 12 посетителей :: 2 зарегистрированных, 0 скрытых и 10 гостей (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (121) здесь было 18 май 2016, 18:19

Сейчас этот форум просматривают: CommonCrawl [Bot], Dr.Acid и 10 гостей