It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://207.148.116.179

  1. <!DOCTYPE html>
  2. <html lang="en">
  3.  
  4. <head>
  5.  <meta charset="UTF-8" />
  6.  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7.  <title>App</title>
  8.  <script type="module" crossorigin src="./video-play.js"></script>
  9. </head>
  10. <style>
  11.  .player-box{
  12.    position: relative;
  13.  
  14.  }
  15.  .player-box-item{
  16.    position: absolute;
  17.    left: 0;
  18.    right: 0;
  19.    bottom: 0;
  20.    top: 0;
  21.    z-index: 999;
  22.  }
  23. </style>
  24. <body>
  25.  
  26.  <!-- <video-play
  27.  muted control auto-play
  28.    webrtc="http://23.237.196.99:680/index/api/webrtc?app=live&stream=test&type=play"
  29.  > -->
  30.  <div id="player"></div>
  31.  <!-- http://207.148.116.179/play/index.html?app=live&type=webrtc&stream=CCTV5HD -->
  32.  <!-- http://23.237.196.98:680/live/  CCTV5HD -->
  33.  <!-- <script src="https://cdn.bootcdn.net/ajax/libs/vConsole/3.9.0/vconsole.min.js"></script>
  34.  <script>
  35.       var vConsole = new VConsole();
  36.       console.log('Hello world');
  37.   </script> -->
  38. </body>
  39. <script>
  40.  window.onload = () => {
  41.    const playerEle = document.getElementById('player')
  42.    let searchStr = location.search.split('?')
  43.    if (searchStr.length == 2) {
  44.      let listStr = searchStr[1].split('&')
  45.      let playStream = ''
  46.      let playType = ''
  47.      let playApp = ''
  48.      listStr.forEach(item => {
  49.        let s = item.split('=')
  50.        if (s[0] == 'stream' && s.length == 2) {
  51.          playStream = s[1]
  52.        }
  53.        if (s[0] == 'type' && s.length == 2) {
  54.          playType = s[1]
  55.        }
  56.        if (s[0] == 'app' && s.length == 2) {
  57.          playApp = s[1]
  58.        }
  59.      });
  60.      if (playType == '') {
  61.        if (hasRTCPeerConnection()) {
  62.          playType = "webrtc"
  63.        } else {
  64.          if (hasMSE()) {
  65.            playType = "flv"
  66.          } else {
  67.            playType = "hls"
  68.          }
  69.        }
  70.      } else {
  71.        if (navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)) {
  72.          playType = "hls"
  73.        }
  74.      }
  75.      if (playStream=="")return
  76.      let playStreamList = playStream.split(',')
  77.      if (playStreamList.length>0) {
  78.        for (let index = 0; index < playStreamList.length; index++) {
  79.          const playerDom = document.createElement('div')
  80.          playerDom.classList.add("player-box")
  81.          const element = playStreamList[index];
  82.          if (playType == 'flv') {
  83.            playerDom.innerHTML = `<video-play muted auto-play flv="${location.origin}/live/${element}.live.flv"></video-play> <div class="player-box-item"></div>`
  84.          }
  85.          if (playType == 'hls') {
  86.            playerDom.innerHTML = `<video-play muted auto-play hls="${location.origin}/live/${element}/hls.m3u8"></video-play> <div class="player-box-item"></div>`
  87.          }
  88.          if (playType == 'webrtc') {
  89.            console.log(`${location.origin}/index/api/webrtc?app=${playApp}&stream=${element}&type=play`);
  90.            playerDom.innerHTML = `<video-play muted auto-play webrtc="${location.origin}/index/api/webrtc?app=${playApp}&stream=${element}&type=play"></video-play> <div class="player-box-item"></div>`
  91.            // playerEle.innerHTML = `<video-play muted control auto-play webrtc="${location.origin}/index/api/whep?app=${playApp}&stream=${playStream}"></video-play>`
  92.          }
  93.          playerEle.appendChild(playerDom)
  94.        }
  95.      }
  96.      
  97.    }
  98.    function hasRTCPeerConnection() {
  99.      window.RTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection || window.msRTCPeerConnection;
  100.      return !!window.RTCPeerConnection;
  101.    }
  102.    function hasMSE() {
  103.      return window.MediaSource && window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E, mp4a.40.2"');
  104.    }
  105.  }
  106. </script>
  107.  
  108. </html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda