This is gonna be the official thread for the "Workflow Compilation".
What is it ?
This is a video compiling a bunch of screencast from the nixers members, all performing the same task, but using their personnal setup.
this would result in a compilation showing the personnal workflow of each participant, and setting a comparison point between them.
Can I participate ?
Sure ! The more videos we get, the better. Just post your submission and we'll add it !
What are the rules ?
1. Nixers will have to perform the tasks in the exact order they are listed (see below).
2. Nixers must use a single monitor for the screencast
3. Nixers' screen resolution should be above 1280x720
4. Nixers submissions should be in webm format
5. Nixers should submit their compilation before 2015-02-14 at midnight (UTC).
How can I record the video ?
The command to use is the following (adjust the resolution to fit your actual setup):
For future references, the scripts used to create the compilation:
Resize all videos to the same size
Code:
#!/bin/sh
#
# resvid - 2015 (c) wtfpl
# resize a bunch of videos to the same size
# fuck you, ffmpeg banner
exec 2>/dev/null
# where to put the resulting videos
OUTDIR=$PWD/resized
# size of the final videos
SIZE=1440:900
# create the directory for edited videos
test ! -d $OUTDIR && mkdir -p $OUTDIR
for IN in $@; do
printf "%s ... " "$(getname $IN)"
ffmpeg -i $IN -vf "scale=$SIZE" -b:v 5M -y $OUTDIR/$IN
printf "OK\n"
done
Add fading effects and text to the videos
Code:
#!/bin/sh
#
# fadevid - 2015 (c) wtfpl
# add fading effect, and an overlay text to each video given as parameter
# fuck you, ffmpeg banner
exec 2>/dev/null
# where to put the resulting videos
OUTDIR=$PWD/faded
# Number of frames to use for fading effect
FADELEN=30
# the font to use to draw text
FONTPARAM="font=BitMicro01:shadowx=4:shadowy=4:fontcolor=white:fontsize=28:x=w-tw-28:y=h-th-28"
# output the name of the vid, without extension (and all lowercase)
getname() {
echo $1 | sed 's/\(.*\)\.[^.]*/\L\1/'
}
# get the number of frames of the video (used for fade out effect)
getframes() {
ffprobe -count_frames -show_entries stream=nb_read_frames $IN|cut -sd= -f2
}
# create the directory for edited videos
test ! -d $OUTDIR && mkdir -p $OUTDIR
# add fading effect + hover text to all videos, and put them in a subdir
for IN in $@; do
printf "%s ... " "$(getname $IN)"
NBFRAME=$(getframes)
VFILTER="fade=in:0:$FADELEN"
VFILTER="$VFILTER,fade=out:$((NBFRAME - FADELEN)):$FADELEN"
VFILTER="$VFILTER,drawtext=$FONTPARAM:text=$(getname $IN)"
# 5Mib bitrate looks like a sane default
ffmpeg -i $IN -vf "$VFILTER" -b:v 5M -y $OUTDIR/$IN
printf "OK\n"
done
#!/bin/sh
#
# catvid - 2015 (c) wtfpl
# concatenate videos in an arbitrary order
# run the script in a directory containing all the videos
INTRO=${INTRO:-intro.webm}
test -z "$1" && echo "I can't do that." >&2 && exit 1
# fuck you, ffmpeg banner
exec 2>/dev/null
# create a list compatible with the "concat" demuxer of ffmpeg
# don't forget to put the intro at the top
ls -1 | grep -v $INTRO > list.txt
sed -i "s/^.*$/file '&'/" list.txt
sed -i "0 ifile '$INTRO'" list.txt
# concatenate to $1
ffmpeg -f concat -i list.txt $1