Back to mods
WATERMeDIA: Multimedia API project artwork

CurseForge · Minecraft mod

WATERMeDIA: Multimedia API

Multimedia Library with a well designed API. Play Video, Audio and Images, fast HW decoding, Vulkan and OpenGL rendering.

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which WATERMeDIA: Multimedia API release should I use?

Updated yesterday
Latest stable file 3.0.1
Game version 1.20.1, 1.21.1, 1.18.2
Loader Fabric, Forge, NeoForge

WATERMeDIA: Multimedia API 3.0.1 targets 1.20.1, 1.21.1, 1.18.2 with Fabric, Forge, NeoForge. The project page does not say whether this file belongs on the client, dedicated server, or both. All 3 required mods have matching files.

Where it goes

Is WATERMeDIA: Multimedia API required on the client, server, or both?

The project page does not say whether this file belongs on the client, dedicated server, or both.

Client Source doesn’t say
Dedicated server Source doesn’t say
Loader for this release Fabric, Forge, NeoForge
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

The source does not explicitly classify this release as client-only or server-only.

What else does WATERMeDIA: Multimedia API 3.0.1 need?

3.0.1. Change the file and its required mods may change too.

All 3 required mods have matching files

Install WATERMeDIA: Binaries, WATERMeDIA: Multimedia API, WATERMeDIA: Multimedia API first. We found matching files for this game-version and loader setup. 2 come through another mod in the chain.

1 listed on this file 2 pulled in by those mods
WATERMeDIA: Binaries Needed by WATERMeDIA: Multimedia API 3.0.1
required
Matching file found Matched file: 3.0.1

2 extra mods were pulled in by other dependencies. Indented rows show who needs each one. We only count dependency files that match this setup. A file for another loader does not fill the gap.

Before you install it

Add WATERMeDIA: Multimedia API without breaking your instance.

Built for WATERMeDIA: Multimedia API 3.0.1. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use 3.0.1. It targets 1.20.1, 1.21.1, 1.18.2 with Fabric, Forge, NeoForge; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    Install WATERMeDIA: Binaries, WATERMeDIA: Multimedia API, WATERMeDIA: Multimedia API first. We found matching files for this game-version and loader setup. 2 come through another mod in the chain.

  3. 03

    Put it on the correct side

    The project page does not say whether this file belongs on the client, dedicated server, or both.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside 3.0.1. It opens that exact file at the source.

About this project

What does WATERMeDIA: Multimedia API add?

WATERMeDIA banner

CurseForge downloads CurseForge Modrinth

JitPack Discord

📕 OVERVIEW

WATERMeDIA is a multimedia library with a well designed API: it plays videos, music, live streams, pictures and animations, and decodes and encodes them, rendering with OpenGL and Vulkan and playing sound through OpenAL. Pictures go through our own pure-Java decoders and everything else through FFmpeg, bundled in the companion mod WATERMeDIA: Binaries. Nothing to compile or install, just plug and play.

Supports Forge, NeoForge and Fabric on every Minecraft version from 1.18.2 to 26.2 that runs on Java 17 or newer, on clients and dedicated servers. It also runs outside Minecraft: opening the jar launches a full media player, and any Java app can embed the API.

🛠️ FEATURES

* Depends on the mod you're using and only works when its developer wires it in. Ask its author.

  • 🎬 Videos and music play with FFmpeg 9, bundled in WATERMeDIA: Binaries for Windows (x64), Linux (x64, ARM64) and macOS (Intel, Apple Silicon)
  • 🖼️ Our own pure-Java picture decoders: PNG, APNG, JPEG, GIF, WebP (animated too), SVG and Netpbm. Safe by design, they use far less CPU and VRAM, and many animations can play at once without stuttering the game
  • ⚡ Hardware video decoding on NVIDIA, AMD, Intel and macOS, falling back to software when the GPU struggles
  • 🌋 Vulkan rendering next to OpenGL, ready for Minecraft 26.x. On Vulkan, H.264, H.265 and AV1 videos decode and draw right on the GPU, never touching RAM
  • 🌈 HDR and 10, 12 and 16-bit videos look natural on regular screens, and every video keeps its real colors, from old SD clips to wide-color videos and phone or webcam recordings
  • 💾 Disk cache for videos and pictures: fast and reliable loads that save bandwidth
  • 📡 Live streams (HLS and DASH) and IPTV playlists, which open as a channel list
  • 🌐 Support for popular online platforms (YouTube, Twitch, Kick, BiliBili, TikTok, Twitter (X) and more), with safeguards for mature content where the platform exposes it
  • 🖥️ Runs on dedicated servers. Install it there only when the mod using WATERMeDIA requires it server-side; it brings an optional file server that shares uploaded media with players through water://remote/ links
  • 🗣️ Videos with a separate audio track play in sync, unlocking higher qualities on platforms like YouTube. Dubbed videos play their original language, or the one you prefer, and you can switch languages while watching*
  • 🎚️ Pick the quality, change the speed, seek precisely, loop, and lower the resolution of distant screens to save VRAM*
  • 🔊 Positional audio that fades with distance. Stereo screens can play each side from its own edge, and extra speakers can play a screen's sound anywhere without loading it twice*
  • ⏱️ Synchronized playback through a server clock, so everyone watches the same moment*
  • 🔍 Search videos by keyword on YouTube, Twitch, Kick and Imgur*
  • 🎥 Record videos with sound to MP4, MOV, MKV, WebM and Ogg, and save pictures and animations as PNG, APNG and GIF (experimental)*
  • 🔒 HTTPS media checks certificates, and tokens, passwords and login data never reach the logs

🌐 SUPPORTED PLATFORMS

  • 📺 YouTube, Twitch, Kick, BiliBili, Odysee, D.Tube, VidLii
  • 🐦 Twitter (X), Bluesky, TikTok, Facebook, Instagram
  • 🎵 SoundCloud, Newgrounds (movies, music and art)
  • 🖼️ Imgur, Lightshot, Medal, Streamable, Sendvid
  • 📁 Google Drive, Dropbox, MediaFire
  • 🔞 PornHub (only with mature content allowed in the settings)
  • 🔗 Direct links to any video, music, picture or playlist, local files and water:// resources

YouTube, SoundCloud, Facebook and Instagram play through yt-dlp, which requires WATERMeDIA: Binaries. BiliBili plays up to 1080p (8K with VIP) when you add your session cookie in the settings; without it, up to 480p.

🧩 MODS USING WATERMeDIA

Mod Author Link
🖼️ WaterFrames SrRapero720 CurseForge
📺 WaterVision SrRapero720 CurseForge
🧱 FancyMenu Keksuccino CurseForge
🖼️ LittlePictureFrames CreativeMD CurseForge
🏺 Vista MehVahdJukaar CurseForge
⏪ WaterFrames: Backported Edition Toshayo CurseForge
📽️ Holographic Renderers Mysticpasta1 CurseForge
📽️ BBS CML Edition McHorse CurseForge
💻 Conditional Videos MateoF024 CurseForge
⏯️ Owleaf PlayBack Owleaf_Studio CurseForge

🏅 Special mentions

  • VideoPlayer (not maintained)

📦 WATERMeDIA: BINARIES

FFmpeg natives and a few extra shared libraries ship in the companion mod WATERMeDIA: Binaries. Its sources live in this repository under binaries/.

  • Minecraft clients require Binaries, and both mods must be on 3.0
  • Dedicated servers can skip it. CurseForge and Modrinth list it as required because their dependencies can't express client/server conditions, so installers may add it to servers too
  • Apps embedding the Java API can run without it, keeping picture support but losing video decoding and the platforms backed by yt-dlp
Architecture Windows Linux macOS Android
x86_64 ✅ ✅ ✅ ⛔
aarch64 ⛔ ✅ ✅ ⛔

🎮 CREATE YOUR SERVER AT LOW PRICES

KineticHosting, our partners in hosting solutions, are great to make a server and start sharing multimedia with your friends with all the mods listed above.

KineticHosting sponsor

⁉️ FAQ

  • ¿Does WATERMeDIA run on servers?
    • Yes, since 3.0 it loads on dedicated servers. WATERMeDIA: Binaries is optional there
  • ¿Do I still need VLC?
    • No. VLC was replaced by FFmpeg, bundled in WATERMeDIA: Binaries, and uninstalling VLC is safe
  • ¿Why do videos stutter?
    • Turn hardware decoding off in config/watermedia.toml
  • ¿Can I use my own FFmpeg?
    • Yes, FFmpeg can be turned off or swapped for your own compatible build in the settings
  • ¿Why are some videos blocked?
    • Mature content is blocked by default, and the site whitelist or blacklist can leave a site out; see FOR USERS
  • ¿Why does the game stop at startup with TLauncher?
    • TLauncher is not supported, and the game stops when it's detected
  • ¿Where do I report bugs?

🙋 FOR USERS

WATERMeDIA keeps its settings in config/watermedia.toml, inside your game folder (or your server folder on a dedicated server). It's created on the first launch with a comment above every field. Edit it while the game is closed, and your changes apply the next time it starts. Each name below is a [section] plus a field: player.cacheBudget is cacheBudget under [player].

📤 ENABLE THE FILE SERVER

The file server lets players upload their own videos, music and pictures to your Minecraft server and share them with everyone through water://remote/ links, with no outside hosting. It needs WATERMeDIA on the server and a mod that offers uploads.

  1. On the server, set these fields in config/watermedia.toml, with your server's public IP or domain in remoteUrl:
    [network]
      server = "DEDICATED"
      serverBindAddress = "0.0.0.0"
      serverPort = 25572
      remoteUrl = "" rel="noopener nofollow" target="_blank">http://play.example.com:25572/"
      token = "a-long-secret-only-you-know"
    
  2. Open that port (TCP) in your firewall or your host's panel; WATERMeDIA doesn't open it for you.
  3. Copy the same remoteUrl and token into the config/watermedia.toml of every player. Modpacks can ship it.
  • The server won't start for outside players while token keeps its default value. Change it on every server update to keep strangers from uploading.
  • Each upload can weigh up to 8 MB (maxUploadSize, 0 means no limit) and all of them together up to 1024 MB (maxStorageSize).
  • Uploaded files land in watermedia/files inside the server folder; delete them there to free space.
  • It speaks plain HTTP, so put it behind your own HTTPS proxy when it faces the internet.
  • server = "ALWAYS" also runs it from your own game, for worlds you host yourself.

🖥️ STANDALONE APP

The WATERMeDIA jar is also a desktop media player. With Java 17 or newer installed, double click it, or run java -jar watermedia-<version>.jar from a terminal.

  • Play media opens any link or file path, or searches by keyword. The sample tiles try links from every supported platform, and Television opens live TV channels by region.
  • Keep WATERMeDIA: Binaries in the same folder to play videos and music; without it, only pictures and animations play.
  • The first launch downloads a few libraries, so it needs internet that time.
  • It draws with Vulkan and falls back to OpenGL when Vulkan fails. Write engine=OPENGL in config/app.properties to always use OpenGL.
  • Cleanup cache empties the media cache, the same one your game uses.

🐞 BUG REPORTS AND LOGS

Something broke in your game? Open the app from your Minecraft mods folder and pick Upload Logs (U):

  1. It finds your latest.log, the newest crash report and the newest JVM crash file (hs_err_pid).
  2. It hides tokens, passwords and login data, then uploads the files to mclo.gs.
  3. It copies a ready report to your clipboard. Choose where to send it, WATERMeDIA or the mod you suspect (FancyMenu, WaterFrames, WaterVision or LittleFrames, when installed), and paste it into the issue page that opens.

Files over 10 MB or 25,000 lines don't upload, so share those by hand. You can always send logs/latest.log and the crash-reports folder from your game folder on GitHub Issues or Discord.

💾 CONFIGURE CACHE SIZE

Downloaded videos and pictures stay on disk, so they load faster next time and save bandwidth. They live in watermedia/cache inside your system's temporary folder (%TEMP% on Windows, /tmp on Linux), and deleting it while the game is closed is safe.

  • player.cacheBudget: disk space for the whole cache, in MB (8192 by default). Once it's full, the oldest files leave first.
  • codecs.ffmpeg.cacheMaxResponse: the biggest video or music file it keeps, in MB (10 by default). Bigger files stream every time.
  • player.watertx.cache and codecs.ffmpeg.cache: set them to false to stop caching pictures or videos.
  • player.watertx.texturesBudget: video memory for smooth animations, in MB (32 by default). Set it to 0 when your GPU runs short on VRAM.

🚦 WHITELIST, BLACKLIST AND MATURE CONTENT

Choose which sites can play under [platforms]:

[platforms]
  allowMatureContent = false
  whitelist = ["youtube.com", "imgur.com"]
  blacklist = ["example.com"]
  • whitelist: when it lists any site, only links from those sites play. Empty, the default, lets every site play.
  • blacklist: links from these sites never play.
  • Both take hostnames only, like website.com: no https://, paths or *.
  • website.com covers the whole site, subdomains included (some.website.com, another.website.com), while some.website.com covers only that subdomain and never website.com itself.
  • allowMatureContent: mature videos and streams stay blocked until you set it to true. It works where the platform marks them, such as Kick, Twitch or Twitter (X), and PornHub needs it to play at all.

💻 FOR DEVELOPERS

Two classes do the work: MRL (Multimedia Resource Location) resolves a link into its sources, qualities and metadata, and MediaPlayer plays it through the engines you pick (GLEngine, VKEngine, ALEngine and more).

MRL mrl = PlayerAPI.mrl(URI.create("" rel="noopener nofollow" target="_blank">https://imgur.com/gallery/snow-ducks-YcDd9x"));

// IN A TICK-LOOP METHOD
if (mrl.status() == MRL.Status.LOADED) {
    MediaPlayer player = PlayerAPI.player(mrl,
            () -> PlayerAPI.glEngine(renderThread, renderExecutor),
            () -> PlayerAPI.alEngine());
}
  • PlayerAPI: media playback and display
  • PlatformAPI: web platform support for loading and searching media
  • NetworkAPI: host and remote storage for private media
  • CodecsAPI (experimental, don't use it in your mods yet): our own picture and animation codecs, plus FFmpeg-backed audio and video

The full API guide lives on the wiki in English, Español (México), Español (Argentina), Português (Brasil), Русский and 简体中文. Artifacts are on JitPack.

💰 DONATIONS

Thank you for using WATERMeDIA! 🫶 Every donation, big or small, helps us keep it free, updated and growing with every new Minecraft version.

Support me on Patreon Support me via Paypal Support me on Ko-Fi Support me via Revolut

Please consider donating to the FFmpeg developers too. Every video WATERMeDIA plays goes through their work, and this project wouldn't exist without them.

⚖️ LICENSE

WATERMeDIA and WATERMeDIA: Binaries are under the Defensive Public Source (Non-Commercial) License v1.0.1. Copyright SrRapero720 (https://github.com/SrRapero720).

Permitted non-commercial usage (included and not limited to modpacks or server packs). Commercial use is forbidden; contact us to use WATERMeDIA for commercial purposes.

The third-party libraries both mods ship keep their own licenses; read them in the WATERMeDIA and WATERMeDIA: Binaries repositories before redistributing.

Project description from CurseForge.

Pick your setup

WATERMeDIA: Multimedia API by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

49 available setups

Showing the newest 12 of 19 game versions. Older files are in the list below.

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

WATERMeDIA: Multimedia API versions and loaders

76 of 76 releases match

Looking for an older file? The official CurseForge project page is in Resources.