This repository contains tools for compact cassette and VHS tape recording.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Moritz Strohm ecfe763e84 added encode_cassette2.sh script 2 months ago
.gitignore added encode_cassette.sh script 1 year ago
COPYING added COPYING file, updated encode_cassette.sh project name information 9 months ago
README.md added README file 9 months ago
encode_cassette.sh encode_cassette.sh: added player pitch adjustment, added --no-normalize parameter 9 months ago
encode_cassette2.sh added encode_cassette2.sh script 2 months ago
encode_vhs.config.sh encode_vhs.sh: added configuration file support 8 months ago
encode_vhs.sh encode_vhs.sh: added configuration file support 8 months ago
playlist2folder.sh playlist2folder: added description text and error check 2 months ago

README.md

analogtape-utils

This is a collection of scripts for creating media compilations for compact cassette and VHS tapes.

Script descriptions

encode_vhs.sh: A script to help you make a video compilation for a VHS tape

encode_vhs.sh converts several input video files to one big video file so that you can easily record an entire VHS tape at once. It applies audio normalisation on each input video file and adds a 5 second pause (black image) between each video in the output file. More input file processing might be added in the future.

Dependencies: ffmpeg (with libvorbis and libtheora support), normalize or normalize-audio, make

If your ffmpeg doesn’t support encoding via libvorbis and/or libtheora, you may want to set a different codec in the parts of the script that build ffmpeg commands.

Basic usage: encode_vhs.sh input_file1 input_file2 ...

You may also encode in grayscale by specifying the grayscale option: encode_vhs.sh --grayscale input_file1 input_file2 ...

Configuration: There is no configuration at the moment, but you can change some variables at the top of the script. You might be interested in changing the “norm” variable from “pal” to “ntsc”, if you prefer recording a VHS tape in NTSC instead of PAL/SECAM. This will also adjust the “resolution” and “fps” variables.

How it works: encode_vhs.sh creates a temporary directory in the directory where it is invoked. Then, it creates a Makefile for the whole video processing job and starts make, running multiple jobs simultaneously when running on a system with several CPUs. The advantage of using makefiles for this is that dependency management and tracking of changes are built-in features of make so that these things don’t have to be rewritten in the shell script. After make returned with success, the directory will contain a file called vhs.mkv which is the output file containing all input videos.