Skip to content

ertugerata/video_transcript

Repository files navigation

YouTube & Ses Dosyası Özetleyici (AI Video Summarizer)

Bu proje, YouTube videolarından ve ses dosyalarından transkript çıkaran, Google Gemini API kullanarak özetleyen ve verileri Supabase üzerinde saklayan modern bir web uygulamasıdır.

Uygulama, ağır medya işleme görevlerini (Whisper ile ses-metin dönüşümü, video indirme vb.) harici bir MCP (Model Context Protocol) sunucusuna devrederek hafif ve hızlı çalışacak şekilde tasarlanmıştır.

🚀 Özellikler

  • YouTube Entegrasyonu: URL üzerinden video transkriptini çeker (Türkçe/İngilizce öncelikli).
  • Dosya Yükleme: Ses dosyalarını (mp3, wav, m4a) yükleyip Whisper modeli ile metne dönüştürme.
  • Format Dönüştürme: Medya dosyalarını farklı formatlara (mp3, wav vb.) çevirme.
  • Yapay Zeka Özeti: Google Gemini (Flash/Pro) modelleri ile otomatik içerik özeti.
  • Veritabanı Geçmişi: Tüm işlemler Supabase'e kaydedilir, böylece önceki özetlere tekrar erişebilirsiniz.
  • Client-Server Mimarisi:
    • Client (app.py): Flask tabanlı kullanıcı arayüzü.
    • MCP Server: Arka planda çalışan medya işleme motoru (Varsayılan olarak uzak sunucuya ayarlıdır).

🛠️ Gereksinimler

  • Python 3.8+
  • Supabase Hesabı (Veritabanı için)
  • Google AI Studio API Anahtarı (Gemini için)

📦 Kurulum

  1. Projeyi Klonlayın:

    git clone <repo-url>
    cd <repo-klasoru>
  2. Bağımlılıkları Yükleyin:

    pip install -r requirements.txt
  3. Çevresel Değişkenleri Ayarlayın (.env): Proje ana dizininde .env dosyası oluşturun ve aşağıdaki bilgileri ekleyin:

    # Google Gemini API (Özetleme için)
    GEMINI_API_KEY=AIzaSy...
    
    # Supabase (Veritabanı için)
    SUPABASE_URL=https://sizin-proje.supabase.co
    SUPABASE_KEY=eyJh...
  4. Supabase Veritabanı Tablosunu Oluşturun: Supabase SQL Editor üzerinden transcripts tablosunu oluşturun:

    create table transcripts (
      id bigint generated by default as identity primary key,
      video_id text,
      url text,
      full_transcript text,
      simple_transcript text,
      language text,
      summary text,
      created timestamptz default now()
    );

▶️ Kullanım

Uygulamayı başlatın:

python app.py

Tarayıcınızda http://localhost:5000 adresine gidin.

  • YouTube Sekmesi: Video linkini yapıştırın. "Sunucu Kullan (MCP)" seçeneği işaretliyse işlem uzak sunucuda, değilse yerel API (altyazı varsa) ile yapılır.
  • Dosya Sekmesi: Ses dosyası yükleyin. Dosya Base64 formatında MCP sunucusuna gönderilir ve işlenir.
  • Ayarlar: Geçmiş kayıtlarınızı görebilir ve çıktıları .txt veya .md olarak indirebilirsiniz.

🏗️ Mimari ve MCP Sunucusu

Bu uygulama, ağır işlemleri (FFmpeg, Whisper, YT-DLP) kendi üzerinde yapmaz. Bunun yerine bir MCP Sunucusu ile konuşur.

  • Varsayılan olarak uygulama, uzak bir MCP sunucusuna bağlanacak şekilde yapılandırılmıştır.
  • Kendi MCP sunucunuzu kurmak ve çalıştırmak isterseniz mcp-media-server/README.md dosyasını inceleyin.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors