Skip to main content

Py-AutoVOD

MIT licensed Issues

Py-AutoVOD is a Python3 program that automates the downloading and uploading of livestreams from multiple streaming services. It has many configurable features for stream VODs, such as formatting, transcribing, and AI-powered clipping. This project was originally based on AutoVOD.

Features

  • ( ✔️ ) Auto download livestreams (Twitch.tv, Kick.tv, Youtube Live) from multiple streamers concurrently
  • ( ✔️ ) Audio transcription with timestamps
  • ( ✔️ ) Auto upload to RClone, YouTube, and more
  • ( ✔️ ) Smart AI video clipping
  • ( ✔️ ) Youtube shorts formatting
  • ( ❌ ) Archive both video and chat logs
  • ( ✔️ ) Platform independent and Docker supported

Installation & Setup

  1. Manually install ffmpeg and streamlink. Alternatively, you can do the installation automatically with install.sh.

  2. Python 3.10+ is required. Set up a Python virtual environment, then install the required packages:

    python -m venv env
    . env/bin/activate
    pip install -r requirements.txt 
    
  3. Install from source using pip.

    pip install -e . 
    
  4. Configure the streamers you want to monitor in config.ini:

    [streamers]
    streamers = streamer1, streamer2, streamer3
    
  5. Create a configuration file for each streamer where the file name is the streamer's username. The default configuration file default.ini will be used otherwise.

  6. Configure the main configuration file config.ini. Downloaded VODs are processed into clips by default.

  7. Copy the .env.example file to a new file called .env. Fill in the .env file with your API keys.

  8. Run the command to start AutoVOD:

    autovod
    

Uploading

Auto uploading for YouTube works with youtubeuploader, but it requires additional setup and configuration.

Clip Generation

You can generate clips from a video file directly using a script.

Download an example video file from YouTube:

python src/download_yt.py https://www.youtube.com/watch?v=dQw4w9WgXcQ

Run this command with the path to the video:

python3 src/process_vid.py <path/to/video>

Shorts Format

With ffmpeg you can convert mp4 into Youtube shorts format (9:16 aspect ratio):

ffmpeg -i input.mp4 -vf "crop=ih*9/16:ih,scale=1080:1920" -c:a copy output.mp4

Add background music:

ffmpeg -i input.mp4 -i music.mp3 -filter_complex "[0:v]scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2[v];[1:a]volume=0.3[a1];[0:a][a1]amix=inputs=2[a]" -map "[v]" -map "[a]" -shortest output.mp4

Transcription

Audio transcription is done with OpenAI's Whisper ASR. This feature can be configured in config.ini

Contribution

Contributors are welcome! Please feel free to submit a PR or issue.

Metadata

Release files for autovod 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autovod 1.1.0
File Size Uploaded
autovod-1.1.0.tar.gz 19.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for autovod 1.1.0
File Interpreter ABI Platform
autovod-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 41.4 kB

Release files / autovod-1.1.0.tar.gz

Download URL autovod-1.1.0.tar.gz
Size 19.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b9ce117da76b0827dde6d1a1a702856deb9ca7262a4f592acd335cdc416a2728
BLAKE2b-256 checksum
How to use checksums
b17bbc454e3db4d869ffce5a1cd075c1ee8328d040e4d531d3ddfd2ed5811cc8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.8

Release files / autovod-1.1.0-py3-none-any.whl

Download URL autovod-1.1.0-py3-none-any.whl
Size 21.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
828736effe652da2cf18a493bda98f7aca1be627521bc1cd6b91649be3aa70cb
BLAKE2b-256 checksum
How to use checksums
50b07fb8e9f54ed36c8a2475f0a4bb639b722c20290bc0e21c3deac2afe6f971
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.8

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page