LINUX.ORG.RU
ФорумTalks

«Скучно», дайте баг или запилить куда-то фичу

 , , баги, ,


2

1

Устал байты дрочить и в свой быдлокод втыкать, надо отвлечься. Я в курсе что можно зайти на гитхаб или иное и найти там что угодно себе по душе, но долго объяснять, надоело рыть и править никому ненужное, хоца новенького, временного, отвлечься. Где есть лично вам бесячий баг или чего в чём-то не достаёт.

  • Киньте ссылку на проект tar.gz/гит/фигит или типа того.
  • Что не так или что надо
  • Как сейчас и как должно быть

Всё, больше меня ничего не интересует. C и/или Lua
Может утилита какая падает на C, или очередная шизанутая игра на Lua не запускается на новой версии Love2D. Понятия не имею что можно предложить :)

★★★★★

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

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

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

mpv config может в нём ты шрифты увеличил

Проверял на пустом mpv.conf, так что нет. Но вот с системными шрифтами, легкий бардак после обновления.


Еще заметил, что в оконном режиме (типа --geometry=502x416-1+30) скрипт отрабатывает прекрасно, но стоит перейти в полный экран, все отваливается и никакой реакции на h:

[vo/gpu] Reallocating OSD texture to 4096x2048.
[vo/gpu] OSD bitmaps do not fit on a surface with the maximum supported size 2048x2048.

Может, конечно, ‘ноги растут’ тоже из-за шрифтов.

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

Reallocating OSD texture to 4096x2048.

Херасебе оно там текстуру пытается сделать… Зачем такая большая не знаю. Эмм, что-то с libass я видел это

(Enables drawing, and resolution is 8x larger (2^(4-1)). So drawing to 400,400 will actually draw to 50,50)

Тут

Может оно и рождается тут

       ass:draw_start() --------------
       ass:round_rect_cw(0, 2,w,25,0)
       ass:draw_stop()----------------

Но блин я пытался уже заменить вызовы отрисовки прямоугольников (и не только) по другому, всё вообще ломается нахрен. Буду думать. Спасибо .

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

У тебя даже поновее чем у меня

dron@gnu:~$ mpv --version
mpv 0.37.0 Copyright © 2000-2023 mpv/MPlayer/mplayer2 projects
libplacebo version: v6.338.2
FFmpeg version: 6.1.1-5+b1
FFmpeg library versions:
   libavutil       58.29.100
   libavcodec      60.31.102
   libavformat     60.16.100
   libswscale      7.5.100
   libavfilter     9.12.100
   libswresample   4.12.100

dron@gnu:~$ 

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU
$ mpv --version
mpv v0.38.0 Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects
 built on Apr 18 2024 06:31:17
libplacebo version: v6.338.2
FFmpeg version: n6.1.1
FFmpeg library versions:
   libavutil       58.29.100
   libavcodec      60.31.102
   libavformat     60.16.100
   libswscale      7.5.100
   libavfilter     9.12.100
   libswresample   4.12.100

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

Давненько пользуюсь clock.lua, он динамически подстраивает размер часов в зависимости от размера окна mpv.

Это как пример решения похожей задачи. )

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

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


Истина где-то рядом. (c)

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

Прикрути cowsay к ChatGPT с зеркальным отображением реплик своих и гпт, и отдельно к ней ГПТ которая бы генерировала флаги эмоций коровы в зависимости от эмоционального наполнения ответа.

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

Погляжу. Но не сегодня. Чёта сёдня я совсем ляпёшка, ща растекусь на стуле и буду как зомбя втыкать во что-то :D

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

Истина где-то рядом. (c)

Фокс Малдер и Дана Скали пробежали перед глазами.

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

Там GPL я как только увидел сразу закрыл, нет не потому что я против GPL я обоими руками за, но в рамках текущего кода я не имею право что-то брать из GPL кода без перевода EPGTV под GPL, это можно было бы сделать изначально и уже включить код mpvEPG в проект EPGTV, но я этого не сделал, ибо я и не парился, а сейчас я должен уважать GPL код и не брать из него ничего, если то куда надо брать не GPL. Сам додумаюсь, не кидай кусочки кода, но спасибо за старания. Свободный код имеет тоже свои правила и их надо соблюдать, необдуманное копирование откуда попало породит геморой такого масштаба что проще будет просто удалить весь код, чем потом разбираться.

Я уже писал как разработчик взял код под APL и сунул его под лицензию GPL хотя они несовместимы, один из тех кто писал часть кода сказал что его изменения под MIT, хотя нигде в коде и документах про этого ни слова. И что в итоге? А в итоге кучка кода которую даже опакетить в диструбутив невозможно его такой никто никогда и никуда не примет, только дома тыкать ради себя и всё и никому не показывать. И всё из за пренебрежительному отношению к лицензиям. Всё должно быть чисто, настолько насколько это возможно, документация, трекер багов, локальные эксперименты. Опять же был бы у нас с тобой сразу GPL код то другое дело, в него можно тащить всё подряд почти, лишь чуть проверив на совместимость лицензии и всё. Ладно, эт я так. В любом случае то поведение которое сейчас неправильное, и заглушкой его не решить. А если починим, а завтра у тебя шрифты ещё в два раза больше станут и всё опять уедет, короче надо как-то это скорее обойти, а не чинить, у нас просто lua api скудное, можно лишь подстраиваться и мирится тем что некоторые вещи сделать нельзя.

Чёнить придумаем =)

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

Я тут пропробовал на ноуте слабом на mpv 0.35.0, хосподи ну и тормозня, а в конце ваще упало, а событие прогрузки файла не сработало и от этого не начал загружаться кэш, я вот с такой хернёй физически ничего сделать не могу, если вручную прогрузить кэш нажав g то всё прогрузит и покажет, хотя порой из за отсутствия события старта воспроизведения нет и начальной загрузки данных и надо нажать вручную u дабы инициировать получение данных (не зря я всё же это добавил) но всё равно фигня, и хуже то что я с эти ваще ничего и никак сделать не могу, нет события от mpv нет и ничего больше следом. Но это mpv 0.35.0 такой, может ещё как по особому собранный. Не знаю. Ладно, что есть то есть. У нас версии mpv повыше.

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

тут попробовал на ноуте слабом на mpv 0.35.0, хосподи ну и тормозня

Я думаю, дело не в версии mpv в данном случае, а в тяжелых EPG, с архивами по 500Mb. Я когда тестировал скрипт с плейлистом от smolnp.github.io, не раз возникала мысль, что имеем легкий плеер mpv, легкий скрипт lua, но что-то не ощущается никакой легкости в сравнении с тяжелыми специализированными iptv-плеерами.

Имхо, скрипт надо обкатывать на твоем «ноуте слабом», потому-то это целевой продукт именно для легкого ПО. И ПазлТВ со своим EPG размером 500Kb, здесь в тему, или для тестов найти подобную ‘легкость’.

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

Мысли по ходу практического использования EPGTV:

  • Показ EPG при переключении каналов, очень интересная находка. Но там надо успеть выхватить глазами информацию, плюс, при повторном переключении каналов взад-вперед, будет появляться уже просмотренное EPG, поэтому надо все это минимизировать для данного режима - все лишнее удаляем, оставив только для текущего канала, и ограничив инфу первыми двумя строчками.
  • А вот при ручном нажатии h, уже можно показывать полную информацию для текущего канала, и для следующего за ним. Остальные в принципе не нужны.
    Так же, чтобы полнее ‘помедитировать’ ) над программой, думаю, что неплохо бы сделать h переключателем, требующем нажатия и для включения и для выключения.


Возможно, понадобится script-ops/EPGTV.conf, чтобы дать инструмент пользователю для какой-либо тонкой подстройки. Имхо.

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

И да, для smolnp.github.io нет никакого «сдвига по времени». Так что, все, что раньше писал по сдвигу, не относится к EPGTV.lua, а имеет место только в ПазлТВ.

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

А вот при ручном нажатии h, уже можно показывать полную информацию для текущего канала, и для следующего за ним.

и для следующего за ним

Расшифрую для лучшего понимания. Имеется в виду телепрограмма для текущей программы на канале и для той, что начнется после окончания.

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

Спасибо за ответы, я чуть попозже на всё отвечу и так далее.
Сейчас пока никак :)

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

все лишнее удаляем, оставив только для текущего канала

для текущего канала

Вторая расшифровка. Для текущей программы канала. Т.е., «все лишнее удаляем, оставив только для текущей программы канала».


Как-то я умудрился в простой пост вложить слишком много двусмысленности.

krasnh ★★★★
()

По поводу шрифтов, проверил на старой системе с mpv.AppImage, все ok и выглядит как и у тебя на скрине выше.

Железо одно, Арч один, но пакеты разных версий. Плюс, старое - lxde, новое - xfce.


Так что можно вычеркивать еще один пункт из списка проблем EPGTV, все же это системные заморочки.

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

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

По поводу того что ты выше написал, там много у тебя всего, я попозже =)

Только вот один момент, я чисто перестраховаться, ты писал

И да, для smolnp.github.io нет никакого «сдвига по времени». Так что, все, что раньше писал по сдвигу, не относится к EPGTV.lua, а имеет место только в ПазлТВ.

Программа телепередач уезжала (не у меня, а где то там на 3 часа назад?)

У тебя есть возможность ещё проверить (я для перестраховки) вот такое ещё

Запустить сервер для пазлТВ.

В yuki-iptv (если есть ещё где открыть то тоже)

  • выбрать канал ‘Россия 1’

И посмотреть сверяясь с этим

Проверить отстаёт ли время телепередач на 3 часа назад? Ну то есть показывает ли что идёт телепередача которая уже была.

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

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

Отбой, это баг сервера

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

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

Отбой, это баг сервера

Ну вот, а я уже исследования провел и пробежавшись по каналам в yuki-iptv с плейлистом http://127.0.0.1:8185/playlist, выяснил, что там все ok. А ПазлТВ проблемный, да.

p.s. По старой привычке использовал и http://127.0.0.1:8185/epg/xmltv в yuki-iptv, но потом, опомнившись и сбросив настройки, вставил только плейлист.

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

Поюзав yuki-iptv заметил приятные новшества. Писал ранее о неудобной организации EPG:

я помню по yuki-iptv (выкладывал скрин), как было, когда листаешь список каналов и видишь название фильмов, процент оставшейся продолжительности, но понятия не имеешь о чем они. И вот приходится на каждый чих нажимать G, чтоб увидеть подробности. Мне это показалось жутко неудобным.

Так что правильней, имхо, чтоб несколько строчек все же было видно всегда.

И вот теперь, как было скрин1 и как стало скрин2.


«Музыкальные идеи витают в воздухе». (c)

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

и пробежавшись по каналам в yuki-iptv с плейлистом http://127.0.0.1:8185/playlist, выяснил, что там все ok.

В том и беда, у меня всё едет в yuki-iptv у тебя (и я удивлён, как как ты ипользуешь ведь 2.33.2) не едет, у размотчицы yuki-iptv тоже не едет, но в коде она же явно проверила, там неправильно. Ой короче у всех походу версии разные, сервер выложен в файлохранилище, версия одна, а поменяться могло со стороны разработчика, так или иначе, ты не зря исследовал. Это та вещь которую нужно перепроверять, я не тебя одного дёргал.

Я внёс обновление, теперь у меня работает правильно, но с сервером пазл тв работает НЕ правильно, но в файле main.lua для неправильно работающего сервера, можно заменить

-ignore_time_zone = false,
+ignore_time_zone = true,

Чтобы неверная таймзона рассматривалась как локальная таймзона, но тогда сломаются правильные EPG данные. :D Короче, пока ждать обновления палз тв сервера, и использовать альтернативные плейлисты с epg данными.

И да ты не смотри пока что у меня там в конфиге одно 1НаПиСаНововтТАК а_другое_вот_так я потом всё причешу

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

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

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

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

А нужен ли тебе всё ещё этот EPGTV то? :D

Ты наверное надеялся на то что он будет не легче, а работать быстрее, но этого конечно же не будет, так как у yuki-iptv который к слову стал ещё быстрее работать и меньше жрать памяти.

Но в целом как вариант для небольших EPG скрипт внутри mpv пойдёт хорошо. Ладно, 16тый день уже идёт, ух.

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

Такс ладно. Ещё несколько неспешных дней и готово. Тьфу, тьфу.

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

Сделал git pull, ничего не менял в настройках, но уже вижу, что смещение пропало на пазле. Во всяком случае, вижу на каналах, с подписанными фильмами, полное совпадение с EPG.

Пример, канал tv1000, где и подпись и EPG - «Моя ужасная няня». Только что начавшийся, так что никакой ошибки, смещение отсутствует.

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

так что никакой ошибки, смещение отсутствует.

А, она есть :)

Показываю на примере yoki-iptv просто для наглядности, в EPGTV также едет на три часа (у меня с сервером что у меня заведён)

Просто это плавающая ошибка, видимо от версии к версии сервера, поэтому я и опцию добавил чтобы если что можно было вернуть старое поведение.

Ну ладно, у тебя в версии сервера всё верно и теперь на стороне EPGTV теперь всё верное учитывается. Это главное. Остальное нюансы, нам не подконтрольные.

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

Да, но мы качаем это с файлового сервера (хотя можно хеши сравнить архивов для интереса, но нет смысла). Так или иначе, не важно, я несколько часов назад скачал заново и у меня вот так сейчас. Это надо чинить там. А раз у тебя работает. Не трож :)

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

Я, кстати, проверял хеш, было подозрение, два раза скачивал, но не подтвердилось. Проверял только архив.

$ md5sum ptv3-3.23.3_public.zip

9809697ef335bacbd169fa65a3338c35

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

Тоже самое

9809697ef335bacbd169fa65a3338c35

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

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

А нужен ли тебе всё ещё этот EPGTV то? :D

Многие сборки, а также официальные дистрибутивы, стали добавлять (или всегда добавляли?) тот или иной iptv-плеер. Чаще замечал «Hypnotix IPTV». А mpv есть везде, +/-, да и размер несопоставим с профильными плеерами.

Как я уже и говорил, существует «философия» легкого ПО и легкой сборки, и есть многочисленные приверженцы такого пути. Так что, mpv + EPGTV.lua + небольшой iptv-плейлист, как некий аналог «цифровой tv 20-ки», украсят любую сборку, имхо.

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

Как я уже и говорил, существует «философия»

Понял :)

И ещё. Теперь по вопросу о всежручести, в чём суть, я ну физически не могу различить m3u плейлист содержащий ссылки на потоки ТВ без ТВ информации, от плейслита на потоки на что угодно другое кроме ТВ, поэтому при просмотре обычных m3u плейлистов на всякое разное вылезало «Нет ТВ программы для этого канала» каждый раз, это бесит =) Короче пока-что если в m3u плейлисте нет ссылки на EPG то мы считаем что это не IPTV плейлист. В этом есть свои минусы, так как некоторые ссылки на потоки реально не имеют EPG внутри себя, но, в скрипте можно жмакнуть g и загрузить кеш от ранее использованных плейлистов и в нём нажав h уже повторно попытаться найти телеканал и это очень часто работает.

Так что если всё же надо чтобы принудительно пыталось найти телепрограмму для ваааащее любого содержимого m3u то есть крутилка в виде

  ignore_noepg_m3u = true,  -- ignore playlist if M3U not contains EPG link

По умолчанию m3u плейлисты где нет epg теперь не iptv

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

По поводу того что не успеваешь читать по h

  • По h отображается программа телепередач которая закрывается по таймеру, сейчас это 5 секунд. Можно поменять через конфиг
duration = 5 -- hide EPG after this time, defined in seconds
  • По n теперь отображается программа телепередач с текущей телепередачей ранее она пропускалась и автоматического закрытия нет
    • нажал n один раз получил то что и по h но без автозакрытия
    • нажал n ещё раз и далее, идёт прокрутка вниз
    • закрыть esc

Только что внёс изменения. Да, было глупо по n убирать текст текущей телепередачи.

Только у меня что-то отвалилось и теперь

Так не пашет (промежуточного файла не создаётся)

mpv --script=./ http://192.168.0.100:8185/playlist

А вот так пашет

mpv --script=./ http://192.168.0.100:8185/playlist.m3u

Так как промежуточный файл тут не нужен mpv распознаёт плейлист Не знаю что я задел, я ничего из этого **уже рабочего ** не трогал, но сегодня уже разбираться не буду =) На днях

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

OSD bitmaps

Попалось issues с похожей ошибкой, там упоминается, что с --vo=xv проблема исчезает.

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

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

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

Но, хорошо что это внешний баг, к скрипту проблема значит отношения не имеет. И ладно =)

Пока думаю что делать с устаревающим кэшем и неоднозначными плейлистами.

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

Но, хорошо что это внешний баг,

Внешний баг от 2018 года. ) Имхо, его уже поправили наверно, это всего лишь похожее.

krasnh ★★★★
()

Кстати, по ПазлТВ, столько времени пользовался, но только сейчас узнал, что параметр «Программа - Оптимизировать объем данных» (или http://127.0.0.1:8185/settings/set/epg_low/val/true), переключает подробную/краткую инфу EPG.

Так что, EPG пазла ничем не хуже smolnp.github.io по объему инфы, но при этом многократно легче и не грузит настолько железо, типа «попробовал на ноуте слабом … ну и тормозня».

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

Попробую. Я поставил себе barrier чтобы мышку и клавиатуру прозрачно использовать на и ПК и ноуте на котором проверяю адекватность работы на дохлом железе, короче часы то у тебя вправо уезжали у меня там стоит стабильный дебиан mpv 0.35.1 там тоже уезжали, тыкался тыкался, короче убрал жирное начертание часов и всё стало нормально, ровно. Жирненькие часы конечно красивее смотрятся, но теперь зато ровно и на новом mpv и на «старом».

А ещё у меня на ноуте (раньше работало пока не обновился) не срабатывает автоматика, не работает событие «file-loaded» или порядок работы там его другой и приходится вручную нажимать u чтобы оно вообще что-то само делало, блин. Вот чего чего, а не хочется учитывать версию mpv, а то начнётся тут костыль для этой версии, тут костыль для этой версии и так далее.

И да, теперь по n прокручивается по кругу, дошёл до конца и наэкране ничего прыгает вверх само.

И ещё, теперь если ты открываешь плейлист, все передыдущие данные прошлого плейлиста выкидываются нахрен, мне казалось прикольным когда открыл один плейлист и в его epg тонна каналов, затем взял кинул ссылку на другой плейлист в mpv а в его epg канала нет и он автоматически ищется в иже ранее загруженых epg, это клёва работает! Но если повезёт, а иногда это работает так что всё путает. Это спорное решение конечно, но как минимум корректное. Заодно память должна выгружаться. Но никто не мешает нажать g если хочется и глобально искать во всём кеше, даже если в m3u ваще нет epg ссылки, а только потоки, это убирать не надо мне кажется, полезная фича (хотя её надо чуть доработать, а именно, грузить не весь кеш, а то там могут быть гигабайты, а грузить по очереди файлы, один раз нажал, подгрузил один идёт поиск канала, не нашло, ещё раз нажал подгрузилось ещё снова идёт поиск, опа нашло и сразу показало, ещё раз нажал то всё больше файлов кэша нету, про это сказать и всё) но тут подумать тоже надо, вроде прикольно, но не слишком ли замёдрёно.

Вроде всё. Часы + циклическая прокрутка + работа только с тем плейлистом и тем epg что был передан в mpv, только вот странно, я чищу таблицы, дёргаю напрямую сборщик мусора, ну память почистить от удалённых данных, а оно не уходит… Пока не разбирался почему, должно уходить.

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

Вот вроде всё просто по сути, а мелочей вот этих целая кучка =)

P.S. Да, проверил, быстрее и полные описания, и легче, ну понятное дело там в архивах на целую неделю для сотен и сотен каналов, огромные куски данных. В этом тоже есть плюсы, но не всегда, да.

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

Блин, ну и простыню я накалякал

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

Я поставил себе barrier

Спасибо, мне нужно, но совсем забыл про такое.
А почему не Synergy? Он хотя бы обновляется.

UPD: Понял почему. Personal use $29.

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

Я вообще сначала сел писать своё, вернее не писать, думать как делать, пока в поиске рылся на предмет информации как игнорировать мышку (мне больше ничего не надо было) на текущем устройстве пока данные о ней передаются по сети наткнулся на barrier, поставил из реп, вроде заработало, удобно, а про Synergy первый раз от тебя слышу =)

Единственный косяк barrier, он в режиме клиента судя по логам, автоматически не создаёт pem файл для коммуникации между устройствами поверх SSL, поэтому нужно на обоих компуктерах в настройках это выключить и всё работает, или создать pem файл, но там надо отдельно разобраться какой нужен, я не тыкал пока.

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

Я (пока-что) выпилил работу с фалами и ссылками без расширений. Если mpv мне не выдал playlist-path то я не пытаюсь взять path и самостоятельно выяснять это то что нам надо или нет и если то то копировать во временный файл и заново переоткрывать.

Это работало, но, как всегда до поры до времени и только с определёнными файлами, проще говоря внутри плейлистов есть ссылки на потоки они тоже внутри плейлисты, так как я каждый раз смотрел на path то мне попадались потоки на обработку тоже, там может быть что угодно, и я читал их этого чего угодно первые 1024 байта, смотрел что там и по паре совпадений давал добро на дальнейшую обработку. Всё было хорошо, пока в одной из таких m3u ссылок внутри m3u ссылки не попадась ещё одна m3u ссылка (три вложенности плейлистов друг в друга) где кто-то и зачем то сунул пустой тег url-tvg хотя внутури этого файла, внутри файла, внутри файла был по сути специализированный плейлист в котором выдаются сегменты потоковые, для разных часовых поясов и прочее прочее.

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

Ну, проблема с возу, кобыле легче :)

Теперь ещё правильное отображение затеняющего фона, и прогресс бара при изменении размеров окна и так по мелочи. Осталось. Пока больше проблем не вижу.

По поводу практического использования что ты выше написал, всё также попозже, сначала всё должно работать просто правильно, а потом уже подкрутим и/или подискутируем =)

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

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


Также, если телепрограмма отображается (например по n который не закрывается) и программа завершилась, то отображение автоматически обоновляется чтобы всегда отображалась крупно та программа которая идёт сейчас. Проверка раз в 30 секунд


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


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

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

Это наверно самая большая загадка Вселенной - почему у разработчика всегда все работает

Никакой загадки.
1. Разработчик пилил на этой системе.
2. Разработчик знает что нужно делать и в какой последовательности, альтернативные варианты ему просто не приходят в голову.
Ну и справедливости ради, не всегда всё работает. :) Лично у меня было больше одного наколенного поделия для личного использования в которых были баги, но я знал о них и знал как делать не надо.
Вспомнил одно которое ушло в прод, ну если это можно назвать продом то, что им стал пользоваться мой коллега и то, что сама софтинка не для личного использования, а для работы. Софтинка робила, но при соблюдении определенных правил. :)

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

С визуалом всё,

Я тут подумал, раз ты делаешь скрипт не для себя, типа «сделал добро и бросил в реку», то со временем ожидаемы проблемы с поддержкой.


Имхо, то что сейчас получилось можно торжественно положить в палату мер и весов, как эталон умения и таланта Разработчика. ) А на его базе сделать EPGTV-little, где все что можно переложить на внешние источники, стоит на них и переложить. А так же упростить до невозможности. Чтобы скрипт мог перенести «дождь, мороз, песок, грязь, падение с высоты, отсутствие смазки и ухода» и не потерять эксплуатационных свойств. Типа:

  • Проблемы со шрифтами - решать системными шрифтами.

  • Сдвиг по времени - проблема уровня самого плейлиста.

  • Перелистывание программы (n) для какого-то одного гипотетического канала, безумно дорогое (в плане затрат времени разраба) и ненужное излишество. И я об этом давно сказал.
    (Если пофанатазировать над неосуществимыми хотелками, и делать действительно промотку, то правильней, чтобы был отдельный список со всеми каналами, названием программы в данный момент для каждого, процентом показа и о чем она.)
    … … … … … … …
    … … … … … … …

  • И что-то там еще, что решается не в рамках скрипта, а подкруткой внешних нюансов. Типа как подробное/краткое содержание EPG в ПазлТВ, изменяемое через его настройки.

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

то со временем ожидаемы проблемы с поддержкой.

Тут ¯\(ツ)/¯ не угадаешь

Проблемы со шрифтами - решать системными шрифтами.

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

Сдвиг по времени - проблема уровня самого плейлиста.

Учёт разницы времени можно уже сейчас полностью вырубить, и тогда всё на откуп плейлиста, но также есть возможность вручную сдвинуть время, включив учёт tvg-shift и добавив в плейлист tvg-shift="тут сдвиг в любую сторону" это задокументировать просто надо

Перелистывание программы (n) для какого-то одного гипотетического канала, безумно дорогое (в плане затрат времени разраба) и ненужное излишество. И я об этом давно сказал.

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

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

Это как в yuki-iptv =) Но, там свои проблемы с этим, и это уже будет тяжёлой задачей для скрипта, так как нужно будет обойти все данные (все сотни мегабайт порой) затем для сотен каналов найти что идёт сейчас и расчитать сколько там осталось, затем сгенерировать сотни мегабайты форматированного текста и отдать его на отрисовку и не просто так, а каждый раз преобразуя тысячи строк в таблице в 1 строку, путём копирования. А ещё, пока ты крутишь часть программ может уже закончится и начаться другие, а ты будешь видеть прошлые данные. Это относительно просто сделать, но проблема в том что это будет молотить процессор в сотку из за того что туда сюда данные гонять придётся, можно было бы выйти из этой ситуации, если-бы у меня было API хотя бы размер и высоту выводимых строк в пикселях узнать чтобы рассчитать то сколько всего на экране помещается и обновлять всё, только для тех и того, что сейчас на экране. Но в mpv API такого нет. Там вообще почти ничего нет. В основном просто информация о том что воспроизводится, можно выводить кружки, квадратики и разноцветный текст, ну и всё.

А так же упростить до невозможности.

Да там по сути нечего и упрощать то. А все текущие проблемы связаны с тем что разные версии mpv ведут себя по разному. На позапрошлой версии всё работает, на прошлой не работает, на следующей опять работает. Я делаю для стабильной текущей версии mpv 0.38.0

Решу вопрос с правильным отображением процентов с течением времени, начну добавлять в конфиг крутилки, чтобы что не надо выключаешь (что можно выключить), бинды на кнопки, меняешь, время таймеров, цвета текста. Затем как-то по понятнее в REAMDE опишу какая крутилка, что меняет, ну и всё по сути. Будет, готово, ну типа.

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