Jump to content
viiprogrammer

Получение прямой сылки на видео youtube

Recommended Posts

Функция получения прямой ссылки на youtube видео

function getVideoUrl($id)
{
    $formats = array('18', '22', '37', '38');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://www.youtube.com/get_video_info?video_id=' . $id);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $links = curl_exec($ch);
    curl_close($ch);
    parse_str($links, $info);
    if ($info["status"] == 'fail') {
        $video_array[] = '';
        return;
    }
    $res = explode(',', $info['url_encoded_fmt_stream_map']);
    foreach ($res as $k => $v) {
        parse_str($v, $rr);
        if (in_array($rr['itag'], $formats)) {
            $video_array[] = urldecode($rr['url']);
        }
    }
    return $video_array;
}

P.s ссылка действительна чуть больше дня.

  • Upvote 2

Share this post


Link to post

Значит это не прямая ссылка.

Увы более прямую не получить , а какая разница и по самой прямой и по этой можно скачать файл

Share this post


Link to post

Увы более прямую не получить , а какая разница и по самой прямой и по этой можно скачать файл

 

А, ну если это для скачивания, то вполне сойдет.

Share this post


Link to post

это функция запроса на прямую ссылку?

можно же ведь сделать чтобы каждый раз при нажатии на плей был запрос на ссылку и видео бы проигрывалось в плеере?

Share this post


Link to post

Функция получения прямой ссылки на youtube видео

function getVideoUrl($id)
{
    $formats = array('18', '22', '37', '38');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://www.youtube.com/get_video_info?video_id=' . $id);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $links = curl_exec($ch);
    curl_close($ch);
    parse_str($links, $info);
    if ($info["status"] == 'fail') {
        $video_array[] = '';
        return;
    }
    $res = explode(',', $info['url_encoded_fmt_stream_map']);
    foreach ($res as $k => $v) {
        parse_str($v, $rr);
        if (in_array($rr['itag'], $formats)) {
            $video_array[] = urldecode($rr['url']);
        }
    }
    return $video_array;
}

P.s ссылка действительна чуть больше дня.

куда это и для чего?

Share this post


Link to post

куда это и для чего?

 

Это пользовательская функция в php, написанная для того чтобы получать по ID видео с YOUTUBE ссылку на сам видео файл

  • Upvote 1

Share this post


Link to post

Это пользовательская функция в php, написанная для того чтобы получать по ID видео с YOUTUBE ссылку на сам видео файл

ясно

Share this post


Link to post

это функция запроса на прямую ссылку?

можно же ведь сделать чтобы каждый раз при нажатии на плей был запрос на ссылку и видео бы проигрывалось в плеере?

Самую прямую ссылку получить невозможно но эта ссылка вроде 5 дневная после надо получать заново но чтобы не сильно грузить можно кешировать а так да, ее можно пихать в свой плеер

Share this post


Link to post

может кто-нибудь реализует? 

пользователь вставляет в базу url видео

при нажатии на плей, запускается функция вытаскивает файл и проигрывает

или чтобы при открытии страницы с видео шел запрос и вставлялась полученная ссылка

Edited by GoogleChrome

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×