taito
Neues Mitglied
Guten Tag liebe Community,
ich bin derzeit ein klein wenig hilflos, da ich bisher an einem Projekt, Web technisch alles lösen konnte. Nur jetzt wird es für mich zu knifflig wo ich nicht weiterkomme. Ich arbeite an der Webseite von einem Livestreamer, der über Twitch.TV streamt. In der Sidebar meiner Webseite habe ein PHP-Script eingebaut, welches über die Twitch API abfragt, ob der Stream Online ist, oder nicht. Wenn er Online ist, wird der Livestream eingebunden auf der Webseite eingebunden. Dies funktioniert nahezu perfekt. Das Problem dabei ist das jedes mal wenn die Seite aufgerufen wird, eine neue API-Abfrage gestartet wird, und somit die Ladezeit unnötig in die länge zieht. Desweiteren sind die Webseiten aufrufe groß, weshalb wir zum teil aus der API wegen übermengen an Abfragen zeitweise ausgesperrt werden. Das führt dazu es manchmal zu Seiten-Ladezeiten von 15-30 Sekunden kommt.
Ich konnte mich schlau lesen, das eine Caching Funktion das beste wäre, oder eine MySQL Tabelle. Vorgestellt hab ich mir das in etwa so:
Mein bisheriger Code-Schnipsel:
Würde mir jemand dabei behilflich sein, das passende Script zu schreiben?
ich bin derzeit ein klein wenig hilflos, da ich bisher an einem Projekt, Web technisch alles lösen konnte. Nur jetzt wird es für mich zu knifflig wo ich nicht weiterkomme. Ich arbeite an der Webseite von einem Livestreamer, der über Twitch.TV streamt. In der Sidebar meiner Webseite habe ein PHP-Script eingebaut, welches über die Twitch API abfragt, ob der Stream Online ist, oder nicht. Wenn er Online ist, wird der Livestream eingebunden auf der Webseite eingebunden. Dies funktioniert nahezu perfekt. Das Problem dabei ist das jedes mal wenn die Seite aufgerufen wird, eine neue API-Abfrage gestartet wird, und somit die Ladezeit unnötig in die länge zieht. Desweiteren sind die Webseiten aufrufe groß, weshalb wir zum teil aus der API wegen übermengen an Abfragen zeitweise ausgesperrt werden. Das führt dazu es manchmal zu Seiten-Ladezeiten von 15-30 Sekunden kommt.
Ich konnte mich schlau lesen, das eine Caching Funktion das beste wäre, oder eine MySQL Tabelle. Vorgestellt hab ich mir das in etwa so:
- Wenn Seite geladen wird --> Cache auslesen / MySQL abfrage.
- Timestamp überprüfen.
- Wenn veraltet: (Variable XY) API Abfrage starten und Cache / MySQL aktualisieren und zurück zum Anfang.
- Wenn nicht: Player anzeigen Wenn Status Online.
Mein bisheriger Code-Schnipsel:
PHP:
<!-- STREAM --><p> <?php // Live Stream wenn Online $data = json_decode(file_get_contents("https://api.twitch.tv/kraken/streams/**Name zensiert**")); if($data->stream) { ?> <object type="application/x-shockwave-flash" height="163" width="268" id="live_embed_player_flash" data="http://www.twitch.tv/widgets/live_embed_player.swf?channel=**Name zensiert**" bgcolor="#000000"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="allowNetworking" value="all" /><param name="movie" value="http://www.twitch.tv/widgets/live_embed_player.swf" /><param name="flashvars" value="hostname=www.twitch.tv&channel=**Name zensiert**&auto_play=true&start_volume=01" /></object> <?php } ?></p><!-- STREAM END -->
Würde mir jemand dabei behilflich sein, das passende Script zu schreiben?