Py-AutoVOD
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
-
Manually install ffmpeg and streamlink. Alternatively, you can do the installation automatically with
install.sh. -
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
-
Install from source using pip.
pip install -e .
-
Configure the streamers you want to monitor in
config.ini:[streamers] streamers = streamer1, streamer2, streamer3
-
Create a configuration file for each streamer where the file name is the streamer's username. The default configuration file
default.iniwill be used otherwise. -
Configure the main configuration file
config.ini. Downloaded VODs are processed into clips by default. -
Copy the
.env.examplefile to a new file called.env. Fill in the .env file with your API keys. -
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)
| File | Size | Uploaded | |
|---|---|---|---|
| autovod-1.1.0.tar.gz | 19.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|