next up previous contents
Next: ``Finetuning:'' Up: Vorgehensweise Previous: Vorbereitung

Erzeugung des MPEG-Files:

Als MPEG-Decoder habe ich den Berkeley MPEG-1 Video-Encoder mpeg_encode eingesetzt (Quelle: ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/mpeg/encode/), weil er durch die Vielzahl an Parametern große Einflußmöglichkeiten auf die Qualität des Resultats erlaubt. Dieser Aspekt ist besonders wichtig bei Visualisierungsprojekten, wo die Vorgabe der Kompressionsrate eher sekundär ist.

Das Programm mpeg_encode wird durch ein Parameter-File beliebigen Namens gesteuert. Als Beispiel diene das folgende File io.param für eine Folge von 36 Bildern der Größe 200x200:

# standard values for Q and pattern

PATTERN                 IBBPBBPBBPBBPBB
FORCE_ENCODE_LAST_FRAME
OUTPUT                  io.mpg
GOP_SIZE                15
SLICES_PER_FRAME        1

BASE_FILE_FORMAT        YUV
YUV_SIZE                200x200
YUV_FORMAT              ABEKAS
INPUT_CONVERT           *
INPUT_DIR               .
INPUT
io*.yuv  [001-036]
END_INPUT

# quality parameters

IQSCALE                 8
PQSCALE                 10
BQSCALE                 12

# motion vector search parameters

PIXEL                   HALF

RANGE                   10

PSEARCH_ALG             LOGARITHMIC
BSEARCH_ALG             CROSS2

REFERENCE_FRAME         ORIGINAL
Ist man mit Standard-Ergebnissen zufrieden, muß man nur die folgenden Paramter anpassen:
     YUV_SIZE      200x200     Breite x Höhe der Eingabe-Daten   
     OUTPUT        io.mpg      Name des Ergebnis-Files
     INPUT_DIR     .           Verzeichnis der Eingabe-Daten
     INPUT
        io*.yuv  [001-036]     Namen der Eingabe-Daten 
                                     (io001.yuv .. io036.yuv)
     END_INPUT
Man erhält dann mit dem Kommando
     mpeg_encode io.param
das fertige MPEG-File. Die Ausgabe ist recht umfangreich und enthält neben Informationen zum Fortgang der Wandlung auch Statistik-Daten zum erzeugten MPEG-File. Daher lenkt man sie zweckmäßigerweise gleich um:
    mpeg_encode io.param | tee mpeg_encode.out
Das erzeugte MPEG-File kann man sich nun mit jedem MPEG-Viewer ansehen, z.B. mit dem von Berkeley (Quelle: ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/mpeg/play/)
     mpeg_play -owncm -quality on -framerate 5 io.mpg &


Tom Schramm