| <html> | 
| <head> | 
|     <title>WebRTC Streamer using WHEP</title> | 
|     <link rel="icon" type="image/png" href="webrtc.png" /> | 
|     <link rel="stylesheet" type="text/css" href="styles.css"> | 
|     <style> | 
|         whep-video { | 
|             text-align: center; | 
|         }         | 
|     </style> | 
|     <script type="module" src="webrtc-streamer-element.js"></script> | 
|     <script type="module" src="webrtc-streamer-footer-element.js"></script> | 
|     <script type="module" src="webrtc-streamer-menu-element.js"></script> | 
|     <script type="module" src="webrtc-streamer-options-element.js"></script> | 
|     <script type="module" src="webrtc-streamer-algo-element.js"></script> | 
|     <script src="./libs/whep-video.component.js"></script> | 
| </head> | 
| <body> | 
|   <webrtc-streamer-menu id="selector" ></webrtc-streamer-menu>   | 
|   <div id="content"> | 
|   </div>   | 
|   <webrtc-streamer-footer></webrtc-streamer-footer> | 
|   <script> | 
|     customElements.whenDefined('webrtc-streamer-menu').then(() => { | 
|         let selectorElement = document.getElementById("selector"); | 
|         let streamElement = document.getElementById("content"); | 
|   | 
|         selectorElement.addEventListener('init', (event) => { | 
|                 let mediaList = event.detail; | 
|                 if (mediaList.length > 0) { | 
|                     const random = mediaList.sort(() => .5 - Math.random()); | 
|                     let media = JSON.stringify(random[0]) | 
|                     selectorElement.setAttribute('selected', media); | 
|                 } | 
|         }); | 
|         selectorElement.addEventListener('change', (event) => { | 
|             const url= JSON.parse(event.detail.url); | 
|             streamElement.removeChild(streamElement.firstChild); | 
|             let whep = document.createElement('whep-video'); | 
|             whep.setAttribute('muted', true); | 
|             whep.setAttribute('autoplay', true); | 
|             whep.setAttribute('src', `${location.protocol}//${location.hostname}:${location.port}/api/whep?url=${encodeURIComponent(url.video)}&audio=${encodeURIComponent(url.audio)}&options=rtptransport%3dtcp%26timeout%3d60`); | 
|             streamElement.appendChild(whep); | 
|         }); | 
|     }); | 
|   </script>       | 
| </body> | 
| </html> |