Suche Grafik nach G3 Converter (FAX CCITT Group 3)

  • Ich suche einen Converter, der mir aus irgendeiner Grafikdatei (JPG, PNG, egal) ein Datei im G3-Format (FAX CCITT Group3 / T.4) erzeugt. Also eine Datei, die ich mit einem Class2-Faxmodem direkt verschicken kann.

    Das sollte entweder ein Windows-Kommandozeilen-Tool oder eine C#/DOTNET-Library sein. Notfalls ginge auch eine DLL.


    Ich weiß, dass es ein TIFF-Format mit eingebetteten CCITT G3 Daten gibt, aber diese TIFF-Dateien bekomme ich nicht verschickt. Vermutlich, weil da noch der TIFF-Header davor hängt. Kann man den irgendwie entfernen?


    Ich brauche das für unser Fax-Gateway im i-Telex-Netzwerk. Im Moment verschicke ich die Faxe über den in Windows integrierten Fax-Dienst. Das ist absoluter Murks.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

    Edited once, last by detlef ().

  • Das gute alte ImageMagick ist fuer sowas genau die richtige wahl.

    ImageMagick – Mastering Digital Image Alchemy
    ImageMagick is a free and open-source software suite used for editing and manipulating digital images. It provides a versatile set of tools for various…
    imagemagick.org


    Da findest du bestimmt fuer .net auch eine Library fuer, die das einbettet.

    Ansonsten ist die Kommandozeile (mit dem convert-Tool) gut benutzbar und es gibt fertig kompilierte Windows-Binaries dafuer an jeder Ecke :)


    GitHub - dlemstra/Magick.NET: The .NET library for ImageMagick
    The .NET library for ImageMagick. Contribute to dlemstra/Magick.NET development by creating an account on GitHub.
    github.com


    Hab mal alle Fax-relevanten Formate rausgesucht. Eins davon ist bestimmt passig fuer deinen Einsatz ;)

  • convert scheint es bei der aktuellen Version nicht mehr zu geben. Aber mit


    Code
    magick fax_image.jpg fax_image.g3

    konnte ich schonmal ein G3-Image erzeugen, das sich mit dem Modem verschicken ließ und beim Empfänger korrekt angezeigt wurde.


    Super! Vielen Dank!

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Der Teufel steckt leider noch im Detail.


    Die mit ImageMagick erzeugen G3-Files werden zwar auf der Empfangsseite korrekt angezeigt, aber die Empfangsseite meldet auch einen Fehler, dass das Fax fehlerhaft oder unvollständig ist.

    Außerdem meldet mir das Fax-Modem einen Fehler "+FHNG:43". Das bedeutet, dass ein Fehler in Phase C aufgetreten ist. Das ist due Phase, in der die Daten übertragen werden.


    Da werde ich noch ein wenig tüfteln müssen.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Ich hatte letztes Jahr, als ich ein bisschen mit Fax gespielt hatte, sonst noch https://github.com/galippi/efax sehr erfolgreich eingesetzt.

    Das ist auch gleich eine ganze Modem-Implementation, etc., aber vielleicht kannst du dir da was ausbauen/zweckentfremden.


    Der Code ist nicht allzulang.


    Code 43 kenn ich sonst aber auch von "kommerziellen" Fax-Implementationen, z.B. AVMs Fritz!Fax verursacht das auch ganz gerne.

    Scheint aber irgendwie nur zu sein, dass das Ende der Seite/des Faxes nicht richtig signalisiert wurde. An der eigentlichen Uebertragung gab's bisher nie was auszusetzen.

  • Ja, das Projekt habe ich schon vor einiger Zeit gefunden. Leider kompiliert das nur unter Linux (cygwin oder ähnliches habe ich nicht laufen).

    Sonst hätte ich mir mal angeschaut, was dieses Programm an Daten zum Modem überträgt. So rein theoretisch verstehe ich nichts von dem Code. ;)

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Die FAX Daten sind, soweit ich mich erinnere, Huffman kodiert (mit einer festen Tabelle). Auf der Strecke zum Modem siehst Du da nichts mehr von dem Bild.

  • Hallo Reinhard, das mit der Kodierung ist mir schon klar. Deswegen habe ich ja ein Programm gesucht, das mir die Images so kodiert, dass ich sie als Class2-Daten direkt verschicken kann.


    Da ich anders im Moment nicht weiterkomme, bin jetzt mal in die Tiefen der Huffman- und G3-Codierung abgestiegen. Ich hatte sogar 1992 schon mal ein C-Programm geschrieben, das ein G3-Image liest und anzeigt. Ich versuche das gerade in C# zu rekonstruieren.


    Ich habe hier eine einzige Referenz-G3-Datei, die ich ohne Fehler übertragen kann. Die habe ich mit einem USB-Logger bei einem Fax-Versand mit dem Windows Fax-Dienstes mitgeschnitten. Alle anderen G3-Dateien, die ich auf irgendeinem anderen Weg erzeuge, liefern den oben erwähnten Fehler 43.


    Ich versuche jetzt gerade herauszufinden, wo der Unterschied zwischen der mitgeschnittenen und den erzeugten Imagedateien liegt.


    Mir ist auch klar, dass die Bit-Order eine Rolle spielt. Wenn man eine G3-Datei zum Modem schickt, muss man die Bit-Order invertieren. Wenn die Bit-Order nicht stimmen würde, dann käme beim Empfänger nichts an. Also das scheint schon zu passen. Die Übertragung klappt ja. Nur die Fehlermeldung muss weg.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Gibt es nicht nach dem Versenden des Bildes am Ende noch ein Handshake, womit der korrekte Empfang bestätigt wird? Ich erinnere mich damals[tm] beim Zuhören gehört zu haben, dass beide Enden noch mal kurz Daten ausgetauscht haben. Wegen Halbduplex hört man das ja gut.

    Kann sein, dass das Modem dies macht oder dass Du noch ein ATxxx Kommando geben musst, damit dieses Handshake abläuft.


    EDIT: könnte sein, dass diese Auslösende Nachricht am Ende Deiner mitgeloggten Datei mit dran hängt und es deswegen geht. Also zusätzliche Daten nach dem Ende des Huffmann kodierten Bildes. Vielleicht siehst Du diese im Hex Editor?

  • Gibt es nicht nach dem Versenden des Bildes am Ende noch ein Handshake, womit der korrekte Empfang bestätigt wird? Ich erinnere mich damals[tm] beim Zuhören gehört zu haben, dass beide Enden noch mal kurz Daten ausgetauscht haben. Wegen Halbduplex hört man das ja gut.

    Kann sein, dass das Modem dies macht oder dass Du noch ein ATxxx Kommando geben musst, damit dieses Handshake abläuft.

    Ich habe ja eine komplette Session mitgeschnitten.


    EDIT: könnte sein, dass diese Auslösende Nachricht am Ende Deiner mitgeloggten Datei mit dran hängt und es deswegen geht. Also zusätzliche Daten nach dem Ende des Huffmann kodierten Bildes. Vielleicht siehst Du diese im Hex Editor?

    Das habe ich auch schon überlegt. Das würde erklären, warum es mit dieser einen Datei aus dem Mitschnitt keinen Fehler gibt.

    Aber ich kann kein Kommando erkennen. Weder am Anfang noch am Ende. Nur Binärdaten.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Das wird schon binär dranhängen, vermutlich enthält es auch eine Prüfsumme. Der Empfänger quittiert dann mit Gut oder Böse ;)

    Und das war m.E. pro Seite. Du hast auch die Daten vom Empfänger mitgeschnitten? Aber halt nur auf der Modemseite. Was auf der Leitungsseite abläuft haste dann ja nicht.


    Wer schickt den den Fehler 43? Das Modem, vermutlich?

  • Das wird schon binär dranhängen, vermutlich enthält es auch eine Prüfsumme. Der Empfänger quittiert dann mit Gut oder Böse ;)

    Und das war m.E. pro Seite. Du hast auch die Daten vom Empfänger mitgeschnitten? Aber halt nur auf der Modemseite. Was auf der Leitungsseite abläuft haste dann ja nicht.

    Wer schickt den den Fehler 43? Das Modem, vermutlich?

    Prüfsumme gibt's nicht. Jedenfalls nicht in der Kommunikation mit dem PC. Ich habe ja die Dokumentation des Formats vorliegen. Die Übertragung startet mit einem EOL (End Of Line) und wird abgeschlossen mit RTC (Return To Command). Bei der Datei, die funktioniert, sehe ich kein RTC. Kann natürlich sein, dass das Modem das selber generiert. Die Datei, die nicht funktioniert, enthält ein RTC. Das ist ja mein Problem, ich kriege da keine Logik rein. ;)


    Ich werde jetzt nochmal explizit ein RTC senden.


    Die 43 ist übrigens ein "DTE to DCE data underflow". Das kann alles möglich sein. ich interpretiere das so, dass das Modem noch Daten erwartet, die aber nicht kommen.


    So sieht das laut T.4 Spezifikation aus:


    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Es funktioniert! :tanz:


    Es fehlte ein DLE+ETX am Ende der Datei. Das habe ich in dem oben verlinkten efax-Projekt entdeckt. Und wenn man weiß, wonach man suchen muss, dann findet man das auch am Ende der funktionierenden Datei (10 03).



    Ich muss noch mal meine T.4- bzw. Class2-Dokus durchschauen, ob das irgendwo beschrieben ist. :rolleyes:


    Also das Proof-of-Concept funktioniert. Jetzt muss daraus noch eine vernünftige Software bauen.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Es funktioniert! :tanz:

    Leider doch noch nicht so ganz. :fp:


    Die erste etwas komplexere Seite, die ich übertragen wollte, bricht nach den ersten ca. 30 Rasterzeilen ab. Ohne Fehlermeldung auf der Empfänger- oder Sender-Seite. Das kann jetzt wieder unterschiedlich Ursachen haben.


    DLE/ETX zufällig in der G3-Datei?

    Handshake-Probleme bei größeren Datenmengen? Dann würde ich aber eine Fehlermeldung erwarten

    ImageMagick hat die G3-Datei nicht fehlerfrei erzeugt? Mein Testprogramm zum Lesen von G3-Dateien zeigt die Seite fehlerfrei an.


    Das Experimentieren geht weiter. :D


    EDIT: Die erste Vermutung war die richtige. Die erzeugte Datei enthält zufällig die kombination DLE/ETX. Jetzt muss ich schauen, wie ich das escapen kann.


    EDIT 2: DLE wird escapet in dem man es verdoppelt. Jetzt klappt es.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

    Edited 2 times, last by detlef ().

  • Mit den oben gewonnenen Erkenntnissen konnte das i-Telex / Fax - Gateway jetzt fertig gestellt werden. Für so einen RTTY-Snoopy hat sich der ganze Aufwand doch gelohnt. :D

    Da ist jetzt keine Fremdsoftware mehr beteilig. Weder bei der Erstellen des G3-Formates aus einer Textnachricht, noch beim Versenden über ein Class2-Faxmodem.


    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Ich habe den Thread nur mit einem Ohr verfolgt.

    Du kannst jetzt Telexe als FAX versenden?


    Ja genau. Der historische Hintergrund ist dieser hier (aus dem Telexbuch der Telekom von 1998/1999):

    Quote

    Minitelex ist ein spezielles Angebot für Telexkunden, die den Telexdienst nur noch selten nutzen, und bietet somit eine preiswerte Alternative zum klassischen Telexanschluß. Dabei wird der Telexanschluß unter Beibehaltung der bisherigen Telexnummer aufgegeben. Die Telexnachrichten werden auf einem Telefaxgerät empfangen. Bestimmte Leistungsmerkmale, z.B. Kennungsaustausch oder Dialogfähigkeit, sind allerdings nicht möglich“


    Dieser i-Telex-Dienst ist aber nicht neu. Das gab es schon seit einigen Jahren. Der alte Dienst basierte aber auf fertiger Software und war dadurch ziemlich unflexibel. Ausserdem wollte ich diese G3-Kodierung und den Faxversand schon immer mal selber implementieren. ;)


    Auch wenn Faxgeräte immer noch im Einsatz sind, mit dem ersten Faxgerät hatte ich 1987 zu tun. Für mich ist das ziemlich retro.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Coole Geschichte. :thumbup:


    Dann schick mir doch mal ein Telex.

    Fax-Nr per PM.


    Auch wenn Faxgeräte immer noch im Einsatz sind, mit dem ersten Faxgerät hatte ich 1987 zu tun. Für mich ist das ziemlich retro.

    So um 1987 hatte mein Vater sich ein Faxgerät zugelegt. Damals musste dafür eine extra Telefonnummer geschaltet werden.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Und das Faxgerät wurde natürlich von der Post installiert. Gewählt wurde mit einem Telefon, das neben dem Faxgerät stand. Wenn man es im Hörer piepsen hörte, musste man die Starttaste am Faxgerät drücken. Ich denke, dass das bei dem Gerät deines Vaters auch so war.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Ne, ich meine das Faxgerät konnte schon selber wählen. Aber richtig, ein Telefon stand dabei.

    Es war ja ein eigener Telefonanschluss und der hatte damals auch Freieinheiten. Und die mussten ja verbraucht werden. ;) So sind Pfennigfuchser. :)

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Und man hatte diese Telex-Deckblätter, die man von Hand ausfüllte und als erste Seite sendete.

    Auf unserem Deckblatt stand einige Monate lang "Telexfax-Massage" und keiner hat's gemerkt. Naja, einige Kunden werden sich amüsiert haben. ;)


    Und wer hatte dieses Deckblatt erstellt? angst

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Und man hatte diese Telex-Deckblätter, die man von Hand ausfüllte und als erste Seite sendete.

    Das Deckblatt bezieht sich auf das Telex/Fax Gateway?

    Konnte man auch Fax nach Telex senden?

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Und man hatte diese Telex-Deckblätter, die man von Hand ausfüllte und als erste Seite sendete.

    Das Deckblatt bezieht sich auf das Telex/Fax Gateway?

    Konnte man auch Fax nach Telex senden?

    Das Deckblatt wurde damals immer verwendet, wenn man irgendwelche Dokumente von Faxgerät zu Faxgerät gesendet hat. Da stand dann zum Beispiel auch drauf, für wen das Fax bestimmt war. Auch größere Firmen hatten anfangs oft nur ein Faxgerät.


    Und Faxgeräte übertragen Grafikdaten. Keine Chance das an ein Telexgerät zu senden. Die konnten nur Text. Das funktionierte also nur von Telex zu Fax.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Ok, diese Deckblätter kenne ich.

    Wird das Telex nach Fax Gateway händisch betrieben? Ich habe das so verstanden, mit deiner Software geht das automatisch. Erzeugt die Software auch ein Deckblatt?


    Fax nach Telex wäre natürlich ein händischer Dienst. Aber für Geld machte die damalige Deutsche Post alles. :)

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Ok, diese Deckblätter kenne ich.

    Wird das Telex nach Fax Gateway händisch betrieben? Ich habe das so verstanden, mit deiner Software geht das automatisch. Erzeugt die Software auch ein Deckblatt?

    Nein, ein Deckblatt wird nicht erzeugt. Ich habe auch keine Infos oder Beispiele, wie die Telefaxe der Post damals aussahen, die über dieses Gateway gelaufen sind. Der Dienst beschränkt sich auf die Übertragung des Kennungsgebers des sendenden Telexgerätes.


    Fax nach Telex wäre natürlich ein händischer Dienst. Aber für Geld machte die damalige Deutsche Post alles. :)

    Das hätte dann jemand abtippen müssen. Aber oft wurden per Fax Grafiken (Bilder) übermittelt. Die hätte man auch nicht händisch übertragen können.

    So einen Dienst gab es daher nicht.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Das hätte dann jemand abtippen müssen. Aber oft wurden per Fax Grafiken (Bilder) übermittelt. Die hätte man auch nicht händisch übertragen können.

    Ja genau. Das wäre nur für Text machbar.

    So ein Fax nach Telex Gateway könnte vielleicht für einige Firmen billiger gewesen sein als eigene Fernschreiber zu unterhalten um die letzten Telexteilnehmer zu erreichen.


    Gerade in den ehemaligen Ostblock waren Fernschreibverbindungen schnell und unproblematisch. Aber das war Ende der 80er Jahre.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Man könnte natürlich ein FAX OCR-mäßig durchsuchen und die Textbestandteile als TELEX senden. Das macht aber sicher weder Spass noch ist es sinnvoll. Vom stark eingeschränkten Zeichensatz bei TELEX ganz abgesehen.


    Oder Du sendest das FAX Pixelweise mit '.' als Telex. Ein durschnittliches Fax müsste auf eine ganze TELEXROLLE passen ;) Muss man dann noch schneiden und nebeneinander kleben und in einer Halle auslegen angst

  • Oder Du sendest das FAX Pixelweise mit '.' als Telex. Ein durschnittliches Fax müsste auf eine ganze TELEXROLLE passen ;) Muss man dann noch schneiden und nebeneinander kleben und in einer Halle auslegen angst

    Bei 1728 Pixel pro Zeile muss man dann nur 25 Bahnen nebeneinanderlegen. Aus 10 Meter Entfernung kann man das dann gut lesen. :D

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."