An automated solution for creating and uploading videos to YouTube using Python. This bot can generate videos from images, add text overlays, create voiceovers, and automatically upload them to YouTube.
- 🖼️ Create videos from multiple images
- 📝 Add title and description overlays
- 🗣️ Text-to-speech voiceover generation
- 🎬 Professional transitions and effects
- ⚙️ Customizable video duration and frame rates
- 🚀 Automated video upload to YouTube Studio
- 📋 Set video title and description
- 🖼️ Custom thumbnail support
- 🔒 Privacy settings management (Public/Private/Unlisted)
- 👶 Not Made for Kids setting
- 🎨 Built-in background image library
- 🔤 Custom font support
- 🧹 Temporary file cleanup
- 📂 Asset organization in dedicated directories
- 🐍 Python 3.8 or higher
- 🌐 Chrome browser
- 🚗 ChromeDriver (matching your Chrome version)
- 🎞️ FFmpeg installed and added to PATH
- Clone the repository:
git clone https://github.com/yourusername/youtube-video-automation-bot.git
cd youtube-video-automation-bot- Install required packages:
pip install -r requirements.txt- Set up the directory structure:
youtube-video-automation-bot/
├── 📁 assets/
│ ├── 🖼️ backgrounds/ # Background images (included)
│ ├── 🔤 fonts/ # Fonts for text overlay (included)
│ ├── 🖼️ thumbnails/ # Generated thumbnails
│ └── 📁 temp/ # Temporary files
├── ⚙️ config/
│ ├── ⚙️ settings.json # Bot configuration
│ └── 📋 content.json # Content items to process
├── 📝 logs/ # Log files
└── 💻 src/ # Source code
{
"paths": {
"assets_dir": "assets",
"temp_dir": "assets/temp",
"font_path": "assets/fonts/default.ttf"
},
"youtube": {
"chrome_driver_path": "chromedriver.exe"
},
"video": {
"width": 1280,
"height": 720,
"fps": 1,
"frame_duration": 5
}
}[
{
"id": "video1",
"title": "Your Video Title",
"description": "Video description text",
"images": [
"backgrounds/image1.jpg",
"backgrounds/image2.jpg",
"backgrounds/image3.jpg"
],
"audio_text": "Text to be converted to speech"
}
]- Start Chrome in debug mode:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="C:\selenum\ChromeProfile"💡 Note: Make sure to create the directory
C:\selenum\ChromeProfilebefore running the command. This directory will store your Chrome profile data, including your YouTube login session.
-
Log in to YouTube Studio in the debug Chrome instance
-
Run the bot:
cd src
python main.pyThe bot will:
- 📖 Read content items from
content.json - 🎥 Create videos using specified images and text
- 🔊 Generate audio from the provided text
- 📤 Upload videos to YouTube with specified settings
- ✅ Mark completed items in
completed.txt
- 🖼️ Background Images: 3 random background images included in
assets/backgrounds/ - 🔤 Fonts: Default font (Bebas Neue) included in
assets/fonts/
- 🎯
src/main.py: Main entry point - 🎥
src/video_creator.py: Video creation and processing - 📤
src/youtube_uploader.py: YouTube upload automation - ⚙️
src/config_manager.py: Configuration management - 🔧
src/utils.py: Utility functions
- 📝 Comprehensive error logging
- 🧹 Automatic cleanup of temporary files
- 🔄 Failed upload retry mechanism
- 📊 Detailed logging in
logs/directory
- 🔱 Fork the repository
- 🌿 Create your feature branch (
git checkout -b feature/amazing-feature) - ✍️ Commit your changes (
git commit -m 'Add amazing feature') - 🚀 Push to the branch (
git push origin feature/amazing-feature) - 🎯 Open a Pull Request
- 🌐 Selenium WebDriver for YouTube automation
- 🎬 FFmpeg for video processing
- 🗣️ gTTS for text-to-speech conversion
- 🖼️ OpenCV and Pillow for image processing
For support, please open an issue in the GitHub repository or contact the maintainers.
Python kullanarak YouTube'a video oluşturma ve yükleme işlemlerini otomatikleştiren bir çözüm. Bu bot, görüntülerden video oluşturabilir, metin ekleyebilir, sesli anlatım oluşturabilir ve videoları otomatik olarak YouTube'a yükleyebilir.
- 🖼️ Birden fazla görüntüden video oluşturma
- 📝 Başlık ve açıklama metni ekleme
- 🗣️ Metinden sese dönüştürme ile sesli anlatım
- 🎬 Profesyonel geçişler ve efektler
- ⚙️ Özelleştirilebilir video süresi ve kare hızı
- 🚀 YouTube Studio'ya otomatik video yükleme
- 📋 Video başlığı ve açıklama ayarlama
- 🖼️ Özel küçük resim desteği
- 🔒 Gizlilik ayarları yönetimi (Herkese Açık/Gizli/Liste Dışı)
- 👶 Çocuklar İçin Değil ayarı
- 🎨 Dahili arka plan görüntü kütüphanesi
- 🔤 Özel yazı tipi desteği
- 🧹 Geçici dosya temizleme
- 📂 Özel dizinlerde içerik organizasyonu
- 🐍 Python 3.8 veya üstü
- 🌐 Chrome tarayıcı
- 🚗 ChromeDriver (Chrome sürümünüzle uyumlu)
- 🎞️ FFmpeg kurulu ve PATH'e eklenmiş
- Depoyu klonlayın:
git clone https://github.com/yourusername/youtube-video-automation-bot.git
cd youtube-video-automation-bot- Gerekli paketleri yükleyin:
pip install -r requirements.txt- Dizin yapısını oluşturun:
youtube-video-automation-bot/
├── 📁 assets/
│ ├── 🖼️ backgrounds/ # Arka plan görselleri (dahil)
│ ├── 🔤 fonts/ # Metin için yazı tipleri (dahil)
│ ├── 🖼️ thumbnails/ # Oluşturulan küçük resimler
│ └── 📁 temp/ # Geçici dosyalar
├── ⚙️ config/
│ ├── ⚙️ settings.json # Bot yapılandırması
│ └── 📋 content.json # İşlenecek içerik öğeleri
├── 📝 logs/ # Log dosyaları
└── 💻 src/ # Kaynak kod
{
"paths": {
"assets_dir": "assets",
"temp_dir": "assets/temp",
"font_path": "assets/fonts/default.ttf"
},
"youtube": {
"chrome_driver_path": "chromedriver.exe"
},
"video": {
"width": 1280,
"height": 720,
"fps": 1,
"frame_duration": 5
}
}[
{
"id": "video1",
"title": "Video Başlığınız",
"description": "Video açıklama metni",
"images": [
"backgrounds/image1.jpg",
"backgrounds/image2.jpg",
"backgrounds/image3.jpg"
],
"audio_text": "Sese dönüştürülecek metin"
}
]- Chrome'u hata ayıklama modunda başlatın:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="C:\selenum\ChromeProfile"💡 Not: Komutu çalıştırmadan önce
C:\selenum\ChromeProfiledizinini oluşturduğunuzdan emin olun. Bu dizin, YouTube oturum bilgileriniz dahil Chrome profil verilerinizi saklayacaktır.
-
Hata ayıklama Chrome penceresinde YouTube Studio'ya giriş yapın
-
Botu çalıştırın:
cd src
python main.pyBot şunları yapacaktır:
- 📖
content.jsondosyasından içerik öğelerini okur - 🎥 Belirtilen görüntüler ve metinlerle videolar oluşturur
- 🔊 Verilen metinden ses dosyası oluşturur
- 📤 Videoları belirtilen ayarlarla YouTube'a yükler
- ✅ Tamamlanan öğeleri
completed.txtdosyasına kaydeder
- 🖼️ Arka Plan Görselleri:
assets/backgrounds/içinde 3 örnek arka plan görseli - 🔤 Yazı Tipleri:
assets/fonts/içinde varsayılan yazı tipi (Bebas Neue)
- 🎯
src/main.py: Ana giriş noktası - 🎥
src/video_creator.py: Video oluşturma ve işleme - 📤
src/youtube_uploader.py: YouTube yükleme otomasyonu - ⚙️
src/config_manager.py: Yapılandırma yönetimi - 🔧
src/utils.py: Yardımcı fonksiyonlar
- 📝 Kapsamlı hata günlükleme
- 🧹 Geçici dosyaların otomatik temizlenmesi
- 🔄 Başarısız yükleme yeniden deneme mekanizması
- 📊
logs/dizininde detaylı günlük kaydı
- 🔱 Depoyu fork edin
- 🌿 Özellik dalınızı oluşturun (
git checkout -b özellik/harika-özellik) - ✍️ Değişikliklerinizi commit edin (
git commit -m 'Harika özellik eklendi') - 🚀 Dalınıza push yapın (
git push origin özellik/harika-özellik) - 🎯 Bir Pull Request açın
- 🌐 YouTube otomasyonu için Selenium WebDriver
- 🎬 Video işleme için FFmpeg
- 🗣️ Metinden sese dönüşüm için gTTS
- 🖼️ Görüntü işleme için OpenCV ve Pillow
Destek için lütfen GitHub deposunda bir konu açın veya geliştiricilerle iletişime geçin.