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)
Ответ на: комментарий от yu-boot

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

krasnh ★★★★
()
Ответ на: комментарий от 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)
Ответ на: комментарий от krasnh

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

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

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

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

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

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

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

Думал это шуточный коммент:

уже закрыт

Посмотрел как у меня дела обстоят. Оказывается давно уже прописан в конфиге loop-playlist и я просто ставлю на паузу, когда дальнейшее воспроизведение не нужно.

Попробовал на чистом конфиге организовать остановку, после окончания воспроизведения. Есть два варианта:

  • keep-open=always ### остановка по достижении конца видео
  • force-window=immediate и idle=yes ### выход из окна воспроизведения и показ псевдо-гуи окна

p.s. Ссылка на man, кому интересно погрузиться в ‘пучину’ ) этого замечательного плеера.

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

Не нужна мне ссылка, я и сам могу man mpv в консоли написать (так и делаю иногда, правда последнее время редко, потому что всё что нужно уже настроил).

Думал это шуточный коммент:

Частично. В каждой шутке есть доля шутки.

остановку, после окончания воспроизведения

Не нужно.

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