Fotogrammi in timecode
A 30 fotogrammi al secondo, il fotogramma 1800 corrisponde esattamente a un minuto, scritto 00:01:00:00, e il fotogramma zero è sempre 00:00:00:00. Incolli l'etichetta direttamente nella lista dei riferimenti o nella revisione dei sottotitoli. Gratis nel Suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Frame
- 1800
- Fps
- 30
- Ore
- 0
- Minuti
- 1
- Secondi
- 0
- Fotogrammi
- 0
L'indice di fotogramma è l'orologio nativo di ogni editor non lineare, render farm e strumento di cartelli, ma le persone leggono ore, minuti, secondi e fotogrammi residui. Questo convertitore da fotogrammi a timecode accetta un conteggio intero non negativo e una cadenza positiva in fotogrammi al secondo, e restituisce quei quattro componenti più un'etichetta HH:MM:SS:FF riempita di zeri. Il conteggio è a base zero: il fotogramma zero è 00:00:00:00 e, a trenta fotogrammi al secondo, milleottocento fotogrammi equivalgono esattamente a un minuto.
Come un conteggio di fotogrammi diventa HH:MM:SS:FF
Il timecode non-drop etichetta ogni immagine con ore, minuti, secondi e una cifra di fotogramma dentro il secondo corrente. A una cadenza positiva costante fps, ogni secondo completo contiene esattamente quel numero di fotogrammi, ogni minuto contiene sessanta secondi e ogni ora contiene tremilaseicento secondi. Partendo da un conteggio totale N, la cifra di fotogramma residua è il resto di N diviso per fps, e l'orologio dei secondi interi è il quoziente intero inferiore di N per fps.
Quei secondi interi si spezzano poi con l'aritmetica da orologio abituale: i secondi sono il quoziente modulo sessanta, i minuti il quoziente successivo modulo sessanta e le ore quanto resta. Il fotogramma zero è sempre 00:00:00:00. A ventiquattro fotogrammi al secondo, il fotogramma ventiquattro è 00:00:01:00, e milleottocento fotogrammi a trenta fotogrammi al secondo sono 00:01:00:00.
Non applica le tabelle di salto drop-frame NTSC per ventinove virgola nove sette, perché quelle regole cambiano l'etichetta scritta senza usare la stessa formula di resto. Scelga il fps positivo che coincide con il progetto (ventiquattro, venticinque, trenta, quarantotto, cinquanta, sessanta e cadenze intere simili, oppure una cadenza frazionaria quando ne ha davvero bisogno) e tenga quella cadenza esplicita su ogni richiesta, così due strumenti non assumono mai un valore predefinito alle Sue spalle.
Quali dati inserire e quale risultato ottiene
Le stringhe numeriche sono accettate per entrambi. La regola di prodotto ferrea è la cadenza: fps deve essere strettamente maggiore di zero. Zero, numeri negativi e valori non finiti vengono rifiutati con un messaggio che la cadenza deve essere positiva, e quei fallimenti non sono fatturati.
Esempio: frames milleottocento e fps trenta producono hours zero, minutes uno, seconds zero, frames zero e timecode 00:01:00:00. Un secondo esempio, frames milleuno a ventiquattro fps, produce 00:00:41:17 perché milleuno diviso ventiquattro sono quarantuno secondi con resto diciassette. Le ore si riempiono ad almeno due cifre e possono crescere oltre novantanove; minuti, secondi e cifra di fotogramma si riempiono a due.
Dove una calcolatrice da fotogrammi a timecode merita il posto
Gli assistenti di montaggio ricevono spesso un intervallo di render o un elenco di marker come numeri di fotogramma grezzi da una farm, un conform o un dump statistico, e hanno bisogno di un'etichetta umana da leggere su un foglio di cue o da incollare in un commento. Le pipeline di cartelli e sottotitoli convertono punti di ingresso e uscita interi in HH:MM:SS:FF così la revisione parla lo stesso orologio del reparto immagine.
Gli script di controllo qualità possono affermare che un'etichetta calcolata coincide con l'fps del progetto prima che un pacchetto lasci la struttura, intercettando un'ipotesi di cadenza sbagliata che altrimenti sposterebbe ogni cue di una frazione di secondo. I laboratori delle scuole di cinema e i plugin LMS usano il percorso gratuito del browser perché gli studenti esercitino l'aritmetica di resto a base zero senza installare calcolatrici da tavolo che dissentono sul fatto che il fotogramma zero sia la prima immagine.
Tenga l'fps esplicito, tratti il fotogramma zero come 00:00:00:00 e ottiene un'etichetta riproducibile per note, DAILIES e worker di bordo senza alzare un NLE completo solo per dividere un conteggio per una cadenza.
Casi d'uso
Intervalli della farm in etichette leggibili
Trasformi punti interi di ingresso e uscita di render da una farm o un conform in HH:MM:SS:FF riempito di zeri che gli assistenti possano incollare su un foglio di cue.
Ingresso e uscita dei sottotitoli nel tempo immagine
Converta indici di fotogramma dei sottotitoli in ore, minuti, secondi e fotogrammi residui all'fps di consegna, così la revisione parla l'orologio dell'immagine.
Esercizi di resto in aula e ancoraggi CI
Offra a studenti e suite di prova un oracolo non-drop deterministico che associ il fotogramma zero a 00:00:00:00 e rifiuti una cadenza non positiva.
Domande frequenti
Come converto un conteggio di fotogrammi in timecode?
Invii un intero frames non negativo e un fps positivo.
Che succede se la cadenza dei fotogrammi non è positiva?
Le cadenze nulle e negative sono rifiutate e non fatturate.
Il fotogramma zero è uguale a 00:00:00:00?
Sì. Il conteggio è a base zero. Il fotogramma zero a qualsiasi fps positivo è 00:00:00:00; la cifra residua va da 0 a fps meno uno sulle cadenze intere.
Questo convertitore usa il timecode drop-frame?
No. L'aritmetica è soltanto non-drop. Le cadenze frazionarie sono convertite tramite i secondi totali, ma le tabelle di salto drop-frame NTSC non vengono applicate.
Quale timecode corrisponde al fotogramma 24 a 24 fps?
Corrisponde a 00:00:01:00. Il conteggio parte da zero, quindi i primi 24 fotogrammi, numerati da zero, riempiono il primo secondo e il fotogramma 24 apre quello successivo.
Strumenti correlati
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/frames-to-timecode \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"frames":1800,"fps":30}'const res = await fetch("https://api.kit.forhosting.com/video/frames-to-timecode", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"frames": 1800,
"fps": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video/frames-to-timecode",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"frames": 1800,
"fps": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video/frames-to-timecode", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"frames":1800,"fps":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"frames":1800,"fps":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video/frames-to-timecode", 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
{
"frames": 1800,
"fps": 30
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.frames_to_timecode",
"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. |
Note tecniche
Se la cadenza è zero, negativa o comunque non positiva, l'operazione fallisce con invalid_input invece di dividere per zero o inventare un orologio.
Come un conteggio di fotogrammi diventa HH:MM:SS:FF
Questo endpoint implementa soltanto quella identità non-drop.
Campi di ingresso, convalida e il JSON che Lei ottiene
Invii con POST un corpo JSON con due campi obbligatori: frames, un conteggio totale intero non negativo, e fps, una cadenza finita positiva in fotogrammi al secondo. Gli alias frames, frame_count, total_frames e n alimentano il conteggio; gli alias fps, frame_rate, framerate e rate alimentano la cadenza. Campi assenti, stringhe vuote, valori non numerici e un conteggio negativo falliscono con invalid_input e nominano il campo. In caso di successo il corpo restituisce hours, minutes, seconds e frames (la cifra residua FF), una stringa di timecode normalizzata riempita di zeri, l'fps ripetuto, il total_frames originale e una breve stringa di formula che riafferma l'identità di resto non-drop. Gli alias facoltativi consentono agli script di conservare nomi familiari senza uno strato di mappatura.
Dove una calcolatrice da fotogrammi a timecode merita il posto
Poiché l'implementazione è parse puro di livello A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello e senza rete in uscita, e una convalida fallita non consuma il saldo.
Domande tecniche
Quanto costa il convertitore da fotogrammi a timecode?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; un ingresso non valido non è fatturato.