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 Due In Version
386Bug ReportHighExtended set and highlights composition is brokenAssigned
0%
Task Description

Appears to be an incompatibility with current ImageMagick (6), happens with old versions of vcs too

385Bug ReportHighHandle rotation of video files rotated via metadataResearching
50%
1.14 Task Description

Originally reported by Pär: https://outlyer.net/2019-11-26:vcs-1-13-4-released/comment-page-1/#comment-60689

Another thing that is a little bit annoying, but isn't a very big deal, is the fact that videos made from a phone where the image is rotated in metadata, doesn't produce a correct aspect ratio. For example, a video that is stored as 1920×1080 (16:9), but shown as 1080×1920 (9:16), due to metadata rotation, vcs will create thumbnails in 1920×1080 aspect ratio (16:9) but show them rotated correctly, which means the image at 9:16 gets squashed to fit into 16:9. Like I said, not a very huge deal, but it looks somewhat silly and it would be great if it was possible to fix.
I've tried to see if I could set the aspect parameter but it doesn't seem to do much when the rotation is made in metadata. Metadata usually state something like:
>
> "`bash
Side data:
displaymatrix: rotation of -90.00 degrees
"`
384TO-DOMediumUse magick command with ImageMagick 7Requires testing
90%
1.14 Task Description

Originally reported by Pär: https://outlyer.net/2019-11-26:vcs-1-13-4-released/comment-page-1/#comment-60674

Recently got an update of ImageMagick:
$ magick --version
Version: ImageMagick 7.1.1-33 Q16-HDRI x86_64 22263 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenCL OpenMP(4.5) 
Delegates (built-in): bzlib cairo djvu fftw fontconfig freetype heic jbig jng jp2 jpeg jxl lcms lqr ltdl lzma openexr pangocairo png raqm raw rsvg tiff webp wmf x xml zip zlib zstd
Compiler: gcc (14.1)
Because of that, the "convert" command now gives a deprecation warning:
WARNING: The convert command is deprecated in IMv7, use "magick"
Trying to do that, replacing all the calls to 'convert' for 'magick', the temp images seem to be problematic (I've added a few printouts of the suspected code blocks):
[i] Capturing in range [04:49.49-19:17.95]. Total length: 20:25.35
[i] Generating capture #1/4 (04:49.49)...
magick: no images found for operation `-geometry' at CLI arg 7 @ error/operation.c/CLIOption/5479.
magick: magick -background 'transparent' -fill 'transparent' '/dev/shm/vcs.SGteWR/vcs-ZQ0dJj-cap-000001.png'   \( -geometry 267x200! \)  -flatten   \( -box '#000000aa' -fill 'White' -stroke none -pointsize '9'     -gravity 'SouthEast' -font '/usr/share/fonts/TTF/DejaVuSans.ttf' -strokewidth 3 -annotate +5+5     ' 04:49.49 ' \) -flatten -gravity None  -flatten  \( -background black +clone -shadow 50x2+4+4 -background none \) +swap -flatten -trim +repage  -flatten  '/dev/shm/vcs.SGteWR/vcs-zQhKDd.png'
If I try to cp those two temp images on the line below the 'magick' command, they become 0 byte files.
The video renderer ffmpeg has also gone through a couple of steps of upgrades over the years, I now have:
$ ffmpeg -version
ffmpeg version n6.1.1 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 13.2.1 (GCC) 20230801
So commands like '-vframes' is now '-frames:v' and so on. No errors, just friendly suggestions in the man page. I replaced those also, but still the same problem.
I should have listened more carefully when our kindergarten teacher went through Bash. ;) IOW, I'm sure it's something simple I am not understanding.
N.b. I can still use vcs with the normal 'convert' command, but depending on how "militia force" serious the ImageMagick gang is going to be about deprecation warnings and removal of old code, it might stop working at some point in the future and I think that would be sad.
Any ideas? Thanks! :)
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.
378Bug ReportMediumBlank frame evasion produces error on latest ImageMagic...Assigned
0%
1.14 Task Description

Reported by Paul:

Hey,
I'm using VCS via Homebrew Install (https://formulae.brew.sh/formula/vcs#default) and since the last update of imagemagick (?) I get dozens of error messages:
convert: Expected operator at '.mean*100' @ error/fx.c/GetOperator/2408

Confirmed to happen on ImageMagick 7.1 on Linux, the contact sheet is generated but blank frame evasion is skipped

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?
375TO-DOVery LowAllow disabling blank frame evasionAssigned
0%
1.14 Task Description

Should allow to disable it in both configuration and command-line.

 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

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.
 366 TO-DOLow Release 1.13.4 Closed
100%
Meta: Release Cycle Task Description

This is a meta-item depending on bugs to be fixed in the 1.13.4 release.

1.13.4 is a minor bugfix release for bugs found while development for 1.14 and 2.0 is stalled.

Previous:  FS#152   FS#218   FS#224   FS#250 
Next: FS#153

 365 Bug ReportLow File sizes are rounded Closed
100%
1.13.4 Task Description

Reported by remlap

File sizes are displayed as 3.00GiB instead of 3.54GiB

 364 Bug ReportLow Evasion offsets aren't walked over in array Closed
100%
1.13.4 Task Description

Submitted by Davide Cavestro

The array EVASION_ALTERNATIVES isn’t looped over correctly. Correction:

-		for delta in $EVASION_ALTERNATIVES ; do
+		for delta in ${EVASION_ALTERNATIVES[*]} ; do
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.

 323 Bug ReportCritical Codec information is misaligned/cropped Closed
100%
1.13.3 Task Description

Originally reported by Markus and Wade

The codec information box gets cropped with current versions of ImageMagick.

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.
 314 Submitted PatchMedium Patch for approximate size calculation Closed
100%
1.13.3 Task Description

Submitted by someone desiring no credit.

Here’s a patch against 1.13.2 for mistaken approximate size calculation.

Self-notes about the patch:

  • More accurate rounding → Discarded. I went for rounding by excess
  • Leading 0 in fractionary units was not present in the original → BUG
    Sample: Samsung HD sample, 1080pto720p version
 311 Bug ReportMedium Allow disabling coloured output altogether Closed
100%
1.13.3 Task Description

Reported by DanC

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

A great utilty... I’ve been using this for a couple of years now (it runs every night as a cron job).
I’ve been looking at cleaning up the output that cron captures from each of its commands and stores as a system email.
I’ve enabled the -Wc option to prevent coloured output. Mostly this works except near the start of the script when it says:
Settings from /home/danc/.vcs/vcs.conf:
bg_heading
This is still shown in green. Bug?

Currently the colour only stops after the option is found.

 250 TO-DOLow Release 1.13.3 Closed
100%
Meta: Release Cycle Task Description

No need for description

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

No need for description

 248 Bug ReportHigh Unsupported format gives errors Closed
100%
1.13.3 Task Description

Seen in HEVC contained in MPEG-TS

 247 TO-DOLow Add codec identification for H.265/HEVC Closed
100%
1.13.3 Task Description

ffmpeg: hevc

i.e.:
Stream #0:0[0x12d]: Video: hevc (Main) (HEVC / 0×43564548), yuv420p(tv), 3840×2160, 150 tbr, 90k tbn, 90k tbc Stream #0:0: Video: hevc, yuv420p(tv), 3840×2160, 25 fps, 25 tbr, 1200k tbn, 25 tbc

Samples: http://www.elecard.com/en/download/videos.html

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

 226 Bug ReportVery Low Pre-releases error on files with single quotes in their ...Closed
100%
1.13.2 Task Description

Pointed out by Miya

eval: line 1874: syntax error in conditional expression
eval: line 1874: syntax error near `got'
eval: line 1874: `[[ -n 'File's got problems.mp4.png' ]]'
Internal error at safe_rename():1510: [[ -n 'File's got problems.mp4.png' ]]
 225 Bug ReportMedium Number of captures exceeded by one with mplayer Closed
100%
1.13.2 Task Description

Reported by Miya

When using mplayer as capturer and defining a number of captures, the produced number exceeds it by one (i.e. 21 instead of 20).

 224 TO-DOLow Release 1.13.2 Closed
100%
Meta: Release Cycle Task Description

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

Previous:  FS#152   FS#218 
Next:  FS#250 

 219 Submitted PatchMedium Arch PKGBUILD outdated Closed
100%
1.13.1
 218 TO-DOLow Release 1.13.1 Closed
100%
Meta: Release Cycle
 217 Bug ReportMedium Unquoted grep pattern gives problems Closed
100%
1.13.1
200TO-DOVery LowRelease 2.0Assigned
0%
Meta: Release Cycle
 199 Bug ReportLow Cached captures are filtered more than once Closed
100%
1.13
 198 Bug ReportLow Console isn't always correctly restored Closed
100%
1.13
197TO-DOHighMove away from /dev/shmAssigned
0%
1.14
196TO-DOMediumffmpeg is deprecatedAssigned
0%
1.14
 195 Bug ReportHigh Too short files might lead to infinte loop Closed
100%
1.13
194Feature RequestMediumFiles incorrectly reporting "too short" length aren't d...Researching
0%
?
 189 Bug ReportHigh VCS is broken on FreeBSD (and Mac OS X) since 1.12.3 Closed
100%
1.13
 188 TO-DOLow Blank frame evasion Closed
100%
1.13
 187 Bug ReportLow -U without argument fails Closed
100%
1.12.3
 179 TO-DOVery Low Add codec identification for FRAPS captures Closed
100%
1.13
178Submitted PatchLowffmpeg + piped mplayer dump can be used to identifyRequires testing
0%
1.14
 177 TO-DOLow Safe length feedback should print nicer timestamps Closed
100%
1.13
 176 TO-DOVery Low Filmstrip not realistic Closed
100%
1.13
 175 Bug ReportMedium Failure after a certain number of uses Closed
100%
 174 Bug ReportMedium Video length is checked against mplayer's identificatio ...Closed
100%
1.12.3
 173 TO-DOLow Switch to Bash 3 Closed
100%
1.12.3
172TO-DOVery LowDon't autoload './vcs.conf'Assigned
0%
1.14
 171 TO-DOVery Low Deprecate './vcs.conf' in favour of profiles Closed
100%
1.13
 170 TO-DOVery Low Release 1.12.3 Closed
100%
Meta: Release Cycle
 169 Bug ReportLow --ffmpeg and --mplayer documented but ignored Closed
100%
1.12.3
 168 TO-DOLow Create basic manpage Closed
100%
1.12.2
Showing tasks 1 - 50 of 204 Page 1 of 5

Available keyboard shortcuts

Tasklist

Task Details

Task Editing