AIOStreamsAIOStreams
Apps

Desktop app

The web app in a window of its own, with a video player that plays what a browser can't. For Windows, Mac and Linux.

The desktop app is the AIOStreams app for Windows, Mac and Linux, in a window of its own, with mpv playing the video. It signs in to your configuration's media server, so there is nothing to self-host. Your addons still run on your AIOStreams instance: the app sees what they find through the server, as libraries and versions, and never installs or runs an addon itself.

A browser only plays some formats, so many streams fail there. mpv plays nearly any stream as it is: MKV files, HEVC and AV1 video, Dolby and DTS surround audio, and styled subtitles.

Everything else is the app you know from the browser: the same home page, catalogs, title pages, versions and settings. It also signs in to Jellyfin servers, so it can hold other servers besides your configuration.

The desktop app's home page, with Animals featured above Continue watching
The home page with its featured title pinned above the rows, showing Practical Magic, the card the pointer rests on in the Trending row
The home page with Practical Magic featured in a smaller corner above the Trending and Top rows
The Studios library, with collections for 20th Century Fox, DC, Disney Animated, DreamWorks, Illumination, Lucasfilm, Marvel, Pixar and Universal
The Marvel collection's page, with a grid of its movies and shows and a filter for each
Severance's episodes in a row, starting at the episode to watch next, Episode 4 of season 2
Severance's second season as a list of episodes, with their descriptions and watched marks
The version list for Dune: Part Two, with seven versions described by the formatter and a choice to resume or start over
Home, with a featured title that rotates

Download

The desktop release links each download:

Your computerDownload
Windows, on most PCs (Intel or AMD)An installer, or a portable copy
Windows on Arm, such as SnapdragonAn installer, or a portable copy
Mac with Apple silicon (M1 or later)An installer, or the app in a zip
Intel MacAn installer, or the app in a zip
Linux, on most PCs (Intel or AMD)A Flatpak
Linux on ArmA Flatpak

It needs Windows 10 or 11, macOS 11 or later, or a Linux distribution with Flatpak, which most include.

  • The portable copy runs without installing and keeps everything, including your sign-ins, in a data folder beside it.
  • On a Mac, the app is not signed by Apple yet, so macOS refuses to open it the first time. Open System Settings → Privacy & Security and press Open Anyway.
  • On Linux, open the Flatpak in your software centre, or run flatpak install --user with the file's name. The first install also fetches the runtime it needs from Flathub.

Signing in

Add your server. For AIOStreams, press Open in desktop app under Save & Install → AIOStreams app on the configure page, and the app opens with your address filled in. The portable copy can't be opened this way, so open Sign-in addresses there instead and paste one into the app; the address with a sign-in picker is the easiest.

Sign in as in any AIOStreams app: pick a user, then enter the password or PIN.

To add another server or move between them, use Change server under Settings → Account.

Playing

The player works as it does in the web app, with a few extras that need mpv:

  • Subtitles inside the file play with their own styling.
  • Stats. Press i for what is playing: the format, resolution, decoder and dropped frames.
  • Picture-in-picture, on Windows for now. The button in the player's controls shrinks the window to the video and keeps it above your other windows, with its own play, skip and volume controls. It keeps the video's shape as you resize it and opens where you left it, and Exit picture-in-picture brings the whole window back.
  • Anime upscaling. Anime upscaling under Settings → Playback → Video sharpens the lines and cleans up the compression in anime as it plays, most of all in older and lower-resolution shows. It applies to titles your catalogs mark as anime, and U in the player turns it on and off for what's playing, so you can compare. It leaves HDR videos and videos about as large as the window as they are, and turns itself off for a video the computer can't keep up with. On a Mac, the System video output doesn't run it.
  • HDR on Windows. Turn on Use HDR in Windows' display settings and HDR video plays in HDR. Dolby Vision is converted to HDR10, as on any computer, or turn off Dolby Vision under Settings → Playback → Video to play the HDR10 picture most of these videos also carry.
  • HDR on a Mac. On a screen that shows HDR, such as a MacBook Pro's, HDR video plays in HDR and fits the screen's brightness as you change it. Video output (see Settings) picks what draws it. On Linux, HDR video is shown in SDR for now.

Subtitles from your subtitle addons, or a file you add, line up with the subtitles inside the video by themselves, whatever their language, within a moment of showing. Subtitles made for a version at another frame rate are stretched to fit first.

When subtitles are still out of time, Timing in the subtitle menu fixes them, and the timing is remembered for each subtitle of each version:

  • Sync automatically hands subtitles you moved yourself back to the automatic sync.
  • z and x move them 0.1 seconds earlier or later.
  • Sync by ear: tap Heard when you hear a line, then Saw when it shows.
  • Sync to a line, for subtitles from your subtitle addons: pick the line being spoken from a list.
Sintel paused in the desktop app's player, with a gold sign reading The land of the gatekeepers above a styled subtitle
The Sync to a line panel over Sintel, listing the subtitle's lines around the current moment
The Sync by ear panel over Sintel, with a Heard and a Saw button
The player, with mpv underneath drawing styled subtitles

Sintel is © Blender Foundation, shared under CC BY 3.0.

Your own mpv

To play in your own mpv, in its own window with its settings and scripts, pick mpv under Settings → Playback → Player. The app looks where mpv is usually installed, or you choose it there. The app's controls still drive it, your place and watched marks save, and the next episode plays in the same window. It also waits in mpv's playlist, so mpv's own next key moves to it. Closing mpv's window ends playback. The Flatpak can't start other programs, so it plays in the app only.

For your mpv settings without a second window, put them in the app's own mpv folder instead (see Settings).

Other keys: Space or k to play and pause, ← → or j l to skip back and forward, ↑ ↓ or the scroll wheel for volume, m to mute, f for fullscreen, and Shift+P and Shift+N for the previous and next episode. Press ? anywhere for the full list, and change any of them under Settings → Shortcuts, which also takes a remote's or gamepad's buttons. The arrow keys, a remote or a gamepad move between everything on screen, and Esc goes back.

Downloads

The desktop app downloads movies, episodes and whole seasons into a folder you choose, filed by show and season, to watch without a connection. See Downloads and offline.

The Downloads page, with two episodes of Severance downloading and the rest of the season waiting

Settings

The app adds a Desktop app section to the settings. These stay on the computer:

  • Updates: whether to follow releases or nightly builds, and whether an update is waiting. Windows and Mac only.
  • Hardware decoding: turn it off if video shows artefacts or stays black.
  • Audio: how many channels your speakers take, and whether to pass Dolby and DTS audio through to a receiver that decodes them.
  • Video output, on a Mac with macOS 14 or later, from the next start:
    • mpv (the default) draws the video itself, with your mpv.conf and shaders, as on Windows.
    • System has macOS draw it, which uses less power and shows Dolby Vision as the screen supports it. Shaders and mpv's own picture options don't apply.
    • Compatibility is the older way mpv draws, for a Mac where the others fail. Dolby Vision videos without an HDR10 picture underneath show the wrong colours. Older macOS versions always use it.
  • mpv configuration: opens the folder for your own mpv.conf, input.conf, scripts and shaders.
  • Logs and Report a problem: open the log folder, or send the app's versions and recent log to your server, and to the developer if you choose, with a code to give whoever looks into it. Copy puts the same on the clipboard.

Cache size, under Settings → Playback → Player, sets how much of the video the player holds in memory: ahead, to ride out a slow connection, and behind, so seeking back is instant. Automatic sizes it from the computer's memory. A demuxer-max-bytes line in your mpv.conf takes its place.

Updates

The app checks for updates when it starts and every six hours, downloads them in the background, and applies them the next time it starts, or straight away if you ask. The portable copy updates itself too.

Nightly builds come from every change, ahead of releases. They get fixes sooner but can break; switch back under Settings → Desktop app → Updates.

The Linux Flatpak does not update itself yet. To update it, download the newer file and install it the same way; your sign-ins and settings stay. For nightly builds on Linux, take the Flatpak from the nightly release.

Something wrong? The logs are the first thing to share. Settings → Desktop app → Report a problem sends what is needed, or find them in %LOCALAPPDATA%\AIOStreams Desktop\logs on Windows (data\logs in a portable copy), ~/Library/Application Support/AIOStreams Desktop/logs on a Mac, and ~/.var/app/io.github.viren070.aiostreams/data/AIOStreams Desktop/logs on Linux.

Credits

  • Seanime by 5rahim. The app's interface is built on its UI components.
  • mpv and FFmpeg play the video. On Windows and Mac the app ships libmpv from AIOStreams/libs, whose mpv and FFmpeg carry edde746's MPVKit patches; the Flatpak builds its own.
  • Jellyfin, whose API the app speaks.

The app's Settings → About lists these too. The licences of everything it ships are in third-party-licenses.html, beside the app on Windows and in the app's Contents/Resources on a Mac.

On this page