узнать прямую ссылку на youtube, redtube

Статус
В этой теме нельзя размещать новые ответы.

ivashka

Полезный
Регистрация
16 Май 2007
Сообщения
151
Реакции
15
Уже неделю ищу и безрезультатно...

Как при помощи php узнать прямую ссылку на youtube, что бы можно было воспроизводить при помощи своего плеера на сайте, а не использовать youtube`овский...
В частности больше интересует случай с redtube... Нашел программу, в которую вводиш линк на страницу с видео, а она сохраняет само видео, ну так как узнать прямую ссылку на flv?
 
Похоже там нету доступа к файлу через веб, а плеер получает только идентификатор ролика

Код:
 so.addVariable("id", "9124");
неверное в самом плеере приписаны пути где брать файлы.

// ---------------------------------------------------------------------------------

Вот ищо нашол вариант:

Как сохранить ролик с YouTube, который Вы только что просмотрели

Да собственно он уже сохранен на Вашем компьютере, просто нужно найти его в кэше Вашего браузера.

Я сортирую файлы кэша по времени модификации, смотрю на их размер, видео файлы, как правило, имееют достаточно большой размер, для лучшей достоверности просматриваю содержимое файлов претендентов, в котором можно увидеть ключевые слова FLV и YouTube (по крайней мере для файлов кэша FireFox), переименовываю их по своему желанию и присваиваю расширение FLV.

Все, теперь пытаемся запустить наши файлы на просмотр в FLV Player’е, чтобы выяснить, где-же то, что мы искали.

Такая простая - лобовая методика пригодится и для вытаскивания флэш (flash) файлов и т.п.

// ---------------------------------------------------------------------------

 
С помощью YouTube API.

Например:

Код:
 <?php
$videoid = "ID видео";
$url= "http://www.youtube.com/api2_rest?method=youtube.videos.get_video_token&video_id=$videoid";
$t = trim(strip_tags(@file_get_contents($url)));
$url = "http://www.youtube.com/get_video.php?video_id=".$videoid."&amp;t=".$t;
?>
 
ну искать файл в кеше не совсем нормальный подход, т.к. сохраняется то разрешение которое в этом браузере было просмотрено, то бишь качество хуже.
можно воспользоваться Для просмотра ссылки Войди или Зарегистрируйся
прогнав ссылку ролика ...w.youtube.com/watch?v=jkbuBB87V6...
и сохранить тот же ролик в лучшем качестве (если конечно таковое имеется) в flv, и mp4
 
Вот скрипт на яваскипте для получения полного пути к файлу fla на redtube.com
PHP:
function get_url_redredtube (id) {
	var s = ""+ id;
	if (s == "") {
		s = "1";
	} 
	var pathnr = "" + Math.floor(parseFloat(s) / 1000);
	
	var l = s.length;
	var i = 1;
	while (i <= 7 - l) {
		s = "0" + s;
		++i;
	}
	l = pathnr.length;
	for (i = 1; i <= 7 - l; i++) {
		pathnr = "0" + pathnr;
	}
	var xc = new Array("R", "1", "5", "3", "4", "2", "O", "7", "K", "9", "H", "B", "C", "D", "X", "F", "G", "A", "I", "J", "8", "L", "M", "Z", "6", "P", "Q", "0", "S", "T", "U", "V", "W", "E", "Y", "N");
	var code = "";
	var qsum = 0;
	for (i = 0; i <= 6; i++) {
		qsum = qsum + parseInt(s.charAt(i)) * (i + 1);
	}
	var s1 = "" + qsum;
	qsum = 0;
	for (i = 0; i < s1.length; i++) {
		qsum = qsum + parseInt(s1.charAt(i));
	}
	var qstr;
	if (qsum >= 10) {
		qstr = "" + qsum;
	} else {
		qstr = "0" + qsum;
	}
	code = code + xc[s.charCodeAt(3) - 48 + qsum + 3];
	code = code + qstr.charAt(1);
	code = code + xc[s.charCodeAt(0) - 48 + qsum + 2];
	code = code + xc[s.charCodeAt(2) - 48 + qsum + 1];
	code = code + xc[s.charCodeAt(5) - 48 + qsum + 6];
	code = code + xc[s.charCodeAt(1) - 48 + qsum + 5];
	code = code + qstr.charAt(0);
	code = code + xc[s.charCodeAt(4) - 48 + qsum + 7];
	code = code + xc[s.charCodeAt(6) - 48 + qsum + 4];
	content_video = 'http://dl.redtube.com/dl.redtube.com/_videos_t4vn23s9jc5498tgj49icfj4678/'+pathnr + "/" + code + ".flv";
	alert(content_video);
}
get_url_redredtube ('16830');

Можно без проблема переписать на php и сделать качалку на сервак :)
 
Вот моя функция на php :)
PHP:
    function video_link($id = '')
    {
        if ($id == '')
        {
            return FALSE;
        }
        $pathnr = floor($id / 1000);
        $l = strlen($id);
        $i = 1;
        while ($i <= (7 - $l))
        {
            $id = '0'.$id;
            $i++;
        }
        $l = strlen($pathnr);
        for ($i = 1; $i <= 7 - $l; $i++)
        {
            $pathnr = '0'.$pathnr;
        }
        $xc = array(
            'R', '1', '5', '3', '4', '2', 'O', '7', 'K', '9', 'H', 'B',
            'C', 'D', 'X', 'F', 'G', 'A', 'I', 'J', '8', 'L', 'M', 'Z',
            '6', 'P', 'Q', '0', 'S', 'T', 'U', 'V', 'W', 'E', 'Y', 'N'
        );
        $code = '';
        $qsum = 0;
        for ($i = 0; $i <= 6; $i++)
        {
            $qsum = $qsum + substr($id, $i, 1) * ($i + 1);
        }
        $s1 = $qsum;
        $qsum = 0;
        for ($i = 0; $i < strlen($s1); $i++)
        {
            $qsum = $qsum + substr($s1, $i,1);
        }
        if ($qsum >= 10)
        {
            $qstr = $qsum;
        }
        else
        {
            $qstr = '0' . $qsum;
        }
        $c    = ord(substr($id, 3,1)) - 48 + $qsum + 3;
        $code = $code.$xc[$c];
        $code = $code.substr($qstr, 1,1);
        $c    = ord(substr($id, 0, 1)) - 48 + $qsum + 2;
        $code = $code.$xc[$c];
        $c    = ord(substr($id, 2, 1)) - 48 + $qsum + 1;
        $code = $code.$xc[$c];
        $c = ord(substr($id, 5, 1)) - 48 + $qsum + 6;
        $code = $code.$xc[$c];
        $c    = ord(substr($id, 1, 1)) - 48 + $qsum + 5;
        $code = $code.$xc[$c];
        $code = $code.substr($qstr, 0, 1);
        $c    = ord(substr($id, 4, 1)) - 48 + $qsum + 7;
        $code = $code.$xc[$c];
        $c    = ord(substr($id, 6, 1)) - 48 + $qsum + 4;
        $code = $code.$xc[$c];
        return 'http://videos-0'.rand(10, 40).'.cdn.redtube.com/_videos_t4vn23s9jc5498tgj49icfj4678/'.$pathnr.'/'.$code.'.flv';
    }
 
ну искать файл в кеше не совсем нормальный подход, т.к. сохраняется то разрешение которое в этом браузере было просмотрено, то бишь качество хуже.
можно воспользоваться Для просмотра ссылки Войди или Зарегистрируйся
прогнав ссылку ролика ...w.youtube.com/watch?v=jkbuBB87V6...
и сохранить тот же ролик в лучшем качестве (если конечно таковое имеется) в flv, и mp4
Удобнее сохранить в Chrome=>dev tools=>resources
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху