A simple media display system for running videos and images on dual monitors.
only tested in macOS only
- Display synchronized media content on two separate monitors
- Support for images (jpg, png, jpeg) and videos (mp4, webm, ogg, mov, m4v)
- Simple keyboard controls for navigation
- Automatic video looping
- Full-screen mode
-
Install Go (Golang)
-
For macOS:
brew install go -
For Windows: Download and install from golang.org
-
For Linux:
sudo apt-get update sudo apt-get install golang
-
-
Verify installation:
go version
-
Clone this repository or download the files
-
Create data directories:
mkdir -p data/a data/b -
Add your media content:
- Place videos/images for the top monitor in
data/a/ - Place videos/images for the bottom monitor in
data/b/
- Place videos/images for the top monitor in
- Run the application:
go run main.go
-
Build the Docker image:
docker build -t rapid-mock . -
Run the container:
docker run -p 8080:8080 -v $(pwd)/data:/app/data rapid-mockThis mounts your local
datadirectory to the container so it can access your media files.
Open browsers on the respective monitors:
- Top monitor browser:
http://localhost:8080/a - Bottom monitor browser:
http://localhost:8080/b
- Click anywhere: Advance to next media pair
f: Toggle fullscreen- Arrow Right: Go to next media pair
- Arrow Left: Go to previous media pair
r: Reload media files from directories0: Reset to the first media pair
- Media files are sorted alphabetically
- Both displays are synchronized to show the same index of content
- Ensure both data/a and data/b have the same number of files for best results