Skip to content

jmfeck/youtube-video-tools

Repository files navigation

YouTube Video Tools

YouTube Video Tools is a modular, Python-based collection of video post-processing applications.
Designed for creators and developers, the toolkit automates common editing tasks—from subtitles and scene detection to AI-assisted editing.

Each tool lives in its own folder with a consistent structure:
input/, output/, config/, logs/, scripts/ — making the project easy to scale, customize, or contribute to.

This project is under active development. Expect frequent updates and new tools.

Project Status

  • ✅ Core tools like subtitle generation, translation, and burning are implemented and tested.
  • ❌ Many advanced and AI-powered tools are planned and will be added incrementally.
  • All tools are modular and live in separate folders.

Functions

✅ Implemented

  • subtitle_burner: Burns .srt subtitles into a video file using ffmpeg.
  • subtitle_generator: Generates .srt subtitle files from video files using OpenAI Whisper.
  • subtitle_translator: Translates subtitle files into different languages using offline models.

❌ Planned

Audio Tools

  • audio_cleanup: Remove or reduce background noise from video audio.
  • audio_extractor: Extract audio tracks (e.g., .mp3) from video files.
  • volume_normalizer: Normalize audio levels across multiple videos automatically.

AI Audio & Speech

  • ai_auto_tagger: Generate tags and keywords from transcripts and visual content.
  • ai_title_generator: Generate engaging clip titles from transcripts using LLMs.
  • ai_voice_overdub: Clone and overdub speech using the original speaker’s voice.

AI Editing & Automation

  • ai_editor_agent: Perform editing tasks based on text prompts via AI assistant.
  • ai_highlight_extractor: Automatically identify and extract the most engaging parts of a video.
  • ai_jump_cutter: Automatically remove silences and pauses to tighten pacing.
  • ai_retimer: Smartly adjust timing of video segments to enhance pacing and storytelling.
  • ai_shorts_generator: Create short-form content from longer videos using highlight detection.

AI Visual Tools

Frame & Thumbnail Tools

Metadata & Text

  • bad_word_muter: Detect and mute curse words or unwanted speech from videos.
  • video_scene_indexer: Generate a clickable index from scene detection to navigate videos.

Video Composition & Enhancement

  • intro_outro_merger: Automatically batch-add intro and outro segments to multiple videos.
  • video_compressor: Compress videos to reduce file size while maintaining quality.
  • video_resizer: Manually resize or crop videos for different dimensions and platforms.

Video Splitting & Timing

  • scene_splitter: Automatically split videos into clips based on scene changes.
  • speed_changer: Speed up or slow down videos in batch processing.
  • video_splitter: Split video into parts based on user-defined time ranges.

Setup Instructions

To run any of the tools in this project, follow these steps:

1. Create a virtual environment (recommended)

It's best practice to isolate dependencies using a virtual environment:

python -m venv venv

Then activate it:

  • On Windows:

    .\venv\Scripts\activate
  • On macOS/Linux:

    source venv/bin/activate

2. Install dependencies

Each tool folder may contain its own requirements.txt.
Install the dependencies using:

pip install -r requirements.txt

You can also generate your own requirements.txt after installing packages:

pip freeze > requirements.txt

3. Run the tool

Navigate to the desired tool folder (e.g., subtitle_generator) and execute the main script:

cd subtitle_generator
python scripts/main.py

Contributing

Contributions are welcome!
To contribute:

  1. Fork this repository
  2. Create your tool based on the folder structure (input/, output/, config/, logs/, scripts/)
  3. Submit a pull request

You can also open issues to report bugs or suggest features.

License

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


This README will be updated regularly as development progresses.

About

Local Python tools to automate YouTube video processing and subtitles

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published