1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

SHELL - Quellcode

Discussion in 'Programmieren' started by Andi5555, Mar 30, 2006.

Thread Status:
Not open for further replies.
  1. Andi5555

    Andi5555 ROM

    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
     
Thread Status:
Not open for further replies.

Share This Page