mbs-special-presentation

Last week I had the pleasure of being a visiting artist at the University of Mary Washington, hosted by Jim Groom and Zach Walen for their Console Living Room exhibit on campus. Their installation revisits the hub of family entertainment as you might have found it in a household of the early 1980s. The wood paneling aesthetic of the era is in full-effect well complemented by a perfectly preserved plaid couch discovered in UMW’s deep storage. As a child of the eighties, the look and feel of everything is pretty uncanny.

Back to the Future of Media Covergence #umwconsole

flickr photo shared by snakepliskens under a Creative Commons ( BY-NC-SA ) license

Jim and Zach have amassed quite a collection of artifacts for the exhibit which they’ve cataloged. And this is not a look-but-don’t-touch exhibit. You are there to lounge, play Atari 2600, watch a favorite movie on Select-A-Vision (?),  and program some BASIC on a Vic-20. So amongst all this amazing old media my job was to bring some vintage broadcasting.

Early in their planning of the exhibition, I pitched the idea of adding a broadcast network having played a bit with a low wattage TV transmitter. Using the device, you’re able to send an analog RCA signal over the airwaves by tuning the transmitter to one of the VHF and UHF channel frequencies used by American broadcasters.  Jim was really into the idea so he hatched a plan to get me down to Virginia to work on the transmitter, but also meet with classes and talk/workshop some GIF making (more on that in another post soon).

The original plan was to build a Youtube channel of programming from the eighties and run it over the air using a Raspberry Pi as the broadcaster. This seemed like a perfect RPi project even though I’d have to start from scratch and relearn the Unix command-line – bash? sudo? ugh! I got it working and was really excited for awhile, until I realized that most programs on Youtube do not have commercials in the original scheduled breaks. I could place extended commercial segments between shows, but that felt really wrong. And what would an eighties TV broadcast be without commercials every few minutes?

So version 2 of the broadcaster would allow for an list of edit videos (commercials re-added) and was made using Steven Hendrickson’s Video Looper, a prebuilt operating system for the Raspberry Pi. I had worked with a hacked version of this build that I used to make the closest thing I could to a full screen, seamless animated GIF on a RPi. Steven’s looper let’s you place a series videos on the RPi’s SD card or attach a USB stick with videos and when you turn it on it automatically plays the list of videos with audio full screen.

New plan? Edit commercials back into the shows, load them on the RPi, send the video to the TV transmitter, and viola broadcast network. Great plan!

Pretty much. Two bumps in the road were confronted. First, getting the looper to work took awhile. Mostly because my RPi/SSH/Terminal/UNIX skills suck. I learned from my last RPi experience that I need to keep exhaustive notes. Reminds me a lot of keeping a proper lab notebook during an organic chemistry experiment. Tedious, but very helpful. My rundown of the Pi setup (and the things I still can’t do) is detailed at the end of this post.

Second was rebuilding a TV show line-up from the eighties for the broadcast. In the first youtube playlist there was some effort to stick to the schedule of television from the eighties, but I thought it would be more interesting to try and accurately rebuild a single network’s weekday schedule. I ended up choosing CBS’s programming because what’s a day without The Price is Right! And even though I would be at UMW on a Monday, I decided it we’d make as if it was Friday because that meant The Dukes of Hazzard and Dallas in the evening, YEE-HAW! And for day two, Saturday morning cartoons, Yabba Dabba Do!

So I scheduled programming from 10AM to 11PM. Thirteen hours of 1984 TV to be presented in a fashion that was very 1984. They show rundown was as follows:

10AM–10:30AM 25,000 Pyramid
10:30–11AM –   Press Your Luck
11AM-12PM The Price is Right
12-12:30 The Jeffersons (substitution for local news)
12:30-1:30 The Young and the Restless
1:30-2:30 As the World Turns
2:30-3PM Capitol
3-4 The Guiding Light
4-4:30 Tattletales
4:30-5 Brady Bunch
5-5:30 Good times
5:30-6PM Sanford and Son
6-6:30 Gilligan’s Island (substitution for local news)
6:30 -7 CBS Evening News w/ Dan Rather
7-7:30 Wheel of Fortune
7:30 -8pm Jeopardy
8-9 Dukes of Hazzard
9-10 Dallas
10-11 Falcon Crest

There is a bit of guess work that went into a few of the hours as 12-12:30, 4:30-6:30, and 7-8PM were local programming blocks for CBS affiliate stations to pick shows as they wished. The noon and 6PM slots would have definitely shown local news, but I substituted a couple favorite reruns. For the rest selected popular reruns of the day and the game show double whammy preceding primetime of Wheel of Fortune and Jeopardy. But my bad, that pairing didn’t actually happen until The Wheel moved to ABC.

Also finding shows was quite an adventure with many coming from Youtube and Dailymotion. Many shows are recordings from re-runs on game show network, so you often would see the network logo bug or worse lower thirds of shows to come – not very eighties. A few episodes linked above are recordings from their original broadcast dates and include commercials. This was super golden as you could watch the show and see exactly what spots were sold with it back in the day. It’s where you also could really get a sense of the regional nature of TV. But most did not come with commercials.

So where most Youtubers and streaming sites have nicely removed all the commercials between breaks, I on the other hand wished to edit them back in. There are lots of archives in Youtube which have hundreds of commercials from various eras you can find. You’ll get lost into one swim-my musical of jingles if you focus on the 1980s as that’s how advertisers drilled into the psyche of consumers back then. A particular favorite Youtube channel is 80sCommercialVault which literally has hundreds of 10-15 volumes of ads. GOLD MINE.

The difficult task was often searching for the breaks in a show. I would find all the breaks, and distribute a certain number of commercials for each break. I would try to place commercials that would be most sensible to the time of day and show. So soap operas got food stuffs and beauty products; game shows received dentures and detergents. It would be really interesting if you could research and get access to some of the early demographic data and advertising contracts that were part of this decision making.

It was a tedious process, but the commercials are really what ground you in the era. That and watching the CBS Evening News with Dan Rather talking about the evolution of communism under Gorbachev. The shows are still with us in the form of cable reruns and retro swag, but not only do you not have jingles these days to sell products, who really watches commercials anymore?! With DVRs and streaming video the captive audience watching 4-5 thirty second spots every 7-8 minutes is gone.

So watching old TV with commercials in this vintage exhibit of television, console video games, and wood paneled decor hit all the nostalgia buttons for me. Jim Groom is really interested in building a full day of television for five networks all transmitted over their original VHF and UHF frequencies in a micro broadcast. You could then flip around finding just the right show for the day. I recently bought off eBay and scanned a February 1984 copy of The Hartford Courant’s “TV Week” booklet so that a more accurate program schedule could be built. It’s just the beginning of the kinds of research that would be needed. But hopefully we’ll make it happen!

The broadcasting Raspberry Pi was setup using the following:

Raspberry Pi running an image of Steven Hendrickson’s Video Looper: This is a great distro for the Raspberry Pi that will loop video files on start-up. It’s probably pretty straight-forward for someone that uses a RPi regularly, but I constantly have to refer to my notes and research problems. Here’s the steps I went through to get it working using my Mac to build the operating system on the SD card.

  1. Using a 32 GB class 10 SD card, formatted with SDFormatter.
    sdformatter
  2. Download, unzip, and do not mount the RPiLooper linked from Steven’s site. This will give you a disk image file which you’ll load onto your SD card.
  3. Installed the .img to the SD card using ApplePi-Baker.
    ApplePi-Baker
  4. After you’ve installed the distro to your SD card immediately test it on your Raspberry Pi. If it’s setup correctly you’ll see and hear Hendrickson’s test video looping.
  5. With it working it’s time to turn autostart off and make changes. There’s a ‘looperconfig.txt’ file that you can open from your SD card mounted to your Mac. By editing the file in textedit or text wrangler you can change the autostart=1 to autostart=0. You are supposed to be able to change usb=0 to usb=1 so that the video looper will play from a connected USB drive, but I couldn’t get it to work. The disk must be formatted NTSF and the video files in a directory in the root of the disk named ‘videos.’ Despite a few attempts, so far no dice. If you get it to work please let me know how!
    autostart
  6. Now it’s time to start up the Raspberry Pi again with the SD card. This time it should stop at a black screen with a blinking cursor. You can’t control the RPi directly with a connected keyboard or mouse yet as you can’t kill the active program. Again my RPi skills are pretty bare so there’s probably something that could be done with a keyboard shortcut possibly.
  7. So now you’ll need to SSH into the RPi. The easiest way to do this is with your own router (cable router works) so that figuring out the IP address of the RPi on your network isn’t too difficult and you also don’t have to deal with crazy security configs as I have on my campus. I use the terminal on my Mac. To control your RPi in the terminal use the command is ‘ssh pi@<ip address>. If it connects you have to confirm ‘yes.’ And then you’ll need to enter the password which is ‘raspberry’ (Hendrickson uses the Raspbian defaults user/pass of pi/raspberry).
    ssh-rpi-terminal-mac
  8. With the ‘pi@raspberrypi ~ $’ terminal prompt you are now running on the root terminal of your RPi. Next I expanded the image to the entire capacity of the 32 GB SD card, as well turned on the Raspbian desktop at startup. This way I could add a lot of videos and I could also work from the RPi terminal directly with a connected keyboard. This is done with the command ‘sudo raspi-config’
    sudo-rasp-config
  9. Restart your RPi again and you should now boot into the Raspbian Desktop. You can hover and find a Windows like system navigator with a mouse and open a root terminal application and control the RPi. With the command ‘bash startvideos.sh’ you’ll start the video looper application and should see Hendrickson’s default video loop.
  10. Time to finally add your own videos to the SD card. I used Filezilla on my Mac to connect to the RPi via SFTP (SSH File Transfer Protocol). This will allow you to drag and drop videos from your Mac to the RPi SD card. Here’s the ‘Site Manager’ settings:
    filezilla-sftp-connect
  11. Once connected you need to create a directory in the root for transferring video files. You cannot add video files directly to the ‘videos’ folder. It doesn’t work. Creating a separate directory for transferring is also useful to store videos that you want to keep on the SD and put in your loop playlist later.
    video-transfer-folder
  12. Just drag files from one directory to another works to edit the playlist. You can also do this from the terminal, but that’s more UNIX command line research I don’t want to do right now. 🙂 I believed the playlist starts and plays in alphanumeric order, but I’m not a hundred percent. My 03.mp4 was last after an 04.mp4 to 12.mp4 list. Go figure. More testing.
  13. Finally with your videos in the right directory you can either reset the ‘looperconfig.txt’ file to autoplay, or run the ‘bash startvideos.sh’ at startup.