<!DOCTYPEhtml>
<html>
<head><meta charset="utf-8"><title>MP4 PoC</title></head>
<body>
<script>
function h(s) {
const a = new Uint8Array(s.length / 2);
for (let i = 0; i < s.length; i += 2) a[i/2] = parseInt(s.substr(i, 2), 16);
return a;
}
function box(type, ...payloads) {
let size = 8;
for (const p of payloads) size += p.byteLength;
const buf = new Uint8Array(size);
new DataView(buf.buffer).setUint32(0, size);
for (let i = 0; i < 4; i++) buf[4 + i] = type.charCodeAt(i);
let offset = 8;
for (const p of payloads) { buf.set(p, offset); offset += p.byteLength; }
return buf;
}
function fullbox(type, ver, flags, ...p) {
const vf = new Uint8Array(4);
new DataView(vf.buffer).setUint32(0, (ver << 24) | flags);
return box(type, vf, ...p);
}
function u32(v) { const b = new Uint8Array(4); new DataView(b.buffer).setUint32(0, v); return b; }
function u16(v) { const b = new Uint8Array(2); new DataView(b.buffer).setUint16(0, v); return b; }
function u8(v) { return new Uint8Array([v]); }
function zeros(n) { return new Uint8Array(n); }
function concat(...a) {
let l = 0; for (const x of a) l += x.byteLength;
const o = new Uint8Array(l); let off = 0;
for (const x of a) { o.set(x, off); off += x.byteLength; }
return o;
}
function desc(tag, data) { return concat(u8(tag), u8(data.length), data); }
// Try loading through audio element
const a = document.createElement('audio'); a.src = url;
document.body.appendChild(a); a.play().catch(()=>{});
// Also try with video element
const v = document.createElement('video');
v.src = url;
v.muted = true;
document.body.appendChild(v);
v.play().catch(()=>{});
</script>
</body>
</html>
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.23 Sekunden
(vorverarbeitet am 2026-09-30)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.