Calcul des bandes letterbox en pixels pour vidéo
Connaissez la taille des bandes noires avant l’export : une image 21:9 dans un cadre 16:9 haut de 1080 pixels demande des bandes de 128,571429 px en haut et en bas. Rien n’est recadré ni étiré. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Format d'image source
- 21:9
- Format d'image cible
- 16:9
- Hauteur de la toile
- 1 080
- Orientation
- top_bottom
- Taille de la barre (pixels)
- 128,571429
- Hauteur de la barre supérieure (pixels)
- 128,571429
- Hauteur de la barre inférieure (pixels)
- 128,571429
Ce calculateur de bandes letterbox transforme deux rapports d’aspect et la hauteur du canevas en mesures directement utilisables pour vos compositions vidéo. Saisissez le format de la source, celui du canevas cible et sa hauteur. Le résultat précise si les bandes se placent en haut et en bas ou à gauche et à droite, puis indique la taille de chaque bande identique. Si les deux formats coïncident, il renvoie correctement zéro, car l’image remplit déjà le canevas sans recadrage ni marge.
Commencez par les formats de la source et du canevas
Un rapport d’aspect exprime la largeur par rapport à la hauteur : 16:9 et 1.777777 décrivent donc la même forme. Indiquez le format de l’image que vous souhaitez préserver, puis celui du canevas final. La hauteur du canevas fixe l’échelle réelle en pixels et sa largeur est déduite du format cible.
Le calculateur accepte W:H, W/H ou un nombre décimal positif, notamment 4:3, 16:9, 21:9 et 2.39:1. Lorsque vous connaissez l’ouverture d’affichage exacte, utilisez-la plutôt qu’une appellation commerciale approximative. Certains formats couramment désignés par 21:9 ont, par exemple, des valeurs légèrement différentes ; à haute résolution, cet écart peut produire des bandes visibles.
Toutes les dimensions doivent être positives et finies, et la hauteur du canevas doit être un nombre entier de pixels. Si les deux rapports sont égaux, aucune marge n’est requise : toutes les dimensions de bande valent zéro, sans erreur.
Distinguez les bandes horizontales des bandes latérales
La source est entièrement ajustée au canevas, sans déformation ni suppression de contenu. Lorsqu’elle est plus large que le canevas cible, sa largeur atteint d’abord les bords. Sa hauteur ajustée devient alors inférieure à celle du canevas, et l’espace libre est partagé également au-dessus et au-dessous de l’image.
Si la source est plus étroite, sa hauteur atteint d’abord les limites et il reste de l’espace horizontal. Ce cas est souvent appelé pillarbox, mais les deux situations utilisent le même calcul d’ajustement. Les champs propres à chaque bord rendent le résultat immédiatement exploitable par un code de mise en page.
Exploitez le résultat au montage et au rendu
Utilisez les dimensions obtenues pour préparer des incrustations, des images d’aperçu, des masters encodés, des projections ou des compositions CSS et canvas. Lorsque la géométrie ne tombe pas sur des pixels entiers, le calculateur conserve une valeur fractionnaire, arrondie de façon déterministe à six décimales. Un outil exigeant des coordonnées entières doit appliquer sa propre règle, car arrondir séparément les deux bandes peut modifier la dimension finale d’un pixel.
Dans un flux matriciel, vous pouvez arrondir un bord vers le bas et attribuer le pixel restant au bord opposé ; un rendu vectoriel ou Web accepte souvent la fraction. Le calcul suppose un ajustement contain centré : il conserve toute la source, ne recadre pas et répartit les marges à égalité. Il ne tient pas compte des pixels anamorphiques, de la rotation, de l’overscan ni des zones de sécurité ; convertissez-les d’abord en rapport d’affichage effectif.
Cas d’usage
Préparer une vidéo cinéma pour un cadre standard
Calculez des marges supérieure et inférieure égales avant d’insérer une source large dans un canevas de livraison 16:9.
Créer un master d’archive avec bandes latérales
Déterminez la largeur des bandes gauche et droite afin de préserver une ancienne vidéo 4:3 dans un cadre panoramique moderne.
Placer des éléments hors de l’image active
Réservez des bandes de dimensions connues aux sous-titres, libellés ou commandes sans masquer la source ajustée.
Questions fréquentes
Que se passe-t-il si les deux rapports d’aspect sont égaux ?
Le résultat utilise l’orientation none et renvoie zéro pour chaque dimension, puisqu’aucune bande n’est nécessaire.
Pourquoi le résultat peut-il contenir une fraction de pixel ?
La géométrie des formats ne produit pas toujours des pixels entiers. La valeur précise est conservée afin que votre moteur choisisse son arrondi.
Ce calcul recadre-t-il ou étire-t-il la source ?
Non. Il applique un ajustement contain centré qui préserve toute la source et ses proportions d’affichage.
Quelle taille font les bandes d’un film 21:9 dans un cadre 1920 x 1080 ?
L’image est plus large que le cadre, donc les bandes se placent en haut et en bas, chacune haute de 128,571429 pixels. La valeur indique une seule bande, pas les deux réunies, et la largeur de 1920 découle du rapport du cadre.
Comment savoir si les bandes vont en haut et en bas ou sur les bords latéraux ?
Si la source est plus large que le cadre, sa largeur touche d’abord les bords et les bandes se placent en haut et en bas. Si elle est plus étroite, sa hauteur remplit le cadre et les bandes vont à gauche et à droite. Le résultat l’indique.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"source_aspect_ratio": "21:9",
"target_aspect_ratio": "16:9",
"canvas_height": 1080
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video2.aspect_ratio_letterbox_bars_size",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 500 |
max_minutes | 60 |
max_megapixels | 3.9 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Distinguez les bandes horizontales des bandes latérales
Le résultat nomme cette orientation top_bottom et fournit la hauteur de chaque bande. Celui-ci est réparti entre la gauche et la droite, ce qui donne l’orientation left_right et la largeur de chaque bande latérale. Le champ bar_size_pixels contient toujours la taille d’une seule bande, et non la marge cumulée.
Exploitez le résultat au montage et au rendu
L’automatisation par API coûte $0.002 par requête.
Questions techniques
bar_size_pixels désigne-t-il une bande ou les deux ?
Il désigne une seule bande. Les bandes opposées sont identiques et les champs de bord indiquent chacune séparément.
Combien coûte un calcul par API ?
Chaque requête API coûte $0.002. Le calcul est déterministe et aucun fichier vidéo n’est envoyé ni analysé.