Bash Scripts for Audio-Visual Preservation

It is easier to port a shell than a shell script.
~ Larry Wall

 

Bash AVpres is a set of Bash scripts for audio-visual preservation, used on a daily base at our conservation and restoration lab, AV Preservation by reto.ch. These small programs are designed for both to be used individually and to be chained each other as needed. The scripts are released under a 3-Clause BSD License and provided “as is” without warranty or support of any kind. Bug reports are very welcome, as usual.

Elements of the Set

Checksums
Files
BagIt
FFmpeg
  • ffengine_presets – list, install, delete or print FFCommand Engine presets (macOS and Windows)
  • ffmpeg_head – install, patch or delete FFmpeg HEAD

Documentation

All the scripts come with a short embedded help message and a manual page (“man”). Running bash_avpres shows the list of the installed commands:

$ bash_avpres
Bash AVpres 2021-11-06 provides the following commands:
  make_bagit                verify_bagit              bash_avpres
  make_ffv1                 verify_ffv1               ffengine_presets
  make_framemd5             verify_framemd5           ffmpeg_head
  make_h264                 verify_manifest           missing_files
  make_manifest                                       name_hash
  make_prores               undo_bagit                nano_config
$

Installation

The scripts can be run from everywhere, without any specific installation. Of course, they have to be executable; if they aren’t, run for example chmod +x bash_avpres or, when administrator privileges are requested, sudo chmod +x bash_avpres.

In addition, two possibilities are provided for a regular installation at the root: via a Homebrew formula and via a Makefile. And we advise to use either one of these.

Homebrew

The installation via Homebrew works fine not only on Linux and Mac, but also on Windows running Terminal or Subsystem for Linux. Run the following two commands in the Terminal:

brew tap avpres/formulae
brew install bash-avpres

Makefile

As usual, directions are recalled in the README.txt file. Run the following three classic commands in the Terminal:

cd bash-avpres-2021-11-06
./configure
make install

Compatibility

The Bash AVpres scripts have been used successfully on various modern x86_64 and ARM architectures, running under the following operating systems:

  • Linux: Debian 11.1 and 10.11; Ubuntu 21.10, 20.04.3 LTS, 18.04.6 LTS and 16.04.7 LTS; Slackware 15.0 RC1 and 14.2; Qubes OS 4.0.4
  • Mac: macOS 11.6, 10.15.7 and 10.14.6
  • Windows: 11; 10 version 21H1, 20H2, 2004 and 1909, running Terminal or Subsystem for Linux

 

The scripts have been programmed to run also on the old Bash version 3.2 (released on 2006-10-11), which sadly still comes with the Apple computers. However, we strongly advise to install the current Bash version 5.1 (released on 2020-12-07) also on computers running under macOS.

Source Code

The source code of the Bash AVpres package is available on our website as a “.tar.gz” file, a TAR archive which was compressed with gzip. Of course, it includes a Change Log file.


2021-11-13