Skip to content

Fastiplayer v0.2.0

Pre-release
Pre-release

Choose a tag to compare

@Bogdan7c Bogdan7c released this 19 Oct 22:47
· 14 commits to main since this release

Fastiplayer v0.2.0 — release notes

Second public development release: Linux-first · source-only · active development before 1.0. It is a GitHub prerelease with generated source archives only. No portable binaries, AppImage, Flatpak, or Windows installer are provided. It is not a stable-API or production-readiness announcement.

Highlights

  • Subtitles. A native Rust subtitle engine with its own GPU pass between the video and the interface (issue #1).
    • Formats: SRT, WebVTT, ASS/SSA (a port of libass 0.17.5 behaviour checked against libass reference images), PGS inside MKV, MP4 mov_text, YouTube srv3, and TTML/IMSC.
    • Sources: sidecar and dropped files, embedded MKV/MP4 tracks with attached fonts, YouTube manual, automatic, and auto-translated captions through yt-dlp, HLS WebVTT, and DASH text tracks.
    • The exact limits are in the subtitle compatibility matrix, and the user guide covers the controls.
  • Bundled software decoder. The build downloads FFmpeg 8.1.3 and dav1d 1.5.4, checks them against pinned SHA-256 sums, and builds a minimal LGPL copy next to the player in target/<profile>/lib/.
    • The system FFmpeg no longer matters. Machines without VA-API, NVIDIA among them, can always play H.264, H.265, VP8, VP9, and AV1 in software.
    • When VA-API can decode a stream, the default auto backend still prefers hardware.
  • Drag-and-drop of files, folders, playlists, and links on Wayland and X11 (issue #7).
  • Single instance. Opening a file while Fastiplayer is running forwards it to the open window.
  • Audio tracks and dubbed audio. An audio-track menu; YouTube videos with dubbed audio list their languages.
  • A/V sync for ffmpeg-made MP4 files. Edit lists are honoured in local MP4, HLS fMP4, and DASH, so audio no longer runs up to ~0.3 s ahead of the picture.
  • Clearer behaviour on errors. Plain-text error causes, skipped broken queue items with a reason, recovery from a broken config, and fallback when the audio device disappears.

The full list is in the changelog.

Build from source

Follow the README quick start. It lists packages for Arch/CachyOS, Ubuntu/Debian, and Fedora/RHEL.

The pinned toolchain is Rust 1.99.0. Building now needs meson, nasm, ninja, and curl instead of FFmpeg development packages. The first build spends about a minute on FFmpeg and dav1d.

  • Offline builds: set FASTIPLAYER_FFMPEG_ARCHIVE and FASTIPLAYER_DAV1D_ARCHIVE to local archives. Their sums are still checked.
  • Distribution packagers: build with --no-default-features --features system-ffmpeg to link the system FFmpeg 8.1+ instead.

Licenses

  • First-party code is MIT.
  • The bundled FFmpeg is LGPL-2.1-or-later and dav1d is BSD-2-Clause. Their license texts are copied next to the libraries, and both libraries can be replaced with your own build.
  • Patched upstream crates keep their own licenses; see the patch inventory.

Security

  • rustls is updated to 0.23.46 (RUSTSEC-2026-0285, -0346, -0348, -0349).
  • ringbuf is updated to 0.5.3 (RUSTSEC-2026-0293). The audio ring holds f32, so that path was not reachable.
  • Media files and network manifests are untrusted input. The bundled FFmpeg is now updated by the project rather than by your distribution, so FFmpeg and dav1d security fixes ship with Fastiplayer releases. See the security policy.

Known limitations

  • Platforms. Linux only. Windows is planned before 1.0; macOS is outside the roadmap through 1.0.
  • Hardware and output.
    • Vulkan rendering is required even with software decoding.
    • Hardware decoding depends on the GPU, driver, codec/profile, and frame-import path.
    • Native HDR display output is not implemented; HDR is tone-mapped to SDR.
  • Bundled FFmpeg build.
    • It builds only for the host architecture: no cross-compilation.
    • If you copy the player elsewhere, copy the lib/ folder next to it.
  • Subtitles. VobSub, DVB, and standalone .sup subtitles are not supported; the subtitle matrix lists the rest.
  • Streaming. DRM, RTSP/RTP/MMS, and RTMP playback are unsupported. Streaming support is limited to the accepted profiles. Web-page playback depends on system yt-dlp and the site.
  • Interface. It is unfinished and partly in Russian; a redesign and translations are planned.
  • Performance. CPU, RAM, and GPU parity with VLC (issue #10) is in progress and not part of this release.