A fast, good-looking media player for Linux, written in Rust.
Scrub through video like in an editor. Speed it up without chipmunk voices. Tune the picture while it plays.
▶ Watch the 72-second trailer · Try it · Roadmap · Vision
Real application footage, 1080p60 with the player's own sound. Film: Sintel © copyright Blender Foundation, CC BY 3.0 · timecodes and screenshots · capture details
Early alpha. Fastiplayer already plays local files and network streams every day, but it is young: Linux only, built from source, and parts of the interface are still in Russian. If you like trying things early and telling the author what breaks, you are exactly who it is for.
Scrubbing that feels like an editor. Grab the timeline and drag in either direction: the main picture follows your hand, not a tiny thumbnail. Let go and playback continues from there.
Speed without chipmunks. Go from 1.0× to 1.5× and back: voices keep their pitch, and the change is instant.
Live picture controls. Brightness, contrast, saturation, and per-channel color change on the running video, with instant preview and one-click reset.
Hardware-accelerated and light on memory. VA-API decoding on supported GPUs, Vulkan rendering through WGPU, and GPU HDR-to-SDR tone mapping. In a recorded test, Fastiplayer held under 90 MiB of RAM on 1080p60 and 4K60, where VLC used 127–300 MiB (details).
Plays what you throw at it. Drop files, folders, playlists, or links into the window. Local media, HTTP(S)/FTP(S), HLS and DASH (VOD, live, and DVR), internet radio, and — with optional yt-dlp — web pages.
A queue that remembers. M3U/M3U8, XSPF, and CUE playlists, import and export, and playback resumes where you stopped.

Films: Sintel and Big Buck Bunny © copyright Blender Foundation, CC BY 3.0 · capture details
- Playback: local video and audio, seeking, audio/video stream selection, pitch-preserving speed, live scrubbing.
- Hardware decoding: VA-API where the GPU and driver support it, FFmpeg software decoding otherwise; WGPU/Vulkan rendering; HDR-to-SDR tone mapping, including AV1 10-bit.
- Network: progressive HTTP(S)/FTP(S), HLS and DASH VOD/live/DVR, audio-only HLS radio, static Smooth Streaming and HDS; web pages through optional system
yt-dlp. - Drag-and-drop and "Open with": drop on the panel to append to the queue, drop on the video to start a new queue; opening a file while the player runs hands it to the existing window.
- Queue: playlist import/export (including legacy Windows-1251
.m3u/.cue), position restore, broken items skipped with a clear reason. - Control: mouse-wheel and arrow-key volume, speed hotkeys, Ctrl+O, timeline time hints; volume and mute are remembered.
- Runtime settings with live preview and Apply/rollback.
Exact supported containers, codecs, and protocols are listed in the compatibility matrix.
You need Linux x86_64, a GPU with a working Vulkan driver, and rustup — the repository pins Rust 1.99.0 in rust-toolchain.toml.
Arch Linux / CachyOS / Manjaro
sudo pacman -S --needed base-devel git clang pkgconf alsa-lib ffmpeg libdrm mesa libva vulkan-icd-loader rustupUbuntu 24.04 / Debian-based
sudo apt-get update
sudo apt-get install build-essential git clang libclang-dev pkg-config \
libasound2-dev libavcodec-dev libavutil-dev libdrm-dev libgbm-dev libva-dev \
libvulkan1 mesa-vulkan-driversBuild and play
git clone https://github.com/Bogdan7c/fastiplayer.git
cd fastiplayer
cargo build -p app-egui --release --locked
./target/release/fastiplayer /path/to/video.mp4Also install the Vulkan and VA-API drivers for your GPU (for example vulkan-radeon, vulkan-intel, or the NVIDIA driver on Arch). For web pages, install yt-dlp; the accepted extractor profile uses version 2026.07.04. Direct media links do not need it.
- Linux only for now. Windows is on the roadmap before 1.0; macOS may come later, without a promise.
- Vulkan is required, even for software decoding. Hardware decoding depends on your GPU, driver, and codec.
- No subtitles yet — they are the very next milestone. Native HDR output is not implemented; HDR is tone-mapped to SDR.
- The interface is unfinished and partly in Russian. A full redesign and translations are planned.
- Not supported: DRM, RTSP/RTP/MMS, RTMP. Web-page playback depends on
yt-dlpand the site.
The compatibility matrix and known limitations have the exact details.
The order is fixed in milestone 1.0. These are planned, not shipped:
- Native Rust subtitle engine with a published text/styled/bitmap format matrix — next up.
- Browser media handoff bridge and extension.
- Cohesive application redesign, including new settings.
- Fully configurable colors and appearance.
- Localization and first translations.
- OpenGL ES 2.0 renderer for older Linux hardware.
Drag-and-drop for local files and URLs— done inmainafterv0.1.0-alpha.1.- Native Windows support.
NVDEC, native HDR output, and macOS are possible later directions without dates. See the vision for where the project is heading.
Fastiplayer aims to be lighter than the established players, and it publishes measurements even where it is not there yet. In the 2026-09-05 ThinkPad T480s comparison with VLC 3.0.23 (hardware decoding, fullscreen, five scored runs):
| Workload | Memory (RSS): Fastiplayer | Memory (RSS): VLC | CPU: Fastiplayer | CPU: VLC |
|---|---|---|---|---|
| H.264 1080p60 | 87 MiB | 127 MiB | 16.9% | 4.8% |
| HEVC 4K60 | 88 MiB | 300 MiB | 30.4% | 5.8% |
Fastiplayer used up to 3.4× less memory, while VLC still uses less CPU. Closing that gap is tracked in #10. The numbers describe revision 9165200c and synthetic test files; the full report has the methodology, raw data, and limitations, and the benchmark guide covers other experiments.
Media tests check that video actually reaches rendered frames and audio produces real samples. CI runs workspace tests, strict Clippy/rustdoc, formatting, architecture boundaries, locked dependencies, and the toolchain policy — see CI.
The most useful thing you can do right now is build it, play your media, and say what happened.
- 💬 Ideas and questions: Discussions
- 🐞 Something broke: bug report — a small reproducible case helps most (Support)
- 🛠 Code: Contributing · Architecture · Docs index
- 🔒 Security issues: private vulnerability reporting, see SECURITY.md
The project is also open to support with development tools and test hardware — start a thread in Discussions.
Bogdan Korolyov (Bogdan7c) is the sole core maintainer and makes the product and architecture decisions. Development is AI-assisted, with human decisions, review, and hands-on verification — read how development works and the public session plans.
First-party code is MIT licensed. The eight patched upstream crates keep their own licenses: BSD-3-Clause for cros-codecs/cros-libva, MPL-2.0 for the four Symphonia patches, MIT for wayland-scanner, and Apache-2.0 for winit. Changelog · Releases.

