Media player · Windows
Every file, stream and disc. Built from scratch.
rexplayer is a Windows media player whose engine is its own: the container parsing, the audio pipeline, the clock and the command line are all written by REX Technologies, and every line of the engine is covered by tests.
> rexplay probe Sungba.wav Sungba.wav: WAVE, 3:14 #0 audio: PCM, 44100 Hz, Stereo, 16-bit > rexplay play Sungba.wav --start 1:30 Played Sungba.wav: 3:14 of 3:14. > rexplay agent capabilities {"ok":true,"protocolVersion":1,...}
How it works
One pipeline, every source.
Bytes come in from a file, a stream or a disc; rexplayer works out what they are from the bytes themselves, never the file name, and plays them in time.
Recognise
Every format reader scores the first bytes of the file. The best match opens it, so a renamed file still plays.
Decode
rexplayer's own decoders handle the open formats. Patented ones go to the decoders Windows already licenses, so nothing is reinvented that should not be.
Play in time
The audio device's own clock leads. Seeks land on the exact sample, and a new seek interrupts the old one immediately.
What is inside
Small parts, each proved.
Its own decoders
MP3, FLAC, Vorbis, GIF, WAV and AIFF, decoded by rexplayer itself and checked against independent decoders, with tags and cover art read from ID3 and Vorbis comments.
Pictures
JPEG, PNG, animated GIF, WebP, BMP and TIFF, turned the right way up, a folder of them shown as a slideshow, with zoom and full screen.
A media library
The music and videos in the folders you choose, kept up to date as files come and go: albums, artists, genres, videos and a search across it all.
The player window
A playlist, full screen, snapshots, preferences and every shortcut in the menus, with one window for everything you open.
Video on the graphics card
MP4, MOV, MKV and WebM, with H.264, HEVC and AAC decoded by Windows on the graphics card when it can, drawn with Direct3D and kept in step with the sound.
Subtitles
SubRip, WebVTT, ASS and the older text formats, beside the film or inside it, outlined and sized to the picture, in the languages you prefer.
Kinetic captions
Words land as they are spoken, big when shouted and small when whispered, kept off faces and readable on any picture, in ten looks; a film with no subtitles can be transcribed on your own computer.
Sound your way
A ten-band equaliser, playback from a quarter to four times the speed without a change of pitch, and loudness evening.
Twelve visualisations
A vinyl record whose groove is the music, a halo, an aurora, embers, ripples on the beat, a colour strobe, your own silhouette from the camera and more, each with its own colours and settings.
Its own resampler
A windowed-sinc resampler converts to whatever rate your audio device mixes at, without drifting over hours.
Gapless
Albums play from one track to the next without a gap, and MP3 encoder padding is cut to the sample.
Windows audio
Plays to the default device through WASAPI, with volume up to 200 % and a soft clipper above 100 %.
A command line for scripts
rexplay prints exactly one JSON document per command when asked, so tools and agents can drive it reliably.
Tested to the line
Every line of the engine runs in tests on each change, including exact-sample checks of what was played.
Roadmap
Released in steps.
Each step is a release you can use. Version 0.8 adds twelve visualisations with their own settings (a vinyl record cut by the music, a camera silhouette, a colour strobe among them), shortcuts and mouse buttons you choose, pinch to zoom, a timeline that previews frames and marks bookmarks, and VP9 and 10-bit HEVC video. Streams, discs and the rest of the formats follow release by release.
- The engine and the command line. Released in 0.1.
- MP3 and FLAC with gapless playback. Released in 0.2.
- MP4 and MKV video in a window. Released in 0.3.
- The player app, with hardware decoding and a playlist. Released in 0.4.
- Subtitles, the equaliser and playback speed. Released in 0.5.
- Playlists, bookmarks, resume and Open with. Released in 0.6.
- The media library, pictures, cover art and lyrics. Released in 0.7.
- Visualisations, shortcuts you choose, and pinch to zoom. Released in 0.8.
- Tag editing, crossfade and network shares. Next.
- Streams, casting, discs, conversion and recording.
Get it
Install it for yourself.
- Download the installer (or pick a file from the latest release). It installs for you only, with no administrator prompt.
- The installer is not signed yet, so Windows may say "Windows protected your PC". Choose More info, then Run anyway.
- Open a terminal and play something:
rexplay play song.wav
Prefer no installer? Each release also has a portable zip with a SHA-256 file to check it against.
Questions
Fair questions.
Why build a media player from scratch?
Because the parts that matter, timing, seeking, the audio path and what happens with a damaged file, should be understood and tested end to end by the people who ship them.
Does it send anything anywhere?
No telemetry, no account, no analytics. It touches the network only when you open something on the network.
Will it play my videos?
MP4, MOV, MKV and WebM files with H.264 or HEVC video play in the rexplayer window, decoded on your graphics card when it can. Drop a file on the window, or open it from Explorer.
Can scripts and agents use it?
Yes. Add --json to any command, or run rexplay agent capabilities, and it prints exactly one JSON document.