Skip to main content

Convert audio files with static images to video format for YouTube and social media

Project description

audio2video

PyPI version Python Support License: MIT

Convert audio files with static images to video format for YouTube and social media

Transform your podcasts, NotebookLM audio, or any audio content into engaging videos by combining them with custom thumbnails. Perfect for content creators who want to upload audio content to YouTube or other video platforms.

✨ Features

  • 🎵 Multiple audio formats: WAV, MP3, FLAC, AAC
  • 🖼️ Multiple image formats: PNG, JPG, JPEG, BMP, GIF
  • 📹 High-quality output: Optimized MP4 videos for web platforms
  • Fast processing: Efficient conversion using MoviePy
  • 🛠️ Simple CLI: Easy-to-use command-line interface
  • 📱 Platform ready: YouTube, TikTok, Instagram compatible output

🚀 Quick Start

Installation

pip install audio2video

Basic Usage

# Convert audio + image to video
audio2video -a podcast.wav -i thumbnail.png -o output.mp4

# Using short flags
audio2video -a audio.mp3 -i image.jpg -o video.mp4

# Enable verbose output
audio2video -a audio.wav -i image.png -o output.mp4 --verbose

Advanced Options

# Specify output quality (18=high, 23=medium, 28=web)
audio2video -a audio.wav -i image.png -o output.mp4 --crf 18

# Set custom resolution
audio2video -a audio.wav -i image.png -o output.mp4 --resolution 1920x1080

# Set frames per second
audio2video -a audio.wav -i image.png -o output.mp4 --fps 30

📖 Use Cases

🎙️ Podcast to YouTube

Transform your podcast episodes into YouTube-ready videos with custom artwork.

🤖 NotebookLM Content

Convert AI-generated podcast content from NotebookLM into shareable video format.

📚 Educational Content

Create video lectures from audio recordings with presentation slides or graphics.

🎵 Music Releases

Combine music tracks with album artwork for music platform uploads.

💡 Examples

Batch Processing

# Process multiple files
for audio in *.wav; do
    audio2video -a "$audio" -i default_thumbnail.png -o "videos/${audio%.wav}.mp4"
done

🛠️ Development

Prerequisites

  • Python 3.9+
  • FFmpeg (automatically handled by MoviePy)

Local Installation

# Clone repository
git clone https://github.com/KaoruBB/audio2video.git
cd audio2video

# Install with uv (recommended)
uv pip install -e .

# Or with pip
pip install -e .

Running Tests

pytest tests/

Development with uv

# Run directly from source
uv run audio2video -a test.wav -i test.png -o test.mp4

# Install dependencies
uv pip install -r requirements.txt

📋 Command Line Options

usage: audio2video [-h] -a AUDIO -i IMAGE -o OUTPUT [--crf CRF] 
                   [--resolution RESOLUTION] [--fps FPS] [--verbose]

Convert audio files with static images to video format

required arguments:
  -a, --audio AUDIO     Input audio file (WAV, MP3, FLAC, AAC)
  -i, --image IMAGE     Input image file (PNG, JPG, JPEG, BMP, GIF)
  -o, --output OUTPUT   Output video file (MP4)

optional arguments:
  -h, --help            Show this help message and exit
  --crf CRF             Video quality (18=high, 23=medium, 28=web) [default: 23]
  --resolution RESOLUTION
                        Output resolution (e.g., 1920x1080) [default: 1920x1080]
  --fps FPS             Frames per second [default: 1]
  --verbose             Enable verbose output

🤝 Contributing

We welcome contributions! Please feel free to submit issues and pull requests.

Ways to Contribute

  • 🐛 Report bugs
  • ✨ Request features
  • 🔧 Submit pull requests
  • 📝 Improve documentation
  • 🧪 Add tests

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Built with MoviePy for video processing
  • Inspired by the need to convert NotebookLM podcasts to YouTube videos
  • Thanks to the open-source community for the amazing tools

🔗 Related Projects

📞 Support


Star this repo if you find it useful!

Made with ❤️ for content creators who want to bring their audio to the visual world.

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

audio2video-0.1.1.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

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

audio2video-0.1.1-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file audio2video-0.1.1.tar.gz.

File metadata

  • Download URL: audio2video-0.1.1.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for audio2video-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7a97f406e2d97af6ee64c418c6d4eeeaf4b928b798e420997ed1318c92330a21
MD5 3fc8ea9d5e3cee534edacc2c5a82369a
BLAKE2b-256 73a8d6dcfd88f670e39ddb9164534528880ada6539ddf538cae6c6cf56fcbb15

See more details on using hashes here.

File details

Details for the file audio2video-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: audio2video-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for audio2video-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 91a31af94d82566c47fdff62a33e42a4e4abf2936db08317e767b3485e7171bc
MD5 50743b49546a7028a6844b1ef3954c6a
BLAKE2b-256 101fcb7fb9da2ceea20df11aab29cea0920e1c265db559293c0200fced5db5b3

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