Retro Viewer - WIP Release
Posted by Smashed Retro on
Retro Viewer: Stream a collection of MP4 files from your PC to your CRT. Create playlists based on genre, decades, and your own interests to play in rotation. Edit metadata of your files from one screen.
This was a project I started a year or two back, solely intending to create a program that will allow me to play video files of vintage commercials on a loop in my arcade. During the process of assembling a script to do this, I kept thinking of features I'd like to add to it, as well as editing tools I needed to make this process easier. The program is Python based and utilizes VLC to play the video files. The script reads text files that act as playlists, proceeding through the list video files in each playlist, playing back the files seamlessly. Using the left or right arrow keys on your keyboard will allow you to advance or go to the prior video file that played. The up and down arrow keys allow you to change what playlist is selected to be played. The current selected playlist will briefly be displayed in the top corner of the screen. Pressing the S button will enter shuffle mode and play the video files listed in the playlist in a random order.
There is a feature that will alternate what playlist plays depending on the time of day, meaning you can create a playlist of breakfast related video files to play in the morning, another playlist at noon, a separate playlist for the evening, and another playlist at night. For this release, it doesn't make sense to detail how to set this mode to be active as there isn't enough video files at this point for the feature to be effective. Also, in future updates I will have this setting be able to be toggled on by a user interface, rather than changing snippets of code in the script and editing the settings set in the text file.
The Meta Editor lists all of the available video files located in the Video Files folder. You can edit the Title of the file name, place a Tag on the file, set the Year of the original air date, and place the file into a Genre. Tags are useful for flagging a video file for an event, I flagged several videos for Halloween, while I used Genre to create categories based on the content in the video. For example, a commercial about a soda I set to Food and Drink. Genres, Tags, and the Year can have filters applied to them, allowing the user to create a list of videos specific to a select number of years. While the focus of this project is currently on Halloween videos as requested, in the future as the video library grows, tags dedicated to seasonal holidays or time of day will prove more useful.
Each video currently in the library I tried to find the highest quality version available, did minimal editing to clean up the footage, mastered the audio so every audio level is inline with one another, and formatted the files to be displayed in their original 4:3 aspect ratio. The video files have not been enhanced and are, by today's standards, low quality, but true to their original source. As the purpose was to serve as a media player for CRTs, the files look best playing back on them. Though you are not limited to solely using a CRT, you may be disappointed seeing these files scaled to a modern display.
For my setup, I use a mini PC coupled with an RF Modulator that takes an HDMI signal, and outputs a signal that goes to the coaxial input on my CRT. This made sense for me, as the RCA inputs I can reserve for game consoles, though you can use an HDMI to RCA converter if you desire. By design, the hardware looks to scale a 16:9 source down to a 4:3 aspect ratio, so the script plays back the video files in a 16:9 and then converts it back to a 4:3. This can be switched to have the playback at the video files native 4:3 ratio if you do not plan on using a modulator or converter.
In its current state, you will need to have a basic understanding in Python.
The video files have been sourced through personal footage I had previously recorded from my own tapes back in the 90's and 00's, some have come from contributions from other enthusiasts, Archive.org has been a great resource, as well as YouTube.
In the future, there will of course be updates for the program itself, but there will also be video packs available to download to continue growing the library. With Christmas being the next big holiday, I will likely focus on getting Christmas themed commercials together next, but then I plan on putting together video packs for specific brands. For example, every video game commercial that aired through the 90's, every commercial for a specific fast food chain, and so on.
Goals: Seeing all the enthusiasm for the projects has given me a lot of motivation to keep developing it further and adding features that you guys suggest.
- Feedback - I am at a point where I need people to hear other people's input on what they would like to see and how it functions so I can continue development. Feedback through comments and DMs is great, but it has been getting hard to manage messaging through all the different platforms so I made a discord to discuss this and other projects further. Also, just say Hi and show me what rad things are in your collection.
- Help! - I've been looking for a few people to help with the editing of footage so I can mainly focus on the program itself, but I haven't been successful in getting footage back after sharing it.
- Simplicity - I want this to be something that anyone can download and run without any background knowledge of Python and other development languages
- Community - Once I saw how many people were interested in the program, the idea of having dozens of users creating their own playlists became very exciting. I would love to get to a point where the library is big enough for users to create unique playlists that can be shared with one another through text files.
- Preservation - Though not the intended goal of the project, being able to create an organized library of vintage commercials that can be easily recalled seems like it would be great for preservation.
The program piggybacks off of VLC, you will need to download the scripts and library for the program, along with VLC and Python.
Software
Download Retro Viewer 0.52
VLC Download
Python Download
Hardware
HDMI to RF Modulator