video player for artists by artists
Hi, we're Jakub and Viktor, graduates from an art university, and we know what it's like
VideoPi fixes all these problems:
VideoPi requires no configuration for the most common use case -- HDMI full HD video output with a separate 3.5mm jack audio output.
VideoPi can also capture images using a webcam and upload them to your server.
VideoPi is extendable and open for modifications. You can modify VideoPi to do video post-processing like gamma adjustment, or to play the clips in random order, or to do something we couldn't even imagine. VideoPi has all the capabilities of a micro PC; in the end it's nothing but a clever Linux installation[^3]. Dig in VideoPi's open-source code.
If you don't feel like installing VideoPi yourself (which you totally can, by the way, if you know the basics of Linux), we can
In either case, we will help you with the initial setup.
We haven't come up with a price list or the exact extent of provided support and maintenance yet, so just send us an email and we'll get back to you.
VideoPi aims for simplicity and zero configuration, therefore:
WARNING: Following documentation uses
/dev/sdX as a substitute for your real SD card device path. Double check this path before executing the installer (Makefile), so that you don't accidentally overwrite a different device.
Required Arch Linux packages (should be similar on other distributions):
util-linux (sfdisk) dosfstools (mkfs.vfat) e2fsprogs (mkfs.ext4) make wget arch-install-scripts (arch-chroot) # Installation only binfmt-support (update-binftms) # Installation only qemu-user-static (qemu-arm-static) # Installation only
First format your SD card:
# make erase filesystems DEVICE=/dev/sdX
Then install VideoPi for your Raspberry Pi version on the SD card and create a disk image of the whole card:
# make VERSION=2 DEVICE=/dev/sdX
Supported Raspberry Pi version are
After you've created an SD card image (see previous section), you can unpack it to another SD card without having to go through the installation again:
# make mount unpack umount VERSION=2 DEVICE=/dev/sdX
See the Makefile help for all available commands:
$ make help
To customize the installation (add or replace some files on the SD card), select one of the available modifications from
src-custom/ or create your own and pass appropriate
CUSTOM= parameter to
$ mkdir -p src-custom/my-improvement/home/alarm $ echo "bar" > src-custom/my-improvement/home/alarm/foo # make VERSION=2 DEVICE=/dev/sdX CUSTOM="my-improvement"
shuffle to play the video files in random order:
# make VERSION=2 DEVICE=/dev/sdX CUSTOM="shuffle"
To use multiple modifications put a space separated list in the parameter
# make VERSION=2 DEVICE=/dev/sdX CUSTOM="shuffle my-improvement"
To setup a network connection create a new netctl network config (possibly based on
src/etc/netctl/example) in a new modifications directory and rebuild the image:
$ mkdir -p src-custom/my-home-network/etc/netctl $ echo "my netctl content" > src-custom/my-home-network/etc/netctl/home $ rm src-custom/my-home-network/etc/netctl/my-network $ ln -s src-custom/my-home-network/etc/netctl/home src-custom/my-home-network/etc/netctl/my-network # make VERSION=2 DEVICE=/dev/sdX CUSTOM="my-home-network"
To setup a webcam image upload you need a working Network connection and SSH. Copy example SSH config files from
src/ and edit them to match your server settings:
$ mkdir -p src-custom/my-server/home/alarm/.ssh $ cp src/home/alarm/.ssh/config src-custom/my-server/home/alarm/.ssh/ $ cd src-custom/my-server/home/alarm/.ssh $ nano known_hosts $ echo "" > id_rsa $ nano config
Then edit your remote server directory:
$ cp src/home/alarm/bin/upload-image src-custom/my-server/home/alarm/bin/upload-image $ nano src-custom/my-server/home/alarm/bin/upload-image
...and build the image:
# make VERSION=2 DEVICE=/dev/sdX CUSTOM="my-home-network my-server"
The log is located in
Copyright 2016 Jakub Valenta
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
[^1]: VideoPi uses the excellent mpv media player with the FFmpeg library, which supports MPEG-2, H.263/MPEG-4 Part 2 (DivX, .avi, .mpeg), H.264/MPEG-4 AVC (.mp4, .mov, .mkv), Windows Media Video (.wmv), VP8 (.webm), Theora (.ogv), and many other codecs.
[^2]: VideoPi reads USB flash drives formatted on Windows (FAT, NTFS), Mac (HFS+), or Linux (ext4 etc).
[^3]: VideoPi is a set of configuration files and scripts on top of ArchLinux ARM GNU/Linux distribution. It uses udevil to manage USB flash drive mounting and mpv to play the videos.