For the final variation I wanted to explore the linear progression of the video. That is, up till now all of the variations have jumped randomly between different parts of the video. A skipping CD will always attempt to play from start to finish, even if it does skip occasionally. So, for this variation I wrote a script that created sequenced segments of varying lenghts (between 0.1-0.99 seconds) and then repeats them up to six times.
Observations
This variation, like the last one, resembles a skipping CD. By sequencing the samples I’ve lost some of the unpredictable, YTP-style edits but have gained more clarity. It has also been pointed out (thanks Rosa!) that a skipping CD doesn’t always skip. There may be periods of it working followed by glitches/skipping.
#Usage: ./movie_cut.sh /path/to/file.avi Clip-duration-in-seconds #e.g. ./movie_cut.sh 4.01 #start position startPos=0 filenumber=$(printf "%05d") while [ $filenumber -le 50 ] do #define random integer rand=$RANDOM #define random duration (up to 0.999 seconds) duration=$(echo "0.$rand") #get path of file path=$( readlink -f "$( dirname "$1" )" ) #get filename minus extension file=$(basename "$1") filename="${file%.*}" #cut the video avconv -i $1 -ss $startPos -t $duration -qscale 0 -ab 384k -y "$path"/"$filenumber"_"$filename"_cut.avi filenumber=`expr $filenumber + 1` filenumber=$(printf "%05d" $filenumber) #increment the start position of the next video by the duration of the previous video startPos=$(echo "scale = 2; $startPos + $(echo "0.$rand")" | bc | sed -e s/^/0/) done
The following script was then run on the output files from the previous script. It creates numbered diplicates of the source files.
#!/bin/bash for file in *.avi do #number of times to duplicate the file (between 1 and 6) max=$(shuf -i 1-6 -n 1) number=1 while [ $number -le $max ] do #get path of file path=$( readlink -f "$( dirname "$file" )" ) #get filename minus extension file=$(basename "$file") filename="${file%.*}" #get extension extension="${file##*.}" #copy the file to a new file cp $file "$path"/"$filename"_"$number".$extension number=`expr $number + 1` done done