热门排行
简介
QFileTrans传输小助手电脑版是一款好用的不同设备间文件互传小工具,实现不同设备之间的文件数据传输,界面虽然简陋,但功能经过多次测试,基本没有任何问题。发送部分对性能要求不高,但接收部分对cpu有很高的要求。
使用场景
本程序可以使用二维码在两台完全隔离(没有网络连接,没有蓝牙)的、有显示器和摄像头的设备之间传输文件,使用QT5.15.2开发,同时编译了pc的64版程序和安卓的64位版程序,界面虽然简陋,但功能经我多次测试,基本没有问题。发送部分对性能要求不高,但接收部分对cpu有很高的要求,配置比较低(测试平台:天玑720内存8G可流畅识别)的手机不能保证好用。
使用方法
两个平台的界面操作逻辑完全一致,但是安卓版程序界面针对竖屏设备专门修改了。
发送
首先要点击“选择文件”,选择一个需要发送的文件,暂时不支持文件夹、自动打包多个文件。
fps是指发送二维码的切换速度,默认为12,经测试这个帧率是识别率的边界,大于这个帧率的话手抖和摄像头图像质量对识别的影响非常大。
识别部分在内部自动裁切为720像素分辨率,若摄像头不支持高于该分辨率的模式则自动选择低分辨率。
选择完成后可以点击“开始发送”,将接收设备对准发送设备的二维码保持收稳住等待即可。在待接收码小于100块时界面会提示剩余二维码的索引,该索引从0开始。
进度条可以调节,拖动进度条可以修改显示二维码的索引,剩下码块不多的时候可以针对性地滑动到该码块处加快传输速度。
二维码编码采用明码编码,中间字符串为文件对应二进制信息,之所以没有采用二维码的字节编码模式是因为本程序调用了QZXing这个库,这个库目前不支持二维码字节编码模式。后续可能会优化编码方式。本程序限制选择文件大小不能超过5MB。
安卓版程序接收界面
pc版程序接收界面
接收部分相对发送部分稍微复杂一点,首先可以点击下方ComboBox选择需要使用的摄像头,然后点击“打开相机”,尝试能否打开,若打不开,建议不用试了,因为本程序使用的QCamera库支持的摄像头编码格式非常少,甚至我还手工添加了NV21的转换代码以支持部分手机摄像头。若成功,可以点击“水平”、”垂直“、”旋转“这三个按键调整摄像头图像的方向,因为本人水平有限,暂时没有研究安卓的硬件抽象层以自动调整摄像头方向,我认为手工调整的难度并没有那么大,加入自动调整的收益没有那么大。
如果上面一切正常,可以点击“开始接收”,再点击发送设备上的开始发送即可接收文件了。
因为采用明码编码,传输速度相当慢,差不多是1秒1KB不到,本程序主要解决的问题在开头已经说明了,是解决有无问题,即使完全无法传输变为可以传输一些小文件。建议传输文件大小小于40KB,这样时间还算可以接受。
传输完成后会自动弹出选择文件界面,注意安卓版需要自己添加文件后缀,pc版如果接收安卓版的文件也需要手工调整文件名和后缀。
其他说明
传输过程已使用base64编码,相较1.1.6版传输相同文件的二维码张数少40%左右,1.2.0版和1.1.6版不通用!!!!
32位和64位版(Win7及以上系统)。解压压缩包后文件夹中的exe文件即为程序本体;其他32、64位版为静态库编译,32位版在部分没有运行库的Win7上会弹出如下图错误提示,请将本链接中“32bit静态编译程序专用DLL.rar”文件解压后,将三个dll文件放到“C:\Windows\System32”路径下即可解决本问题。
本人完全没有安卓开发经验,QT也是新学的,安卓程序完全使用C++代码编译,权限为自动索取,经测试,只赋予摄像头权限即可使用。
安卓版程序编译为64位,没有内置32位,之所以没有编译32位版是因为本程序对性能有一定要求,我认为32位的处理器大概率带不动本程序,所以直接没有编译。
更新说明
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版,安卓可以自动对焦,使用小米手机尝试了,其他几乎没有改动。这次提醒我以后发布前一定要全部从头测试一下!!