The full changelog can always be found at p.outlyer.net/vcs/files/CHANGELOG. See also the roadmap for future versions.

This is a selection, where minor or internal changes are usually omitted.

1.13.4 (Published November 26th 2019)


  • Fix alternative blank frame evasion offsets being ignored #364
    Bugfix provided by Davide Cavestro
  • Fix wrong file sizes being displayed when using mawk #365
  • Fix number of columns being ignored in Bash 5.0 #373

1.13.3 (Published May 26th 2017)


  • Correct header rendering in newer versions of ImageMagick #323
    Bugfix by Markus
  • Other fixes (see changelog)

1.13.2 (Published May 18th 2014)


  • Bugfix: Fixed number of captures exceeded by one with mplayer #225
    Reported by Miya
  • Other: (Bugfix in prereleases)
    Fixed error when processing files with quotes in the file name #226

1.13.1 (Published February 26th 2014)


  • Bugfix: Fixed uncommon bug with unwrapped grep string #217
    Submitted by Eris Belew
  • Other: Adapt PKGBUILD to new guidelines #219
    Submitted by Eris Belew

1.13 (Published March 3rd 2013)


  • Complete manual pages
  • Added anonymous to the list of settings
  • Remove meaningless decimals when generating config files
  • New setting: profiles, allows loading profiles automatically and also loading profiles from other profiles
  • Change also title colours in black and white profiles
  • Codec identification for Fraps captures #179
  • New setting capturer deprecates decoder. Uses actual names (ffmpeg and mplayer) instead of variables ($DEC_FFMPEG and $DEC_MPLAYER)
  • Changed default verbosity level to INFO (same output as before)
    • Make dynamic settings case-insensitive, i.e. bg_heading=$bg_contact can also be written bg_heading=$BG_CONTACT
    • Correct extended-set resizing
    • Constraint checking of settings failed silently for alias-only names
    • Code typo: Produced error message when extended mode was narrower than contact sheet
    • Only warned about command-line GETOPT override when using uppercase setting name
    • Fixes for FreeBSD compatibility (regressions introduced in 1.12.3, #189):
      • Wrong parsing of floats and positions/percentages on FreeBSD's bash 4.0.10 (FreeBSD only)
      • Unsupported 'expr match' replaced by awk
    • Fix error when avoiding repeated captures
    • Don't filter cached captures more than once #199
    • Skip files where interval gets rounded to zero #195
  • Scheduled code cleanup:
    • Removal of deprecated configuration options: DEFAULT_END_OFFSET, shoehorned and safe_rename_pattern
    • Removal of deprecated option --undocumented shoehorn
    • Deprecation of --end_offset (--end-offset should be used instead)
  • OTHER:
    • Added new distribution profile: compact
    • Added new example profiles (black-mosaic and black-compact-chain), the latter demonstrating how a profile can load other profiles
    • List also builtin profiles with --profile :list
    • Each profile can no longer be loaded more than once
    • Restore terminal through stty #198

1.12.3 (Published July 17th 2011)


  • Bugfix: Actually handle --ffmpeg and --mplayer #169
  • Bugfix: Correct parsing of -U #187
  • Other: Switch to a minimum of bash 3.1 #173
  • Other: Avoid re-capturing the same frame twice #122

1.12.2 (Published August 24th 2010)


  • Bugfix: Fix cleanup of temporary files (regression since 1.11.2). #167
    Submitted by Jason Tackaberry.
  • Features:
    • Added fg_all, bg_all and font_all config variables. #156
    • Added nonlatin_filenames config variable. #159
    • Added identification for VP8 (WebM). #166

1.12.1 (Published April 23rd 2010)


  • Bugfix: Workaround for cases in which GAWK uses comma as decimal separator.
    Any OS with GAWK 3.1.3 to 3.1.5 was affected (where the environment language uses commas, e.g. Debian Lenny with many European languages)
  • Bugfix: Don't try to go on in DVD mode with unreadable ISOs

1.12 (Published April 10th 2010)


  • New features/tweaks:
    • Loading of random configuration files (--config / -C)
    • Profiles: Similar to above but simpler syntax (--profile / -p)
    • Config/Profile generation from command-line (--generate)
    • Adapt heading, title and footer height to font size (fonts that used to get cropped should now be fine)
  • DVD mode cleanup:
    • Command-line switched to match “normal” files:
      $ vcs --dvd /dev/dvd 0   or $ vcs --dvd /dev/dvd 1

      Equivalents now:

      $ vcs --dvd /dev/dvd     or $ vcs --dvd --dvd-title 1 /dev/dvd
  • New end-offset behaviour:
    • A 5.5% end offset is applied by default
    • Can be disabled with -E0 or end_offset=0
    • MIN_LENGTH_FOR_END_OFFSET is no longer used
  • Configuration files cleanup:
    • Simplified or more meaningful names where appropriate (the older names will continue to work for a while, and users will be warned)
      vcs --generate with no other arguments can be used to translate them
    • Validation of configuration options.
      Incorrect values will be discarded and an error shown; processing will continue.
    • Configuration searched in ~/.vcs/vcs.conf too
    • Syntax enhancements:
      • Comments can now be included in-line
      • Putting # in a value now requires using the escaped form $#
      • Semicolons (;) also serve to start comments: When one is found the rest of the line is ignored, they continue to be disallowed in values i.e. tl;dr will be parsed as tl
  • Other:
    • Accept timecodes and percentages in end_offset, both from the command-line and in configuration files
    • Print the start and end timestamps in effect before capturing
    • No longer accept interval zero (used to be re-set to default)
    • Tighter printing of overrides and no longer printed as warning
    • Strickter handing of wrong options
    • Fall back to Helvetica also when no fonts dir is located. Look in /usr/local too.
    • --end-offset added as an alias to --end_offset
    • Starting with 1.12 a tarball + makefile is also provided
  • Bugfixes:
    • Avoid possible (unlikely) usage of scientific notation in internal calculations
    • Distinguish between default end offset and user's end offset with the same value
    • Handle --nonlatin correctly
    • DVD Mode + FFmpeg identification: Check VOB #0 instead of #1
    • Don't print escape codes to stdout when testing colour printing
  • Options removed:
    • --shoehorn, temporary replacement: --undocumented shoehorn. Will be gone in 1.13
    • --mincho, replaced by --nonlatin since 1.11
    • MIN_LENGTH_FOR_END_OFFSET, as explained above, no longer needed

1.11.2 (Published March 19th 2010)


  • Added Cook and Sipro (RealAudio 4, 5 & 6) codecs
  • Bugfix: Remove extra, empty, temporary dir
  • Bugfix: Use standard awk syntax for exponentiation (pyth_th)
  • Bugfix: Workaround for systems that don't register fonts with ImageMagick

1.11.1 (Published March 11th 2010)


  • Added FLV1 codec
  • Bugfix: Deprecate DEFAULT_INTERVAL, DEFAULT_NUMCAPS and DEFAULT_COLS as overrides, warn about their new names (interval, numcaps and cols)
  • Bugfix: Fix ImageMagick version detection

1.11 (Published March 7th 2010)


  • Features:
    • Allow setting output filename. With extension will set output format, without will inherit it.
    • Allow percentages in height.
    • Require mplayer OR ffmpeg instead of both. Having both is still recommended for better results.
    • Safe mode, for files whose length doesn't get reported correctly.
      Completely automated.
      • Number of tries can be increased with -Ws. Repeat to increase further.
      • Use -WS to do try as many times as possible.
      • Accuracy (stepping) can be increased with -Wp. Repeat to increase accuracy. Decrease with -WP.
      • Can be deliberately disabled with -Wb to force processing of broken files. VCS WITH -Wb WILL FAIL ON BROKEN FILES
    • Added -dp (--disable padding) equivalent to overriding HPAD to 0
  • Bugfixes:
    • Don't pass ms to mplayer. It ignores them anyway and in some rare cases breaks the last capture (possibly due to the 5-frames hack)
    • Honor detected aspect ratio if found
    • Try to detect files that might fail on the last capture and trigger safe mode
    • Timestamps font was being ignored. As a side effect this produced italiced timestamps in some systems
    • Fixed obscure bug with safe_rename_pattern overrides
  • Compatibility: Support for bash 2.05b. This will (probably) be the last version capable of running under bash 2.
  • DVD mode revamp
    • Print title file size instead of disc size when possible
    • Aspect ratio detection, if available
    • Use of FFmpeg if available to get better information
    • Mostly cross-platform, only ISOs identification is a bit better in Linux
  • Added FourCCs: 3IV1, 3IV2 (3ivx); s263 (H.263); mp4v, MP4V, H264 (MPEG-4 and AVC in mov/mp4), VP6F (VP6 Flash Version), AMR
    Video codec renamings:
    • TechSmith codec name shortened to TechSmith SCC
    • Raw RGB renamed to Raw video
  • Help cleanup. The default help output is much shorter, the full text can be displayed with --fullhelp. Also print the decoder choice near the appropriate option (-M/-F)
  • Added --anonymous to help (never was in it)
  • Drop requirement on seq/jot and bc, replaced by inline awk
    New requirement: Perl (only for DVDs).
  • Check ImageMagick version (must decide which is the real minimum required)
  • Non-latin fonts revamp:
    • -I no longer works alone (use -Ij or -Ik instead)
    • -Ik, -Ij and --nonlatin try to pick an appropriate font automatically
    • -I accepts a font name or font filename like
      -Ij=Kochi-Mincho-Regular or
  • Deprecated options:
    • --shoehorn: Will be removed unless someone really needs it.
    • --mincho: Replaced by --nonlatin
  • Cosmetic:
    • Default font switched to DejaVu Sans.
      Font sizes reduced to accomodate the new default.
      Should fall back to a sane default if it's not available
    • Much tighter padding
    • Smaller timestamps font by default
    • Use main font by default in timestamps
    • Heading background colour toned down
  • Minimum ImageMagick version set to 6.3.5-7
  • Better detection of requirements (e.g. disallow decoders without png support)
  • Allow overriding height, number of captures, interval, columns, and padding

1.0.100a (Published April 10th 2009) (1.1.0 "RC2")


  • Preliminary support for OSes other than Linux (specially FreeBSD, on which it can be considered beta). So far output is less clean on those systems.
  • BUGFIX: Don't fail if tput fails to set console colour
  • BUGFIX: Check for requirements early, shouldn't die silently

1.0.99 (Published March 11th 2009) (1.1.0 "RC1")


  • Experimental support for DVDs (-V)
  • Added JPEG 2000 output format (-j2)
  • Polaroid mode renamed to photos mode, and introduction of new polaroid and polaroidframe modes
  • Slight adjustments in the timestamp size based on capture size.
  • Better detection of video frame rate (no more 1.000 fps, in theory) and audio channels number by using ffmpeg.
  • Bugfix: Fixed overlap mode putting all images on the same location (only with newer versions of ImageMagick?)

1.0.12 (Published April 16th 2008)


  • Corrected 0ms timestamps (seconds were being used as ms too)
  • Re-added the (disabled for long) black border after highlights
  • Added a minimun length to use the end offset
  • Bugfix: Fixed the regression on highlights from the last version (extra padding was being added my IM automatically)
  • Bugfix: Fixed parsing of manual timestamps including milliseconds (when seconds didn't include the s character they were accidentally multiplied by 10!)

1.0.11 (Published April 8th 2008)


  • Don't print ms when using mplayer
  • Better alignment in extended mode
  • Bugfix: (brown bag bug) Corrected typo in variable name that made vcs fail when setting the default timecode derivation to number of captures instead of interval
  • Some support for older versions of bash
  • Added FOURCC for VC-1

1.0.10 (Published November 8th 2007)


1.0.9a (Published June 10th 2007) //Bugfix release//


  • Bugfix: Fixed regression introduced in 1.0.8a which broke extended mode (Thanks to Aleksandar Urošević).
  • Bugfix: Was using the incorrect number of extended mode columns.

1.0.8a (Published June 2nd 2007) //Bugfix release//


  • Bugfix: -c was ignored when using the interval mode (-i and default behaviour) (Thanks to Homer S).
  • Bugfix: Right side of heading wasn't using the user's font colour (Thanks to Dougn Redhammer).

1.0.7a (Published May 12th 2007)


  • Print the title before the highlights.
  • Feature: End offset: Now a number of seconds (defaults to 60) from the end is ignored by default. This gives a better result with full feature films but might be an annoyance with music videos and such. Change the default with -E / --end_offset or disable it with -E0. The default can be overridden with DEFAULT_END_OFFSET. Can be disabled by adding DEFAULT_END_OFFSET=0 to configuration files.
  • Decimal point precision for seeking and timecodes
    • Accept decimal point timecodes (e.g. 20s.23)
  • Workaround for the problem with ffmpeg's arguments order (some files fail depending on the order of arguments) (-Wo changes the order to try to avoid the problem).
  • Experimental support for non-latin alphabets in filename (-Ik / --mincho).
    • Added overrides for the filename font (font_filename) and for the default Minchō font (FONT_MINCHO).
  • Replaced hard by soft shadows
  • Added codec ids for On2's codecs (VP3 to VP6), TSCC (Camtasia), Theora and added (unused?) extra Indeo codec ids
  • Allow changing the contact sheet background (override bg_contact)
  • tput (for coloured console text) is now an optional requirement.
  • Use /dev/shm for temporal output if possible.
  • Allow redirecting the output of ffmpeg/mplayer for debugging purposes (overrides stdout and stderr).
  • Bugfix / Feature: Correctly round the number of extended captures to be a multiple of the number of colu,mns.
  • Bugfix: Fixed safe renaming, failed with filenames with leading dashes and assument current directory output.
  • Bugfix: Added forgotten options to the help: -c / --columns -O / --override
  • Bugfix: Made font size of the title and timestamps independent, added overrides font_title, pts_title, fg_title and bg_title.
  • Bugfix: Corrected parsing of intervals (test for illegal characters was incorrect)
  • Bugfix: Print coloured console text to the correct channel
  • Internal: Made the FOURCCs detection case sensitive
  • And many internal changes, the decimal point precision and the funky modes required a lot of changes (rewrites, renamings and code split in smaller units)

1.0.6b (Published Apr 21st 2007) {Bugfix release}

  • Bugfix: Use mktemp instead of tempfile (Thanks to o kapi) (Note previous versions probably failed on non-debian derived systems).

1.0.5b (Published Apr 20th 2007)

  • Feature: Extended mode (-e).
  • Feature: Highligh mode (-l).
  • Feature: Basic auto aspect ratio guess (-A).
  • Feature: Command-line overrides (-O).
  • Allow using real user name instead of user id (-U).
  • Colourful feedback on the console if possible.
  • Added a bunch of codec ids
  • And of course some fixes :)

1.0.4b (Published Apr 17th 2007)

  • Feature: Aspect ratio support (with -a). Note it breaks the usage of --shoehorn to resize the video, which is totally intended anyway.
  • Bugfix: Put temp files in temporary locations. Should help with some filesystems. Thanks to Alon Levy for the bugreport.
  • Refinement: Suport for per-dir and system-wide configuration files. All of them are loaded if they exist, in order (system-wide, user local, current dir), each one overrides the previous if necessary.
  • Bugfix: Apparently the number of vidcaps output is finally correct.

1.0.3b (Published Apr 14th 2007)

  • Brown bag bugfix: Don't print the full path in the heading.

1.0.2b (Published Apr 14th 2007)

  • Gone beta: Multiple code cleanups.
  • Bugfix: Fixed program signature (broken in previous update).
  • Applied license.

1.0.1a (Published Apr 13th 2007)

  • Refinement: Allow more readable timestamps. Some examples with equivalent forms:
    Refer to 1:30:15 as: 1h30m15s = 1h30m15 = 5415s = 5415
    Refer to 1:03:00 as: 1h03m = 1h3m = 1h180s = 63m = 3780
  • Feature: Manual mode (-m). Output only the captures set by the user with -S.
  • Feature: Allow per-user config, which allows e.g. setting a different username that the default or changing the colours. See the script source for a list of allowed variables. Example ~/.vcs.conf:
    # vcs configuration
    user=outlyer		# Sign as outlyer
    # Change the signature from "Preview by outlyer" to "A rip by outlyer"
    user_signature="A rip by"
    bg_heading=slategray	# Use slategray headings (same as default footer)
    pts_heading=12		# Smaller font for heading

    Note this example is updated to the changes in the last version.

1.0a (Published Apr 10th 2007)

  • Feature: Allow setting the output height of the individual vidcaps (-H), the width is auto calculated from it.
  • Bugfix: If there'll be just one vidcap take it from the middle and not the end of the video.
  • Feature: Allow manually setting the number of columns (-c)
  • Added codec ids of WMV v8 and WMA v2
All dates/times in this page are UTC.