KMScript.com
KMS介绍
KMS下载
KMS市场
伙伴
帮助
DIGITIZED as KMScript
联系我们
扫码到手机
关联类目
最后更新
概念
已接入引擎表示 kmscript 软件已支持加载并调用的可用数据源的一种
例如图像引擎 demo.Tester 是我们自动化测试项目使用的图像引擎,它提供从当前电脑屏幕读取原始图像的功能
而图像引擎 melib.Camera 则是从摄像头读取图像
所有引擎的名称以小写字母起始均为 kmscript 官方引擎,已经内置在 kmscript 中,我们可以保障它们的安全和规范化使用。
所有大写字母起始的引擎
非 kmscript 官方引擎,需要用户自行
前往
脚本市场
下载它们的库文件并自行承担风险。
缺少引擎库文件会日志或提示错误,相关功能会缺失但不会在影响 kmscript 运行,请注意
阅读日志
已选的引擎在其启动时发生错误会恢复到默认的空引擎,例如摄像头引擎在启动时发现摄像头已经被拔出则会日志一个错误并恢复至空引擎。
如果引擎支持参数,则传递参数格式如同网址,例如 width=1024&height=768,格式为
参数名1=参数值1&参数名2=参数值2&参数名3=参数值3...
参数名 与 参数值 用 = 连接
多个参数用 & 连接
图示
图像引擎(可以在 kmscript 菜单 "从机管理" 中预览当前引擎图像,也可以调用
保存图片
函数取得其无损副本)
none.Null 空引擎,表示不使用该功能
此引擎接受的指令均成功,但没有实际执行。例如图像始终返回1x1黑色图像,按键均不实际产生
demo.Tester
演示和自动化测试引擎
能够从 Windows、X11(包括 Gnome/Xfce/Compiz/Fluxbox 等等所有窗口实现) 读取图像
可以借用此窗口系统获取其它源的投屏图像,例如手机的无线投屏
当拥有多个显示器以分离模式(非拼接)工作时,可在
引擎设备
选择需要的显示接口
melib.KMSI
录像 kmsi 重放引擎,有关 kmsi 请参见
文件格式的 kmsi 一节
支持从 kmsi 重放,
参数
为 kmsi 的文件路径,例如 pub/test1.kmsi
重放时单独进程按照原始录制时的时间前进,如期还原当时的图像。即它不是等待获取图像才前进一帧,必要的话请预留空闲时间
如果录像时长5秒,在脚本启动时它就开始按照预定速度前进。假设2秒后图像分析模块获取了图像那么该图像为录像的第2秒的图像
melib.Image
固定图像文件引擎
参数
为图片文件路径,例如 pub/1.png
获取图像始终为此文件图像,每次获取检查该文件最后修改时间如果与上次不同则重新加载
melib.Network
网络图像引擎
支持从特定地址读取图像,每次脚本获取图像均进行一次请求
参数
为图像网络地址,例如
kms://192.168.1.11:8181/
此方式允许当前 kmscript 从另一台同样运行有 kmscript 的设备读取图像,条件是与其
从机同步密码
一致
此方法不需要与目标 kmscript 为主从机关系
此方法目标 kmscript 必须已设置一个图像引擎,与其是否正在运行的脚本无关,仅获取其指定图像引擎的实时图像
http://www.example.com/get?img=png
此方式允许当前 kmscript 从指定 http 或 https 地址读取图像,每次请求会附带4个参数 &x=X&y=Y&width=W&height=H
参数 X/Y/W/H 分别为目标起始偏移坐标 x,y 和宽高 w,h
参数 X/Y/W/H 可能均为 -1,表示读取一次最大范围(全屏)图像
melib.Android_S0
Android 设备屏幕引擎
支持 Android 系统 API版本 5.0或以上
提供并支持 melib.Network 网络图像
参见
Android版本下载与运行
Libjp.Camera
摄像头引擎
支持 Linux 的
Video4Linux2
读取图像,几乎所有免驱摄像头都支持此接口
支持 Microsoft Windows 的摄像头读取图像,支持1394/USB/复合等接口
多个摄像头接口请在
引擎设备
进行选择,一些摄像头会有多重实现(例如公版和定制化制式、编码)
不支持 IP Camera,需要 Libjp.FFMi 引擎
希望以特定参数获取图像时,例如宽高帧率可设置
参数
例如 w=1024&h=768&fps=25 其含义如下
w=1024
值为宽度,摄像头必须支持此宽度
h=768
值为高度,摄像头必须支持此高度
fps=25
值为帧率,摄像头必须支持此帧率
在 linux 可以运行 v4l2-ctl --list-formats-ext 获取支持的格式
Libjp.FFMi
录像 mp4 重放引擎作为图像源,播放约定同 melib.KMSI
ffmpeg.org
的 定制实现
支持 Linux、MacOS、Windows
参数
为文件或网络路径,例如 pub/1.mp4
支持所有公共多媒体文件格式,其中wmv、rmvb 等私有格式需要自行取得其官方授权
支持 IP Camera、RTSP、TCP 等网络图像
例如 http://example.com/camera1?f=mjpeg&w=640&h=480
例如 rtsp://10.1.1.1:567/stream1
带控制参数的示例:
pub/1080p.mkv,vc=h264_cuvid&w=1280&h=720&fps=10&vs=0&ss=10000&sws=1
所有控制参数跟随在一个逗号之后,均为可选项(可以不提供)
vc 视频解码器,比如 h264_cuvid 使用 nvidia 的硬件解码
w, h 强制回放的尺寸
fps 每秒帧率
vs 视频的流索引号,从0开始
ss 开始的时间(毫秒),如 10000 = 10 秒
sws 缩放算法, 1 表示 SWS_FAST_BILINEAR
Libjp.Flycapture 摄像头引擎
ptgrey.com
的 flycapture-sdk 实现
支持 Linux、Windows
参数
含义如下
i=0
值为索引号,如果只有一个设备此参数可忽略
其它任何内置参数包括(详情将参见
官方开发文档
)
Brightness/Auto exposure/Sharpness/Hue/Saturation/Gamma/Iris/Focus/Zoom/Pan/Tilt/Shutter/Gain/Frame rate/White balance/Temperature
均可作为字符串连接,例如 i=0&Auto exposure=1
键盘引擎
none.Null 空引擎,同图像引擎本节部份说明
demo.Tester
演示和自动化测试,能够调用当前系统的API模拟键盘事件,仅在本机生效
如果目标以管理员权限运行则 KMScript 也必须以管理员运行否则此引擎的键鼠消息无法到达目标!
当拥有多个显示器可在
引擎设备
选择需要的显示接口,则消息将根据该屏幕进行偏移和生效
ab.VKM2
物理键鼠复合引擎,仅在特定系统存在,可以远程生效
此引擎由一根USB线同时提供物理键盘和鼠标信号
被连接至 Windows/Mac/Linux 和手机(otg),均无需额外驱动
键盘和鼠标信号发生器按照
usb.org 的 HID 规范设计
,也存在相同限制
同时按下的键不超过6个,第7个会覆盖第1个
支持与目标设备已连接的其它键盘的大小写、数字键盘等状态的同步
按照 QWERTY 键盘代码发生信号
参数
含义如下,特定应用请注意修改相应的值以避免被识别为虚拟设备
vid
Vendor ID,为USB厂商ID,默认为 12538(0x30fa)
pid
Product ID,为USB产品ID,默认为 768(0x0300)
ver
设备的厂商版本,默认为 256(0x100),即 v1.00
usb
USB 的版本,默认为 512(0x200),即 USB 2.0
sn
序列号,默认为 0
manufacturer
厂商名称,默认为 KMScript
product
产品名称,默认为 USB SMART KEYPAD
power
使用的功率(mw),默认为 250
特殊场合需求其它参数如本地化名称、部件描述、Configuration、Descriptor 等等依据
HID 1.1 协议
与我们联系
melib.Android_K0
Android 设备输入引擎
支持 Android 系统 API版本 7.0或以上
提供常用按键及触摸输入信号
参见
Android版本下载与运行
MCUAPP.KML
幽灵键鼠官方接入引擎,仅在本机生效
可编程键盘硬件实现,对于设备及操作系统而言如同物理键盘
多个设备请在
引擎设备
进行选择
MCUAPP.IGKM
幽灵键鼠官方 2020 年新版接入引擎,可以远程生效
其它说明同上一节
鼠标引擎
目前多数键盘实现均提供鼠标实现,请参考键盘引擎项说明
同时采用同一个键鼠套件提供的键盘和鼠标时,参数应当在键盘引擎里设置
在键盘采用键鼠套件时,鼠标可单独采用另一个引擎,鼠标信号会改用此指定的引擎发出
声音引擎
none.Null 空引擎,同图像引擎本节部份说明
melib.Mixer
支持从当前系统声卡混音器捕获声音
多个声卡接口请在
引擎设备
进行选择
libjp.OGG
支持对 OGG 文件的声音重放作为声音源
参数
为 OGG 文件路径,例如 pub/1.ogg
支持 flac 无损编码音频,例如 pub/1.flac
Libjp.FFMa
约定如同
Libjp.FFMi 一节
,但只解码声音,跳过对图像的解码(如果有)
骨骼配置:ui,值:li_tag