Pixelgröße von Letterbox-Balken für Videos berechnen
Dieser Rechner wandelt zwei Seitenverhältnisse und die Höhe der Zeichenfläche in praktische Pixelmaße für Ihre Videogestaltung um.
Im Browser ausführen – kostenlos
Geben Sie das Quellformat, das Zielformat und die Höhe der Zeichenfläche ein. Das Ergebnis zeigt, ob die Balken oben und unten oder links und rechts liegen, und nennt die Größe jedes gleich breiten Balkens. Stimmen beide Verhältnisse überein, wird richtigerweise null ausgegeben, weil die Quelle die Fläche bereits ohne Beschnitt oder Rand ausfüllt.
Beginnen Sie mit Quell- und Zielformat
Ein Seitenverhältnis beschreibt die Breite im Verhältnis zur Höhe; deshalb stehen 16:9 und 1.777777 für dieselbe Form. Geben Sie das Verhältnis des Bildes an, das Sie vollständig erhalten möchten, sowie das Verhältnis der fertigen Zeichenfläche. Deren Höhe legt den tatsächlichen Pixelmaßstab fest, während sich die Breite aus dem Zielformat ergibt. Zulässig sind W:H, W/H oder eine positive Dezimalzahl, sodass Sie übliche Formate wie 4:3, 16:9, 21:9 und 2.39:1 verwenden können. Wenn Ihnen die genaue Bildöffnung bekannt ist, sollten Sie diese statt einer ungefähren Produktbezeichnung verwenden. Manche als 21:9 bezeichneten Formate besitzen beispielsweise leicht abweichende Zahlenwerte; bei hohen Auflösungen können schon kleine Differenzen sichtbare Balken erzeugen. Alle Maße müssen positiv und endlich sein, die Höhe muss eine ganze Pixelzahl sein. Bei identischen Verhältnissen ist kein Rand nötig, daher werden alle Balkenmaße mit null und nicht als Fehler ausgegeben.
Unterscheiden Sie horizontale und seitliche Balken
Die Quelle wird vollständig und ohne Verzerrung oder Bildverlust in die Zeichenfläche eingepasst. Ist sie breiter als das Zielformat, erreicht ihre Breite zuerst die Seitenränder. Die eingepasste Höhe ist dann kleiner als die Zeichenflächenhöhe; der freie Raum wird gleichmäßig oberhalb und unterhalb des Bildes verteilt. Das Ergebnis nennt diese Anordnung top_bottom und gibt die Höhe jedes Balkens aus. Ist die Quelle schmaler, erreicht sie zuerst die vertikalen Grenzen und horizontal bleibt Platz übrig. Dieser wird gleichmäßig links und rechts verteilt, wodurch die Anordnung left_right und eine Breite für jeden Seitenbalken entstehen. Dieser Fall wird häufig als Pillarboxing bezeichnet, beide Varianten nutzen jedoch dieselbe Einpassungsrechnung. bar_size_pixels enthält stets die Größe eines einzelnen Balkens, nicht die Summe beider Ränder. Separate Felder für oben, unten, links und rechts machen die Ausgabe für Layout-Code eindeutig.
Nutzen Sie das Ergebnis bei Schnitt und Rendering
Verwenden Sie die berechneten Maße für Einblendungen, Vorschaubilder, kodierte Master, Projektionen oder CSS- und Canvas-Kompositionen. Ergibt die Geometrie keine ganzen Pixel, bleibt der Bruchwert erhalten und wird reproduzierbar auf sechs Dezimalstellen gerundet. Ein Werkzeug mit ganzzahligen Koordinaten muss eine eigene Rundungsregel wählen, weil das unabhängige Runden beider Balken die Endgröße um ein Pixel verändern kann. In einem Rasterablauf können Sie eine Seite abrunden und das verbleibende Pixel der Gegenseite zuweisen; Vektor- und Browserlayouts können den Bruchwert meist beibehalten. Die Rechnung setzt eine zentrierte contain-Einpassung voraus: Sie erhält die gesamte Quelle, beschneidet nichts und verteilt den Rand gleichmäßig. Anamorphe Pixel, Rotationsmetadaten, Overscan und Sicherheitsbereiche werden nicht berücksichtigt; rechnen Sie diese vorher in ein wirksames Anzeigeverhältnis um. Die Automatisierung über die API kostet $0.002 je Anfrage.
Anwendungsfälle
Kinovideo für einen Standardrahmen vorbereiten
Berechnen Sie gleiche obere und untere Ränder, bevor Sie eine breite Quelle in eine 16:9-Ausgabefläche einsetzen.
Archivmaster mit Seitenbalken erstellen
Ermitteln Sie die linken und rechten Balkenbreiten, um älteres 4:3-Material in einem modernen Breitbildrahmen zu erhalten.
Grafiken außerhalb des aktiven Bildes platzieren
Reservieren Sie bekannte Balkenflächen für Untertitel, Beschriftungen oder Bedienelemente, ohne die eingepasste Quelle zu verdecken.
Häufige Fragen
Was geschieht bei zwei identischen Seitenverhältnissen?
Das Ergebnis verwendet die Anordnung none und gibt für alle Balkenmaße null aus, weil keine Balken erforderlich sind.
Bezeichnet bar_size_pixels einen oder beide Balken?
Das Feld bezeichnet einen einzelnen Balken. Gegenüberliegende Balken sind gleich groß und werden zusätzlich getrennt ausgewiesen.
Warum kann das Ergebnis einen Pixelbruchteil enthalten?
Seitenverhältnisse ergeben nicht immer ganze Pixel. Der genaue Wert bleibt erhalten, damit Ihr Renderer passend runden kann.
Beschneidet oder streckt diese Berechnung die Quelle?
Nein. Eine zentrierte contain-Einpassung erhält die gesamte Quelle und ihre ursprünglichen Anzeigeproportionen.
Was kostet eine Berechnung über die API?
Jede API-Anfrage kostet $0.002. Die Berechnung ist deterministisch; eine Videodatei wird weder hochgeladen noch untersucht.
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/video2/aspect-ratio-letterbox-bars-size \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"source_aspect_ratio":"21:9","target_aspect_ratio":"16:9","canvas_height":1080}'const res = await fetch("https://api.kit.forhosting.com/video2/aspect-ratio-letterbox-bars-size", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"source_aspect_ratio": "21:9",
"target_aspect_ratio": "16:9",
"canvas_height": 1080
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video2/aspect-ratio-letterbox-bars-size",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"source_aspect_ratio": "21:9",
"target_aspect_ratio": "16:9",
"canvas_height": 1080
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video2/aspect-ratio-letterbox-bars-size", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"source_aspect_ratio":"21:9","target_aspect_ratio":"16:9","canvas_height":1080}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"source_aspect_ratio":"21:9","target_aspect_ratio":"16:9","canvas_height":1080}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video2/aspect-ratio-letterbox-bars-size", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"source_aspect_ratio": "21:9",
"target_aspect_ratio": "16:9",
"canvas_height": 1080
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video2.aspect_ratio_letterbox_bars_size",
"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. |