diff options
author | Jesús Eduardo <heckyel@hyperbola.info> | 2017-08-06 20:43:24 -0500 |
---|---|---|
committer | Jesús Eduardo <heckyel@hyperbola.info> | 2017-08-06 20:43:24 -0500 |
commit | f7045b862a5b7c3de8ee2ea3da67616b38a667cc (patch) | |
tree | 504f420546df4934495bbd6f3d9761650b3783bd /processor.php | |
download | ytlibre-f7045b862a5b7c3de8ee2ea3da67616b38a667cc.tar.lz ytlibre-f7045b862a5b7c3de8ee2ea3da67616b38a667cc.tar.xz ytlibre-f7045b862a5b7c3de8ee2ea3da67616b38a667cc.zip |
first commit
Diffstat (limited to 'processor.php')
-rw-r--r-- | processor.php | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/processor.php b/processor.php new file mode 100644 index 0000000..a8ac45e --- /dev/null +++ b/processor.php @@ -0,0 +1,55 @@ +<?php +require_once "init.php"; + +if (empty($_GET['link'])){ + header('Location: index.html'); +} + +$baselink = htmlspecialchars($_GET['link']); + +$yturl = 'youtu.be/'; + +if (strpos($baselink,$yturl) !== false){ + $link = preg_replace('~^https?://youtu\.be/([a-z\d]+)$~i', 'http://www.youtube.com/watch?v=$1', $baselink); +} else { + $link = $baselink; +} + +parse_str($link, $urlData); +$my_id = array_values($urlData)[0]; + +$videoFetchURL = "http://www.youtube.com/get_video_info?&video_id=" . $my_id . "&asv=3&el=detailpage&hl=en_US"; +$videoData = get($videoFetchURL); + +parse_str($videoData, $video_info); + +$video_info = json_decode(json_encode($video_info)); +if (!$video_info->status === "ok") { + die("error in fetching youtube video data"); +} +$videoTitle = $video_info->title; +$videoAuthor = $video_info->author; +$videoDurationSecs = $video_info->length_seconds; +$videoDuration = secToDuration($videoDurationSecs); +$videoViews = $video_info->view_count; + +//change hqdefault.jpg to default.jpg for downgrading the thumbnail quality +$videoThumbURL = "https://i1.ytimg.com/vi/{$my_id}/hqdefault.jpg"; +$librethumb = "https://i1.ytimg.com/vi/{$my_id}/maxresdefault.jpg"; + +if (!isset($video_info->url_encoded_fmt_stream_map)) { + die('No data found'); +} + +$streamFormats = explode(",", $video_info->url_encoded_fmt_stream_map); + +if (isset($video_info->adaptive_fmts)) { + $streamSFormats = explode(",", $video_info->adaptive_fmts); + $pStreams = parseStream($streamSFormats); +} + +$cStreams = parseStream($streamFormats); + +// Aquí selecciona solo 2 vídeos principales. +$videosStream = array_slice($cStreams, 0, 2); + |