基于 Python 的 Live2D 虚拟主播软件
本文介绍了一款基于 Python 开发的 Live2D 虚拟主播软件。项目使用 PySide6 构建 GUI,结合 MediaPipe 实现高精度实时面部捕捉,支持 Cubism 2.0/3.0/4.0 模型渲染。文档涵盖功能特性、系统要求、多平台安装指南(Windows/macOS/Linux)、配置说明及常见问题解答。适合虚拟主播及开发者参考使用。

本文介绍了一款基于 Python 开发的 Live2D 虚拟主播软件。项目使用 PySide6 构建 GUI,结合 MediaPipe 实现高精度实时面部捕捉,支持 Cubism 2.0/3.0/4.0 模型渲染。文档涵盖功能特性、系统要求、多平台安装指南(Windows/macOS/Linux)、配置说明及常见问题解答。适合虚拟主播及开发者参考使用。

一个基于 Python 的 Live2D 虚拟主播应用程序
使用 PySide6 + MediaPipe + Live2D 技术,支持实时面部捕捉的虚拟主播系统。
Live2D Virtual Streamer 是一个功能完整的虚拟主播应用程序,通过摄像头实时捕捉用户的面部表情和头部动作,并驱动 Live2D 角色模型进行同步表演。该项目集成了:
该应用程序适合虚拟主播、内容创作者、直播主以及对 Live2D 技术感兴趣的开发者使用。
基于 MediaPipe Face Mesh 的高精度面部追踪,支持眼睛开合、嘴部动作、头部旋转等多维度参数捕捉。可调节的影响系数和平滑因子,实现自然的动作过渡。
现代化的设置面板界面,系统托盘图标支持右键菜单快速访问,实时预览功能,直观的参数调节滑块,中文界面支持。
git clone https://github.com/yourusername/bbb-live2d-py-v4.git
cd bbb-live2d-py-v4
conda create -n live2d-mascot python=3.10
conda activate live2d-mascot
pip install -r examples/requirements.txt
# 双击运行 run.bat
# 或命令行运行
python main.py
python main.py
如果需要从源码构建 Live2D C 扩展模块:
# 1. 安装构建依赖
# Windows: 安装 Visual Studio 2019+
# macOS: 安装 Xcode Command Line Tools
# Linux: 安装 build-essential cmake
# 2. 构建项目
mkdir build && cd build
cmake ..
cmake --build .
# 3. 安装 Python 包
pip install -e .
git clone https://github.com/yourusername/bbb-live2d-py-v4.git
cd bbb-live2d-py-v4
conda create -n live2d-mascot python=3.10 -y
conda activate live2d-mascot
pip install -r examples/requirements.txt
python main.py/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install [email protected]
brew install --cask miniconda
git clone https://github.com/yourusername/bbb-live2d-py-v4.git
cd bbb-live2d-py-v4
conda create -n live2d-mascot python=3.10 -y
conda activate live2d-mascot
pip install -r examples/requirements.txt
python main.pysudo apt update
sudo apt install -y python3.10 python3-pip python3-venv git cmake build-essential \
libgl1-mesa-glx libglib2.0-0 libsm6 libxext6 libxrender-dev libgomp1
sudo pacman -S python python-pip git cmake base-devel mesa glu \
glib2 libsm libxi libxrender
git clone https://github.com/yourusername/bbb-live2d-py-v4.git
cd bbb-live2d-py-v4
python3.10 -m venv venv
source venv/bin/activate # Linux
# 或 source venv/bin/activate.fish # Fish shell
pip install -r examples/requirements.txt
python main.pypython main.py 或双击 run.bat(Windows)。程序启动后会显示 Live2D 角色窗口。程序会自动保存配置到 config.json 文件,下次启动时会自动恢复上次的设置。
配置文件位于项目根目录的 config.json,包含以下配置项:
{
"canvas": {
"width": 450,
"height": 700,
"show_border": false,
"show_background": false,
"show_image_background": false,
"background_image": "background_images\\xxx.jpg"
},
"performance": {
"fps": 31
},
"model": {
"center_x": 0.18,
"center_y": 0.11,
"scale": 1.2,
"current_path": "..."
}
bbb-live2d-py-v4/
├── app/ # 主应用程序
│ ├── __init__.py
│ └── main_window.py # 主窗口和 Live2D 渲染组件
│ ├── panels/ # 设置面板
│ │ ├── __init__.py
│ │ ├── settings_panel.py # 设置面板主文件
│ │ └── ui/ # UI 组件
│ │ ├── config_manager.py # 配置管理器
│ │ └── base_panel.py # 基础面板类
│ ├── fonts/ # 字体文件
│ └── pages/ # 设置页面
│ ├── about_page.py # 关于页面
│ ├── app_settings_page.py # 应用设置页面
│ ├── device_page.py # 设备设置页面
│ ├── display_page.py # 显示设置页面
│ ├── general_page.py # 通用设置页面
│ └── model_settings_page.py # 模型设置页面
│ ├── examples/ # 示例代码和资源
│ │ ├── main_*.py # 各种 GUI 框架示例
│ │ ├── facial_*.py # 面部捕捉示例
│ │ ├── mediapipe_capture/ # MediaPipe 捕捉模块
│ │ ├── resources.py # 资源路径管理
│ │ ├── requirements.txt # Python 依赖
│ │ └── README.md # 示例说明
│ ├── Resources/ # Live2D 模型资源
│ │ ├── v2/ # Cubism 2.0 模型
│ │ │ ├── haru/
│ │ │ ├── hibiki/
│ │ │ ├── shizuku/
│ │ │ └── ...
│ │ └── v3/ # Cubism 3.0/4.0 模型
│ │ ├── Haru/
│ │ ├── Mao/
│ │ ├── llny/
│ │ └── ...
│ ├── Live2D/ # Live2D C/C++ 核心库
│ │ ├── Core/ # Cubism Core
│ │ ├── Framework/ # Cubism Framework
│ │ ├── Glad/ # OpenGL 加载器
│ │ └── README.md # Live2D 库说明
│ ├── Wrapper/ # Python C 扩展封装
│ │ └── (构建生成的 Python 模块)
│ ├── package/ # Python 包
│ │ └── live2d/
│ │ ├── v2/
│ │ │ └── live2d.pyi
│ │ └── /
│ │ └── live2d.pyi
│ ├── background_images/
│ ├── cmake/
│ │ ├── Live2D.cmake
│ │ ├── Live2DViewer.cmake
│ │ └── Wrapper.cmake
│ ├── main.py
│ ├── config.json
│ ├── CMakeLists.txt
│ ├── run.bat
│ ├── wiki.txt
│ ├── 如何运行.txt
│ └── README.md
┌─────────────────────────────────────────────────────┐
│ 用户界面层 │
│ ┌──────────────┐ ┌──────────────┐ ┌────────────┐ │
│ │ 主窗口渲染器 │ │ 设置面板 │ │ 系统托盘 │ │
│ │ Live2DWidget │ │ SettingsPanel│ │ TrayIcon │ │
│ └──────────────┘ └──────────────┘ └────────────┘ │
└─────────────────────────────────────────────────────┘
↕
┌─────────────────────────────────────────────────────┐
│ 业务逻辑层 │
│ ┌──────────────┐ ┌──────────────┐ ┌────────────┐ │
│ │ 配置管理器 │ │ 面部捕捉器 │ │ 模型管理器 │ │
│ │ ConfigManager│ │ FacialCapture│ │ ModelManager│ │
│ └──────────────┘ └──────────────┘ └────────────┘ │
└─────────────────────────────────────────────────────┘
↕
┌─────────────────────────────────────────────────────┐
│ 核心引擎层 │
│ ┌──────────────┐ ┌──────────────┐ ┌────────────┐ │
│ │ Live2D 引擎 │ │ MediaPipe │ │ OpenCV │ │
│ │ live2d.v3 │ │ Face Mesh │ │ VideoCapture│ │
│ └──────────────┘ └──────────────┘ └────────────┘ │
└─────────────────────────────────────────────────────┘
↕
┌─────────────────────────────────────────────────────┐
│ 系统层 │
│ ┌──────────────┐ ┌──────────────┐ ┌────────────┐ │
│ │ OpenGL │ │ 摄像头硬件 │ │ 文件系统 │ │
│ │ 渲染上下文 │ │ Camera Device│ │ FileSystem │ │
│ └──────────────┘ └──────────────┘ └────────────┘ │
└─────────────────────────────────────────────────────┘
QOpenGLWidget,负责 OpenGL 上下文初始化和 Live2D 模型渲染,处理面部参数到模型参数的映射,支持背景、边框等视觉效果。pip install --upgrade pip,然后 pip install PySide6。pip install mediapipe==0.10.21。欢迎任何形式的贡献!
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)本项目基于 MIT 许可证开源 - 详见 LICENSE 文件。
本项目使用的第三方库遵循其各自的许可证:
感谢以下项目提供的灵感和参考:
特别感谢所有测试用户的反馈和建议,感谢 Live2D 社区提供的技术支持,感谢开源社区的贡献者们。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online