// ==UserScript== // @name:en-US CCTV-HLS // @name CCTV视频解析 // @description:en-US parse cctv video to hls url. // @description 将CCTV视频解析成HLS地址. // @namespace https://greasyfork.org/users/135090 // @version 1.1.1 // @author [ZWB](https://greasyfork.org/zh-CN/users/863179) // @license CC // @grant none // @run-at document-end // @match https://v.cctv.com/2*/V*.shtml* // @match https://v.cctv.cn/2*/V*.shtml* // @match https://tv.cctv.cn/2*/V*.shtml* // @match https://tv.cctv.com/2*/V*.shtml* // @icon https://tv.cctv.cn/favicon.ico // ==/UserScript== (function () { function loop() { if ((typeof videoid) == "undefined") { setTimeout(loop, 500); } var hvu = "https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid=" + guid; if (this.videoid == "myPlayer") { document.querySelector("#myPlayer").innerHTML = null; var cctvb = document.createElement("a"); cctvb.style.display = "grid"; cctvb.textContent = "#JSON#"; cctvb.style.float = "left"; cctvb.style.fontSize = "2vw"; cctvb.style.color = "#48EFEF"; cctvb.href = hvu; document.querySelector("#via_title").appendChild(cctvb); $.getJSON(hvu, function (res) { var cctva = document.createElement("a"); cctva.style.display = "grid"; cctva.textContent = "#MP4#"; cctva.style.float = "right"; cctva.style.fontSize = "2vw"; cctva.style.color = "#28EFEF"; document.querySelector("#via_title").appendChild(cctva); cctva.href = res.video.chapters4[0].url; }); } else if (videoid == "_video") { setTimeout(function () { document.querySelector("#video").innerHTML = null; }, 1000); var cctvc = document.createElement("a"); cctvc.style.display = "grid"; cctvc.style.float = "left"; cctvc.textContent = "#JSON#"; cctvc.style.fontSize = "2vw"; cctvc.style.color = "#48EFEF"; document.querySelector("#video").parentElement.appendChild(cctvc); cctvc.href = hvu; $.getJSON(hvu, function (res) { var cctva = document.createElement("a"); cctva.style.display = "grid"; cctva.style.float = "right"; cctva.textContent = "#HLS#"; cctva.style.fontSize = "2vw"; cctva.style.color = "#28EFEF"; var code1200 = res.hls_url.replaceAll("main", "1200"); cctva.href = code1200; document.querySelector("#video").parentElement.appendChild(cctva); var cctvv = document.createElement("a"); cctvv.style.display = "grid"; cctvv.style.float = "left"; cctvv.style.width = "100%"; cctvv.textContent = res.hls_url; cctvv.style.fontSize = "2vh"; cctvv.style.color = "#28EFEF"; document.querySelector("#video").parentElement.appendChild(cctvv); cctvv.onclick = function () { window.open(res.hls_url); }; }); } else if (videoid == "myFlash") { document.querySelector("#myFlash").parentElement.innerHTML = null; var cctvd = document.createElement("a"); cctvd.style.display = "grid"; cctvd.style.float = "left"; cctvd.textContent = "#JSON#"; cctvd.style.fontSize = "2vw"; cctvd.style.color = "#48EFEF"; cctvd.href = hvu; document.querySelector("#page_body").children[1].firstElementChild.append(cctvd); $.getJSON(hvu, function (res) { var cctve = document.createElement("a"); cctve.style.display = "grid"; cctve.style.float = "right"; cctve.textContent = "#HLS#"; cctve.style.fontSize = "2vw"; cctve.style.color = "#28EFEF"; cctve.href = res.hls_url; document.querySelector("#page_body").children[1].firstElementChild.appendChild(cctve); }); } } loop(); })();