vcs

This is the tasklist for Video Contact Sheet *NIX

Although I use it mainly as a TO-DO list, feel free to fill any bug-reports or feature requests you might have.

Homepage: https://p.outlyer.net/vcs/
Documentation: https://p.outlyer.net/vcs/docs

ID Task Type Severity Summary Status Progress  desc Due In Version
 83 Bug ReportLow seq is not available in FreeBSD Closed
100%
Task Description

jot is its equivalent

 87 Bug ReportLow Must ensure getopt is GNU getopt Closed
100%
Task Description

No need for description

 88 Bug ReportLow bash might not be in /bin Closed
100%
Task Description

No need for description

 89 Bug ReportLow sed arguments are not x-platform Closed
100%
Task Description

No need for description

 90 Bug ReportLow mktemp's arguments are not x-platform Closed
100%
Task Description

No need for description

 108 Feature RequestLow Allow overriding DISABLE_SHADOWS and DISABLE_TIMESTAMPS Closed
100%
Task Description

Prompted by a mail from Chris Hills

 175 Bug ReportMedium Failure after a certain number of uses Closed
100%
Task Description

Originally reported by Robert Speicher.

Works for awhile, then starts failing until reboot. Happens with 1.12.1, but continued to fail after upgrade to 1.12.2.

Log:

Video Contact Sheet *NIX v1.12.1, (c) 2007-2010 Toni Corvera
Timestamps disabled.
Shadows disabled.
Padding disabled.
Processing Video.avi...
Capturing in range [01:12.50-19:30.00]. Total length: 20:26.02
Generating capture #1/16 (01:22.50)...
Generating capture #2/16 (02:35.00)...
Generating capture #3/16 (03:47.50)...
Generating capture #4/16 (05:00.00)...
Generating capture #5/16 (06:12.50)...
Generating capture #6/16 (07:25.00)...
Generating capture #7/16 (08:37.50)...
Generating capture #8/16 (09:50.00)...
Generating capture #9/16 (11:02.50)...
Generating capture #10/16 (12:15.00)...
Generating capture #11/16 (13:27.50)...
Generating capture #12/16 (14:40.00)...
Generating capture #13/16 (15:52.50)...
Generating capture #14/16 (17:05.00)...
Generating capture #15/16 (18:17.50)...
Generating capture #16/16 (19:30.00)...
Composing standard contact sheet...
Adding header and footer...
Done. Output wrote to Video.avi.jpg
Cleaning up...
Video Contact Sheet *NIX v1.12.1, (c) 2007-2010 Toni Corvera
Timestamps disabled.
Shadows disabled.
Padding disabled.
Processing Video.avi...
Capturing in range [02:16.25-36:30.00]. Total length: 37:15.80
Generating capture #1/16 (02:26.25)...
Generating capture #2/16 (04:42.50)...
Generating capture #3/16 (06:58.75)...
Generating capture #4/16 (09:15.00)...
Generating capture #5/16 (11:31.25)...
Generating capture #6/16 (13:47.50)...
Generating capture #7/16 (16:03.75)...
Generating capture #8/16 (18:20.00)...
Generating capture #9/16 (20:36.25)...
Generating capture #10/16 (22:52.50)...
Generating capture #11/16 (25:08.75)...
Generating capture #12/16 (27:25.00)...
Generating capture #13/16 (29:41.25)...
Generating capture #14/16 (31:57.50)...
Generating capture #15/16 (34:13.75)...
Generating capture #16/16 (36:30.00)...
Composing standard contact sheet...
Adding header and footer...
Done. Output wrote to Video.avi.jpg
Cleaning up...
Video Contact Sheet *NIX v1.12.1, (c) 2007-2010 Toni Corvera
Timestamps disabled.
Shadows disabled.
Padding disabled.
Processing Video.avi...
Capturing in range [00:50.00-13:30.00]. Total length: 14:02.64
Generating capture #1/16 (01:00.00)...
Generating capture #2/16 (01:50.00)...
Generating capture #3/16 (02:40.00)...
Generating capture #4/16 (03:30.00)...
Generating capture #5/16 (04:20.00)...
Generating capture #6/16 (05:10.00)...
Generating capture #7/16 (06:00.00)...
Generating capture #8/16 (06:50.00)...
Generating capture #9/16 (07:40.00)...
Generating capture #10/16 (08:30.00)...
Generating capture #11/16 (09:20.00)...
Generating capture #12/16 (10:10.00)...
Generating capture #13/16 (11:00.00)...
Generating capture #14/16 (11:50.00)...
Generating capture #15/16 (12:40.00)...
Generating capture #16/16 (13:30.00)...
Composing standard contact sheet...
montage: WriteBlob Failed `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/PNGErrorHandler/1391.
convert: Expected 8192 bytes; found 7332 bytes `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/PNGWarningHandler/1408.
convert: Read Exception `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/PNGErrorHandler/1391.
convert: Corrupt image `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/ReadPNGImage/2877.
convert: missing an image filename `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ wand/convert.c/ConvertImageCommand/2710.
identify: Expected 8192 bytes; found 7332 bytes `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/PNGWarningHandler/1408.
identify: Read Exception `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/PNGErrorHandler/1391.
identify: Corrupt image `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/ReadPNGImage/2877.
identify: Expected 8192 bytes; found 7332 bytes `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/PNGWarningHandler/1408.
identify: Read Exception `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/PNGErrorHandler/1391.
identify: Corrupt image `/dev/shm/vcs.rYHunk/vcs-MKciWX.png' @ coders/png.c/ReadPNGImage/2877.
/usr/bin/vcs: line 3320: ( - ) / 2 : syntax error: operand expected (error token is ") / 2 ")
Cleaning up...
Video Contact Sheet *NIX v1.12.1, (c) 2007-2010 Toni Corvera
Timestamps disabled.
Shadows disabled.
Padding disabled.
Processing Video.avi...
Capturing in range [00:53.75-14:30.00]. Total length: 15:46.15
Generating capture #1/16 (01:03.75)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-rUCuNH.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #2/16 (01:57.50)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-zZbLrH.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #3/16 (02:51.25)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-jtjSCK.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #4/16 (03:45.00)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-OPrsFE.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #5/16 (04:38.75)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-yTKhKY.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #6/16 (05:32.50)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-qNZBGT.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #7/16 (06:26.25)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-BMvDIJ.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #8/16 (07:20.00)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-LIiceG.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #9/16 (08:13.75)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-Mirxow.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #10/16 (09:07.50)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-MTumnX.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #11/16 (10:01.25)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-Fmbspn.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #12/16 (10:55.00)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-EpyojU.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #13/16 (11:48.75)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-xaWRsM.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #14/16 (12:42.50)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-SWjaOd.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #15/16 (13:36.25)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-RPgswJ.png' @ coders/png.c/PNGErrorHandler/1391.
Generating capture #16/16 (14:30.00)...
convert: WriteBlob Failed `/dev/shm/vcs.EgedHO/vcs-UcJOwe.png' @ coders/png.c/PNGErrorHandler/1391.
Composing standard contact sheet...
montage: Expected 8192 bytes; found 4013 bytes `/dev/shm/vcs.EgedHO/vcs-vUkjQs-cap-000001.png' @ coders/png.c/PNGWarningHandler/1408.
montage: Read Exception `/dev/shm/vcs.EgedHO/vcs-vUkjQs-cap-000001.png' @ coders/png.c/PNGErrorHandler/1391.
montage: Corrupt image `/dev/shm/vcs.EgedHO/vcs-vUkjQs-cap-000001.png' @ coders/png.c/ReadPNGImage/2877.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-fyBsXW-cap-000002.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-KaORtG-cap-000003.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-XpQLft-cap-000004.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-JJOrHH-cap-000005.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-njxEmD-cap-000006.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-spNKJs-cap-000007.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-ShRSMS-cap-000008.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-dVzzbj-cap-000009.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-tDyUTy-cap-000010.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-ZhPdxF-cap-000011.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-KNPGcw-cap-000012.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-fpoOpZ-cap-000013.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-xQKSPT-cap-000014.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-jiQomq-cap-000015.png' @ coders/png.c/ReadPNGImage/2839.
montage: Improper image header `/dev/shm/vcs.EgedHO/vcs-gwGaCZ-cap-000016.png' @ coders/png.c/ReadPNGImage/2839.
montage: missing an image filename `/dev/shm/vcs.EgedHO/vcs-pIBUGe.png' @ wand/montage.c/MontageImageCommand/1596.
convert: missing an image filename `/dev/shm/vcs.EgedHO/vcs-pIBUGe.png' @ wand/convert.c/ConvertImageCommand/2710.
/usr/bin/vcs: line 3320: ( - ) / 2 : syntax error: operand expected (error token is ") / 2 ")
Cleaning up...
Video Contact Sheet *NIX v1.12.1, (c) 2007-2010 Toni Corvera
Timestamps disabled.
Shadows disabled.
Padding disabled.
Processing Video.avi...
Detected video length can't be reached. Safe measuring enabled.
Starting safe length measuring (this might take a while)...
   ... trying 1724.759
   ... trying 1724.259
   ... trying 1723.759
   ... trying 1723.259
   ... trying 1722.759
   ... trying 1722.259
   ... trying 1721.759
   ... trying 1721.259
   ... trying 1720.759
   ... trying 1720.259
   ... trying 1719.759
   ... trying 1719.259
   ... trying 1718.759
   ... trying 1718.259
   ... trying 1717.759
   ... trying 1717.259
   ... trying 1716.759
   ... trying 1716.259
   ... trying 1715.759
   ... trying 1715.259
   ... trying 1714.759
   ... trying 1714.259
   ... trying 1713.759
   ... trying 1713.259
   ... trying 1712.759
   ... trying 1712.259
   ... trying 1711.759
   ... trying 1711.259
   ... trying 1710.759
   ... trying 1710.259
   ... trying 1709.759
   ... trying 1709.259
   ... trying 1708.759
   ... trying 1708.259
   ... trying 1707.759
   ... trying 1707.259
   ... trying 1706.759
   ... trying 1706.259
   ... trying 1705.759
   ... trying 1705.259
Couldn't measure length in a reasonable amount of tries.
  Capturing won't work, video is at least 00:20.00 shorter than reported.
   Does ffmpeg support XVID?.
   Try re-running with -Ws -WP.
Failure while analysing file "Video.avi". Can't continue.
Cleaning up...
Video Contact Sheet *NIX v1.12.1, (c) 2007-2010 Toni Corvera
Timestamps disabled.
Shadows disabled.
Padding disabled.
Processing Video.avi...
Detected video length can't be reached. Safe measuring enabled.
Starting safe length measuring (this might take a while)...
   ... trying 1614.210
   ... trying 1613.710
   ... trying 1613.210
   ... trying 1612.710
   ... trying 1612.210
   ... trying 1611.710
   ... trying 1611.210
   ... trying 1610.710
   ... trying 1610.210
   ... trying 1609.710
   ... trying 1609.210
   ... trying 1608.710
   ... trying 1608.210
   ... trying 1607.710
   ... trying 1607.210
   ... trying 1606.710
   ... trying 1606.210
   ... trying 1605.710
   ... trying 1605.210
   ... trying 1604.710
   ... trying 1604.210
   ... trying 1603.710
   ... trying 1603.210
   ... trying 1602.710
   ... trying 1602.210
   ... trying 1601.710
   ... trying 1601.210
   ... trying 1600.710
   ... trying 1600.210
   ... trying 1599.710
   ... trying 1599.210
   ... trying 1598.710
   ... trying 1598.210
   ... trying 1597.710
   ... trying 1597.210
   ... trying 1596.710
   ... trying 1596.210
   ... trying 1595.710
   ... trying 1595.210
   ... trying 1594.710
Couldn't measure length in a reasonable amount of tries.
  Capturing won't work, video is at least 00:20.00 shorter than reported.
   Does ffmpeg support XVID?.
   Try re-running with -Ws -WP.
Failure while analysing file "Video.avi". Can't continue.

Every capture from here on out will fail in a similar fashion until reboot.
 373 Bug ReportCritical Number of columns is ignored Closed
100%
Task Description

First reported on BSD and Debian 10 (reproducible), apparently tied to some updated tool

125Feature RequestVery LowBlank screen evasion (mtn feature)Deferred
90%
1.14 Task Description

Great feature, implemented in mtn

http://moviethumbnail.sourceforge.net/

See also FS#126

147Feature RequestMediumConfiguration options revampAssigned
90%
1.14 Task Description

The available configuration options need a serious review and renaming. Old names will be accepted with warnings for either two releases or six months.

Also, should provide a sample configuration file so that the syntax and options are clearer.

41Feature RequestLowAdjust timestamps size to capture sizeRequires testing
80%
Task Description

Originally suggested by Dogn Redhammer

153TO-DOVery LowRelease 1.14Limbo
0%
Meta: Release Cycle Task Description

This is a meta-item depending on bugs/features required to complete before releasing vcs 1.14

Previous:  FS#152   FS#218   FS#224   FS#250   FS#366 

200TO-DOVery LowRelease 2.0Assigned
0%
Meta: Release Cycle Task Description

This is a meta-item depending on bugs/features required to complete before releasing vcs 2.0.

v2.0 will be a rewrite in Python.

Previous: FS#153

52Feature RequestVery LowAllow review of screenshots before composingLimbo
0%
? Task Description

Originally requested by Daniel

 91 Feature RequestLow Drop GNU getopt Closed
0%
? Task Description

GNU getopt is quite a requirement for non-GNU userlands. If at all possible replace with something else.

163TO-DOVery LowMove rarely used features to pluginsAssigned
0%
? Task Description

No need for description

164Bug ReportVery LowImplement instrumentationAssigned
0%
? Task Description

No need for description

194Feature RequestMediumFiles incorrectly reporting "too short" length aren't d...Researching
0%
? Task Description

As reported by Dirk Reiners (paraphrased)

Files incorrectly reporting too short length (unlike too long), pass the safe_length_measure check ⇒ This prevents correcting length.

315Feature RequestLowRecurse directories, output to current dirAssigned
0%
? Task Description

Request by Chris Hills

http://outlyer.net/2014-05-18:vcs-1_13_2-released/comment-page-1/#comment-17238:

Thanks Toni. I was hoping I could simply run `$ vcs-1.13.2.bash -? **/*.mp4` to create contact sheets for all videos in all subfolders, but it sounds like I’ll have to use a wrapper script. Would you consider adding this in a future release for a donation?

My reply:

I guess you’re using zsh-ish globbing there.
That’s not something I use so I didn’t even think of the case where recursing could be so simple.
It was a bit of an overlook on my part not to have the option to output to the same directory as the video, probably because recursion always required a wrapper in my head.
377Feature RequestLowAllow screenshotting half of the video (for side-by-sid...Assigned
0%
? Task Description

Asked by Bob on the blog

Would it be possible to somehow specify to only screenshot half of the video image (for 180 side-by-side VR videos)?

Or would this require new features to be added to the VCS?
382Bug ReportMediumLook into detecting or setting manually GNU getoptAssigned
0%
? Task Description

Reported by KW in comments: https://outlyer.net/2019-11-26:vcs-1-13-4-released/#comment-51875

With the new script I'm getting issues the following error:
No compatible version of getopt in path, can't continue.
Enhanced getopt (i.e. GNU getopt) is required

Added by Darko in comments: https://outlyer.net/2019-11-26:vcs-1-13-4-released/#comment-52719

The homebrew's version of vcs has this at line 186:
declare GETOPT=/opt/homebrew/opt/gnu-getopt/bin/getopt
While Toni's just uses whatever is on path:
declare GETOPT=getopt
… which on macOS is non-gnu version of getopt.

Added by X in comments: https://outlyer.net/2019-11-26:vcs-1-13-4-released/#comment-53401

The issue is on line 186. Brew version has this:
declare GETOPT=/usr/local/opt/gnu-getopt/bin/getopt
The trunk version has:
declare GETOPT=getopt
When I backport the most important change you did in the trunk version ('`fx:image.mean` > `fx:mean`') then indeed the error messages on '.mean*100' are gone.
92Feature RequestVery LowSupport OpenSolaris/SunOSLimbo
0%
2.0 Task Description

Being based on System V, it’s quite different to most other Unix-like OSes, might be a good target for x-platform enhancements

162TO-DOVery LowImplement pluginsAssigned
0%
2.0 Task Description

No need for description

56Feature RequestLowAdd transcode as possible capturerDeferred
0%
1.14 Task Description

Originally requested by Phil Grundig

See vcs:devel:transcode

93Bug ReportVery Lowgrep -o is not portableAssigned
0%
1.14 Task Description

-o is a GNU extension, supported in Linux and FreeBSD

Unsupported in SunOS, OpenBSD?

151TO-DOLowOverride-able variables cleanup: Removal of deprecated ...Assigned
0%
1.14
172TO-DOVery LowDon't autoload './vcs.conf'Assigned
0%
1.14
178Submitted PatchLowffmpeg + piped mplayer dump can be used to identifyRequires testing
0%
1.14
196TO-DOMediumffmpeg is deprecatedAssigned
0%
1.14
197TO-DOHighMove away from /dev/shmAssigned
0%
1.14
227TO-DOLowFailed blank frame evasion should go back to original t...Assigned
0%
1.14
249TO-DOLowAdd libav as possible capturerAssigned
0%
1.14
363Bug ReportLowFile names with '#' lead to errors when creating versio...Assigned
0%
1.14
367Feature RequestLowAdd HDR supportAssigned
0%
1.14
375TO-DOVery LowAllow disabling blank frame evasionAssigned
0%
1.14
378Bug ReportMediumBlank frame evasion produces error on latest ImageMagic...Assigned
0%
1.14
5Bug ReportMediumMeta-information gets overlapped with small contact she...Assigned
0%
32Bug ReportHighvcs gets stuck on first capture (or during probe)Researching
0%
50Feature RequestVery LowAllow setting text outlinesDeferred
0%
53Bug ReportLowffmpeg doesn't accept file names with spacesUnconfirmed
0%
54Bug ReportLowminutes printed as hours with mplayerUnconfirmed
0%
69Feature RequestVery LowImage modeLimbo
0%
95Bug ReportLowRunning vcs from find fails on WMVs. They work directly...Unconfirmed
0%
101Bug ReportLowHeading bleeds into left side of contact sheet when tit...Deferred
0%
104Feature RequestVery LowAccept percentages in --from and --toDeferred
0%
109Bug ReportMediumFailure to capture with packed B-frames in AVIUnconfirmed
0%
118Feature RequestLowCreate manpageDeferred
0%
124Feature RequestLowBetter looking timestampsAssigned
0%
126Feature RequestVery LowEdge detection / blur evasion (mtn feature)Deferred
0%
137Bug ReportMediumHang with RM filesUnconfirmed
0%
Showing tasks 151 - 200 of 201 Page 4 of 5

Available keyboard shortcuts

Tasklist

Task Details

Task Editing