blob: 26b24a474f4077478bd7fb625d25b584c78ca853 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
<?php
require_once "init.php";
if (empty($_GET['link'])){
header('Location: index.php');
}
$baselink = htmlspecialchars($_GET['link']);
$yturl = 'youtu.be/';
if (strpos($baselink,$yturl) !== false){
$link = preg_replace('~^https?://youtu\.be/([a-z\d]+)$~i', 'https://www.youtube.com/watch?v=$1', $baselink);
} else {
$link = $baselink;
}
parse_str($link, $urlData);
$my_id = array_values($urlData)[0];
$videoFetchURL = "https://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);
|