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  asc Summary Status Progress Due In Version
101Bug ReportLowHeading bleeds into left side of contact sheet when tit...Deferred
0%
Task Description

No need for description

118Feature RequestLowCreate manpageDeferred
0%
Task Description

No need for description

124Feature RequestLowBetter looking timestampsAssigned
0%
Task Description

Timestamps could use some tweaking: e.g. centering on their background and rounded corners

151TO-DOLowOverride-able variables cleanup: Removal of deprecated ...Assigned
0%
1.14 Task Description

Introduce new names in 1.12 ( FS#120 )

Remove old names in 1.13 or 1.14 (this)

155Bug ReportLowColourised messages are printed before colour disabling...Assigned
0%
Task Description

No need for description

178Submitted PatchLowffmpeg + piped mplayer dump can be used to identifyRequires testing
0%
1.14 Task Description

Originally suggested by Dean: http://outlyer.net/2010-08-24:vcs-1_12-2-released/

” [...]

Second, my dvd-drive is useless atm, but i remember previously piping dvd-ouput from mplayer into ffmpeg via a fifo and finding the info generated to be much better than mplayer-alone – for one thing, it won’t ‘downmix’ 6-channel audio automatically. Don’t know if that would be useful to you. The syntax was something like:-

mkfifo piped.vob &&
mplayer dvd:// -dumpstream -dumpfile piped.vob & \
ffmpeg -i piped.vob

…See what you think…

227TO-DOLowFailed blank frame evasion should go back to original t...Assigned
0%
1.14 Task Description

When a frame evasion is tried and given up, the chosen timestamp should be the original instead of the last attempt

249TO-DOLowAdd libav as possible capturerAssigned
0%
1.14 Task Description

No need for description

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.
363Bug ReportLowFile names with '#' lead to errors when creating versio...Assigned
0%
1.14 Task Description

I.e. create file sample#.avi

Run vcs on sample#.avi -> sample#.avi.png is created.
Run vcs again. sample#.avi-1.png should be created, but sed generates an error.

367Feature RequestLowAdd HDR supportAssigned
0%
1.14 Task Description

HDR isn’t well supported as reported by remlap and ThaDr.

Their comments:

https://outlyer.net/2017-05-26:vcs-1-13-3-released/#comment-30901

Hi I am trying to thumbnail some HDR content is there anyway to insert ffmpeg filters in
-vf zscale=t=linear:npl=100,format=gbrpf32le,zscale=p=bt709,tonemap=tonemap=mobius:desat=0,zscale=t=bt709:m=bt709:r=tv,format=yuv420p

Thanks

https://outlyer.net/2017-05-26:vcs-1-13-3-released/#comment-32413:

I’m also trying to do some HDR content and pass the -vf info to ffmpeg. I can’t get it to work even using a wrapper script.

It always comes up with awk errors, starting with “unterminated regexp”.

Is there any chance of updating vcs to support manual passing of those -vf arguments to ffmpeg?

HDR content is very common nowadays…

https://outlyer.net/2017-05-26:vcs-1-13-3-released/#comment-32423

I’m using vcs 1.13.2 on ubuntu and ended up doing it by adding the line:

-vf ‘zscale=t=linear:npl=100,format=gbrpf32le,zscale=p=bt709,tonemap=tonemap=hable:desat=0,zscale=t=bt709:m=bt709:r=tv,format=yuv420p’ \

at line 2203, in the ffmpeg_capture() function where it sets the ffmpeg command line options.

Couldn’t work out how to do it with a wrapper script.
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?
 2 Bug ReportMedium Timestamps are allowed to be repeated Closed
100%
Task Description

.

 3 Feature RequestMedium Allow setting output filename Closed
100%
1.11 Task Description

.

 13 Bug ReportMedium Incorrect error checking of temporary directory creatio ...Closed
100%
Task Description

.

 26 Bug ReportMedium Safe renaming's mv requires "--" to be safe Closed
100%
Task Description

.

 49 Bug ReportMedium Setting font too big cuts text of meta-information and  ...Closed
100%
1.12 Task Description

Originally reported by Dougn Redhammer

 129 Bug ReportMedium Warn about renamed overrides Closed
100%
1.11.1 Task Description

Some override-able variables were renamed silently in 1.11

DEFAULT_COLS ⇒ cols
DEFAULT_INTERVAL ⇒ interval
DEFAULT_NUMCAPS ⇒ numcaps

 136 Bug ReportMedium Ubuntu doesn't register fonts with ImageMagick Closed
100%
1.11.2 Task Description

Symbolic font names don’t work since IM won’t know about TTF fonts.

Probably affects other systems too.

 149 Bug ReportMedium Check configuration values for correctness Closed
100%
1.12 Task Description

No need for description

 167 Submitted PatchMedium Improper cleanup of tempdir Closed
100%
1.12.2 Task Description

Originally submitted by Jason Tackaberry

VCS’ temporary dir (and its contents) is not removed on cleanup. Space in /dev/shm is wasted as a result.

Patch attached.

 174 Bug ReportMedium Video length is checked against mplayer's identificatio ...Closed
100%
1.12.3 Task Description

Internal: Stale code from prior versions, numsecs inside process() uses mplayer’s value instead of the best value to determine video length (and keep or discard timestamps).

As a side-effect, newer code being more strict about array vs string handling can fail easily.

 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.
 217 Bug ReportMedium Unquoted grep pattern gives problems Closed
100%
1.13.1 Task Description

Submitted by Eris Belew

Unquotted grep pattern ^ID is problematic.

Patch submitted.

 219 Submitted PatchMedium Arch PKGBUILD outdated Closed
100%
1.13.1 Task Description

Submitted by Eris Belew

Guidelines for the PKGBUILD script have changed.

Submitted updated PKGBUILD.

 225 Bug ReportMedium Number of captures exceeded by one with mplayer Closed
100%
1.13.2
 311 Bug ReportMedium Allow disabling coloured output altogether Closed
100%
1.13.3
 314 Submitted PatchMedium Patch for approximate size calculation Closed
100%
1.13.3
147Feature RequestMediumConfiguration options revampAssigned
90%
1.14
5Bug ReportMediumMeta-information gets overlapped with small contact she...Assigned
0%
109Bug ReportMediumFailure to capture with packed B-frames in AVIUnconfirmed
0%
137Bug ReportMediumHang with RM filesUnconfirmed
0%
194Feature RequestMediumFiles incorrectly reporting "too short" length aren't d...Researching
0%
?
196TO-DOMediumffmpeg is deprecatedAssigned
0%
1.14
378Bug ReportMediumBlank frame evasion produces error on latest ImageMagic...Assigned
0%
1.14
382Bug ReportMediumLook into detecting or setting manually GNU getoptAssigned
0%
?
 9 Bug ReportHigh Full path is printed in heading Closed
100%
 38 Bug ReportHigh Extended mode broken Closed
100%
 61 Bug ReportHigh Misspelled variable name breaks mode selection override Closed
100%
 76 Bug ReportHigh Failure while capturing last frame Closed
100%
1.11
 79 Bug ReportHigh vcs breaks if tput can't set colour Closed
100%
 135 Bug ReportHigh Pythagorean theorem uses gawk syntax Closed
100%
1.11.2
 189 Bug ReportHigh VCS is broken on FreeBSD (and Mac OS X) since 1.12.3 Closed
100%
1.13
 195 Bug ReportHigh Too short files might lead to infinte loop Closed
100%
1.13
 248 Bug ReportHigh Unsupported format gives errors Closed
100%
1.13.3
32Bug ReportHighvcs gets stuck on first capture (or during probe)Researching
0%
197TO-DOHighMove away from /dev/shmAssigned
0%
1.14
 24 Bug ReportCritical tempfile is not portable Closed
100%
 160 Bug ReportCritical AWK getting comma-separated decimals Closed
100%
1.12.1
 323 Bug ReportCritical Codec information is misaligned/cropped Closed
100%
1.13.3
Showing tasks 151 - 200 of 201 Page 4 of 5

Available keyboard shortcuts

Tasklist

Task Details

Task Editing