对于客户项目,我可以通过远程桌面连接访问开发和构建服务器。我需要下载一些用于本地测试的构建工件,但由于客户的公司范围的政策,我将无法获得ssh访问或任何有用的文件传输。通过共享剪贴板,我实际上可以复制数据(例如,base 64编码),但不幸的是,这似乎不能可靠地工作。手边有一个便宜的HDMI到USB视频采集设备,我想我可以用它来传输数据。充其量,该设备可以捕获1080 p的原始YUV 4:2:2视频,唉,由此产生的静止图像有点模糊。
那么,我可以使用什么算法/技术来编码/解码我想传输的数据呢?显然,QR代码可以工作,但是数据速率会相当差(每个捕获的帧只有几KB --而且由于RD连接不太大,我只能每隔几秒钟使用一帧)。
发布于 2020-07-02 06:18:10
经过一些实验,我发现捕获设备的颜色保真度远没有用。我试图将数据编码为灰度像素,但即使多次重复每个像素值,也无法获得可可靠提取原始8位值的图像。也许只使用每个灰度值上的4位并多次重复这个值是可行的,但最后我得到了简单的黑白图像,在随后的两个像素中编码了相同的比特。在捕获的图像中,我还没有经历过翻转(而不是每比特使用一个像素)。
因此,这毕竟离使用QR代码不远(元素也必须是2x1 ),但是数据密度要高一点。我只有一个带有签名、图像尺寸和检查和的小标题,所以我可以很容易地找到经过编码的数据。我也留了几个像素在左边一个右空白。因此,每1080 p图像,我可以编码约125 KiB。这比我所希望的要少得多,但至少它允许我在合理的时间内无人值守地传输数据。
https://stackoverflow.com/questions/62496966
复制相似问题