// the find
bytelang/kplayer-go
A live streaming tool more suitable for non-graphical servers
KPlayer is a headless RTMP streaming tool that loops local video files to platforms like Twitch or YouTube without needing a desktop or GPU. It wraps a C++ encoding core (libkplayer) with a Go CLI, adds a JSON-RPC control API, and handles multi-output streaming and cache pre-generation to reduce CPU load on low-spec servers. The target user is someone running an unattended 24/7 stream from a cheap VPS.
The pre-generated encode cache is genuinely useful — transcode once on a fast machine, copy the cache to a weak server, and stream without re-encoding. Multi-output to parallel RTMP destinations is handled natively rather than needing multiple ffmpeg processes. The WASM plugin sandbox is a thoughtful design choice: plugins can add overlays and watermarks without being able to read arbitrary files or phone home. The JSON-RPC API for dynamic playlist control means you don't have to restart the process to swap in a new video.
Last commit was June 2024 and the core C++ library (libkplayer) is a git submodule pointing to a separate repo — if that goes dark, you're stuck. The README is almost entirely in Chinese with no English translation, which limits who can actually troubleshoot it. The tool requires downloading a prebuilt binary via a curl-pipe-to-bash install script from a third-party CDN (get.kplayer.net), which is a supply chain risk most sysadmins should not accept without scrutiny. At 775 stars it has a real user base, but the issue tracker and docs site will likely be the first things to go quiet if the maintainer moves on.