Gå til innhold

Kode som automatisk lager oppdatert lenke til Youtube film


Anbefalte innlegg

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
Videoannonse
Annonse

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

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

   <?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

"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 av uranus
Lenke til kommentar

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...