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.
- 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).
- Client (
- Python 3.8+
- Supabase Hesabı (Veritabanı için)
- Google AI Studio API Anahtarı (Gemini için)
-
Projeyi Klonlayın:
git clone <repo-url> cd <repo-klasoru>
-
Bağımlılıkları Yükleyin:
pip install -r requirements.txt
-
Çevresel Değişkenleri Ayarlayın (.env): Proje ana dizininde
.envdosyası 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...
-
Supabase Veritabanı Tablosunu Oluşturun: Supabase SQL Editor üzerinden
transcriptstablosunu 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() );
Uygulamayı başlatın:
python app.pyTarayı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ı
.txtveya.mdolarak indirebilirsiniz.
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.