• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Twitch.tv API Past Broadcasts einbinden

Losty

RB Leipzig Neider
Teammitglied

Registriert
15 Juli 2013
Beiträge
2.974
Huhu,

Vielleicht kann mir ja jemand der sich mit PHP und dem ganzen Kram mehr auskennt als ich ein wenig behilflich sein. Ein Kumpel und Ich streamen desöfteren über Twitch.tv und wir haben den Twitch Player u.a. auch auf unserer Website eingebunden.

Das geht ja ganz leicht mit folgendem Code hier:
https://github.com/justintv/Twitch-API/blob/master/embedding.md

Dort kann man ohne Probleme den Code kopieren, Channel Name anpassen und zack läuft alles. Jetzt wollten wir allerdings unter dem Livestream Player die letzten Broadcasts unseres Channels anzeigen lassen, also das hier:
http://www.twitch.tv/followkipi/profile/pastBroadcasts (Irgendein Random Beispiel Channel)

Sollte dann auf der Website so aussehen: ganz einfaches Beispiel

Jetzt hab ich allerdings keinen Schimmer wie das ganze hinzubekommen ist da es dafür keinen simplen Code zum einbinden gibt. Ich hatte im Twitch Developer Forum schon einen Thread dazu erstellt aber großartig Antworten gibt es dort nicht, bzw. hilft mir die eine nicht weiter da ich keine Ahnung davon hab ^^

Wäre nett bzw. toll wenn es hier jemanden geben würde der davon Ahnung hat und schnell (falls das nicht aufwendig sein sollte) aushelfen könnte :)

gruß
 

accC

gesperrt

Registriert
14 Juli 2013
Beiträge
5.250
Hast du mal die Readme durchgeschaut?
Wenn ich das richtig sehe, dann sollten
[src=text]GET /streams/summary Get a summary of streams[/src]
und / oder
[src=text]GET /channels/:channel/videos Get channel's list of videos[/src]
sein, was du suchst.
 

Losty

RB Leipzig Neider
Teammitglied

Registriert
15 Juli 2013
Beiträge
2.974
  • Thread Starter Thread Starter
  • #3
Ok das Streams Summary hatte ich gesehen aber das zeigt ja wohl nur eine Liste bzw. Zusammenfassung von Streams an die gerade Online sind oder sowas in der Art.

Channel Videos könnte es allerdings sein..
https://github.com/justintv/Twitch-API/blob/master/v2_resources/videos.md#get-channelschannelvideos

Dort kann man ja mit dem broadcasts Parameter (true) angeben das man nur die letzten Broadcasts angezeigt haben möchte und nicht die Highlights oder andere Videos.

Allerdings weiß ich jetzt eben nicht wie ich das ganze auf meiner Seite einbinde/abrufe:
https://github.com/justintv/Twitch-API/blob/master/v2_resources/videos.md#example-request-2
 

epiphora

aus Plastik
Veteran

Registriert
14 Juli 2013
Beiträge
3.894
Ort
DE-CIX
Hi Losty,

Die API stellt ja wirklich nur die Daten bereit, sonst nichts. Die musst Du also selbst durchlaufen und die Daten dann Stück für Stück ausgeben. Geht zum Beispiel so:

[src=php]<?php
header('Content-Type: text/html; charset=utf8');

$channel = 'vanillatv';

//if(true){
$url = 'https://api.twitch.tv/kraken/channels/' . $channel . '/videos?limit=10';
$data = json_decode(file_get_contents($url));

echo '<ul>';
foreach($data->videos as $video){
//$url = '?id=' . htmlspecialchars($video->broadcast_id);
$url = htmlspecialchars($video->url);
?>
<li>
<h2>
<a href="<?php echo $url; ?>">
<?php echo htmlspecialchars($video->title); ?>
</a>
</h2>
<a href="<?php echo $url; ?>">
<img alt="<?php echo htmlspecialchars($video->game); ?>" src="<?php echo htmlspecialchars($video->preview); ?>">
</a>
<p><?php echo htmlspecialchars($video->description); ?></p>
</li>
<?php }
echo '</ul>';
//}

?>[/src]

Normalerweise sollte man für jedes Video auch einen embed-Code ausgegeben bekommen, wenn ich das richtig gesehen habe. Hab nun aber kein Video gefunden, in dem das möglich war. Wenn man im Channel einstellen kann, dass die Videos auf fremden Seiten eingebunden werden können, wird der Code sicher auch von der API ausgeliefert. Falls Du mir einen Channel nennen kannst, in dem das möglich ist, kann ich den Code gerne erweitern.
 

Losty

RB Leipzig Neider
Teammitglied

Registriert
15 Juli 2013
Beiträge
2.974
  • Thread Starter Thread Starter
  • #5
Der Code ansich reicht ja schon aus, vielen Dank.

Das einzige was ich ändern musste war
[src=php]$url = 'https://api.twitch.tv/kraken/channels/' . $channel . '/videos?limit=10';[/src]

zu
[src=php]$url = 'https://api.twitch.tv/kraken/channels/' . $channel . '/videos?broadcasts=true&limit=5';[/src]

Weil ich ja die "Past Broadcasts" abrufen wollte und nicht die Highlight Videos. Der Rest ist dann CSS Anpasserei.

Kann man denn auch noch mehr Details anzeigen lassen? Also die Anzeigedauer oben rechts, das Spiele Bild unten rechts auf dem Vorschau Bild und das unten drunter "itsHafu about 9 hours ago".

Beispiel hier:
http://www.twitch.tv/itshafu/profile/pastBroadcasts

Zumindest die Länge des Videos und das "x Days/Hours ago". Das Spielebild jetzt nicht wirklich muss.

Ok die Länge funzt mit
[src=php]<p><?php echo htmlspecialchars($video->length); ?></p>[/src]
Wobei das natürlich nur die Sekunden anzeigt, bzw. mit length / 60 wird es in Minuten angezeigt. Wie automatisiere ich das ganze? Gibt ja auch noch Stunden ^^
 
Zuletzt bearbeitet:

eraser

Stinkstiefel

Registriert
21 Juli 2013
Beiträge
3.775
[src=php]
$secs = 12345; // sekunden aus dem Stream hier setzen

$now = date_create('now', new DateTimeZone('GMT'));
$here = clone $now;
$here->modify($secs.' seconds');

$diff = $now->diff($here);

echo $diff->format('%a tag(e) %h stunde(n) %i minute(n) %s sekunde(n)');
[/src]
 
Oben