AraçlarAçık kaynak
PowerShell CLI Audio Streamer
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ı
- Diller
- Çatılar & kütüphaneler
- Araçlar
Performans & metrikler
- Bellek ayak izini (memory footprint), standart web çalarların (~300MB) tüketiminden, yalnızca
mpvdaemon'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
Neden geliştirdim?
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
- 01Alt süreç (subprocess) delegasyonu ile
mpvmotoru üzerinden tamamen headless (arayüzsüz) ses akışı - 02Menü indeksi seçimlerinde bellek erişim ihlallerini önlemek için
[int]::TryParsekullanılarak uygulanan katı tip doğrulaması (strict type validation) - 03Alt sürecin zombi process bırakmadan temiz bir şekilde sonlandırılmasını sağlayan kararlı
SIGINTinterrupt yönetimi