A VHS archival workflow system using the Domesday Duplicator, Raspberry Pi Pico and Aliexpress Audio capture board for automated audio/video synchronisation.
This toolkit provides a complete workflow for digitising VHS tapes using the Domesday Duplicator hardware, featuring:
- Cross-platform support - Works on Linux, macOS, and Windows
- Automated workflow management - Complete pipeline from capture to final output
- Audio/video synchronisation - Automated alignment of audio to video
- Interactive control interface - Rich terminal-based UI for monitoring and control
- Job queue system - Parallel processing and batch operations
- Quality assurance - Built-in validation and error detection
- Conda (Miniconda or Anaconda)
- Git (for cloning and submodules)
- Domesday Duplicator hardware (for capture)
-
Clone the repository:
git clone <repository-url> cd ddd-capture-toolkit
-
Initialize submodules:
git submodule update --init --recursive
-
Run the setup script:
./setup.sh
This will:
- Install conda if not present
- Create the
ddd-capture-toolkitenvironment - Install all required dependencies including:
- FFmpeg, OpenCV, NumPy, Pillow
- Rich (for terminal UI)
- Audio processing tools (Sox)
- Video processing libraries
- Platform-specific build tools
-
Activate the environment:
conda activate ddd-capture-toolkit
-
Launch the main menu:
python3 ddd_main_menu.py
-
Configure processing locations (Menu → Configuration → Manage Processing Locations)
- Set your capture directory
- Add any additional processing locations
-
Check dependencies (Menu → System → Check Dependencies)
- Verify all tools are properly installed
- Ensure hardware connectivity
- Capture - Use menu option 1 for VHS capture workflows
- Monitor - Use menu option 2.1 for the Workflow Control Centre
- Process - Jobs will automatically progress through the pipeline:
- Decode (VHS-decode processing)
- Compress (intermediate format conversion)
- Export (TBC to video conversion)
- Align (audio synchronisation)
- Final (mux audio and video)
The Workflow Control Centre (menu option 2.1) provides:
- Project matrix view - Visual status of all projects across workflow stages
- Real-time progress - Live updates of job progress and system status
- Interactive control - Direct commands for job management
- System monitoring - Resource usage and performance metrics
Commands:
h- Show helpd- Show detailed informationq- Quitclean <project><step>- Clean stuck/failed jobs (e.g.,clean 1e)force <project><step>- Force restart workflow step
- Requires Xcode command line tools
- Uses conda-forge for most dependencies
- Hardware drivers may require additional setup
- Most comprehensive platform support
- All dependencies available through conda/system packages
- Recommended for production use
- Requires Windows Subsystem for Linux (WSL) or native Windows tools
- Some external tools may need manual installation
- Environment setup may require additional steps
"name 'Layout' is not defined" error:
- Ensure you've run
./setup.sh - Activate the conda environment:
conda activate ddd-capture-toolkit - Verify rich library:
python3 -c "from rich.layout import Layout; print('OK')"
Missing dependencies:
- Run the dependency checker from the main menu
- Reinstall environment:
./clean-setup.sh && ./setup.sh
Environment activation fails:
- Ensure conda is in your PATH
- Try:
source ~/.bashrcorsource ~/.zshrc - Manual activation:
conda activate ddd-capture-toolkit
- Check the system dependency checker (main menu)
- Review log files in the project directory
- Ensure all submodules are properly initialised
- Verify hardware connections and drivers
The toolkit consists of several integrated components:
- Main Menu System (
ddd_main_menu.py) - Entry point and navigation - Workflow Control Centre (
workflow_control_centre.py) - Interactive monitoring - Job Queue Manager (
job_queue_manager.py) - Parallel job processing - Project Discovery (
project_discovery.py) - Automatic project detection - Capture Tools - VHS capture and calibration utilities
- Processing Pipeline - Decode, compress, export, align, and mux stages
Configuration files are stored in the config/ directory:
processing_locations.json- Scan directories for projects- Job queue backups and state files
- Workflow step configurations
This project integrates several external tools:
- ld-decode - LaserDisc/VHS RF decoding
- vhs-decode - VHS-specific decoding
- tbc-video-export - TBC to video conversion
- Domesday Duplicator - Hardware interface
This project builds upon multiple open-source components. Please refer to individual component licences for specific terms.