r/VideoEditing
il y a 3 a
Listogast
I've been a fan of the VHS effect for a long time, but I've noticed that most filters and presets don't look very convincing. So I decided to take it upon myself to see if I could make a decent one that didn't require any expensive paid video editing software.
Here's a clip from one of my favorite 90's movies that I used my filter on.
To keep things simple, you're going to want to download a free software called FFmpeg. It's a video conversion tool with some editing effects as well. It's very good for video editors to have in general. Once you download that, you're going to want to go inside the bin folder, and take whatever video clip you want, and paste it in the bin folder named INPUT.
After that, you're going to want to hold shift and right click in the white space of the bin folder and you should see an option "open command window here". Click that, and windows CMD will open up. Then all you have to do is to paste this code in:
ffmpeg -i INPUT.mp4 -vf "tinterlace=4, curves=m='0/0 0.5/0.9':r='0/0 0.5/0.5 1/1':g='0/0 0.5/0.5 1/1':b='0/0 0.5/0.5 1/1':, eq=saturation=1.2, scale=480:360, smartblur=lr=2:ls=-1, noise=c0s=13:c0f=t+u, gblur=sigma=3:steps=1, unsharp=luma_msize_x=15:luma_msize_y=9:luma_amount=5.0:chroma_msize_x=7:chroma_msize_y=3:chroma_amount=-2, format=yuv422p" -af "highpass=f=50, lowpass=f=5000" OUTPUT.MP4
And then hit enter and it should start rendering out your video. Once the command window stops rendering, you'll see a new file appear in the bin folder called OUTPUT.mp4. That is your converted video file. Enjoy your retro VHS look!
Now I want to go more in depth at this point, starting with how the effect works.
After studying the VHS look for a while, I noticed that most of the aspects aren't necessarily inherent to VHS at all really.
Most people get the chroma splitting very wrong and usually split the red and blue channels apart from each other. That's very unrealistic and it shows. How it actually works is a real thing called Chroma Subsampling. Basically, in order to save space, VHS made the horizontal color resolution half of what the brightness resolution is. That's why the colors bleed through the edges. Luckily for us, chroma subsampling actually exists in digital video files as well. So in this filter I made sure that the chroma subsampling was the same as VHS had.
The low resolution isn't necessary part of VHS since it is an analog format, so it doesn't really have a resolution, but I find that it works best for that effect and makes the artificial sharpening more accurate.
This preset has everything at neutral except for the lightness curve which has two points instead of three. It's set so that the whites are overexposed mimicking a low dynamic range.
And that's really all there is to it! I hope this makes sense and I hope you enjoy it. And there's really no limitations to what you can do! You can even add overlays on the video in FFmpeg for added effect. I chose to omit that since I wanted to present a full, in software, tutorial without having to rely on extra videos and stuff like that.
ffmpeg -i input -vf "yadif=1:1,hqdn3d=3,drawbox=y=ih-h:w=0:h=6:t=max,format=yuv420p" \
-crf 23 -preset medium -c:a aac -movflags +faststart \
-metadata title="Title" output.mp4
Encoding form a VHS input can be improved with some filters:
You will need to add -strict experimental if using an old ffmpeg: the native FFmpeg AAC encoder used to be considered experimental but that is now no longer the case.