Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Streamliste

  1. #1
    HTML Newbie
    Registriert seit
    24.10.2012
    Ort
    A, A
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Streamliste

    hallo,

    Mein Thread würde vermutlich in 3 verschiedene Unterforen passen ich habe jetzt einfach mal dieses hier ausgewählt.
    Ich habe lange nicht mehr mit HTML/CSS/Javascript/PHP gearbeitet deswegen ist mein Wissen (welches auch noch nie so sonderlich groß war) etwas eingerostet. Habe allerdings viel Programmiererfahrung in Java und kann auch etwas Haskell und SQL.

    Anyway folgendes will ich auf meiner Webseite implementieren und frage mich gerade wie ich dass am besten angehe.

    Ich will eine Liste ausgewählter Own3d und Twitch Livestreams auflisten. (allerdings sollen nur die angezeigt werden welche auch tatsächlich gerade online sind) Die Liste soll nach gewissen Kriterien gruppiert sein, die einzelnen Gruppen sollen auf und zu gemacht werden können, defaultmäßig alle offen sein. (so dropdown mäßig) Beim Klicken eines solchen Menüpunktes wird der jeweilige Stream in einem Iframe geöffnet. Ich habe daran gedacht Streameinbettcode, Name, Onlinestatus, Viewers usw. in einer Datenbank zu speichern, was mMn die beste Lösung wäre, da die Wartung so ausgesprochen leicht sein wird.
    Was mir jetzt die meisten Grübel bereitet ist wie ich die mittels SQL ausgewählten Tabelleneinträge der Datenbank als Menüpunkt speichere und diese gleichzeitig so verlinke, dass beim Klicken darauf der ebenfalls aus der DB ausgelesen Code ins Mainframe übergeben wird, weil ich absolut nicht weiß wie ich aus Datenbankeinträge Menüpunkte mache.

    Vielleicht können mir ein paar Leute mit mehr Erfahrung dabei etwas weiterhelfen??

    Edit:
    Hier ein Beispiel was ich meine:
    http://clgaming.net/live/6718-dyrus
    Ich will halt noch zusätzlich die Streams gruppieren und eventuell noch Filtermöglichkeiten hinzufügen.
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von Jakob Abfalter (24.10.2012 um 23:26 Uhr)

  2. #2
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: Streamliste

    na wenn du sql kannst sollte dir ja bewusst sein wie du 1:n und n:m beziehungen darstellst im ERD.
    mach dir ne tabelle menu und da hauste als name oder nav_title den wert fürs menü rein. und ne flag ob active oder nich
    abfrage: schleife: ausgabe.
    dann brauchst du noch ne seite auf die du verlinkst, die könntest du zB unter page in die menutabelle stopfen, wenn du andersartige templates hast dann mach des auch noch rinn. wenn das flag die inactive zeigt, zeigste den menüpunkt erst gar nich an...

    und den code kannse ja dann auch direkt in die db stopfen, dann brauchste wohl auch keinen iframe mehr.
    die abfrage, ob ein stream online ist, muss da auch noch laufen, die frage ist nur wie weisst du welcher stream on is? gibts nen statuscode 404? oder irgendoiwe nen indikator, dann gilt es eine extra tabelle zu erstellen, wo die streams sdrin sind, identifikator-URL, title etc pp
    abfrage: schleife: prüfen auf status, flag im menu setzen wenn offline

    das wär jetzt für jeden stream nen eigener menüpunkt, aber die vorgehensweise kannste natürlich beliebig variieren und anpassen :P

    happy coding und viel erfolg
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  3. #3
    Großmeister(in)
    Registriert seit
    09.12.2008
    Ort
    Berlin
    Alter
    38
    Beiträge
    666
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: Streamliste

    Und wie oft willst du deine Datenbank aktualisieren um auf dem laufenden zu bleiben?
    Own3d kenne ich nicht, aber twitch.tv bietet wohl auch eine API, was wohl der bessere Weg wäre.
    http://support.twitch.tv/discussion/...r-a-twitch-api

    Ansonsten verstehe ich gerade nicht ganz wo das Problem ist ein Menu aus Datenbank-Einträgen zu erstellen.
    Du liest die Einträge aus und generierst mittels PHP damit den HTML-Code fürs Menu der dann ausgegeben wird.
    Wenn du da Hilfe möchtest solltest du noch mal konkretisieren wo genau du nicht weiterkommst.
    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

  4. #4
    HTML Newbie
    Themenstarter

    Registriert seit
    24.10.2012
    Ort
    A, A
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Streamliste

    dankeschön für eure Antworten, jetzt bin ich schlauer

    Wenn noch weitere Fragen auftauchen werd ich mich wieder melden

  5. #5
    HTML Newbie
    Themenstarter

    Registriert seit
    24.10.2012
    Ort
    A, A
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Streamliste

    Hallo ich bin jetzt mit dem "basic code" schon langsam am fertig werden, was mir grade ein bisschen Sorgen macht sind die Laufzeiten für das Auslesen des onlineStatus und der Viewer eines Streams.
    Hier mal der Code (Twitch Viewerauslesen hab ich noch nicht geschrieben)

    Code:
    // Funktion zum Auslesen des onlineStatus eines Streams
    function get_online($stream_id, $typ) {
        // Ownd3d Streams
        if($typ == 'o') {
            $xml = simplexml_load_file('http://api.own3d.tv/liveCheck.php?live_id='.$stream_id);
            $isLive = $xml->liveEvent->isLive;
            if($isLive == 'true') {
                return true;    
            }
            else {
                return false;    
            }
        }
        // Twitch Streams
        else if($typ == 't') {
            $chan = "http://api.justin.tv/api/stream/list.json?channel=".$stream_id;
            $json = file_get_contents($chan);
            $exist = strpos($json, $stream_id);
            if($exist) {
                return true;
            }
            else{
                return false;  
            }        
        }
        else {
            return false;    
        }
    }
    
    
    // Funktion zum Auslesen von Viewerzahlen
    function get_viewers($stream_id, $typ) {
        //Ownd3D
        if($typ == 'o') {
            $xml = simplexml_load_file('http://api.own3d.tv/liveCheck.php?live_id='.$stream_id);
            return $xml->xpath("/own3dReply/liveEvent/liveViewers");
            
        }
        //Twitch
        else if($typ == 't') {
            
        }
        else {
            return "Wrong Typ";
        }
    }
    Eine Anfrage alleine dauert schon ~ 3 Sekunden, was bei vlt 30 Streams welche angezeigt werden einfach nicht bewerkstelligbar ist. Das Problem liegt scheinbar an dem langsamen API der Streamanbieter. Wie ich schon sagte hab ich mit PHP, XML e.c. kaum was am Hut und könnte da eure Hilfe gebrauchen.
    Ein paar Überlegungen von mir:
    Ist es möglich diese Werte irgendwie zu cachen, oder so in der Art?? Dann müsste nur diese lästig lange Ladezeit nur einmal durchgeführt werden, obwohl diese Lösung vlt auch nicht optimal ist.
    Wäre es theoretisch möglich die Werte in gewissen Zeitabständen in eine Datenbank zu schreiben?? Angenommen ich hätte einen Server, sollte dies möglich sein oder?
    ich habe auch schon den Quelltext von http://clgaming.net/ gecheckt, lustiger weise nur

    Code:
      
    <a href="/live/4-clg-doublelift">CLG Doublelift</a><div>
    1381 viewers
    </div>
    Kann es sein dass die die Werte auch einer Datenbank entnehmen??

    Bin dankbar für jede Antwort

    Edit: Eben hat mich ein Freund auf eine weitere Idee gebracht, ist es möglich diese Anfragen zu parallelisieren, ähnlich wie in Java Threads, geht dass in Php??
    Geändert von Jakob Abfalter (30.10.2012 um 12:53 Uhr)

  6. #6
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: Streamliste

    alsomit threading oder hyperthreading hab ich bisher nix zu tun gehabt, aber du könntest nen cronjob bauen der 1 oder 2mal am tag alle streams durchnudelt und in die db schreibt ob die sau online is oder net...

    ja das langatmige gedöhnse liegt meist dann an anderen anbietern und deren langsamen apis, eventuell kannste das auch über ajax bewerkstelligen und dem user dann für jeden einzelnen aufruf nen loader zeigen
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  7. #7
    HTML Newbie
    Themenstarter

    Registriert seit
    24.10.2012
    Ort
    A, A
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Streamliste

    Zitat Zitat von synaptic Beitrag anzeigen
    alsomit threading oder hyperthreading hab ich bisher nix zu tun gehabt, aber du könntest nen cronjob bauen der 1 oder 2mal am tag alle streams durchnudelt und in die db schreibt ob die sau online is oder net...

    ja das langatmige gedöhnse liegt meist dann an anderen anbietern und deren langsamen apis, eventuell kannste das auch über ajax bewerkstelligen und dem user dann für jeden einzelnen aufruf nen loader zeigen
    danke für deine Antwort.
    also 1 oda 2 mal am tag durchlaufen ist leider vieeel zu wenig. Dann würden ja zeitweise streams angezeigt die längst nicht mehr online sind, bzw streams die längst online sind nicht angezeigt. (Meine Seite soll Streams von League of Legends Pros zeigen, diese streamen meist nur ein paar Stunden pro Tag). Und die Viewerzahlen wären dann ja auch alles andere als aktuell.
    Das mit den in eine Datenbank schreiben kann ich daher glaub ich vergessen, da die Anzahl an Aktualiesierungen welche ständig durchgeführt werden müssten, die unstabilen APIs sicher nicht packen würden.
    Wie meinst du dass mit Ajax? Ich kenne diese Programmiersprache überhaupt nicht, was könnte ich mit der machen??

    Was mir auch noch eingefallen wäre, im ownd3d Quelltext eines Streams (im twitch wahrscheinlich auch) steht die Vieweranzahl. Würde ich irgendwie ein Programm schreiben, welches diese findet und ausliest könnte dies vielleicht schneller gehen als mit den APIs. Jemand eine Idee wie ich dass machen könnte??

  8. #8
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: Streamliste

    also ich hab mich mit deinen streams da noch nicht beschäftigt, aber prinzipiell würd ih sagen du brauchst einmal ein script was dir die infos zu nem stream organisiert und dann machste den ajax-aufruf, das ist javascript!
    ajax = asynchrones javascript & xml
    damit rufste dann dein serverseitiges script auf und gibst das ergebnis in echtzeit auf der aktuell geladenen seite aus
    beschäftige dich mit jQuery und ajax ($.ajax(), $.get(), $.post())
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  9. #9
    HTML Newbie
    Themenstarter

    Registriert seit
    24.10.2012
    Ort
    A, A
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Streamliste

    Hab mal bei Own3d gefragt und sehr schnell ein Antwort bekommen

    Hello Jakob,

    Our API response time is normal, but the issue which you might be experiencing is because you are requesting information every time that your website is refreshed.


    What the majority of other sites do, such as clgaming.net is have a cron job run which gathers information roughly once every minute of which streams are online and offline, and writes to a local database so that it's fast when someone loads the website.

    Regards,
    The own3D.tv Support Team

    support@own3D.tv
    www.own3D.tv


    Ohne dass ich gefragt habe, haben sie mir gesagt wie clgaming es macht, yay
    Werde dass jetzt auch so machen, wenn ich die HP dann online gebe, werd ich wohl nen Server brauchen für den Cron job, aba ok ^^

  10. #10
    HTML Newbie
    Themenstarter

    Registriert seit
    24.10.2012
    Ort
    A, A
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Streamliste

    Haudi ich hab mal wieder ne kleine Frage.

    Habe mein Php Script für den Cron Job jetzt soweit fertig.
    Wenn ich testweise auf meinem Wamp Server ausführe funktioniert es, allerdings gibt es mir folgenden Error aus.

    ( ! ) Notice: Undefined offset: 0 in D:\wamp\www\Lol Streamportal\database_actualize.php on line 45
    Call Stack
    # Time Memory Function Location
    1 0.0013 693072 {main}( ) ..\database_actualize.php:0
    2 1.6963 705824 get_viewers( ) ..\database_actualize.php:63

    ( ! ) Notice: Undefined offset: 0 in D:\wamp\www\Lol Streamportal\database_actualize.php on line 45
    Call Stack
    # Time Memory Function Location
    1 0.0013 693072 {main}( ) ..\database_actualize.php:0
    2 5.0968 706400 get_viewers( ) ..\database_actualize.php:63

    ( ! ) Notice: Undefined offset: 0 in D:\wamp\www\Lol Streamportal\database_actualize.php on line 45
    Call Stack
    # Time Memory Function Location
    1 0.0013 693072 {main}( ) ..\database_actualize.php:0
    2 6.0124 706184 get_viewers( ) ..\database_actualize.php:63


    wie gesagt es funktioniert aber trotzdem, ist das ein Problem oder kann ich es so lassen? Hier der Code der scheinbar das Problem verursacht


    Code:
    
    
    Code:
    	//Twitch
    	else if($typ == 't') {
    		$json_file = file_get_contents("http://api.justin.tv/api/stream/list.json?channel=".$stream_id);
    		$json_array = json_decode($json_file, true);
    		return $json_array [0]['channel_count'];
    	}
    Geändert von Jakob Abfalter (05.11.2012 um 00:04 Uhr)

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •