我想仅使用耳机输出将文件(即无损传输)从 Linux 计算机传输到另一台计算机。我会使用音频线并将其插入接收计算机的麦克风输入。这可行吗?我该如何设置?
需要说明的是:我没有 USB、以太网等可用设备。耳机插孔就是了。所以显然我需要一个软件调制解调器。有这样的调制解调器吗?
答案1
这是完全可能的,尽管比你习惯的要慢得多。
过去,您可以使用录音机将数据和软件保存到录音带中。(在软盘价格低廉、可供大众购买之前,人们就是这么做的。)当时无法进行双向通信,因此他们使用各种纠错技术来确保在数字音频出现之前,尽管录音环境多变且嘈杂,数据仍可加载。
这种方法的一个变种是将数据“保存”为音频,就像将数据保存到盒式录音机一样。(您无需连接到盒式录音机,而是连接到另一台计算机上的“线路输入”。)另一台计算机将设置为从该“线路输入”连接“加载”数据。
我不确定如今的 Linux 上是否随时提供此类功能。但市面上有各种声音和错误校正库,而且这些技术非常简单,只要进行一些研究并付出一些努力,最终就能得到想要的东西。
环顾四周,似乎人们对这种技术仍然感兴趣。这一页描述minimodem
(以及如何获取它)一段 Linux 软件,它看起来正好能完成您所要求的操作。
答案2
答案3
根据你问题的限制,我认为传统调制解调器实际上有点过头了。你不需要需要TCP 连接通过音频连接进行文件传输,这样可能会没有所有的网络开销。
那么让我们来分析一下这个问题。在一台计算机上,你有一个任意数据文件,你想以某种方式对其进行编码,以便可以将其作为音频播放,然后在另一台机器上对其进行解码。
播放和录制部分应该相当简单——一旦你生成了音频文件,就可以使用 Audacity 之类的程序从另一台机器上的音频输入录制它。因此,困难的部分是对音频流进行编码和解码。
为什么不使用摩尔斯电码? 您可以使用十六进制表示数据,并且存在用于编程的工具编码和解码来自音频。
当然,提到解码所需的任何额外工具都会引发一个问题:你首先如何在目标机器上获得这个工具?(对于软件调制解调器也是如此。)如果你要在目标机器上输入一个程序来为你解码,那么开源 javascript 库并不是一个完全糟糕的想法。
您可以使用简单的校验和哈希来验证编码、传输和解码后的准确性。