All pastes #492688 Raw Edit

Untitled

public text v1 · immutable
·published 2007-05-17 10:54 UTC
rendered paste body
#!/bin/sh
audio=""
video=""
aspect=""
mp3=""
codec=""
rate=""
verb=1
if [ "$1" = "-r" ] ; then
    rate=1
    verb=0
    shift
fi
if [ "$1" = "-m" ] ; then
    mp3=m
    verb=0
    shift
fi

if [ "$1" = "-a" ] ; then
    audio=a
    verb=0
    shift
fi

if [ "$1" = "-v" ] ; then
    video=v
    verb=0
    shift
fi

if [ "$1" = "-vc" ] ; then
    video=v
    codec=1
    verb=0
    shift
fi

if [ "$1" = "-va" ] ; then
    video=v
    aspect=1
    verb=0
    shift
fi

id=`mplayer -vo null -ao null -frames 0 -identify "$@" 2>/dev/null | \
	grep "^ID" | \
	sed -e 's/[\`\\!$"]/\\&/g' | \
	sed -e '/^ID_FILENAME/ { s/^ID_FILENAME=\(.*\)/ID_FILENAME="\1"/g; }'`


if [ "$audio" = a ] ; then
    a=`echo "$id" | grep '^ID_AUDIO_NCH=' | sed s'/^ID_AUDIO_NCH=//'`
    if [ "$m" = 1 ] ; then
        echo 1
    else
        echo 2
    fi
fi
if [ "$mp3" = m ] ; then
    codec=`echo "$id" | grep '^ID_AUDIO_CODEC=' | sed s'/^ID_AUDIO_CODEC=//'`
    codec=`echo "$id" | grep '^ID_AUDIO_CODEC=' | sed s'/^ID_AUDIO_CODEC=//'`
    if [ "$codec" = mp3 ] ; then
        rate=`echo "$id" | grep '^ID_AUDIO_BITRATE=' | sed s'/^ID_AUDIO_BITRATE=//'`
        srate=`echo "$id" | grep '^ID_AUDIO_RATE=' | sed s'/^ID_AUDIO_RATE=//'`
        if [ `expr "$rate" % 1000` -eq 0 -a "$srate" = 44100 ] ; then
            echo `expr "$rate" / 1000`
        else
            echo 999999
        fi
    else
        echo 999999
    fi
fi
if [ "$rate" = 1 ] ; then
    rate=`echo "$id" | grep '^ID_VIDEO_FPS=' | sed s'/^ID_VIDEO_FPS=//'`
    echo "$rate"
fi
if [ "$video" = v ] ; then
    x=`echo "$id" | grep '^ID_VIDEO_WIDTH=' | sed s'/^ID_VIDEO_WIDTH=//'`
    y=`echo "$id" | grep '^ID_VIDEO_HEIGHT=' | sed s'/^ID_VIDEO_HEIGHT=//'`
    if [ "$codec" = 1 ] ; then
        vc=`echo "$id" | grep '^ID_VIDEO_CODEC=' | sed s'/^ID_VIDEO_CODEC=//'`
        vc=`echo "$id" | grep '^ID_VIDEO_CODEC=' | sed s'/^ID_VIDEO_CODEC=//'`
        if [ "$vc" = DIVX -o "$vc" = XVID -o "$vc" = ffodivx -a `expr "$x" % 8` -eq 0 -a `expr "$y" % 8` -eq 0 ] ; then
            r="${x}x${y}"
        else
            r=notdivx${x}x${y}.${vc}
        fi
    elif [ "$aspect" = 1 ] ; then
        as=`echo "$id" | grep '^ID_VIDEO_ASPECT=' | sed s'/^ID_VIDEO_ASPECT=//'`
        if [ "$as" != "1.7777" -a "$as" != "1.7778" -a "$as" != "1.3333" ] ; then
            as=""
        fi
        r="$x $y $as"
    else
        r="$x $y"
    fi
    echo "$r"
fi
if [ "$verb" = 1 ] ; then
    echo "$id"
fi