Projeler

Smart TV: Bilgisayarı Akıllı Televizyona Çeviren Program

Windows bilgisayarda çalışan, televizyon arayüzlü bir masaüstü uygulaması: YouTube, Spotify, canlı TV ve yerel medya tek ekranda, telefon ise kumanda. Kurulum gerektirmeden indirip çalıştırabilirsiniz.

Tarih
Rolüm
Ürün tasarımı + geliştirme
Durum
Sürüm 0.1.0
Teknolojiler
Electron · React · Node.js · WebSocket

Amaç

Bilgisayarı televizyona bağladığımda fare ve klavyeyle uğraşmadan, koltuktan kalkmadan kullanmak istedim. Bilgisayarı büyük ekranda akıllı TV gibi açan, telefonu da kumandaya çeviren bir program yazdım.

İndir

Windows 10/11 (64 bit), yaklaşık 155 MB. Kurulum gerekmez.

  1. Zip dosyasını MEGA'dan indirin ve Tümünü ayıkla deyin.
  2. Çıkan klasördeki SmartTV.exe dosyasını çalıştırın.
  3. Telefonu aynı Wi-Fi ağına bağlayıp ekrandaki QR kodu okutun.

Uygulama dijital olarak imzalı olmadığı için ilk açılışta Windows SmartScreen uyarı verebilir. Ek bilgi → Yine de çalıştır diyerek açabilirsiniz.

Neler yapıyor?

  • Uygulamalar: YouTube, Spotify, Netflix (deneysel) ve Google ana ekrandan açılıyor.
  • Canlı TV: Türk kanalları, favoriler ve kanal listesini güncelleme.
  • Yerel medya: Bilgisayardaki video ve müzikleri TV arayüzünde gezip oynatma.
  • Uygulama mağazası: İstenen web uygulaması eklenip kaldırılabiliyor.
  • Telefon kumandası: QR kodu okutunca tarayıcıda açılıyor, ek uygulama gerekmiyor. Tıklama yüzeyi, Geri / TV / Oynat / Sessiz tuşları ve ses kontrolü var.
  • Tasarım: Buzlu cam efektleri, odaklanınca yükselen simgeler, açılış ve kapanış animasyonları.

Nasıl çalışıyor?

Uygulama Electron ile yazıldı. Arayüzü React çiziyor, ana süreç ise web uygulamalarını, gücü, medyayı ve ayarları yönetiyor. Program açılınca içine gömülü küçük bir sunucu 3939 portunda başlıyor; telefon bu sunucuya WebSocket ile bağlanıp tuş komutlarını gönderiyor.

Arayüz (React) <-- ws://localhost:3939 --> Kumanda sunucusu (Express + ws)
      ^                                           ^
      | IPC                                       | Wi-Fi
      v                                           v
Ana süreç (Electron)                      Telefon kumandası (QR ile açılır)

YouTube gibi bir web uygulaması açıkken telefondan gelen tuşlar o sayfaya klavye ve fare olayı olarak iletiliyor. Eşleşme anahtarı bilgisayarda saklandığı için telefon bir kez eşleşince tekrar QR okutmaya gerek kalmıyor.

Uygulamalar manifest.json dosyalarıyla tanımlanan eklentiler olarak yükleniyor. Yeni bir uygulama eklemek için bir klasör ve tek bir dosya yeterli.

Bilmeniz gerekenler

  • Netflix deneysel. Şifreli içerik (Widevine) çalışıyor ama oynatmanın her durumda çalışacağını garanti edemem.
  • Bazı canlı kanallar kalıcı yayın adresi sunmuyor (adresler süreli jetonlarla veriliyor). Bu kanallar resmi yayın sitesi üzerinden açılıyor.
  • Uygulama Apple veya başka bir markayla bağlantılı değildir; arayüz kendi çizimimdir.

Öğrendiklerim

  • Şifreli video (DRM): Standart Electron Widevine içermiyor. Netflix ve Spotify gibi servisler için Widevine destekli bir Electron sürümüne geçmem gerekti.
  • Jetonlu yayın adresleri: Süreli adresleri kazıyıp listeye yazmak kalıcı çözüm değil; resmi siteyi göstermek hem dayanıklı hem de daha doğru.
  • Telefonu kumanda yapmak: Ek uygulama yerine yerel bir web sayfası sunmak, kurulum derdini tamamen ortadan kaldırdı.