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
сообщение 7.2.2018, 12:39
Сообщение #2


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

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



Репутация: 1


Окончательный вариант.

Скрипт притерпел существенные изменения:
- Два скрипта сведены в один, - youtube-dl-grabber.
- Если системная локаль ru_RU.UTF-8 и пользователь не root, help выводится на русском языке.
Иначе, на английском.
- Если браузер elinks закрывался на странице с видеороликом, будет скачан видеоролик.
Если браузер elinks закрывался на странице с плейлистом, будет скачан плейлист.

Листинг скрипта
Код
#!/bin/sh


if [ "$1" == "-h" ] || [ "$1" == "--help" ]; then

    SYSLANG=`grep "^LANG=" /etc/sysconfig/i18n | cut -f2 -d '='`

    if [ $UID != 0 ] && [ "$SYSLANG" = "ru_RU.UTF-8" ]; then

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

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

        else

            echo
            echo "Usage: `basename $0` [options]"
            echo
            echo "Options:"
            echo " -h, --help   this help"
            echo
            echo "- Browser elinks, go to the youtube page with the video."
            echo "- Use elinks browser necessarily:"
            echo "  scripts use its globhist."
            echo "- Close the browser without leaving the page."
            echo "- If the page with the video was opened in elinks, the video"
            echo "  is downloaded to the current directory."
            echo "  If you have opened the page with a playlist, the playlist"
            echo "  will be downloaded."
            echo "  The video is downloaded as 360p."
            echo
            echo "- After downloading, being in this current directory,"
            echo "  start space2lowline:"
            echo "  the script in the files of the current directory will"
            echo "  replace spaces on the Lowline character."
            echo "- Recommended viewing:"
            echo "  mplayer-vc./*.mp4"
            echo "  The file path and file name must not contain spaces."
            echo "  Viewing in full screen mode."
            echo "  Video scaling in mplayer-vc automatic -"
            echo "  this action is under the resolution of the monitor."
            echo "  The volume keys 9,0"
            echo "  To turn on/off the time display - key 'o'"
            echo "  Cursor keys, PgUp, PgDn - rewinding."
            echo

    fi

exit 0    
fi



VLINK=`grep -E 'youtube.com/watch' ~/.elinks/globhist | tail -n1 | rev | awk '{print $2}' | rev`
IFPLS=`grep -E 'youtube.com/watch' ~/.elinks/globhist | tail -n1 | rev | awk '{print $2}' | rev | grep '\&list='  | wc -l`

if [ $IFPLS = 0 ]; then
    youtube-dl -f 18 $VLINK
  else
    youtube-dl -ciwf 18 -o "%(autonumber)s-%(title)s.%(ext)s" $VLINK
fi


Остаётся вопрос:
Стоит ли включать в этот же пакет, скрипт space2lowline или его следует положить отдельно?


Сообщение отредактировал speccyfighter - 7.2.2018, 12:44
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

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


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

 



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