10-23-2020

VHS conversion tutorial

This article has been replaced as of 08-27-2023 and can be found here. As a result, this article has been unlisted.

For quite some time now, people have been asking how I make a fairly convincing VHS effect, for example the one seen in Xploshi’s videos. I’ve been wanting to do a little article where I explain that plus a bit more, and so here we are. This is my little tutorial for how I do my VHS conversions.

I Don’t Use Filters

It may seem like I just use some sort of VHS filter, however the answer is false. While it may seem like I could’ve used one, something along the lines of Red Giant’s VHS plugin, BGVC’s VHS effect for Blender, Rarevision’s VHS Camcorder app, or AviSynth (to name a few,) I don’t use any of those. I instead do a more practical method: transferring it onto an actual tape deck/VCR. I find this more practical compared to just using an off-the-shelf filter because not only is it realistic, but you can pull off proper analog distortion as compared to filters.

How Do?

To pull off an effect like this with a VCR, I made a list of things that I use. Note that you don’t need exactly what I have, however I recommend getting something similar:

  • Source: For the source, I used to use a MacBook Air with VLC and output with a Mini-DVI to HDMI followed by an HDMI2AV adapter, however fairly recently I’ve started to use my Raspberry Pi 4 for the source, which allows me to setup an FTP server so I can transfer videos from my main computer to the Pi and use omxplayer in Raspbian to stream the videos through its (micro-)HDMI output. (Composite probably also works, but I don’t have a supported cable for the time being.)

  • VCR: Of course, in order to make it happen, I use a VCR, specifically I used two: A Raspberry Pi hooked up to a Panasonic Omnivision PV-V4000, which is then plugged into a JVC HR-S3500U through S-Video. Two VCRs are used to get a second-generation VHS effect, which makes it look slightly noisier but in my opinion gives off a cooler result. Plus with the Panasonic, I’m able to use manual tracking and give it even more noisier, sometimes to the point where it’s way too noisy for my capture device (and the other VCR) to react to. If you want to find a VCR, check your local thrift stores and/or eBay.

  • Capture Device: Finally, everything is hooked into a capture device to transfer back onto my computer. For this, I use a Dazzle DVC100. If you buy yours loose and it didn’t come with its driver CD, then you can find archived drivers I’ve uploaded last year to the Internet Archive.

As I mentioned before, you don’t need to use exactly what I use for my setup, especially when it comes to the source. Long before this article, I made a tweet explaining how I pulled off my VHS effects, and in some of the replies I got some mutuals and followers explaining their methods. One said they use their Xbox 360 and transfer the files through USB, and if I can recall correctly another used transferring onto a DVD and sending that to a VCR. There’s probably other methods out there, but I recommend the Pi mostly for its easier usage and more versatile.

Oh, I forgot to mention tapes! You’re definitely going to need one for these. I recommend either a completely blank tape (e.g. sealed blanks on Amazon, eBay, or thrift stores if you’re lucky) or override the write-protection on a pre-existing retail tape. (put scotch tape over the open plastic space on the bottom of the tape)

Feature Presentation

Here are the steps that I particularly use for my stuff. Results may vary depending on devices you use:

  1. After setting up my Raspberry Pi for the first time, I usually go into its configuration and enable two things: SSH and VNC. This way I’ll be able to control the device from my main computer, rather than having to constantly switch between the two. I connect to the FTP server on my main computer using WinSCP and I drag-n-drop the file(s) I want transferred.

  2. I start recording on both VCRs, then on the Pi, I open a Terminal prompt (or just enter it straight from the command line if you’re using Raspbian Lite) and enter the following: pi@raspberrypi:~ $ cd ./VHS

A three-dimensional render of a person posing in front of a city with a sunset in the distance. Picture is slightly noisy as it is transfered through videotape.

Your display should now have your chosen video, in glorious 480p.

I have a folder in my Raspberry Pi’s home folder called ‘VHS,’ where all of my raw files are located. I can also do a ‘ls’ command to list what’s in the folder to find the specific file I want to transfer, however I can just check WinSCP (my FTP client of choice) and enter the file name that way. Now if I want to display that file through the command line output, I enter this command: pi@raspberrypi:~/VHS $ omxplayer filename.mp4 (whereas filename is your video file’s name) Once that’s entered, the video should play through the Pi’s HDMI output. (or Composite if you have that setup)

If you’ve done everything right, you should now have a proper VHS effect! Optionally, you can make a second-generation recording, which will be explained below:

Next, I stop recording on the Panasonic, rewind to the beginning of the recording, and then play it through the JVC. Then, after that’s done, I stop recording on the JVC and playback the JVC’s recording.

The same render with a person posing in front of a city near a sunset, but even grainier.

Now your footage should be the same as before, however played back through a different deck. Now you have a second generation VHS recording! However, we aren’t over just yet. We’ve got one more thing to do:

From Tape-to-‘Net

While I’m playing back the tape, I’m recording it to my computer through OBS Studio (you can also use VirtualDub, which seems to be favored among many. refer to this tutorial by Oldskool PC if you want to use that instead.) On OBS, I use a Video Capture Device source for the visuals, set at Custom with ‘Highest FPS’ for the FPS, set Buffering to Disable, and Crossbar set to ‘SVideo In.’ Another thing I like to do is set the deinterlacing algorithm as Yadif 2x (right-click the Video Source and go to the “Deinterlace” dropdown.) Audiowise, I use an RCA to Aux cable for grabbing the audio off of the VCR, as the Dazzle produces a tone that’s always present in the recording.

With that said, that should be it! You should now have a realistic VHS filter done with a VCR! Now you’re able to make your own interesting VHS videos and more. Of course, doing this isn’t the only way you can use your VCR, if you’ve got tapes with actual material recorded onto it, particularly from other TV stations, you can always just transfer them instead.