mirror of
https://github.com/LaQuay/TDTChannels.git
synced 2024-11-26 18:54:57 +01:00
Update web
This commit is contained in:
parent
5a137b4f2e
commit
29e1798a81
2 changed files with 125 additions and 98 deletions
|
@ -1,36 +1,136 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/clappr@latest/dist/clappr.min.js"></script>
|
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/clappr@latest/dist/clappr.min.js"></script>
|
||||||
|
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
|
||||||
|
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
|
||||||
|
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
|
||||||
|
integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
|
||||||
|
crossorigin="anonymous"></script>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
|
||||||
|
integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
|
||||||
|
crossorigin="anonymous"></script>
|
||||||
|
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
|
||||||
|
integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
|
||||||
|
crossorigin="anonymous"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="player"></div>
|
<div class="container" style="margin-top: 50px">
|
||||||
|
<h1 class="display-3">TDTChannels</h1>
|
||||||
|
<p class="lead">
|
||||||
|
Bienvenido al reproductor del proyecto opensource TDTChannels
|
||||||
|
</p>
|
||||||
|
<br>
|
||||||
|
<a class="btn btn-outline-secondary" role="button" href="https://github.com/LaQuay/TDTChannels"
|
||||||
|
target="_blank">Repositorio TDT Channels</a>
|
||||||
|
<a class="btn btn-outline-success" role="button" href="http://www.marcvila.me/"
|
||||||
|
target="_blank">Sitio personal</a>
|
||||||
|
<a class="btn btn-outline-warning" role="button" href="https://github.com/LaQuay/"
|
||||||
|
target="_blank">GitHub</a>
|
||||||
|
<a class="btn btn-outline-primary" role="button" href="https://www.linkedin.com/in/marcvilagomez/"
|
||||||
|
target="_blank">LinkedIn</a>
|
||||||
|
<div style="margin-top: 30px">
|
||||||
|
<div id="video">
|
||||||
|
<p class="lead">
|
||||||
|
Reproductor de Televisión
|
||||||
|
</p>
|
||||||
|
<p>Formatos soportado: <em>m3u8</em></p>
|
||||||
|
<div class="input-group mb-3 col-8">
|
||||||
|
<input id="input-reproduccion-video" type="text" class="form-control" placeholder="URL de reproducción">
|
||||||
|
<div class="input-group-append">
|
||||||
|
<button class="btn btn-outline-secondary" type="button" id="button-reproduccion-video"
|
||||||
|
onclick="loadItem('video');">Cargar
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="video-player" class="col-8"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="audio">
|
||||||
|
<p class="lead">
|
||||||
|
Reproductor de Radio
|
||||||
|
</p>
|
||||||
|
<p>Formatos soportado: <em>nsv</em></p>
|
||||||
|
<div class="input-group mb-3 col-8">
|
||||||
|
<input id="input-reproduccion-audio" type="text" class="form-control" placeholder="URL de reproducción">
|
||||||
|
<div class="input-group-append">
|
||||||
|
<button class="btn btn-outline-secondary" type="button" id="button-reproduccion-audio"
|
||||||
|
onclick="loadItem('audio');">Cargar
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<audio id="audio-controller" controls>
|
||||||
|
<source id="audio-player" src="http://rac105.radiocat.net/;*.nsv" autoplay>
|
||||||
|
Your browser does not support the audio element.
|
||||||
|
</audio>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<script>
|
<script>
|
||||||
var getUrlParameter = function getUrlParameter(sParam) {
|
var getUrlParameter = function getUrlParameter(sParam) {
|
||||||
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
|
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
|
||||||
sURLVariables = sPageURL.split('&'),
|
sURLVariables = sPageURL.split('&'),
|
||||||
sParameterName,
|
sParameterName,
|
||||||
i;
|
i;
|
||||||
|
|
||||||
for (i = 0; i < sURLVariables.length; i++) {
|
for (i = 0; i < sURLVariables.length; i++) {
|
||||||
sParameterName = sURLVariables[i].split('=');
|
sParameterName = sURLVariables[i].split('=');
|
||||||
|
|
||||||
if (sParameterName[0] === sParam) {
|
if (sParameterName[0] === sParam) {
|
||||||
return sParameterName[1] === undefined ? true : sParameterName[1];
|
return sParameterName[1] === undefined ? true : sParameterName[1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
//var channelToReproduce = getUrlParameter("channel");
|
||||||
|
|
||||||
var channelToReproduce = getUrlParameter("channel");
|
function loadItem(from) {
|
||||||
|
var value;
|
||||||
|
if (from == "audio") {
|
||||||
|
value = document.getElementById("input-reproduccion-audio").value;
|
||||||
|
reproduceAudio(value);
|
||||||
|
} else if (from == "video") {
|
||||||
|
value = document.getElementById("input-reproduccion-video").value;
|
||||||
|
reproduceVideo(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (channelToReproduce.includes("m3u8")) {
|
function reproduceVideo(channelToReproduce) {
|
||||||
var player = new Clappr.Player({
|
console.log("Reproducing " + channelToReproduce);
|
||||||
source: channelToReproduce,
|
if (channelToReproduce.includes("m3u8")) {
|
||||||
parentId: '#player',
|
console.log("Reproducing video")
|
||||||
height: '100%',
|
var player = new Clappr.Player({
|
||||||
width: '100%',
|
source: channelToReproduce,
|
||||||
autoPlay: true,
|
parentId: '#video-player',
|
||||||
});
|
height: '50%',
|
||||||
}
|
width: '100%',
|
||||||
|
autoPlay: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function reproduceAudio(channelToReproduce) {
|
||||||
|
console.log("Reproducing " + channelToReproduce);
|
||||||
|
if (channelToReproduce.includes("nsv")) {
|
||||||
|
console.log("Reproducing audio")
|
||||||
|
|
||||||
|
var audioSource = document.getElementById('audio-controller');
|
||||||
|
var audioPlayer = document.getElementById('audio-player');
|
||||||
|
|
||||||
|
audioPlayer.src = channelToReproduce;
|
||||||
|
|
||||||
|
audioSource.load();
|
||||||
|
audioSource.pause();
|
||||||
|
var playPromise = audioSource.play();
|
||||||
|
|
||||||
|
if (playPromise !== undefined) {
|
||||||
|
playPromise.then(function() {
|
||||||
|
// Automatic playback started!
|
||||||
|
}).catch(function(error) {
|
||||||
|
// Automatic playback failed.
|
||||||
|
// Show a UI element to let the user manually start playback.
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -1,73 +0,0 @@
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<link href="https://unpkg.com/video.js/dist/video-js.css" rel="stylesheet">
|
|
||||||
<script src="https://unpkg.com/video.js/dist/video.js"></script>
|
|
||||||
<script src="https://unpkg.com/videojs-contrib-hls/dist/videojs-contrib-hls.js"></script>
|
|
||||||
<style>
|
|
||||||
* {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<video autoplay preload="auto" controls id="player" class="video-js vjs-default-skin">
|
|
||||||
</video>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
var getUrlParameter = function getUrlParameter(sParam) {
|
|
||||||
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
|
|
||||||
sURLVariables = sPageURL.split('&'),
|
|
||||||
sParameterName,
|
|
||||||
i;
|
|
||||||
|
|
||||||
for (i = 0; i < sURLVariables.length; i++) {
|
|
||||||
sParameterName = sURLVariables[i].split('=');
|
|
||||||
|
|
||||||
if (sParameterName[0] === sParam) {
|
|
||||||
return sParameterName[1] === undefined ? true : sParameterName[1];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
var channelToReproduce = getUrlParameter("channel");
|
|
||||||
if (channelToReproduce.includes("m3u8")) {
|
|
||||||
videojs('player').src({type: 'application/x-mpegURL', src: channelToReproduce});
|
|
||||||
|
|
||||||
videojs('player').ready(function () {
|
|
||||||
var myPlayer = this;
|
|
||||||
myPlayer.play();
|
|
||||||
|
|
||||||
// Store the video object
|
|
||||||
var myPlayer = this, id = myPlayer.id();
|
|
||||||
// Make up an aspect ratio
|
|
||||||
var aspectRatio = 9.0/17.5;
|
|
||||||
var reduction = 0.95;
|
|
||||||
|
|
||||||
function resizeVideoJS(){
|
|
||||||
var width = document.getElementById(id).parentElement.offsetWidth;
|
|
||||||
myPlayer.width(width*reduction);
|
|
||||||
myPlayer.height(width*aspectRatio*reduction);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Initialize resizeVideoJS()
|
|
||||||
resizeVideoJS();
|
|
||||||
// Then on resize call resizeVideoJS()
|
|
||||||
window.onresize = resizeVideoJS();
|
|
||||||
});
|
|
||||||
|
|
||||||
videojs('player').on('dblclick', function() {
|
|
||||||
var myPlayer = this;
|
|
||||||
if (myPlayer.isFullscreen()) {
|
|
||||||
myPlayer.exitFullscreen();
|
|
||||||
} else {
|
|
||||||
myPlayer.requestFullscreen();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Loading…
Reference in a new issue