lampaq-anime4k-plugin

Lampa Anime4K

Экспериментальный плагин для встроенного HTML5-плеера Lampa и совместимых сборок. Он использует WebGL2 и шейдеры Anime4K Restore CNN Soft M и Upscale CNN x2 S, чтобы улучшать изображение во время воспроизведения. Плагин добавляет canvas поверх видео и оставляет воспроизведение, звук и управление штатному плееру.

Обработка проверена в Lampaq пользователем. В Edge на тестовой странице с MSE-видео и структурой слоёв, моделирующей Lampa, проверены также воспроизведение, переключение, полноэкранный режим и возврат к исходному изображению при ошибках. Проверка субтитров и переходов в конкретной сборке Lampaq ещё необходима. Реальная производительность зависит от браузера, устройства, разрешения и источника.

Как работает

Плагин ожидает доступный HTML5 video, WebGL2 и расширение EXT_color_buffer_float. Кадры обрабатываются на устройстве пользователя. Ссылка blob: сама по себе не гарантирует доступ к кадрам. Доступ проверяется при загрузке кадра в WebGL.

Размеры и состояние можно посмотреть в консоли браузера:

LampaAnime4K.status()

Поле version показывает загруженную версию, profile — выбранный режим. Значение mode: "anime4k" означает, что обработанный кадр выведен на canvas. Поля source и output содержат размеры. При mode: "original" поле reason объясняет причину. Сведения об ошибке также выводятся в консоль с префиксом [Lampa Anime4K].

Проверка в Lampaq

  1. Запустите серию 720p, убедитесь, что она воспроизводится со звуком, затем включите плагин.
  2. Проверьте LampaAnime4K.status(). Ожидается mode: "anime4k", source: "1280×720" и output: "1920×1080" для файла 1280×720. Сравните одну и ту же сцену с обработкой и без неё.
  3. Проверьте паузу, перемотку, буферизацию, изменение масштаба плеера, полноэкранный режим, смену дорожки звука и видимость используемых субтитров.
  4. Перейдите на следующую серию и закройте плеер. Убедитесь, что изображение не зависает, звук и управление работают, а обработка на новой серии включается автоматически.
  5. Проверьте видео 1080p. Ожидается mode: "original". При ошибке или снижении плавности выключите улучшение и сохраните текст reason и сообщения консоли для диагностики.

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

Исходный код и лицензия

Исходный код плагина находится в plugin.src.js, шейдеры — в vendor/. Команда node build.mjs собирает готовый lampa-anime4k.js, а node build.mjs --check проверяет соответствие сборки исходникам.

Плагин распространяется под MIT. Шейдеры Restore CNN Soft M и Upscale CNN x2 S принадлежат проекту bloc97/Anime4K и содержат уведомление об авторских правах и лицензию MIT.

При реализации проверены публичные исходники Lampa, в частности API настроек, события плеера, HTML5-видео и структура плеера. Приложения на их основе могут отличаться.