SHELL - Quellcode

Dieses Thema im Forum "Programmieren" wurde erstellt von Andi5555, 30. März 2006.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Andi5555

    Andi5555 ROM

    Registriert seit:
    30. März 2006
    Beiträge:
    1
    Hallo,

    ich habe einen Quellcode vorliegen, der in Shell geschrieben wurde.
    Es ist eine kleines Programm, dass unter Unix gelaufen ist und nun auf WinXP laufen soll. Deshalb soll ich es in C# umschreiben. Nun müsste ich aber erst einmal wissen, was das Programm genau macht.
    Fakt ist, das es Video Dateien nacheinander aus einem Ordner dem Winows Media Encoder übergeben soll und diesen auch automatisch mit vorgefertigten Profilen laden soll.

    Kennt sich jemand mit der Programmiersprache aus und könnte mir ein paar Kommentare zu dem folgenden Programm schreiben.
    Ich kenne mich leider mit der Programmiersprache SHELL nicht aus.

    Danke im Vorraus.

    Gruß
    Andi

    ------------------------------------------------------------------------------
    Quellcode HDV.txt


    WMCMD="c:\Programme\Windows Media-Komponenten\Encoder\WMCmd.vbs"
    PROFILEDIR="Profiles"

    PATH=".:$PATH"

    ext="${FILE##*.}"
    [ "$ext" == "avi" ] || exit 0
    base="${FILE##*/}"
    base="${base%.*}"
    dir="${FILE%/*}"

    # Trimed-Tree ?
    if [[ "$dir" == */Video ]] ; then
    prjdir="${dir%/*}"
    AVI="$FILE"
    MTA="$prjdir/$base.mta"
    ASFDIR="$prjdir/Web/$base"
    ASFBASE="$base"
    LOG="$prjdir/$base.log"
    MOVE="$prjdir"
    else
    AVI="$FILE"
    MTA="$dir/$base.mta"
    ASFDIR="$dir"
    ASFBASE="$base"
    LOG="$dir/$base.log"
    MOVE="$dir/$base.*"
    fi

    # check other files and dirs
    [ -e "$MTA" ] || exit 1
    [ -d "$ASFDIR" ] || exit 1

    # write log
    exec >>"$LOG"
    exec 2>&1

    # upload completed?
    open-excl "$AVI" || exit 1
    open-excl "$MTA" || exit 1

    profiles="$PROFILEDIR/"*

    # read metadata
    while read ln ; do
    case "$ln" in
    TITLE=*) title="${ln#*=}";;
    AUTHOR=*) author="${ln#*=}";;
    COPYRIGHT=*) copyright="${ln#*=}";;
    PROFILES=*) profiles="${ln#*=}";;
    esac
    done < "$MTA"

    # encode
    for profile in $profiles ; do
    if ! [ -e "$profile" ] ; then
    echo "can not read profile $profile"
    exit 1
    fi
    suffix="${profile%.prx}"
    suffix="${suffix##*/}"
    echo "$AVI @ $suffix"
    nice cscript "$WMCMD" -loadprofile "$profile" -v_preproc 1 -pixelratio 4 3 \
    -title "$title" -author "$author" -copyright "$copyright" \
    -input "$AVI" -output "${ASFDIR}/${ASFBASE}_$suffix.asf"
    done

    if [ -n "$MOVE" ]; then
    mv "$MOVE" done
    fi

    exit 0
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen