ADM Dateien öffnen...
ADM Dateien öffnen...
Hallo, ich habe hier eine Aneinanderreihung von JPEG-Bildern in einer Datei. Diese Datei wurde von einem Überwachungssystem erstellt, welches nur BILDER macht... kein Video. Die Bilder werden hintereinander in 1 Datei geschrieben und diese Datein endet mit ".adm" wie kann ich nun die Bilder anzeigen lassen. Gibt esnicht bei Jpeg einen Header, den ich suchen kann. Wo ist Anfang und wo ende eines Bildes...?
Habe schon nen Link im Internet gefunden, wo es wohl sowas auch gibt :
http://www.sicherheitsteam.de/systeme/v ... tware.html
Habe schon nen Link im Internet gefunden, wo es wohl sowas auch gibt :
http://www.sicherheitsteam.de/systeme/v ... tware.html
SYNTAX ERROR IN 30! TYPE MISMATCH
Re: ADM Dateien öffnen...
es gibt im englischen Forum ein Snippet von netmaestro, in demStuhli hat geschrieben:Wo ist Anfang und wo ende eines Bildes...?
er eine Datei in den Speicher liest, den Memory-Pointer in einer
Schleife hochzählen lässt und innerhalb der Schleife ein CatchImage()
ausführt. Liefert diese Funktion einen Wert ungleich 0, dann hast
Du ein Bild.
http://www.purebasic.fr/english/viewtop ... 73#p369373
Keine Ahnung, ob das eine praktikable Lösung ist; finde sie allerdings
recht pfiffig.
Grüße ... Kiffi
a²+b²=mc²
- NicTheQuick
- Ein Admin
- Beiträge: 8838
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: ADM Dateien öffnen...
Normalerweise nennt sich sowas ein MJPEG-Stream. Mit Ffmpeg lässt sich so ein Stream ganz einfach in seiner Einzelbilder zerlegen.
Re: ADM Dateien öffnen...
Moin,
vielen Dank für die schnellen Antworten.... den Code habe ich mal ausprobiert aber der läuft ohne Ergebnis durch. Auch FFMPEG findet keine Ergebnisse. VLC Player, Camtasia, und DIVX finden nix. Aber die Bilder sind da - nur in welchem Format. Die Dateien sind ab 150 MB groß, kann sie daher nicht posten... Andere Ansätze sind gern gesehen...
vielen Dank für die schnellen Antworten.... den Code habe ich mal ausprobiert aber der läuft ohne Ergebnis durch. Auch FFMPEG findet keine Ergebnisse. VLC Player, Camtasia, und DIVX finden nix. Aber die Bilder sind da - nur in welchem Format. Die Dateien sind ab 150 MB groß, kann sie daher nicht posten... Andere Ansätze sind gern gesehen...
SYNTAX ERROR IN 30! TYPE MISMATCH
Re: ADM Dateien öffnen...
Vielleicht sind die Bilder/Videos verschlüsselt wegen Datenschutz
"Papa, ich laufe schneller - dann ist es nicht so weit."
Re: ADM Dateien öffnen...
ganau daran hatte ich gestern Abend auch gedacht...
das wäre jetzt blöd.....
habe jetzt schonmal rausbekommen, das es BILDER sind, 720 x 576 Pixel bei 70% Kompression.... kann man mit diesen Daten nicht schon was rausbekommen ??
habe jetzt schonmal rausbekommen, das es BILDER sind, 720 x 576 Pixel bei 70% Kompression.... kann man mit diesen Daten nicht schon was rausbekommen ??
SYNTAX ERROR IN 30! TYPE MISMATCH
- HeX0R
- Beiträge: 3070
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Re: ADM Dateien öffnen...
Ein JPEG beginnt immer mit $FFD8 und endet mit $FFD9.
Vielleicht findest du ja doch irgendwas in deiner fetten Datei.
Hier gibts auch noch ein paar Informationen.
Vielleicht findest du ja doch irgendwas in deiner fetten Datei.
Hier gibts auch noch ein paar Informationen.
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
Re: ADM Dateien öffnen...
Erfolg ! Erfolg ! Erfolg !
Habe mit nem HEX-Editor die Datei geöffnet und siehe da FFD8 finde ich und vorher ist auch ein FFD9 vom vorherigen Bild zu finden.... kann mir jetzt jemand auf die Sprünge helfen mit nem passenden Code-Ansatz...
Wie öffne ich die Datei und schreibe den gelesenen CODE wie in welche Datei... ich fummle zwar selbst gleich, aber es wäre hilfreich, wenn da jemand pfiffiger wäre als ich. Es geht hier um etwas, was mir von der Theke geklaut wurde.... und auf dem Video ist bestimmt was zu sehen...
Habe mit nem HEX-Editor die Datei geöffnet und siehe da FFD8 finde ich und vorher ist auch ein FFD9 vom vorherigen Bild zu finden.... kann mir jetzt jemand auf die Sprünge helfen mit nem passenden Code-Ansatz...
Wie öffne ich die Datei und schreibe den gelesenen CODE wie in welche Datei... ich fummle zwar selbst gleich, aber es wäre hilfreich, wenn da jemand pfiffiger wäre als ich. Es geht hier um etwas, was mir von der Theke geklaut wurde.... und auf dem Video ist bestimmt was zu sehen...
SYNTAX ERROR IN 30! TYPE MISMATCH
- NicTheQuick
- Ein Admin
- Beiträge: 8838
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: ADM Dateien öffnen...
Ich hab mal was kleines dazu gecodet. Das ist zwar unübersichtlich und kurz, funktioniert aber wie gewollt.
Bei Fragen einfach fragen.
///Edit:
Ich habe das ganze mal mit 537 JPEGs versucht. Also zuerst alle nacheinander in eine Datei geschrieben und dann mittels 'SplitJPEGStream()' wieder entpackt. Es gab keine Fehler beim Entpacken und ohne Debugger geht es innerhalb einer Sekunde. Je nach Bildgröße natürlich.
Code: Alles auswählen
EnableExplicit
Procedure.i SplitJPEGStream(file.s)
Protected counter.i
Protected path.s = GetPathPart(file)
Protected fileId.i
Protected Dim bytes.a(4)
Protected pos.i = 0
Protected writeFileId.i = 0
fileId = ReadFile(#PB_Any, file)
If (Not fileId)
Debug "Konnte Datei nicht öffnen."
ProcedureReturn #False
EndIf
While Not Eof(fileid)
bytes(pos) = ReadAsciiCharacter(fileId)
If (bytes(pos) = $D8 And bytes((pos + 3) % 4) = $FF And (counter = 0 Or (bytes((pos + 2) % 4) = $D9 And bytes((pos + 1) % 4) = $FF)))
If (writeFileId)
WriteAsciiCharacter(writeFileId, bytes((pos + 2) % 4))
CloseFile(writeFileId)
EndIf
counter + 1
writeFileId = CreateFile(#PB_Any, path + RSet(Str(counter), 4, "0") + ".jpg")
If (Not writeFileId)
Debug "Konnte Datei nicht zum Schreiben öffnen."
ProcedureReturn #False
EndIf
ElseIf (writeFileId)
WriteAsciiCharacter(writeFileId, bytes((pos + 2) % 4))
EndIf
pos = (pos + 1) % 4
Wend
If (writeFileId)
WriteAsciiCharacter(writeFileId, bytes((pos + 2) % 4))
WriteAsciiCharacter(writeFileId, bytes((pos + 3) % 4))
CloseFile(writeFileId)
EndIf
CloseFile(fileId)
ProcedureReturn #True
EndProcedure
SplitJPEGStream("/home/nicolas/test.mjpeg")///Edit:
Ich habe das ganze mal mit 537 JPEGs versucht. Also zuerst alle nacheinander in eine Datei geschrieben und dann mittels 'SplitJPEGStream()' wieder entpackt. Es gab keine Fehler beim Entpacken und ohne Debugger geht es innerhalb einer Sekunde. Je nach Bildgröße natürlich.
Re: ADM Dateien öffnen...
DU BIST MEIN HELD !!! Ich habe mit nem HEX Editor alles rauskopert, weil ich keinen klaren Kopf hatte um was zu schreiben.... aber es funzt einwandfrei !!!!! DANKE !!!!
SYNTAX ERROR IN 30! TYPE MISMATCH