Kompatibilität von Video-Containern und Codecs prüfen
Die Videowiedergabe hängt von zwei getrennten Entscheidungen ab: vom Container, der die Medien organisiert, und vom Codec, der das Bild komprimiert.
Im Browser ausführen – kostenlos
Eine bekannte Dateiendung garantiert nicht, dass der enthaltene Videostream überall läuft. Diese Prüfung bewertet MP4, MOV, MKV, WebM und AVI in Kombination mit H.264, H.265, VP9 oder AV1. Sie liefert eine bewusst vorsichtige Supportstufe, erklärt das wichtigste Interoperabilitätsrisiko und empfiehlt, wann Sie eine weithin abspielbare Ausweichversion bereitstellen sollten.
Verstehen Sie das Kompatibilitätsergebnis
Die Prüfung verwendet drei Supportstufen, statt die Wiedergabe auf ein technisches Ja oder Nein zu reduzieren. Breit bedeutet, dass die Kombination in aktuellen großen Browsern sowie modernen iOS- und Android-Umgebungen zuverlässig einsetzbar ist. Eingeschränkt bezeichnet tatsächliche Unterstützung mit wichtigen Lücken, die von Browserfamilie, Betriebssystemversion, Gerätehardware oder der üblichen Verpackung des Codecs abhängen. Schwach kennzeichnet Kombinationen, die für die Webauslieferung unüblich sind oder in nativen Mobilplayern nicht verlässlich funktionieren. Der separate boolesche Wert erleichtert automatisierte Entscheidungen; die Erläuterung hält zugleich den Grund der Einstufung fest. Dies ist eine Bewertung auf Formatebene und keine Zusage für jede codierte Datei. Profil, Level, Auflösung, Bittiefe, Bildrate, Audiocodec, Verschlüsselung und beschädigte Metadaten können die Wiedergabe trotz einer grundsätzlich breit unterstützten Kombination verhindern. Nutzen Sie das Ergebnis als frühen Architekturcheck vor Codierung und Gerätetests, nicht als Ersatz für Tests repräsentativer Dateien auf den tatsächlich verwendeten Zielplattformen.
Wählen Sie Container und Codec gemeinsam
Ein Codec beschreibt die Komprimierung der Videobilder; ein Container legt fest, wie Video, Audio, Zeitinformationen, Untertitel und Metadaten verpackt werden. Beide Ebenen gehören zusammen, sind jedoch nicht austauschbar. H.264 in MP4 ist besonders portabel, weil sowohl das Kompressionsformat als auch seine Verpackung ausgereifte Implementierungen in Browsern und Mobilgeräten besitzen. Derselbe H.264-Stream in AVI oder MKV kann in einer Desktop-Anwendung laufen, aber als eingebettetes Webvideo oder im Systemplayer eines Mobilgeräts scheitern. Ebenso gehört VP9 für die Browserauslieferung typischerweise zu WebM; VP9 in MOV ist dagegen ungewöhnlich und wenig interoperabel. Neuere Codecs können Bandbreite sparen, doch Effizienz macht ein Format nicht automatisch universell. H.265 wird insbesondere in Apple-Umgebungen gut unterstützt, während die Verfügbarkeit andernorts stärker von Browser, Betriebssystem, Lizenzierung und Hardware abhängt. AV1 verbreitet sich weiter, aber ältere Smartphones und Geräte ohne geeignete Decodierung können für Ihre Zielgruppe weiterhin relevant sein.
Planen Sie Ausweichformate und Praxistests
Für die größtmögliche praktische Reichweite sollten Sie MP4 mit H.264 als Basisdatei verwenden. Wenn Qualitäts- oder Bandbreitenziele VP9, AV1 oder H.265 rechtfertigen, bieten Sie die neuere Codierung als zusätzliche Quelle an, statt eine einzige fortschrittliche Datei für alle vorauszusetzen. Ein Webplayer kann mehrere Quellen aufführen und den Browser ein verständliches Format wählen lassen; Anwendungen können ähnlich nach Plattform und verfügbaren Decodern entscheiden. Codieren Sie die Ausweichdatei separat und prüfen Sie, ob der Server den richtigen Medientyp sendet, Bytebereichsanfragen unterstützt und den erforderlichen ursprungsübergreifenden Zugriff erlaubt. Testen Sie echte Dateien, denn eine Matrix erkennt weder Profil und Level noch Pixelformat, Farbinformationen, Audiocodec oder fehlerhafte Metadaten. Berücksichtigen Sie ältere und neuere iPhones und Android-Geräte sowie die laut Ihrer Statistik relevanten Browser. Prüfen Sie Wiedergabestart und Zeitsprung und wiederholen Sie die Tests, sobald Sie die Codierungsstaffel oder die mindestens unterstützten Betriebssystemversionen ändern.
Anwendungsfälle
Ein Webformat auswählen
Vergleichen Sie Container und Codec, bevor Sie eine Codierungspipeline oder HTML-Videoquelle einrichten.
Hochgeladene Medien prüfen
Warnen Sie Veröffentlichende, wenn eine Kombination in Browsern und mobilen Systemplayern voraussichtlich uneinheitlich läuft.
Eine Ausweichregel durchsetzen
Nutzen Sie den Wert für breite Unterstützung im CI, um MP4/H.264 zusätzlich zu effizienten neuen Formaten zu verlangen.
Häufige Fragen
Garantiert eine breite Einstufung die Wiedergabe überall?
Nein. Sie zeigt eine starke Formatabdeckung, doch Profil, Level, Bittiefe, Audio, Verschlüsselung, Metadaten und Browserversion beeinflussen die Wiedergabe ebenfalls.
Warum werden Container und Codec getrennt geprüft?
Der Codec komprimiert das Video; der Container verpackt diesen Stream mit Zeitinformationen, Audio und Metadaten. Eine Plattform kann einen Codec in einem Container unterstützen, in einem anderen aber nicht.
Welches Ausweichformat ist am sichersten?
Unter den verfügbaren Optionen ist MP4 mit H.264 die zuverlässigste allgemeine Ausweichlösung für Browser, iOS und Android.
Untersucht die Prüfung meine Videodatei?
Nein. Sie bewertet die von Ihnen angegebenen Container- und Codec-Namen. Verwenden Sie ein Metadatenwerkzeug, um Streams in einer vorhandenen Datei zu erkennen.
Warum läuft eine eingeschränkte Kombination auf meinem Smartphone?
Eingeschränkt bedeutet, dass echte Unterstützung besteht, sie aber zwischen Browsern, Systemversionen und Geräten zu uneinheitlich für die breite Einstufung ist.
Was kostet eine Anfrage?
Jede API-Anfrage kostet $0.002. Die Browserausführung verwendet dieselbe deterministische Kompatibilitätslogik.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/video/container-compatibility \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"container":"mp4","codec":"h264"}'const res = await fetch("https://api.kit.forhosting.com/video/container-compatibility", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"container": "mp4",
"codec": "h264"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video/container-compatibility",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"container": "mp4",
"codec": "h264"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video/container-compatibility", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"container":"mp4","codec":"h264"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"container":"mp4","codec":"h264"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video/container-compatibility", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"container": "mp4",
"codec": "h264"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.container_compatibility",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_mb | 500 |
max_minutes | 60 |
max_megapixels | 3.9 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |