JamTools:一款跨平台的多功能开源工具集

JamTools 是一款多功能、跨平台的开源工具集,支持 Windows、macOS 和 Linux 系统。其强大的功能包括截屏、录屏、文字识别、多语言翻译、多媒体格式转换、鼠标键盘动作录制与播放、局域网文件传输及内置的聊天机器人。无论是日常工作还是学习,JamTools 都能提供高效、便捷的解决方案。通过简单的操作,用户可以实现多种任务,提高工作效率。其开源特性也使得用户可以自由定制和扩展功能。

JamTools 介绍

JamTools 是一款跨平台的小工具集软件,支持 Windows 7/8/10/11、macOS、Ubuntu 系统(其他系统可直接从源码编译打包)。它涵盖了多种实用功能,如截屏、录屏、文字识别、多语言互译、多媒体格式转换、鼠标键盘动作录制与播放、局域网文件传输及聊天机器人等。该软件完全开源!

部分功能模块已独立整理为项目,包括:截屏功能、滚动截屏功能、视频播放器项目、网页端传输项目及客户端传输项目。

点击下载:JamTools工具

功能简介

酱截屏

截图功能快捷键为 Alt+Z,支持选区截图、多边形截图、滚动截屏等。用户可以将截图文件或图像数据复制到剪贴板,支持文字识别和翻译。左侧工具栏提供画笔、橡皮擦等简单绘图工具。滚动截屏功能支持自动和手动滚动,拼接准确率高,并且集成了录屏功能,可在截图时选区录屏。

酱识字

完全离线的文字识别功能。截屏提取文字功能已集成在截屏界面的小窗内,使用方便。此外,还可以批量识别上传的一张或多张图片中的文字,并且支持右键划屏提取任意位置的文字。

酱翻译

支持多语言翻译功能,无快捷键(极简模式下可通过浮窗使用)。用户可以输入文字进行多种语言互译,翻译功能已集成到截屏等界面。

酱录屏

录屏功能快捷键为 Alt+C,支持多种格式的屏幕录制,包括 GIF 等。用户可以选择录制区域或全屏录制,自定义编码速率、帧率、视频质量和声音源。录屏结束后点击通知可直接播放。

酱转换

提供多媒体文件的裁剪、拼接、压缩转码、提取混合等多种功能,类似于格式工厂,用户可自行探索。

酱控制

鼠标键盘所有动作的录制和重放功能,快捷键为 Alt+1 录制,Alt+2 播放/停止,F4 强制停止。支持批量重复操作自动运行,录制的动作脚本文件 (.jam) 可直接双击或拖入运行。

酱传输

提供快速的局域网传输功能,有客户端点对点连接和网页端共享两种方式,均支持数据双向传输。客户端传输通过连接码自动搜索并连接主机,网页端共享文件夹或其中的文件,支持文件上传和密码设置。

酱聊天

这是一个彩蛋功能,内置傻d机器人在线陪聊,来自思知人工智能平台。支持多轮对话,服务器速度较慢,但也提供了知识库训练支持。默认保留 50000 字节的聊天记录。

其他功能

划屏提字

在任何界面按下 Alt 键后用鼠标右键框选区域即可提取文字,并可设置自动翻译。

剪贴板翻译

监控剪贴板内容,在内容变化 7 秒内按下 Shift+Ctrl+Z 键触发,支持自动中英文翻译、网页自动打开、百度云链接提取码自动复制等。

小窗模式

系统托盘加小界面模式,小窗模式下不会显示主界面,截屏(Alt+Z)、小窗翻译(Alt+X)、录屏(Alt+C)、键鼠动作录制(Alt+1)及播放(Alt+2)均可调用,所有功能均在小窗显示。

JamTools 的多功能设计使其成为日常工作和学习的得力助手,提供了高效、便捷的使用体验。

功能展示

 

酱截屏(全局快捷键Alt+z)

 

  • 截屏功能页面,包含隐藏窗口、自动保存文件、复制文件还是图像数据、滚动截屏参数等

    JamTools 1
    JamTools 1

  • 支持截屏时选区录屏、文字识别(离线)、翻译等

    JamTools 2
    JamTools 2
  • 支持滚动截屏(长截图)
  • 截屏时有各种画笔橡皮擦工具、透视裁剪、油漆桶、多边形截图等工具
JamTools 3
JamTools 3

  • 支持将截屏固定到屏幕上,固定的截屏可以快速放大缩小(鼠标滚轮)、设置透明度、边框、置顶、文字识别等方便的操作

    JamTools 4
    JamTools 4

酱录屏(全局快捷键Alt+c)

 

支持设定录屏区域、录屏码率、帧率、录制鼠标、硬件加速、录制gif等各种常见格式的视频

JamTools 5
JamTools 5

酱识字

 

文字识别已经集成到截屏、固定截屏等页面,也可以通过主窗口的这个页面进行手动调用,支持批量识别。基于paddleocr离线识别。

JamTools 6
JamTools 6

酱转换

 

各种多媒体格式转化

  • 裁剪拼接

支持图片、视频、音频的简单裁剪拼接

JamTools 7
JamTools 7

  • 压缩转码

支持各种图片批量调整分辨率和格式、批量调整视频码率、帧率、分辨率等;

支持视频批量压缩,视频格式转换(包含gif等常见格式转换),支持视频批量打马赛克、批量添加、去水印(这个只是添加一个模糊而已);

支持音频批量格式、码率调整

支持gif批量压缩

JamTools 8
JamTools 8

  • 提取混合

支持将从视频提取音频、去除音频、混合音频,从视频中抽取图片帧,图片转视频,批量文件重命名等

JamTools 9
JamTools 9

酱控制

 

  • 录制你的键鼠动作并无限制重放动作,适用于批量重复操作的自动化,支持简单的播放条件设置
    JamTools 10
    JamTools 10

    JamTools:一款跨平台的多功能开源工具集

酱传输

 

局域网文件传输功能,能够在局域网内快速传输文件,有通过客户端传输和通过网页端传输两种方式。

  • 通过客户端传输,双方都装有jamtools,直接通过连接码建立连接,即可互发文件,支持断点续传、多线程传输

    JamTools 12
    JamTools 12

  • 网页端传输,有一方安装jamtools,选择共享文件夹,即可共享链接,对方可以下载该文件夹内的文件或者上传文件到文件夹,支持断点续传、多文件批量下载等

    JamTools 132
    JamTools 13

酱聊天

 

  • 彩蛋功能,聊天机器人

    JamTools 14
    JamTools 14

其它功能

 

  • 右键划屏提字/翻译

    JamTools 15
    JamTools 15

按下alt使用鼠标右键框选屏幕,即可快速提取框选中区域的文字并翻译

JamTools 16
JamTools 16

  • 智能剪切板,识别到剪切板改变内n秒(可以在设置内更改),按下shift+ctrl+z,可以快速翻译、打开链接(快速打开浏览器进入页面)、复制百度云提取码等操作

项目目录

 

目录结构:
│  CoreModels.py //主要核心文件,存放主要功能启动函数的地方,可以直接运行main.py //主程序文件,但是只是用来存放引入库的文件,防止打包出错,运行一键构建脚本将会自动编写该文件WEBFilesTransmitter.py //网页端传输模块WEBFilesTransmittertest.py //网页端传输模块测试例子,单独uiclientFilesTransmitter.py //客户端传输模块clientFilesTransmittertest.py //客户端传输测试例子,单独uijamcontroller.py //酱控制模块jamscreenshot.py //截屏模块jamroll_screenshot.py //滚动截屏模块jampublic.py //一些非常常用的公共引用类/方法,如翻译文字识别线程类等jamresourse.py //转化的资源文件jamtoolsbuild.py //一键构建脚本,调用该脚本即可自动分析项目引用,自动配置项目文件,自动编译/打包等, 基于fbs,后续将移除setjam.py //附加编译脚本,如在构建脚本中设置了编译,则会调用该脚本将所有库转化为c文件后编译,需要Cython支持
|  以下几个库文件是(作者自行编译的)不同平台下的缩略版opencv库(10M+),现在默认clone的项目将不会包含这些文件(因为太大了clone起来太慢),已经放在release里面了,要小一点的文件的话就自己去下载,或者直接安装完全版的opencv-contrib-python==3.4.2.17(70M+)..
│ \ cv2.cp37-win_amd64.pyd //windows下编译的opencv库,如需扩展功能,请自行安装opencv-contrib-python==3.4.2.17
│ \ opencv_world341.dll
│ \ cv2.cpython-37m-darwin.so //macos下编译的opencv库
│ \ libopencv_world.3.4.1.dylib
│ \ cv2.so //linux下编译的opencv库
│ \ libopencv_world.so.3.4.1requirement.txt //依赖列表audio_sniffer-x64.dll //windows下录音驱动screen-capture-recorder-x64.dll //windows下录屏驱动log.log //日志文件README.mdLICENSE
│  
├─bin
│  ├─darwin
│  │     ... //macos下存放ffmpeg和gifsicle可执行文件的文件夹,请自行下载,下同
│  │      
│  ├─linux
│  │     ... //linux下的...
│  │      
│  └─win32
│         ... //window下的..
│          
├─html //网页前端
│  │  favicon.ico
│  │  index.html //登录界面
│  │  jamlistdir.html //下载页面
│  │  jamupload.html //上传页面
│  │  test.html //测试
│  │  
│  ├─fonts //字体
│  │      fontawesome-webfont.eot
│  │      fontawesome-webfont.svg
│  │      fontawesome-webfont.ttf
│  │      fontawesome-webfont.woff
│  │      fontawesome-webfont.woff2
│  │      FontAwesome.otf
│  │      
│  ├─jamcss //css文件夹
│  │      font-awesome.css
│  │      JamTools.css
│  │      login.css
│  │      
│  ├─jamhtmlpic //图标文件夹
│  │      jamdowload.png
│  │      
│  └─jamjs //存放js的文件夹jquery-1.11.0.jsjquery.cookie.jsspark-md5.js
│          
├─imagefiles //存放图片的文件夹,
│  │  jamresourse.py //转化后的的资源文件
│  │  jamresourse.qrc //资源文件列表
│  │  setjamresourse.py //资源文件一键打包脚本,用于将图片文件转化为py文件,需要pyrcc支持
│  │  ... //图片文件
│  │  ...
│  │  ...
│  │  
│          
├─src //fbs打包的项目文件夹,通过一键构建脚本即可自动配置该目录(不用管)
│  ├─build
│  │  └─settings //打包信息
│  │          base.json
│  │          linux.json
│  │          mac.json
│  │          
│  ├─installer
│  │  └─windows
│  │          Installer.nsi //Windows下的nsis构建脚本
│  │          
│  └─main
│      ├─icons //图标文件夹
│      │  │  Icon.ico
│      │  │  README.md
│      │  ├─base
│      │  │      512.png
│      │  ├─linux
│      │  │      512.png
│      │  └─mac
│      │         512.png
│      │          
│      ├─python //存放源码的文件夹
│      │  │  clientFilesTransmitter.py
│      │  │  jamcontroller.py
│      │  │  jampublic.py
│      │  │  jamresourse.py
│      │  │  jamroll_screenshot.py
│      │  │  jamscreenshot.py
│      │  │  main.py
│      │  │  CoreModels.py
│      │  │  WEBFilesTransmitter.py
│      │  │  
│      │  └─__pycache__
│      │          main.cpython-37.pyc
│      │          
│      └─resources //存放附加资源的文件夹
│          └─base
└─target //fbs打包输出文件夹
│
│
└─testfiles //测试文件存放的文件夹,功能如名,只是用来测试最小例子
        ffmpegtest.py
        text2audio.py
        win32end2.py
        全局快捷键.py
        图片遮罩.py
        拼接部分相同图片(暴力遍历法).py
        比较相同.py
        泛洪填充.py
        滚动截屏2.0.py
        滚动截屏2.1.py
        滚动截屏3.0.py
        滚动截屏demo.py
        特征提取test.py
        相似拼接cv.py
        连接测试.py
        透视变换test.py
        透视裁剪test.py

使用及依赖

 

测试环境python3.7.8 in win7/8/10/11、ubuntu20.04/18.04/16.04、MacOS10.13/10.15

Wheel
Pillow
pynput
qrcode
requests
urllib3
pyttsx3
PyInstaller
baidu-aip
PyQt5==5.14
PyQt5-sip
PyQt5-stubs
onnxruntime
shapely
pyclipper
qt_material
numpy
Cython==0.29.21
fake-useragent==0.1.11
setuptools
chardet
comtypes
opencv-python # 如果需要更小体积的cv2,则可以从[这里](https://github.com/fandesfyf/JamTools/releases/tag/0.12.5)下载我重新编译好的删减版

也可以通过pip3 install -r requirement.txt安装所有依赖

此外,本软件多媒体处理能力主要依赖于ffmpeg库,需要自行下载ffmpeg(用于录屏和多媒体处理)和gifsicle(用于gif压缩)可执行文件放到bin目录对应操作系统的文件夹下,方可使用对应功能.

打包安装程序

 

原本的打包基于fbs库,但是高版本的fbs开始收费了,所以换成了cx_Freeze进行打包(感觉更好用了,白嫖真爽!)

  • 最近发现新版的 pyinstaller 打包pyqt5程序也挺好用的了,改成用pyinstaller进行打包(白嫖真爽+1)
# 需要安装/升级pyinstaller
pip3 install --upgrade pyinstaller
  • windows/ubuntu下打包:
pyinstaller installer.spec -y

会输出到dist中

  • windows 下打包为安装程序:

使用NSIS(Nullsoft Scriptable Install System)打包为安装程序,提供了一个安装程序脚本到./build/windows/Installer.nsi中,具体用法可以参考nsis教程

  • ubuntu下打包为deb包:

提供了几个有用的脚本在./build/ubuntu下供参考

TODO:

  • macos下打包还没有尝试,没有机器,pyinstaller应该是通用的流程,如果有人试过,欢迎提供脚本或教程

声明:所有白马号原创内容,未经允许禁止任何网站及个人转载、采集等一切非法引用。本站已启用原创保护,有法律保护作用,否则白马号保留一切追究的权利。发布者:白马号,转转请注明出处:https://www.bmhysw.com/article/50528.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
白马号白马号

相关推荐

  • 有好用的文本编辑软件吗(推荐这一款好用的文本编辑软件)

    当我们需要处理文本、笔记、或者编写代码时,选择一款好用的文本编辑软件变得尤为重要。而今天我要向大家推荐一款功能强大且符合多项需求的文本编辑软件——Notable。 Notable 是一款以 Markdown 为基础的文本编辑软件,它满足了许多用户的需求,无论是编写笔记、处理文本还是进行代码编辑。让我们来看看Notable的一些重要特点: 特点 描述 基于Ma…

    2023-09-05
    00
  • 如何轻松玩转windows 10系统(这6个隐藏实用技巧,没几个人知道)

    相信大部分人对电脑都不是很了解,其实Windows系统隐藏6个实用功能,很多人都不知道,学会后你也能轻松玩转电脑。 01.分屏功能 Win10其实是自带分屏功能的,这个功能对我来说真的太喜欢了,尤其是核对文档的时候,真的是太方便了! 操作方法:在文档页面下按【 Win键+←/→】,就能快速实现分屏了。 有时候觉得一个屏幕不够用,还可以试试多屏功能。一次可以打…

    2022-04-27 玩转Windows
    00
  • 组装电脑需要哪些配件?组装电脑配件详细介绍

    组装一台电脑可能对初学者来说是一项看似复杂的任务,但只要你按照正确的步骤进行,就能轻松完成。在开始之前,确保你已经准备好以下配件: 主板 CPU(中央处理器) 内存条 硬盘或固态硬盘 电源供应器(PSU) 显卡(如果主板不自带显卡) 机箱 显示器、键盘和鼠标 连接线缆 步骤一:准备工作 首先,确保断开电源并将电源线拔出,以防止任何电气事故。在装配电脑之前,你…

    2023-08-31 玩转Windows
    00
  • 电脑每次开机都回到初始状态解决方法(原因及解决方法)

    本文提供了一种解决电脑每次开机都回到初始状态的问题的方法。这个问题可能会导致用户在每次启动计算机时失去个人设置和数据。通过本方法,您可以通过本地组策略编辑器来更改设置,以确保计算机在退出时不保存设置,从而解决这一问题。 操作步骤: 按下快捷键 Win + R 打开运行窗口。 在运行窗口中输入 gpedit.msc 并按回车。 在本地组策略编辑器中,依次点击以…

    2023-09-09
    00
  • 此文件存在危险,因此chrome已将其拦截(firefox已拦截此页面上不安全的内容)

    如果您在尝试将文件下载到您的 PC 时在 Google Chrome 或 Mozilla Firefox 中看到“ 文件不是常用下载 ”消息,那么这篇文章将解释它的含义以及您需要做什么。 文件名不常被下载,可能很危险——Chrome 该文件不常被下载且可能不安全 – Firefox 文件通常不被下载,可能很危险 从 Chrome 或 Firefox 浏览器从…

    2022-03-30 玩转Windows
    00

联系我们

QQ:183718318

在线咨询: QQ交谈

邮件:183718318@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信