yilmaz Nickli Üyeden Alıntı
ATV için örnek php kodu
Örnek bu canlı yayını aşağıdaki php kodu ile alınmaktadır
[Sadece kayıtlı ve aktif kullanıcılar bağlantıları görebilir.] Kayıt Olmak İçin Tıklayınız..
PHP- Kodu:
<?php
- ini_set("user_agent","facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)");
- /* gets the data from a URL */
- function get_data($url) {
- $ch = curl_init();
- $timeout = 5;
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($ch, CURLOPT_USERAGENT, "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)");
- curl_setopt($ch, CURLOPT_REFERER, "http://facebook.com");
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
- $data = curl_exec($ch);
- curl_close($ch);
- return $data;
- }
- function baglan($video_id){
- $urlVideoDetails = "https://www.youtube.com/get_video_info?video_id=$video_id&el=detailpage";
- $returnedData = get_data($urlVideoDetails);
- parse_str($returnedData, $query);
- $youtube = rawurldecode("$returnedData");
- preg_match('@"hlsManifestUrl":"(.+?)"@si',$youtube,$matches);
- $youtube2 = $matches[0];
- $youtube2 = str_replace('"hlsManifestUrl":"' , "", $youtube2);
- $youtube3 = get_data($youtube2);
- preg_match_all('@https(.*?)m3u8@si',$youtube3, $sec);
- $m3u= $sec[0][5];
- if($m3u){$m3u8=$m3u;}else{$m3u= $sec[0][4]; $m3u8=$m3u;}
- return $m3u8;
- }
- $m3u8 = baglan("fRNgxSZBxbc");
- $title ="ATV HD-TR";
- $logo ="https://www.yilmaztv.com/logo/yt/atv.jpg";
- $dosyaicerik = "\n#EXTINF:-1 tvg-id=\"$title\" tvg-name=\"$title\" tvg-logo=\"$logo\",$title yt\n$m3u8\n";
- $dosyaadi = "atv.m3u8";
- $kayit = fopen("$dosyaadi", "w");
- fwrite($kayit,"$dosyaicerik");
- fclose($kayit);
- ?>
Önemli: aynı ipden veya serverden saatte 5 biledin 10 sorgulam sonrası engel gelir, önerim her sorguda bunu ayrı bir dosya içine kayıt ettirmeniz lazım, izlenen cihaza kayıt ettirdiğiniz url adresini vermelisiniz .
Direk php dosyasını verirseniz her kanal değiştirmede sorgu sayacaktır.
Siteadresini/test/atv.php yi bir kere çalıştır, aldığı token 4 saatten fazla çalışır
Siteadresini/test/atv.m3u8
olarak cihazına ekleyin, çalışacaktır.
m3u8 720p kalitesindedir,
Yilmaz usta ben kendi serverim'da denedim ama çalismiyor nedense, video_id show'tv nin canli yayinini koydum, bana m3u8 uzantili link cikartiyor ama bir türlü, oynatamadim, bu sekil de denedim :
Kod:
- <?php
- ini_set("user_agent","facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)");
- /* gets the data from a URL */
- function get_data($url) {
- $ch = curl_init();
- $timeout = 5;
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($ch, CURLOPT_USERAGENT, "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)");
- curl_setopt($ch, CURLOPT_REFERER, "http://facebook.com");
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
- $data = curl_exec($ch);
- curl_close($ch);
- return $data;
- }
- function baglan($video_id){
- $urlVideoDetails = "https://www.youtube.com/get_video_info?video_id=$video_id&el=detailpage";
- $returnedData = get_data($urlVideoDetails);
- parse_str($returnedData, $query);
- $youtube = rawurldecode("$returnedData");
- preg_match('@"hlsManifestUrl":"(.+?)"@si',$youtube,$matches);
- $youtube2 = $matches[0];
- $youtube2 = str_replace('"hlsManifestUrl":"' , "", $youtube2);
- $youtube3 = get_data($youtube2);
- preg_match_all('@https(.*?)m3u8@si',$youtube3, $sec);
- $m3u= $sec[0][5];
- if($m3u){$m3u8=$m3u;}else{$m3u= $sec[0][4]; $m3u8=$m3u;}
- return $m3u8;
- }
- $m3u8 = baglan("inOugVa_NYA");
- header('Location: '.$m3u8);
- exit();
- ?>
direkt m3u gondermesi için ama gine olmadi, acaba bu linkler ip adresine göremi çalisiyor ?