二维码文件传输小工具(可在两台完全隔离的设备之间使用) - QFileTrans 2.0.0.6

编程知识 更新时间:2023-04-17 20:14:26

原帖地址为吾爱破解,本账号与吾爱破解原贴为同一人所有,故投了原创。

程序下载

总链接:https://wwd.lanzout/b03j7l92h#7i3b
密码:7i3b

已知问题

  1. 因转向CMake构建,exe应用会显得比较大,目前没有找到压缩的办法;
  2. 1.3.2.1版及之前的版本在部分操作系统上运行会提示缺少某个dll依赖,如果遇到,请下载总链接中的“QFileTrans_32bit_依赖.rar”或“QFileTrans_64bit_依赖.rar”(根据下载的exe版本确定),再根据rar中README.txt中的提示将dll拷贝到指定目录即可。

使用场景

本程序可以使用二维码在两台完全隔离(没有网络连接,没有蓝牙)的、有显示器和摄像头的设备之间传输文件,只需要使用摄像头和屏幕即可以一个不错的速度传输小文件,使用场景可以是隔离内网向外部传输文档、日志等文件,如果需要传输文件夹可以使用压缩包。主要基于Qt5.15.2开发,同时支持64位win10和64位安卓程序,界面虽然简陋,但功能经我多次测试,基本没有问题。发送部分对性能要求不高,但接收部分对cpu有很高的要求,配置比较低(测试平台:天玑720内存8G可流畅识别)的手机不能保证好用。

使用方法

两个平台的界面布局稍不一致,但操作逻辑也完全一致。

发送

首先要点击“选择文件”,选择一个需要发送的文件,不支持文件夹、自动打包多个文件,可以使用拖拽进入。读剪贴板(等于Ctrl+V)可以读取剪贴板中的纯文字,若剪贴板复制了一个文件,会读取为文件。

fps是指发送二维码的切换速度,默认为12,经测试这个帧率是识别率的边界,大于这个帧率的话手抖和摄像头图像质量对识别的影响非常大,可以使用上下键调整FPS。

识别部分在内部自动裁切为720像素分辨率,若摄像头不支持高于该分辨率的模式则自动选择低分辨率。

选择完成后可以点击“开始发送”,也可使用空格键进行开始暂停,将接收设备对准发送设备的二维码保持收稳住等待即可。在待接收码小于100块时界面会提示剩余二维码的索引,该索引从1开始。

进度条可以调节,拖动进度条可以修改显示二维码的索引,也可使用左右键单帧调整,剩下码块不多的时候可以针对性地滑动到该码块处加快传输速度。

二维码编码采用字节编码,已经把二维码传输效率最大化了,但由于光学方式本身的限制,导致速率仍然不高,另外,本程序限制选择文件大小不能超过100MB。

接收

接收部分相对发送部分稍微复杂一点,首先可以点击选择框选择需要使用的摄像头,然后点击“开始接收”,尝试能否打开,本程序目前只支持QCamera内置的几种视频编码样式,若打不开则表示该型号摄像头不支持,会提示相机不支持。若成功,就可以将相机对准发送端开始接收文件了。

二维码传输速率不快(FPS为12时约3.3KB/s左右),因为本程序主要解决的问题在开头已经说明了,是解决有无问题,即使完全无法传输变为可以传输一些小文件。建议传输文件大小小于100KB,这样时间还算可以接受。

传输完成后会自动弹出选择文件界面,若不选择位置,会提示重新尝试,点击取消不再保存,点击OK键重新尝试保存,注意安卓版需要自己添加文件后缀,pc版如果接收安卓版的文件也需要手工调整文件名和后缀。如果接收的文件为剪贴板读入,则会提示选择保存方式,可复制到剪贴板,也可保存为txt文件。

其他说明

注意:1.1、1.2、1.3版(1.3版和2.0版通用)只在该版本内通用,因为采用了不同的编码样式,请不要交换尝试

本程序分为xp版、32位和64位版(Win7及以上系统)。其中,xp版使用QT6.5.3动态库编译(这里分享一个经验:静态库编译很容易不适配,动态库部署后很轻易就能够适配),解压压缩包后文件夹中的exe文件即为程序本体;其他32、64位版为静态库编译,1.3.2.1版及之前的版本在部分操作系统上运行会提示缺少某个dll依赖,如果下图所示,若遇到,请下载总链接中的“QFileTrans_32bit_依赖.rar”或“QFileTrans_64bit_依赖.rar”(根据下载的exe版本确定),将文件解压后,根据rar中README.txt中的提示,把三个dll文件放到“C:\Windows\System32”路径下即可解决本问题。

另外,如果出现无法定位程序输入点_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE这个报错,请检查你的电脑系统环境Path下是否有其他非本链接提供版本的libstdc+±6.dll,这是因为win10引入新的错误检查机制造成的,使用了与编译版本不一致的libstdc+±6.dll会导致报错。

32位静态编译程序错误提示如下,64位同理:

本人没有安卓开发经验,QT也是新学的,安卓程序完全使用C++代码编译,权限为自动索取,经测试,只赋予摄像头权限即可使用。

安卓版程序编译为64位,没有内置32位,之所以没有编译32位版是因为本程序对性能有一定要求,我认为32位的处理器大概率带不动本程序,所以直接没有编译。

安卓版程序信息

安卓版程序索要权限

历史更新

1.1.6.1版
说明:初版

1.1.6.2版

说明:发送部分支持拖拽文件开始;优化接收部分多线程调用。

1.2.0.1版

说明:采用base64编码,1.1.6版和1.2.0版不通用请勿尝试

1.2.1.1版

说明:修复了上述base64编码库的小bug,使用了QT自带的qCompress函数可以压缩传输数据(对压缩包效果并不明显)。加入了xp的支持。
特别说明:1.2.1.1版分为xp版、32位和64位版(Win7及以上系统)。其中,xp版使用QT6.5.3动态库编译,解压压缩包后文件夹中的exe文件即为程序本体;其他32、64位版为静态库编译,32位版在部分没有运行库的Win7上会弹出如下图错误提示,请将连接中“32bit静态编译程序专用DLL.rar”文件解压后,将三个dll文件放到“C:\Windows\System32”路径下即可解决本问题。

1.2.1.3版

说明:为摄像头设置了自动连续中心对焦,添加了YUYV格式视频流的支持,但无法测试,大家可以测试一下然后说说怎么样。另外,这次发现了一个超大的失误,感谢CSDN@天玄奈何 发现的问题提醒了我。主要是安卓发布的版本错误,从1.2.0.1版开始一直到1.2.1.2版都是同一版1.2.0.1,没有变化。这次重新改了1.2.1.3版,安卓可以自动对焦,使用小米手机尝试了,其他几乎没有改动。这次提醒我以后发布前一定要全部从头测试一下!!

1.2.1.4版

说明:修复YUYV编码RGB颜色赋值错误问题。

1.3.1.1版

说明:全新传送算法,使用二维码字节模式进行文件传输,最大化二维码传输效率;全面转向CMake构建系统,为后续添加第三方现代化库打下良好基础。

1.3.1.2版

说明:发送部分在选择文件后可使用 空格 键开始发送,空格键也可以暂停;修改最大fps数值为35(这个没啥影响,用不了那么高)。

1.3.2.1版

说明:修改默认字体;安卓端修改部分UI为material样式;现可使用上下键调整FPS数值。

特别说明:从1.3.1.3版开始,本应用不再编译xp版本,之后二维码编码的算法应该不会再改变了,只会优化摄像头图像和界面的部分,xp版应该可以一直通用。

2.0.0.1版

说明:此版目前仅有安卓平台支持,但是与win10平台1.3.2.1版通用。安卓版简化了操作步骤,现在只需要一键即可开启传输,并且相机的旋转和水平设置在内部完成,自动识别。

特别说明:自2.0.0.1版开始前端全面换用qml语言编写,抛弃QWidget,安卓界面采用了qml内置的material风格,已经与普通安卓kotlin编译的程序无异。目前没有更新win10版的原因是qml在win10平台不支持静态编译,打包发布需要附带一堆文件,正在尝试更好的解决办法。

2.0.0.2版

说明:Win7请下载Win7版!采用动态编译加打包的方式发布win10版,后续全部采用该方式发布,不再考虑静态编译方式发布。win10版与安卓版界面、操作方式完全一致,在安卓版的基础上支持上下左右和空格五个快捷键。安卓版相比上一版调整了界面布局,修复了按键错位的bug。

2.0.0.4版

说明:修改了windows下的显示样式。修复了一些小bug,修复了安卓版开启发送情况下返回卡住的问题。

2.0.0.5版
说明:增加了读取剪贴板并发送的功能;修复了一些小bug。

2.0.0.6版
说明:修复了上一版中的一些bug。
特别说明:此版无意外为最终版

更多推荐

二维码文件传输小工具(可在两台完全隔离的设备之间使用) - QFileTrans 2.0.0.6

本文发布于:2023-04-14 03:38:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/14b138e5b0fbf483a5fbc4d5bf4be452.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:可在   两台   小工具   文件传输   设备

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 74591文章数
  • 14阅读数
  • 0评论数