VCS 1.12.1 released

A very small update this time. It's only been delayed by real life stuff.

Only worth mentioning:

  • Workaround for cases in which GAWK uses comma as decimal separator. Many European languages use commas but only a few versions of GAWK do actually print them (and newer versions don't anymore). People encountering this bug will have certainly noticed since it results in all kinds of errors.

vcs 1.12.1 (script only)
or (script, sample configuration and profiles)
deb, rpm, PKGBUILD & bz2
as usual at

VCS 1.12 released

VCS 1.12 is ready to download

As with 1.11 many of the changes are pretty radical and might break but it's been working fine for me so far.

The changes are quite a few so I'll try to explain as best as I can. Documentation for the new stuff is on the way.

New in this version:

  • Profiles
  • On-demand loading of custom configuration files
  • Heading, footer and title based on actual font size
  • Configuration generation from the command-line
  • Relative end-offset
  • More reasonable command-line arguments to capture from DVD
  • Configuration syntax enhancements and more sensible names for settings

→ Profiles

Command-line: --profile <NAME> and -p <NAME>

Profiles allow saving a group of settings and then reusing them by using their name.
They can be saved to ~/.vcs/profiles/ or /usr/share/vcs/profiles/ as name.conf, and then invoked with a command-line like:
$ vcs -p name video.avi

They can also be combined, e.g.
$ vcs -p black -p mosaic video.avi

A list of available profiles can be displayed with
$ vcs -p :list

The deb, rpm, arch package and tarball include some sample profiles.

→ Configuration file loading

Command-line: --config <FILE> and -C <FILE>

A lot like profiles but settings can be loaded from any file on any directory. The only extra condition is the file should contain "vcs:conf:" inside comments towards the beginning or the end of the file.

$ vcs -C /tmp/mysettings.txt video.avi

→ Configuration (and profile) generation

Command-line: --generate config

By adding --generate config to the command-line, the effective settings are printed in a format that can be saved to a configuration or profile file.

All active settings with an appropriate config setting will be printed, no matter if they come from the command-line, profiles or configurations.


$ vcs -n4 --generate config
Will produce a configuration for 4 captures and fixed number of captures:


$ vcs -p myprofile -C myconfig.cfg -E0 --generate config

Will merge profile "myprofile" and file myconfig.cfg, disable end-offset and print the combined settings.

Big warning

In case you aren't familiar with shell redirections, DON'T try to overwrite an existing configuration like:
$ vcs [...] --generate config > myconfig.cfg
This WILL WIPE your configuration BEFORE reading it.


Pre-existing configurations can be "upgraded" to the new names by running without extra arguments:
$ vcs --generate config

→ Relative end-offset

The end offset now accepts percentages and is 5.5% by default. It is now applied always unless disabled.

With the length detection workarounds in 1.11 and relative end offsets, the whole MIN_LENGTH_FOR_END_OFFSET nonsense is gone for good. Good riddance.

→ DVD capture

Handling of DVDs is now like that of normal files. --dvd (or -V) enable the DVD mode and take no arguments anymore:

$ vcs --dvd /dev/dvd

$ vcs --dvd --dvd-title 1 /dev/dvd

Multi-input is also accepted now:

$ vcs --dvd --dvd-title 1 --dvd-title 2 /dev/dvd /dev/dvd somedvd.iso
Will capture titles 1 and 2 from /dev/dvd, and the longest title from somedvd.iso.

DVDs and video files can't be mixed though (it's either DVD mode or no DVD mode for all input files).

→ Configuration syntax enhancements

Finally, configuration files are now easier to read and write:
 — Settings are case insensitive now
 — Names are easier on the brain (e.g. "height" instead of "th_height")
 — Comments no longer need their own line

Also a sample configuration file is provided with all available settings for easier writing of your own if needed.

→ Dynamic heading/footer/title

In previous versions heading and title size based on font pointsize. This lead to a few rare fonts displaying cropped. Footer was a fixed size so it was even worse at that. 1.12 probes the font size and (hopefully) sizes sections accordingly. Example:

Before: 1.11.2

After: 1.12

The font displayed is akaFrivolity in case you're wondering

vcs 1.12 (script only)
or (script, sample configuration and profiles)
deb, rpm, PKGBUILD & bz2
as usual at