The latest version of VCS is available to download.
It's been a good while since the last release, but there aren't a lot of changes this time around, apart from the usual bugfixes there's better handling of errors and unsupported files.
The most important bug fixed is obviously the one I already previewed some days ago. The header was being cropped with current-day ImageMagick, and that problem should be gone.
See the full changelog for more details.
- vcs 1.13.3
- vcs-1.13.3.gz (script only)
or
vcs-1.13.3.tar.gz (script, sample configuration, manpage and profiles) - deb, rpm, PKGBUILD & xz
- as usual at p.outlyer.net/vcs
Discover more from OutlyerNet
Subscribe to get the latest posts to your email.
Thanks for fixing the bug where it would not save the output file if the input filename contained an apostrophe. I just have one niggle:-
tput: unknown terminal "pc3"
This does not seem to cause any problems.
One more issue.. it no longer outputs in color, even if i put "simple_feedback=0" in my .vcs.conf.
Hi Chris, this is likely a side effect of the tput error you mentioned. While I look into it you may run vcs like:
TERM=xterm vcs ...
which should work.
May you tell me what OS and OS version you're running vcs on?
Hi Tony,
I've been using VCS for some time now, and it has worked fine for me since.
When upgrading my system to openSuSE Leap 42.3, VCS does not seem to honor -c anymore, generating one very wide image with captures next to each other…
After some debugging I learned that bash now exposes $COLUMNS as an internal variable, interfering with the VCS $COLUMNS.
replacing all 'COLUMNS' with 'USR_COLUMNS' in VCS solved the issue…
best regards,
Manfred
Thank you for the heads up! I'll update the script ASAP
Hi Tony
Very nice Script, I wasn't wondering if it's possible when running vcs to say something like vcs folder/path/*/*.avi and have it scan a folder/subfolders for .avi files and make thumbnails of them and output the thumbnail to the same folder?" Not sure how this can Be done if possib?
Hi,
VCS will output to the directory it was called from. To recursively place the generated files on the same directory as the video file you'll have to wrap it into a script or command-line that traverses the directories you want.
For example something like:
$ find folder/path -type d -exec sh -c 'cd "{}" && vcs *.avi' \;
https://p.outlyer.net/vcs still shows "Current version: 1.13.2, released on May 18th 2014."
Hey Toni!
Can you please direct me to the best place to discuss VCS issues? I have a problem with certain videos and don't know where to ask for help. I'm happy to provide any debugging info required.
Thank you for your fantastic script. 😀
Hi, sorry for your the delay! You can email me at outlyer@gmail.com
Hi Tony,
There is a minor rounding problem when the miliseconds of
the time is 0.995 or above.
[i] Generating capture #16/30 (03:09.17)…
[i] Generating capture #17/30 (03:20.100)…
[i] Generating capture #18/30 (03:32.82)…
Thank you for your report! I'll update the script as soon as possible.
Seems to me you've lost interest in this project. Pity. Anyway, if you're still interested, I found a couple of bugs.
One that affects movie file names with '-characters in them. vcs can't save the output. Input does not seem to be affected. My workaround:
#output_name=$( safe_rename "$output" "$wanted_name" ) || {
output_name=$( safe_rename "$output" "${wanted_name//\'/_}" ) || {
Not optimal, but at least it writes the files.
And one bug that showed up when ffmpeg and possibly, also IM or some other stuff on the system, got updated. Anyway, vcs no longer writes the footer. I have no workaround for that, though, since I really don't speak bash.
\\// `(o_o)´ –"Live long and prosper!"
Hello! Thank you for VCS, it's really useful!
I want to explain a small problem I have with it, hope you can help. If I use it with a video that has the filename in non-latin characters (like Chinese) the filename in the contact sheet is written as "????????.mp4".
Hi, for those cases you'll have to tell VCS to use a font that supports such characters using the
--nonlatin
(or-Ik
) option, for example:$ vcs ... -Ik=/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc ...
(adjust the command to load the appropriate font)
Note
--nonlatin
doesn't take any arguments and will try to pick a font for you, but it will probably fail.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
There's no direct way to do it.
However you may be able to use a wrapper for ffmpeg that includes those options and calling vcs with a modified path or by using one of the "undocumented" options, passing
-Z set_ffmpeg=yourwrapperscript
Aren't you going to update the program since now?
I have very little available time nowadays, but I intend to update it when I can.
In fact there's a couple tiny bugfixes in the trunk version.
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…
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.
Thank you for your input. I'll try to figure out how to work with HDR when I get the chance.
Added it to my TO-DO list.
Hi,
Thank you very much for your fantastic scripts.
Here's the thumbnails made with VCS.
https://bit.ly/2W7ZamJ
Can I ask you a question?
If I enter the command like this,
-S 1 -S 4 -S 3 -S 2
Then the VCS will sort automatically as follows.
-S 1 -S 2 -S 3 -S 4
How can I disable sorting?
(I'm not a native english, Please understand my Korean-English.)
Thank you..
Sorry for the delayed response, your message was caught by the spam filter.
Captures are always sorted automatically, so there's no way to do what you need, sorry.
Hello! If the video is rotated in metadata, the captures are distorted. That is, mplayer and ffmpeg report it as w x h, but it is displayed rotated as h x w, so it is fitting a h x w image into a w x h box. Reproduce:
for r in 0 90 180 270; do ffmpeg -i video.mp4 -c copy -metadata:s:v:0 rotate=$r rot-$r.mp4; done
It will be distorted for r=90,270. Works for me to add:
if [[ $MPLAYER_CACHE =~ ID_VID_0_ROTATE=(90|270) ]]; then
echo "mplayer says rotated, swapping width and height"
local tmp=${mi[$W]};mi[$W]=${mi[$H]};mi[$H]=$tmp;
fi
if [[ $FFMPEG_CACHE =~ displaymatrix:\ rotation\ of\ -?90\.00\ degrees ]]; then
echo "ffmpeg says rotated, swapping width and height"
local tmp=${fi[$W]};fi[$W]=${fi[$H]};fi[$H]=$tmp;
fi
after it detects width and height. Also need to change to
FFMPEG_CACHE=$("$FFMPEG_BIN" -i "$f" -dframes 0 -vframes 0 /dev/null 2>&1 | egrep '(Stream|Duration:|^Seems|displaymatrix:)')