Ant Medya Sunucusunun ilk versiyonu ile geliştiriciler kullanıcıların web tarayıcılarından WebRTC ile canlı yayın yapabilmelerini sağlayabilirler. WebRTC ile canlı yayınlanan videolar RTMP ve HLS ile yine canlı olarak izlenebilmektedir. Başka bir deyişle, kullanıcılar önceden flash ile web tarayıcılarından yaptıkları canlı yayınları bu sefer hiç bir eklentiye bağlı olmadan web tarayıcısının doğal olarak desteklediği WebRTC ile yapabilmektedirler.
Yeri gelmişken ifade edelim. Ant Medya Sunucusu açık kaynak kodlu ve ücretsiz bir yazılım olup geliştiriciler için bazı ekstra özelliklere sahiptir. Örnek vermek gerekirse canlı yayınlar MP4 olarak kayıt edilebilmekte ve canlı yayınlar HLS, RTMP ve RTSP ile oynatılabilmektedir. Bu sayede canlı veya kayıt edilmiş yayınlar hemen hemen tüm tarayıcılarda oynayabilmektedir. Ayrıca 360 derece yayın ve adaptif bitrate seçenekleri de Ant Medya Sunucusunun kurumsal versiyonunda bulunmaktadır.
WebRTC ile Ant Medya Suncusuna Canlı Yayın Gönderilmesi
Şimdi tekrar konumuza geri dönüp bu özelliği nasıl deneyebileceğimizi adım adım anlatmaya çalışalım.
- İlk olarak, https://antmedia.io adresinden Ant Medya Sunucusunu indirin ve uygun gördüğünüz bir dizine açın.
- Mac ve linux kullancıları için start.sh dosyasını çalıştırın. Windows kullancıları için öncellikle ant-media-server/lib/native dizinin tam yolunu sistemin ortam değişkenlerinden PATH’e ekleyin ve start.bat dosyasını çalıştırın
- Medya sunucusunun şimdi çalışmaya başlamış olması gerekiyor. http://localhost:5080/WebRTCApp adresine gidip aşağıdaki resimde olduğu gibi web uygulamasının camera ve mikrofona erişmesine izin verin.
- Kendinizi web uygulamasında görüyor olmanız gerekiyor. Şimdi ise “Start Broadcasting” düğmesine tıklayınız.
Şu an medya sunucusuna canlı yayın gönderiyor olmanız gerekiyor.
Canlı Yayının RTMP ve HLS ile İzlenmesi
Canlı yayını RTMP ile aşağıdaki komut ile oynatabilirsiniz.
ffplay “rtmp://localhost/WebRTCApp/stream1 live=1"
Eğer canlı yayını HLS ile oynatmak isterseniz, bir şey yapmanız gerekiyor. ant-media-server/webapps/WebRTCApp/web.xml dosyasında aşağıdaki satırda gösterilen “*” işaretini siliniz ve sunucuyu tekrar başlatınız.
<security-constraint> <web-resource-collection> <web-resource-name>Forbidden</web-resource-name> <url-pattern>/streams/*</url-pattern> <! — bu satırdaki “*” karakterini siliniz — > </web-resource-collection> <auth-constraint/> </security-constraint>
Şimdi HLS yayını aşağıdaki komut ile oynatabilirsiniz.
ffplay http://localhost:5080/WebRTCApp/streams/stream1.m3u8
Sıra şimdi de yayın durduktan sonra oluşan MP4 dosyasını RTMP ve HTTP ile oynatmakta.
Kayıt edilmiş yayını RTMP ve HTTP ile oynatma
Yayını RTMP ile oynatmak isterseniz aşağıdaki komutu çalıştırınız.
ffplay rtmp://localhost/WebRTCApp/stream1.mp4
Yayını HTTP ile oynatmak isterseniz ise aşağıdaki komutu çalıştırınız.
ffplay http://localhost:5080/WebRTCApp/streams/stream1.mp4
RTMP – WebRTC Adaptör
Son olarak geliştirdiğimiz RTMP to WebRTC adaptörden bahsedelim. Bu adaptör sayesinde sunucudaki herhangi bir yayını WebRTC ile oynatabilirsiniz. Bu adaptöre ise aşağıdaki adresten ulaşabilirsiniz.
http://localhost:5080/WebRTCApp/player.html
Bu arada sırası gelmişken, RTMP WebRTC adaptör her ne kadar görevini yerine getirse de bu aşamada kullanmak çok verimli değil. Sistem kaynaklarını olması gerektiğinden daha fazla tüketiyor. Bu yüzden gelecek versiyonlarda bu konuda iyileştirmeler yapılacaktır.
Umarım faydalı bir blog yazısı olmuştur. Sormak istediğiniz şeyler var ise yorum yazabilir veya contact at antmedia dot io adresine e-posta gönderebilirsiniz.