Skip to main content

A Qt video wall player

Project description

Videowall

This is a Qt based video wall player. It can play an arbitrary number of movies at the same time in a user customizable configuration.

Playback features include:

  • Select loop, step forward, or random videos from a library
  • Customize volume and playback speed for each video
  • Play, Pause, Mute the whole wall
  • Keyboard control for a primary video
  • Save wall layouts and automatic recovery of last layout
  • Lots of options for customizing operation

Requirements

  • Python 3.9+
  • PySide6

Use

Click a player to show the control UI.

Along the top is the list of movies found in the movie folder.

Buttons:

  • Close the player
  • | Split the player row horizontally
  • Split the player column vertically
  • Swap two players
  • At the end, loop the current video
  • At the end, play the next video in the list
  • ? At the end, play a random video from the list
  • This player is controlled by the keyboard/menu playback options
  • Jog this player backward
  • Jog this player forward
  • Perform the end operation immediately

The top left slider controls playback speed (0% - 200%).

The bottom left slider controls the volume (0% - 100%).

The bottom slider will keep up with your position in the movie and allow you to scrub to any other position. The time on the left is the elapsed time, and the on the right is the remaining or total time (see below for option to configure which).

Configuration

Currently, you must create a configuration file manually. That file must be called videowall_settings.json in your home folder. The file content is a JSON object with zero or more of the following values:

Option Type Default Use
always_on_top bool True The player window will always float above normal windows, even if the application is not active.
auto_update_layout bool True When enabled, the open layout will be updated with any changes during the playback session when the layout is changed or the window is closed.
default_volume float 1.0 (Range 0.0 - 1.0) The volume to use when making a new player.
jog_interval int 10000 The number of milliseconds to move with the "jog" operation.
layout_folder Path The path where the layouts are stored
movie_folder Path The path where the movies are stored
open_last_on_startup bool True When enabled, the last layout is loaded at startup
pre_roll int 2000 The number of milliseconds to rewind when loading a layout
remaining_time bool True When enabled, show remaining time instead of total time
restore_window_state bool True When enabled, the window state is restored when loading a layout

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

videowall-1.0.0.tar.gz (29.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

videowall-1.0.0-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

File details

Details for the file videowall-1.0.0.tar.gz.

File metadata

  • Download URL: videowall-1.0.0.tar.gz
  • Upload date:
  • Size: 29.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.24

File hashes

Hashes for videowall-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c0b6c2b06f4d5edbcdc04196e06166add0eb17c8ca59ad5f79b20023b442d41c
MD5 c17eccb2d9541ae51236e8edef5b956c
BLAKE2b-256 8786c5ef62a1eb285a386e5e6a80faee491e57ba3b5a15dbc23e63cc96cfd4a1

See more details on using hashes here.

File details

Details for the file videowall-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: videowall-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 31.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.24

File hashes

Hashes for videowall-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7ccc056527ffd8a64fe3c0d9f2dd60fcd48aa70f2802bcce85201baaf62179a4
MD5 a3b5f628065c94d31c47567959836307
BLAKE2b-256 68833699f7bab476d9fe8d30bfdcd923c47a2d01992caca18d538d3b3bee0d30

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page