-
Notifications
You must be signed in to change notification settings - Fork 0
FFmpeg and Media
B1progame edited this page Jun 6, 2026
·
2 revisions
MusicXCST uses FFmpeg for audio probing and transcoding. The public mod jar does not bundle FFmpeg executables.
- The CD Writer upload flow can convert audio on the uploading client.
- The server validates, stores, hashes, probes, previews, and distributes normalized audio.
- Admin server-side imports may require server-side transcoding.
- Already-compatible
.oggfiles can avoid some conversion work, but duration checks still depend on FFmpeg when duration limits are enabled.
Default:
ffmpegMode = system
Supported modes:
system Use ffmpeg from PATH.
path Use the executable configured in ffmpegPath.
managed Use a user-approved, verified download stored outside the jar.
disabled Do not use FFmpeg; already-compatible OGG files may still work.
Managed download is explicit. The mod does not download an executable unless a user or admin chooses the managed setup option.
Client managed files are stored under:
<minecraft directory>/config/musicxcst/ffmpeg/managed/<platform>/
Server managed files are stored under the server directory at the same relative path.
Managed download currently supports Windows x86_64 using a pinned BtbN LGPL FFmpeg build with SHA-256 verification. Other platforms should install FFmpeg manually and use system or path.
/cstmusic admin ffmpeg status
/cstmusic admin ffmpeg path <path>
/cstmusic admin ffmpeg download confirm
/cstmusic admin ffmpeg reset
- Do not put FFmpeg executables inside the MusicXCST jar.
- MusicXCST invokes FFmpeg as a separate executable process and does not link FFmpeg libraries into the mod jar.
- Use LGPL FFmpeg builds where possible.
- Do not distribute builds configured with
--enable-nonfree. - Keep FFmpeg license, source/build URL, version, configure flags, and checksums with any separate distribution that includes FFmpeg.