Ant Media Server, canlı yayınları 3. parti noktalara yeniden yayınlayabilir. Diğer bir deyişle, canlı yayın, Ant Media Server vasıtasıyla aynı anda Youtube, Facebook, Periscope ve RTMP sunucusuna gönderilebilir.

Bu blog yazısında, bir geliştiricinin Ant Media Server’da bu işlevselliği nasıl kullanabileceğini göstereceğiz.

Adım Adım gideceğiz;

Sosyal Platformlarda Client Id and Secret Nasıl Oluşturulur ?

Bu fonksiyonları test etmek istiyorsanız, Test Client Id ve Client Secret almak için contact@antmedia.io adresine bizimle iletişime geçebilirsiniz. Eğer uygulama geliştiriyorsanız, lütfen bu yazıyı takip edin. Bu arada, Facebook ve Youtube yayıncılık özellikleri Enterprise Edition’da, Periscope yayıncılığı Community Edition’da bulunmaktadır.

  • Facebook: Facebook Geliştiricilerinde bir uygulama oluşturmanız gerekiyor. Uygulamayı oluşturduktan sonra, aşağıda gösterildiği gibi, App Id olarak  Client Id ve App Secret olarak da Client Secret  kullanabilirsiniz.
    facebook-test-app-dashboard

Bu arada, uygulamanızın publish_actions izni ve Live Video API özelliğine sahip olması gerekir.

  • Youtube: Google Developers Console’da bir proje oluşturmanız gerekiyor. Youtube API’si için Getting Started guide inceleyiniz.
    Kısaca;

    • Projedeki Youtube Data API v3 aktifleştirin.
    • Kimlik Bilgileri kısmına girin , “Kimlik Bilgileri Oluştur” a tıklayın ve çıkan popuptan “OAuth İstemci Kimliği” ni seçin.
    • Uygulama türünü “Diğer” olarak seçip “Oluştur” düğmesini tıklattıktan sonra istemci kimliği ve istemci anahtarı iletişim kutusunda gözükecektir.

youtube-api-v3-credentials-dashboard

Yukarıda listelenen öğeyi tıkladığınızda istemci kimliği ve istemci anahtarını görebilirsiniz.

  • Periscope: Öncelikle Periscope Producer API private beta program kabul etmelisiniz. Programa katıldıktan sonra, sadece periscope için giriş yapın ve sağ üst köşedeki profil fotoğrafınızı tıklayın. Sonra “Geliştirici” öğesini seçin.
    periscope-api-credential-dashboard

Bundan sonra “Uygulama Ekle” yi tıkladığınızda, istemci kimliği ve istemci anahtarı sayfada görünecektir.

Facebook, Youtube ve Periscope’u yayımlamak için uygulamayı nasıl yapılandırabilirim ?

  • WEB-INF klasöründeki Red5-web.properties dosyasını açın ve aşağıdaki kodları ekleyin.
    ... 
    periscope.clientId=WRITE_PERISCOPE_CLIENT_ID
    periscope.clientSecret=WRITE_PERISCOPE_CLIENT_SECRET
    
    youtube.clientId=WRITE_YOUTUBE_CLIENT_ID
    youtube.clientSecret=WRITE_YOUTUBE_CLIENT_SECRET
    
    facebook.clientId=WRITE_FACEBOOK_CLIENT_ID
    facebook.clientSecret=WRITE_FACEBOOK_CLIENT_SECRET
    ...
  • WEB-INF klasöründeki red5-web.xml dosyasını açın ve web.handler bean aşağıdaki gibi olmasına dikkat edin.
    <bean id="web.handler" class="io.antmedia.serverapp.pscp.Application" >
     <property name="videoServiceEndpoints">
      <list>
       <!-- Open this comment block if you use enterprise edition
       <bean class="io.antmedia.enterprise.social.endpoint.FacebookEndpoint" init-method="start">
         <constructor-arg value="${facebook.clientId}"/>
         <constructor-arg value="${facebook.clientSecret}"/>
         <constructor-arg ref="preference.store"/>
        </bean>
        -->
        <bean class="io.antmedia.social.endpoint.PeriscopeEndpoint" init-method="start">
          <constructor-arg value="${periscope.clientId}"/>
          <constructor-arg value="${periscope.clientSecret}"/>
          <constructor-arg ref="preference.store"/>
        </bean>
        <!-- Open this comment block if you use enterprise edition
        <bean class="io.antmedia.enterprise.social.endpoint.YoutubeEndpoint" init-method="start">
          <constructor-arg value="${youtube.clientId}"/>
          <constructor-arg value="${youtube.clientSecret}"/>
          <constructor-arg ref="preference.store"/>
        </bean>
        -->
      </list>
     </property>
     <property name="dataStore" ref="db.datastore" />
    </bean>
    

 

Facebook, Youtube ve Periscope için kimlik doğrulama nasıl yapılır?

Sunucunuz adına canlı yayınlamaya izin vermek için sunucuyu doğrulayın. POST komutu ile REST servisini çağırın.

http://SERVER_NAME:5080/APP_NAME/rest/broadcast/getDeviceAuthParameters/{serviceName}

{serviceName} ‘ı facebook, youtube veya periscope ile değiştirin. Bu servis, verification_url ve user_code’u içeren bir JSON verisi döndürür. Lütfen verification_url ve user_code’a değerleri giriniz. Birkaç saniye sonra user_code girerseniz, sunucu bu hizmet için kimliği doğrulanacaktır.

Ayrıca, sunucunun kimlik doğrulamasını doğrulayıp doğrulamayacağına bakmak için aşağıdaki dinlenme servisine bakabilirsiniz.

http://SERVER_NAME:5080/APP_NAME/rest/broadcast/checkDeviceAuthStatus/{serviceName}

Yine facebook, youtube veya periskopla {serviceName} değerini değiştirin.

Sosyal Platformlarda Canlı Yayın Nasıl Oluşturulur ?

http://SERVER_NAME:5080/APP_NAME/rest/broadcast/create

Aşağıda gibi POST komutu ile oluşturun ve Canlı Yayın JSON nesnesi gönderin.

{
   name:"live stream with social endpoints"
}

Bu REST servisi, having ve id alanına sahip bir Broadcast nesnesi döndürür.

  • Ardından, REST servisini bu kimliği ve sosyal ağ adını kullanarak arayın
http://SERVER_NAME:5080/APP_NAME/rest/broadcast/addSocialEndpoint

Bu REST servisi “application / x-www-form-urlencoded” formatını tüketir ve “id” ve “serviceName” alanlarını gerektirir.

Canlı Yayın Yayınlama Nasıl Başlatılır?

Aşağıdaki URL ile sunucuya canlı yayın yayınlamaya başlayın.

rtmp://SERVER_NAME/APP_NAME/ID

Lütfen değerleri buna göre değiştirin ve URL’deki “id” için yayının “id” sini kullanın. Bu “ID” değeri sunucu tarafından yukarıdaki bölümde verilen değerdir.

Ardından, canlı yayının görülebilmesi için sosyal medya hesabını kontrol edin.

Herhangi bir sorunuz olursa e-posta ile bize bildiriniz contact@antmedia.io

Kategoriler: Makale