Bot & Sistem Otomasyonu
Açık Kaynak

Go Concurrent Streamlink Orchestrator

GoGo Standard LibraryStreamlinkmpvGoroutinesContext API

HLS yayınlarını otomatize etmek için goroutine'ler ve Context API kullanarak çoklu proxy destekli Streamlink alt süreçlerini yöneten yüksek eşzamanlılıklı Go orkestratörü.

Teknoloji Yığını

GoGo Standard LibraryStreamlinkmpvGoroutinesContext API

Sistem Metrikleri

Ham HLS akışlarını doğrudan donanım hızlandırmalı `mpv` örneklerine yönlendirerek devasa tarayıcı (browser) işlem yükünü ortadan kaldırır
Context'e bağlı yürütme (execution), aktif olan tüm alt süreçlere anında $O(1)$ kapanma sinyali göndererek bellek sızıntılarını (memory leak) önler

Bunu Neden İnşa Ettim?

"Twitch ve Kick gibi platformlarda eşzamanlı izleme oturumları (viewing sessions) oluşturmak; proxy yönetimini, alt süreç (subprocess) kontrolünü ve ciddi bellek kısıtlamalarını yönetmeyi gerektirir. Puppeteer gibi hantal tarayıcı otomasyonları kullanmak yerine bu native Go aracını geliştirdim. Temel amaç, `streamlink` ve `mpv` örneklerinin yaşam döngüsünü, proxy rotasyonunu ve dinamik pencere yönetimini minimum sistem yüküyle (overhead) otonom hale getirmektir."

Mimari & Kararlar

Sistem, Go'nun eşzamanlılık (concurrency) yapıtaşları (`goroutines` ve `sync.WaitGroup`) üzerine inşa edilmiştir. Orkestratör, `exec.CommandContext` üzerinden `streamlink` alt süreçlerini başlatan worker'lar dağıtır. İşlem yaşam döngüleri ve güvenli kapanma (graceful teardown - SIGTERM/SIGINT yakalama) mekanizmaları Go'nun `context` ağacı ile yönetilir, bu da zombi process oluşumunu kesin olarak engeller. Motor, `mpv` pencereleri için dinamik X/Y uzamsal geometrisi hesaplar ve node başına RAM tüketimini minimize etmek için önbelleksiz (cacheless), düşük gecikmeli oynatma profillerini zorunlu kılar.

Temel Özellikler

  • 01.Context farkındalığına sahip, alt süreçleri güvenle senkronize eden ve sonlandıran goroutine tabanlı worker havuzu
  • 02.Doğrudan Streamlink parametrelerine enjekte edilen otonom proxy rotasyonu (SOCKS5/HTTP)
  • 03.`mpv` pencerelerinin ekranda çakışmasını önleyen matematiksel uzamsal geometri hesaplaması
  • 04.Uygulama sonlandığında tüm child process'leri temiz bir şekilde kapatan kararlı OS sinyal (interrupt) yönetimi