
Armandolqr
Gamma
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
<?php
error_reporting(0);
$data = isset($_GET['data']) ? $_GET['data'] : '';
if ($data != '') {
include_once 'config.php';
$data = json_decode(decode($data));
$link = isset($data->link) ? $data->link : '';
$sub = isset($data->sub) ? $data->sub : ''; // Un solo subtítulo
$poster = isset($data->poster) ? $data->poster : '';
// Crear el array de tracks para el subtítulo
$tracks = [];
if ($sub) {
$tracks[] = [
"file" => $sub, // Ruta del archivo de subtítulo
];
}
include_once 'curl.php';
$curl = new cURL();
$sources = json_encode([
["label" => "HD", "type" => "video/mp4", "file" => $link]
]);
} else {
echo 'Empty link!';
exit;
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Video</title>
<!-- Script -->
<script src="https://cdn.jkdesu.com/assets/filters-save.js?v=1742598682"></script>
<script src="https://cdn.jkdesu.com/assets/dplayer-new.js?v=1.5"></script>
<!-- Script -->
<script src="https://cdn.jkdesu.com/assets/p2p-media-loader-core.min.js"></script>
<script src="https://cdn.jkdesu.com/assets/p2p-media-loader-hlsjs.min.js"></script>
<script src="https://cdn.jkdesu.com/assets/hls.js"></script>
<script type="text/javascript">
window.onload = function() {
document.getElementById('mse').style.height = window.innerHeight + 'px';
}
window.addEventListener('resize', function() {
document.getElementById('mse').style.height = window.innerHeight + 'px';
});
</script>
<!-- Styles -->
<link rel="stylesheet" href="https://cdn.jkdesu.com/assets/DPlayer.min.css">
<!-- Estilos -->
<style type="text/css">
html,
body {
width: 100%;
height: 100%;
margin: auto;
overflow: hidden;
}
canvas#cnv {
display: none;
}
.dplayer-icon.dplayer-camera-icon {
display: inline-block !important;
}
span.dplayer-bezel-icon.cplay {
opacity: 1;
color: #fff;
background: #f97a29;
height: 110px;
width: 110px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
margin: 0;
}
@Media screen and (max-width: 500px) {
span.dplayer-bezel-icon.cplay {
height: 80px;
width: 80px;
}
}
.dplayer:not(.dplayer-playing) .dplayer-bezel {
background: rgb(0 0 0 / 39%);
}
.dplayer-mobile-play {
opacity: 0 !important;
height: 80px;
width: 80px;
}
span.dplayer-bezel-icon.cplay svg.splay {
position: relative;
left: 2px;
}
div#hlsload {
position: absolute;
width: 100%;
height: 100%;
margin: auto;
background: #000;
left: 0;
top: 0;
bottom: 0;
right: 0;
z-index: 99;
}
#hlsload p {
color: #fff;
margin: auto;
width: 250px;
height: 30px;
font-size: 20px;
top: 0;
bottom: 0;
position: absolute;
left: 0;
right: 0;
}
#hlsload b {
font-weight: normal;
}
/Modal/
#confirm_modal {position: absolute;width: 100%;color: #5A5A5A;padding: 10px;top:0;bottom: 0;margin: auto;z-index: 99;font-family: arial;}
#modal-back {position: fixed;opacity: 0.8;z-index: 10;background: #000000;top: 0;left: 0;right: 0;bottom: 0;margin: auto;}
div#modal-c {height: 100%;position: relative;z-index: 16;}
#confirm_modal h3 {padding: 15px 0px;text-align: center;margin: 0;}
#confirm_modal span {display: block;padding: 0px 19px;}
div#buttons {position: absolute;right: 0;bottom: 0;padding: 0px 0px;margin-bottom: -35px;width: 100%;text-align: center;}
div#buttons a{height: 100%;padding: 10px 43px;color: #000000;display: inline-block;background: #fff;border-radius: 5px;text-decoration: none;margin: 5px 5px;}
.modal {
margin: auto;
width: 50%;
padding-top: 15%;
color: #fff;
}
</style>
</head>
<body>
<div id='hlsload'><p><b class="i">Obteniendo servidores</b><span id="loadingDots"></span></p></div>
<div id="mse"></div>
<script>
var times_modal = 0;
function modal_confirm(titulo = false, msj = false, callback = false, callback_cancel = false) {
if(times_modal == 0) {
var modal = document.createElement("div");
modal.id = 'confirm_modal';
document.body.appendChild(modal);
var ModalData=document.getElementById("confirm_modal");
var boton='';
var boton='<a href="#" id="acp">Aceptar</a>';
ModalData.innerHTML='<div id="modal-back"></div><div class="modal"><div id="modal-c"><h3>'+titulo+'</h3><span id="mc">'+msj+'</span><div id="buttons"><a id="mclose" href="#">Cancelar</a>'+boton+'</div></div></div>';
document.querySelector(".modal").style.height=document.getElementById("mc").offsetHeight+100+'px';
document.getElementById('mclose').onclick=function(){ModalData.remove();callback_cancel();return false;};
document.getElementById('acp').onclick=function(){ModalData.remove();callback();return false;};
}
times_modal++;
}
</script>
<script>
var parts = {
segments: {
swarmId: '<?php echo $link; ?>',
forwardSegmentCount: 50
},
loader: {
WaitForTracker: true,
trackerAnnounce: [
'wss://tracker.jkplayers.com'
],
cachedSegmentExpiration: 1000 * 60 * 60 * 2,
cachedSegmentsCount: 800,
simultaneousP2PDownloads: 15,
bufferedSegmentsCount: 30,
p2pSegmentDownloadTimeout: 5000
}
};
/** Dragurimu */
var videoUrl = '<?php echo $link; ?>';
var isHls = videoUrl.includes('.m3u8'); // Detecta si es HLS
var isMp4 = videoUrl.includes('.mp4'); // Detecta si es MP4
if (isHls) {
var engine = new p2pml.hlsjs.Engine(parts);
window.dp = new DPlayer({
container: document.getElementById('mse'),
preload: 'auto', // metadata
screenshot: true,
theme: '#f97a29',
airplay: true,
hotkey: true,
video: {
url: videoUrl,
pic: '<?php echo $poster; ?>',
type: 'customHls',
customType: {
'customHls': (video, player) => {
const hls = new Hls({
liveSyncDurationCount: 15,
loader: engine.createLoaderClass()
});
p2pml.hlsjs.initHlsJsPlayer(hls);
hls.loadSource(video.src);
hls.attachMedia(video);
}
}
},
subtitle: {
url: '<?php echo $tracks; ?>', // Asigna la URL del subtítulo
type: 'webvtt', // Especifica el tipo de archivo de subtítulos
fontSize: '25px',
bottom: '10%',
color: '#b7daff',
},
});
dp.on('fullscreen', function() {
if (/Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
screen.orientation.lock('landscape');
}
});
} else if (isMp4) {
window.dp = new DPlayer({
container: document.getElementById('mse'),
preload: 'auto', // metadata
screenshot: true,
theme: '#f97a29',
airplay: true,
hotkey: true,
subtitle: {
url: '<?php echo $tracks; ?>', // Asigna la URL del subtítulo
type: 'webvtt', // Especifica el tipo de archivo de subtítulos
fontSize: '25px',
bottom: '10%',
color: '#b7daff',
},
video: {
url: videoUrl,
type: 'mp4'
}
});
dp.on('fullscreen', function() {
if (/Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
screen.orientation.lock('landscape');
}
});
}
function addplaybutton() {
document.querySelector(".dplayer-bezel-icon").innerHTML = '<svg class="splay" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 16 32"><path d="M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z"></path></svg>';
document.querySelector(".dplayer-bezel-icon").className = "dplayer-bezel-icon cplay";
}
addplaybutton();
var hlsloaded = 0;
var showDots;
var updatet;
dp.on('loadstart', function () {
if(hlsloaded == 0) {
hlsloaded = 1;
document.querySelector("#hlsload").style.display = "none";
clearTimeout(updatet);
clearTimeout(showDots);
}
// Recordar minuto
var jkplayer = document.querySelector('.dplayer-video');
var actual_status = localStorage.getItem('remember_players');
var jkplayer_status = actual_status == null ? [] : JSON.parse(actual_status);
function update_jkstatus() {
setInterval(function(){
var new_time = {'time': jkplayer.currentTime, 'hash': window.location.search};
// Si no existe se crea
if (!jkplayer_status.find(o => o.hash === window.location.search)) {
if(jkplayer.currentTime > 5) {
jkplayer_status.push(new_time);
localStorage.setItem('remember_players', JSON.stringify(jkplayer_status));
}
} else {
// Si existe se actualiza
jkplayer_status[jkplayer_status.findIndex(o => o.hash === window.location.search)]['time'] = jkplayer.currentTime;
localStorage.setItem('remember_players', JSON.stringify(jkplayer_status));
}
}, 1000);
}
if(jkplayer_status.find(o => o.hash === window.location.search)) {
// Pregunta si quiere continuar
var player_newtime = jkplayer_status[jkplayer_status.findIndex(o => o.hash === window.location.search)]['time'];
var humantime = new Date(player_newtime * 1000).toISOString().substr(11, 8);
modal_confirm("Un momento!", "Parece que anteriormente estabas mirando este vídeo ¿Deseas continuar donde te quedaste? " + humantime, function() {
jkplayer.currentTime = player_newtime;
jkplayer.play();
update_jkstatus();
}, function() {
update_jkstatus();
});
} else {
// Si no hay info, crea o actualiza
update_jkstatus();
}
});
setTimeout(function(){
document.querySelector("#hlsload").style.display = "none";
clearTimeout(updatet);
clearTimeout(showDots);
}, 15000);
var showLoadingDots = function() {
showDots = setInterval(function(){
var d = document.querySelector("#loadingDots");
if(d.innerHTML.length >= 3) {
d.innerHTML = ''
} else {
d.innerHTML = d.innerHTML + '.';
}
}, 300);
}
showLoadingDots();
var updateText = function() {
var segundo_actual = 0;
updatet = setInterval(function(){
var d = document.querySelector("#hlsload b.i");
segundo_actual++;
if(segundo_actual == 4) {
d.innerHTML = "Obtenidos, desencriptando";
}
if(segundo_actual == 3) {
d.innerHTML = "Cargando player";
}
}, 1000);
}
updateText();
dp.on('play', function() {
document.querySelector(".dplayer-bezel-icon").className = "dplayer-bezel-icon";
});
dp.on('playing', function() {
document.querySelector(".dplayer-bezel-icon").className = "dplayer-bezel-icon";
});
dp.on('pause', function() {
document.querySelector(".dplayer-bezel-icon").className = "dplayer-bezel-icon cplay";
document.querySelector(".dplayer-bezel-icon").innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 17 32"><path d="M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z"></path></svg>';
});
</script>
</body>
</html>
error_reporting(0);
$data = isset($_GET['data']) ? $_GET['data'] : '';
if ($data != '') {
include_once 'config.php';
$data = json_decode(decode($data));
$link = isset($data->link) ? $data->link : '';
$sub = isset($data->sub) ? $data->sub : ''; // Un solo subtítulo
$poster = isset($data->poster) ? $data->poster : '';
// Crear el array de tracks para el subtítulo
$tracks = [];
if ($sub) {
$tracks[] = [
"file" => $sub, // Ruta del archivo de subtítulo
];
}
include_once 'curl.php';
$curl = new cURL();
$sources = json_encode([
["label" => "HD", "type" => "video/mp4", "file" => $link]
]);
} else {
echo 'Empty link!';
exit;
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Video</title>
<!-- Script -->
<script src="https://cdn.jkdesu.com/assets/filters-save.js?v=1742598682"></script>
<script src="https://cdn.jkdesu.com/assets/dplayer-new.js?v=1.5"></script>
<!-- Script -->
<script src="https://cdn.jkdesu.com/assets/p2p-media-loader-core.min.js"></script>
<script src="https://cdn.jkdesu.com/assets/p2p-media-loader-hlsjs.min.js"></script>
<script src="https://cdn.jkdesu.com/assets/hls.js"></script>
<script type="text/javascript">
window.onload = function() {
document.getElementById('mse').style.height = window.innerHeight + 'px';
}
window.addEventListener('resize', function() {
document.getElementById('mse').style.height = window.innerHeight + 'px';
});
</script>
<!-- Styles -->
<link rel="stylesheet" href="https://cdn.jkdesu.com/assets/DPlayer.min.css">
<!-- Estilos -->
<style type="text/css">
html,
body {
width: 100%;
height: 100%;
margin: auto;
overflow: hidden;
}
canvas#cnv {
display: none;
}
.dplayer-icon.dplayer-camera-icon {
display: inline-block !important;
}
span.dplayer-bezel-icon.cplay {
opacity: 1;
color: #fff;
background: #f97a29;
height: 110px;
width: 110px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
margin: 0;
}
@Media screen and (max-width: 500px) {
span.dplayer-bezel-icon.cplay {
height: 80px;
width: 80px;
}
}
.dplayer:not(.dplayer-playing) .dplayer-bezel {
background: rgb(0 0 0 / 39%);
}
.dplayer-mobile-play {
opacity: 0 !important;
height: 80px;
width: 80px;
}
span.dplayer-bezel-icon.cplay svg.splay {
position: relative;
left: 2px;
}
div#hlsload {
position: absolute;
width: 100%;
height: 100%;
margin: auto;
background: #000;
left: 0;
top: 0;
bottom: 0;
right: 0;
z-index: 99;
}
#hlsload p {
color: #fff;
margin: auto;
width: 250px;
height: 30px;
font-size: 20px;
top: 0;
bottom: 0;
position: absolute;
left: 0;
right: 0;
}
#hlsload b {
font-weight: normal;
}
/Modal/
#confirm_modal {position: absolute;width: 100%;color: #5A5A5A;padding: 10px;top:0;bottom: 0;margin: auto;z-index: 99;font-family: arial;}
#modal-back {position: fixed;opacity: 0.8;z-index: 10;background: #000000;top: 0;left: 0;right: 0;bottom: 0;margin: auto;}
div#modal-c {height: 100%;position: relative;z-index: 16;}
#confirm_modal h3 {padding: 15px 0px;text-align: center;margin: 0;}
#confirm_modal span {display: block;padding: 0px 19px;}
div#buttons {position: absolute;right: 0;bottom: 0;padding: 0px 0px;margin-bottom: -35px;width: 100%;text-align: center;}
div#buttons a{height: 100%;padding: 10px 43px;color: #000000;display: inline-block;background: #fff;border-radius: 5px;text-decoration: none;margin: 5px 5px;}
.modal {
margin: auto;
width: 50%;
padding-top: 15%;
color: #fff;
}
</style>
</head>
<body>
<div id='hlsload'><p><b class="i">Obteniendo servidores</b><span id="loadingDots"></span></p></div>
<div id="mse"></div>
<script>
var times_modal = 0;
function modal_confirm(titulo = false, msj = false, callback = false, callback_cancel = false) {
if(times_modal == 0) {
var modal = document.createElement("div");
modal.id = 'confirm_modal';
document.body.appendChild(modal);
var ModalData=document.getElementById("confirm_modal");
var boton='';
var boton='<a href="#" id="acp">Aceptar</a>';
ModalData.innerHTML='<div id="modal-back"></div><div class="modal"><div id="modal-c"><h3>'+titulo+'</h3><span id="mc">'+msj+'</span><div id="buttons"><a id="mclose" href="#">Cancelar</a>'+boton+'</div></div></div>';
document.querySelector(".modal").style.height=document.getElementById("mc").offsetHeight+100+'px';
document.getElementById('mclose').onclick=function(){ModalData.remove();callback_cancel();return false;};
document.getElementById('acp').onclick=function(){ModalData.remove();callback();return false;};
}
times_modal++;
}
</script>
<script>
var parts = {
segments: {
swarmId: '<?php echo $link; ?>',
forwardSegmentCount: 50
},
loader: {
WaitForTracker: true,
trackerAnnounce: [
'wss://tracker.jkplayers.com'
],
cachedSegmentExpiration: 1000 * 60 * 60 * 2,
cachedSegmentsCount: 800,
simultaneousP2PDownloads: 15,
bufferedSegmentsCount: 30,
p2pSegmentDownloadTimeout: 5000
}
};
/** Dragurimu */
var videoUrl = '<?php echo $link; ?>';
var isHls = videoUrl.includes('.m3u8'); // Detecta si es HLS
var isMp4 = videoUrl.includes('.mp4'); // Detecta si es MP4
if (isHls) {
var engine = new p2pml.hlsjs.Engine(parts);
window.dp = new DPlayer({
container: document.getElementById('mse'),
preload: 'auto', // metadata
screenshot: true,
theme: '#f97a29',
airplay: true,
hotkey: true,
video: {
url: videoUrl,
pic: '<?php echo $poster; ?>',
type: 'customHls',
customType: {
'customHls': (video, player) => {
const hls = new Hls({
liveSyncDurationCount: 15,
loader: engine.createLoaderClass()
});
p2pml.hlsjs.initHlsJsPlayer(hls);
hls.loadSource(video.src);
hls.attachMedia(video);
}
}
},
subtitle: {
url: '<?php echo $tracks; ?>', // Asigna la URL del subtítulo
type: 'webvtt', // Especifica el tipo de archivo de subtítulos
fontSize: '25px',
bottom: '10%',
color: '#b7daff',
},
});
dp.on('fullscreen', function() {
if (/Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
screen.orientation.lock('landscape');
}
});
} else if (isMp4) {
window.dp = new DPlayer({
container: document.getElementById('mse'),
preload: 'auto', // metadata
screenshot: true,
theme: '#f97a29',
airplay: true,
hotkey: true,
subtitle: {
url: '<?php echo $tracks; ?>', // Asigna la URL del subtítulo
type: 'webvtt', // Especifica el tipo de archivo de subtítulos
fontSize: '25px',
bottom: '10%',
color: '#b7daff',
},
video: {
url: videoUrl,
type: 'mp4'
}
});
dp.on('fullscreen', function() {
if (/Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
screen.orientation.lock('landscape');
}
});
}
function addplaybutton() {
document.querySelector(".dplayer-bezel-icon").innerHTML = '<svg class="splay" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 16 32"><path d="M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z"></path></svg>';
document.querySelector(".dplayer-bezel-icon").className = "dplayer-bezel-icon cplay";
}
addplaybutton();
var hlsloaded = 0;
var showDots;
var updatet;
dp.on('loadstart', function () {
if(hlsloaded == 0) {
hlsloaded = 1;
document.querySelector("#hlsload").style.display = "none";
clearTimeout(updatet);
clearTimeout(showDots);
}
// Recordar minuto
var jkplayer = document.querySelector('.dplayer-video');
var actual_status = localStorage.getItem('remember_players');
var jkplayer_status = actual_status == null ? [] : JSON.parse(actual_status);
function update_jkstatus() {
setInterval(function(){
var new_time = {'time': jkplayer.currentTime, 'hash': window.location.search};
// Si no existe se crea
if (!jkplayer_status.find(o => o.hash === window.location.search)) {
if(jkplayer.currentTime > 5) {
jkplayer_status.push(new_time);
localStorage.setItem('remember_players', JSON.stringify(jkplayer_status));
}
} else {
// Si existe se actualiza
jkplayer_status[jkplayer_status.findIndex(o => o.hash === window.location.search)]['time'] = jkplayer.currentTime;
localStorage.setItem('remember_players', JSON.stringify(jkplayer_status));
}
}, 1000);
}
if(jkplayer_status.find(o => o.hash === window.location.search)) {
// Pregunta si quiere continuar
var player_newtime = jkplayer_status[jkplayer_status.findIndex(o => o.hash === window.location.search)]['time'];
var humantime = new Date(player_newtime * 1000).toISOString().substr(11, 8);
modal_confirm("Un momento!", "Parece que anteriormente estabas mirando este vídeo ¿Deseas continuar donde te quedaste? " + humantime, function() {
jkplayer.currentTime = player_newtime;
jkplayer.play();
update_jkstatus();
}, function() {
update_jkstatus();
});
} else {
// Si no hay info, crea o actualiza
update_jkstatus();
}
});
setTimeout(function(){
document.querySelector("#hlsload").style.display = "none";
clearTimeout(updatet);
clearTimeout(showDots);
}, 15000);
var showLoadingDots = function() {
showDots = setInterval(function(){
var d = document.querySelector("#loadingDots");
if(d.innerHTML.length >= 3) {
d.innerHTML = ''
} else {
d.innerHTML = d.innerHTML + '.';
}
}, 300);
}
showLoadingDots();
var updateText = function() {
var segundo_actual = 0;
updatet = setInterval(function(){
var d = document.querySelector("#hlsload b.i");
segundo_actual++;
if(segundo_actual == 4) {
d.innerHTML = "Obtenidos, desencriptando";
}
if(segundo_actual == 3) {
d.innerHTML = "Cargando player";
}
}, 1000);
}
updateText();
dp.on('play', function() {
document.querySelector(".dplayer-bezel-icon").className = "dplayer-bezel-icon";
});
dp.on('playing', function() {
document.querySelector(".dplayer-bezel-icon").className = "dplayer-bezel-icon";
});
dp.on('pause', function() {
document.querySelector(".dplayer-bezel-icon").className = "dplayer-bezel-icon cplay";
document.querySelector(".dplayer-bezel-icon").innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 17 32"><path d="M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z"></path></svg>';
});
</script>
</body>
</html>