Araçlar & Çeviriciler
Açık Kaynak

PowerShell CLI Audio Streamer

PowerShellWindows Consolempv

Ağır GUI bileşenlerini atlayarak internet radyo endpoint'lerini doğrudan `mpv` motoru üzerinden oynatan, otonom ve son derece düşük kaynak tüketimine sahip CLI tabanlı PowerShell aracı.

Teknoloji Yığını

PowerShellWindows Consolempv

Sistem Metrikleri

Bellek ayak izini (memory footprint), standart web çalarların (~300MB) tüketiminden, yalnızca `mpv` daemon'unun ve uyku halindeki bir PS oturumunun ihtiyaç duyduğu minimum seviyeye indirger
Windows DWM (Desktop Window Manager) katmanını tamamen atlayıp headless donanımsal ses kod çözmeye (hardware decoding) zorlayarak grafik işleme maliyetlerini (overhead) sıfırlar

Bunu Neden İnşa Ettim?

"Tarayıcılar ve Electron tabanlı müzik çalarlar, basit bir ses akışı için dahi devasa RAM ve CPU tüketirler. Bu aracı, arayüz şişkinliğini (GUI bloat) tamamen aradan çıkarıp, ses akışlarını doğrudan yüksek düzeyde optimize edilmiş `mpv` daemon'una yönlendirmek (pipe) amacıyla yazdım. Geliştirme ortamlarında arka planda çalışırken sistem ayak izini (footprint) neredeyse sıfıra indirir."

Mimari & Kararlar

PowerShell host'u üzerinde çalışan senkron bir REPL döngüsü olarak yapılandırılmıştır. İstasyon metadataları ve ağ endpoint'leri bellek içi (in-memory) bir hashtable dizisinde tutulur. Akış yönlendirmesi, video render kancaları (hooks) açıkça devre dışı bırakılarak (`--no-video`), `&` çağrı operatörü (call operator) üzerinden `mpv` motoruna delege edilir. Kullanıcının `SIGINT` (Ctrl+C) sinyali ile alt süreci (subprocess) kesmesi durumu, `PipelineStoppedException` yakalanarak güvenli bir şekilde (graceful teardown) sonlandırılır.

Temel Özellikler

  • 01.Alt süreç (subprocess) delegasyonu ile `mpv` motoru üzerinden tamamen headless (arayüzsüz) ses akışı
  • 02.Menü indeksi seçimlerinde bellek erişim ihlallerini önlemek için `[int]::TryParse` kullanılarak uygulanan katı tip doğrulaması (strict type validation)
  • 03.Alt sürecin zombi process bırakmadan temiz bir şekilde sonlandırılmasını sağlayan kararlı `SIGINT` interrupt yönetimi