Try Live Demo

Canlı Yayın Uygulaması Nasıl Yapılır ?

Bir canlı yayın uygulamasını herhangi bir kütüphane kullanmandan geliştirmek aslında pek de kolay yapılabilecek bir geliştirme değil. Böyle bir uygulamayı geliştirmek video yayıncılığı konusunda ciddi miktarda teknik bilgi gerektirmektedir.  Bu yüzden konu ile ilgili çeşitli kütüphaneler kullanmak bu geliştirme işini kolaylaştıracaktır. İşte bu yazıda, çeşitli kütüphaneler kullanılarak bir canlı yayın uygulamasının nasıl yapılacağı anlatılmaktadır. Ayrıca örnek kodlarda Github’da bulunmaktadır.

Evet bir canlı yayın uygulamasını 3 temel adımda geliştirebilirsiniz.

Adım 1: Bir Medya Sunucusu Edinin

İlk olarak canlı yayının bir medya sunucusuna gitmesi ve medya sunucusu tarafından canlı yayının dağıtılabilmesi gerektiği için, bir medya sunucusu edinmek gerekiyor. Bu medya sunucusu Amazon AWS, Google Cloud, IBM Bluemix veya başka bir altyapı üzerinde çalışabilir. Hatta ilk aşamada test için kendi bilgisayarınızda bile deneyebilirsiniz.

Lisans ücretleri karşılığına bir medya sunucusu edinilebileceği gibi herhangi bir ücret ödemeden Red5+ Medya Sunucusunu deneyebilirsiniz.  Red5+ Medya Sunucusunu antmedia.io adresinden indirebilirsiniz. Red5+ Medya Sunucusu canlı yayınları RTMP, RTSP ve HLS formatlarına dağıtabilmekte ve canlı yayınları MP4 formatında kayıt edebilmektedir.  Bu sayede canlı ve kayıt edilmiş yayınlar tüm mobil ve masaüstü web tarayıcılarında oynayabilmektedir.

Red5+ Medya Sunucusunu indirdikten sonra uygun bir dizine çıkarınız ve red5.sh (Windows için red5.bat) dosyasını çalıştırınız.

./red5.sh

Bu komutu çalıştırdıktan sonra Red5+ Medya Sunucusu ekrana bazı loglar yazarak çalışmaya başlayacaktır. Bu aşamada lütfen bilgisayarınızın IP addresini de öğreniniz çünkü bir sonraki kısımda bu IP adresini kullanacağız.

Adım 2: Akıllı Telefonunuzdan Canlı Yayın Yapın

Bu kısım aslında ciddi derecede teknik bilgi gerektirse de, olabildiğince basitleştirdik. Yine de Akıllı Telefondan Canlı Yayın ile ilgili teknik bir kaç konu hakkında bilgi vermemiz faydalı olacaktır.

  • Akıllı telefonun kamerasından gelen görüntüleri enkod etmek için cihazların içerisinde H264 Donanım Enkoderleri kullanılmaktadır. Donanım enkoderleri Android 4.3 ile gelmeye başladığında bu uygulama Android 4.3 ve üstünde çalışabilmektedir. Donanım enkoderlerini kullanmak hem uygulamanın boyutunun küçük olmasını hem de verimli ve hızlı çalışmasını sağlamaktadır.
  • Canlı yayın medya sunucusuna RTMP protokolü kullanılmaktadır. Bunun için librtmp kütüphanesi kullanılmaktadır.
  • RTMP protokolü içinde FLV dosya yapısı ile canlı yayın gönderilmektedir.

Bu bilgilerden sonra şimdi uygulama kısmında geçelim.

Lütfen github’daki bu repoyu https://github.com/ant-media/LiveVideoBroadcaster klonlayınız.

git clone https://github.com/ant-media/LiveVideoBroadcaster.git

Repoyu klonladıktan sonra projeyi Android Studio ile açınız ve MainActivity.java dosyası içinde RTMP_BASE_URL değişkenini bulunuz ve bir önceki aşamada öğrendiğiniz bilgisayarınızın IP adresini bu değişkene yazınız.

Uygulamayı derleyiniz ve çalıştırınız. Uygulama çalıştığında aşağıdaki ekranı görmelisiniz.

Canlı Yayın Uygulaması Nasıl Yapılır

Canlı Yayın Uygulaması Nasıl Yapılır

Live Video Broadcaster düğmesine basınız. Ekran aşağıdaki gibi görünmelidir.

Akıllı Telefonunuzdan Canlı Yayın Yapın

Akıllı Telefonunuzdan Canlı Yayın Yapın

Canlı Yayın adı için mesela “test” yazın ve düğmeye basın.  Ekran aşağıdaki gibi gözüküyor olmalıdır.

Canlı Yayını Akıllı Telefonunuzdan Yapın

Canlı Yayını Akıllı Telefonunuzdan Yapın

Şu an medya sunucuna canlı yayın gönderiyorsunuz. Şimdi canlı yayını medya sunucusu üzerinden izlemeye çalışalım.

Adım 3: Canlı Yayını Akıllı Telefonunuzdan İzleyin

Eğer medya sunucunuz RTSP veya HLS destekliyorsa Android üzerinden canlı yayın çalmak aslında oldukça kolay bir işlemdir. Red5+ Media Server hem RTSP hem de HLS’i desteklemektedir. Bunun yanında eğer canlı yayında gecikmenin daha az olmasını istiyorsanız bu durumda RTMP kullanmanız gerekmektedir. Biz de canlı yayın oynatıcıya RTMP yeteneği kazandırdık. Aynı zamanda bu özelliği var olan elinizdeki örneğe entegre ettik. Canlı yayını oynatabilmek için bir önceki aşamada kurduğunuz uygulamayı başka bir android cihaza kurup çalıştırınız.

Uygulamayı açtığınız zaman bu sefer Live Video Player düğmesine tıklayınız. Aşağıdaki gibi bir ekran görmelisiniz.

Canlı Yayını Akıllı Telefonunuzdan İzleyin

Canlı Yayını Akıllı Telefonunuzdan İzleyin

Metin alanına bir önceki aşamada yazdığınız “test” yayın adını yazınız ve düğmeye basınız. Düğmeye bastığınız zamana diğer Android cihazınızın yaptığı canlı yayını kendi ekranınızda izliyor olmalısınız.

Yaptığınız Canlı Yayını Akıllı Telefondan İzleyin

Yaptığınız Canlı Yayını Akıllı Telefondan İzleyin

Tebrikler, bir akıllı telefondan canlı yayın yapıp medya sunucusu aracılığı ile başka bir akıllı telefondan o canlı yayını izlediniz. Eğer süreç içinde herhangi bir hata ile karşılaştıysanız veya sormak istediğiniz bir şeyler varsa lütfen antmedia.io adresinden bizimle iletişime geçiniz.

Kategoriler: Makale

chatsimple