Wie "malen" Sie die Datenschicht einer CD mit einem CD-Laufwerk?

1601
Jens

Ich suche nach einer Methode, um geometrische Formen, Punkte oder Linien auf der Datenschicht einer beschreibbaren CD (oder DVD) mit einem Standardlaufwerk zu "malen". Diese müssen nicht mit dem bloßen Auge sichtbar sein; Ich würde versuchen, die kleine Punktgröße auf der CD für einige wissenschaftliche Messungen zu missbrauchen.

Die meiste verfügbare Software ist natürlich auf das Schreiben von Musik oder Daten beschränkt, und bietet nicht die Low-Level-Funktion "Platzieren Sie einen Punkt in diesem Radius, diesen Winkel". Gibt es etwas für mich da?

6
Warum nicht LightScribe? Es kann mindestens eine Treiber-API enthalten, die verwendet werden kann, um das zu tun, was Sie möchten. pjc50 vor 11 Jahren 4
Ich werde es mir genauer ansehen, danke. Vielleicht habe ich es zu schnell abgewiesen. Ich entfernte das aus meiner Frage, ich würde eine bestehende Lösung vorziehen, anstatt die LightScribe-API erwerben zu müssen und meine Hand selbst schmutzig zu machen. =) Jens vor 11 Jahren 0

4 Antworten auf die Frage

3
lornix

Sie müssen keine "richtigen" Daten auf die Disc schreiben ... Sie können beliebige Daten schreiben, indem Sie einfach eine Datei mit der entsprechenden Größe erstellen.

Nehmen wir an, wir verwenden eine CD zum Beschreiben (hoffentlich wiederbeschreibbar, da wir einige Untersetzer machen werden !!), so dass unsere gewünschte Bildgröße etwa 700 Megabyte beträgt.

Erstellen Sie eine Datei mit 10 Meg-Blöcken alternierender 0x00- und 0xff-Dateien. Dies würde Ihnen das Ein / Aus-Muster der Daten in einer einfachen Form zeigen.

Modulieren Sie die Daten in der Image-Datei ... Discs werden von der Mitte nach außen geschrieben ... Daher sind mehr Daten im äußeren (schnelleren!) Durchmesser als im inneren enthalten, und Sie sollten in der Lage sein, den ungefähren Punkt zu berechnen, um Ihre Daten zu ändern Datenmuster in der Bilddatei mithilfe einiger kreativer Muster.

Sobald Sie die "Zonen" herausgefunden haben, sollten Sie in der Lage sein, noch komplexere Datenmuster zu erstellen, um die Rotationsgeschwindigkeit und Datendichte auf der äußeren "Spur" zu kompensieren (CD / DVD ist eigentlich nur eine enge Spirale). Spaß Spaß Spaß!!

Nun ... so würde ich anfangen, wenn ich etwas über das Schreiben von Mustern auf CD / DVD-Datenoberflächen herausfinden würde.

(Dang es ... wo ist die alte CD-Spindel, die ich noch nie benutzt habe ...)

Oh ja ... die beteiligten Befehle:

 CD: wodim dev=/dev/sr0 -eject -v -data=MYIMAGE.img DVD: growisofs -Z /dev/sr0=MYIMAGE.img 
und technisch ... alles, was damit einhergeht, sind einige geringfügige Berechnungen, die rechtwinklige zu polare Koordinatentransformationssysteme umfassen, wobei die Rotationstranslation basierend auf der Entfernung vom Beginn der Daten und der Entfernung gegenüber der Datenbyteposition variiert. Voila! Recht? lornix vor 11 Jahren 0
https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-130.pdf gibt Ihnen einen Ausgangspunkt, um zu verstehen, wie Daten auf den physischen Medien abgelegt werden. Sie können nicht einfach alternierende Blöcke von 0x00s und 0xFFs schreiben. Alok vor 5 Jahren 0
2
nmz787

Es sieht so aus, als würde es tun, was Sie wollen, es enthält 2 MATLAB-Dateien, von denen ich die Magie nicht ganz verstehe. Ich würde gerne eine aktualisierte Version sehen!

http://www.instructables.com/id/Burning-visible-images-onto-CD-Rs-with-data-beta/step2/Convert-a-picture-to-data/

Das sieht cool aus. Ich werde das versuchen! Nun, wie bekomme ich MATLAB? =) Jens vor 11 Jahren 0
Es besteht die Möglichkeit, dass der Code mit Octave funktioniert (https://www.gnu.org/software/octave/). Alok vor 5 Jahren 0
1
Brent Fisher

Ich hatte mit Red Book CD Audio einige Erfolge mit Bytes (8-Bit-Zeichen) von 171 Dezimalstellen für dunkle Bereiche und 48 Dezimalzahlen mit dem Programm Img2CD. Ich konnte die Kalibrierung nicht perfekt machen, aber für Strichzeichnungen können Sie Bilder auf der CD-RW sehen. Es ist kein Hacken erforderlich, alles was es ist, ist eine WAV-Musikdatei mit diesem nicht-musikalischen Signal - sie ist so real wie eine Musik-CD, wie es die wiederbeschreibbaren CDs zulassen (ältere CD-Player können nicht einmal CD-RWs mit menschlicher Hörmusik abspielen.) auf sie!). Wenn Sie fertig sind, können Sie die CD-RW auf einem neueren Audio-CD-Player abspielen, der wiederbeschreibbare Discs abspielt und das Bild hört. Und wenn Sie das Bild satt haben, löschen Sie einfach die Disc und schreiben Sie etwas Neues. Die Disc wird am besten unter direktem Sonnenlicht betrachtet.

1
nmz787

Wenn Sie ein ISO-Image oder ein ähnliches Image auf eine CD direkt auf CD brennen möchten, müssen Sie daran denken, dass das Laufwerk die physischen Pixel mit CIRC (Cross-Interleaved Reed-Solomon-Codierung) codiert und decodiert, um eine Lesefehlerkorrektur zu ermöglichen. Sie müssen herausfinden, welche Datenbytes kodierten Datenströmen für geschriebene Pixel entsprechen.

http://www.eccpage.com/reed_solomon_codes.html

http://programmersheaven.com/discussion/427831/circ-cross-interleaved-reed-solomon-code-verification?S=B10000

http://www.idea2ic.com/File_Formats/ReedSolomon.pdf

https://pypi.python.org/pypi/reedsolo

http://rscode.sourceforge.net

Das letzte, rscode, hat hier eine Erklärung: http://rscode.sourceforge.net/rs.html

Was die Verwendung der CD anbelangt, basierend auf rscode's example.txt, glaube ich, könnte der Code zum Implementieren der Codierung vom CD-Typ (was die fehlerkorrekturkodierten Pixel auf einer CD-R lesen würden) Folgendes sein:

unsigned char codeword1[28]; unsigned char codeword2[32]; unsigned char msg[24];  encode_data(msg, sizeof(msg), codeword1); encode_data(codeword1, sizeof(codeword1), codeword2); 

Ich habe den Autor von rscode per E-Mail benachrichtigt und werde diese Antwort aktualisieren, wenn er antwortet.