Zurück   klamm-Forum > klamm-Lose > Lose4Scripts

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17.03.2013, 11:44:43   #1 (permalink)
I'm MEGA
Benutzerbild von Mega

ID: 443952
Lose-Remote

Reg: 17.03.2013
Beiträge: 4
Standard PHP Script, dass einen .m3u8 Livestream ausgibt

Hallo,

Ich fange mal so an:
Ich habe dieses PHP Script, dass externe Bilder ausgibt:

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
<?php 
  
function http_get_file($url)  {
    
$url_stuff parse_url($url);
    
$port = isset($url_stuff['port']) ? $url_stuff['port']:80;
    
$fp fsockopen($url_stuff['host'], $port);
    
$query  'GET ' $url_stuff['path'] . " HTTP/1.0\n";
    
$query .= 'Host: ' $url_stuff['host'];
    
$query .= "\n\n";
    
fwrite($fp$query);
    while (
$line fread($fp1024)) {
      
$buffer .= $line;
    }
    
preg_match('/Content-Length: ([0-9]+)/'$buffer$parts);
    return 
substr($buffer, - $parts[1]); 
  }
  
$p = isset($_GET['kleid']) ? $_GET['kleid'] : ''
  switch(
$p) {
  case 
'1':
    
header('Content-type: image/png');
    echo 
http_get_file("http://brautmode-bilder.net/wp-content/uploads/2009/08/hochzeitskleider112.jpg"); break;
  case 
'2':
    
header('Content-type: image/png');
    echo 
http_get_file("http://brautmode-bilder.net/wp-content/uploads/2009/08/hochzeitskleider110.jpg"); break;
  case 
'3':
    
header('Content-type: image/png');
    echo 
http_get_file("http://static.findix.com/data/adpix/picture_L/brautkleider-hochzeitskleider--brautmode-brautkleid-abendklei-201071.jpg"); break;
  }
?>
->
http://example.com/img.php?kleid=1

Da ich jetzt von einer Hochzeit 3 Livestreams mache, mochte ich, dass oben aufgeführte Prinzip mit .m3u8 links nutzen:

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
<?php 
  
function http_get_file($url)  {
    
$url_stuff parse_url($url);
    
$port = isset($url_stuff['port']) ? $url_stuff['port']:80;
    
$fp fsockopen($url_stuff['host'], $port);
    
$query  'GET ' $url_stuff['path'] . " HTTP/1.0\n";
    
$query .= 'Host: ' $url_stuff['host'];
    
$query .= "\n\n";
    
fwrite($fp$query);
    while (
$line fread($fp1024)) {
      
$buffer .= $line;
    }
    
preg_match('/Content-Length: ([0-9]+)/'$buffer$parts);
    return 
substr($buffer, - $parts[1]); 
  }
  
$p = isset($_GET['stream']) ? $_GET['stream'] : ''
  switch(
$p) {
  case 
'1':
    
header('Content-type: application/vnd.apple.mpegURL');
    echo 
http_get_file("http://xxx.xxx.xxx.xx:1935/stream1/playlist.m3u8"); break;
  case 
'2':
    
header('Content-type: application/vnd.apple.mpegURL');
    echo 
http_get_file("http://xxx.xxx.xxx.xx:1935/stream2/playlist.m3u8"); break;
  case 
'3':
    
header('Content-type: application/vnd.apple.mpegURL');
    echo 
http_get_file("http://xxx.xxx.xxx.xx:1935/stream3/playlist.m3u8"); break;
  }
?>
-> http://example.com/stream.php?stream=1

Das Problem ist aber: Die Streams laden nicht. Der Playbutton ist durchgestrichen. Hier ist z.B. ein funktionierender Livestream: http://ia-streaming1.tagesschau.de/1/playlist1.m3u8 (Von der Seite zamponi.de)

Wäre super nett wen jemand das Script zum Laufen bringt.

THX
 

Geändert von Mega (17.03.2013 um 13:54:59 Uhr)
Mega ist offline   Mit Zitat antworten
Alt 17.03.2013, 13:50:28   #2 (permalink)
Erfahrener Benutzer

ID: 195925
Lose-Remote

Reg: 27.12.2012
Beiträge: 204
Standard

Vielleicht ist der Content-Type verkehrt ? Es handelt sich doch um einen Stream und nicht um ein Bild.
 
Brebbelkamp ist offline   Mit Zitat antworten
Alt 17.03.2013, 13:52:52   #3 (permalink)
I'm MEGA
Benutzerbild von Mega

ID: 443952
Lose-Remote

Reg: 17.03.2013
Beiträge: 4
Standard

Zitat:
Zitat von Brebbelkamp Beitrag anzeigen
Vielleicht ist der Content-Type verkehrt ? Es handelt sich doch um einen Stream und nicht um ein Bild.
Ja, da hast du recht, hab es aber auch schon mit application/x-mpegURL versucht. Das klappt genauso wenig
 
Mega ist offline Threadstarter   Mit Zitat antworten
Alt 17.03.2013, 14:37:35   #4 (permalink)
Erfahrener Benutzer

ID: 195925
Lose-Remote

Reg: 27.12.2012
Beiträge: 204
Standard

Habe eine Liste gefunden, aber dort gibt es das Format leider nicht.

http://webdesign.about.com/od/multim...ntent-type.htm

Vielleicht hilft : application/octet-stream

Edit:
Habe noch etwas gefunden, da sonst vielleicht die Verbindung zwischen MIME-Type und Datei-Endung nicht hergestellt wird ?
-----
If you are using Apache you would want to add the following to your httpd.conf file:

AddType application/x-mpegURL .m3u8
-----
Ob dies auch über htaccess geht, falls kein Zugriff auf httpd.conf ???

Noch'n Link :
http://developer.apple.com/library/i...hitecture.html
 

Geändert von Brebbelkamp (17.03.2013 um 15:17:06 Uhr)
Brebbelkamp ist offline   Mit Zitat antworten
Alt 17.03.2013, 15:38:09   #5 (permalink)
Erfahrener Benutzer

ID: 195925
Lose-Remote

Reg: 27.12.2012
Beiträge: 204
Standard

Zitat:
Zitat von Mega Beitrag anzeigen
switch($p) {
case '1':
header('Content-type: application/vnd.apple.mpegURL');
echo http_get_file("http://xxx.xxx.xxx.xx:1935/stream1/playlist.m3u8"); break;
Habe noch etwas gefunden. Vielleicht geht das auch einfach nur so :

case '1':
<video src="http://xxx.xxx.xxx.xx:1935/stream1/playlist.m3u8"></video>


Edit, da ich nun etwas mehr gelesen habe.
-----
Da es sich um eine Playlist handelt, also eigentlich ein Textfile für mehrere Video-Dateien, wäre es nicht "einfacher", direkt den entsprechenden Video-Stream als .ts aufzurufen ?
 

Geändert von Brebbelkamp (17.03.2013 um 15:51:48 Uhr)
Brebbelkamp ist offline   Mit Zitat antworten
Alt 17.03.2013, 18:09:53   #6 (permalink)
I'm MEGA
Benutzerbild von Mega

ID: 443952
Lose-Remote

Reg: 17.03.2013
Beiträge: 4
Standard

Zitat:
Zitat von Brebbelkamp Beitrag anzeigen
Da es sich um eine Playlist handelt, also eigentlich ein Textfile für mehrere Video-Dateien, wäre es nicht "einfacher", direkt den entsprechenden Video-Stream als .ts aufzurufen ?
Die TS Files sind jeweils 8 Sekunden lang. Diese TS Files werden alle in die .m3u8 Datei gesedet.
Es soll halt keiner die .m3u8 URL sehen
 
Mega ist offline Threadstarter   Mit Zitat antworten
Alt 18.03.2013, 09:45:38   #7 (permalink)
Neuer Benutzer

ID: 438053
Lose-Remote

snuke89 eine Nachricht über ICQ schicken
Reg: 15.10.2012
Beiträge: 8
Standard

Du wirs die URL nicht verstecken können... Wer wissen will woher das kommt schaut einfach nach.

Ansonsten hilft dir evtl. diese Anleitung weiter .

lg Snuke
 
snuke89 ist offline   Mit Zitat antworten
Antwort

Stichworte
live, livestreams, m3u8, stream

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Was ist das für ein Script, wie heißt dass ? gogo1220 Scripts & Software 2 10.05.2009 16:14:46
Suche: Wordpress Plugin, das aktuelle Themen als .jpg ausgibt pokerface Scripts & Software 1 15.06.2008 17:04:27
100k dafür, dass ihr mir sagt welches Script verwendet wird. Hamsta Lose4Scripts (erledigt) 3 23.05.2008 18:32:12
Script was Besuche zählt und als Liste ausgibt? madhead Scripts & Software 3 28.01.2007 23:27:09
ICQ Client der Warnung ausgibt flaschenkind Software/Windows 2 13.07.2006 17:17:13


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11:24 Uhr.