« maxhaesslein.blog

Videodrome

Videodrome is a small Raspberry Pi videoplayer that plays random segments of random videos from the archive.org VHS Vault. It is named after the 1983 movie by David Cronenberg.

Videodrome

To download the movies I used wget, based on this article. The command itself is just a oneliner, executed in multiple shells to download in parallel:

wget -r -H -nc -np -nH --cut-dirs=1 -e robots=off -A .mp4,.m4v,.mov,.webm,.avi -l1 -i ./source.txt -B 'http://archive.org/download/'

the source.txt has about 20000 lines and looks something like this:

The_Smithsonians_Whale_195x
20170923084940
AguascalientesMexico
1986VermilionSailorMarchingBandFestival-VermilionHighSchoolMarching
TMurphyNewsRehearsal32195
The_Lottery_By_Ken_Jacobson_1993
Bill_Collins_-_The_Prince_the_Pauper_Gasbags_TVQ-10_1990
backtoschoolident_incnews
btq10
avjennings_23-11-1983
abnt2continuity
ericbana
Channel_Nine_Breezin_Through_Summer_ident_QTQ-9_4_12_88
after-video_2.img
vhsvault_trailer_-_Live_from_the_Palladium
UTileItYourselfFloorsLambProductions1987
abctv88
goodfooftonybarber
hinch_8-7-90
FremontGeneralBenefitsBasicsShow
salepromo88
segaMSII_1991
…

I let the download run for about 30 hours and that gave me 320 videos. Thats 120 GB or 24 hours playtime in total. The complete VHS Vault is much larger.

The Raspberry Pi is a model 3B and uses a small 2GB microSD card with Raspbian Buster Lite. I installed some dependecies with

sudo apt install omxplayer mediainfo timelimit

I use omxplayer as the mediaplayer, because it is hardware accelerated on the Pi. mediainfo is for getting the length of a videofile and timelimit ends the omxplayer process after a specific time if the video is still playing.

The script to play the videos is just a small bash script that mounts an usb thumb drive, selects a random video from the drive, gets its length, selects a random position between 0 and the video length and generates a random clip length. It then uses omxplayer to play the videofile. The Pi 3B is fast enough to play the videos from archive.org without the need to convert them to a more suitable format. The Pi is set to „Autologin (Console)“ and starts the bash script on log in. I also set the „Overlay FS“ option in raspi-config and mount the usb-drive as read only to reduce data loss when unplugging the Pi. Because I use an old tube television with a scart connector I use the Pis composite output.

Long live the new flesh!

» Veröffentlicht am 03.05.2020 in der Kategorie Code.
Kategorien: Momente, Fotografie, Film, Making Of, Code, Setfotos, Interaktiv, Kurz Dazwischengerufen, Musik, Studium, NPIRE & Spiele