Try Live Demo

Bu makale içerisinde; RTMP den gönderilen Canlı Yayın, HLS üzerindeki gecikmesi nasıl düşürülebileceği hakkındadır. Fakat öncelikle, kullanılan teknolojiler olan RTMP ve HLS hakkında bilgilendirme yapacağız.

RTMP Nedir (Gerçek Zamanlı Mesajlaşma Protokolü) ?

RTMP açılımı Gerçek Zamanlı Mesajlaşma Protokolü anlamına gelir.  RTMP, eskide kalmış bir canlı yayın akışı protokolüdür aslında. Fakat şuanda RTMP, en yaygın kullanılan akış protokollerdendir

HLS Nedir (HTTP Canlı Yayın Akışı) ?

HLS (HTTP Canlı Yayın Akışı) protokolü Apple tarafından geliştirilmiştir. HLS akış protokolü, MP4 video içeriğini, kısa kısa 10 saniyelik parçalara bölerek çalışır. Kalitesi düşük bir kablosuz ağda HLS, oynatıcının daha düşük kaliteli bir video kullanmasına ve böylece bant genişliği kullanımını azaltmasına izin verir.

HLS videoları, aynı video için birden fazla sunucu sağlayarak, sunuculardan biri başarısız olursa, oynatıcının sorunsuz bir şekilde takas etmesine izin vererek sorunsuz bir şeklide kullanılmasına olanak sağlar.

RTMP’ den HLS Yayınına Gecikme Nasıl Düşürülür ?

HLS gecikmesini azaltmak için düzenlenmesi gereken bazı parametreler var ve şu an için 8-10 sn’ye düşürülebilir.

Parametrelerden biri, varsayılan olarak 2 sn olan HLS segment zamanı değerini düşük tutmaktadır ve bu değeri daha düşük gecikme süresi olacak şekilde azaltabilirsiniz ancak izleyiciler sorgulama sunucusuna daha sık istek göndermeye girmeye başlayacaktır bu da kaynak kullanımını arttırabilir.

obs keyframe setting

.İkinci kritik parametre, key frame yi her 2 saniyede gönderir (Bu değer HLS segment zamanı ile tutarlı olmalıdır) ve videoları 2 saniyelik bölümlere ayırmak çok önemli. OBS (Open Broadcaster Software), genellikle her 10 saniyede bir key frame gönderir. Bu yüzden gecikme 30 saniyeye kadar artar. Çünkü oynatıcının oynatmaya başlaması için 3 segmente ihtiyacı vardır.

Bu düzenlemeleri yaptıktan sonra gecikmeniz önemli ölçüde azalacaktır. Herhangi bir sorunla karşılaşırsanız yada sorularınız için contact dot antmedia.io adresinden yada https://antmedia.io#contact formdan bize ulaşabilirsiniz.

Kategoriler: Makale

Selim Emre Toy

Highly motivated full-stack developer with 6 years of experience especially in Java and Angular. Constantly learning, passionate about solving complex problems. Proficient in various programming languages and technologies. Enjoys finding creative solutions to challenges. You can reach me at https://www.linkedin.com/in/selimemre/