Skip to content

DropTracker-io/droptracker-video-capture

Repository files navigation

DropTracker Video Capture

Companion plugin for the DropTracker RuneLite plugin.

This plugin contains the GPU-accelerated (LWJGL/OpenGL PBO) frame-capture engine used to record short gameplay clips of drops, personal bests, and other achievements. It is kept separate from the main DropTracker plugin so that the OpenGL surface is small, isolated, and easy to audit.

How it works

  • The plugin does nothing on its own. It idles until the main DropTracker plugin asks it to start recording via RuneLite's PluginMessage event (namespace droptracker-video).
  • While recording, it keeps a rolling in-memory buffer (~10 seconds) of JPEG-compressed frames read back from the OpenGL front buffer via a small ring of Pixel Buffer Objects. Nothing is written to disk and nothing is uploaded by this plugin.
  • When the main plugin requests an event clip, the buffered frames (plus a final screenshot) are handed back to the main plugin in-memory via PluginMessage. The main plugin is responsible for any uploading.
  • Login screens and bank-PIN interfaces are detected and blurred before frames leave the buffer.
  • Requires the GPU plugin (or another plugin providing an OpenGL context). Without one, it reports capture as unavailable and the main plugin falls back to screenshots.

PluginMessage API

Namespace: droptracker-video (see VideoBridgeProtocol.java)

Direction Name Payload
main → companion hello protocolVersion
main → companion start fps, jpegQuality, durationMs
main → companion update fps, jpegQuality, durationMs
main → companion stop
main → companion capture requestId, postEventMs
companion → main ready protocolVersion, pluginVersion (sent on startup)
companion → main ack protocolVersion, pluginVersion, recording, gpuUnavailable
companion → main state recording, gpuUnavailable
companion → main capture-complete requestId, screenshot (byte[]), frames (List<byte[]>), fps
companion → main bye — (sent on shutdown)

All payload values are JDK types so the message crosses plugin classloaders safely.

License

BSD 2-Clause. Capture engine adapted from the osrs-tracker-plugin by Dennis De Vulder.

About

A companion RuneLite plugin for the DropTracker that enables eligible players to capture and submit videos with their submissions instead of just screenshots.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages