< ?php
function GrabVideo($url)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, ?Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2′);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$page = curl_exec($ch);
if (!curl_errno($ch))
curl_close($ch);
else
$page = false;
return $page;
}
if (isset($_GET['url'])){
$url=$_GET['url'];
$url=trim($url);

if (strstr($_GET['url'],?youtube.com?)){
$youtube_page =GrabVideo($_GET['url']);
preg_match(?/watch_fullscreen\?fs=(.*?)&vq=(.*?)&video_id=(.*?)&l=(.*?)&sk=(.*?)&fmt_map=(.*?)&t=(.*?)&hl=(.*?)&plid=(.*?)&/?, $youtube_page, $matches);
if ($matches && isset($matches[1]) && isset($matches[3])) {
Header(?Location: http://www.youtube.com/get_video?video_id=$matches[3]&l=$matches[4]&t=$matches[7]?);
}
}
}
?>

che possiamo richiamare da questo semplice form:

Al file che salva “get_video” dobbiamo poi aggiungere manualmente l’estensione .flv

fonte: www.sastgroup.com