Linux ile Kendi Canlı Video Akış Sunucunuzu Oluşturun

Çoğu canlı akış aracı ve sitesi halka açıktır, ancak genellikle çevrimiçi görünmek istemeyebileceğiniz bilgileri sağlayarak bir hesap oluşturmanızı gerektirir. Reklamların arkasında bazı içerikler tutabilir ve kendilerine bile yapışamayacakları kafa karıştırıcı Hizmet(can ) Şartları içerebilirler  .(Service)

Canlı yayın yapma yeteneğinden hoşlanan, ancak videolarının kitlelere sunulmasına gerek duymayanlar var. Bunun yerine akışları ve ürettikleri içerik üzerinde daha fazla kontrol sahibi olmayı tercih ederler. Linux gibi açık kaynaklı(Open-source) yazılımlar bu engele en iyi cevaptır.

İleriyi düşünmek(Thinking Ahead)

Kendi kişisel yayın sunucunuzu kurmaya başlamadan önce kendinize birkaç soru sormalısınız. İlk(First) olarak, hangi kalitede yayın arıyorsunuz? Ardından(Next) , kaç izleyici çekmeyi bekliyorsunuz? Tüm akış içeriğinizi nerede depolayacaksınız? Bu içeriğe kim erişebilecek?

Sistem gereksinimleri de bir endişe kaynağı olarak görülebilir. Ancak, bu konuda tam olarak neye ihtiyacınız olduğuna dair belirlenmiş kurallar yoktur, bu nedenle kendinize bir iyilik yapın ve hedeflerinize en uygun olanı görmek için deney yapın.

Akışın ses ve video bölümünü hangi protokolün idare edeceğini bulmanız gerekecek. Gerçek Zamanlı Mesajlaşma Protokolü(Messaging Protocol) ( RTMP ) harika bir seçimdir ancak sizin durumunuzda daha iyi sonuç verebilecek WebRTC gibi başkaları da vardır . RTMP'nin(RTMP) geniş desteği var, bu yüzden bu makale için buna odaklanacağız.

Endişelenmeniz gereken başka bir şey de, "canlı" akışınızdaki olası gecikmelerdir. Canlı yayına geçmeniz, her şeyin mükemmel bir şekilde sıralanacağı anlamına gelmez. Video akışlarının kodlanması, aktarılması, arabelleğe alınması ve görüntülenmesi gerekir, bu nedenle akışın özelliklerinde biraz ince ayar yapılmasına gerek vardır.

Linux Sunucu Kurulumu(Linux Server Setup)

Ubuntu Linux benim kişisel favorim, bu yüzden burada tercih edilen sürüm bu olacak. GUI seçeneğini tercih edenler için Ubuntu Desktop mevcuttur. 

  • Ubuntu(Fire) yükleyicisini çalıştırın ve ihtiyaçlarınıza(Ubuntu) en uygun ayarları seçin. Bu bir sunucu olarak kullanılacağından muhtemelen bazı statik ağ ayarları yapmak isteyeceksiniz.
  • (Reboot)Kurulumdan sonra otomatik olarak başlamazsa sistemi yeniden başlatın . Ubuntu sistemi başlatıldığında, mevcut tüm güncellemeleri yükleyin :
sudo apt update
sudo apt upgrade

Bu akış sunucusu için Nginx web sunucusunu(Nginx web server) kullanacağız . Yükle:

sudo apt install nginx

Nginx'in medya akışınızı yönetebilmesi için RTMP modülünü satın alın:(Nginx)

sudo add-apt-repository universe
sudo apt install libnginx-mod-rtmp

Nginx'in yapılandırmasını, medya akışınızı kabul edip iletebilecek şekilde ayarlayın.

sudo nano /etc/nginx/nginx.conf

Yapılandırma dosyasının en altına aşağıdaki kodu ekleyin:

rtmp {
        server {
                listen 1935;
                chunk_size 4096;

                application live {
                        live on;
                        record off;
                }
        }
}

Yapılandırma dosyasını daha sonra çalışan bir akış sunucusu oluşturmak için kullanacağımız için kaydedin.

Nginx'i(Restart Nginx) yeni yapılandırmasıyla yeniden başlatın:

sudo systemctl restart nginx

Akış Yazılımı Kurulumu(Streaming Software Setup)

Sunucu hazır, şimdi akış yazılımınızı kurma zamanı. Bu çalışmada Open Broadcaster Software'i(Open Broadcaster Software) (OBS)  kullanalım .

  • Siteye gidin ve Linux için derlemeyi seçin . Yazılım başlatıldıktan sonra, OBS'yi(OBS) donanımınıza en uygun ayarlarla yapılandırın.
  • Kaynak(Source) 'ın hemen altındaki + işaretini tıklayarak bir akış kaynağı ekleyin .

  • Test amacıyla, Görüntü Yakalama(Display Capture) öğesini seçin ve kaynak için bir ad girin.
  • Tamam(OK) düğmesini tıklayın, OBS masaüstünüzü(OBS) yansıtacaktır.
  • Ardından, Dosya(File) sekmesini tıklayın ve Ayarlar(Settings) 'ı seçin . 

Akış bölümünde, Akış Türünü Özel olarak ayarla'yı(set Stream Type to Custom…) seçin ve Sunucu(Server) alanına aşağıdaki URL'yi girin:(URL)

rtmp://IPaddress/live 

IPaddress yerine akış sunucunuzun IP adresini girin.

Şimdi kendi Akış Anahtarınızı(Stream Key) oluşturun ve bunu Akış(Stream) anahtarı kutusuna girin. Hatırlayacağın bir şey yap ve yaz. Ek güvenlik için Kimlik doğrulama kullan(Use authentication ) kutusunu işaretleyin ve tercih ettiğiniz kimlik bilgilerini ekleyin.

Uygula(Apply) ve ardından Tamam(OK) düğmesi ile bitirin .

Artık her şey akış için yapılandırılmalıdır. İlk akışınızı başlatmak için Şimdi(Stream Now) Yayınla düğmesine basın . Her şey doğru şekilde yapıldığı sürece düğme, Akışı Durdur(Stop Streaming) olarak değişecektir . Akışınızın bant genişliği ölçümleri, OBS(OBS) penceresinin altında görünecektir .

İlk İzleyiciniz Olun(Be Your First Viewer)

RTMP'yi(RTMP) destekleyen çok sayıda açık kaynaklı medya oynatıcı vardır ve bunların en bilineni VLC medya oynatıcıdır(VLC media player) . Bu yazılımı kurun ve başlatın, Medya(Media) sekmesine tıklayın ve menüden Ağ Akışını Aç'ı(Open Network Stream) seçin. 

(Got)Akış Anahtarınız(Stream Key) elinizin altında ? Akışınızın yolunu yazın ve daha önce ayarladığınız Akış Anahtarını sonuna ekleyin. (Stream Key)Şuna benzemeli:

rtmp://IPaddress/live/SecretKey

Oynat'ı(Play) tıkladığınızda kendi akışınızın canlı görüntüsünü alırsınız.

Ek Önlemler(Additional Measures)

Artık temel bilgiler elde edildiğine göre, akış sunucunuza erişimi sınırlamak ve videolarınızı kaydedip kaydedebilmek ilginizi çekebilecek diğer iki faktördür.

Varsayılan olarak, herkes akışınızı görüntüleyebilir. Bu, ilk etapta sunucuyu oluşturma amacına aykırı olabilir. Bir Linux(Linux) güvenlik duvarı, .htaccess dosyası(.htaccess file) veya RTMP modülündeki yerleşik erişim denetimlerini(built-in access controls in the RTMP module) kullanarak sınırlı erişim ayarlamak isteyeceksiniz . Bu seçim size bırakılmıştır.

Burada sağlanan Nginx yapılandırması, yalnızca video akışı yapmanızı sağlar, ancak bunları kaydetmez. Bir depolama seçeneği eklemek için, Nginx yapılandırmasında, (Nginx)RTMP bölümünün hemen altında, akış kaydı seçeneklerini ayarlayabilir ve içeriğinizin kaydedilmesini ve saklanmasını istediğiniz bir konum sağlayabilirsiniz. 

(Set)Nginx'in(Nginx) yazmasına izin vermek için mevcut bir yolu ayarlayın . Aşağıdakileri girin:

uygulama canlı { (application live {)
             canlı yayında; (             live on;)
             hepsini kaydet; (             record all;)
             record_path /var/www/html/recordings;
             record_unique on;
}

Ubuntu Linux işletim sistemini(Ubuntu Linux OS) kullanarak bir canlı akış sunucusu kurarken ihtiyacınız olan tek şey bu . Canlı olmayan bir medya akış sunucusuyla daha fazla ilgileniyorsanız , OBS yerine Plex kullanılmasını öneririm .



About the author

IOS ve MacOS sistemlerinde 10 yılı aşkın deneyime sahip bir donanım mühendisiyim. Ayrıca son 5 yıldır akşam dersi öğretmeniyim ve kendime Google Chrome'u nasıl kullanacağımı öğrettim. Her iki alandaki becerilerim beni web sitesi geliştirme, grafik tasarım veya web güvenliği çalışmaları için mükemmel bir aday yapıyor.



Related posts