UYARI: İnternet bir özgürlük ortamı, evet fakat her site gibi bu site de yayınına devam edebilmesi için reklam almak zorunda, ama büyük ihtimalle siz de reklam görmekten sıkıldığınız için AdBlock veya benzeri bir programı kurdunuz. Bu durum anlaşılır bir durum birçok kişi bunu yapıyor, fakat bu yapıldığı zaman da siteler masraflarını karşılayamadıkları için kapanmak zorunda kalıyor. Sitemiz AdBlock kullanan birini "Sen siteye girme" kardeşim diye engellemiyor çünkü özgürlük bunu gerektiriyor, siteyi seven zaten AdBlock'u kapatıp desteğini gösterir buna gerek yok, bu yüzden sitede özgürce dolaşacak sadece her dolaştığınız sayfalarda bu uyarı bulunacaktır....
Logo
mobilmenu
RenkliKodlar
Youtube canlı yayını çekmek | 03 Aralık 2016

Youtube canlı yayını sitene ekle


Youtube'tan canlı bir yayını sitenize ekleyebilirsiniz ancak bu canlı yayın adresi değişen olacağı için bir süre sonra çalışmaz olacaktır, yayını yapan sunucu yeniden başlatılır veya yayın kesintiden sonra tekrar başlatılırsa farklı bir kimlikle yayınlanacaktır bize bu değişen kimliği kendi kendine güncelleyecek birşeyler gerekli bu dersimizde bunu PHP, ASP, ve JSON ile JQUERY küyüphanesini de kullanarak nasıl yapılacağını anlatmaya çalışacağım, konumuzda sürekli mekkeden canlı yayını yapan SaudiQuranTv kanalını örnek göstereceğim bu kanal https://www.youtube.com/user/SaudiQuranTv adresinde bulunmakta, defter kalem alın demiyorum ama bir çay demlerseniz hiç fena olmaz işimiz biraz uzun sürecek :)

Öncelikle dediklerimi yapabilmemiz için Google'dan API anahtarına ihtiyacımız var kodlara geçmeden önce bunu nasıl alacağımızı resimlerle sonra da sırasıyla bahsettiğim kodlama dillerini tek tek anlatacağım dilerseniz hemen Google'dan API anahtarı alalım ve başlayalım.

Google'dan API kimliği almak


Bir google kullanıcısı olduğunuzu var sayıyorum, öyleyse buydun buraya https://console.developers.google.com sayfaya ilk girişiniz ozaman sizi alttaki mesaj karşılayacak kabul edip devam edelim.
youtube_api1

Giriş yaptık ve kabul ettikten sonra ilk olarak bir proje olusturmalıyız.
youtube_api2

youtube_api3

Ben Youtube-Projesi olarak bir isim verdim projeme siz dilediğinizi verebilirsiniz, Oluştur dedikten sonra sağ üst köşede zil (bildirimler) ikonunda projenin oluşma aşaması için hareketlilik göreceksiniz projeniz oluşana kadar bekleyin bitince resimlerle devam edin.
youtube_api4

Resimlerde gördüğünüz yerlerle devam
youtube_api5

Youtube API oluşturuldu etkinleştiriyoruz
youtube_api6

Bu API için kimlik bilgilerine ihtiyacımız var diyor Kimlik bilgileri oluştur diyerek devam ediyoruz
youtube_api7

Devam ediyoruz
youtube_api8

İşte mutlu son API anahtarımız hazır Bitti demeden önce API anahtarınızı kopyalayıp bir yerlere not edin kodlarımızda bize gerekli olacak bunca işlemi bunun için yaptık sonra Bitti deyin tamamlayın, aslında işlem burda bitmiş değil bu API anahtarını başkaların gorebileceği kodlar içinde tutacaksak eğer, bu API kimliği için Alan doğrulaması yapabilir ve sadece verdiğimiz alan adından gerçekleşen isteklerde çalışmasını sağlayabiliriz böylece API kimliği başkaları tarafından kullanılamayacaktır bu ve buna benzer birçok ayarı https://console.developers.google.com adresinde ayarları API lerinizi inceledikçe öğrenebilirsiniz.

Canlı yayın adresini sayfada gösterme


API kimliğimiz var hemen yayını nasıl alacağız ve sayfaya nasıl ekleriz ona bakalım öncelikle belirtmekte fayda var yayını sayfamızda aynen bir video'yu gösterir gibi iframe kodu ile göstereceğiz sadece iframe kodunun src değeri değişken olacaktır yayın adresi değişince buda değişecektir örnek bir youtube iframe'si.
<iframe width="640" height="360" src="http://değişken_yayın_adresi" frameborder="0" allowfullscreen></iframe>Kopyala

JQUERY ile JSON kullanarak canlı yayını göstermek


API-KIMLIGINI-YAZ yazdığım yeri sizin API kimliği ile değiştirin.
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.1.min.js"></script>
<script type= "text/javascript">
$(document).ready(function () {

var channelId = "https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=SaudiQuranTv&key=API-KIMLIGINI-YAZ";
$.getJSON(channelId, function(qdata) {
var videosURL = "https://www.googleapis.com/youtube/v3/search?part=snippet&channelId="+qdata.items[0].id+"&eventType=live&type=video&key=API-KIMLIGINI-YAZ";
$.getJSON(videosURL, function(data) {
$("#mekke").attr("src", "https://www.youtube.com/embed/"+data.items[0].id.videoId);   
});
});

});
</script>
Kâbe Mekke Canlı Yayını!<br>
<iframe width="640" height="360" id="mekke" src="" frameborder="0" allowfullscreen></iframe>Kopyala

Kodlar sayesinde getJSON ile kanalın channelId sini alıp sonra videoId sine ulaşıyoruz bu video id dediğim yer tamda bir videonun kırmızı olarak işaretlediğim yeri https://www.youtube.com/watch?v=QiR1r1xVnqM böylece kodlarımız her yuklendiğinde SaudiQuranTv kanalına bağlanıp o andaki canlı yayının channelId sini alıyoruz bu sayede yayın idsi değişse de yenisini aldığımız için sürekli çalışır bir youtube adresimiz oluyor..

PHP json_decode kullanarak canlı yayını göstermek


<?php
ob_start();
  $chanelAdress = "https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=SaudiQuranTv&key=API-KIMLIGINI-YAZ";
  $chanelVeri = json_decode(file_get_contents($chanelAdress));
  $chanelID = $chanelVeri->items[0]->id;
  $videoAdres = "https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=". $chanelID ."&eventType=live&type=video&key=API-KIMLIGINI-YAZ";
  $videoVeri = json_decode(file_get_contents($videoAdres));
  $yenivideoID = $videoVeri->items[0]->id->videoId;

echo '<iframe width="640" height="360" id="medine" src="https://www.youtube.com/embed/'. $yenivideoID .'" frameborder="0" allowfullscreen></iframe>';
?>Kopyala

Burada da yine üstte olduğu gibi kanalın channelId sini alıp sonra videoId sine ulaştık echo ile bunu sayfaya yansıttık

ASP ile Microsoft.XMLHTTP kullanarak canlı yayını göstermek


<%
Public Function VeriAl(strGelen)
Set objVeriAl = Server.CreateObject("Microsoft.XMLHTTP")
objVeriAl.Open "GET" , strGelen, FALSE
objVeriAl.sEnd
VeriAl = objVeriAl.Responsetext
SET objVeriAl = Nothing
End Function

strVeri = VeriAL("https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=SaudiQuranTv&key=API-KIMLIGINI-YAZ")
strArray = split(strVeri, """")
for i = 0 to uBound(strArray)
if strArray(i) = "id" then

videoAdres = VeriAL("https://www.googleapis.com/youtube/v3/search?part=snippet&channelId="& strArray(i+2) &"&eventType=live&type=video&key=API-KIMLIGINI-YAZ")
videoArray = split(videoAdres, """")
for j = 0 to uBound(videoArray)
if videoArray(j) = "videoId" then
mekkeVideoAdres = videoArray(j+2)
end if
next

end if
next

Response.Write "<iframe width=""640"" height=""360"" src=""https://www.youtube.com/embed/" & mekkeVideoAdres & """ frameborder=""0"" allowfullscreen></iframe>"
%>Kopyala

Tüm işlemler aynı yola çıkıyor önce kanalın channelId sini alıp sonra videoId sine ulaşıyoruz böylece videoid değişken olduğu için her sayfa yüklendiğinde yeni ve güncel bir video adresimiz oluyor kodlarda API-KIMLIGINI-YAZ olan yerlere kendi  API kimliğinizi yazmayı unutmayın, API'ler sayesinde kanallar üzerinde birçok işlemler yapılabiliyor kendi kanalınızdaki veya başka bir kanaldaki son videoları çekme gibi işlemler de yapılabiliyor bunları başka bir dersimizde ele alacağız inşallah şimdilik size yakın veya sitenizde kullandığınız programlama diline göre istediğiniz seçeneği kullanın.

Başka bir derste görüşmek ümidi ile Allah'a emanet olun..

Youtube canlı yayını çekmek Yorumları:


Yorum yazılmamış!



Bağlan