yumata / lampa

GNU General Public License v2.0
333 stars 86 forks source link

Adding an export of video stream to external video player #219

Closed Gonochnik closed 5 months ago

Gonochnik commented 5 months ago

Добрый день. В настоящее время в LAMPA имеется выгрузка стрима в Infuse по x-callback-url. По просьбе сообщества, разработчики SVP (SmoothVideo Project) в последней версии, по аналогии с Infuse, добавили код для экспорта стрима (What's New: "+ "svplayer://" scheme for x-callback-url (same syntax as in VLC)")

Прошу добавить поддержку в Лампу по аналогии 'infuse_url' = 'infuse://x-callback-url/play?url=': синтаксисом типа 'svp_url' = 'svplayer://x-callback-url/play?url='

yumata commented 5 months ago

Это андроид? Или ios? Или appleTV?

aabytt commented 5 months ago

@Gonochnik что-то на ios не рабочий синтаксис (как у VLC)

Gonochnik commented 5 months ago

Это андроид? Или ios? Или appleTV?

Речь про AppleTV (на iOS же ее не портировали пока в Test Flight). На Андроиде пофиг, тупо при первом запуске в списке находится любой проигрыватель (хоть MX Player, хоть SVP и прочие...) и выбирается по умолчанию.

aabytt commented 5 months ago

Речь про AppleTV (на iOS же ее не портировали пока в Test Flight). На iOS пользуются как pwa

chainikdn commented 5 months ago

вон на два топика ниже то же самое ;) https://github.com/yumata/lampa/issues/216

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

что-то на ios не рабочий синтаксис (как у VLC)

svplayer://x-callback-url/stream?url= в первом сообщении неправильнь написано, у VLC "stream", а не "play" из шорткатов - работает

aabytt commented 5 months ago

В лампе на iOS для vlc вообще работает формат vlc:// Для svp не работает

svplayer://x-callback-url/stream?url=

С этим тоже видео не стартует

chainikdn commented 5 months ago

Проверка:

  1. должна быть последняя версия 1.3.1
  2. команда примерно такого вида: IMG_0079
  3. сафари - тык на ссылке на видео - поделиться - open in svp
  4. профит, всё работает
aabytt commented 5 months ago

Простые прямые ссылки открываются, да. Можно просто в адресной строке сафари вставить и проверить svplayer://x-callback-url/stream?url= https://media.w3.org/2010/05/sintel/trailer.mp4

А вот ссылки с торрсервера не воспроизводятся, в отличии от vlc/infuse/nplayer Пример:

svplayer://x-callback-url/stream?url=http://127.0.0.1:8090/stream/Aquaman.and.the.Lost.Kingdom.2023.DUB.WEB-DLRip.x264.seleZen.mkv?link=107d98b5888468cdce6527c231574a36fd4d9e0b&index=1&play

Upd. Работает, нужно применить к ссылке encodeURIComponent Так что формат нифига не как у vlc, как заявили разработчики, а как у infuse

chainikdn commented 5 months ago

Так конечно оно должно быть закодировано, иначе это не валидный URL. И для VLC-шного x-callback-url оно должно быть точно так же закодировано. Я для теста "прикидывался" VLC - т.е. менял везде "svplayer://" на "vlc-x-callback://", и оно тогда прекрасно из лампы на AppleTV всё открывалось.

aabytt commented 5 months ago

В iOS с vlc как раз работает с минимальным преобразованием ссылки в формате vlc:// + ссылка

chainikdn commented 2 months ago

Почему-то не открывается на Apple TV. На iOS всё четко, а на Apple TV как будто не ту схему использует - "URL can't be shown". Если я в info.plist SVPlayer-а прикидываюсь VLC - меняю "svplayer" на "vlc-x-callback", и в Лампе выбираю "VLC", то всё работает. Меняю обратно на svplayer - не работает. Билд 52 из TestFlight от 4 марта.