CCTV视频解析

将CCTV视频解析成HLS地址.

目前為 2023-07-13 提交的版本,檢視 最新版本

// ==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.0
// @author               ZWB
// @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;
            },500);
            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="right";
                cctvv.textContent=res.hls_url;
                cctvv.style.fontSize="2vw";
                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();
})();