Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP ja streamin tila

Viitapiru [11.05.2010 12:04:23]

#

Tervehdys!

Nyt olisi tämmöinen ropleema, että en oikein tietäisi mistä lähteä liikkeelle.

Tarkoituksena olisi siis tarkistaa multimedia streamin tila. Eli olen toteuttamassa semmoista järjestelmää, jossa käyttäjät voivat lisätä linkin omaan streamiinsa ja tämä järjestelmä sitten tarkistaisi että onko stream online vai offline tilassa.

http://www.teamliquid.net/video/userstream.php

Eli vähän samaan tapaan kuin tuolla sivustolla. Ongelmana on vain, että en tiedä mistä lähteä liikkelle tai onko tämmöinen ylipäätään mahdollista toteuttaa PHP:llä. Olen koittanut etsiä tältä foorumilta ja googlesta.

Toivottavasti ymmärsitte mitä tarkoitan. Osaisiko kukaan viisaampi avustaa?

Metabolix [11.05.2010 12:17:02]

#

Toki onnistuu. Otat vain fsockopen-funktiolla yhteyden käyttäjän ilmoittamaan osoitteeseen ja lähetät ja kommunikoit käytettävän protokollan mukaisesti (eli laitat PHP:n "kuuntelemaan" streamia). Voi olla viisasta asentaa ensin jokin verkonseurantatyökalu ja katsoa sen avulla, miten jokin oikea mediasoitin avaa yhteyden.

Viitapiru [11.05.2010 14:09:55]

#

Ei se nyt oikein vielä auennut.

<?php
$host = "www.teamliquid.net";
$port = "80";

$fp = fsockopen("$host", $port, &$errno, &$errstr);

if(!$fp) {
echo "Offline";
}

if($fp){
echo "Online";

$out = "GET /video/userstream.php?user=Roffles HTTP/1.1\r\n";
$out .= "Host: www.teamliquid.net\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);

    while (!feof($fp)) {
        echo fgets($fp, 128);
    }

}

fclose($fp);

?>

Tuolla pätkällä saan kyllä yhteyden, mutta miten saisin tarkastettua onko lähetys käynnissä vai eikö

Metabolix [11.05.2010 14:48:00]

#

Nyt ilmeisesti lataat vain jonkin nettisivun etkä mitään streamia. Tämähän onnistuisi ihan file_get_contents-funktiolla. Jos haluamasi tieto lukee tuolla sivulla, voit yksinkertaisesti etsiä sen tekstistä strpos-funktiolla, säännöllisillä lausekkeilla tai DOM-rajapinnalla. Jos taas tietoa ei lue tuolla, päästään takaisin siihen alkuperäiseen ehdotukseeni, että kokeile ottaa yhteys streamiin, (EI nettisivuun).

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta