Compatibilità di contenitori e codec video
La riproduzione video dipende da due scelte distinte: il contenitore che organizza i contenuti multimediali e il codec che comprime le immagini.
Esegui gratis nel browser
Un’estensione nota non garantisce che il flusso video al suo interno funzioni ovunque. Questo strumento valuta MP4, MOV, MKV, WebM e AVI abbinati a H.264, H.265, VP9 o AV1. Fornisce un livello prudente di supporto, chiarisce il principale rischio di interoperabilità e indica quando è opportuno offrire un’alternativa ampiamente riproducibile.
Interpreti il risultato di compatibilità
Lo strumento usa tre livelli di supporto anziché ridurre la riproduzione a un semplice sì o no tecnico. Ampio significa che la coppia è una scelta affidabile nei principali browser attuali e negli ambienti iOS e Android moderni. Limitato indica un supporto concreto, ma con lacune importanti dovute alla famiglia del browser, alla versione del sistema operativo, all’hardware del dispositivo o al modo in cui il codec viene normalmente inserito nel contenitore. Scarso identifica una combinazione insolita per il Web o inaffidabile nei lettori mobili nativi. Il valore booleano rende immediate le decisioni automatizzate, mentre la spiegazione conserva il motivo della classificazione. Questa è una valutazione del formato, non una promessa per ogni file codificato. Profilo, livello, risoluzione, profondità di bit, frequenza dei fotogrammi, codec audio, cifratura e metadati danneggiati possono comunque impedire la riproduzione. Consideri il risultato un controllo preliminare prima della codifica e dei test sui dispositivi, non un sostituto delle prove con file rappresentativi sulle piattaforme effettivamente usate dal Suo pubblico.
Scelga insieme contenitore e codec
Un codec descrive come vengono compressi i fotogrammi; un contenitore stabilisce come vengono raccolti video, audio, temporizzazione, sottotitoli e metadati. I due livelli sono collegati, ma non intercambiabili. H.264 in MP4 è molto portabile perché sia la compressione sia il relativo confezionamento dispongono di implementazioni mature nei browser e sui dispositivi mobili. Lo stesso flusso H.264 in AVI o MKV può funzionare in un’applicazione desktop ma non come video Web incorporato o nel lettore di sistema di uno smartphone. Analogamente, VP9 è associato naturalmente a WebM per i browser, mentre inserirlo in MOV crea una combinazione rara e poco interoperabile. I codec recenti possono ridurre la larghezza di banda, ma l’efficienza non rende universale un formato. H.265 gode di un supporto particolarmente solido negli ambienti Apple; altrove dipende maggiormente dal browser, dal sistema, dalle licenze e dall’hardware. L’adozione di AV1 continua a crescere, ma telefoni meno recenti e dispositivi privi di decodifica adeguata possono ancora rappresentare una parte rilevante del pubblico.
Pianifichi alternative e test di produzione
Per ottenere la copertura pratica più ampia, utilizzi MP4 con H.264 come risorsa di base. Quando gli obiettivi di qualità o larghezza di banda giustificano VP9, AV1 o H.265, offra la nuova codifica come fonte aggiuntiva invece di presumere che un solo file avanzato serva tutti. Un lettore Web può elencare più fonti e lasciare che il browser scelga quella riconosciuta; le applicazioni possono decidere allo stesso modo in base alla piattaforma e ai decoder disponibili. Codifichi separatamente l’alternativa e verifichi che il server invii il tipo multimediale corretto, supporti le richieste per intervalli di byte e consenta l’accesso tra origini necessario. Provi file reali, perché una matrice non rileva profilo, livello, formato dei pixel, colore, codec audio o metadati non validi. Includa iPhone e dispositivi Android vecchi e nuovi, oltre ai browser indicati dalle Sue statistiche. Verifichi sia l’avvio sia lo spostamento temporale e ripeta i test quando modifica la scala di codifica o le versioni minime dei sistemi supportati.
Casi d'uso
Scegliere un formato per il Web
Confronti contenitore e codec proposti prima di configurare una pipeline di codifica o una sorgente video HTML.
Convalidare i contenuti caricati
Avvisi chi pubblica quando una coppia rischia di non funzionare in modo uniforme nei browser e sui dispositivi mobili.
Applicare una regola di alternativa
Usi il valore di supporto ampio nel CI per richiedere MP4/H.264 insieme ai formati moderni più efficienti.
Domande frequenti
Un risultato ampio garantisce la riproduzione ovunque?
No. Indica un’elevata copertura del formato, ma profilo, livello, profondità di bit, audio, cifratura, metadati e versione del browser influiscono comunque.
Perché contenitore e codec vengono controllati separatamente?
Il codec comprime il video, mentre il contenitore raccoglie il flusso con temporizzazione, audio e metadati. Una piattaforma può accettare un codec in un contenitore ma non in un altro.
Qual è l’alternativa più sicura?
Fra le opzioni disponibili, MP4 con H.264 è l’alternativa generale più affidabile per browser, iOS e Android.
Lo strumento esamina il mio file video?
No. Valuta i nomi di contenitore e codec forniti da Lei. Usi uno strumento per metadati per identificare i flussi di un file esistente.
Perché una combinazione limitata funziona sul mio telefono?
Limitato significa che il supporto esiste, ma non è abbastanza uniforme tra browser, versioni di sistema e dispositivi per essere considerato ampio.
Quanto costa una richiesta?
Ogni richiesta API costa $0.002. L’implementazione nel browser usa la stessa logica deterministica di compatibilità.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"container": "mp4",
"codec": "h264"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.container_compatibility",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_mb | 500 |
max_minutes | 60 |
max_megapixels | 3.9 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |