Skip to main content

Add your description here

Project description

PPTX to Video

Convert PowerPoint presentations (.pptx) into narrated videos with automatic translation and speech synthesis.

Features

  • Converts each slide of a PPTX file into a video segment
  • Extracts and translates slide notes into multiple languages
  • Synthesizes speech from translated notes using Google Text-to-Speech
  • Assembles narrated video for each language
  • Supports Linux, macOS, and Windows (with appropriate dependencies)
  • Command-line interface

Requirements

Install dependencies:

pip install .

Usage

python pptx-to-video.py path/to/presentation.pptx --languages English Spanish French --output_dir output_videos
  • pptx_path: Path to the input PPTX file (required)
  • --languages: List of languages for translation (default: en)
  • --output_dir: Directory to save output videos (default: output_videos)

Example

python main.py slides.pptx --languages English French --output_dir my_videos

Project Structure

ppt-to-video/
├── pptx-to-video.py
├── src/
│   ├── cli.py
│   ├── logger.py
│   ├── language_codes.py
│   ├── powerpoint.py
│   ├── powerpoint_engine.py
│   └── video_constructer.py
├── tests/
│   └── test_language_codes.py
|   └── test_powerpoint_engine.py
|   └── test_powerpoint.py
|   └── test_video_constructor.py
├── pyproject.toml
└── README.md

Development

  • Run tests with pytest:
    pytest
    
  • Lint and type-check with ruff and mypy.

License

MIT License


Note:

  • On Linux/macOS, LibreOffice must be installed and available in your PATH for slide-to-image conversion.
  • On Windows, Microsoft PowerPoint is required for slide rendering.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ppt_to_video-0.2.0.tar.gz (78.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ppt_to_video-0.2.0-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file ppt_to_video-0.2.0.tar.gz.

File metadata

  • Download URL: ppt_to_video-0.2.0.tar.gz
  • Upload date:
  • Size: 78.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for ppt_to_video-0.2.0.tar.gz
Algorithm Hash digest
SHA256 97ee09cf539ea25fb70a404f5875f31d22a6b69000496726898c968193db850c
MD5 4ce8cc0238d37dfd2f514099ee65cf94
BLAKE2b-256 408677b9b866d7197e3f5a8485feaf929127538ecfeac648c145b6dd902cede7

See more details on using hashes here.

File details

Details for the file ppt_to_video-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: ppt_to_video-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for ppt_to_video-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e6ec4e4de2af3b23475591afb76592b5d43db5d7859359be1e3ff724a0b8b1da
MD5 20ce369398f0a14b657ef8915b67dc14
BLAKE2b-256 4848e873234c1fbee8160bc8c146eca2922ec4bc7c29ea73e62a077a6eb022fc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page