OnlineStreams für Movieplayer

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
Haehnchen
Interessierter
Interessierter
Beiträge: 31
Registriert: Samstag 2. Februar 2008, 15:10

OnlineStreams für Movieplayer

Beitrag von Haehnchen »

Hallo,
nirgendwie fehlten mir die onlinevideos für die dbox, aller media portal. deswegen eine kleine spielerrei:
Ich habe mal einen relativen einfachen "OnlineStream Proxy" auf Basis des internen Movieplayers gebastelt.
Momentan sind dort Scripts für Youtube, ZDFMediathek, MyVideo, Apple Trailer, kino.de,Sat.1,Videopodcasts und mehr enthalten. Neue können
ohne weiteres als PHP Scripts hinzugefügt werden.

BildBild

Zur Funktion:
Ich setze hier den xampp (Apache+PHP) und hänge mich hiermit zwischen Movieplayer und VLC. Alle benötigten Anfragen
werden vom Webserver an den VLC geleitet. VLC wird hier allerdings nur noch zum transformen benutzt. Man könnte als
xampp auch den webserver vom vlc nutzten, allerdings muss hierfür etwas am internen Movieplayer gecodet werden. siehe unten.

Zur Installation:
Wie sonst auch benötigt ihr den VLC (v0.8.6 zwecks bester flashmovie unterstützung) mit aktivieren HTTP Server. Dieser muss auf Port 8080 laufen. Da Anfragen
vom xampp an die 127.0.0.1:8080 gehen. (Port könnter in den PHPScripts anpassen, aber mit VORSICHT)
Zum zweiten benötigt ihr den xampp. Siehe Link unten!. Die Datei nach C:\ entpacken. genau so eingeben im Assistenten.
so liegt der xampp unter C:\xamplite. Um das ding zu starten einfach die Datei C:\xampplite\apache_start.bat starten.
Es darf kein anderes Prog den Port 8083 benutzen.
Nun müsster noch in der Dbox die IP und den Port des Movieplayers ändern. Als Port 8083 für den xampp und nicht den VLC port!!!
ACHTUNG: Im Moviebrowser eimalig den Filter über die Blaue Taste deaktivieren , sonst sieht man nur leere Ordner!


Für "experten":
Angepasst wurde die xampp config wie folgt:
mod_proxy für den dboxstream

Code: Alles auswählen

ProxyRequests On
ProxyPass /dboxstream http://127.0.0.1:8080/dboxstream
ProxyPassReverse /dboxstream http://127.0.0.1:8080/dboxstream
ProxyVia On
proxy module: mod_proxy und mod_proxy_http müssen dafür natürlich aktiv sein
Muss sein da der Movieplayer leider direkt auf die eingestellte IP und den Port zurückgreift um den Stream zu öffnen.


Meine wünschen/fragen:

- Trennung zwischen Httpserver und Streamingserver
- änderung der http anfrage (zb von xml in php (/requests/browse.xml)
-> somit wäre es möglich auf den xampp zu verzichten. Der interne VLC kann ebenfalls php scripte ausführen!
HTTP -> interface -> Zusatzprogramme: php=C:/pfad/zu/php
- Infotaste direkt im Moviebrowser und nicht nur bei streamwiedergabe.
- Beim starten einer Datei/Stream wäre schön würde der Movieplayer den Pfad weitergeben (in xmldatei vorhanden) und nicht nur den Namen des File.
- Bilder im Moviebrowser und damit wahrscheinlich neue Hardware :)
- beim rausspringen aus dem streamingmodus in den moviebrowser. auf die zu letzte aufgerufe seite. nicht direkt auf die erste.
- Wie muss die Datumsangaben übergeben werden in der xmldatei? unixtime scheints nichts zu sein...
- Texteingabefenster für Suchfunktionen zb fürs Youtube script. (siehe Seite 4)

Bugs:
- naja kein Bug aber geht halt nicht anders: Das Feld Dateigröße nehme ich als Streamlänge her. Werte lieg in Sekunden vor.
Da kommen teilweise schöne sachen raus bei der umrechnung von sekunden und ksekunden :)

ToDO:
- Bilder zb von picaso, flickr als "stream-diahow" zur box reichen. (Fake Command geht nur mit vlc 0.9)


Downloadlinks:
Jetzt hier: http://developer.berlios.de/projects/onlinestreams/

Anleitung uns sonstiges auf meiner Page:
http://www.espend.de/projekte/internets ... dbox2.html

Code: Alles auswählen

ToDo:
v0.4 – 11.02.09:
– changed/updated many scripts
– added: csv-file for customize
– popcornhour & co support add
– changed many core functions

v0.3 – 06.04.08:
– FIX: kleine Bugs in diversen Scripten
– FIX: Curl im xampplite aktiviert.
– Fix: Browsersimulation ist abschaltbar
– FIX: Kino.de/Youtube an neue Seitenstruktur angepasst
– FIX: Addhandler für xml .htaccess ausgelagert.
– ADDED: BBC-Iplayer thx to PT-1&FreddyFr0g benötigt UK Proxy
– ADDED: Sat1.de
– ADDED: Youporn – tipp: eine zeile auskommentieren :)
– ADDED: rtlnow.de script, etwas buggy dank unfähigen rtl.proggern :)
– ADDED: Videoposcasts: sehr mächtig mit www.podcast.de links
– ADDED: Shoutcast List – streams working?
– ADDED: MyVideo suchfunktion
– KNOWN: Browserklassen hat Probleme bei bestimmen seiten
– Wanted: prosieben bitte nicht rtmp, da kann keiner was mit anfangen, schade

v0.2 – 01.03.08:
– FIX: abstürze bei leeren Ordner
– FIX: kommentare in den skripts eingeführt
– FIX: tvtotal.de script überarbeitet.
– FIX: content-length im header eingefügt, somit mehr wie 95 zeilen möglich. (zdfmediathek geht nun vollständig)
– ADDED: Debugmodus, anfragen werden im browser angezeigt: http://127.0.0.1:8083/requests/browse.xml?dir=e%3A%2F&admin
– ADDED: Kabeleins.de script
– ADDED: Spiegel.TV Videoarchiv script
– ADDED: trailerseite.de script
– ADDED: moviemaze.de script

v0.1 – 10.02.08: – FIX: Youtube jetzt mit Ton, samplerate bei allen videos auf 44100 beim transcodieren – FIX: Youtube-Skript “gesehen/markierte Streams” konnte nicht abgespielt werden – ADDED: Browserklasse eingefügt. Simuliert werden Firefox Requests – ADDED: Tv-Total.de Skript – KNOWN: VLC kann bestimmte kino.de streams nicht richtig abspielen. (ffmpeg, mplayer, vlc kommen mit nem speziellen wmv codec nicht klar) – RATLOS: ZDFMediathek: mehr wie die 95 einträge krieg ich nicht raus. auch wenn als filename nur ein buchstabe drin steht.

v0.0 – first release



für kommentare und Scripts für seiten wäre ich sehr dankbar.
Updated: 11.April 2009
Zuletzt geändert von Haehnchen am Samstag 11. April 2009, 15:32, insgesamt 29-mal geändert.
amiga23
Einsteiger
Einsteiger
Beiträge: 238
Registriert: Sonntag 14. November 2004, 23:44

Re: OnlineStreams für Movieplayer

Beitrag von amiga23 »

Moin,

kurze info:
Hab Deine scripte unter linux installiert.
Bekomme die Filme aufgelistet.
Kann sie aber leider nicht abspielen, da Du dboxstream benutzt. Diese speziellen dbox scripte sind aber im aktuellen VLC nicht mehr enthalten. Der Movieplayer wurde umgestellt, so dass er jetzt das standard VLC interface unterstützt, das müsste also auch irgendwie mit Deinen Scripten machbar sein.
Muss jetzt leider weg, werde aber später weiter probieren.

Vielen Dank an Haehnchen für diese super Idee!

Noch ein Tipp für alle die es auch probieren wollen:
War mit der Bedienung des Movieplayers nicht mehr so ganz vertraut. Um ein Verzeichnis zu öffnen, muss man nach rechts drücken und NICHT "ok", sonst versucht der Movieplayer alle Filme zu laden.

Greets
Amiga23
Haehnchen
Interessierter
Interessierter
Beiträge: 31
Registriert: Samstag 2. Februar 2008, 15:10

Re: OnlineStreams für Movieplayer

Beitrag von Haehnchen »

Ich benutze das standart VLC interface. Es sei denn seit anfang januar hat sich was an den CVS verändert..
Die eigenart den dboxstream zu nehmen kommt vom movieplayer der dbox selber.

Code: Alles auswählen

http://myvideo-076.vo.llnwd.net/d3/movie7/e2/3246076.flv :sout=#transcode{vcodec=mp2v,vb=1000,width=704,height=576,fps=25,acodec=mpga,ab=128,channels=2}:std{access=http,mux=ts,dst=:8080/dboxstream}
Vorrausgesetzt man hat natürlich das neueste image (sept 07 aufwärts?).

haste in die httpd.conf eingetragen:?

Code: Alles auswählen

ProxyRequests On
ProxyPass /dboxstream http://127.0.0.1:8080/dboxstream
ProxyPassReverse /dboxstream http://127.0.0.1:8080/dboxstream
ProxyVia On
und das mod_proxy und mod_proxy_http modul aktiviert?



Die frühere Version über diese dboxfile.htm file wird hiermit nicht funktionieren.
weiter sollte man die neueste VLC version 0.8.6d nehmen, da es sonst zu problem bei den flashmovies kommt.
man sollte auch die hände von der beta 0.9 lassen...

Unter linux hab ich das ganze dingen noch nicht getestet, sollte aber eigentlich ohne probleme gehen.
Ich benutze da keine spezielle windows befehle.

PS: hab eine neue version hochgeschoben. ich hatte den zugriff nämlich nur auf 2 bestimmte LAN adressen
drin. jetzt kann jede ip mit dem xampp sprechen...
amiga23
Einsteiger
Einsteiger
Beiträge: 238
Registriert: Sonntag 14. November 2004, 23:44

Re: OnlineStreams für Movieplayer

Beitrag von amiga23 »

Bin leider gerade unterwegs.
Das mit der IP hatte ich gefunden und im browse.xml auskommentiert.
Wenn ich den VLC auf port 8080 direkt im Movieplayer benutze, kann ich Filme von der Festplatte streamen.

Wenn ich über Deine Scripte gehe, dann wird über den redirect mit den Proxyparametern
http://localhost/dboxstream
nach
http://localhost:8080/dboxstream
umgeleitet. Der VLC meldet dann ein 404 file not found. Im /var/log/apache2/access_log steht dann auch 404.

Code: Alles auswählen

192.168.xxx.xxx - - [03/Feb/2008:13:25:06 +0100] "GET /dboxstream HTTP/1.0" 404 331
Meine VLC version ist die vlc-0.8.6d-r1. Meine Distribution ist Gentoo Linux auf dem neuesten Stand.

Änderungen die ich machen musste, waren:
Deine Scripte nach
/var/www/localhost/htdocs
kopieren.

In
browse.xml
die restriktion auf die IP entfernen.

In
/etc/php/apache2-php5/php.ini
erlauben, das includes und files von anderen webadressen geladen werden dürfen.

Code: Alles auswählen

; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On

; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
allow_url_include = On
In
/etc/conf.d/apache2

Code: Alles auswählen

-D PHP -D PROXY
zu den apache startoptionen hinzufügen.

edit: genauere Angaben zu den Konfigurationsänderungen.
amiga23
Einsteiger
Einsteiger
Beiträge: 238
Registriert: Sonntag 14. November 2004, 23:44

Re: OnlineStreams für Movieplayer

Beitrag von amiga23 »

Okay jetzt funktioniert es
/dboxstream
gibt immer ein error 404 zurück, wenn der Film, der mit dem aufruf von status.xml geladen wird nicht gefunden wird.
Da ich Port 80 und nicht port 8083 nutze, musste ich das replace in status.xml entsprechend anpassen.

Jetzt funktioniert es :-) Danke Haehnchen

Allerdins habe ich die üblichen Puffer Probleme mit dem Movieplayer und bin mir nicht sicher, ob es am Movieplayer, meinem Netzwerk oder einfach der CPU-Power meines Laptops liegt.

Aber die Apple Movie Trailer laufen Ruckelfrei.
Haehnchen
Interessierter
Interessierter
Beiträge: 31
Registriert: Samstag 2. Februar 2008, 15:10

Re: OnlineStreams für Movieplayer

Beitrag von Haehnchen »

Diese Bufferprobleme sind mir eigentlich nicht so bekannt. Bei bestimmten streams gibts allerdings auch seltsame probleme. das werde ich mir auch noch ansehen.
Klar kann es gerade bei den movieseiten wie bei youtube zu Problemen kommen, wenn die nicht die bandbreite zurverfügungstellen wollen.

In der Status.xml könnte man natürlich auch die transformauflösung replacen sollte
die hardware zu schwach sein :)
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: OnlineStreams für Movieplayer

Beitrag von PT-1 »

Waere mal interresant ob man das mit dem hier:
http://www.channel4.com/4od/get4od/index.jsp
oder
http://www.itv.com/help/itvplayervideohelp/diagnostic/

machen koennte ...
amiga23
Einsteiger
Einsteiger
Beiträge: 238
Registriert: Sonntag 14. November 2004, 23:44

Re: OnlineStreams für Movieplayer

Beitrag von amiga23 »

Hmm naja PT-1, itv scheint durch DRM geschützt zu sein, das kann der VLC bestimmt nicht. Bei 4oD scheint es auch so zu sein.

Das hier müsste aber gehen:
http://www.octoshape.com/play/play.asp

Da gibt es aber leider keine Britischen Kanäle, also nichts für PT-1

Bei Octoshape würden mich aber auch die Radio Programme interessieren, vorallem YOU FM mit 160 kbit :-D
MarcM
Foren-Moderator
Beiträge: 1119
Registriert: Sonntag 9. Juni 2002, 13:28

Re: OnlineStreams für Movieplayer

Beitrag von MarcM »

YOU FM mit 160 kbit
der hessische ÖR-Sender mit der Buschmusik ist doch im normalen ARD Hörfunk-Transponder über SAT schon drin oder nicht ?

oder hast du Kabel ?

Marc
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: OnlineStreams für Movieplayer

Beitrag von PT-1 »

IPlayer von BBC ist anscheinend ohne DRM weil diese auch Non MS Betriebsystemen Zugriff geben wollen.

Eine gute Diskussion wie man den RTMP Stream aus der Webseite bekommen koennte ist hier: http://www.xboxmediacenter.com/forum/sh ... stcount=70
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: OnlineStreams für Movieplayer

Beitrag von PT-1 »

Hallo,

waere es gegen Jugendschutz oder sonstiges eine Scriptvorlage fuer YouPorn zu poste ?

PT-1
Haehnchen
Interessierter
Interessierter
Beiträge: 31
Registriert: Samstag 2. Februar 2008, 15:10

Re: OnlineStreams für Movieplayer

Beitrag von Haehnchen »

youporn ist ohne probleme möglich.
wird aber nicht von mir kommen :)
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: OnlineStreams für Movieplayer

Beitrag von PT-1 »

@Admin,

wenn nicht gewuenscht bitte loeschen

Code: Alles auswählen

<?
$links['Top Rated']['url']="http://www.youporn.com/top_rated?user_choice=Enter";
$links['Top Rated']['cookie']="age_check=1; domain=.youporn.com; path=/; expires=Wed, 08-Feb-2108 13:18:42 GMT";
function getdir() {
global $links;
$r=split("/",trim($_GET['dir'],"/"));
//print_r($r);
if (count($r)==2) {
//input($links['Top Rated']['url'],$links['Top Rated']['cookie']);
gennavi(input($links['Top Rated']['url'],$links['Top Rated']['cookie']));
}
}
function geturl($pfad) {
global $links;
$r=split("/",trim($pfad,"/"));
//print_r($r);echo "<br />";
//print_r($links);echo "<br />";
$in=input($links['Top Rated']['url'],$links['Top Rated']['cookie']);
//print_r($in);echo "xxx".$r[2]."xxx <br />";
$t=stripslashes($r[2]);
$toto=dlflv($in[$t]['url'],$links['Top Rated']['cookie']);
return $toto;
}
function dlflv($url,$cookie) {
//echo "<br>XXX".$url."?user_choice=EnterXXX$cookie<br/>";
$page = open_page($url."?user_choice=Enter",1,2,null,null,$cookie);
//echo $page."<br/>" ;
preg_match("!'file','(http://download.youporn.com/download.*?flv)'!", $page, $matches);
$video = $matches[1];
//echo "<br>XXX".$video."XXX<br/>";
return  $video;
}
function input($url,$cookie,$pos="") {
//echo "$url<br/>";	
$t_html = open_page($url,1,2,null,null,$cookie);
//echo "Enter input<br/>$t_html";
preg_match_all('/<li>(.*?)<\/li>/si',$t_html,$row);
foreach ($row[1] as $mov) {
//echo "Enter match<br/ >";
preg_match('/<p class="title"><a href="(.*?)">(.*?)<\/a><\/p>/i', $mov, $matches); 
$tmp_array['url'] = "http://www.youporn.com".$matches[1];
$tmp_array['title'] = filterstr($matches[2]);
//echo $tmp_array['title'] . " | " . $tmp_array['url'] . "\n";
$tmp_array['type']="file";
if ($pos!="") {
$txt=md5($pos."/".$tmp_array['title']);
if (file_exists("fav/".$txt)) $tmp_array['title']="x".$tmp_array['title'];
}
$out[$tmp_array['title']]=$tmp_array;
}
return $out;
}
function filterstr($text) {
#    $text = preg_replace('/[^\w]/', "", $text);
$text = preg_replace('/[^a-zA-Z0-9\- .\!\?()]/', "", $text);
$text = preg_replace("/ +/", " ", $text);
$text = trim($text);
return $text;
}
function open_page($url,$f=1,$c=2,$r=0,$a=0,$cf=0,$pd=""){
global $oldheader;
$url = str_replace("http://","",$url);
if (preg_match("#/#","$url")){
$page = $url;
$url = @explode("/",$url);
$url = $url[0];
$page = str_replace($url,"",$page);
if (!$page || $page == ""){
$page = "/";
}
$ip = gethostbyname($url);
//echo "get add $url $ip<br/>";
}else{
//echo "get add2 $url<br/>";
$ip = gethostbyname("www.youporn.com");
//echo "get add2 ip: $ip <br/>";
$page = "/";
}
$open = fsockopen($ip, 80, $errno, $errstr, 60);
if ($pd){
$send = "POST $page HTTP/1.0\r\n";
}else{
$send = "GET $page HTTP/1.0\r\n";
}
$send .= "Host: $url\r\n";
if ($r){
$send .= "Referer: $r\r\n";
}else{
if ($_SERVER['HTTP_REFERER']){
$send .= "Referer: {$_SERVER['HTTP_REFERER']}\r\n";
}
}
//if ($cf){
//if (@file_exists($cf)){
//$cookie = urldecode(@file_get_contents($cf));
//if ($cookie){
$send .= "Cookie: $cf\r\n";
//$add = @fopen($cf,'w');
//fwrite($add,"");
//fclose($add);
//}
//}
//}
$send .= "Accept-Language: en-us, en;q=0.50\r\n";
if ($a){
$send .= "User-Agent: $a\r\n";
}else{
$send .= "User-Agent: {$_SERVER['HTTP_USER_AGENT']}\r\n";
}
if ($pd){
$send .= "Content-Type: application/x-www-form-urlencoded\r\n"; 
$send .= "Content-Length: " .strlen($pd) ."\r\n\r\n";
$send .= $pd;
}else{
$send .= "Connection: Close\r\n\r\n";
}
fputs($open, $send);
//echo "$send\n<br/>";
while (!feof($open)) {
$return .= fgets($open, 4096);
}
fclose($open);
$return = @explode("\r\n\r\n",$return,2);
$header = $return[0];
//if ($cf){
// if (preg_match("/Set\-Cookie\: /i","$header")){
//$cookie = @explode("Set-Cookie: ",$header,2);
//$cookie = $cookie[1];
//$cookie = explode("\r",$cookie);
//$cookie = $cookie[0];
//$cookie = str_replace("path=/","",$cookie[0]);
//$add = @fopen($cf,'a');
//fwrite($add,$cookie,strlen($read));
//fclose($add);
//}
//}
if ($oldheader){
$header = "$oldheader<br /><br />\n$header";
}
$header = str_replace("\n","<br />",$header);
if ($return[1]){
$body = $return[1];
}else{
$body = "";
}
if ($c === 2){
if ($body){
$return = $body;
}else{
$return = $header;
}
}
if ($c === 1){
$return = $header;
}
if ($c === 3){
$return = "$header$body";
}
if ($f){
if (preg_match("/Location\:/","$header")){
$url = @explode("Location: ",$header);
$url = $url[1];
$url = @explode("\r",$url);
$url = $url[0];
$oldheader = str_replace("\r\n\r\n","",$header);
$l = "Location:";
$oldheader = str_replace("Location:",$l,$oldheader);
return open_page($url,$f,$c,$r,$a,$cf,$pd);
}else{
return $return;
}
}else{
return $return;
}
}
?>
MarcM
Foren-Moderator
Beiträge: 1119
Registriert: Sonntag 9. Juni 2002, 13:28

Re: OnlineStreams für Movieplayer

Beitrag von MarcM »

Das funktioniert bei mir nicht !

Hab nen Arcor Anschluß, wird wohl weggefiltert....habs garnicht erst ausprobiert

:dash: :dash: :dash:
:lol: :lol: :lol:

Marc
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: OnlineStreams für Movieplayer

Beitrag von PT-1 »

Haehnchen
Interessierter
Interessierter
Beiträge: 31
Registriert: Samstag 2. Februar 2008, 15:10

Re: OnlineStreams für Movieplayer

Beitrag von Haehnchen »

neue Version siehe changelog
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: OnlineStreams für Movieplayer

Beitrag von PT-1 »

Haehnchen
Interessierter
Interessierter
Beiträge: 31
Registriert: Samstag 2. Februar 2008, 15:10

Re: OnlineStreams für Movieplayer

Beitrag von Haehnchen »

naja es gibt da mittlerweile soviele seiten:
Video : YouTube, Google Video, MetaCafe, VideoCast, DL.TV, Cranky Geeks......

ich glaube da muss es schon einen guten grund geben, neue seiten zu adden :)
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: OnlineStreams für Movieplayer

Beitrag von PT-1 »

PT-1 hat geschrieben:Wie waere es mit http://openflv.com/ oder
http://quicksilverscreen.com/

Code: Alles auswählen

<?
$links['Quick Silver Screen']['url']="http://quicksilverscreen.com/";
$links['Quick Silver Screen']['title']="Quick Silver Screen";
function getdir() {
global $links;
$r=split("/",trim($_GET['dir'],"/"));
//print_r($r);
if (count($r)==2) {
gennavi($links);
}
if (count($r)==3) {
$array=$links[$r[2]];
gennavi(input($links['Quick Silver Screen']['url']));
}
}
function geturl($pfad) {
global $links;
$r=split("/",trim($pfad,"/"));
//print_r($r);echo "<br />";
//print_r($links);echo "<br />";
$in=input($links[$r[2]]['url']);
//print_r($in);echo "xxx".$r[2]."xxx <br />";
$t=stripslashes($r[3]);
$toreturn = dldivx($in[$t]['url']) ;
//	echo $toreturn . "\n" ;
return $toreturn ;
}
function dldivx($url) {
//echo $url."<br/>";
$page = cacheurl($url);
preg_match('!<embed type="video/divx" src="http://[^/]*/stage6vid/([^\.divx]*)\.divx\?e=!', $page, $matches);
$video = "http://video.stage6.com/".$matches[1]."/.divx";
return  $video;
}
function input($url,$pos="") {
//echo "$url<br/>";	
$t_html = cacheurl($url);
//echo "Enter input<br/>$t_html";
preg_match_all('/<div style="padding:3px;word-wrap:break-word;">(<a href="watch.*?<\/a>)<\/div>/si', $t_html, $row); 
foreach ($row[1] as $mov) {
preg_match('/<a href="(watch\?video=.*?)">(.*?)<\/a>/i', $mov, $matches); 
$tmp_array['url'] = "http://quicksilverscreen.com/".$matches[1];
$tmp_array['title'] = filterstr($matches[2]);
//echo $tmp_array['title'] . " | " . $tmp_array['url'] . "\n";
$tmp_array['type']="file";
if ($pos!="") {
$txt=md5($pos."/".$tmp_array['title']);
if (file_exists("fav/".$txt)) $tmp_array['title']="x".$tmp_array['title'];
}
$out[$tmp_array['title']]=$tmp_array;
}
return $out;
}
function filterstr($text) {
#    $text = preg_replace('/[^\w]/', "", $text);
$text = preg_replace('/[^a-zA-Z0-9\- .\!\?()]/', "", $text);
$text = preg_replace("/ +/", " ", $text);
$text = trim($text);
return $text;
}
?>
Haehnchen
Interessierter
Interessierter
Beiträge: 31
Registriert: Samstag 2. Februar 2008, 15:10

Re: OnlineStreams für Movieplayer

Beitrag von Haehnchen »

neue version online....

@PT-1
hab gesehen du möchtest gerne rtmp links abspielen im videolan forum!? :)
schön wärs wenn da mal was kommen würde, mtv.de und prosieben.de haben
beide echt feine videoarchive...
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: OnlineStreams für Movieplayer

Beitrag von PT-1 »

Halloechen,

FreddyFrog hat fuer den BBC iPlayer mal was gebastelt. Das original Script basiert auf einem XMBC Script von Strawp

Fuer UK muesst Ihr falls Ihr es benutzen wollt eventuell einen Proxy einsetzten.

Man kann mit den fest integrierten Links sogar vorspulen. Sprich er stream live und muss nicht erst laden !!
Pfuitt, it was hard enough!
It's still beta and more a proof of concept rather than the complete solution but it will work nicely when it does (or at least for the little amount of tests I've done)!
First thing, amend the php.ini file under the xampplite/php folder to enable curl. You do that by removing the semi colon from the beginning of the line

Code: Alles auswählen

;extension=php_curl.dll
Check that you have your extension_dir correctly setup, it's the line that goes (for a windows box)

Code: Alles auswählen

extension_dir = "<your-drive>:\xampplite\php\ext\"
Then drop the 2 scripts attached in the usual scripts folder:
BBC-iPlayer.php will be what calls the customised iplayer_stream.php (based on strawp php downloadable version), I hard-coded a few shows, it's quite easy to add new ones, all you have to do is to add a couple of lines in this format:

Code: Alles auswählen

$links['<name-of-the-show>']['url']=	"http://".$_SERVER['SERVER_ADDR'] .":8083/requests/scripts/iplayer_stream.php?pid=<pid-of-the-show>";
$links['<name-of-the-show>']['type']="file";
I mean obviously, this is the beginning and I (or someone else please help!) will be able to implement a built-in browser that will fetch the bbc page and parse all the links so that you can just browse to your favorite show rather than having to add a couple of lines of script every time! Exactly as it is done for the other feeds!

The iplayer_stream.php script can be used on its own to stream any show in VLC, just go open network stream, HTTP, then enter the http:// address where you have uploaded the script, this could be useful as I think the iplayer website is still not working on some OS... also, people having relatives in Germany (for example :) ) could upload the script on a UK server and by-pass the IP-geo restrictions of the BBC (I guess - I haven't tried!).
The quality of the stream is OK on my telly, fast forwarding 5 or 10 minutes work great! The only problem I found so far is that it doesn't play shows that are 1 hour (or more) long. I have no idea why since it's working fine in VLC directly. So try little britain or torchwood to start with!
You need to restart apache after enabling curl in PHP.
One more thing, it stopped all a sudden to work for no reasons... couldn't understand why but rebooting my PC fixed the problem (restarting apache didn't do the job!)

Right, I need to do some work now :)! Let me know if you have any problems running this!
http://download.yousendit.com/1E5E37BE2484FDE6

EDIT: Beim obigen Link fehlt die Haelfte ;-)

http://www.pt-1.net/FreddyFrog/bbciplayerscripts.rar
Haehnchen
Interessierter
Interessierter
Beiträge: 31
Registriert: Samstag 2. Februar 2008, 15:10

Re: OnlineStreams für Movieplayer

Beitrag von Haehnchen »

HI,
sieht interessant aus.
ich adde das script mal in der nächsten version.
FreddyFr0g
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Sonntag 30. März 2008, 19:18

Re: OnlineStreams für Movieplayer

Beitrag von FreddyFr0g »

Hi Haechnchen,

I'm not sure if I can post in English here, sorry if I'm not suppose to :(

I've just updated the script (http://download.yousendit.com/CFAA015A5C1E7217 ) so that you don't have to hardcode the links to the shows.
I notice that something was wrong (at least to me!) with your new cacheurl function (based on the Browser class) - basically, it caches the page but with some random string of text in it which basically make the regular expression fail (I put a switch in the new script) - here's an example of a weird cache page:

Code: Alles auswählen

370
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-GB" xml:lang="en-GB">
<head profile="http://dublincore.org/documents/dcq-html/">
	<title>BBC iPlayer - Home</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<meta name="description" content="BBC iPlayer - making the unmissable, unmissable" />
	<meta name="keywords" content="BBC iPlayer, watch BBC TV" />
	<link rel="schema.dcterms" href="http://purl.org/dc/terms/" />
	<meta name="dcterms.created" content="2008-02-05T17:00:00Z" />
	<meta name="dcterms.modified" content="2008-02-05T17:00:00Z" />	
	<!-- use the following or delete as appropriate -->
	<!-- ================================================================= -->
	<!-- bip_help_path (required): [ /path/to/help/ ] -->	
9a
	<!-- ================================================================= -->
	<!-- bip_css_include_path (optional): [ /path/to/your/stylesheet.ssi ] -->	
a5


noticed the 370, 9a, a5 :( - do you have any ideas where they come from?

Thanks for this great project by the way.
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: OnlineStreams für Movieplayer

Beitrag von PT-1 »

FreddyFr0g
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Sonntag 30. März 2008, 19:18

Re: OnlineStreams für Movieplayer

Beitrag von FreddyFr0g »

thanks for the link :)