Skip to content

About

GridPlayer Alabaster: a Windows fork of vzhd1701/gridplayer 0.5.5 that plays many videos at once in a grid (VLC). GPLv3.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

GridPlayer Alabaster

GridPlayer Alabaster

GridPlayer Alabaster is a Windows video player that plays many videos at once in a grid. Each cell has its own file, position, loop, volume, zoom and playlist. Playback uses VLC (libVLC) through a Python and PyQt5 interface.

Alabaster 0.2beta - (from GridPlayer 0.5.5). This is a beta. Release candidate v0.2beta_rc1 is out as a prerelease: a portable zip for Windows 10/11 x64.

Why this exists. I wanted a video wall player that did what I needed. The alternatives were either poor or paid, and Vlad's GridPlayer 0.5.5 was the first open-source one that worked well. Alabaster started as my way to add the features I was missing, and to learn by building on his work.

Testing wanted. This is a release candidate. The most useful things to try: (1) load a mix of videos, audio and pictures into one grid; (2) remap a few keys and mouse buttons in Shortcuts; (3) save and reopen a .gpls playlist. Report problems on the issues page after checking Known limitations.

Credit and license

GridPlayer Alabaster is a modified version of GridPlayer 0.5.5 by Vlad (vzhd1701). Credit for GridPlayer, and for most of what this program does, goes to Vlad. Alabaster changes are by XDevMatt.

  • Licensed under the GNU General Public License version 3, the same as GridPlayer. See LICENSE and NOTICE.
  • This is not the official GridPlayer. The GridPlayer name and logo belong to upstream; the Alabaster name and logo are this project's own.
  • Alabaster is not published on PyPI. pip install gridplayer installs upstream GridPlayer.
  • Report Alabaster problems in this repository's issues, not upstream.

Windows only

Alabaster supports Windows 10 and 11 (64-bit) only. It does not provide or support macOS or Linux builds, and it does not maintain translations. The source still contains upstream's cross-platform code, and anyone may port it under the GPL. If you need macOS, Linux packages or translations that are kept up to date, use upstream GridPlayer.

Documentation

The full documentation is in docs/ on the 0.2beta-fixes branch:

Read For
Install on Windows Portable zip (v0.2beta_rc1 prerelease), installer and Chocolatey (not published yet), optional tools.
User guide Every feature, step by step, on one page.
Topic pages One short page per feature.
FAQ and troubleshooting Common questions and fixes.
Keyboard and mouse shortcuts Every default key, mouse action and unbound command.
Settings Every setting with default, range and tooltip.
Configuration and files Data folder, command line, playlists, per-cell profiles.
Plugins and streaming yt-dlp, browser cookies, HLS/DASH, separate audio, SponsorBlock, SubtitleCat.com.
Known limitations What does not work or is rough.
Future features What is planned but not built.

What Alabaster changes

Compared with GridPlayer 0.5.5 (and upstream's unreleased work that Alabaster includes), Alabaster adds or changes:

  • Muted start and 3% volume steps. New cells start muted at 0%, so a full grid does not play every soundtrack at once. Mute is volume 0%; the wheel, the volume commands and unmute move in steps of 3% (configurable).
  • Subtitle drag and drop. Drop a subtitle file onto a cell to attach it.
  • Loops. [ and ] set loop start and end; Shift+L toggles Loop This File and back to the cell's previous When finished action.
  • Rotate to fit (optional, off by default): turn landscape videos in tall cells, and portrait videos in wide cells, to use more of the cell.
  • Other orientation filter: skip files whose orientation does not match the cell (Skip it). An Ask mode exists but is not re-verified.
  • Per-cell profiles saved in the playlist under stable cell ids.
  • Pictures as slides, and Files to play (All media, Videos only, Images only) for folders and stepping; dropped folders follow it.
  • Keep (E, single mode): copy the playing file to a _keep folder next to its folder, then play the next file.
  • Skip files open in other cells during random play, on by default.
  • Browser cookies for yt-dlp: read from your browser at request time; nothing is stored. The old cookie file is gone.
  • Streams with separate audio. An HLS master playlist or DASH manifest whose video and audio share one manifest goes to VLC whole, with quality and audio-track menus. A plain (non-fragmented) MP4 video with its own M4A audio file plays in VLC with that file attached. Video whose audio is only available as a separate fragmented MP4 or WebM file (YouTube's DASH formats among them) is not supported; those qualities are not offered.
  • Opt-in plugin layer, with an optional SubtitleCat.com search (off by default).
  • Shortcuts entry on the right-click menu, and mouse side buttons that work even with click events disabled.
  • Security changes: JSON single-instance pipe, no local stream relay listener, VLC options filtered (no servers, stream output or Lua).
  • Runs next to upstream GridPlayer with its own settings folder (%APPDATA%\vzhd1701\GridPlayer-Alabaster) and its own single-instance pipe.

Getting it

Download the portable zip, GridPlayer-Alabaster-57f21b1-win64-portable.zip, from the v0.2beta_rc1 prerelease page. It is a release candidate for Windows 10 and 11 (64-bit) and is not code-signed, so Windows SmartScreen may warn before it runs. Extract it into a new folder of its own; it opens as GridPlayer-Alabaster-portable\GridPlayer.exe and does not touch an installed upstream GridPlayer. See Install on Windows.

The installer and the Chocolatey package (alabaster-gridplayer) are not released yet. To run from source instead:

uv sync
.\.venv\Scripts\gridplayer.exe

You need uv and 64-bit VLC 3.0 to run from source. Packaged builds bundle VLC. See Building from source.

Optional tools (not bundled)

Install and update these yourself:

Tool For Install
Deno YouTube's JavaScript challenge (yt-dlp) winget install DenoLand.Deno
yt-dlp A yt-dlp you keep updated, instead of the built-in module winget install yt-dlp.yt-dlp
ffmpeg / ffprobe Planned separate-audio merging; nothing uses them yet winget install Gyan.FFmpeg

Or with Chocolatey: choco install deno ffmpeg yt-dlp -y.

Quick start

  1. Start Alabaster and drag videos or a folder onto the window. Each file gets a cell; a folder gets one cell that plays it as a list.
  2. Point at a cell and click to play or pause it. Keys act on the cell under the mouse pointer.
  3. Scroll up over a cell to hear it (new cells start muted).
  4. N / B play the next / previous file in that cell's folder.
  5. Double-click a cell for single mode. Right-click for every command, and Shortcuts to see or change keys.
  6. Ctrl+S saves the grid as a .gpls playlist.

Attributions

This software was built using

  • Python by Python Software Foundation
    • Licensed under Python Software Foundation License
  • Qt by Qt Project
    • Licensed under GPL 2.0, GPL 3.0, and LGPL 3.0
  • VLC by VideoLAN
    • Licensed under GPL 2.0 or later
  • Deno by Deno authors
    • Licensed under MIT License
    • Used by yt-dlp for YouTube JavaScript challenges

Python packages

Graphics

Data

Translations (from upstream GridPlayer)

The translations shipped with Alabaster are upstream GridPlayer's, made by these contributors through upstream's Crowdin project. Alabaster does not maintain translations, and text added by Alabaster is English only.

logo
VenusGirl

886 words
ko
logo
Sylvain LOUIS
(LOUIS_Sylvain)

886 words
fr
logo
GBS ~ TECH
(Gabriel-BS1)

886 words
pt-BR
logo
Göran
(Granberg)

875 words
sv-SE
logo
Roy Hendum
(royhendum)

875 words
no
logo
z Z
(zxas)

851 words
zh-TW
logo
Davide V.
(davidev1)

752 words
it
logo
Heimen Stoffels
(Vistaus)

751 words
nl
logo
七篠孝志
(japanese.john.doe.774)

751 words
ja
logo
DominikPott

751 words
de
logo
Azoaz6001

751 words
ar
logo
Yagang Wang
(wyg945)

751 words
zh-CN
logo
Kryštof Baksa
(Golbinex)

674 words
cs
logo
Sergio Varela
(IngrownMink4)

652 words
es-ES
logo
rafal132
(fifi132)

598 words
pl
logo
a2942

496 words
zh-CN
logo
LiberiFatali

456 words
vi
logo
samu112

438 words
hu
logo
asolis2020

266 words
es-ES
logo
SolarCTP

164 words
it
logo
Sebastian Jasiński
(PrinceNorris)

163 words
pl
logo
Manuel
(reiss404)

133 words
de
logo
Armando Gomes
(aportuguesecoder)

121 words
pt-PT
logo
Akronos

112 words
cs
logo
Владимир Ларин
(WackyFox)

108 words
he

How it's made

XDevMatt: where Matt (Monster Energy edition) and America-first Superintelligence (Grok Bot & Grok Build 4.7) stop pretending there's a clean line between them. Collaborative work, proudly hybrid.

License

This software is licensed under the terms of the GNU General Public License version 3 (GPLv3). The full text is in LICENSE and online.

GridPlayer Alabaster is a modified version of GridPlayer by vzhd1701. Modifications are Copyright (C) 2026 XDevMatt and are licensed under the same terms; see NOTICE.

About

GridPlayer Alabaster: a Windows fork of vzhd1701/gridplayer 0.5.5 that plays many videos at once in a grid (VLC). GPLv3.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages