Verdiğiniz kod şu anda çalışmıyor, andyou nun yaptığı gibi bişiler lazım
Ben biraz araştırdım soyle bir şey buldum; <?php
// call with: http://www.mydomain.com/path/YouTube_Multi-Format.php?v=K2_U1kbIcJQ&fmt=18
// 'file': encodeURIComponent('YouTube_Multi-Format.php?v=K2_U1kbIcJQ&fmt=18'),
// 'type': 'video',
// fmt=6 HQ FLV 480x360
// fmt=18 HQ MP4 480x270
// fmt=22 HQ MP4 1280x720
// fmt=35 HQ MP4 640x360
$videoid = (isset($_GET['v'])) ? strval($_GET['v']) : 'K2_U1kbIcJQ';
$fmt = (isset($_GET['fmt'])) ? intval($_GET['fmt']) : '';
$uri = "http://www.youtube.com/api2_rest?method=youtube.videos.get_video_token&video_id=$videoid";
$t = trim(strip_tags(@file_get_contents($uri)));
$uri = "http://www.youtube.com/get_video.php?video_id=$videoid&t=$t&fmt=$fmt";
//...debug
/*
$headers = get_headers($uri);
print "<pre>\n";
print "URI: $uri\n" ;
print_r($headers);
print "\n</pre>\n";
exit;
*/
//...debug
header("Location: $uri");
?>siteadresi.com/youtube.php?v=K2_U1kbIcJQ&fmt=18
Seklindeki bir adresi, aşağıdaki formata çeviriyor.
youtube.com/get_video.php?video_id=K2_U1kbIcJQ&t=OEgsToPDskIiJ 4oXANzL4BnBsdFOWJhE&fmt=18
Bu adresde google cachedeki video adresine gidiyor.
v6.cache2.googlevideo.com/videoplayback=3fid=3d2b6fd4d646c87094&itag=3d18&ip =3d208.85.242.212&signature=3d3886246F48F03D5A9C33 A14DF6F31FB62CD94BE4.1C79DFAED1D487F2F0A3D04EA2AFC D5D35225356&sver=3d2&expire=3d1233797981&key=3dyt1 &ipbits=3d0
Tabi bizde youtube yasakolduğu için, youtube şeklindeki adresi vermesiişimize yaramıyor

ondan sole birşeyler yapabilicek arkadaş varsa sorunu cozebiliriz sanırım, ikinci verdiği adresin nereye bağlandığını bulucak ve bize onun adresini vericek.
$uri = "http://www.youtube.com/get_video.php?video_id=$videoid&t=$t&fmt=$fmt";
Yani bu satırın bağlandığı adresini bulucak ve bu adres yerine bu adresin bağladığı adresi verecek.