Separator

 

Обработка собственного протокола в браузере для открытия видео вне браузера

В браузере Opera есть так называемая Detachable media view, а если по нашему - можно при просмотре видео (в HTML5) "вынести" его за пределы браузера в отдельном окне и смотреть там.

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

И что же делать, если возможность нужна, а Opera не везде устраивает?

Попробуем создать и обработать собственный протокол!
Входные данные:
  • Ubuntu 16.04.2 LTS
  • YouTube-ссылка на видео
  • mpv-проигрыватель
Первым делом нам необходимо в принципе суметь открыть видео YouTube в приложении. Помыкавшись с параметрами, получил следующий работающий вариант:
/usr/bin/mpv --geometry=480x270-0-0 --ontop https://www.youtube.com/watch?v=Z4XD4I44HMc
Работает! Что дальше? Обеспечим работу собственного протокола. Мне показалось логичным назвать его video, но можно назвать и как-то ещё. Принцип создания протокола зависит от системы, поэтому если у вас не Ubuntu, можно загуглить как это делается в вашей ОС. А в Ubuntu это делается так:

sed нужен для того чтобы в mpv пошла ссылка без нашего префикса-протокола. Т.к. его он проиграть не сумеет, а вот http-ссылку на YouTube - пожалуйста.
Параметр ytdl-format отвечает за качество. Если ресурсы позволяют или же вы планируете часто превью разворачивать на полный экран, то лучше поставить best. Или просто убрать параметр, т.к. он как раз по умолчанию best.

Итак, если мы в браузере у какого-либо YouTube-видео пропишем полную ссылку с video-протоколом, то браузер спросит "Открыть приложение xdg-open?". На все соглашаемся, можно даже поставить галочку "Запомнить выбор...".

Но, вручную менять ссылки немного утомительно, не так ли? Заставим браузер делать это за нас автоматически. Простым решением было бы написать скрипт под какой-нибудь tampermonkey, но мы ведь не ищем легких путей? Шучу. На самом деле, просто захотелось заиметь опыт написания собственного расширения под хром. Результат можно получить по ссылке. Теперь можно настроиться так, чтобы при alt+click по ссылке с видео мы открывали эту ссылку с префиксом video://. И как результат будем запускать приложение и смотреть видео отдельно. Ура!

ps
  • Вместо mpv можно воспользоваться и vlc, а может и ещё чем. Но vlc почему-то не захотел запускать окно определённых размеров и в определённой позиции. На просторах интернета такой баг зафиксирован. Возможно не везде пофиксили
  • В Ubuntu, лично у меня, alt+drag двигало окно, что мешало и кликам тоже. Чтобы отключить такое поведение, проделал следующее: 
    gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "<Super>+<Alt>"
    после этого, перемещение происходит при Super+Alt+drag. А alt+click вполне можно делать.

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

Отправить комментарий