Skip to content

Repository files navigation

ffinflow

A no-nonsense desktop media player for Windows with a classic, always-visible control layout and a built-in FFmpeg engine that transcodes whatever Chromium can't play natively — HEVC, E-AC3, DTS, oddball MKVs, and more.

Independent open-source project. Not affiliated with Microsoft or Windows Media Player — just inspired by that simple, no-gestures-required layout.


🚀 Features

  • Traditional menu-driven interface with a fixed control bar — no hidden gestures
  • Plays virtually anything: files Chromium can't decode natively are transcoded automatically
  • Drag-and-drop playlist with shuffle, repeat, and reordering
  • External and embedded subtitle support
  • Media info overlay (codec, resolution, bitrate, audio/subtitle tracks)
  • 18 built-in visual themes
  • Remembers playback position, volume, and playlist between sessions
  • Optional file association for common video/audio formats during install
  • Built-in media downloader (File → Download Media...): analyze a URL, download video or audio with live progress, get a verified MP4 on completion, and browse everything in a local file library

🎞 Supported Formats

Type Extensions
Video .mp4 .mkv .avi .webm .mov .flv .m4v .3gp .wmv .ts
Audio .mp3 .wav .ogg .aac .m4a .flac .wma .opus
Subtitles .srt .vtt .ass .ssa .sub

Anything outside native browser support (HEVC, E-AC3, DTS, TrueHD, older codecs, and more) is transcoded automatically by the bundled FFmpeg engine before playback starts.

⌨️ Keyboard Shortcuts

Key Action Key Action
Space Play / Pause M Mute / unmute
F Toggle fullscreen S Toggle shuffle
Escape Exit fullscreen L Toggle repeat
← / → Seek ±10s I Toggle media info
Ctrl+← / Ctrl+→ Previous / Next track T Toggle playlist
↑ / ↓ Volume up / down 0-9 Seek to 0%-90%

📥 Installation

Grab the latest installer from Releases. Windows only.

🔧 Build from source

git clone https://github.com/skonester/ffinflow.git
cd ffinflow
npm install
npm run build

The installer is written to dist/.

📄 License

GNU General Public License v3.0 (or later). See LICENSE.

Portions of the codebase remain available under their original MIT License — see LICENSE-MIT — including the original player GUI, adapted from Fury (© Naveen Devang) prior to ffinflow's transition to TypeScript, and the downloader engine (src/downloader/, src/modules/downloaderUI.ts), adapted from dlME (© Kirsten Trimaley). The built-in downloader also bundles yt-dlp (Unlicense). Clean titles and subtitle matching for release-style filenames use Parsium (© NepiRaw, MIT).

About

Electron Media Player

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages