====== Video Contact Sheet *NIX ======
//vcs// for short.
===== Details =====
* Current version: 1.13.4, released on November 26th 2019. [[blog>2019-11-26:vcs-1-13-4-released/|Announcement post]].\\ Download:
* Script only: [ [[p>/vcs/files/vcs-1.13.4.bash|plain text]] ] [ [[p>/vcs/files/vcs-1.13.4.gz|gz]] ] [ [[p>/vcs/files/vcs-1.13.4.xz|xz]] ]
* Packages: Script and extra files (sample profiles and configuration): [ [[p>/vcs/files/vcs-1.13.4.tar.gz|Tarball]] ] [ [[p>/vcs/files/vcs_1.13.4-pon.1_all.deb|deb (all arches)]] ] [ [[p>/vcs/files/vcs-1.13.4-pon1.generic.noarch.rpm|rpm (generic, all arches)]] ] [ [[p>/vcs/files/vcs-1.13.4-pon1.generic.src.rpm |srpm]] ] [ [[p>/vcs/files/PKGBUILD|Arch Linux PKGBUILD]] ]
* Debian repository: [[http://packages.outlyer.net/|packages.outlyer.net]]
* Status: Stable (some bugs granted of course) on both Linux and FreeBSD.\\ Believed to work on other UNIX-like systems but untested.
* Released under the terms of the [[http://www.gnu.org/copyleft/lesser.html|GNU LGPL]].
* To track new releases, take a look at [[http://freecode.com/projects/video-contact-sheet/|its Freecode page]].
* Requirements (most desktops should have all, or most, of them): [[http://www.imagemagick.org/|ImageMagick (at least version 6.3.5-7)]] (convert, montage and identify commands), [[http://mplayerhq.hu/|mplayer]] or [[http://ffmpeg.mplayerhq.hu/|FFmpeg]] (preferably both), and some common stuff available on most sane desktops: bash (≥ 3.1) (for bash v2.05b use vcs 1.12.2), sed, grep/egrep, getopt and cut.\\ DVD support (optional) requires [[http://untrepid.com/lsdvd/|lsdvd]] and perl.
* Slightly buggy :P
* Any contribution, suggestion or bug report is welcome.
===== Links =====
* Updates are posted at my main site, see http://outlyer.net/etiq/projects/vcs/
* Git repository: https://git.outlyer.net/outlyer/video-contact-sheet [[https://github.com/outlyer-net/video-contact-sheet|(also on GitHub)]] Subversion repository https://svn.outlyer.net/svn/pub/ATTIC/video-contact-sheet/. [[https://svn.outlyer.net/websvn/browse/pub/ATTIC/video-contact-sheet/|Web interface]]
* Bugtracker https://b.outlyer.net/vcs/
==== Downstream packages ====
Besides the packages provided above, ''vcs'' can be found packaged by other users at the following //standard// repositories.
\\
I don't take part in creating these packages and can't confirm they work as expected.
=== Archlinux's AUR ===
https://aur.archlinux.org/packages/video-contact-sheet/
''$ git clone https://aur.archlinux.org/video-contact-sheet.git''
\\
''$ cd video-contact-sheet''
\\
''$ makepkg -si''
=== Homebrew (aka Brew) ===
https://formulae.brew.sh/formula/vcs
''$ brew install vcs''
=== NixOS / Nix ===
https://search.nixos.org/packages?show=vcs
''$ nix-env -i vcs''
Note as of this writing vcs is incorrectly flagged as unfree in Nix 23.11, but already corrected in //unstable//. You can enforce the install with
''$ env NIXPKGS_ALLOW_UNFREE=1 nix-env -i vcs''
=== Guix ===
https://packages.guix.gnu.org/packages/video-contact-sheet/
''$ nix-env -i vcs''
===== Description =====
This is a bash script meant to create video contact sheets (previews) of videos. Any video supported by mplayer and ffmpeg can be used.
A note of warning: Unlike most similar tools it, by default, makes screenshots the same size as the video, see below for details on how to change this.
Take a look at the [[vcs:docs|documentation]] and/or use the ''--help'' and ''--fullhelp'' options to learn how to use it.
==== Notes ====
* Using ''-i'' or ''-n'' with values that lead to the same number of vidcaps doesn't necessarily yield exactly the //same// vidcaps, you'll have to play with them for best results.
* Example: With a video that lasts for 22min 14secs, ''-n 6'' will create the six vidcaps:\\ 3:22, 6:44, 10:04, 13:28, 16:50 and 20:12, while ''-i 3m'' will create 3:00, 6:00, 9:00, 12:00, 15:00 and 18:00.\\ As you can see, ''-n'' distributes the vidcaps all over the video while ''-i N'' starts at ''N'' and goes in increments of it up to the end.
* You can set the aspect ratio of the video with ''-a''. It is only required for anamorphic material and discouraged for the rest.\\ It can take either a floating point number (like ''1.33'' or ''1.778'') or a fraction (like ''4/3'' or ''16/9''). The latter is slightly preferable.
===== Default behaviour =====
By using configuration files and/or command line options the default behaviour can be tweaked to your needs, these are the defaults, followed by a link with the explanation on how to change it:
* Captures are made every 5 minutes. See //[[vcs:docs:usage]]//.
* Captures are the same size as the input video. See //[[vcs:docs:usage#capture_size_and_aspect_ratio|Size and aspect ratio]]//.
* Captures are arranged in 2 columns (if there's more than one capture). See //[[vcs:docs:usage#number_of_columns|Number of columns]]//.
===== Documentation =====
[[vcs:docs|Documentation has been moved to a separate set of pages]].
===== Some samples =====
Samples with varied options:\\
{{vcs:samples:bbb_excfgs_5x4_160px_default.jpg?direct&250|5x4 grid}}
{{vcs:samples:bbb_excfgs_allblack.jpg?direct&250|Black contact sheet}}
{{vcs:samples:bbb_excfgs_5x4_160px_config.jpg?direct&250|5x4 grid, no padding}}
{{:vcs:coral_reef_adventure_1080.wmv-fullsheet.jpg?direct&250|Complete contact sheet}}
{{:vcs:samples:heavyrain_casting_1.0.11.jpg?direct&250|Command: vcs -E0 -S 2 -S 4m38 -i 1m 169_heavyrain_om_ps3_051906_hd.avi}}
{{:vcs:samples:mariposahd_s01e05_1.0.4b.jpg?direct&250|Command: $ vcs -n6 -H 540 mariposaHD.S01E05.1080p.en.wmv}}
{{:vcs:samples:film_mode_sample.jpg?direct&250|Filmstrip-mode sample}}
{{:vcs:samples:bbb_excfgs_allwhite.jpg?direct&250|White contact sheet}}
More samples can be found in the documentation pages, e.g. in: [[vcs:docs:samples]], [[vcs:docs:example_configs]], [[vcs:docs:colours]].
===== Known Issues =====
* Getting stuck on first frame
* This happening is a sign that the decoder (FFmpeg or MPlayer) has problems dealing with the input file. Interrupt with CTRL+C and re-run with ''-O stderr=/dev/stderr'' to display decoder errors. It might be due to unsupported codecs or broken files, there's little more you can do, except trying with the other decoder (''-M'' to use MPlayer, ''-F'' to use FFmpeg, which is the default).
* Getting gray frames
* This is a decoder error (either due to a broken file or some codec bug). Again little to be done other than switching decoders.
Remember this is a (neverending) work in progress, please report any bugs you encounter, either through e-mail or the [[https://b.outlyer.net/vcs/|bug tracker]].
===== Next version features =====
See [[bts>roadmap/vcs|roadmap]].
===== Related or similar tools =====
[[https://github.com/FreeApophis/vcs.rb|VCS Ruby rewrite by Thomas]]: Reuses part of VCS' code to produce the same style of contact sheets.
[[https://github.com/tudo75/vcs-creator|vcs-creator by tudo75]]: Small gui for VCS
Other similar tools available for POSIX/UNIX-like systems:
* [[http://www.angelfire.com/planet/moviecaps/|make_caps.sh]]
* [[http://slickslice.sourceforge.net/|SlickSlice]]
* [[http://moviethumbnail.sourceforge.net/|movie thumbnailer (mtn)]] (mtn is not a script but an actual program so it has higher chances to work where scripts fails)
===== ChangeLog =====
These are the changes of some interest to end users, since the last full version.\\
Additionally [[vcs:docs:changelog|a selection of changes for all versions]] and the [[p>/vcs/files/CHANGELOG|full changelog]] ([[p>/vcs/files/CHANGELOG.gz|gzipped version]]) are available. (Contributors are listed there too.)
==== 1.13.4 (Published November 26th 2019) ====
* Fix number of columns being ignored in Bash 5.0
* Fix wrong file sizes being displayed when using mawk
* Fix alternative blank frame evasion offsets being ignored
[[blog>2019-11-26:vcs-1-13-4-released/|Announcement post]]
==== 1.13.3 (Published May 26th 2017) ====
* Correct header rendering in newer versions of ImageMagick
* Other fixes (see [[p>/vcs/files/CHANGELOG|changelog]])
[[blog>2017-05-26:vcs-1-13-3-released/|Announcement post]]
==== 1.13.2 (Published May 18th 2014) ====
* Fix for sheets with MPlayer as capturer containing one extra capture
[[blog>2014-05-18:vcs-1_13_2-released/|Announcement post]]
==== 1.13.1 (Published February 26th 2014) ====
* Minor bugfixes
[[blog>2014-02-26:vcs-1_13_1-released/|Announcement post]]
==== 1.13 (Published March 8th 2013) ====
* Blank frame avoidance
* Automatic profile loading from configuration
* New 'compact' profile
* Bugfix: FreeBSD support restored
* Other fixes
[[blog>2013-03-08:vcs-1_13-released/|Announcement post]]
----
© 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2017, 2018, 2019 Toni Corvera