Ant Media Server sunucuda gerçekleşen temel olaylardan uygulama sunucunuz haberdar olsun diye webhook özelliğini desteklemektedir. Bu sayede, Ant Media Server’a kendi webhook URL adresinizi kayıt edebilir ve Ant Media Server’in bu URL adresini yeni bir yayın oluştuğunda, bittiğinde veya kayıt hazır olduğunda çağırmasını sağlayabilirsiniz. Öncelikle, Ant Media Server’a kendi webhook URL adresinizi nasıl kayıt edeceğinizi tanımlayalım. Sonrasında webhooklar hakkında referans bilgi verelim.
Webhook URL Belirleme
Ant Media Server üzerinde çalışan uygulamanız için hem varsayılan bir webhook adresi hem de rest servisi ile oluşturduğunuz yayınlar için özelleşmiş bir webhook adresi girebilirsiniz. .
Varsayılan Webhook URL
Varsayılan adres girmek için lütfen aşağıdaki adımları takip ediniz.
- red5-web.properties dosyasını açınız ve içerisine settings.listenerHookURL adından bir değişken tanımlayınız. red5-web.properties dosyası webapps/<app_name>/WEB-INF klasörü altında olmaktadır.
... settings.listenerHookURL=http://www.example.com/webhook/ ...
- red5-web.xml dosyasını açın ve app.settings nesnesine settings.listenerHookURL değişkenini ekleyiniz.
... <bean id="app.settings" class="io.antmedia.AppSettings" > ... <property name="listenerHookURL" value="${settings.listenerHookURL}" /> ... </bean> ...
- Sunucuyu tekrar başlatınız.
sudo service antmedia restart
Artık uygulamanız için varsayılan webhook adresi tanımlanmıştır.
Yayınlar için özelleşmiş Webhook URL
Ant Media Server rest servisleri ile yayınların oluşmasını sağlamaktadır. Bu sayede, eğer herhangi bir yayın için özel bir Webhook URL adresi girmek isterseniz, bunu rest service deki createBroadcast method ile yapabilirsiniz. createBroadcast methodunun Broadcast nesnesine tipinde parametresi bulunmaktadır. Broadcast nesnesninde listenerHookURL adından bir alanı vardır. Yani sonuç olarak , yayın oluştururken listenerHookURL adresini belirleyebilirsiniz.
Aşağıdaki Postman ile createBroadcast methodunun çağrılabileceği örnek bir JSON bulunmaktadır
Webhooks Listesi
Şimdi Ant Media Server’in hangi durumda webhookları hangi parametreler ile çağırdığını öğrenmeye geldi. Bunun için aşağıdaki kısa bir liste bulunmaktadır.
- liveStreamStarted: Ant Media server yeni bir yayın oluştuğunda bu webhook’u çağırır. Webhook adresine POST (application/x-www-form-urlencoded) methodu ile aşağıdaki değişkenler gönderilir.
- id: Yayın id’si
- action: “liveStreamStarted”
- streamName: Yayın adı
- category: Yayın kategorisi
- liveStreamEnded: Ant Media Server bir yayın bittiğinde bu webhook’u çağırır. Webhook adresine POST (application/x-www-form-urlencoded) methodu ile aşağıdaki değişkenler gönderilir.
- id: Yayın id’si
- action: “liveStreamEnded”
- streamName: Yayın adı
- category: Yayın kategorisi
- vodReady: Ant Media Server canlı yayının kayıt işlemi sonlandığında bu webhook’u çağırır. Webhook adresine POST (application/x-www-form-urlencoded) methodu ile aşağıdaki değişkenler gönderilir.
- id: Yayın id’si
- action: “vodReady”
- vodName: kayıt edilen dosyanın adı
Hepsi bu kadar. Sonuç olarak, Webhook adresinizde yukarıdaki değişkenlerin değerlerini okuyarak projenize göre belirli aksiyonlar alabilirsiniz.
Ümit ederiz ki bu yazı projenizin otomasyonu için size kolaylık sağlayacaktır. Herhangi bir sorunuz olursa, lütfen iletişime geçiniz. Size elimizden geldiğince yardımcı olmaktan mutluluk duyarız.