Code to process video to simulate analog composite video.
  • C++ 98.5%
  • Makefile 0.7%
  • Perl 0.5%
  • M4 0.2%
  • Shell 0.1%
Find a file
Jonathan Campbell 0567cb09bc License
2026-05-14 12:10:21 -07:00
.gitignore more 2016-05-31 21:47:19 -07:00
aclocal.m4 more 2025-12-10 17:21:11 -08:00
AUTHORS more 2016-05-31 00:32:47 -07:00
autogen.sh more 2016-05-31 00:32:47 -07:00
ChangeLog more 2016-05-31 00:32:47 -07:00
configure.ac use pkgconfig autoconf, not my own weirdness 2016-06-22 12:33:00 -07:00
ffmpeg_average_delay.cpp Fix to compile with GCC 4.8.5 2021-04-03 18:05:17 -07:00
ffmpeg_cassette.cpp Fix to compile with GCC 4.8.5 2021-04-03 18:05:17 -07:00
ffmpeg_colorkey.cpp Fix to compile with GCC 4.8.5 2021-04-03 18:05:17 -07:00
ffmpeg_colormap.cpp Fix to compile with GCC 4.8.5 2021-04-03 18:05:17 -07:00
ffmpeg_ntsc.cpp Fix to compile with GCC 4.8.5 2021-04-03 18:05:17 -07:00
ffmpeg_posterize.cpp Fix to compile with GCC 4.8.5 2021-04-03 18:05:17 -07:00
ffmpeg_raw28ntsc.cpp adjust 2022-01-30 18:32:12 -08:00
ffmpeg_raw28ntsc_step1.cpp Fix to compile with GCC 4.8.5 2021-04-03 18:05:17 -07:00
ffmpeg_raw28ntsc_step2.cpp Fix to compile with GCC 4.8.5 2021-04-03 18:05:17 -07:00
ffmpeg_raw28ntsc_step3.cpp Fix to compile with GCC 4.8.5 2021-04-03 18:05:17 -07:00
ffmpeg_raw28ntsc_step4.cpp more 2021-04-06 17:07:36 -07:00
ffmpeg_raw28ntsc_step5.cpp more 2022-01-29 23:57:41 -08:00
ffmpeg_raw28ntsc_step6.cpp more 2022-01-30 01:06:05 -08:00
ffmpeg_raw28ntsc_step7.cpp more 2022-01-30 15:02:03 -08:00
ffmpeg_scanimate.cpp Fix to compile with GCC 4.8.5 2021-04-03 18:05:17 -07:00
ffmpeg_to_composite.cpp Fix to compile with GCC 4.8.5 2021-04-03 18:05:17 -07:00
ffmpeg_vhsled.cpp more 2025-12-10 17:21:11 -08:00
filmac.cpp more 2024-01-19 12:14:17 -08:00
flac2rawpipe.sh more 2022-01-30 15:02:45 -08:00
frameblend.cpp Remove unused vars 2023-12-16 10:17:50 -08:00
git-source-pickup.pl initial commit 2016-05-30 23:55:31 -07:00
git-update-all initial commit 2016-05-30 23:55:31 -07:00
git-update-all-wo-push more 2017-01-07 22:33:41 -08:00
LICENSE License 2026-05-14 12:10:21 -07:00
Makefile.am more 2025-12-10 17:21:11 -08:00
NEWS more 2016-05-31 00:32:47 -07:00
normalize_ts.cpp Fix to compile with GCC 4.8.5 2021-04-03 18:05:17 -07:00
papermario.jpg example of raw NTSC (from a USB capture card that lets me turn off color 2016-09-02 12:21:01 -07:00
README update README 2016-06-23 16:56:48 -07:00
text2vaporwave.pl text2vaporwave: also convert space to 'ideographic space' 2016-08-21 14:07:31 -07:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Analog composite video simulation (for retro video-like video production).

The reason for this project is to provide the internet a better simulation
of composite video-based emulation, especially for the rash of people on
YouTube who all have their own ideas on what VHS artifacts looks like.

This code uses FFMPEG 3.x to read and write video. It's written for Linux,
but you could compile it (and FFMPEG) for Mac OS X as well if you tried.

A word of warning: This code is *SLOW*. It's designed to be as accurate as
I can make it, not fast. You may want to take any Simpsons episodes you will
be editing and cut them up first in Adobe Premiere (or your favorite video
editor) then run the exported "clip show" through this program instead of
wasting CPU cycles on whole episodes.

It is my hope that all the new "" videos might at least
try harder to actually look like old VHS instead of throwing a blur, noise,
sharpen filter with a looping recording of VHS static overlaid on top.
Also, contrary to the Simpsonwave fad, VHS isn't *that* staticky and snowy
(unless your VCR ate your tape which believe it or not was quite rare), nor
did VCRs leave the "PLAY" and timecode on the screen. Come on people, your
nostalgia or pretend nostalgia needs fine tuning. I have *really old* VHS
tapes from the mid 1980s that have at most the static bar at the bottom of
the screen (tracking error) and muffled audio.