Bash Scripts for Audio-Visual Preservation

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. Bug reports are very welcome, as usual.

Table of Contents


Elements of the Set

Checksum manifests
Files
BagIt archives
FFmpeg tools
  • 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-08-13 provides the following commands:
  make_bagit                undo_bagit                missing_files
  make_ffv1
  make_framemd5             update_bagit              name_hash
  make_h264                 update_manifest
  make_manifest                                       bash_avpres
  make_prores               verify_bagit              ffengine_presets
                            verify_ffv1               ffmpeg_head
  modify_bagit              verify_framemd5           nano_config
                            verify_manifest

$

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 required, 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-2022-08-13
./configure
make install

Compatibility

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

  • Linux: Debian 11.4, 10.12 and 9.13; Ubuntu 22.04.1 LTS, 20.04.4 LTS and 18.04.6 LTS; Slackware 15.0
  • Mac: macOS 12.5, 11.6.8 and 10.15.7
  • Windows: 11 version 21H2; 10 version 21H2, 21H1 and 20H2, 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.

Acknowledgments

Reto Kromer wishes to acknowledge the inspiration given and the help provided by:

 

  • Frédéric Noyer
  • Joshua Levy
  • Joshua Ng
  • Michal Cohen

 

(in alphabetical order of the given name).

Copyright, License and Disclaimer

Copyright © 2020–2022 by Reto Kromer

The scripts are released under a 3-Clause BSD License and provided “as is” without warranty or support of any kind.


2022-08-13