Video-Zuschnitt nach Seitenverhältnis berechnen
Die Anpassung eines Videos an ein neues Anzeigeformat beginnt mit einer klaren Frage: Welches zentrierte Rechteck bewahrt die größtmögliche Fläche und entspricht zugleich dem gewünschten Seitenverhältnis?
Im Browser ausführen – kostenlos
Dieser Rechner übernimmt die Pixelbreite und -höhe des Ausgangsvideos sowie ein Verhältnis wie 9:16, 1:1 oder 16:9. Er liefert Ursprung und Abmessungen des Ausschnitts, ohne das Video hochzuladen, zu decodieren, zu skalieren oder zu verändern. Sie können diese Geometrie direkt an einen Schnittablauf, einen Transcodierungsbefehl, eine Medienpipeline oder eine Vorschauoberfläche übergeben.
Ermitteln Sie den größten passenden Ausschnitt des Quellbildes
Geben Sie die Breite und Höhe des decodierten Videos in Pixeln ein und nennen Sie anschließend das Zielverhältnis als Breite zu Höhe, wobei die Werte durch einen Doppelpunkt getrennt werden. Beispielsweise beschreibt 1920 mal 1080 ein übliches Querformat, während 9:16 ein vertikales Ergebnis für kurze Mobilvideos anfordert. Der Rechner vergleicht das Ausgangsverhältnis mit dem gewünschten Verhältnis und behält die Abmessung bei, die die Einpassung bereits begrenzt. Ist die Quelle zu breit, bleibt die gesamte Höhe erhalten und die Breite wird reduziert. Ist sie zu hoch, bleibt die gesamte Breite erhalten und die Höhe wird reduziert. Dadurch entsteht das größte Rechteck, das ohne Streckung, Rand oder Überschreitung in den ursprünglichen Frame passt. x und y bezeichnen die linke obere Ecke, width und height die Größe. Zusammen bilden diese Werte einen vollständigen Ausschnitt für jeden Frame eines Videos mit konstanter Auflösung. Mediendaten sind nicht erforderlich, da ausschließlich die Frame-Geometrie berechnet wird.
Verstehen Sie Zentrierung und gebrochene Pixelwerte
Ein zentrierter Ausschnitt entfernt an zwei gegenüberliegenden Rändern jeweils denselben Anteil. Muss eine Quelle im Querformat schmaler werden, entspricht x der Hälfte der verworfenen horizontalen Fläche und y bleibt null. Muss der Frame niedriger werden, entspricht y der Hälfte der verworfenen vertikalen Fläche und x bleibt null. Manche Kombinationen aus Abmessungen und Verhältnis ergeben gebrochene Koordinaten oder Größen. Das ist beabsichtigt: Der genaue mathematische Mittelpunkt oder das gewünschte Verhältnis kann zwischen physischen Pixelgrenzen liegen. Dezimalwerte verhindern, dass stillschweigend eine Rundungsregel gewählt wird, die nicht zu Ihrem Encoder, Ihrer Grafikbibliothek oder Ihrem Schnittprogramm passt. Die Werte werden auf neun Dezimalstellen normalisiert, damit wiederholte Anfragen stabil bleiben und Gleitkommaartefakte nicht in Manifeste oder Tests gelangen. Akzeptiert das nachfolgende Werkzeug nur Ganzzahlen, wenden Sie bei der Integration dessen dokumentierte Rundungsregel an und prüfen Sie die endgültig codierten Abmessungen.
Setzen Sie den Ausschnitt sicher in der Videoproduktion ein
Behandeln Sie die Antwort als wiederverwendbare Geometrie und nicht als umgewandeltes Video. Übergeben Sie x, y, width und height an die Zuschneidestufe Ihres Transcoders, nichtlinearen Editors, Canvas-Renderers, Vorschaubildgenerators oder Mediendienstes. Prüfen Sie, ob das Zielwerkzeug den Ursprung links oben verwendet, wobei x nach rechts und y nach unten zunimmt; dieser Rechner folgt genau dieser Konvention. Lesen Sie Breite und Höhe aus dem tatsächlich decodierten Videostream und verlassen Sie sich nicht auf Dateinamen, Playerfenster oder veraltete Datensätze. Handyaufnahmen können Orientierungsmetadaten enthalten. Legen Sie daher fest, ob Ihre Pipeline die Drehung vor oder nach dem Zuschnitt anwendet, und verwenden Sie Abmessungen aus derselben Stufe. Der Parser akzeptiert ausschließlich zwei positive endliche Zahlen, die durch einen Doppelpunkt getrennt sind. Tippfehler, andere Trennzeichen, Nullen, negative Werte und Zusatztext werden abgewiesen statt erraten. Diese Strenge verhindert ganze Serien falsch gerahmter Ausgaben.
Anwendungsfälle
Passen Sie Querformatvideos an vertikale Kanäle an
Berechnen Sie den größten zentrierten 9:16-Bereich, bevor Sie aus einem Querformat-Master plattformspezifische Fassungen codieren.
Vereinheitlichen Sie Video-Vorschaubilder
Nutzen Sie eine deterministische Berechnung für Vorschauen und Miniaturen, die einen festen Player ohne Ränder füllen müssen.
Prüfen Sie automatische Transcodierungsvorgaben
Zeigen Sie Koordinaten aus den Quelldaten vorab an und weisen Sie fehlerhafte Verhältnisse vor der Medienverarbeitung zurück.
Häufige Fragen
Lädt dieses Werkzeug das Video hoch oder verändert es?
Nein. Es verwendet nur Breite, Höhe und Verhältnis und gibt Geometrie zurück; Medien werden weder empfangen noch decodiert, gespeichert oder umgewandelt.
Was kostet die Berechnung?
Der API-Preis beträgt $0.002 pro Anfrage. Dieselbe deterministische Berechnung kann auch im Browser ausgeführt werden.
Welche Schreibweise des Seitenverhältnisses gilt?
Verwenden Sie zwei positive Zahlen mit Doppelpunkt, etwa 9:16, 16:9, 1:1 oder 1.85:1. Andere Trennzeichen und Zusatztext sind ungültig.
Warum kann der Ausschnitt Dezimalwerte enthalten?
Der genaue Mittelpunkt oder das Verhältnis kann zwischen Pixeln liegen. Dezimalwerte bewahren den größten mittigen Ausschnitt ohne vorgegebene Rundung.
Kann der Ausschnitt über den Quellframe hinausragen?
Nein. Eine Abmessung entspricht stets der jeweiligen Quelle, während die andere passend zum gewünschten Verhältnis verkleinert wird.
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/aspect-ratio-crop \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width":1920,"height":1080,"ratio":"9:16"}'const res = await fetch("https://api.kit.forhosting.com/video/aspect-ratio-crop", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width": 1920,
"height": 1080,
"ratio": "9:16"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video/aspect-ratio-crop",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width": 1920,
"height": 1080,
"ratio": "9:16"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video/aspect-ratio-crop", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width":1920,"height":1080,"ratio":"9:16"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width":1920,"height":1080,"ratio":"9:16"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video/aspect-ratio-crop", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"width": 1920,
"height": 1080,
"ratio": "9:16"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.aspect_ratio_crop",
"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. |