ffmpeg/tools/jauche_sortierer.sh

22 lines
681 B
Bash
Executable File

#!/bin/sh
#GPL
#TODO
#add pixelformat/sampleformat into the path of the codecs
FFP=../ffprobe
TMP=$(mktemp) || exit 1
TARGET=$1
shift
for v do
BASE=$(basename $v)
echo $v | egrep -i '(public|private)' >/dev/null && echo Warning $v may be private
$FFP $v 2> $TMP
FORM=$((grep 'Input #0, ' -m1 $TMP || echo 'Input #0, unknown') | sed 's/Input #0, \([a-zA-Z0-9_]*\).*/\1/' )
mkdir -p $TARGET/container/$FORM
ln -s $v $TARGET/container/$FORM/$BASE
eval $(grep 'Stream #0\.[^:]*: [a-zA-Z0-9][^:]*: [a-zA-Z0-9]' $TMP | sed 's#[^:]*: \([a-zA-Z0-9]*\)[^:]*: \([a-zA-Z0-9]*\).*#mkdir -p '$TARGET'/\1/\2 ; ln -s '$v' '$TARGET'/\1/\2/'$BASE' ; #')
done
rm $TMP