IPB

Здравствуйте, гость ( Вход | Регистрация )

> youtube-dl-grabber, Упрощение скачивания видео в live-sysv
Поделиться
speccyfighter
сообщение 5.2.2018, 15:49
Сообщение #1


Крупный специалист
*****

Группа: Пользователь
Сообщений: 461
Регистрация: 1.5.2013
Вставить ник
Цитата
Пользователь №: 2379
Страна: Беларусь
Город: Не указан
Пол: Муж.



Репутация: 1


Пакет простых скриптов youtube-dl-grabber предназначен для упрощения скачивания youtube видео в терминале live-sysv без использования подсистемы X.

Запущеный из терминала, скрипт скачивает youtube видео в текущий каталог:
youtube-dl-grab
Код
youtube-dl -f 18 $(grep -E 'youtube.com/watch' ~/.elinks/globhist | tail -n1 | rev | awk '{print $2}' | rev | awk -F '&' '{print $1}')


То же, но для скачивания плейлиста целиком
youtube-dl-grab-playlist
Код
youtube-dl -ciwf 18 -o "%(autonumber)s-%(title)s.%(ext)s"  $(grep -E 'youtube.com/watch' ~/.elinks/globhist | grep list | tail -n1 | rev | awk '{print $2}' | rev)


Зависимости.
Depends:
Код
youtube-dl
grep
elinks
coreutils
util-linux
gawk

Код
Использование youtube-dl-grab, youtube-dl-grab-playlist:
- Использование браузера elinks обязательно:
  скрипты используют его globhist.
- Через браузер elinks зайдите на страницу youtube
  с понравившимся видео.
- Закройте браузер не уходя со страницы.
- Если открывали страницу с видеороликом, запускайте
  youtube-dl-grab.
  Если открывали страницу с плейлистом, запускайте
  youtube-dl-grab-playlist.
- youtube-dl-grab скачивает или одиночное видео или
  первый ролик плейлиста в текущий каталог.
  youtube-dl-grab-playlist скачивает весь плейлист
  в текущий каталог.
  Видео скачивается в качестве 360p.
- После скачивания, находясь в этом текущем каталоге,
  запустите space2lowline:
  скрипт во всех файлах текущего каталога заменит пробелы
  на символ lowline (подчёркивание).
- Для просмотра всех видео в этом каталоге, запустите
  просмотр командой
  mplayer-vc ./*.mp4
  Путь к файлу и имя файла не должны содержать пробелов.
  Просмотр в полноэкранном режиме.
  Масштабирование видео в mplayer-vc автоматическое -
  автоподстройка под разрешение монитора.
  Громкость - клавиши 9,0
  Включить/выключить отображение времени - клавиша o
  Клавиши курсора, PgUp, PgDn - перемотка.



Ещё один скрипт утянутый не помню откуда:

Скрипт запущенный в текущем каталоге, не рекурсивно, заменяет в именах файлов текущего каталога, пробел на символ lowline (подчёркивание), что в свою очередь позволяет просматривать эти видеоролики через mplayer-vc, по возможности сводя количество ручных действий до минимума:
Код
#!/bin/sh

OLDIFS=$IFS
IFS=$'\n'

for x in `find . -name "* *"`
do
    IFS=$OLDIFS
    mv "$x" ${x// /_}
done

(под public domain?)

Работа скриптов проверена в live-sysv-v3

Сообщение отредактировал speccyfighter - 5.2.2018, 16:15
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов
speccyfighter
сообщение 6.2.2018, 11:22
Сообщение #2


Крупный специалист
*****

Группа: Пользователь
Сообщений: 461
Регистрация: 1.5.2013
Вставить ник
Цитата
Пользователь №: 2379
Страна: Беларусь
Город: Не указан
Пол: Муж.



Репутация: 1


Набросал заготовку вывода help.

Теоретически, можно следовать логике:
если root, выводить help на английском;
если не root, на русском
Код
if [ "$1" == "-h" ] || [ "$1" == "--help" ]; then

    if [ $UID = 0 ]; then

    echo
    echo "Usage: `basename $0` [options]"
    echo
    echo "Options:"
    echo " -h, --help - this help"
    echo

    else
    
    echo
    echo "Использование: `basename $0` [опции]"
    echo
    echo " Опции:"
    echo " -h, --help - этот help"
    echo

    fi

exit 0
fi

youtube-dl -f 18 $(grep -E 'youtube.com/watch' ~/.elinks/globhist | tail -n1 | rev | awk '{print $2}' | rev | awk -F '&' '{print $1}')


Работать будет так:
Код
# /home/altlinux/youtube-dl-grab.sh -h

Usage: youtube-dl-grab.sh [options]

Options:
-h, --help - this help

Код
$ ./youtube-dl-grab.sh -h

Использование: youtube-dl-grab.sh [опции]

Опции:
-h, --help - этот help


Но основные языки (кроме английского), это русский, украинский, татарский.
Первые два потяну, остальные нет.
Кто его знает какой ещё может понадобится. Да и не хочется мне расписывать один хэлп на десятке локалей.

Останавливаюсь на выводе хэлпа только на английском:
язык международный, общепринятый по-умолчанию на компьютерах, со времён спектрума и микрош, и это сократит и объём работы и объём скрипта, а отдавать предпочтение одному языку, кроме общепринятого дефолта, плохая идея.
Код
if [ "$1" == "-h" ] || [ "$1" == "--help" ]; then

    echo
    echo "Usage: `basename $0` [options]"
    echo
    echo "Options:"
    echo " -h, --help - this help"
    echo

exit 0
fi

youtube-dl -f 18 $(grep -E 'youtube.com/watch' ~/.elinks/globhist | tail -n1 | rev | awk '{print $2}' | rev | awk -F '&' '{print $1}')

Хэлп дополнится описанием использования скрипта.

Чёрт... Но есть проблема, языковая, на предмет хэлпа:
- Современные пользователи компьютера, нулевые, где-то на уровне плинтуса. Ожидать от них уровня пользователей 90-тых, безнадёжная затея.
А вворачивать в скрипт ещё одну проверку по /etc/sysconfig/i18n у меня желание близкое к нулю.
В глубоком раздумье...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Сообщений в этой теме


Ответить в эту темуОткрыть новую тему
( Гостей: 1 )
Пользователей: 0

 



RSS Текстовая версия Сейчас: 13.7.2025, 9:12