third_party_ffmpeg/tools/jauche_sortierer.sh
Michael Niedermayer bf2d43de3f Tool to analyze multimedia files and create directories and symlinks for the
container type and codecs in each file that point back to the file.

Originally committed as revision 25428 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-09 19:52:06 +00:00

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