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)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
白马号白马号

相关推荐

  • 手机 电脑 笔记本 电视机 无线投屏使用教程(支持全平台:Windows、Mac、Android、iOS、TV)

    今天主要来说一下如何进行不同设备之间的无线投屏。 今天的无线投屏教程支持:安卓、iphone、pc、以及mac os,首先我们需要打开电脑上的无线投屏功能,因为在默认情况下,系统是没有开启的,比如windows系统,我们先进入到设置中心,然后在这个查找设置这里输入关键词“投影设置”,接着我们打开它。 进入以后,我们点击“可选功能”。 然后进入到”查看功能“。…

    2022-02-11 玩转Windows
    00
  • Windows 11自动关机设置教程(操作步骤)

    摘要: 本教程将向您展示如何在Windows 11操作系统中设置自动关机功能。自动关机可以在特定时间点或一定条件下帮助您管理计算机的电源状态。 步骤 1:打开“设置” 首先,点击Windows任务栏上的“开始”按钮,然后点击设置图标(齿轮形状)以打开Windows设置。 步骤 2:选择“系统” 在Windows设置中,选择“系统”选项,以进入系统设置菜单。 …

    2023-09-09
    00
  • 富士施乐打印机怎么连接手机打印(富士施乐手机打印设置教程)

    如果您的富士施乐打印机支持WiFi网络,可以通过连接手机来打印文件。连接富士施乐打印机和手机的步骤如下: 步骤 操作 1 在富士施乐打印机上按下菜单按钮,进入菜单界面。 2浏览菜单,找到并选择管理员菜单选项。 3在管理员菜单中,查找并进入网络设置选项。 4在网络设置中,找到WiFi Direct功能,并开启它。 5设置WiFi Direct的SSID(WiF…

    2023-09-24 玩转Windows
    00
  • 微软将 Defender 保护伞扩展到谷歌云平台

      微软将扩展其 Defender for Cloud 服务的本机功能,以覆盖 谷歌云平台 (GCP),将世界上最大的三种公共云服务——Azure 和亚马逊网络服务 (AWS) 纳入同一范围内 网络保护伞 涵盖姿势管理和工作负载保护的。   微软表示,多年来,云行业一直在运营一种模式,每个提供商都专注于“保护自己的城堡”,但出于多种原因——其中突出的是大流行…

    2022-02-25
    00
  • 笔记本上的迈克菲杀毒软件卸载不了怎么办(解决方法)

    McAfee是一款杀毒软件,一般与部分电脑厂商进行合作,在操作系统中预装Mcafee杀毒软件。近期一个网友称自己是联想的笔记本,系统中预装了迈克菲(Mcafee)杀毒软件,在“控制面板”->“卸载程序”无法找到Mcafee程序,无法进行卸载。那么Mcafee杀毒软件卸载不了怎么办?下面装机之家分享一下系统预装迈克菲杀毒软件卸载方法。 系统预装迈克菲杀毒…

    2023-09-11 玩转Windows
    00

联系我们

QQ:183718318

在线咨询: QQ交谈

邮件:183718318@qq.com

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

关注微信