Letztendlich ist der Strom von zuckenden MPEG-4 (H264/M3U).Wenn Sie das also in Unity rendern können, können Sie Twitch-Streams rendern.
Es gibt ein paar Schritte, um die richtigen URLs von Twitch angefordert, und das kann sich im Laufe der Zeit ändern. Sie müssen eine aktuelle Twitch-Seite überprüfen, während ein Stream abgespielt wird, um zu sehen, wie das Javascript die Anfrage erstellt (URL und Header).
Am Ende erstellt das Javascript ein Zugriffs-Token und verwendet es dann, um eine Datei namens index-live.m3u8
von einem der Twitch-Edge-Server anzufordern. Diese Datei enthält eine Liste von Dateinamen für die letzten Sekunden des Live-Streams (und einige andere Metadaten). Es sieht so etwas wie dieses
https://video-edge-c61b44.lax01.hls.ttvnw.net/v0/[some-long-access-token]/index-live.m3u8
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:5
#ID3-EQUIV-TDTG:2017-10-27T16:53:27
#EXT-X-MEDIA-SEQUENCE:8788
#EXT-X-TWITCH-ELAPSED-SECS:17576.000
#EXT-X-TWITCH-TOTAL-SECS:17589.870
#EXTINF:2.000,
index-0000008788-Y6OH.ts
#EXTINF:2.000,
index-0000008789-l0QY.ts
#EXTINF:2.000,
index-0000008790-gCUV.ts
#EXTINF:2.000,
index-0000008791-1ngg.ts
#EXTINF:2.000,
index-0000008792-wpQL.ts
#EXTINF:2.000,
index-0000008793-koO4.ts
Sie tauschen dann index-live.m3u8
mit dem Namen einer Datei in der Liste und fordert ihn auf diesen Clip zu bekommen. Etwas wie:
https://video-edge-c61b44.lax01.hls.ttvnw.net/v0/[the-same-long-access-token]/index-0000008793-koO4.ts
Es wird ein MPEG-4-Stream etwa 1 Sekunde lang sein. Die Liste ist ungefähr 6 Dateien lang, also wenn Sie sie alle anfordern, können Sie ungefähr einen Puffer der Sekunde 6 erhalten.
Jede Sekunde oder zwei, index-live.m3u8 wird aktualisiert und ältere Dateien abrollen, wenn neue unten hinzugefügt werden. Sie müssen diese Datei alle paar Sekunden erneut anfordern, wenn der Pufferspeicher erschöpft ist, und die neuen Clips anfordern, um die Wiedergabe fortzusetzen.