DVD SVCD Forum Foren-Übersicht
FAQFAQ     SuchenSuchen     MitgliederlisteMitgliederliste     Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen     ProfilProfil     LoginLogin      RegistrierenRegistrieren 

DVD SVCD Forum Foren-Übersicht -> andere Encoder & Codecs
AVIHeaderViewer
Gehe zu Seite Zurück  1, 2, 3 Neue Antwort erstellen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
SVCDFan 
WM-Tipp König 2006


Anmeldungsdatum: 20.09.2001
Beiträge: 7567

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 40 - Verfasst am: Mo Aug 26, 2002 22:30    Titel: Antworten mit Zitat

Hallo DV User

Zitat:

Was die VDL 2.02 Files betrifft, das könnten auch "illegale" Type-2 AVIs sein.

Wenn schon, dann sind es "illegale" Type-1 AVIs. Zwar spielt der MediaPlayer (7.01) ihn ab, zeigt aber Audio als Medientyp an.

Zitat:

Die 360x288 könnten auch an der Einstellung des MediaPlayers bzw. des MS-CoDecs liegen. Wenn der MP beim Doppelklick das File nicht in voller Pracht anzeigt, dann hilft nur, die Settings zu verändern. Mit MP6.4 einfach rechte Maustaste, Settings, DV-CoDec, 720x576 wählen, Save (macht anscheinend nichts) und Abbruch. Beim nächsten Dopelklick sollte es dann klappen.

MP 7.01 und MediaStudio 6.0 (auch mein Viewer) zeigen alles richtig an, nur VDL 2.02 behauptet eben dieses "halbe" Format. Ebenso dein Demofile dv-t1-ms.avi!
_________________
Gruß SVCDFan
TW 



Anmeldungsdatum: 08.06.2001
Beiträge: 847
Wohnort: Norddeutschland

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 41 - Verfasst am: Di Aug 27, 2002 22:02    Titel: Antworten mit Zitat

Zitat:
Die Unterscheidung zwischen Type-1 und Type-2 konnte ich mangels Dateien nicht prüfen.

Wenn Du Dir ScLive herunterlädst (www.scenalyzer.com), der kann TYP1 und TYP2 schreiben. Ist eine Einstellungssache.
Und die Demoversion schreibt bloß ein Logo in das Video hinein. Das ist ja aber für Deinen Test egal.

Finde ich toll, daß Du Deine Programmierambitionen so nutzt, daß wir alle was davon haben!

Viele Grüße
Wesi
SVCDFan 
WM-Tipp König 2006


Anmeldungsdatum: 20.09.2001
Beiträge: 7567

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 42 - Verfasst am: Di Aug 27, 2002 23:01    Titel: Antworten mit Zitat

@Wesi

Vielen Dank für den Hinweis. Sclive wäre noch eine weitere Quelle, die DV AVIs erzeugen kann. Ich werde mal das anschauen.

Inzwischen habe ich die Umschaltung der Darstellung implementiert, so daß ich nun die Möglichkeit habe zwischen den Werten, die tatsächlich in der Datei stehen, und den "interpretierten" Angaben zu vergleichen. Da werde ich mal mit allen verfügbaren AVI's durchprobieren.
_________________
Gruß SVCDFan
SVCDFan 
WM-Tipp König 2006


Anmeldungsdatum: 20.09.2001
Beiträge: 7567

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 43 - Verfasst am: Fr Aug 30, 2002 18:21    Titel: Antworten mit Zitat

Zur Info: AVIHeaderViewer V 0.16 ist nun verfügbar.

Mehr siehe im Thread :  Thema: AVIHeaderViewer V0.16, verfügbar
_________________
Gruß SVCDFan
AndreasE 
Autor von AVCutty


Anmeldungsdatum: 21.03.2002
Beiträge: 72
Wohnort: Krefeld

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 44 - Verfasst am: Di Sep 03, 2002 8:43    Titel: Antworten mit Zitat

Hallo,

hier gibt es ein Programm, das auch Infos zu AVI-Dateien ausgeben kann: http://kibus1.narod.ru/sof/abcavi/
Evtl. kann es ja als Anregung und zum Gegenchecken dienen.

@SVCDFan:

Ich finde es wirklich gut, dass Du Dir diese Arbeit machst. Ich kann gut nachvollziehen, wieviel Zeit in sowas reinfliessen kann...

Andreas
_________________
Andreas
www.avcutty.de
SVCDFan 
WM-Tipp König 2006


Anmeldungsdatum: 20.09.2001
Beiträge: 7567

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 45 - Verfasst am: Di Sep 03, 2002 9:34    Titel: Antworten mit Zitat

Hallo AndreasE

Danke für den Link. Ich werde das mal anschauen. Natürlich bin ich davon ausgegangen, daß sicher das jemand sowas programmiert hat.

Sehe gerade, hat noch einige Links zu Dokumentationen, mal sehen, ob da was interessantes gibt.

Das Programm scheint zusätzlich den Header abändern zu können. An sowas ähnlich hatte ich auch schon überlegt, andererseits, wer will schon AVI Header patchen. Was eher interessant sein, wäre die Möglichkeit einen "kaputte" AVI Datei einigermassen wieder zu "reparieren".

Zur Zeit bin noch dabei, das Programm intern zu strukturieren, so daß einige Module für andere Zwecke wiederverwertbar sind.
_________________
Gruß SVCDFan
AndreasE 
Autor von AVCutty


Anmeldungsdatum: 21.03.2002
Beiträge: 72
Wohnort: Krefeld

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 46 - Verfasst am: Di Sep 03, 2002 16:00    Titel: Antworten mit Zitat

Zitat:
Sehe gerade, hat noch einige Links zu Dokumentationen, mal sehen, ob da was interessantes gibt.


Dachte mir schon, dass Du da evtl. nich was findest.  

Zitat:
Was eher interessant sein,  wäre die Möglichkeit einen "kaputte" AVI Datei einigermassen wieder zu "reparieren".


Stimmt. Ich habe z.B. schon mehrmals in den NG's gelesen, dass jemand eine Avidatei bis zu einem bestimmten Frame lesen kann. Dort gibt es dann einen Fehler. Wenn man die Frameanzahl auf genau diesen Wert setzen koennte, koennte man die Datei wenigstens bis zu diesem Frame retten.

Zitat:
Zur Zeit bin noch dabei, das Programm intern zu strukturieren, so daß einige Module für andere Zwecke wiederverwertbar sind.


Du hast/kennst nicht zufällig ein paar schöne kleine Klassen, die (OpenDml)Avidateien lesen/schreiben können (ausser die in VirtualDub)? Ich nehme mal an, dass Du "nur" die für Dich relevanten Tags ausliesst. Oder?

Tschüss,
Andreas
_________________
Andreas
www.avcutty.de
SVCDFan 
WM-Tipp König 2006


Anmeldungsdatum: 20.09.2001
Beiträge: 7567

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 47 - Verfasst am: Di Sep 03, 2002 16:28    Titel: Antworten mit Zitat

Hallo AndreasE

Ich habe zwar eine Klasse "gebastelt", die liest aber mit eigener Methode die Tags (chunks) ein und ich werte nur die aus, die ich moment brauche. Ich kann aber jederzeits um weitere erweitern, da die chunks an sich definiert und abgeschlossen sind, d.h. der nächste chunk ist "einfach" zu finden. Für Auswertung diverser chunks nehme ich teilwese die header files von C++, andererseits habe ich auch eigene (aus Dokumentation heraus). Ich verwende zum Lesen der AVI Dateien mit Absicht eine eigene Routine, um nicht in irgendwelche Abhängigkeiten bei "fertiger" Funktionen zu gelangen, z.B. wird sicherlich eine AVIOpen Funktion meckern, wenn er nicht den notwendigen Codec hat

Zu Open DML muß ich erst noch das durchlesen, ist aber letztendlich eine Erweiterung zum bestehenden AVI Header. Mal sehen, was ich noch davon verwenden kann.
_________________
Gruß SVCDFan
SVCDFan 
WM-Tipp König 2006


Anmeldungsdatum: 20.09.2001
Beiträge: 7567

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 48 - Verfasst am: Di Sep 03, 2002 16:43    Titel: Antworten mit Zitat

Hallo AndreasE,

Zitat:

Stimmt. Ich habe z.B. schon mehrmals in den NG's gelesen, dass jemand eine Avidatei bis zu einem bestimmten Frame lesen kann. Dort gibt es dann einen Fehler. Wenn man die Frameanzahl auf genau diesen Wert setzen koennte, koennte man die Datei wenigstens bis zu diesem Frame retten.

Genau an sowas dachte ich auch. Der schwierige Teil ist aber der Indexteil (der auch wohl am Ende sein kann?), muß neu aufgebaut werden.
_________________
Gruß SVCDFan
AndreasE 
Autor von AVCutty


Anmeldungsdatum: 21.03.2002
Beiträge: 72
Wohnort: Krefeld

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 49 - Verfasst am: Di Sep 03, 2002 17:08    Titel: Antworten mit Zitat

Ich greife auf AVI-Dateien zur Zeit über VfW zu. Da komme ich nicht so direkt mit dem AVI-Format in Kontakt. Aber alle AVI's die ich mir bisher im HexViewer angesehen habe, hatten den Index am Ende. Das wir auch durch folgenden Auszug aus der MS-Doku bestaetigt (jedenfalls koennte man den letzten Satz so verstehen).

Zitat:
The LIST chunks and the index chunk are subchunks of the RIFF 'AVI ' chunk. The 'AVI ' chunk identifies the file as an AVI RIFF file. The LIST 'hdrl' chunk defines the format of the data and is the first required LIST chunk. The LIST 'movi' chunk contains the data for the AVI sequence and is the second required LIST chunk. The 'idx1' chunk is the index chunk. AVI files must keep these three components in the proper sequence.


Ich denke daher, der Index _muss_ am Ende sein. Und somit muesste man ihn auch komplett neu generieren. Aber wenn es einfach wäre, könnte es ja jeder...  ;)

Andreas
_________________
Andreas
www.avcutty.de
SVCDFan 
WM-Tipp König 2006


Anmeldungsdatum: 20.09.2001
Beiträge: 7567

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 50 - Verfasst am: Di Sep 03, 2002 17:29    Titel: Antworten mit Zitat

Hallo AndreasE,

Zitat:

* RIFF('AVI'
*      LIST('hdrl'
*    avih(<MainAVIHeader>)
*                  LIST ('strl'
*                      strh(<Stream header>)
*                      strf(<Stream format>)
*                      ... additional header data
*            LIST('movi'
*        { LIST('rec'
*            SubChunk...
*         )
*            | SubChunk } ....    
*            )
*            [ <AVIIndex> ]
*      )


Ja, so würde ich auch verstehen, daß der Index am Ende ist.
_________________
Gruß SVCDFan
AndreasE 
Autor von AVCutty


Anmeldungsdatum: 21.03.2002
Beiträge: 72
Wohnort: Krefeld

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 51 - Verfasst am: Di Sep 03, 2002 21:07    Titel: Antworten mit Zitat

Hallo SVCDFan,

mir ist da noch was eingefallen: Ist der Index-Chunck nicht optional? (Ich kann das gerade nicht nachsehen) Wenn ja, dann koenntest Du ihn ja einfach weglassen. Das Einlesen der Datei waere dann was die Performance angeht nicht optimal, aber das waere ja egal. Hauptsache man bekaeme die Datei soweit moeglich wieder in irgendeinem Programm gelesen.

Das Du die Leseroutinen selber geschrieben hast ist auf jeden Fall von Vorteil. Gerade bei inkorrekten Dateien (wie Du ja schon sagst). Ich habe ja auch mit den Unzulänglichkeiten von VfW zu kämpfen (max 2GB und bei OpenDml sogar nur max. 1GB). Ich sehe mich zur Zeit nach einer anderen Lösung um. Selber Lesen/Schreiben ist sicherlich der Königsweg, aber  da ich mich beruflich auch schon ständig mit Dateiformaten rumschlage, habe ich keine grosse Lust, dass in meiner Freizeit auch noch zu tun. Im Augenblick sehe ich mir DirectX an. Für meinen Fall sollte das reichen, da ich von korrekten AVI-Dateien ausgehe.

Andreas
_________________
Andreas
www.avcutty.de
DV User 



Anmeldungsdatum: 19.07.2001
Beiträge: 4084
Wohnort: Penzberg

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 52 - Verfasst am: Di Sep 03, 2002 21:37    Titel: Antworten mit Zitat

Hallo zusammen,

der index-Chunk steht keineswegs am Ende des kompletten AVIs (bzw muß dort stehen), sonden zumindest bei OpenDML AVIs (sprich >2GB) am Ender jeder 2GB (oder war es sogar am Ende jedes GBs?). Mehr kann man mit den steinzeitlichen 4 Byte pro Index ja auch nicht adressieren.

Falls nur der bzw. die Index-Chunks defekt sind ist es am einfachsten, die Tags aller verbliebenen durch "JUNK" zu ersetzen. Danach sieht das File so aus, als ob es keinen Index hat. Und jede vernünftige SW generiert sich dann den Index selber, so sie einen Index braucht.

Andreas, als weiteren Quelltext zum Lesen/Schreiben von OpenDVL-AVIs (allerdings wohl nur für DV-Daten getestet) kannst Du Dir mal DVGRAB (bzw. KINO) ansehen:
http://www.schirmacher.de/arne/dvgrab/index_e.html

Ich hab' zwar schon lange nicht mehr dort hereingeschaut, aber Arne erzeugt damit unter Linux konforme DV-AVIs.

Gruß DV User
SVCDFan 
WM-Tipp König 2006


Anmeldungsdatum: 20.09.2001
Beiträge: 7567

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 53 - Verfasst am: Di Sep 03, 2002 22:44    Titel: Antworten mit Zitat

Danke für eure Hinweise. Ich werde das mal anschauen, aber erst lese ich mal das über Open DML durch.

Parallel dazu werde ich mein Programm dahingehend erweitern, daß alle chunks bis zum "movi" zumindest die "Kennung" und eventuell die Größe angibt. So können wir sehen was zumindest noch im Header steht.

Die Dateigrößenbeschränkung habe ich noch garnicht beachtet, ist auch erstmal nicht so interessant. Spätestens wenn wir beim Index sind, wird dann wohl notwendig sein.

Den Link von Arne muß ich mir auch mal anschauen, auch wenn seit dem 25.3.2002 nichts Neues gibt.

Ach ja, den abcAVI habe ich mir mal angeschaut. Sieht auch nicht schlecht aus, wenn auch mit DV AVI's Angaben etwas ungenau sind. Werde ihn aber als Crosscheck verwenden

DirectX ist auch interessant, werde auch mal soweit angehen, daß man herausbekommen kann, welche DirectShowFilter installiert, bzw. verfügbar sind. Ich habe inzwischen den Eindruck, daß der eine oder andere DirectShowFilter auch in der VFW-Codec-Liste eingetragen ist, wenn auch ohne weitere Angaben, d.h. Beschreibung und Treiber. Das werdet ihr dann ab Version 0.17 sehen können.
_________________
Gruß SVCDFan
AndreasE 
Autor von AVCutty


Anmeldungsdatum: 21.03.2002
Beiträge: 72
Wohnort: Krefeld

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 54 - Verfasst am: Mi Sep 04, 2002 8:54    Titel: Antworten mit Zitat

Na endlich räumt mal jemand mit unseren Spekulationen auf.

@DVUser
Danke. Ich werde mir mal Deinen Link ansehen. So auf die Schnelle habe ich gesehen, dass dvgrab AVI Type 1 und Type 2 erzeugen kann. Und Type 2 wird ja auch für "nicht-dv"-Avi's verwendet. Eine Hoffnung besteht also...  

Andreas
_________________
Andreas
www.avcutty.de
SVCDFan 
WM-Tipp König 2006


Anmeldungsdatum: 20.09.2001
Beiträge: 7567

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 55 - Verfasst am: Mi Sep 04, 2002 9:22    Titel: Antworten mit Zitat

Was die Dateienbegrenzung betrifft, habe ich folgendes gelesen:

Der 'RIFF AVI' chunk darf nur 1 GB groß sein, das ist genau die Beschränkung für die VFW-AVI's. Der Index chunk ist aber noch in dem RIFF chunk enthalten und liegt normalerweise hinter dem movi chunk.

So, und Open DML geht einfach her, und definiert einen weiteren RIFF chunk, nämlich einen 'RIFF AVIX', und wird einfach hinter dem 'RIFF AVI' angehängt und darf auch wieder nur max. 1 GB sein. Es dürfen nun mehrere 'RIFF AVIX' chunks angehängt sein.  Auch hier ist ein Index chunk in jedem RIFF chunk (hinter movi chunk) enthalten.

Der Tipp von DV-User ist durchaus gut, einen "kaputten" Index chunk mit JUNK "auszukommentieren". Das heißt aber auch, daß das Programm erkennen muß, ob ein chunk defekt ist, was meine Leseroutine derzeit nicht imstande ist, also geht von intakten chunks aus.

Nachtrag: Wenn die Index chunk nach JUNK chunk geändert werden, muß aber noch im MainHeader das Flag für "Vorhandensein" von Index gelöscht werden.

Nachtrag2: Sehe gerade, daß aus Performancegründen der index chunk innerhalb des movi chunk sein kann und steht vor den einzelnen Frames.



Zuletzt bearbeitet von SVCDFan am Sep. 04 2002,09:28
_________________
Gruß SVCDFan
SVCDFan 
WM-Tipp König 2006


Anmeldungsdatum: 20.09.2001
Beiträge: 7567

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 56 - Verfasst am: Mo Sep 09, 2002 9:43    Titel: Antworten mit Zitat

Habe am Wochenende eine weitere interessante Entdeckung gemacht:

Im Posting davor beschrieb, daß die AVI chunk nur 1GB groß sein können. Aber daran scheinen vermutlich einige nicht daran zuhalten. Ich habe einige Videos (AVI) gerendert, die eindeutig über 1 GB sind, aber noch weniger als 2GB. Das macht zumindest MediaStudio ohne Schwierigkeiten, aber mein Codec dazu scheint dies zu zulassen. Kann da aber mich daran erinnern, daß MS bei > 2GB nicht mehr mitgemacht hat. Wenn mein endgültiges Video größer als ca. 8 Min (>2GB) wird, fange ich an 5 Min lange Ausschnitte zu exportieren, die dann über AVISynth den TMPGEnc verfüttert werden.

Interessanterweise kann TMPGenc auch meine "große" AVI's lesen.

Mein Viewer hat meine "übergroßen" Dateien soweit korrekt gelesen, und auch die Länge des Video ist richtig gewesen.
_________________
Gruß SVCDFan
mb1 



Anmeldungsdatum: 06.06.2001
Beiträge: 3708
Wohnort: München

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 57 - Verfasst am: Mi Sep 11, 2002 5:21    Titel: Antworten mit Zitat

@ SVCDFan
Wieso sagt dein Programm v0.16 zu nachbehandelten DV.avis "This is not an avi file", während VirtualDub sie korrekt erkennt.

Original von Kamera gecapturete DV-Files werden korrekt als Typ1 oder Typ2 erkannt.

Um dem die Krone aufzusetzen:
Genau die erkannten Files encodet der Procoder bei mir mit "Alternate" und die unbekannten immer mit "ZigZag".
Was ist an den Files anders, dass sie nicht erkannt werden ?
_________________
Grüße
mb1

Prophet Mohammed:
"Ein für den Wissenserwerb verbrachter Tag ist Gott lieber als 100 Kriege für Gott."
SVCDFan 
WM-Tipp König 2006


Anmeldungsdatum: 20.09.2001
Beiträge: 7567

Benutzer-Profile anzeigen Private Nachricht senden
Beitrag Beitrag 58 - Verfasst am: Mi Sep 11, 2002 9:28    Titel: Antworten mit Zitat

Hallo mb1,

vermutlich habe ich gestern parallel einen ähnlichen Fall produziert, nachdem herauskommen ist, daß eventuell für das Ausgangsmaterial, welches mit einem Canopus Codec generiert wrude, der Procoder dann Alternate nimmt.....

Ich hatte zufällig einen Canopus Demo DV Codec (vermutlich DirectShowFilter?) installiert gehabt. Also habe ich mein AVI kurzerhand nach diesem DV Format gewandelt, um dann das Ergebnis dem Procoder vorzuwerfen.  

Das Verblüffende war, daß das Encodieren nach mpeg2 viel schneller vonstatten ging, als mit meinen AVI's. Also kam ich auf die Idee mit dem AVIHeaderViewer die Info nachzuschauen, und das Ergebnis kennst du: this is not a AVI file ....

Ich werde mir mal das im Debugger anschauen, was das anders ist.

Kannst du vielleicht einen kurzen Schnipsel zum Download bereitstellen? Es reichen ja ein paar Frames.
_________________
Gruß SVCDFan
Beiträge der letzten Zeit anzeigen:   
Gehe zu Seite Zurück  1, 2, 3

DVD SVCD Forum Foren-Übersicht -> andere Encoder & Codecs
Neue Antwort erstellen


 
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Datenschutzerklärung


Powered by phpBB © 2001, 2005 phpBB Group