<!DOCTYPE html>
<html>
<head>
<title>Simple H.264 Stream</title>
</head>
<body>
<video id="video" autoplay muted style="width: 100%; height: 100%;"></video>
<script>
const video = document.getElementById('video');
const mediaSource = new MediaSource();
video.src = URL.createObjectURL(mediaSource);
mediaSource.addEventListener('sourceopen', async () => {
const sourceBuffer = mediaSource.addSourceBuffer('video/mp4; codecs="avc1.42001E"');
const transport = new WebTransport('https://localhost:8443', {
serverCertificateHashes: [{
algorithm: 'sha-256',
value: new Uint8Array().buffer
}]
});
await transport.ready;
const reader = transport.datagrams.readable.getReader();
while (true) {
const { value, done } = await reader.read();
if (done) break;
if (!sourceBuffer.updating) {
sourceBuffer.appendBuffer(value);
}
}
});
</script>
</body>
</html>