Yugomedia is an early-stage, in-development multimedia platform, with native demuxers for media containers, bindings for C libraries such as ffmpeg/librempeg, Apple's VideoToolbox, and more. It includes yugo-play: a relatively feature-filled media player.
- Native mp3, mp4, and mkv demuxing
- Common video (H26x/VPx/AV1) and audio (MP3/AAC/Opus) decoding via ffmpeg/librempeg's libavcodec, Apple's AVFoundation/VideoToolbox/CoreMedia stack, and individual decoders like dav1d/libaom/libopus
- Native macOS windowed playback with Metal presentation and CoreAudio output
- Keyboard controls for play/pause, mute, seek, frame step, replay, loop, playback speed, diagnostics
- OSD for playback actions and status
- Downloading and streaming networked files
- Integration with the
yt-dlpproject for social media links. Personally tested with YouTube and Instagram Reels. - "Basic" subtitle support
- Speeding up and slowing down the video/audio. It does not support pitch correction yet. Honestly, I am not rushing to fix because it's too funny 😂😂😂
What else should we add to yugomedia? We want to hear from you! Feature requests welcome: file a Github issue.
- Mac OS only. Support for other OSes are incoming.
- The Apple VideoToolbox backend is buggy. You should use the libav* backend to decode real-world videos.
INSTALL.md has more instructions on building a yugo-play that can play most of the common media formats.
Yugomedia itself is dual-licensed under MIT OR Apache-2.0.
Builds that include only Yugomedia and permissively licensed dependencies can remain under permissive license terms.
Some optional backends depend on libraries with stronger license requirements. For example, FFmpeg is commonly
used under LGPL terms, while librempeg is GPL-licensed. If you build Yugomedia with one of these optional
backends enabled, such as through the enable-lgpl or enable-gpl feature gates, the resulting binary must
comply with the terms of that dependency’s license.
In practice:
- A build without LGPL/GPL components remains MIT OR Apache-2.0, subject to the licenses of its included dependencies.
- A build with the FFmpeg backend enabled under
enable-lgplmust comply with LGPL requirements. - A build with the librempeg backend enabled under
enable-gplmust comply with GPL requirements.

