Меня интересуеют какбы парсер видео из фрейма в ВК. Тоесть нужно сделать так чтобы из фрейма можно было достать прямую ссылку на скачку видео.
Нашел код и немного его допилил.
Вот следовательно парсер
$url = 'http://vk.com/video_ext.php?oid=-58553790&id=166934648&hash=45e8189bd0b296ce';
function getVideoUrl($url) {
$url = str_replace("\/","/",$url);
$ch = curl_init();
$user_agent = $datauser['browser'];
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_HEADER,false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_VERBOSE,1);
$result = curl_exec($ch);
curl_close($ch);
$video_url = '';
$hd = Array('240', '360', '480', '720', '1080');
preg_match("/var video_host = '([0-9a-z\.\/:]*)'/", $result, $res);
if (preg_match('/http/', $res[1]))
$video_url.=$res[1];
else {
$video_url.='http://cs' . $host[1];
}
if (substr($video_url, strlen($video_url) - 1, 1) != '/')
$video_url.='/';
preg_match("/var video_uid = '(\d*)'/", $result, $res);
$video_url.='u' . $res[1] . '/videos/';
preg_match("/var video_vtag = '([\da-zA-Z]*)'/", $result, $res);
$video_url.=$res[1];
preg_match("/var video_no_flv = (\d)/", $result, $res);
if ($res[1] == 0) {
$video_url .= '.flv';
}
else if($res[1] == 1){
preg_match("/var video_max_hd = '(\d)'/", $result, $res);
$video_url .= '.'.$hd[$res[1]].'.mp4';
}
$video = str_replace("v4.vk.me", ".vk.com", $video_url);
return $video;
}
echo getVideoUrl($url);
В итоге получаю ссылку вида.
http://cs535322.vk.com/u197616 ... 0.mp4
Но проблема именно в параметре vtag - это имя файла
Тоесть у меня стоит 009f68a710. Это имя было зарегистрировано за IP сервера почему-то, хотя браузер был задан. Наверно там толку от него нету.
И ссылка не работает для меня с моим IP
Нужно как-то значение vtag авторизовать к IP пользователя который хочет скачать видео.
Может кто подскажет готовые решения. Пол нета облазил и нашел только устаревшие скрипты.