/video-contact-sheet/trunk/Makefile |
---|
7,6 → 7,9 |
all: |
@echo "Use $(MAKE) dist" |
pkg/vcs.1: manpage.xml |
xmlto -o pkg man $< |
tgz: vcs-$(VER).tar.gz |
vcs-$(VER).tar.gz: |
23,6 → 26,7 |
echo 'RELEASE is set to 0!' ; false ; fi |
dist: check-rel check-no-svn \ |
pkg/vcs.1 \ |
vcs-$(VER).tar.gz \ |
PKGBUILD-$(VER) \ |
vcs-$(VER).gz vcs-$(VER).bz2 vcs-$(VER).bash \ |
/video-contact-sheet/trunk/pkg/vcs |
---|
31,7 → 31,7 |
# The full changelog can be found at <http://p.outlyer.net/vcs/files/CHANGELOG> |
declare -r VERSION="1.12.1" |
declare -r VERSION="1.12.2" |
declare -r RELEASE=1 |
set -e |
83,7 → 83,8 |
# - INTERNAL_*: Used internally to adapt messages and the like to the input |
# - UNDFLAG_*: Undocumented flags. Used internally to keep track of undocumented modes (-Z) |
# - USR_*: Holds values of variables as set by the user, either from overrides or from the |
# command-line |
# command-line. |
# implementation |
# * Optimisations: |
# - Reduce the number of forks |
# }}} # TO-DO |
124,8 → 125,6 |
declare -ri DEFAULT_EXT_FACTOR=4 |
# see $verbosity |
declare -ri V_ALL=5 V_NONE=-1 V_ERROR=1 V_WARN=2 V_INFO=3 |
# see $font_filename |
declare -ri FF_DEFAULT=5 FF_NONLATIN=7 |
# Indexes in $VID |
declare -ri W=0 H=1 FPS=2 LEN=3 VCODEC=4 ACODEC=5 VDEC=6 CHANS=7 ASPECT=8 VCNAME=9 ACNAME=10 |
# Exit codes, same numbers as /usr/include/sysexits.h |
182,15 → 181,6 |
declare font_tstamps=DejaVu-Sans-Book # Used for timestamps over the thumbnails |
declare font_heading=DejaVu-Sans-Book # Used for the meta info heading |
declare font_sign=$font_heading # Used for the signature box |
# Unlike other font_ variables this doesn't take a font name directly |
# but is restricted to the $FF_ values. This is to allow overrides |
# from the command line to be placed anywhere, i.e. in |
# $ vcs -I file.avi -O 'FONT_MINCHO=whatever' |
# as the font is overridden is after requesting its use, it wouldn't be |
# affected |
# The other font_ variables are only affected by overrides and not command |
# line options that's why this one is special. |
declare font_filename=$FF_DEFAULT # Used to print only the filename in the heading |
declare font_title=$font_heading # Used for the title (see -T) |
# Font sizes, in points |
declare -i pts_tstamps=14 # Used for the timestamps |
237,6 → 227,11 |
# The automatic picks a semi-random one from the fonts believed to support CJK/Cyrillic |
#+characters. |
declare FONT_MINCHO= # Filename or font name as known to ImageMagick (identify -list font) |
# Introduced in 1.12.2: |
# When true (1) uses $FONT_MINCHO to print the filename, otherwise the same |
#+font as the heading is used. |
# See -I and --nonlatin |
declare -i NONLATIN_FILENAMES=0 |
# Output of capturing programs is redirected here |
declare stdout=/dev/null stderr=/dev/null |
413,6 → 408,8 |
#+ believed to be no longer needed |
#+ "gone": Variable removed in the current version |
#+ "alias": Marks an alias, duplicate name intended to stay |
#+ "meta": Special variable that will modify other variables (e.g. font_all |
#+ modifies all font_ variables. |
#+ "=": ignore |
#+ type constraints: a character indicating accepted values: |
# n -> Number (Natural, positive Integer) |
458,6 → 455,9 |
"font_sign::" |
"font_tstamps::" |
"font_title::" |
"font_all:=:meta" # see parse_override |
"bg_all:=:meta" |
"fg_all:=:meta" |
"pts_tstamps::" |
"pts_meta::" |
"pts_sign::" |
506,6 → 506,7 |
"nonlatin_font:FONT_MINCHO:" |
"FONT_MINCHO::deprecated=nonlatin_font" |
"NONLATIN_FILENAMES:=:=:b" |
"end_offset:=:=:I" # New, used to have a two-variables assignment before USR_* |
"DEFAULT_END_OFFSET:end_offset:deprecated=end_offset:I" |
544,13 → 545,11 |
varname=${por/% *} # Everything up to the first space... |
tmp=${por#* } # Rest of string |
flag=${tmp/% *} |
bashcode=${tmp#* } |
if [ "$flag" == '=' ]; then |
# No need to override... |
feedback="$varname(=)" |
else |
feedback=$varname |
eval "$bashcode" |
fi |
ov="$ov, $feedback" |
fi |
670,15 → 669,13 |
return 0 |
} |
# Parse an override |
# Input should be a var=value assignment, result, stored in the global variable $RESULT, |
# will be in the format: |
# <variable name> <flag> <evaluable code> where |
# Parse an override and set its value. |
# Input should be a var=value assignment. Also sets USR_<variable>. |
# The global variable $RESULT is set with the format: |
# <variable name> <flag> where |
# * variable name: is the name of the variable to be overridden |
# * flag: is a character indicating the status: "+" for a possible override, |
# "=" for an override that already has the same value |
# * evaluable code: is a piece of bash code to be feed to eval to change |
# the variable, it also sets the related USR_* variable |
# Warnings and errors are buffered |
# This function always returns true |
# parse_override($1 = override assignment) |
685,7 → 682,7 |
parse_override() { |
local o="$1" |
RESULT='' |
if ! egrep -q '^[[:space:]]*[a-zA-Z_][a-zA-Z0-9_]*[[:space:]]*=.*' <<<"$o" ; then |
return |
fi |
737,6 → 734,11 |
buffered error "Variable '$varname' is scheduled to be removed in the next release." |
buffered error " Please contact the author if you absolutely need it." |
;; |
meta) |
apply_meta_override "$varname" "$varval" |
RESULT="$varname +" |
return 0; |
;; |
*) return 0 ;; |
esac |
fi |
757,12 → 759,43 |
# Escape single quotes, since it will be single-quoted: |
varval=${varval//\'/\'\\\'\'} # <<'>> => <<'\''>> |
evcode="$ivar='$varval'; USR_$ivar='$varval'" |
eval "$evcode" |
fi |
# varname, as found in the config file |
RESULT="$varname $retflag $evcode" |
RESULT="$varname $retflag" |
} |
# Handle meta configuration variables, variables that, when set, modify the |
# value of (various) others |
# apply_meta_override($1 = actual variable name, $2 = value) |
apply_meta_override() { |
case "$1" in |
font_all) |
buffered inf "font_all => font_heading, font_sign, font_title, font_tstamps" |
parse_override "font_heading=$2" |
parse_override "font_sign=$2" |
parse_override "font_title=$2" |
parse_override "font_tstamps=$2" |
;; |
fg_all) |
buffered inf "fg_all => fg_heading, fg_sign, fg_title, fg_tstamps" |
parse_override "fg_heading=$2" |
parse_override "fg_sign=$2" |
parse_override "fg_tstamps=$2" |
parse_override "fg_title=$2" |
;; |
bg_all) |
buffered inf "bg_all => bg_heading, bg_contact, bg_sign, bg_title, bg_tstamps" |
parse_override "bg_heading=$2" |
parse_override "bg_contact=$2" |
parse_override "bg_sign=$2" |
parse_override "bg_title=$2" |
parse_override "bg_tstamps=$2" |
;; |
esac |
} |
# Do an override from the command line |
# cmdline_override($1 = override assignment) |
#+e.g. cmdline_override 'decoder=$DEC_FFMPEG' |
774,12 → 807,9 |
local varname=${r/% *} # See load_config() |
local tmp=${r#* } |
local flag=${tmp/% *} |
local bashcode=${tmp#* } |
if [ "$flag" == '=' ]; then |
varname="$varname(=)" |
else |
eval "$bashcode" |
fi |
CMDLINE_OVERRIDES="$CMDLINE_OVERRIDES, $varname" |
1447,7 → 1477,7 |
cleanup() { |
if [ -z $TEMPSTUFF ]; then return 0 ; fi |
inf "Cleaning up..." |
rm -rf "${TEMPSTUFF[*]}" |
rm -rf "${TEMPSTUFF[@]}" |
unset VCSTEMPDIR |
unset TEMPSTUFF ; declare -a TEMPSTUFF |
} |
2341,6 → 2371,7 |
theo) vcodec="Ogg Theora" ;; |
tscc) vcodec="TechSmith SCC" ;; |
VP6[012F]) vcodec="On2 Truemotion VP6" ;; |
VP80) vcodec="VP8" ;; |
WMV1) vcodec="WMV7" ;; |
WMV2) vcodec="WMV8" ;; |
WMV3) vcodec="WMV9" ;; |
2394,6 → 2425,7 |
theora) mpid="theo" ;; |
camtasia) mpid="tscc" ;; |
vp6|vp6a|vp6f) mpid="VP60" ;; |
vp8) mpid="VP80" ;; |
# FIXME List of codec id's I translate but haven't test: |
# svq3, rv40, theora, camtasia, vp6* |
# MPlayer uses uppercase while FFmpeg uses lowercase |
2901,7 → 2933,8 |
} |
# Checks if the provided arguments make sense and are allowed to be used |
# together |
#+together. When an incoherence is found, sets some sane values if reasonable |
#+or fails otherwise. |
coherence_check() { |
trace $FUNCNAME $@ |
# If -m is used then -S must be used |
2987,6 → 3020,17 |
# Interval=0 == default interval |
fptest "$interval" -eq 0 && interval=$DEFAULT_INTERVAL |
# If in non-latin mode and no nonlatin font has been picked try to pick one. |
# Should it fail, fallback to latin font. |
if [ $NONLATIN_FILENAMES -eq 1 ] && [ -z "$FONT_MINCHO" ]; then |
set_extended_font || { |
# set_extended_font already warns about lack of fonts |
warn " Falling back to latin font" |
NONLATIN_FILENAMES=0 |
FONT_MINCHO="$font_heading" |
} |
fi |
sanitise_rename_pattern |
sanitise_fonts |
} |
2995,6 → 3039,7 |
#+*only* for fonts not overridden |
sanitise_fonts() { |
trace $FUNCNAME $@ |
# Any default font in use? If all of them are overridden, return |
if [ "$USR_font_heading" -a "$USR_font_title" -a "$USR_font_tstamps" -a "$USR_font_sign" ]; then |
return |
3385,15 → 3430,12 |
"$output" -append "$output" |
unset tlheight |
fi |
local fn_font= # see $font_filename |
case $font_filename in |
$FF_DEFAULT) fn_font="$font_heading" ;; |
$FF_NONLATIN) fn_font="$FONT_MINCHO" ;; |
*) |
warn "\$font_filename was overridden with an incorrect value, using default." |
fn_font="$font_heading" |
;; |
esac |
local fn_font= # see $NONLATIN_FILENAMES |
if [ $NONLATIN_FILENAMES -ne 1 ]; then |
fn_font="$font_heading" |
else |
fn_font="$FONT_MINCHO" |
fi |
# Create a small image to see how tall are characters. In my tests, no matter |
#+which character is used it's always the same height. |
local lineheight=$(line_height "$font_heading" "$pts_meta") |
3902,7 → 3944,8 |
esac # verbosity |
;; |
esac |
echo "$f=$v" |
# Print all names in lowercase |
echo "$(tolower "$f")=$v" |
} |
done |
echo "# vcs:conf:$NL# Generated on $(date)$NL# --- $n ENDS HERE --- " |
4106,7 → 4149,8 |
# Unlike -I, --nonlatin does not accept a font name |
--nonlatin) |
if [ -z "$USR_FONT_MINCHO" ]; then |
font_filename=$FF_NONLATIN |
NONLATIN_FILENAMES=1 |
USR_NONLATIN_FILENAMES=1 |
set_extended_font |
inf "Filename font set to '$FONT_MINCHO'" |
fi |
4126,7 → 4170,8 |
fi |
# It isn't tested for existence because it could also be a font |
# which convert would understand without giving the full path |
font_filename=$FF_NONLATIN |
NONLATIN_FILENAMES=1 |
USR_NONLATIN_FILENAMES=1 |
if [ ${#2} -gt 1 ]; then |
# j=, k= syntax |
FONT_MINCHO="${2:2}" |
4428,7 → 4473,7 |
t=${ovname#*:} |
if [ "$t" -a "$t" != "=" ]; then f="$t" ; fi |
eval v=\$USR_$f |
[ -z "$v" ] || echo "$f=$v" |
[ -z "$v" ] || echo "$(tolower $f)=$v" |
done |
exit 0 |
;; |
/video-contact-sheet/trunk/pkg/common.mk |
---|
15,6 → 15,8 |
DESTDIR:=/ |
TGZ=vcs-$(VERSION).tar.gz |
MANDIR:=$(prefix)/share/man/man1/ |
all: |
# Nothing to be done |
28,14 → 30,18 |
install -m755 vcs $(DESTDIR)$(prefix)/bin/vcs |
install -d $(DESTDIR)$(prefix)/share/vcs/profiles |
install -m644 profiles/*.conf $(DESTDIR)$(prefix)/share/vcs/profiles/ |
install -d $(DESTDIR)$(MANDIR) |
install -m644 vcs.1 $(DESTDIR)$(MANDIR)/ |
uninstall: |
$(RM) $(DESTDIR)$(prefix)/bin/vcs |
$(RM) $(DESTDIR)$(MANDIR)/vcs.1 |
for file in profiles/*.conf ; do \ |
$(RM) $(DESTDIR)$(prefix)/share/vcs/profiles/`basename $$file` ; \ |
done |
-rmdir -p $(DESTDIR)$(prefix)/bin |
-rmdir -p $(DESTDIR)$(prefix)/share/vcs/profiles |
-rmdir -p $(DESTDIR)$(MANDIR) |
examples/vcs.conf.example: examples/vcs.conf |
sed -e 's/^/#/;s/^#$$//;s/^##/#/' < $< > $@ |
/video-contact-sheet/trunk/pkg/rpm/vcs.spec.in |
---|
95,12 → 95,15 |
%{prefix}/share/vcs/profiles/mosaic.conf |
%{prefix}/share/vcs/profiles/white.conf |
# Manpage |
#%{_mandir}/man1/%{name}.1.gz |
%{_mandir}/man1/%{name}.1.gz |
%doc CHANGELOG |
# Config example |
%doc examples/vcs.conf.example |
%changelog |
* Tue Aug 24 2010 - outlyer (at) gmail (dot) com |
- Install manpage |
* Sat Apr 10 2010 - outlyer (at) gmail (dot) com |
- Added profiles and example configuration |
- Use %{prefix} |
/video-contact-sheet/trunk/pkg/debian/changelog |
---|
1,3 → 1,9 |
vcs (1.12.2-upstream.1) experimental; urgency=medium |
* New version. Medium priority due to temporary files cleanup bug. |
-- Toni Corvera <outlyer@gmail.com> Tue, 24 Aug 2010 20:48:41 +0200 |
vcs (1.12.1-upstream.1) experimental; urgency=medium |
* New version. |
/video-contact-sheet/trunk/pkg/debian/rules |
---|
81,7 → 81,7 |
# dh_installinit |
# dh_installcron |
# dh_installinfo |
dh_installman |
dh_installman vcs.1 |
dh_link |
dh_strip |
dh_compress |
/video-contact-sheet/trunk/pkg/profiles/mosaic.conf |
---|
1,6 → 1,7 |
# vcs:conf: |
# vcs:desc: Tight, small, thumbnails |
# <http://p.outlyer.net/dox/vcs:example_configs> |
# $Id$ |
disable_timestamps=1 |
disable_shadows=1 |
height=160 |
/video-contact-sheet/trunk/pkg/profiles/black.conf |
---|
1,5 → 1,6 |
# vcs:conf: |
# vcs:desc: White-on-Black |
# $Id$ |
bg_contact=Black |
bg_heading=$bg_contact |
bg_sign=$bg_contact |
/video-contact-sheet/trunk/pkg/profiles/white.conf |
---|
1,5 → 1,6 |
# vcs:conf: |
# vcs:desc: Black-on-White profile |
# $Id$ |
bg_contact=White |
bg_heading=$bg_contact |
bg_sign=$bg_contact |
/video-contact-sheet/trunk/pkg/CHANGELOG |
---|
1,7 → 1,18 |
1.12.1: |
1.12.2 (2010-08-24): |
* BUGFIX: Fix cleanup of temporary files (regression since 1.11.2). [#167] |
Submitted by Jason Tackaberry. |
* FEATURES: |
- Added 'fg_all', 'bg_all' and 'font_all' config variables. [#156] |
- Added 'nonlatin_filenames' config variable. [#159] |
- Added identification for VP8 (WebM). [#166] |
* OTHER: |
- Print variable names in lowercase when using --generate. |
1.12.1 (2010-04-23): |
* BUGFIXES: |
- Workaround for cases in which GAWK uses comma as decimal separator. |
Any OS with GAWK 3.1.3 to 3.1.5 was affected (e.g. Debian Lenny) |
Any OS with GAWK 3.1.3 to 3.1.5 was affected (where the environment |
language uses commas, e.g. Debian Lenny with many European languages) |
- Don't try to go on in DVD mode with unreadable ISOs |
1.12: (2010-04-10) |
/video-contact-sheet/trunk/manpage.xml |
---|
0,0 → 1,382 |
<?xml version='1.0' encoding='UTF-8'?> |
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" |
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ |
<!-- |
$Id$ |
This file based on the default template for debian packages. |
Generation of man page: |
$ xmlto man manpage.xml |
Will generate vcs.1. |
View with: |
$ nroff -man vcs.1 | less |
or |
$ man vcs.1 |
To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections |
read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be |
found in the docbook-xsl-doc-html package. |
Validation can be done using: `xmllint -''-noout -''-valid manpage.xml` |
General documentation about man-pages and man-page-formatting: |
man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/ |
--> |
<!-- Fill in your name for FIRSTNAME and SURNAME. --> |
<!ENTITY dhfirstname "Toni"> |
<!ENTITY dhsurname "Corvera"> |
<!-- dhusername could also be set to "&dhfirstname; &dhsurname;". --> |
<!ENTITY dhusername "Toni Corvera"> |
<!ENTITY dhemail "outlyer@gmail.com"> |
<!ENTITY dhsection "1"> |
<!-- TITLE should be something like "User commands" or similar (see |
http://www.tldp.org/HOWTO/Man-Page/q2.html). --> |
<!ENTITY dhtitle "vcs User Manual"> |
<!ENTITY dhucpackage "VCS"> |
<!ENTITY dhpackage "vcs"> |
]> |
<refentry> |
<refentryinfo> |
<title>&dhtitle;</title> |
<productname>&dhpackage;</productname> |
<authorgroup> |
<author> |
<firstname>&dhfirstname;</firstname> |
<surname>&dhsurname;</surname> |
<contrib>VCS author.</contrib> |
<address> |
<email>&dhemail;</email> |
</address> |
</author> |
</authorgroup> |
<copyright> |
<year>2007-2010</year> |
<holder>&dhusername;</holder> |
</copyright> |
<legalnotice> |
<para>Permission is granted to copy, distribute and/or modify this |
document under the terms of the GNU Lesser General Public License, |
Version 2 or (at your option) any later version published by |
the Free Software Foundation.</para> |
</legalnotice> |
<edition>$Rev$</edition> |
</refentryinfo> |
<refmeta> |
<refentrytitle>&dhucpackage;</refentrytitle> |
<manvolnum>&dhsection;</manvolnum> |
</refmeta> |
<refnamediv> |
<refname>&dhpackage;</refname> |
<refpurpose>create contact sheets from videos</refpurpose> |
</refnamediv> |
<refsynopsisdiv> |
<cmdsynopsis> |
<command>&dhpackage;</command> |
<arg choice="opt"><option>options</option></arg> |
<arg choice="plain"><replaceable>FILE</replaceable></arg> |
<arg choice="opt"><replaceable>FILE</replaceable> |
<arg choice="opt"><replaceable>...</replaceable></arg> |
</arg> |
</cmdsynopsis> |
<cmdsynopsis> |
<command>&dhpackage;</command> |
<arg choice="opt"> |
<option>-n<parameter>20</parameter></option> |
<option>-c<parameter>4</parameter></option> |
</arg> |
<arg choice="plain"><replaceable>FILE</replaceable></arg> |
</cmdsynopsis> |
<cmdsynopsis> |
<command>&dhpackage;</command> |
<arg choice="opt"><option>--output=<parameter>OUTPUT1</parameter></option></arg> |
<arg choice="opt"><option>--output=<parameter>OUTPUT2</parameter></option></arg> |
<arg choice="opt"><option>...</option></arg> |
<arg choice="plain"><replaceable>INPUT1</replaceable></arg> |
<arg choice="opt"><replaceable>INPUT2</replaceable> |
<arg choice="opt"><replaceable>...</replaceable></arg> |
</arg> |
</cmdsynopsis> |
<cmdsynopsis> |
<command>&dhpackage;</command> |
<!-- Normally the help and version options make the programs stop |
right after outputting the requested information. --> |
<group choice="opt"> |
<arg choice="plain"> |
<group choice="req"> |
<arg choice="plain"><option>-h</option></arg> |
<arg choice="plain"><option>--help</option></arg> |
</group> |
</arg> |
<arg choice="plain"> |
<arg choice="plain"><option>--fullhelp</option></arg> |
</arg> |
</group> |
</cmdsynopsis> |
</refsynopsisdiv> |
<refsect1 id="description"> |
<title>DESCRIPTION</title> |
<!-- FIXME --> |
<para>This is a work in progress manual page for <command>&dhpackage;</command>, |
use <parameter>--help</parameter>, <parameter>--fullhelp</parameter> |
and the online documentation (located at <ulink url="http://p.outlyer.net/dox/vcs" />) |
for further usage instructions.</para> |
<para><command>&dhpackage;</command> is a program that creates a preview |
image from videos in a contact sheet-like format (i.e. captures from |
different frames in the video are placed in a mosaic).</para> |
<para>By default the output file will be named like the input file plus the |
png extension. Example: "<filename>file.avi</filename>" will produce |
a contact sheet in the file "<filename>file.avi.png</filename>".</para> |
<para>The default mode of operation is to obtain captures every five minutes in the |
video, so the amount of captures will vary with each file. The command-line |
argument <parameter>--numcaps</parameter> (<parameter>-n</parameter>) can be used |
to change this behaviour or alternatively a configuration file might |
be used to change the mode of operation (see <citerefentry> |
<refentrytitle>vcs.conf</refentrytitle> |
<manvolnum>5</manvolnum> |
</citerefentry>). |
</para> |
</refsect1> |
<refsect1 id="options"> |
<title>OPTIONS</title> |
<para>The program follows the usual GNU command line syntax, |
with long options starting with two dashes (`-'). A summary of |
options is included below.</para> |
<variablelist> |
<varlistentry> |
<term><option>-n <replaceable>number</replaceable></option></term> |
<term><option>--numcaps=<replaceable>number</replaceable></option></term> |
<listitem> |
<para>Fixes the number of captures to obtain. Changes the mode of operation |
to capture a fixed number of frames.</para> |
</listitem> |
</varlistentry> |
<varlistentry> |
<term><option>-i <replaceable>interval</replaceable></option></term> |
<term><option>--interval=<replaceable>interval</replaceable></option></term> |
<listitem> |
<para>Sets the interval between captures. Changes the mode of operation |
to capture at fixed intervals. The number of captures will depend |
on the video length.</para> |
<para>See <xref linkend="interval_format" /> for the allowed syntax.</para> |
</listitem> |
</varlistentry> |
<varlistentry> |
<term><option>-c <replaceable>number</replaceable></option></term> |
<term><option>--columns=<replaceable>number</replaceable></option></term> |
<listitem> |
<para>Number of columns in the contact sheet. The number of rows |
will depend on this and the number of captures (there's no |
way to set the number of rows).</para> |
</listitem> |
</varlistentry> |
<varlistentry> |
<term><option>-H <replaceable>height</replaceable></option></term> |
<term><option>--height=<replaceable>height</replaceable></option></term> |
<listitem> |
<para>Height of captures. Can be a number (of pixels) or a percentage |
(of the video height). By default the same size as the video is used.</para> |
<para>The width is derived from height and aspect ratio.</para> |
</listitem> |
</varlistentry> |
<varlistentry> |
<term><option>-o <replaceable>filename</replaceable></option></term> |
<term><option>--output=<replaceable>filename</replaceable></option></term> |
<listitem> |
<para>Name of output file. By default the video file name plus the output |
format is used (e.g. "<filename>video.avi.png</filename>" |
for "<filename>video.avi</filename>").</para> |
<para>If an extension is provided, it will define the output format, otherwise |
PNG will be used. I.e. <filename>sheet.jpg</filename> will produce |
a JPEG file while <filename>sheet</filename> and |
<filename>sheet.png</filename> will produce a PNG file.</para> |
</listitem> |
</varlistentry> |
<!-- |
<varlistentry> |
<term><option>-x <replaceable>t</replaceable></option></term> |
<term><option>- -xy=<replaceable>t</replaceable></option></term> |
<listitem> |
<para>DESC.</para> |
</listitem> |
</varlistentry> |
--> |
<varlistentry> |
<term><option>-h</option></term> |
<term><option>--help</option></term> |
<listitem> |
<para>Show summary of most common options.</para> |
</listitem> |
</varlistentry> |
<varlistentry> |
<term><option>--fullhelp</option></term> |
<listitem> |
<para>Show summary of all options.</para> |
</listitem> |
</varlistentry> |
</variablelist> |
</refsect1> |
<refsect1 id="files"> |
<title>FILES</title> |
<variablelist> |
<varlistentry> |
<term><filename>/etc/vcs.conf</filename></term> |
<listitem> |
<para>The system-wide configuration file to control the |
behaviour of <application>&dhpackage;</application>. See |
<citerefentry> |
<refentrytitle>vcs.conf</refentrytitle> |
<manvolnum>5</manvolnum> |
</citerefentry> for further details.</para> |
</listitem> |
</varlistentry> |
<varlistentry> |
<term><filename>${HOME}/.vcs.conf</filename></term> |
<term><filename>${HOME}/.vcs/vcs.conf</filename></term> |
<listitem> |
<para>The per-user configuration file to control the |
behaviour of <application>&dhpackage;</application>. See |
<citerefentry> |
<refentrytitle>vcs.conf</refentrytitle> |
<manvolnum>5</manvolnum> |
</citerefentry> for further details.</para> |
</listitem> |
</varlistentry> |
<varlistentry> |
<term><filename>${PWD}/vcs.conf</filename></term> |
<listitem> |
<para>The per-directory configuration file to control the |
behaviour of <application>&dhpackage;</application>. See |
<citerefentry> |
<refentrytitle>vcs.conf</refentrytitle> |
<manvolnum>5</manvolnum> |
</citerefentry> for further details.</para> |
</listitem> |
</varlistentry> |
</variablelist> |
</refsect1> |
<refsect1 id="interval_format"> |
<title>INTERVALS</title> |
<para> |
Intervals and timestamps can be specified in seconds or in a human-readable format |
that follows the syntax |
<replaceable>HOURS</replaceable>h<replaceable>MINUTES</replaceable>m |
<replaceable>SECONDS</replaceable>s.<replaceable>MILLISECONDS</replaceable> |
where each element is optional. |
See <ulink url="http://p.outlyer.net/dox/vcs:time_syntax" /> for more details. |
</para> |
<para> |
<segmentedlist> |
<segtitle>Example</segtitle><segtitle>Equivalence</segtitle> |
<segtitle>Standard time format</segtitle> |
<seglistitem> |
<seg>1h30m30</seg><seg>1h30m30s.00</seg><seg>1:30:30.00</seg> |
</seglistitem> |
<seglistitem> |
<seg>30</seg><seg>0h0m30s.00</seg><seg>0:00:30.00</seg> |
</seglistitem> |
<seglistitem> |
<seg>3600</seg><seg>1h0m0s.00</seg><seg>1:00:00.00</seg> |
</seglistitem> |
</segmentedlist> |
</para> |
</refsect1> |
<refsect1 id="environment"> |
<title>ENVIRONMENT</title> |
<variablelist> |
<varlistentry> |
<term><envar>TEMPDIR</envar></term> |
<listitem> |
<para>Fallback temporary directory when <filename>/dev/shm</filename> is not avaiable. |
Due to the big size of temporary files, it is recommended to use |
a temporary directory on a fast filesystem.</para> |
</listitem> |
</varlistentry> |
</variablelist> |
</refsect1> |
<refsect1 id="diagnostics"> |
<title>DIAGNOSTICS</title> |
<para>The default verbosity level will print <package>vcs</package>' progress |
and any errors or warnings on <filename class="devicefile">stderr</filename>.</para> |
<para><option>--quiet</option> can be used to reduce verbosity.</para> |
<para>The verbosity level and <filename class="devicefile">stderr</filename> can be |
controlled through configuration files, see <citerefentry> |
<refentrytitle>vcs.conf</refentrytitle> |
<manvolnum>5</manvolnum> |
</citerefentry>. |
</para> |
<para><command>&dhpackage;</command> provides some return codes, they follow |
the semi-standardised values defined in <filename>sysexits.h</filename>:</para> |
<segmentedlist> |
<segtitle>Code</segtitle> |
<segtitle>Diagnostic</segtitle> |
<seglistitem> |
<seg><errorcode>0</errorcode> (<errorcode>EX_OK</errorcode>)</seg> |
<seg>Program exited successfully.</seg> |
</seglistitem> |
<seglistitem> |
<seg><errorcode>64</errorcode> (<errorcode>EX_USAGE</errorcode>)</seg> |
<seg>Error in the arguments.</seg> |
</seglistitem> |
<seglistitem> |
<seg><errorcode>66</errorcode> (<errorcode>EX_NOINPUT</errorcode>)</seg> |
<seg>Can't access some input file or it has an incorrect format.</seg> |
</seglistitem> |
<seglistitem> |
<seg><errorcode>69</errorcode> (<errorcode>EX_UNAVAILABLE</errorcode>)</seg> |
<seg>Unsatisfied dependency.</seg> |
</seglistitem> |
<seglistitem> |
<seg><errorcode>70</errorcode> (<errorcode>EX_SOFTWARE</errorcode>)</seg> |
<seg>Internal inconsistency (bug).</seg> |
</seglistitem> |
<seglistitem> |
<seg><errorcode>73</errorcode> (<errorcode>EX_CANTCREAT</errorcode>)</seg> |
<seg>Error creating temporary or output files.</seg> |
</seglistitem> |
</segmentedlist> |
</refsect1> |
<refsect1 id="bugs"> |
<!-- Or use this section to tell about upstream BTS. --> |
<title>BUGS</title> |
<para>Recent versions of <package>ImageMagick</package>, <command>mplayer</command> and |
<command>ffmpeg</command> should be used |
for maximum compatibility.</para> |
<para>The upstream's <acronym>BTS</acronym> can be found |
at <ulink url="http://b.outlyer.net"/>.</para> |
</refsect1> |
<refsect1 id="see_also"> |
<title>SEE ALSO</title> |
<!-- In alpabetical order. --> |
<para><citerefentry> |
<refentrytitle>vcs.conf</refentrytitle> |
<manvolnum>5</manvolnum> |
</citerefentry>, <citerefentry> |
<refentrytitle>convert</refentrytitle> |
<manvolnum>1</manvolnum> |
</citerefentry>, <citerefentry> |
<refentrytitle>ffmpeg</refentrytitle> |
<manvolnum>1</manvolnum> |
</citerefentry>, <citerefentry> |
<refentrytitle>mplayer</refentrytitle> |
<manvolnum>1</manvolnum> |
</citerefentry></para> |
</refsect1> |
</refentry> |
Property changes: |
Added: svn:keywords |
+Rev Id Date |
\ No newline at end of property |
/video-contact-sheet/trunk/. |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /video-contact-sheet/branches/1.12.2:r422-431 |