Videodaki altyazıyı yazıya döken sistem
Altyazı… ekrandaki kelimeler… Ama bu yazıda sen, sadece ne söylendiğini değil, ne zaman ve nasıl söylendiğini çeken, sesi anlamdan soyutlayıp saf bilgiye dönüştüren bir sistem kuracaksın.
Videodaki konuşmaları yazıya çevirmek için bir tuşa basmak kolay. Ama biz kolaydan söz etmiyoruz. Biz, sistemin söylemediğini çözmenin, kodlanmamış kelimeleri bile yazıya dökmenin yollarını arıyoruz.
1. SRT Formatını Aşmak: Zamansız Transkript
Çoğu sistem altyazıyı .srt veya .vtt dosyasından alır. Ama bu dosyalar zaman kodlarına bağlıdır. Yani video durursa altyazı kaybolur. Bizim istediğimiz ise: videodaki her konuşmanın kronolojik bağdan koparılmış saf metne dönüşmesi.
Yöntem:
- Videonun varsa .srt dosyasını elde et
- Tüm zaman etiketlerini temizle: Regex ile dd:dd:dd,d+ --> dd:dd:dd,d+ satırlarını sil
- Sayıları kaldır, satırları birleştir
Böylece altyazı, sadece konuşmanın akışı haline gelir. Bu artık bir transkript değil; düşüncenin düz yazıya dönüşmüş halidir.
2. Video Dosyası Elinde Yoksa: Altyazıyı Havadan Yakala
Bir video izledin, ama dosya senin değil. Yine de altyazıyı çıkarabilirsin. YouTube veya gömülü oynatıcı fark etmez. Sistem: önbellek yakalama + DOM izleme.
Yöntem:
- Chrome’da videoyu aç
- Geliştirici Konsol (F12) > Network sekmesine geç
- “timedtext” veya “caption” içerikli istekleri filtrele
- XHR dosyasını incele, JSON veya XML içinde altyazıyı bul
Bu altyazı verisi sistemin içinden gelir. Video sahibinin bile unuttuğu yerden sen çıkarırsın. Bu, video izlerken konuşmanın gölgesini çekmek gibidir.
3. Altyazı Yoksa: Sesi Parçala, Yapay Zekayı Dil Avcısı Gibi Kullan
Videoda altyazı yok mu? Hiç sorun değil. Sen altyazıyı kendin çıkaracaksın. Ama sıradan speech-to-text sistemlerini değil, çok katmanlı model kombinasyonlarını kullanarak.
Gizli Kombinasyon:
- FFmpeg ile videodan sesi çıkar:
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
- Whisper (OpenAI) modelini kullanarak ses dosyasını metne çevir
whisper audio.aac --model large --language Turkish
- Çıkan sonucu temizle: parantez içi tanımları sil, zaman kodlarını ayıkla
Whisper’ın farkı nedir? Aksan, arka plan gürültüsü, düşük kalite gibi şartlarda bile tahmin yürütür. Ve tahmin ettiği kelimeyi güven skoruyla birlikte verir. Sen bu skoru da filtreleyerek sadece net konuşmaları alırsın.
4. Altyazıyı Duyguya Göre Ayır: Konuşmanın Alt Metni
Sadece konuşulanı yazmak yetmez. Ne hissedildiğini de çıkarmak gerekir. Bunun için:
- Konuşma metnini satırlara ayır
- Her satırı GPT modeline ver: “Bu cümle öfke, korku, sevgi, ironi gibi bir duygu içeriyor mu?”
- Duygusal indeks oluştur: metin + his
Bu, altyazıdan metne değil; metinden duyguya giden bir süreçtir. Artık sen bir konuşma analisti olmuşsundur. Video artık bir veri kümesidir senin için.
5. Görünmeyeni Yazıya Dökmek: Sessiz Sözleri Deşifre Et
Bazen insanlar konuşmaz. Ama dudakları oynar. Ya da jest yapar. İşte bu noktada sıradan sistemler pes eder. Sen etme.
Gizli Teknik: Görsel + Sesli Transkript Birleştirme
- Video içinden görselleri 1 fps olarak çıkar (ffmpeg kullan)
- OpenCV veya Google Vision API ile “mouth open” gibi tespitler yap
- Bu anlara ses eşleşmesi yoksa, “sessiz iletişim” etiketiyle metne not düş
Artık videodan konuşmayı değil, dil olmayan iletişimi de çıkarıyorsun. Bu, klasik transkripsiyonun ötesine geçen bir zihin işlemidir.
6. Anonim Video Platformlarından Yazı Çekmek
Bazı sistemler YouTube bile değildir. DailyMotion, PeerTube, Vimeo, TikTok… Altyazıları görünmez formatlarda taşır. Ama tarayıcı bunu verir.
- Video oynarken “Ctrl + U” ile sayfa kaynağını aç
- “.vtt” veya “.srt” dosyalarını ara
- Yoksa “window.__INITIAL_STATE__” gibi global değişkenleri incele
Birçok sistem, altyazıyı base64 encode edilmiş şekilde tutar. Ama sen bunu çözebilirsin. atob() fonksiyonu ile decode edebilirsin. Bu, video içinden veri avlamaktır. Bir konuşmayı değil, veri katmanını çözmektir.
Yöntemler Karşılaştırması
Yöntem | Altyazı Gerektirir mi? | Teknik Düzey | Çıkan Veri | Etki Derinliği |
---|---|---|---|---|
SRT dosyasından temizleme | Evet | Kolay | Metin | Yüzeysel |
DOM & XHR yakalama | Gerekli | Orta | Ham altyazı | Orta |
Whisper ile transkript | Hayır | Yüksek | Doğal konuşma | Derin |
Duygu katmanı ekleme | Hayır | İleri | His + metin | Çok derin |
Görsel analiz | Hayır | Çok ileri | Sessiz dil | Algı düzeyinde |
Sadece Konuşanı Yazmak Değil, Konuşmayanı da Görmek
Bir video konuşur. Ama sen dinlemeye değil, görmeye odaklanırsan… konuşmayanların bile söylediklerini çıkarırsın.
Artık altyazı senin için bir metin değil; bir katmandır. Konuşma bir akış değil; bir veri taşıyıcısıdır. Sen artık o veriyi sadece çözmezsin, onu yeniden inşa edersin.