AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte RIFF-Parser
Thema durchsuchen
Ansicht
Themen-Optionen

RIFF-Parser

Ein Thema von Daniel · begonnen am 18. Jul 2006
Antwort Antwort
Daniel
Registriert seit: 30. Mai 2002
Für ein aktuelles Projekt muss ich Informationen aus RIFF-Dateien auslesen. "RIFF" ist ein Containerformat, welches u.a. von WAVE-Dateien oder AVI-Dateien genutzt wird. Aber auch Anwendungen wie zum Beispiel Corel-DRAW! (CDR) speichern ihre Daten unter Verwendung des RIFF-Formates ab.

Anbei eine Klasse, welche RIFF-Dateien parst und in ihre logischen Bestandteile -sog. "Chunks"- zerlegt. Zur Demonstration wird aus den Daten ein Treeview erstellt. Die Chunks per se sind jetzt noch nicht so spannend, diese Klassen sind eine Vorarbeit für meinen AVI-Parser, den ich in ein paar Tagen vorstellen werde. Mit ihm können aus AVI-Dateien Metadaten wie Anzahl Frames, Auflösung und Keyframes etc. ausgelesen werden - und das auf Basis reiner Datei I/O-Operationen.

Der Code ist gut dokumentiert und weitestgehend selbsterklärend. Eines vielleicht: Im Beispiel-Programm gibt es u.a. folgende Anweisung:

riff.SkipType( 'movi' ); Diese Zeile weist den Parser an, die eigentlichen Multimedia-Daten, also die Frames, nicht zu parsen. RIFF-intern wird dieser Block mit dem Typ "movi" abgekürzt. Die Methode "SkipType" füllt eine interne Liste, kann also mehrfach aufgerufen werden und so bei Bedarf auch mehrere Typen definieren, die beim Parsen übergangen werden sollen.
Wenn man tatsächlich nur an den Meta-Daten interessiert ist, dann wäre es überflüssig, ggf. Tausende an einzelnen Frames einzulesen.
Angehängte Dateien
Dateityp: zip binary_148.zip (227,3 KB, 44x aufgerufen)
Dateityp: zip source_150.zip (16,6 KB, 61x aufgerufen)
mit Grüßen aus Hamburg
 
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz