uranus Skrevet 15. desember 2008 Del Skrevet 15. desember 2008 Hei! Jeg driver og leker meg med Longtail flv video spilleren på min lokale server og har fått den til å spille av Youtube filmer. Her er linken som går til FLV fila til filmen jeg tester med: s1.addVariable("file",encodeURIComponent("http://www.youtube.com/get_video.php?video_id=gd-IMiZ19-U&t=OEgsToPDskJXxEQz7TJqzVd9HvxD4s4K&ap=%2526fmt%3D18")); Her er problemet. Måten jeg fant linken på, var med en såkalt Youtube FLV retriever sak som er online. Jeg trenger en kode som automatisk lager denne koden slikt at jeg ikke manuelt må oppdatere denne linken. Tror den endres daglig. Siden disse FLV retriever sakene klarer å finne linken, så trenger jeg egentlig samme kode som de bruker, men jeg har ikke klart å finne noe. Først trodde jeg at jeg kun trengte ID til filmen, men viser seg at du også trenger &t= ID, som er den som oppdateres daglig utifra hva jeg har klart å se. Og jeg vet ikke hvordan jeg skal hente ut den. Så er det noen som kan hjelpe meg med dette? Setter stor pris på all hjelp! Lenke til kommentar
uranus Skrevet 15. desember 2008 Forfatter Del Skrevet 15. desember 2008 Jeg klarte det selvfølgelig rett etter jeg postet dette, og legger ved løsningen her. <?php $engineName = "youtube"; $id = "yrDe4iu8el8"; switch ($engineName) { case "youtube": $txt = file_get_contents("http://youtube.com/watch?v=" . $id); $t = substr($txt, strpos($txt, '"t":') + 6, 32); $url = "http://www.youtube.com/get_video?video_id=" . $id . "&t=" . $t; break; } echo $url; ?> Lenke til kommentar
Jonas Skrevet 15. desember 2008 Del Skrevet 15. desember 2008 Den sekundære IDen du snakker finner du bl.a. i koden bak linken du poster på Youtube FLV retrievers. var swfArgs = {"usef": 0, "vq": null, "sourceid": "y", "video_id": "iEvozNlL8V0", "l": 204, "sk": "FRMBeZcesLiUGF3VDxmvqQ5XstVnGhFTU", "fmt_map": "", "t": "OEgsToPDskKKoe78K-OFOAnXM1t9OodS", "hl": "en", "plid": "AAReFhexj72rWKu8AAAAqAT4IAk", "sdetail": "f%3Arec-HM-fresh%20div%2Cp%3A/", "tk": "_6aCdHl3Y7DPmQVvnS5yC9Xnhf3DrXOFsIGdJ3GOYhwPhPHPm3dQMg=="}; Lenke til kommentar
uranus Skrevet 15. desember 2008 Forfatter Del Skrevet 15. desember 2008 <?php $engineName = $_GET['engine']; $id = $_GET['id']; switch ($engineName) { case "youtube": $txt = file_get_contents("http://youtube.com/watch?v=" . $id); $t = substr($txt, strpos($txt, '"t":') + 6, 32); $url = "http://www.youtube.com/get_video?video_id=" . $id . "&t=" . $t; $bilde = "http://img.youtube.com/vi/".$id."/0.jpg"; break; case "break": $url = "http://media1.break.com/dnet/media/2008/12/iraqi-journalist-throws-shoes-at-bush_1.flv"; $bilde = "http://media1.break.com/dnet/media/2008/12/iraqi-journalist-throws-shoes-at-bush.jpg"; break; } ?> Koden funker fint, MEN Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in Tydeligvis ikke tillatt på min offentlige server. Så er det en annen måte jeg kan hente ut det jeg gjør ovenfor? Lenke til kommentar
Jonas Skrevet 16. desember 2008 Del Skrevet 16. desember 2008 Du kan jo forsøke å bruke CURL. <?php $id = 'vr3x_RRJdd4'; $ch = curl_init ( 'http://www.youtube.com/watch?v=' . $id ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); var_dump ( curl_exec ( $ch ) ); var_dump ( curl_error ( $ch ) ); ?> Lenke til kommentar
uranus Skrevet 16. desember 2008 Forfatter Del Skrevet 16. desember 2008 http://grenlandgatebil.no/video/film.php?e...;id=vr3x_RRJdd4 Den bare henter ut hele youtube siden og legger min sak helt i bunn. Lenke til kommentar
Jonas Skrevet 16. desember 2008 Del Skrevet 16. desember 2008 (endret) Ja..? Da har du jo klart å hente innholdet på youtube-siden! Bruk deretter substr() til å hente ut T-verdien. Endret 16. desember 2008 av Jonas Lenke til kommentar
uranus Skrevet 16. desember 2008 Forfatter Del Skrevet 16. desember 2008 (endret) "t": "OEgsToPDskIvh2zmWALYQi2gfn1C9x46", "plid": Der er den koden jeg må hente ut, som stadig endrer seg. Jeg er ganske ny med sånt, er litt usikker på hvordan jeg henter ut kun det, hehe $tverdi = substr('"t": "OEgsToPDskIvh2zmWALYQi2gfn1C9x46", "plid":', 7, -10); $url = "http://www.youtube.com/get_video?video_id=" . $id . "&t=" . $tverdi; Prøvde det men får bare en kode som ikke funker (for å skjønne hvordan det funker). Aner ikke hvordan jeg får koden til å hente ut bare t-verdien fra kildekoden. Endret 16. desember 2008 av uranus Lenke til kommentar
Jonas Skrevet 16. desember 2008 Del Skrevet 16. desember 2008 Du kan implementere det i koden din slik. (Utestet, med forbehold om feil) <?php $engineName = $_GET['engine']; $id = $_GET['id']; switch ($engineName) { case "youtube": $ch = curl_init ( 'http://www.youtube.com/watch?v=' . $id ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); $txt = curl_exec ( $ch ); $t = substr($txt, strpos($txt, '"t":') + 6, 32); $url = "http://www.youtube.com/get_video?video_id=" . $id . "&t=" . $t; $bilde = "http://img.youtube.com/vi/" . $id . "/0.jpg"; break; case "break": $url = "http://media1.break.com/dnet/media/2008/12/iraqi-journalist-throws-shoes-at-bush_1.flv"; $bilde = "http://media1.break.com/dnet/media/2008/12/iraqi-journalist-throws-shoes-at-bush.jpg"; break; } ?> Lenke til kommentar
uranus Skrevet 17. desember 2008 Forfatter Del Skrevet 17. desember 2008 http://www.grenlandgatebil.no/video/film.p...;id=-ItOId-Y54g Vil si det fungerer bra Da må jeg bare prøve å få det til å funkere på f.eks Break.com og andre film sider Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå