iPhone

Januar 28, 2010

0

Video-Thumbnails für WD TV Live erstellen

Januar 17, 2010

Mein neues Spielzeug, der WD TV Live, kann Thumbnails (Vorschau-Bilder) zu einer Video-Datei anzeigen, wenn im selben Ordner eine jpg-Datei (am besten mit 120×180 Pixeln) mit dem selben Namen wie das Video liegt. Zur Datei video.mkv wird also z.B. video.jpg angezeigt.

Ich hab mir also ein Shell-Script besorgt, dass aus den Videos automatisch die Bilder generiert. Ich hab mich da für Sekunde 45 entschieden, weil bei einigen Filmen ganz am Anfang ja erstmal nutzlose Trailer der beteiligten Unternehmen laufen… Weil es vor a120llem bei 720p- oder 1080p-Videos ne Weile dauern kann, bis da ein einzelnes Bild generiert ist, hab ich dann (weil ich nicht so lang warten wollte ;) heute ein Shell-Script geschrieben, das vier Dateien auf einmal abarbeitet (ich hab nen Quad-Core). Das Script sollte man auch ohne allzu großen Aufwand anpassen können, dass es andere Aufgaben mit mehr oder weniger gleichzeitigen Jobs parallel abarbeitet (bald vielleicht auch meine Log-Files…).

Vorraussetzungen: ffmpeg, imagemagick

#!/bin/bash
#set -x

# file types:
TYPES='.+\.(mkv|avi|mpg|mpeg|mov|wmv|mp4|flv)$'
# make thumbnail at second ## of the movie
OFFSET=45
# number of parallel processes
WORKERS=4

NL='
'

queue_put() {
 queue_name=$1
 value=$2
 if [ -n "${!queue_name}" ]; then
 queue_val="${!queue_name}"
 eval "$queue_name=\"$queue_val$NL$value\""
 #read $queue_name <<< "$queue_val$NL$value"
 else
 read $queue_name <<< "$value"
 fi
}
queue_pop() {
 queue_name=$1
 var=$2

 queue="${!queue_name}"
 if [ -n "$queue" ]; then
 index=$(expr index "$queue" "$NL")

 read $var <<< "${queue%%$NL*}"
 if [ $index -eq 0 ]; then
 read $queue_name <<< ''
 else
 eval "$queue_name=\"${queue#*$NL}\""
#        read $queue_name <<< "${queue#*$NL}"
 fi
 fi
}

echo "searching for missing thumbnails..."

allfiles=$(find . -regextype posix-extended -iregex "$TYPES" -exec /bin/bash -c "file=\"{}\"; exit \$(test ! -f \"\${file%.*}.jpg\")" \; -printf '%p\n')

dir=$(mktemp -d)

work() {
    echo "worker $workerid is starting up..."
    sleep .25

    pipe="$dir/job$workerid"
    while [ -p "$pipe" ]; do
        echo READY > "$pipe"
        read file < "$pipe"
        if [ "$file" = "DONE" ]; then
            echo "worker $workerid is shutting down."
            exit 0
        fi

        thumb=${file%.*}.jpg

        echo
        echo
        echo
        echo "worker $workerid processing $file..."
        ffmpeg -itsoffset -$OFFSET -i "$file" -vcodec mjpeg -vframes 1 -an -f rawvideo -y -v -1 "$thumb"
        mogrify -resize 120x180 "$thumb"
    done
    return 0
}

masterpid=$$

workerid=0
workers=( )
while [ $workerid -lt $WORKERS ]; do
    mkfifo "$dir/job$workerid"
    work &
    workers[$workerid]=$!

    let workerid++
done

sleep 3
while [ -n "$allfiles" ]; do
    workerid=0
    while [ -n "$allfiles" -a $workerid -lt $WORKERS ]; do
        pipe="$dir/job$workerid"
        if [ -p $pipe ]; then
            response=$(cat < $pipe)
             if [ "$response" = "READY" ]; then
                 queue_pop allfiles file
                 echo $file > "$pipe"
            fi
        fi
        let workerid++
    done

    sleep .25
done

workerid=0
while [ $workerid -lt $WORKERS ]; do
    cat "$dir/job$workerid" > /dev/null
    echo DONE > "$dir/job$workerid"
    wait ${workers[$workerid]}

    let workerid++
done

rm -rf "$dir"

Übrigens: Ordnern kann man mit einem folder.jpg ein Bild zuordnen.

0

Facharbeit

Januar 31, 2009

Da ich weiß, dass darauf mindestens eine Person gewartet hat, und das schon mehr ist als bei den meisten der (viel zu seltenen) Postings hier, kommt hier jetzt also ohne lange Einleitung meine Facharbeit…

Thema: Numerische Verfahren zur Nullstellenberechnung (mit Computerereinsatz)

Bitte auf keine gefundene Fehler hinweisen, sie ist eh schon abgegeben und so muss ich mir (zumindest bis zur mündlichen Prüfung) keinen unnötigen Kopf drum machen.

PS: Die Quelltexte stehen aus alter Tradition MPL/GPL/LGPL lizenziert. Die Arbeit selbst unter der Creative Commons Namensnennung-Weitergabe unter gleichen Bedingungen 3.0 Deutschland Lizenz.

0

Wohooo!

Januar 7, 2009

0

Kommentare gesperrt

Juli 6, 2008

ich bin die nächste Woche nicht zu Hause. Weil hier ständig neuer Kommentar-Spam eintrudelt, sind Kommentare (und Track-/Pingbacks) bis ich wieder da bin gesperrt.

System of a Down – War?

2

Mein PR ist zu hoch… (2)

Mai 9, 2008

gerade war Großreinemachen angesagt. Alle Kommentare mit einer kommerziellen Homepage sind rigoros rausgeflogen. Auch wenn da jetzt vielleicht ein paar Selbstgespräche rausgekommen sind.

Die Ärzte – Feminin

6

Neuer PC…

April 25, 2008

kann der nich schon heute da sein?

  1. Cooler Master Centurion 5 silber/sw (CAC-T05-UW)
  2. Intel Core 2 Quad Q9300 4x 2.50GHz 2x 3MB Tray
  3. Gigabyte GA-EP35-DS4, P35 S775
  4. Scythe Ninja SCNJ-1100 Plus Rev.B (SCNJ-1100P)
  5. 2x Aeneon DIMM 2048MB PC2-6400U CL5 (DDR2-800)
  6. Samsung SpinPoint T166 500GB SATA II (HD501LJ)
  7. Samsung SH-S203D SATA schwarz bulk (SH-S203D)
  8. XFX 8800 GTX 600M Extreme 768MB (PV-T80F-SHE9)
  9. 2x Scythe S-FLEX 120mm 8,7dB(A) (SFF21D)
  10. Corsair Netzteil VX 550W ATX (CMPSU-550VXEU)

oder: hätte DHL es nicht in der halben Stunde, in der ich zu Hause war, probieren können?

Ramones – Poison Heart

8

(Grund-)Gesetz(e)? Wozu das denn?

Februar 18, 2008

Super. Wenn eine Behörde irgendwas machen will, aber nicht darf, weil es gegen Gesetze oder gar gegen das Grundgesetz verstoßen würde, dann wissen wir seit letzter Woche, dass sie nur beim BND anklopfen, lieb fragen und vielleicht das ganze noch bezahlen muss. Der erledigt dann im Rahmen der “Amtshilfe” die Drecksarbeit, und so ist die illegale Aktion dann plötzlich legal. Weil es hat ja nicht die Behörde was illegales gemacht, sondern der BND. (Und der darf das.)

Nun stellen wir uns mal alle vor, was passiert, wenn da nicht Steuerbehörden sondern Ermittlungsbehörden Hilfe benötigen - wahrscheinlich zur Terrorverfolgung - und freuen uns auf eine rosige Zukunft hier in Deutschland. Da braucht man gar keine Stasi mehr einführen.

Update: Mir fällt gerade auf, dass Terrorismus bereits zu den Aufgabengebieten eines BND gehört. Da können sie also schon Blödsinn anstellen, wenn sie wollen und brauchen niemand anderen dazu. Diesen Einschub also einfach ignorieren…

Update 2: Zum Thema Terrorismus fällt mir gerade noch ein Artikel bei Telepolis ein. der zwar irgendwie extrem nach Verschwörungstheorie klingt, es aber andererseits zu Telepolis geschafft hat…

2

Mein PR ist zu hoch…

Januar 15, 2008

das mit dem “Danke für die tollen Informationen”-Spam nimmt echt Überhand.

6

Organize Search Engines 1.1.1 Preview 1

November 24, 2007

organize-search-engines_1.1.1pre.xpi

Änderungen:

  • kein Crash mit Context Search und Menu Editor
  • Wiederherstellen von Suchmaschinen und Klicken auf Abbrechen, bricht wirklich ab
  • keine Leerzeichen in Schlüsselwörtern
  • Italienische und Ungarische Übersetzungen
  • Wenn Suchmaschinen aus einem Ordner verschoben und dieser dann gelöscht wird, werden die Suchmaschinen nicht mit-löschen
  • Löschen von Suchmaschinen etwas umgearbeitet

3