Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

YouTube Video Translator

YouTube videolarınızın başlık ve açıklamalarını 50 farklı dile otomatik olarak çeviren ve tek tuşla YouTube'a yükleyen ASP.NET Core MVC uygulaması.

Özellikler

  • ✅ YouTube'dan video bilgilerini otomatik çekme
  • ✅ OpenAI GPT-4o-mini ile 50 dile profesyonel çeviri
  • ✅ Çevirileri önizleme ve düzenleme imkanı
  • ✅ Tek tıkla toplu yükleme
  • ✅ Modern ve kullanıcı dostu arayüz
  • ✅ Paralel işleme ile hızlı çeviri
  • ✅ YouTube API kota yönetimi

Desteklenen Diller (50 Dil)

İngilizce, İspanyolca, Portekizce, Fransızca, Almanca, İtalyanca, Rusça, Japonca, Korece, Çince (Basitleştirilmiş), Çince (Geleneksel), Arapça, Hintçe, Bengalce, Pencapça, Telugu, Marathi, Tamilce, Urduca, Türkçe, Vietnamca, Tayca, Endonezce, Malayca, Filipince, Hollandaca, Lehçe, Ukraynaca, Rumence, Çekçe, İsveççe, Macarca, Yunanca, Danca, Fince, Norveççe, Slovakça, Bulgarca, Hırvatça, Sırpça, Litvanca, Letonca, Estonca, Slovence, İbranice, Farsça, Svahili, Afrikanca, Katalanca, Baskça

Gereksinimler

  • .NET 8.0 SDK
  • Google Cloud Console hesabı (YouTube Data API v3 için)
  • OpenAI API anahtarı

Kurulum

1. Google Cloud Console Kurulumu

  1. Google Cloud Console adresine gidin
  2. Yeni bir proje oluşturun veya mevcut bir projeyi seçin
  3. APIs & Services > Library bölümünden YouTube Data API v3'ü etkinleştirin
  4. APIs & Services > Credentials bölümünden OAuth 2.0 Client ID oluşturun:
    • Application type: Desktop app
    • Name: YouTube Translator (veya istediğiniz bir isim)
  5. Oluşturulan client ID'nin JSON dosyasını indirin
  6. İndirilen dosyayı client_secrets.json olarak projenin ana dizinine kopyalayın

2. OpenAI API Anahtarı

  1. OpenAI Platform adresine gidin
  2. API Keys bölümünden yeni bir API anahtarı oluşturun
  3. Anahtarı kopyalayın (sadece bir kez gösterilir)

3. Uygulama Yapılandırması

appsettings.json dosyasını düzenleyin:

{
  "OpenAI": {
    "ApiKey": "BURAYA_OPENAI_API_ANAHTARINIZI_YAPIŞTIRIN",
    "Model": "gpt-4o-mini"
  },
  "YouTube": {
    "ApplicationName": "YouTube Translator",
    "ClientSecretsPath": "client_secrets.json"
  }
}

4. Uygulamayı Çalıştırma

cd YoutubeTranslator
dotnet run --project YoutubeTranslator/YoutubeTranslator.csproj

Tarayıcınızda https://localhost:5001 adresine gidin.

Kullanım

Adım 1: Video Bilgilerini Çekme

  1. Ana sayfada YouTube video ID'sini veya tam URL'sini girin
    • Örnek ID: dQw4w9WgXcQ
    • Örnek URL: https://www.youtube.com/watch?v=dQw4w9WgXcQ
  2. Çevirmek istediğiniz dilleri seçin (Tümünü Seç butonu ile tüm 50 dili seçebilirsiniz)
  3. "Videoyu Çek ve Çevir" butonuna tıklayın

Adım 2: OAuth Kimlik Doğrulama

  • İlk kullanımda Google OAuth ekranı açılacak
  • YouTube hesabınızla giriş yapın ve izinleri onaylayın
  • Kimlik bilgileri kaydedilir, bir daha giriş yapmanız gerekmez

Adım 3: Çevirileri Önizleme

  • Tüm çeviriler tablo formatında gösterilir
  • İsterseniz çevirileri düzenleyebilirsiniz
  • Her dil için başlık ve açıklama ayrı ayrı görüntülenir

Adım 4: YouTube'a Yükleme

  • "Tümünü YouTube'a Yükle" butonuna tıklayın
  • Yükleme işlemi otomatik olarak başlar
  • İşlem birkaç dakika sürebilir (50 dil için)
  • Sonuç sayfasında başarılı ve başarısız yüklemeler gösterilir

Teknik Detaylar

Mimari

┌─────────────────┐
│   Controllers   │
│  Translation    │
└────────┬────────┘
         │
    ┌────┴────┐
    │         │
┌───▼──┐  ┌──▼────┐
│YouTube│  │OpenAI │
│Service│  │Service│
└───┬──┘  └──┬────┘
    │        │
    │        │
┌───▼────────▼───┐
│  YouTube API   │
│  OpenAI API    │
└────────────────┘

Önemli Sınıflar

  • TranslationController: Ana iş akışını yönetir
  • YouTubeService: YouTube Data API v3 entegrasyonu
  • OpenAiService: GPT-4o-mini ile çeviri işlemleri
  • LanguageConstants: 50 dil tanımları

Performans Optimizasyonları

  • Paralel Çeviri: 5 eşzamanlı OpenAI isteği
  • Batch İşleme: YouTube'a 5'erli gruplar halinde yükleme
  • Rate Limiting: API kota limitlerini aşmamak için gecikme
  • Caching: YouTube OAuth token'ları önbelleğe alınır

API Maliyetleri

OpenAI GPT-4o-mini

  • Input: $0.15 / 1M token
  • Output: $0.60 / 1M token
  • Ortalama maliyet (50 dil): ~$0.05-0.10 per video

YouTube Data API v3

  • Günlük kota: 10,000 units
  • Video okuma: 1 unit
  • Localization güncelleme: 50 units
  • 50 dil yükleme: ~2,500 units

Sorun Giderme

"client_secrets.json bulunamadı" hatası

  • Dosyanın proje ana dizininde olduğundan emin olun
  • Dosya adının tam olarak client_secrets.json olduğunu kontrol edin

"OpenAI API key not configured" hatası

  • appsettings.json dosyasında API anahtarının doğru girildiğinden emin olun
  • Anahtarın geçerli olduğunu OpenAI dashboard'dan kontrol edin

YouTube API kota aşımı

  • Google Cloud Console'da günlük kota kullanımınızı kontrol edin
  • Gerekirse kota artırımı talep edin
  • Daha az dil seçerek test edin

Çeviri kalitesi düşük

  • GPT-4o-mini yerine GPT-4 kullanmayı deneyin (daha pahalı)
  • appsettings.json'da model değerini değiştirin: "Model": "gpt-4"

Güvenlik Notları

  • ⚠️ API anahtarlarını asla Git'e commit etmeyin
  • ⚠️ appsettings.json dosyasını .gitignore'a ekleyin
  • ⚠️ Production ortamında User Secrets veya Azure Key Vault kullanın
  • ⚠️ client_secrets.json dosyasını güvenli tutun

Lisans

Bu proje MIT lisansı altında lisanslanmıştır.

Katkıda Bulunma

Pull request'ler memnuniyetle karşılanır. Büyük değişiklikler için lütfen önce bir issue açın.

İletişim

stardustdeveloper1@gmail.com

About

YoutubeTranslator

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages