LINUX.ORG.RU

Как заставить браузер Surf играть видео через MPV?

 , ,


0

3

Как я понял в итоге все долно работать так: я нажимаю сочетание Ctrl+w, кликаю ссылку видео, адрес ссылки кидается в запущенный скрипт или он сам запускается и видос играется в MPV.

Создал скрипт запускающий MPV в ~/bin/yt

#!/bin/sh format="-f34" # leave empty for default player="mpv --quiet --geometry=50%:50% --idx --keep-open" tmpdir="$HOME/tmp"

url="$1" filepath="$tmpdir/$(youtube-dl --id --get-filename $format $url)"

youtube-dl -c -o $filepath $format $url & echo $! > $filepath.$$.pid

while [ ! -r $filepath ] && [ ! -r $filepath.part ]; do echo "Waiting for youtube-dl..." sleep 3 done

[ -r $filepath.part ] && $player $filepath.part || $player $filepath kill $(cat $filepath.$$.pid) rm $filepath.$$.pid

Собирал Surf из исходников как здесь: https://wiki.archlinux.org/index.php/Dwm_(Русский)

Отредактировал файл config.h таким образом http://pastebin.com/duDtqCaR

Выход в терминале с предупреждениями: http://pastebin.com/2tgn7Rex

Потом запускаю в терминале скрипт, захожу через браузер на Ютуб, нажимаю сочетание клавишь, кликаю на видос и... ничего не происходит. Подскажите решение или куда мне копать и что учить, чтоб разобраться в чем дело и как должно работать.

Кастую уважаемого sprutos, видел на форуме что что пользовалася Surf-ом.

Если что OC Arch,Term = Urxvt,youtube-dl установлен.Просто команда mpv youtube.com/vidosrandom в теминале работает. Просто нужна автоматизация - ctrl+w,click. Сорян за нубство. Заранее спс

Не знаю насчет surf, но, безотносительно него, велосипедостроение со скриптом лишнее для не очень старых версий mpv. Команды вида «mpv ссылка-на-видео» достаточно для проигрывания, mpv сам вызовет youtube-dl.

liaonau ()
Ответ на: комментарий от liaonau

ТС:

Просто команда mpv youtube.com/vidosrandom в теминале работает. Просто нужна автоматизация.

Комментарий:

Команды вида «mpv ссылка-на-видео» достаточно для проигрывания, mpv сам вызовет youtube-dl.

Откуда вы только такие беретесь...

anonymous ()

mpv-0.17, youtube-dl-2015.12.23, mpv http://url работает. Работает не первый год.
Вообще я бы на awesome себе сделал, чтоб по клику на хоткей из буфера обмена бралось содержимое и скармливалось mpv.

NeverLoved ★★★★★ ()

как давно это было, эх... :)

если скрипт не работает, добавь в него на каждом этапе отладочные секции «echo 'stage1-2-3-etc' >> /tmp/script.log». или даже «logger bla-bla-bla». потом смотри в /var/log/syslog или messages, на каком этапе затык

sprutos ★★ ()
Ответ на: комментарий от sprutos

Всем спасибо за старания...

Я новичок в линукс. Плохо понимаю как добавить отладочные секции.)) В итоге разобрался: Скрипт работал, хоть я и не мог понять правильно или нет. Указал в config.h каким эмулятором терминала запускать скрипт(до этого было указано, чтоб запускался st (эмулятор терминала от suckless), точно расположение скрипта. Да я не знал что это нужно сделать. Понял это потому, что запустив Surf через терминал и нажимая на выбранное сочетание, ничего не происходило кроме сообщения, что команда неизвестна.

#define WATCH {.v = (char *[]){ "/bin/sh", "-c", \ "urxvt -e \ /home/maditachi/bin/yt.sh $(xprop -id $0 _SURF_URI | cut -d \\\" -f 2)", \ winid, NULL } }

Заменил прошлый скрипт на простое #!/bin/sh mpv --ytdl-format=22 $1 так как скрипт все таки запустился, но просто скачивал файл и не запускал его. Понял, что отпала необходимость в указании ytdl, раз mpv подхватывает все на лету. В баше вообще ноль, но интуитивно понял, что прошлый скрипт создавал временную дерикторию, качает туда и т.д.

Остался вопрос мой скрипт не оставляет следов после себя? Т.е. mpv --ytdl-format=22 url как работает? Видео качается в оперативку, а потом удалается? Ну а так очень рад, что сам допер. Ибо все работает так как я хотел.

maditachi ()
Ответ на: Всем спасибо за старания... от maditachi

не работает surf-WebKit2gtk-git

Решил поставить типа Surf2. Ребята, помогите, кто силен в сборке пакетов из AUR с помощью makepkg? Собирал 'surf-WebKit2gtk-git'. Создал папку в хоум. Клонировал гит-репозиторий. Потом makepkg -sri. Затык был только с ' 'gdk-3.0' requires 'gio-unix-2.0 >= 2.49.4' but version of gio-unix-2.0 is 2.48.1'. Додумался установить glib2. Скомпилировалось. Ошибок критических не было (только те, что на картинке http://imgur.com/am8Nvus). Раньше surf запускал через терминал либо через dmenu. А сейчас на команду 'surf' никакой реакции кроме 'ошибка сегментирования(стек памяти сброшен на диск)'. Как я понял новая версия залазит за пределы памяти установленной для нее и система стопорит выполнение программы. Или компиляция криво прошла... Может не работате отрисовка окон. Но этим должен заниматься i3wm...Подскажите направление поиска решения проблемы хотя бы.

maditachi ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.