var player = videojs('video_1', {fluid: true,techOrder: ['chromecast', 'html5'],plugins: {chromecast: {}}});player.ready(function() {player.chromecast(); // Chromecast funkció inicializálása });var maxRetries = 5; // Maximum újratöltési kísérlet // Ellenőrizzük, van-e már elmentett újratöltési számláló a localStorage-ben var retryCount = localStorage.getItem('retryCount') ? parseInt(localStorage.getItem('retryCount')) : 0;// Hibaüzenet kezelése és újratöltési kísérletek számlálása player.on('error', function() {var errorMessage = document.getElementById('error-message');errorMessage.style.display = 'block'; // Hibaüzenet megjelenítése // Ellenőrizzük, hogy elérte-e a maximum újratöltési kísérletet if (retryCount < maxRetries) {retryCount++; // Növeljük az újratöltési számlálót localStorage.setItem('retryCount', retryCount); // Elmentjük a számláló értékét a localStorage-be setTimeout(function() {location.reload(); // Oldal újratöltése }, 1000); // 1 másodperces késleltetés } else {errorMessage.innerText = "Többszöri próbálkozás után sem sikerült a videót betölteni. Kérjük, próbáld meg később."; // Üzenet frissítése localStorage.removeItem('retryCount'); // Ha elérte a maximumot, töröljük a számlálót }});player.ready(function() {// Jobb kattintás letiltása if (document.addEventListener) {document.addEventListener('contextmenu', function(e) {alert("Jó szórakozást!");e.preventDefault();}, false);} else {document.attachEvent('oncontextmenu', function() {alert("Jó szórakozást!");window.event.returnValue = false;});}}); window.onload = function () {var subtitleURL = "https://mozimix.com/feliratok/picture__source_a5RulmHFYQ_3D_3D_id_817.vtt"; // PHP-ból kapott felirat URL checkSubtitleAvailability(subtitleURL);fetch(subtitleURL) .then(response => {if (!response.ok) throw new Error('Felirat nem található!');return response.text();}) .then(data => {var filteredSubtitles = filterAllSubtitles(data);if (filteredSubtitles) {addFilteredSubtitle(filteredSubtitles, 'hu', 'Hungarian');}}) .catch(error => {console.error('Hiba a feliratok betöltésekor: ', error);});// Ha a felhasználó admin, akkor megjelenítjük a felirat linket document.getElementById('subtitle-url').style.display = 'none';};function filterAllSubtitles(vttData) {var lines = vttData.split('\n');var newVtt = ["WEBVTT\n\n"];var currentBlock = [];lines.forEach(line => {if (line.trim() === '') {if (currentBlock.length > 0) {newVtt.push(...currentBlock);newVtt.push('');}currentBlock = [];} else {currentBlock.push(line);}});return newVtt.join('\n');}function addFilteredSubtitle(subtitleText, lang, label) {var track = document.createElement('track');track.kind = 'subtitles';track.srclang = lang;track.label = label;track.default = true;var blob = new Blob([subtitleText], { type: 'text/vtt' });var subtitleURL = URL.createObjectURL(blob);track.src = subtitleURL;player.el().querySelector('video').appendChild(track);}function checkSubtitleAvailability(subtitleURL) {fetch(subtitleURL) .then(response => {var statusIndicator = document.getElementById('subtitle-status');if (response.ok) {statusIndicator.classList.add('green');statusIndicator.classList.remove('red');} else {statusIndicator.classList.add('red');statusIndicator.classList.remove('green');}}) .catch(() => {document.getElementById('subtitle-status').classList.add('red');document.getElementById('subtitle-status').classList.remove('green');}); }document.getElementById('upload-form').addEventListener('submit', function(event) {event.preventDefault();var fileInput = document.getElementById('file');var formData = new FormData();var selectedFile = fileInput.files[0];formData.append('file', selectedFile);fetch('/upload.php', {method: 'POST',body: formData }) .then(response => response.json()) .then(data => {var statusDiv = document.getElementById('upload-status');if (data.status === 'success') {statusDiv.style.color = 'green';statusDiv.innerText = '✔ ' + data.message;// Felirat sikeres feltöltése üzenet, fájl névvel document.getElementById('upload-success').innerText = 'Felirat sikeresen feltöltve és konvertálva: ' + selectedFile.name + ' → ' + data.subtitleUrl.split('/').pop();document.getElementById('upload-success').style.display = 'block';// Automatikus felirat betöltés addFilteredSubtitle(data.subtitleUrl, 'hu', 'Hungarian');} else {statusDiv.style.color = 'red';statusDiv.innerText = '❌ ' + data.message;}}) .catch(error => {console.error('Feltöltési hiba:', error);document.getElementById('upload-status').style.color = 'red';document.getElementById('upload-status').innerText = '❌ Hiba történt a feltöltés során!';});});// Ha a fájl kiválasztásra kerül, a "Nincs fájl kiválasztva" szöveget frissítjük document.getElementById('file').addEventListener('change', function() {var fileStatus = document.getElementById('file-status');if (this.files.length > 0) {fileStatus.innerText = this.files[0].name;} else {fileStatus.innerText = 'Nincs fájl kiválaszva';}});