Skip to content

RU RU 0 Setup

J-RAP edited this page Nov 7, 2026 · 3 revisions

0. ПОДКЛЮЧЕНИЕ

В Minecraft просто добавьте WATERMeDIA и WATERMeDIA: Binaries как зависимости (см. Binaries и FFmpeg) и объявите WATERMeDIA обязательной зависимостью в своём моде, в пределах диапазонов из раздела программные ограничения; загрузчик предоставит их во время выполнения.

repositories {
    maven { url "https://jitpack.io" }
}

dependencies {
    // HEY NEWBIE CODER: implementation IN MODDING ENVIRONMENTS DOESN'T SHIP DEPENDENCIES IN YOUR BUILT JAR
    // AND IS NEEDED SO THE NEOFORGE OR FABRIC RUNTIME CAN LOAD THEM
    implementation "com.github.SrRapero720:watermedia:$watermedia_version" // A RELEASE TAG, SUCH AS 3.0.1
    implementation "com.github.SrRapero720:watermedia-binaries:$binaries_version" // FFMPEG, YT-DLP AND BOTGUARD, OPTIONAL
}

В собственных Java-приложениях или Java-играх окружение должно предоставить:

repositories {
    mavenCentral()
    maven { url "https://jitpack.io" }
}

dependencies {
    implementation "com.github.SrRapero720:watermedia:$watermedia_version" // A RELEASE TAG, SUCH AS 3.0.1
    implementation "com.github.SrRapero720:watermedia-binaries:$binaries_version" // FFMPEG, YT-DLP AND BOTGUARD, OPTIONAL
    implementation "com.github.SrRapero720:waterconfig:1.0.0.1" // MIN WATERCONFIG VERSION
    implementation "com.google.code.gson:gson:2.10" // MIN GSON VERSION
    implementation "org.apache.logging.log4j:log4j-api:2.26.1" // MIN LOG4J VERSION, PLUS THE BACKEND YOUR APP LOGS WITH
    implementation "org.joml:joml:1.10.8" // MIN JOML VERSION
    // LWJGL 3.3.6 MODULES, ONLY FOR THE ENGINES YOU USE (SEE THE TABLE BELOW)
}
Движок Дополнительные библиотеки времени выполнения
GLEngine LWJGL lwjgl и lwjgl-opengl, вместе с их нативными библиотеками
VKEngine LWJGL lwjgl, lwjgl-vulkan и lwjgl-shaderc (шейдеры компилируются во время выполнения), вместе с их нативными библиотеками (у lwjgl-vulkan нативные библиотеки есть только для macOS; Windows и Linux используют системный Vulkan)
ALEngine LWJGL lwjgl и lwjgl-openal, вместе с их нативными библиотеками
JFXEngine Среда выполнения JavaFX 13+
AWTEngine, JSEngine, HeadlessGFXEngine Ничего дополнительного: их покрывает JDK
  • На Forge, NeoForge и Fabric WATERMeDIA включает WATERCoNFIG как вложенный JAR, а остальные библиотеки уже поставляются с игрой.
  • Автономный лаунчер скачивает недостающие библиотеки, когда они нужны, и использует только те, что совпадают с SHA-256, зафиксированным при сборке.
  • Приложение, которое встраивает библиотеку, использует собственный classpath: то, что проект компилируется при разработке, ещё не значит, что установка Minecraft поставляет эти библиотеки.
  • Binaries содержит XZ внутри, а WATERMeDIA несёт биндинги JavaCPP и FFmpeg.

Нативные библиотеки FFmpeg покрывают эти платформы; изображения декодируются везде, где работает Java.

Архитектура Windows Linux macOS Android
x86_64 ✅ ✅ ✅ ⛔
aarch64 ⛔ ✅ ✅ ⛔

Warning

Нативных библиотек FFmpeg для Windows на ARM64 и для Android нет: изображения там по-прежнему декодируются, видео и аудио не воспроизводятся, а установленный Binaries проваливает запуск, если не включён codecs.ffmpeg.disable.

0.1 BINARIES И FFMPEG

Important

Аппаратному декодированию видео нужны GPU и драйвер, которые умеют декодировать этот кодек: NVIDIA (CUDA), Intel (QSV), AMD (AMF), Direct3D 11 или 12 на Windows, VideoToolbox на macOS, VAAPI, VDPAU или DRM на Linux, либо Vulkan. Всё остальное, как и GPU, который не справляется, декодирует программно, а с codecs.ffmpeg.hardwareAccel = false декодирование всегда программное.

Note

Настраивается: codecs.ffmpeg.disable, customPath, hardwareAccel, analyzeDuration, probeSize, trackPacketReads, cache и cacheMaxResponse. Смотрите их комментарии в config/watermedia.toml.

WATERMeDIA: Binaries загружается вместе с WATERMeDIA и подготавливает нативные библиотеки до сети, кодеков и плеера.

  • Клиентам Minecraft он обязателен; выделенные серверы могут обойтись без него, поскольку там он ничего не подготавливает.
  • Приложения, встраивающие Java API, тоже могут обойтись без него и сохранить декодирование изображений и резолверы платформ без нативного кода; они теряют декодирование видео и платформы, работающие через yt-dlp.
  • Отключение FFmpeg (codecs.ffmpeg.disable) пропускает извлечение.
  • У Binaries нет API для запуска или остановки: нативные файлы остаются на месте всё время работы процесса.
  • yt-dlp и BotGuard скачиваются при первом использовании и проверяются перед запуском. Системные свойства watermedia.ytdlp.binary и watermedia.botguard.binary позволяют указать вместо них ваши собственные исполняемые файлы.

Для своей сборки FFmpeg укажите в codecs.ffmpeg.customPath папку с её нативными библиотеками (а не ffmpeg.exe). Подойдёт любая лицензия и версия, если у сборки есть совместимые JNI-биндинги и такая же поддержка TLS, как у встроенной (см. Доверие HTTPS и учётные данные). WATERMeDIA проверяет целостность только у встроенных нативных библиотек.

0.2 КОНФИГУРАЦИЯ

Note

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

WATERMeDIA записывает свои настройки в config/watermedia.toml в рабочей директории, с комментарием над каждым полем. Значения по умолчанию работают сразу, поля, читаемые при запуске, применяются при следующем запуске, а если какой-то бэкенд кажется недоступным, первым делом проверьте этот файл.

  • codecs.*: FFmpeg, аппаратное декодирование и декодеры изображений.
  • player.*: качество по умолчанию и кэши.
  • platforms.*: контент для взрослых, поиск и аккаунты платформ.
  • network.*: файловый сервер и веб-запросы.

Clone this wiki locally