Automated build system for creating Windows portable packages of Pixelle-Video.
pip install pyyaml# Basic build
python packaging/windows/build.py
# Build with China mirrors (faster in China)
python packaging/windows/build.py --cn-mirror
# Custom output directory
python packaging/windows/build.py --output /path/to/output
Edit config/build_config.yaml to customize:
The build process creates:
dist/windows/
├── Pixelle-Video-v*-win64/ # Build directory (version number varies)
│ ├── python/ # Python embedded
│ ├── tools/ # FFmpeg, etc.
│ ├── Pixelle-Video/ # Project files
│ ├── data/ # User data (empty)
│ ├── output/ # Output (empty)
│ ├── start.bat # Main launcher
│ ├── start_api.bat # API launcher
│ ├── start_web.bat # Web launcher
│ └── README.txt # User guide
├── Pixelle-Video-v*-win64.zip # ZIP package (version number varies)
└── Pixelle-Video-v*-win64.zip.sha256 # Checksum (version number varies)
The builder performs these steps:
Download Phase
.cache/ for reuseExtract Phase
build/python/build/tools/ffmpeg/Prepare Phase
Install Phase
Copy Phase
Package Phase
Launcher script templates in templates/:
start.bat - Main Web UI launcherstart_api.bat - API server launcherstart_web.bat - Web UI only launcherREADME.txt - User documentationTemplates support placeholders:
{VERSION} - Project version{BUILD_DATE} - Build timestampDownloaded files are cached in .cache/:
.cache/
├── python-3.11.9-embed-amd64.zip
├── ffmpeg-6.1.1-win64.zip
└── get-pip.py
Delete cache to force re-download.
pip install pyyaml
Use China mirrors:
python build.py --cn-mirror
Check:
pyproject.tomlEnsure:
Create custom config file:
cp config/build_config.yaml config/my_config.yaml
# Edit my_config.yaml
python build.py --config config/my_config.yaml
Edit build_config.yaml:
build:
create_zip: false
Edit build_config.yaml:
chrome:
include: true
download_url: "https://path/to/chrome-portable.zip"
Edit config/build_config.yaml:
python:
version: "3.11.10"
download_url: "https://www.python.org/ftp/python/3.11.10/python-3.11.10-embed-amd64.zip"
Edit config/build_config.yaml:
ffmpeg:
version: "6.2.0"
download_url: "https://github.com/BtbN/FFmpeg-Builds/releases/download/..."
To distribute the package:
Users verify download:
# Windows PowerShell
Get-FileHash Pixelle-Video-v*-win64.zip -Algorithm SHA256
Compare with .sha256 file.
Same as Pixelle-Video project license.