LINUX.ORG.RU
решено ФорумTalks

Воспроизведение ссылок через mpv на вашем ПеКа

 , , , , удобное


4

3

Суть, вешаем скрипт на горячую клавишу, например F8,
копируем или просто выделяем ссылку, нажимаем F8 и воспроизводятся видива/фота.
Мне удобно выделить ссылку с любым медиаконтентом, например

  • фильмом
  • ютубом
  • музыкой
  • картинкой
  • порнух… ой!

Нажать горячую клавишу и всё.

Зависимости: apt install mpv lua xclip

#! /bin/env lua
---------------
local function play_mpv()
    local appclip = nil;
    local youtudl = nil;
    local session = os.getenv('XDG_SESSION_TYPE');
    local have_mpv  = os.execute('mpv --version 2>/dev/null');
    local have_xclip = os.execute('xclip -version 2>/dev/null');
    local have_ytdlp  = os.execute('yt-dlp --version 2>/dev/null');
    local have_wlpaste = os.execute('wl-paste --version 2>/dev/null');
    local have_youbedl  = os.execute('youtube_dl --version 2>/dev/null');
    if(not have_mpv) then
      os.execute('notify-send "Для работы требуется mpv плеер"');
      os.exit(1)
    end
    if(not session) then
      os.execute('notify-send "Неизвестный тип сессии, задайте x11 или wayland"');
      os.exit(2);
    end
    if(have_xclip and session == 'x11') then
       appclip = 'xclip -o';
    end
    if(have_wlpaste and session == 'wayland') then
       appclip = 'wlpaste -p';
    end
    if(not appclip) then
       os.execute('notify-send "Нужно установить xclip для X11 или wl-paste для Wayland"');
       os.exit(3);
    end
    if(io.popen(appclip):read('*l'):sub(1,4)~='http') then
       os.execute('notify-send "Это не ссылка для воспроизведения"');
       os.exit(4);
    end
    youtudl = have_youbedl and 'youtube_dl' or nil;
    youtudl = have_ytdlp   and 'yt-dlp'     or youtudl;
    if(youtudl) then
       os.execute('notify-send Воспроизводится "$('..
       youtudl..' --skip-download --get-title  "$('..appclip..')")\n"$('..appclip..')"" &');
    else
       os.execute('notify-send "Неизвестное название"');
    end
    local success, meta , code = os.execute('mpv --keep-open=yes --loop "$('..appclip..')" > /dev/null 2>&1');
    if tonumber(code) ~= 0 or success == nil then
       os.execute('notify-send -u normal Ошибка-mpv:'..meta..':'..code);
       os.exit(5);
    end
end
-- run run run
-- дрынь на-на
play_mpv();

Ну и предупреждение.

- ИСПОЛЬЗОВАТЬ НА СВОЙ СТРАХ И РИСК, Я НЕ НЕСУ НИКАКОЙ ОТВЕТСТВЕННОСТИ
- ВСЁ ПРЕДОСТАВЛЯЕТСЯ КАК ЕСТЬ, ЛЮБЫЕ СОМНЕНИЯ ДОЛЖНЫ ВЕСТИ
- К ОТКАЗУ ОТ ИСПОЛЬЗОВАНИЯ
- ТЕКСТ ИЗ БУФЕРА ОБМЕНА ПОПАДАЕТ В ИНТЕРПРЕТАТОР !!!!!!!!!
- В ОБОЛОЧКУ BASH КАК СТРОКА И ЕСЛИ ТАМ ЧТО НЕ ТАК ИЛИ ЭДАК
- И ВНЕЗАПНО ИСПОЛНИЛОСЬ ЧТО-ТО НЕ ТО, ТО ЭТО ИСКЛЮЧИТЕЛЬНО ВАША ВИНА И ВАШИ ПРОБЛЕМЫ

Тест: Выделить ссылку и нажать F8 (иксы автоматически копируют выделенное есчё)

Да, примитив. Но зато очень удобно.
Досвиданья :3

★★★★★

Последнее исправление: LINUX-ORG-RU (всего исправлений: 8)

Через 5 минут видос надоел, идёшь на тытрубу, вбиваешь новый запрос, goto 1. Оно такое красивое надо?

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

Какой ещё запрос? Неужели кто-то пользуется ютубовской навигацией? Я в него только с внешних ссылок перехожу, точнее в mpv.

firkax ★★★★★
()
Ответ на: комментарий от yu-boot

Это скорее для вот таких вот случаев

Ты задолбаешься новые вкладки открывать и каждый раз жрать прогрузки жирнющего ютуба. А так, это именно что для просто ссылок, если ты в ютубе и так сёрфишь через поиск, нет особого смысла открыть в mpv.

LINUX-ORG-RU ★★★★★
() автор топика

Кстати, многие «скриптописатели» почему-то не знают о возможности поиска ютубных видео, не используя браузер:

mpv ytdl://ytsearch5:"Винни Пух"

*5 Это количество поисковых результатов для воспроизведения (типа плейлист). Может быть разным.

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 3)
Ответ на: комментарий от krasnh

Да, можно и просто ссылку перетаскивать. Иксы в этом плане просто бомба. Выделил текст и перетащил его в файловый менеджер и вуаля у тебя тестовый файл с выделенным тестом. Зажал картинку на странице и просто перетащил её в файловый менеджер, Krita, GIMP и прочее прочее. Очень удобно. Очень согласен. Но вот перманентно держать mpv открытым, такое себе. Не по мне. Но не спорю, тоже вариант и удобно, а главное универсально. Но у мня тож универсально, выделил и тык на хоткей, всё :)

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от firkax

Неужели кто-то пользуется ютубовской навигацией?

А как иначе им пользоваться то? Я крайне редко натываюсь на внешние ссылки на ютуб, котрые мне внезапно хочется посмотреть. А смотрю я его очень много.

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

Ну, эт надо форму скриптовать куда результаты выводить картинкой. Не в слепую же воспроизводить из поиска что попало. Но можно да. Но это уже другое, это искать, а не просто воспроизвести то что есть.

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от yu-boot

Но все равно же через браузер неудобно смотреть. Надо или отдельное окно открывать, или задействовать браузерное «картинка-в-картинке». Или отдельный ютубный клиент открывать.

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

Ищешь яндексом, он выдаёт все видео на куче разных сайтов среди которых и ютуб в том числе. Найденную ссылку сразу в mpv суёшь, страница поиска остаётся в браузере.

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

Они никому ненужны особо. Это такие, ситуативные вещи, что тут потеряются что в гитхабе как на второй помойке кода в мире после сорсфоржа :D

А тут я и в профиль себе сохраню и хоть кто-то (ага я конечно гений по ночам то всегда выкладывать всё) увидит и может хоть кому-то будет полезно.

Так то да, но эт всё оформлять надо и ваще. Потом. Кому надо себе скопируют и у себя выложат, а у них ещё кто скопирует и у себя сохранит и ещё где выложит, а может доработает и по иному перепишет. Вот и всё.

Мне просто лень, а делится на ЛОРе интереснее чем на гитхабе-бе-бе. Тут и похвалят и обосрут. А там, а там ничего, там пустата и забвение!
Я могу ещё много отговорок придумать. А ещё я стесняюсь :3

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow

Я конечно категоричен, и это только мои предпочтения, но лично я люблю в фоне воспроизводить какой-нибудь ролик с видео/музыкой. Когда можно открыть любую другую вкладку, для почитать/посмотреть и при этом видео остается в прямом доступе (mpv). Иначе:

Надо или отдельное окно открывать, или задействовать браузерное «картинка-в-картинке».

А я уже привык с mpv, чтобы переходить даже на ‘инновационную’ «картинка-в-картинке».

p.s. И это еще в тред не пришел @t184256, он сразу в таких случаях говорит, что браузер для ютуба ненужен. )

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 3)
Ответ на: комментарий от krasnh

Я к слову сначала хотел не по хоткею, а изначально идея была такая Хватаем мышкой текст, картинку, ссылку что там ещё можно просто схватить мышкой, и тащим и во время таскания появляются полупрозрачные области поверх всего, например если это видео то квадратик с надписью vlc или mpv или файловый менеджер , если картинка то файловый менеджер или krita или GIMP ну то есть в зависимости от типа перетаскиваемого предлагается обработчик, ну ты и продолжаешь тащить в нужный квадратик и оно открывается в нужном или сохраняется как файл. Вот в мыслях так было, но сделать это универсально я не придумал как, был прототип на cairo + демон следящий на буфером иксов, но там, там сложно. Возможно докумекаю.

Вот ещё раз визуализируй в голове, ты хватаешь что угодно мышкой из браузера и тащишь и тут же появляются например с права полупрозрачные области с надписями приложений, на какую область перетащишь то и обрабатывать начнёт. Например тот же mpv. Круто же! Круто. Но пока не сделал. :(

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

Ничего так идея. И наверно кто-то уже реализовал. )

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 1)
Ответ на: комментарий от dataman

Выкладывать надо на своей домашней странице.

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

Можно так фильмы искать и смотреть, не задействуя браузер. Четкого попадания сложно добиться, поэтому подставляем в строку 5 или 10, и листаем полученный плейлист.
Как листать на mpv думаю все знают (ЛКМ на псевдо-гуи в левом углу), :) но есть и удобный lua-скрипт, который сам использую.

Пример фильма, mpv ytdl://ytsearch5:"Nobody Фильм 2021 смотреть". Вторая позиция плейлиста будет искомым.

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 2)
Ответ на: комментарий от krasnh

но лично я люблю в фоне воспроизводить какой-нибудь ролик с видео/музыкой

Я тоже так делаю. И в чём проблема просто оставить его воспроизводиться в одной вкладке пока сам чем то занимаешься в другой?

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

Ютуб ставит на паузу воспроизводящиеся видео время от времени. А остановить локально запущенные видео он не может.

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

Когда я ищу видео, я сразу ищу на ютубе (ключевое слово yt перед поисковым запросом в адресной строке).

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

Это нужно очень надолго без взаимодействия оставить вкладку ютуба чтобы это произошло. Тоже раздражает когда так случается, но у меня это бывает очень редко.

eternal_sorrow ★★★★★
()
Последнее исправление: eternal_sorrow (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow

Ты зря ищешь ответа на этот вопрос. Потому что его нет и быть не может. Удобно всё, и так и сяк и эдак. Но разным людям, в разных ситуациях с разными предпочтениями и в разных частных случаях может быть одно быть удобнее другого. Но это одно это другое не заменяет, а дополняет. В этом суть, в этом как говорят хипсеры «поит».

Если я хочу полазать по ютубу и посмотреть разные ролики, я буду лазать по ютубу и смотреть разные ролики и так везде. Но если мне тут на форуме скинули ссылку или даже много ссылок на музыку, картинки, видео ютуба, твича или тип того то мне проще никуда не уходя открыть медиаконтеент напрямую.

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

О чём я уже выше говорил, тупо удобнее и быстрее по горячей клавише открывать медиаконтент чем в новых вкладках всё открывать. Всё ситуативно, так что, тут для спора просто нет места. Удобно всё.

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от eternal_sorrow

в браузере как все люди

Не ври про всех. Браузер означает что ты смотришь видео в соответствии с прихотями видеохостера, каковые могут включать в себя просто мусорные джаваскрипты, рекламу, неудобный интерфейс, визуальное замусоривание экрана всяким ненужно, и регулярное переделывание как дизайна, так и кода, с потенциальным ломанием чего-то. Каждую из этих проблем можно решать отдельно каким-то костылём, но нормальный отдельный плеер решает их все разом и без возни.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

у меня вот такое висит на горячих

mpv:\ download! & mpv `xsel` || mpv:\ fail!

все то же самое - выделяешь ссылку и горячие жмешь, у меня конкретно это выглядит вот так

<Key mask="A" key="z">exec:mpv:\ download! & mpv `xsel` || mpv:\ fail!</Key>

ну можно конечно из этого скрипт наколхозить и его на горячие повесить

amd_amd ★★★★★
()
Последнее исправление: amd_amd (всего исправлений: 1)

Ой небольшое обновление, теперь:

  • Воспроизведение начинается быстрее (за счёт неблокирующего получения названия)
  • Ссылка и название видео в одном уведомлении (так удобнее, зачем я разделял ранее, непонятно)

И нескрываемые уведомления убрал, нафиг им висеть и мешать показываться другим.

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от krasnh

Было бы здорово,написать скрипт при вводе команды yt5 Винни Пух получили тот же резуьтат получилась бы удобная фича,Жаль сам не умею, P.S. yt10 хочу)

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

Какой ещё запрос? Неужели кто-то пользуется ютубовской навигацией?

Я пользуюсь

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

регулярное переделывание как дизайна, так и кода, с потенциальным ломанием чего-то.

В браузере ютуб никогда не сломают. А вот в mpv - запросто

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

Не ври про всех. Браузер означает что ты смотришь видео в соответствии с прихотями видеохостера, каковые могут включать в себя просто мусорные джаваскрипты, рекламу, неудобный интерфейс, визуальное замусоривание экрана всяким ненужно, и регулярное переделывание как дизайна, так и кода, с потенциальным ломанием чего-то. Каждую из этих проблем можно решать отдельно каким-то костылём, но нормальный отдельный плеер решает их все разом и без возни.

Firefox умеет откреплять окно с видео. Я понимаю смысл всего этого колхоза в нулевые с флешом, но сейчас-то зачем?

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

Сейчас он в браузере по факту уже сломан и вряд ли его починят. Ситуацию, когда джаваскрипты навигации жрут проца больше чем програмный видеокодек на 1080р, исправной работой назвать невозможно.

А по мелочи ломали постоянно, и чем дальше тем хуже. Началось как раз тогда, когда заменили хороший и стабильный флеш на весь кривой так называемый html5-плеер. По началу можно было эту пакость отключать ключами в get-запросе, потом стало нельзя.

А все поломки mpv (точнее, yt-dlp) решаются его обновлением и он после этого работает так же как раньше.

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

Какой ещё запрос? Неужели кто-то пользуется ютубовской навигацией?

А как по другому? Например хочу я найти «Холодец из хвоста»

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

Сейчас он в браузере по факту уже сломан и вряд ли его починят. Ситуацию, когда джаваскрипты навигации жрут проца больше чем програмный видеокодек на 1080р, исправной работой назвать невозможно.

А вы думали, браузер пишут и сайты делают - чтобы вы удовольствие получали? Вообще-то, создатели на этом деньги зарабатывают и детей кормят. Но видео браузер будет показывать 100% - именно по этой причине. А вот ваш mpv - не факт, потому что ютуб в mpv приносит создателям mpv денег намного меньше

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

Вообще-то, создатели на этом деньги зарабатывают и детей кормят.

Мне плевать какая у них мотивация. Продукт на выходе получился непригодным к использованию.

Но видео браузер будет показывать 100% - именно по этой причине.

То, как он показывает, можно считать отсутствием показывания, причины я уже указал.

А вот ваш mpv - не факт, потому что ютуб в mpv приносит создателям mpv денег намного меньше

Опять ты со своими деньгами... Отвлекись от них.

Ты понимаешь, что mpv+yt-dlp - работает, а ютуб в браузере - нет, глючит, лагает и показывает слайдшоу? И ситуация в браузере за последние 10 лет раз за разом плавно ухудшалась и никогда не улучшалась. И не надо придумывать всякие отмазы, рассказывать про чью-то там мотивацию, или то как я везде не прав, итд. Просто mpv работает, браузерная помойка - нет. И это надолго.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 3)
Ответ на: комментарий от firkax

То, как он показывает, можно считать отсутствием показывания, причины я уже указал.

Всех удовлетворяет, одну её не удовлетворяет!(С)

Ты понимаешь, что mpv+yt-dlp - работает, а ютуб в браузере - нет, глючит, лагает и показывает слайдшоу?

Не знаю, УМВР. Вот, на Intel Atom BayTrail - примерно, так и было, но то DDR3

tiinn ★★★★★
()
Последнее исправление: tiinn (всего исправлений: 1)
Ответ на: комментарий от tiinn

Что за настырное желание впарить всем браузерный недоютуб? Ты рекламный агент гугла?

Intel Atom BayTrail - примерно, так и было, но то DDR3

Да хоть DDR1.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Ну, это желание гугла. Не надо приписывать мне чужие желания. Я просто против лишних сущностей, ютуб шёл, идёт и будет отлично идти в браузере. Особенно, когда в нём отрубили рекламу.

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

Интерфейс ютуба это буквально строка поиска. Как ты смог в ней запутаться, я не знаю.

cumvillain
()

В ОБОЛОЧКУ BASH КАК СТРОКА И ЕСЛИ ТАМ ЧТО НЕ ТАК ИЛИ ЭДАК
И ВНЕЗАПНО ИСПОЛНИЛОСЬ ЧТО-ТО НЕ ТО

Bash - зашибись язык. Передал строку и боишься что внезапно исполнится что-то не то.

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

И это к чему? Если юзер что-то напортачил в коде скрипта (bash), то есть где провериться - shellcheck.net. Тем более есть и соответствующие пакеты в репах дистров.

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

Это к тому, что в bash строка может быть интерпретирована как часть скрипта. По сути, это все равно что встроенный механизм SQL-инъекций, который присутствует by design, неотключаемый и вездесущий.

Xintrea ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)