Frames in Timecode
Bei 30 Bildern pro Sekunde ist Frame 1800 genau eine Minute, geschrieben 00:01:00:00, und Frame null ist immer 00:00:00:00. Übernehmen Sie das Label direkt in eine Cue-Liste oder eine Untertitelprüfung. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Frames
- 1.800
- Fps
- 30
- Stunden
- 0
- Minuten
- 1
- Sekunden
- 0
- Frames
- 0
Der Frameindex ist die native Uhr jedes nichtlinearen Schnittsystems, jeder Renderfarm und jedes Einblendungswerkzeugs, Menschen lesen jedoch Stunden, Minuten, Sekunden und Restframes. Dieser Frames-zu-Timecode-Umrechner nimmt eine nichtnegative ganzzahlige Framezahl und eine positive Bildrate in Frames pro Sekunde entgegen und liefert genau diese vier Bestandteile plus eine nullaufgefüllte Kennzeichnung HH:MM:SS:FF. Die Zählung ist nullbasiert: Frame null ist 00:00:00:00, und bei dreißig Frames pro Sekunde sind eintausendachthundert Frames genau eine Minute.
Wie eine Framezahl zu HH:MM:SS:FF wird
Non-Drop-Timecode kennzeichnet jedes Bild mit Stunden, Minuten, Sekunden und einer Frameziffer innerhalb der laufenden Sekunde. Bei konstanter positiver Bildrate fps enthält jede volle Sekunde genau so viele Frames, jede Minute sechzig Sekunden und jede Stunde dreitausendsechshundert Sekunden. Ausgehend von einer Gesamtframezahl N ist die restliche Frameziffer der Rest von N geteilt durch fps, und die Ganzsekundenuhr ist der abgerundete ganzzahlige Quotient von N durch fps.
Diese ganzen Sekunden zerlegen sich danach mit gewöhnlicher Uhrarithmetik: Sekunden sind der Quotient modulo sechzig, Minuten der nächste Quotient modulo sechzig, und Stunden das, was bleibt. Frame null ist stets 00:00:00:00. Bei vierundzwanzig Frames pro Sekunde ist Frame vierundzwanzig 00:00:01:00, und eintausendachthundert Frames bei dreißig Frames pro Sekunde sind 00:01:00:00.
Dieser Endpunkt implementiert ausschließlich jene Non-Drop-Identität. Er wendet keine NTSC-Drop-Frame-Sprungtabellen für neunundzwanzig Komma neun sieben an, weil diese Regeln die geschriebene Kennzeichnung ändern, ohne dieselbe Restformel zu verwenden. Wählen Sie die positive fps, die zum Projekt passt (vierundzwanzig, fünfundzwanzig, dreißig, achtundvierzig, fünfzig, sechzig und ähnliche ganzzahlige Raten, oder eine Bruchrate, wenn Sie sie wirklich brauchen), und halten Sie diese Rate in jeder Anfrage ausdrücklich fest, damit zwei Werkzeuge niemals stillschweigend einen Standard hinter Ihrem Rücken annehmen.
Numerische Zeichenketten sind für beide zulässig. Die harte Produktregel ist die Rate: fps muss streng größer als null sein. Null, negative Zahlen und nichtendliche Werte werden mit der Meldung zurückgewiesen, dass die Bildrate positiv sein muss, und solche Fehlschläge werden nicht berechnet.
Beispiel: frames eintausendachthundert und fps dreißig ergeben hours null, minutes eins, seconds null, frames null und Timecode 00:01:00:00. Ein zweites Beispiel, frames eintausendeins bei vierundzwanzig fps, ergibt 00:00:41:17, weil eintausendeins geteilt durch vierundzwanzig einundvierzig Sekunden mit Rest siebzehn sind. Stunden werden auf mindestens zwei Ziffern aufgefüllt und dürfen über neunundneunzig wachsen; Minuten, Sekunden und die Frameziffer werden auf zwei aufgefüllt.
Optionale Aliase lassen Skripte vertraute Namen behalten, ohne eine Abbildungsschicht.
Wo ein Frames-zu-Timecode-Rechner seinen Platz verdient
Schnittassistenzen erhalten oft einen Renderbereich oder eine Markerliste als rohe Framenummern von einer Farm, einem Conform oder einem Statistikabzug und brauchen eine lesbare Kennzeichnung, die sie auf einem Cue-Sheet lesen oder in einen Kommentar einfügen können. Untertitel- und Einblendungspipelines wandeln ganzzahlige Ein- und Auspunkte in HH:MM:SS:FF, damit die Abnahme in derselben Uhr spricht, die die Bildabteilung nutzt. QC-Skripte können behaupten, dass eine berechnete Kennzeichnung zur Projekt-fps passt, bevor ein Paket das Haus verlässt, und fangen so eine falsche Ratenannahme, die sonst jede Cue um einen Sekundenbruchteil verschieben würde.
Filmschullabore und LMS-Erweiterungen nutzen den kostenlosen Browserpfad, damit Lernende nullbasierte Restarithmetik üben, ohne Desktoprechner zu installieren, die uneins sind, ob Frame null das erste Bild ist. Halten Sie fps ausdrücklich, behandeln Sie Frame null als 00:00:00:00, und Sie erhalten eine reproduzierbare Kennzeichnung für Notizen, DAILIES und Rand-Worker, ohne ein volles NLE nur zum Teilen einer Zahl durch eine Rate aufzustellen.
Anwendungsfälle
Farmbereiche zu lesbaren Kennzeichnungen
Wandeln Sie ganzzahlige Render-Ein- und Auspunkte einer Farm oder eines Conforms in nullaufgefülltes HH:MM:SS:FF, das Assistenzen auf ein Cue-Sheet kleben können.
Untertitel-Ein- und Ausgang in Bildzeit
Rechnen Sie Untertitel-Frameindizes in Stunden, Minuten, Sekunden und Restframes bei der Liefer-fps um, damit die Abnahme in der Bilduhr spricht.
Restübungen im Unterricht und CI-Stifte
Geben Sie Lernenden und Testsuiten ein deterministisches Non-Drop-Orakel, das Frame null auf 00:00:00:00 abbildet und eine nicht positive Rate zurückweist.
Häufige Fragen
Wie rechne ich eine Framezahl in Timecode um?
Senden Sie eine nichtnegative ganze Zahl frames und eine positive fps.
Was geschieht, wenn die Bildrate nicht positiv ist?
Null- und negative Raten werden zurückgewiesen und nicht berechnet.
Ist Frame null gleich 00:00:00:00?
Ja. Die Zählung ist nullbasiert. Frame null bei jeder positiven fps ist 00:00:00:00; die Restziffer läuft bei ganzzahligen Raten von 0 bis fps minus eins.
Nutzt dieser Umrechner Drop-Frame-Timecode?
Nein. Die Arithmetik ist ausschließlich Non-Drop. Bruchraten werden über Gesamtsekunden umgerechnet, NTSC-Drop-Frame-Sprungtabellen werden jedoch nicht angewendet.
Welcher Timecode gehört zu Frame 24 bei 24 fps?
Es ist 00:00:01:00. Gezählt wird ab null, daher füllen die ersten 24 Frames, von null an nummeriert, die erste Sekunde, und Frame 24 eröffnet die nächste.
Was passiert bei einer Bildrate von null oder darunter?
Die Umrechnung wird abgelehnt, statt durch null zu teilen oder eine Uhr zu erfinden. Null, negative und unendliche Werte werden zurückgewiesen, und solche Fehlversuche werden Ihnen nicht in Rechnung gestellt.
Können die Stunden mehr als zwei Stellen haben?
Ja. Die Stunden werden auf mindestens zwei Stellen aufgefüllt und wachsen bei sehr langen Zählungen weiter, während Minuten, Sekunden und Frames immer genau zwei Stellen haben.
Verwandte Tools
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/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)Beispiel-Anfrage
{
"frames": 1800,
"fps": 30
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.frames_to_timecode",
"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. |
Technische Hinweise
Ist die Bildrate null, negativ oder sonst nicht positiv, schlägt die Aufgabe mit invalid_input fehl, statt durch null zu teilen oder eine Uhr zu erfinden.
Eingabefelder, Prüfung und das JSON, das Sie zurückerhalten
Senden Sie per POST einen JSON-Körper mit zwei Pflichtfeldern: frames, eine nichtnegative ganzzahlige Gesamtframezahl, und fps, eine positive endliche Bildrate in Frames pro Sekunde. Die Aliase frames, frame_count, total_frames und n speisen die Zahl; die Aliase fps, frame_rate, framerate und rate speisen die Rate. Fehlende Felder, leere Zeichenketten, nichtnumerische Werte und eine negative Framezahl scheitern mit invalid_input und benennen das Feld. Bei Erfolg liefert der Körper hours, minutes, seconds und frames (die Restziffer FF), eine normalisierte nullaufgefüllte Timecode-Zeichenkette, die wiederholte fps, das ursprüngliche total_frames und eine kurze Formelzeichenkette, die die Non-Drop-Restidentität festhält.
Wo ein Frames-zu-Timecode-Rechner seinen Platz verdient
Weil die Umsetzung reines parse der Stufe A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Grundpreis $0.002 ohne Modelltoken und ohne ausgehendes Netz, fehlgeschlagene Validierung wird nicht abgerechnet.
Technische Fragen
Was kostet der Frames-zu-Timecode-Umrechner?
Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen das prepaid KIT-Guthaben zu $0.002 je erfolgreichem Aufruf; ungültige Eingabe wird nicht berechnet.