diff options
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); + |