Ich möchte eine Datei (dh verlustfreie Übertragung) von einem Linux-Computer auf einen anderen Computer übertragen, indem ich nur den Kopfhörerausgang verwende. Ich würde ein Audiokabel verwenden und an den Mikrofoneingang des empfangenden Computers anschließen. Ist das möglich? Wie richte ich es ein?
Um es klar auszudrücken: Ich habe kein USB, Ethernet usw. zur Verfügung. Kopfhöreranschluss ist es. Also brauche ich natürlich ein Softwaremodem. Existiert einer?
audio
file-transfer
user5406764
quelle
quelle
Antworten:
Es ist durchaus möglich, obwohl viel langsamer als Sie es vielleicht gewohnt sind.
Früher konnten Sie mit einem Kassettenrekorder Daten und Software auf Audiokassetten speichern. (So wurde es gemacht, bevor Disketten für die breite Öffentlichkeit billig genug waren.) Während dieser Zeit gab es keine Möglichkeit zur bidirektionalen Kommunikation. Daher verwendeten sie verschiedene Fehlerkorrekturtechniken, um sicherzustellen, dass die Daten trotz der variablen, lauten Daten geladen werden konnten Eine Umgebung, in der Audio aufgenommen wurde, bevor digitales Audio eine Sache war.
Eine Variation davon wäre, die Daten als Audio "zu speichern", genau wie man sie auf einem Kassettenrekorder speichern könnte. (Anstatt mit einem Kassettenrekorder verbunden zu sein, würden Sie eine Verbindung zum "Line-In" eines anderen Computers herstellen.) Der andere Computer ist so eingerichtet, dass er die Daten von dieser "Line-In" -Verbindung "lädt".
Ich bin mir nicht sicher, ob solche Funktionen auf dem heutigen Linux verfügbar sind. Aber es gibt verschiedene Sound- und Fehlerkorrekturbibliotheken und die Technologien sind so einfach, dass Sie mit ein wenig Recherche und Ellbogenfett das bekommen, was Sie wollen.
Wenn man sich umschaut, scheint es immer noch ein Interesse an dieser Art von Technologie zu geben. Diese Seite beschreibt
minimodem
(und wie man es bekommt), eine Linux-Software, die genau das tut, was Sie verlangen.quelle
minimodem
scheint jedoch eine Lösung zu sein (wenn es installiert werden kann), obwohl die Quelldatei möglicherweise mit einem Modemprotokoll verarbeitet werden muss, bevor sie an übergeben wirdminimodem
, und dann auf der empfangenden Seite umgekehrt verarbeitet werden muss.minimodem
muss nicht verwendet werden. OP hat bereits angegeben, dass er kein Netzwerk hat und daher nichts herunterladen kann. Trotzdem scheint es immer noch möglich zu sein, ein Shell-Skript zu schreiben, das Daten in einen verwendbaren Audiostream kodieren oder einen aufgezeichneten Stream dekodieren kann.Absolut machbar auf einem modernen Linux-System. Wie oben erwähnt, ist Minimodem das, was Sie wollen. Über eine geschlossene Schleife erhalten Sie mindestens 2.400 Bit / s (2,4 KBit / s), möglicherweise mehr. Wenn es sich um einen ruhigen Raum handelt, können Sie mit nur einem Lautsprecher, einem Mikrofon und Schallwellen 100 Bit / s erreichen. Youtube Video hier . Sie müssen sich mit c-kermit für die eigentliche Dateiübertragung vertraut machen.
quelle
Konnten Binärdaten in Audio und zurück konvertiert werden? Natürlich . Und ich bin mir sicher, dass es dafür Softwarelösungen gibt , obwohl ich sehr bezweifle, dass sie nahezu verlustfrei sind und ich sie nie ausprobiert habe.
Würde ich es empfehlen? Überhaupt nicht. Bedenken Sie, dass es nicht möglich ist, Daten, die das empfangende Gerät nicht erhalten hat, erneut anzufordern, wenn Sie die Ausgabe eines Computers mit der Eingabe eines anderen Computers verknüpfen. Hinzu kommt, dass es unwahrscheinlich ist, dass normale Kopfhörer- und Mikrofon-Chipsätze / -Codecs auf Verbraucherebene so genau sind, wie Sie es für nahezu verlustfreie Verbindungen benötigen. Möglicherweise verfügen sie auch über einige Einstellungen oder Verstärkungen für den Equalizer hinter den Kulissen. Daher müssen Sie möglicherweise das Glück haben, überhaupt Daten zu übertragen.
Sie erhalten keine nachweislich verlustfreie Datenübertragung, auf die Sie sich in keiner Weise verlassen können. Sie könnten jedoch möglicherweise Daten übertragen.
quelle
Ausgehend von den Einschränkungen Ihrer Frage denke ich, dass ein herkömmliches Modem tatsächlich übertrieben wäre. Sie müssen nicht benötigen eine TCP - Verbindung eine Dateiübertragung über eine Audio - Verbindung zu tun, und man könnte ohne alle Overhead der Vernetzung besser dran.
Lassen Sie uns diese Frage zusammenfassen. Auf einem Computer verfügen Sie über eine beliebige Datendatei, die Sie so codieren möchten, dass sie als Audio wiedergegeben und dann auf einem anderen Computer decodiert werden kann.
Der Wiedergabe- und Aufnahmeteil sollte ziemlich einfach sein - sobald Sie eine generierte Audiodatei haben, kann ein Programm wie Audacity verwendet werden, um diese vom Audioeingang des anderen Computers aufzunehmen. Der schwierige Teil ist also das Kodieren und Dekodieren des Audiostreams.
Warum nicht Morsecode verwenden ? Sie könnten eine hexadezimale Darstellung Ihrer Daten verwenden, und es gibt Tools sowohl für die programmgesteuerte Codierung als auch für die Decodierung von Audiodaten.
Natürlich wirft die Erwähnung eines zusätzlichen Tools, das für die Dekodierung erforderlich ist, die Frage auf: Wie würden Sie dieses Tool überhaupt auf Ihren Zielcomputer bekommen? (Dies gilt auch für ein Softwaremodem.) Wenn Sie ein Programm auf dem Zielcomputer eingeben, um die Dekodierung für Sie durchzuführen, ist eine Open-Source-Javascript-Bibliothek keine ganz schreckliche Idee.
Sie können einen einfachen Prüfsummen-Hash verwenden, um die Genauigkeit nach dem Kodieren, Übertragen und Dekodieren zu überprüfen.
quelle