Bilibili Remote
Bilibili Remote 是一个通过局域网浏览器控制本机视频播放、鼠标移动和鼠标按键的轻量遥控器。网页使用 WebSocket 与 Flask 服务通信,桌面输入由 PyAutoGUI 触发。
系统要求
- Python 3.11 或更高版本。
- 运行服务的电脑必须处于可交互的图形桌面会话中。
- Linux 建议使用 X11 会话;Wayland 可能会阻止 PyAutoGUI 注入键盘和鼠标事件。
- 使用时需要让目标视频窗口保持前台焦点。
在 Debian 或 Ubuntu 上,如 PyAutoGUI 缺少系统组件,可以先安装:
sudo apt-get update
sudo apt-get install -y python3-tk scrot
安装
发布到 Python 包索引后,可以直接安装:
python3 -m pip install bilibili-remote
从项目源码安装:
cd bilibili_remote
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install .
开发模式安装:
python -m pip install -e '.[dev]'
命令行用法
安装后会提供 bilibili-remote 命令:
bilibili-remote
默认监听所有网络接口的 5000 端口,即 0.0.0.0:5000。同一局域网中的设备可以打开:
http://<运行服务的电脑IP>:5000
Linux 下可以使用下面的命令查看本机局域网地址:
hostname -I
指定端口
例如监听 8080 端口:
bilibili-remote --port 8080
指定监听地址
仅允许本机访问:
bilibili-remote --host 127.0.0.1
同时指定地址和端口:
bilibili-remote --host 0.0.0.0 --port 8080
也可以通过 Python 模块启动:
python -m bilibili_remote --port 8080
查看完整参数或版本:
bilibili-remote --help
bilibili-remote --version
命令行参数:
| 参数 | 默认值 | 说明 |
|---|---|---|
--host |
0.0.0.0 |
Flask 服务监听地址 |
--port |
5000 |
Flask 服务监听端口,范围为 1-65535 |
--version |
- | 显示当前版本 |
构建安装包
python -m pip install '.[dev]'
python -m build
构建结果会生成在 dist/ 目录中。可以直接安装生成的 wheel 验证:
python -m pip install dist/bilibili_remote-0.1.0-py3-none-any.whl
控制接口
网页的 WebSocket 地址为 /api/ws,浏览器点击或触摸控件时不会发生页面跳转。
| API 动作 | 输入事件 |
|---|---|
/api/play-pause |
空格 |
/api/next |
] |
/api/rewind |
左方向键 |
/api/forward |
右方向键 |
/api/fullscreen |
F |
/api/mouse/left-down |
按下鼠标左键 |
/api/mouse/left-up |
抬起鼠标左键 |
/api/mouse/right-down |
按下鼠标右键 |
/api/mouse/right-up |
抬起鼠标右键 |
/api/mouse/move |
鼠标相对移动 |
鼠标移动消息示例:
{"endpoint": "/api/mouse/move", "data": {"dx": 10, "dy": -5}}
服务端会将单次横向和纵向位移分别限制在 -80 到 80 像素之间。WebSocket 意外断开时,服务端会自动释放该连接仍按住的鼠标键。
安全说明
此服务可以控制运行主机的键盘和鼠标,并且默认不包含身份验证。请只在可信局域网中运行;如果不需要局域网访问,请使用 --host 127.0.0.1。
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bilibili_remote-0.1.0.tar.gz.
File metadata
- Download URL: bilibili_remote-0.1.0.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.1 CPython/3.14.6 Windows/11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ca7be25e7fcbe4adcd57de9235d0f8f716c158e3eeba750813d43bc2a233e98
|
|
| MD5 |
2eac8ee45e7bcfec215f274959230342
|
|
| BLAKE2b-256 |
4158f94068ce79cbcc1f20f4b0be78247964b627123efd8115510fc7690911a0
|
File details
Details for the file bilibili_remote-0.1.0-py3-none-any.whl.
File metadata
- Download URL: bilibili_remote-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.1 CPython/3.14.6 Windows/11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a28c33e213ac51298d38fb7f825b2ffb1fd8798d032a3e94f1122997ff1f6da0
|
|
| MD5 |
d508c428ddbe380bf46879c3d0cf9dbe
|
|
| BLAKE2b-256 |
c245666c088ff7fc0d7890c4de690f9c79f126309a3f149d5175cb459799a8ac
|