Caution
WIP = Work in progress! This warning will be removed after project's documentation is completed.
- Objective
- Hardware specifics
- Software used
- Steps
- 01 Install RPI-Imager
- 02 Choose correct options for your device
- 03 Edit OS customisationsettings
Automatic video display with SSH connection for configuration
Goal of this project is to create easy to use (switch on / switch off) low (or no) maintenance system for viewing videos at exhibition.
This system is implemented on Raspberry Pi 4B (4 GB RAM) with Raspberry Pi OS Lite (Debian Linux 12) as operating system.
- Project video-display enables
systemd service(playvideos.service) when the device starts up. - This service points to a
bash scriptthat uses VLC playerto play video files withMP4file extension in a loop from the/home/ubuntu/video(or other user defined) folder.
Raspberry Pi 4B (4 GB RAM)with3A power supply64 GB microSD cardMicro HDMI - HDMI cablefor connecting27" Lenovo thinkVision T27h-30display for viewing the videos
1. Run 01-install-rpi-imager.sh script to install and start Raspberry Pi Imager
chmod +x ./01-install-rpi-imager.shIf needed use chmod to make script executable and then run the script.
./01-install-rpi-imager.shRaspberry Pi Device --> Raspberry Pi 4
Operating System --> Raspberry Pi OS (other) --> Raspberry Pi OS Lite (64-bit)
Storage --> Choose your storage device and click Next
Choose EDIT SETTINGS --> GENERAL tab
Set hostnameto your preference. In this example the default raspberrypi.local is used.- Also
Set username and passwordto your preference. - In this example we
Configure wireless LANand set up network's nameSSIDandPassword. This is a step for accessing this server remotely in configuration phase. Set up alsoWireless LAN countryto comply with deployment country's regulatory domain. - We'll
Set locale settingsto Finnish but you can choose according to your own preference.
Go to SERVICES tab
- Choose
Enable SSHandUse password authentication
Caution
For better security it is recommended to use the Allow public-key authentication only option but as this device won't be connected to any network when in running mode we will be using the Use password authentication option.
On OPTIONStab disable Enable telemetery and enable Play sound when finished and Eject media when finished.
Apply settings

Create OS image on microSD card
Note
You might be asked for privileged user password at this point
After installer has verified a successfull write remove microsSD card safely using your operating system's dialog for this.
For example in many Linux GUI distros this can be done by choosing microSD card in Disks software left pane and then pressing Eject this disk icon from up.
Insert ready microSD card to Raspberry Pi. When started Pi should automatically register to wireless network that was set up back in step 3.
This step assumes you are on the same network with Raspberry Pi.
- This system uses
Raspberry Pi OS Lite (64-bit)as operating system. - Bootable microSD for Raspi 4 is created with
Raspberry Pi Imager. VLC playertakes care of playing videos in loop.
cat /etc/os-releasePRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"The hostnamectl command gives also plenty of information. This information can be filtered by piping hostnamectl command with àwk as in the example below.
hostnamectl | awk '
/Operating System:/ {print}
/Kernel:/ {print}
/Architecture:/ {print}'Operating System: Debian GNU/Linux 12 (bookworm)
Kernel: Linux 6.12.34+rpt-rpi-v8
Architecture: arm64#!/bin/bash
# Update package lists
echo "Checking available upgrades..."
sudo apt update > /dev/null 2>&1
# Check for upgradable packages
UPDATES=$(apt list --upgradable 2>/dev/null | grep -v Listing)
if [ -n "$UPDATES" ]; then
echo "Upgrades available. Proceeding with upgrade..."
# Upgrade packages
sudo apt upgrade -y
else
echo "No upgrades available."
fi
# Install VLC player.
sudo apt install vlc -ynano videos-player.sh#!/bin/bash
VIDEO_DIR=/home/ubuntu/video # Define directory for the videos
while true; do
for video in "$VIDEO_DIR"/*.mp4; do
if [ -f "$video" ]; then
cvlc --no-video-title-show --play-and-exit "$video"
fi
done
donesudo nano /etc/systemd/system/playvideos.service[Unit]
Description=Play Videos Loop
[Service]
ExecStart=/bin/bash /home/ubuntu/videos-player.sh
Restart=always
User=ubuntu
[Install]
WantedBy=multi-user.target sudo systemctl enable playvideos.service System draws less than 26 watts maximum from the power outlet when playing 60 FPS full HD (1920 x 1080) resolution videos. CHECK THIS WITH DIFFERENT VIDEO FORMATS, RESOLUTON AND BITRATES!!!
Important
List details of video formats used HERE!






