如何使用视频传输二进制文件?

2021-02-14 17:02:29 +08:00
 8023

环境:可以使用 novnc ( web 端)连接的一台无外网连接的计算机。

目的:将 tgz (二进制)文件数据传输至本端计算机。

我想到了使用二维码传输数据,对端计算机有 python2.7 环境。用代码将原始数据拆分,分别生成若干类似二维码的图形依次顺序播放。本端开启录屏,然后将视频分为若干帧再进行解码,然后还原原始数据。

除此之外还有其他的思路或方法吗?

提前表示感谢♥

2410 次点击
所在节点    问与答
16 条回复
ila
2021-02-14 17:19:21 +08:00
红外线和音频更快些
neteroster
2021-02-14 17:20:03 +08:00
我以前发过一个帖子: https://v2ex.com/t/674825
其中有回复提到过一个现成的轮子:
https://github.com/divan/txqr
8023
2021-02-14 17:53:09 +08:00
@neteroster 好棒!但二维码传输效率是否过于低下?且在目标机无法对外通信的前提下很难获取到生成二维码的程序。
BiteTheDust
2021-02-14 18:30:59 +08:00
讲道理能连就能传
venster
2021-02-14 19:07:13 +08:00
上个世纪据说用普通广播电台传过电子游戏 rom 。就是放录音,接受端用录音机录成磁带
Xusually
2021-02-14 22:31:52 +08:00
对安全内网内其他机器的渗透
loading
2021-02-14 23:44:24 +08:00
二维码效率低?光纤你可以认为是一个像素的黑白显示器而已。
djoiwhud
2021-02-14 23:46:45 +08:00
视频编码不了解。但是我认为你可以构造出 bmp,rgb8 位格式的图像,数据内容编码进像素的位图里。
qazwsxkevin
2021-02-14 23:51:52 +08:00
网络不好,盲说,没去严谨查证,
二维码一帧 1.3mb 左右信息 ,而且是在接受设备分辨率好的情况下能达到
如果给个 1.3mb 的二维码,放在地下停车场收费出口的地方,坐在主驾里,一个落地广告牌大小,能扫上,也得手很稳,
摄像头普遍 24 帧采集? ,转载觉得会很浪费载体的空间,还原解码效率也不高,降帧? 采集有可能会丢帧

30 年前 DOS 还是能对主板蜂鸣器直接操作,后来到了 WIN95/98 还是可以的,记得 WINXP 里面就有些难度了(要奇巧之技),到了 WIN10 我没试过,有些主板都没有蜂鸣器了,据说 WIN10 已经直接操作不了主板蜂鸣器了,(这个同时求证)
不然的话,蜂鸣器 1KHz 记得是能一秒能带 20 几 kb 出来,手机麦克风也能处理得过来
learningman
2021-02-15 01:03:29 +08:00
@qazwsxkevin 反正输出%a 是不行了
gamexg
2021-02-15 01:33:44 +08:00
usb 转串口通信
视频采集卡应该比摄像头更好些。
Slartibartfast
2021-02-15 02:18:08 +08:00
还不如用更简单的 Base64 截图

将文件转为 Base64,全屏后定时换页。外面定时录屏或者截屏,拆分为单帧 OCR,然后在 base64 decode 即可。

速度取决于每秒多少帧。
Slartibartfast
2021-02-15 02:18:49 +08:00
base64 和定时换页用 python 写很简单
wy315700
2021-02-15 09:36:47 +08:00
@qazwsxkevin

如果是 QR code 的话
参照最大规格符号版本 40-L 级:

数字数据:7,089 个字符
字母数据: 4,296 个字符
8 位字节数据: 2,953 个字符
汉字数据:1,817 个字符


不知道这个 1.3mb 是哪家的码。
zc666
2021-02-15 09:41:20 +08:00
我倒是觉得可以将 novnc 服务(?)作为一个代理来使用,比如可以搜下 novnc proxy,hxxps://github.com/novnc/noVNC/wiki/Proxying-with-nginx hxxps://docs.openstack.org/nova/queens/admin/remote-console-access.html
qazwsxkevin
2021-02-15 17:28:24 +08:00
感谢提醒,大概记得是这样,二维码所带容量不是一个好载体

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/753292

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX