~350-550ms time-to-first-frame on nearby relays. Direct MSE rendering with no player library overhead.
Buffer-based ABR with automatic track switching. Supports multi-rendition CMAF streams.
Press 'I' for real-time overlay: TTFF, buffer health, ABR state, framerate, dropped frames, and stale fragment tracking.
<video id="video" autoplay muted playsinline></video>
<script src="https://moqplay.com/js/qmux.js"></script>
<script src="https://moqplay.com/js/fragment-appender.js"></script>
<script src="https://moqplay.com/js/moqt-player.js"></script>
<script src="https://moqplay.com/js/stats.js"></script>
<script>
const video = document.getElementById('video');
const player = new MoqtPlayer(video, 'https://your-relay.example.com', 'your-stream');
player.connect();
video.play().catch(() => {});
</script>