Küçük amatör ligler için profesyonel görünüm, yüksek maliyet gerektirmez. Bu rehberde, 9 açık kaynak aracı kullanarak canlı yayın, skor takibi ve grafik otomasyonu kurmanın adımlarını, pratik ipuçlarını ve maliyet düşürücü yöntemleri adım adım anlatıyorum.
Neden açık kaynak? Küçük ligler için avantajlar
Açık kaynak yazılımlar lisans maliyetini ortadan kaldırır, topluluk desteği sayesinde hızlı çözüm bulunur ve ihtiyaçlara göre özelleştirme imkanı sunar. Küçük ligler genellikle sınırlı bütçeyle çalıştığı için, doğru araç seçimiyle hem profesyonel yayın kalitesi elde edilebilir hem de operasyon kolaylaşır.
Özet: Kullanacağımız 9 araç
- OBS Studio – Yayın ve sahne yönetimi
- Nginx + RTMP Module – Yerel yayın sunucusu (VPS üzerine kurulur)
- FFmpeg – Transkodlama, kayıt ve stream manipülasyonu
- CasparCG – Broadcast düzeyinde grafik ve playout
- NodeCG – HTML tabanlı overlay ve kontrol panelleri
- Video.Ninja (OBS.Ninja) – Tarayıcı tabanlı uzak kamera/konuk bağlantısı
- Socket.IO – Gerçek zamanlı skor ve kontrol güncellemeleri
- PostgreSQL – Maç/veri depolama
- Docker / Docker Compose – Kolay dağıtım ve bağımlılık yönetimi
Her bir aracın rolü ve neden seçilmeli?
OBS Studio
Canlı yayınların merkezidir. Sahne (scene) yönetimi, kaynak (camera, video, browser source) ekleme ve RTMP/Custom streaming ile sunucuya aktarım sağlar. Ücretsiz, kararlı ve eklenti desteği fazladır (OBS WebSocket gibi).
Nginx + RTMP Module
Kendi yayın sunucunuzu kurmanızı sağlar; böylece YouTube/Twitch dışındaki platformlarda da tam kontrol elde edersiniz. Tek bir düşük maliyetli VPS (ör. Hetzner/$6–10 aylık) ile 720p/30fps akışları birkaç maça yetecek biçimde yönetebilirsiniz.
FFmpeg
Sunucuda streamleri kaydetme, farklı bitratelara transkodlama veya simulcast (aynı yayını YouTube ve Facebook’a farklı profillerde gönderme) için gerekli. Ayrıca düşük gecikme için SRT veya HLS segmentasyonu kurulumunda kullanılır.
CasparCG
Broadcast sınıfı grafik ve playout sistemidir. Skor kartları, alt bantlar, hazırlı playout listeleri için güçlüdür. HTML/Flash tabanlı template desteği ile NodeCG veya OBS browser source ile entegrasyon kolaydır.
NodeCG
OBS içinde kullanılabilecek HTML/CSS/JS tabanlı overlay’ler oluşturmayı ve bu overlay’leri WebSocket/REST üzerinden kontrol etmeyi sağlar. Skor otomasyonu için ideal — maç verisini PostgreSQL’e yazıp NodeCG üzerinden anında grafiklere yansıtabilirsiniz.
Video.Ninja (eski adıyla OBS.Ninja)
Tarayıcı üzerinden düşük gecikmeli misafir/video feed alma. İhtiyaç halinde hakem, sunucu veya uzak yayıncıları kolayca karşılayıp OBS’e tarayıcı kaynağı olarak ekleyebilirsiniz.
Socket.IO
Sunucu ile yayın kontrol paneli/maç skorbord’u arasında gerçek zamanlı iletişim sağlar. Hızlı skor güncellemeleri, süre başlatma/durdurma, faul ve oyuncu değişiklikleri anlık olarak tüm bağlı overlay’lere iletilir.
PostgreSQL
Maç sonuçları, takım verileri, maç geçmişi ve otomasyon iş akışları için güvenilir bir veritabanı. SQLite küçük kurulumlarda iş görse de lig büyüdüğünde PostgreSQL daha sağlamdır.
Docker / Docker Compose
Tüm bileşenleri tek bir sunucuda kolayca çalıştırmak için kullanın. Nginx-RTMP, NodeCG, CasparCG, PostgreSQL gibi servisleri container içinde izole ederek taşınabilir bir altyapı elde edersiniz.
Hızlı kurulum akışı (pratik, adım adım)
- VPS seçimi: 1 vCPU, 2GB RAM, SSD — Hetzner veya DigitalOcean başlangıç için yeterli.
- Docker ortamı kurun: Tüm servisleri docker-compose ile başlatın. Böylece sunucu değiştirirken taşımak kolay olur.
- Nginx-RTMP ile yayın sunucusu: OBS’i RTMP adresine (rtmp://sunucu/live/lig1) gönderin. FFmpeg ile aynı anda kaydeder ve HLS üretirsiniz.
- NodeCG + Socket.IO: NodeCG bundle’ı overlay için kurun. Yönetici panelinden skor güncelleme formları oluşturun.
- CasparCG (opsiyonel): Grafik kontrolü için CasparCG kurun; ileri düzey hazır şablonları burada çalıştırabilirsiniz.
- Video.Ninja: Yedek kamera ve uzak konuklar için tarayıcı linkleri verin; OBS’e tarayıcı kaynak olarak ekleyin.
- Test ve provada otomasyon: Maç esnasında gözlemleyin, gecikmeleri ölçün ve gerekli transkod profillerini optimize edin.
Pratik konfigürasyon ipuçları
- Bitrate planı: 720p için 2500–3500 kbps; 1080p için 4500–6000 kbps. VPS upload sınırını kontrol edin.
- Yedek kayıt: FFmpeg ile sunucuda MP4 segmentleri alın; yayın düşse bile maç kaydı kurtarılabilir.
- Mobile skorbord: Basit bir web form (Node.js/Express) ile hakemlerin cep telefonundan anlık skor girebileceği bir arayüz oluşturun. Bu veriler Socket.IO ile tüm overlay'lere yayılır.
- Gecikme azaltma: RTMP yerine SRT veya WebRTC (Video.Ninja/OBS) kullanın; HLS yerine RTMP/SRT tercih edin.
- Kaynak tasarrufu: Birden fazla maç aynı anda değilse tek VPS üzerinde tüm servisleri çalıştırın; kaynak kullanımını Docker limitleriyle yönetin.
Örnek küçük bütçe mimarisi
Toplam maliyet tahmini (aylık):
- VPS: 6–10 USD
- Domain + SSL (Let's Encrypt): ~1–2 USD
- Yerel ekipman (kameralar, mikrofon): tek seferlik, ikinci el seçenekler ile 300–800 USD
Yazılım maliyeti sıfır; yalnızca hosting ve ekipman gideri olacaktır. Tek kişi veya gönüllü ekiplerle yönetilebilir.
Otomasyon örneği: Maç başlatma ve otomatik rekor tutma
1) Hakem web formundan "Maç Başlat" tuşuna basar. 2) Form REST çağrısıyla Node.js API'ye maç verisini kaydeder (PostgreSQL). 3) API, Socket.IO ile NodeCG overlay’ine "start" eventi gönderir; zamanlayıcı başlar. 4) FFmpeg sunucuda otomatik kayıt moduna geçer. 5) Maç bittiğinde "end" eventi ile kayıt durdurulur ve otomatik olarak YouTube için kısa bir highlights dosyası oluşturulur.
Gelişmiş öneriler ve tuzaklar
CasparCG yüksek güçlüdür ama öğrenme eğrisi vardır; ilk etapta NodeCG + HTML overlay ile başlayın. OBS sahneleri iyi organize edilmelidir; her maç için bir sahne şablonu oluşturun. Yedek internet hattı (mobil hotspot) kritik maçlarda hayat kurtarır.
Sonuç: Hemen başlayın, ölçeklendirin
Bu 9 açık kaynak aracıyla küçük liginiz için düşük maliyetli, sürdürülebilir ve profesyonel bir yayın ile skor otomasyon altyapısı kurabilirsiniz. Önce basit bir minimum viable system (OBS → Nginx-RTMP → NodeCG overlay → PostgreSQL) kurun, sonra CasparCG ve otomatik FFmpeg iş akışlarını ekleyerek olgunlaştırın.
Hızlı ipucu: İlk maç için bir prova yayın yapın ve maçta kullanılan üç ana senaryoyu test edin (başlama/durdurma, oyuncu değişikliği, teknik molası). Bu, yayın hatalarını büyük oranda azaltır.
Ek kaynaklar: OBS proje sayfası, Nginx-RTMP GitHub, CasparCG wiki, NodeCG örnek bundle'ları ve Video.Ninja dokümantasyonu başlangıç için yeterli dökümantasyonu sağlar.
Bu rehber, uygulamalı adımlar ve maliyet düşürücü taktiklerle küçük liglerin kendi yayın ve skor otomasyon sistemlerini hızla kurabilmesi için hazırlandı.