История изменений
Исправление
Spoofing,
(текущая версия)
:
мр-бр-бр. Хотелось как лучше, получилось как всегда, но на то свои причины (которые я еще не проверял даже).
Но разрабатываю пока такой вариант...
#!/bin/bash
main() {
test -p "${HOME}/.mplayer/mp_pipe" || mkfifo "${HOME}/.mplayer/mp_pipe"
test -d "${HOME}/Downloads/.youtube-dl" || mkdir --parents "${HOME}/Downloads/.youtube-dl"; cd "${HOME}/Downloads/.youtube-dl"
local files="$(echo *)"
/usr/bin/youtube-dl "$@" --max-quality 35 --continue --quiet || return 1
local files="$(/usr/bin/comm -23 <(/usr/bin/tr ' ' $'\n' <<< $(echo *)) <(/usr/bin/tr ' ' $'\n' <<< ${files}))"
test -n "${files}" || return 1
/usr/bin/mplayer -input file=~/.mplayer/mp_pipe -title "youtube-dl" ${files} < /dev/null &
echo pause > ~/.mplayer/mp_pipe
}
main "$@"
запишите куда-нибудь... > watch.sh; chmod +x watch.sh
и затем: ./watch ссылка-на-видео
В директорию ~/Downloads/.youtube-dl будет загружено видео, после загрузки стартует mplayer с новым видео. Тут все тупо и просто. У MPlayer'а заголовок окна будет «youtube-dl», это для того, чтобы окно можно было отправить куда-подальше, на далекий рабочий стол. В случае FVWM я сделал так:
Style youtube-dl StartsOnPage 2 0, SkipMapping
То есть, вы занимаетесь какими-то делами, слушаете музыку бла-бла-бла. Поставили качаться видео, - видео загрузилось, тут-же «тихо» открылось в MPlayer'е на другом рабочем столе, чтобы вас не отвлекать, и встало на паузу, опять же, чтобы вас не отвлекать. Когда вы вспомнили, что у вас видео - переключились на тот рабочий стол, нажали пробел и видео пошло-поехало. :)
Затея как-бы такая у меня, но пока реализация хромает. Нет, текущая реализация работает... Но и имеются другие варианты.
В идеале делать youtube-dl --output - | mplayer -, чтобы видео качалось и тут-же проигрывалось, так же укажем паузу после старта и все остальное, но вопрос: куда будет загружаться видео? Конечно же в память, а конкретно у меня памяти мало. Поэтому я выбрал способ сперва скачать файл на винт, а затем запустить его.
Другой вариант, делать mplayer $(youtube-dl -g), то есть youtube-dl только возьмет ссылку на видео, а затем скормить ее mplayer'у, но здесь минус - что целых два запроса на ютуб делать :) смищьно, но все-таки это минус, а еще.. ну получит youtube-dl ссылку, отдаст mplayer'у, mplayer запустит видео по ссылке - но пока мы прокопошимся, сервер отключит клиент (mplayer) по таймауту... Вобщем тут много запросов будет на сервер ютуба, чего делать не хотелось бы.
Эни суггестионс? :)
Исходная версия
Spoofing,
:
мр-бр-бр. Хотелось как лучше, получилось как всегда, но на то свои прочины (которые я еще не проверял даже).
Но разрабатывают пока такой вариант...
#!/bin/bash
main() {
test -p "${HOME}/.mplayer/mp_pipe" || mkfifo "${HOME}/.mplayer/mp_pipe"
test -d "${HOME}/Downloads/.youtube-dl" || mkdir --parents "${HOME}/Downloads/.youtube-dl"; cd "${HOME}/Downloads/.youtube-dl"
local files="$(echo *)"
/usr/bin/youtube-dl "$@" --max-quality 35 --continue --quiet || return 1
local files="$(/usr/bin/comm -23 <(/usr/bin/tr ' ' $'\n' <<< $(echo *)) <(/usr/bin/tr ' ' $'\n' <<< ${files}))"
test -n "${files}" || return 1
/usr/bin/mplayer -input file=~/.mplayer/mp_pipe -title "youtube-dl" ${files} < /dev/null &
echo pause > ~/.mplayer/mp_pipe
}
main "$@"
запишите куда-нибудь... > watch.sh; chmod +x watch.sh
и затем: ./watch ссылка-на-видео
В директорию ~/Downloads/.youtube-dl будет загружено видео, после загрузки стартует mplayer с новым видео. Тут все тупо и просто. У MPlayer'а заголовок окна будет «youtube-dl», это для того, чтобы окно можно было отправить куда-подальше, на далекий рабочий стол. В случае FVWM я сделал так:
Style youtube-dl StartsOnPage 2 0, SkipMapping
То есть, вы занимаетесь какими-то делами, слушаете музыку бла-бла-бла. Поставили качаться видео, - видео загрузилось, тут-же «тихо» открылось в MPlayer'е на другом рабочем столе, чтобы вас не отвлекать, и встало на паузу, опять же, чтобы вас не отвлекать. Когда вы вспомнили, что у вас видео - переключились на тот рабочий стол, нажали пробел и видео пошло-поехало. :)
Затея как-бы такая у меня, но пока реализация хромает. Нет, текущая реализация работает... Но и имеются другие варианты.
В идеале делать youtube-dl --output - | mplayer -, чтобы видео качалось и тут-же проигрывалось, так же укажем паузу после старта и все остальное, но вопрос: куда будет загружаться видео? Конечно же в память, а конкретно у меня памяти мало. Поэтому я выбрал способ сперва скачать файл на винт, а затем запустить его.
Другой вариант, делать mplayer $(youtube-dl -g), то есть youtube-dl только возьмет ссылку на видео, а затем скормить ее mplayer'у, но здесь минус - что целых два запроса на ютуб делать :) смищьно, но все-таки это минус, а еще.. ну получит youtube-dl ссылку, отдаст mplayer'у, mplayer запустит видео по ссылке - но пока мы прокопошимся, сервер отключит клиент (mplayer) по таймауту... Вобщем тут много запросов будет на сервер ютуба, чего делать не хотелось бы.
Эни суггестионс? :)