Convertitore online gratuito da XML a SRT
Converti il caption XML in sottotitoli SRT compatibili e modificabili e verifica il timing e la formattazione persa.
Converti XML in SRT online - gratuito
Il tuo file viene elaborato istantaneamente ed eliminato non appena lo scarichi.
Importa un file da un URL
Incolla un link diretto al file. Lo scarichiamo sul nostro server e viene convertito esattamente come un file caricato.
Come funziona
-
1/3
Carica il tuo file .xml
Fai clic per selezionare il file che vuoi convertire oppure trascinalo semplicemente nell'area indicata.
-
2/3
Avvia la conversione da .xml a .srt
Dopo il caricamento del file, fai clic su converti quando sei pronto.
-
3/3
Scarica il file .srt convertito
Il risultato della conversione è pronto per il download.
Come convertire xml in srt file
- Sottotitoli del video
- Ancora nessuna valutazione.
Un editor video, un media player o un servizio per sottotitoli può richiedere SRT quando i sottotitoli sono stati esportati come XML da un altro sistema. La conversione rende i sottotitoli portabili e modificabili, ma solo se l'XML contiene testo dei cue identificabile e dati di temporizzazione.
Cos'è il formato XML
XML è un linguaggio di markup strutturato, non un formato per sottotitoli. I sistemi per sottotitoli e trascrizioni utilizzano schemi XML diversi, tra cui TTML/DFXP, EBU-TT, Final Cut Pro XML ed esportazioni proprietarie da software di editing, broadcast e speech-to-text.
Un file XML per sottotitoli può memorizzare i cue in elementi come <p begin="00:00:01.000" end="00:00:04.000">, oppure utilizzare attributi denominati start, end, in, out o duration. Final Cut Pro XML può descrivere un progetto di editing invece di contenere cue per sottotitoli direttamente utilizzabili, quindi potrebbe richiedere l'esportazione dall'applicazione originale prima della conversione.
XML non dispone di una struttura universale per i sottotitoli. Rinominare captions.xml in captions.srt non lo converte; il software deve identificare i campi di temporizzazione, estrarre il testo visibile e riscrivere i dati nella sintassi SRT.
Cos'è il formato SRT
SRT è un formato di testo semplice supportato dalla maggior parte dei video player, degli editor non lineari, dei media server e delle piattaforme per sottotitoli. Ogni cue contiene un numero sequenziale, un'ora di inizio e di fine, il testo del sottotitolo e una riga vuota:
1
00:00:01,000 --> 00:00:04,000
Example caption.
I timestamp SRT utilizzano le virgole prima dei millisecondi e il formato HH:MM:SS,mmm. I sottotitoli XML possono invece utilizzare secondi decimali, punti, numeri di fotogramma, orario, tick o durate ISO 8601. SRT è compatto, facile da modificare in un editor di testo e ampiamente compatibile, ma contiene molti meno metadati e stili rispetto alla maggior parte degli schemi XML per sottotitoli.
Convertire XML riconosciuti con Subtitle Edit
- Crea un backup dell'XML di origine.
- Installa la versione desktop corrente di Subtitle Edit, un editor di sottotitoli open source per Windows.
- Apri il file tramite File → Open. Subtitle Edit può importare diversi formati standard per sottotitoli e caption, ma il supporto dipende dallo schema XML specifico.
- Controlla i cue importati nella griglia dei sottotitoli e nella timeline. Confronta il primo, il centrale e l'ultimo cue con l'origine o con il video, quindi controlla le interruzioni di riga e i caratteri non latini.
- Esporta tramite File → Save as, seleziona
SubRip (*.srt)e scegli la codifica UTF-8 se la finestra di dialogo fornisce un'opzione per la codifica.
Se il file si apre come normale XML, non importa alcun cue o produce tempi errati, probabilmente si tratta di uno schema non supportato o specifico di un progetto. L'ispezione dell'XML in un editor di testo può rivelare se contiene testo effettivo dei sottotitoli e dati di temporizzazione; non considerare la corretta apertura del file come prova di una conversione corretta.
Utilizzare un convertitore online per file documentati e non sensibili
I servizi online per caption, come Happy Scribe e VEED, supportano formati selezionati per sottotitoli e caption, ma il supporto XML varia in base al prodotto e potrebbe essere limitato a uno schema denominato, come TTML. Verifica che il servizio elenchi esplicitamente il tipo esatto di XML prima del caricamento. Non caricare caption riservate, non ancora pubblicate o contenenti informazioni personali identificabili, a meno che il trattamento da parte di terzi sia consentito.
I siti generici per la conversione da XML a testo o da XML a SRT spesso selezionano gli elementi errati, ignorano gli namespace, interpretano i millisecondi come secondi o restituiscono un file vuoto. Scarica il risultato, aprilo in un editor di sottotitoli e confronta i tempi con il video prima di utilizzarlo.
Convertire uno schema personalizzato prevedibile con Python
Uno script è adatto quando ogni cue presenta valori riconoscibili per start, end e il testo. Questo esempio supporta orari e secondi numerici, oltre ai valori duration:
import re
import sys
import xml.etree.ElementTree as ET
def seconds(value):
value = value.strip().replace(',', '.')
if re.fullmatch(r'\d+(?:\.\d+)?', value):
return float(value)
match = re.fullmatch(r'(\d+):(\d{2}):(\d{2})(?:\.(\d+))?', value)
if not match:
raise ValueError(f'Unsupported time: {value}')
h, m, s, fraction = match.groups()
return int(h) * 3600 + int(m) * 60 + int(s) + float('0.' + (fraction or '0'))
def srt_time(value):
ms = max(0, round(value * 1000))
h, remainder = divmod(ms, 3600000)
m, remainder = divmod(remainder, 60000)
s, ms = divmod(remainder, 1000)
return f'{h:02}:{m:02}:{s:02},{ms:03}'
root = ET.parse(sys.argv[1]).getroot()
cues = []
for element in root.iter():
start = element.get('start') or element.get('begin')
end = element.get('end')
duration = element.get('duration') or element.get('dur')
if not start or (not end and not duration):
continue
start = seconds(start)
end = seconds(end) if end else start + seconds(duration)
text = ' '.join(''.join(element.itertext()).split())
if text and end > start:
cues.append((start, end, text))
cues.sort()
with open(sys.argv[2], 'w', encoding='utf-8', newline='\n') as output:
for number, (start, end, text) in enumerate(cues, 1):
output.write(f'{number}\n{srt_time(start)} --> {srt_time(end)}\n{text}\n\n')
Eseguilo con python xml_to_srt.py captions.xml captions.srt. Modifica i nomi degli attributi e la selezione dei cue in base allo schema di origine. Lo script non interpreta i timecode SMPTE basati sui fotogrammi, le durate ISO 8601, i tick, le unità in millisecondi non documentate, gli namespace XML che richiedono una ricerca qualificata o gli elementi separati per stili e parlanti. Inoltre, comprime le interruzioni di riga incorporate in spazi; sostituisci quella riga di elaborazione del testo se è necessario preservare la struttura delle righe.
Controllare temporizzazione, codifica e metadati persi
- Conferma la base temporale prima della conversione. I conteggi dei fotogrammi richiedono la frequenza dei fotogrammi di origine; i valori numerici possono rappresentare secondi, millisecondi o tick.
- Converti correttamente le durate relative: un cue con
beginedurtermina abegin + dur. - Controlla la presenza di cue sovrapposti, cue di durata zero, tempi invertiti, testo mancante, cue duplicati e tracce in più lingue. I lettori SRT gestiscono questi casi in modo non uniforme.
- Preserva la codifica dei caratteri dichiarata nell'XML durante la lettura dell'origine e salva l'SRT come UTF-8. Controlla i caratteri accentati e gli alfabeti non latini dopo l'esportazione.
- Prevedi la perdita di funzioni specifiche dell'XML, come posizionamento, colori, font, metadati dei parlanti, temporizzazione karaoke, ordine di lettura e stili complessi delle righe. Ricrea manualmente le etichette dei parlanti o la formattazione essenziali.
- Apri l'SRT risultante in Subtitle Edit o in un altro editor di sottotitoli e visualizzalo insieme al video. Controlla il primo e l'ultimo cue, i cambi di scena, le interruzioni di riga e la sincronizzazione prima della consegna.
Confronto formato: XML vs SRT
Come i formati XML e SRT si confrontano sulle proprietà più importanti per questa conversione.
| Proprietà | .XML Extensible Markup Language | .SRT SubRip Subtitle |
|---|---|---|
| Standard aperto | Sì | Parzialmente aperto |
| Compressione | Non compresso | Non compresso |
| Dimensione tipica del file | Piccolo | Molto piccolo |
| Si apre in un browser web | Sì, nativamente | Parziale |
| Modifica successiva | Facile | Facile |
| Supporto metadata | Base | Base |
| Leggibile come testo semplice | Sì | Sì |
| Ideale per | Scambio dati | Condivisione e distribuzione |
| Introdotto | 1998 | 1997 |
| Sviluppatore | W3C | Unknown / SubRip community |
| Tipo MIME | application/xml | application/x-subrip |
Software e collegamenti suggeriti: convertitori da xml a srt
Domande frequenti
Il convertitore da XML a SRT è gratuito?
Sì, convertire XML in SRT su 101convert.com è completamente gratuito. Non sono richiesti registrazione, e-mail o installazione. Se hai bisogno di un limite di dimensione del file più alto o vuoi convertire più file alla volta, consulta i nostri piani.
Quanto può essere grande il mio file XML?
Puoi caricare file XML fino a 100 MB e convertire fino a 100 file alla volta in un unico lotto.
Cosa succede ai file caricati?
I file vengono elaborati automaticamente ed eliminati dai nostri server pochi minuti dopo la conversione. Non visualizziamo né condividiamo mai i tuoi file.
Devo installare un software per convertire XML in SRT?
No. La conversione da XML a SRT avviene completamente online nel browser e funziona su Windows, Mac, Linux, Android e iPhone.
La conversione non è riuscita?
Nella maggior parte dei casi, la causa è un formato di file errato. Carica un file XML valido per questa conversione da XML a SRT. A volte il problema può dipendere anche da noi. Analizziamo gli errori di conversione ricorrenti e disattiviamo o ripariamo il convertitore se rileviamo un difetto.
Convertendo XML in SRT si perdono la formattazione e il posizionamento delle didascalie?
Di solito sì: SRT conserva i numeri delle didascalie, i tempi di inizio e fine e il testo dei sottotitoli, ma lo stile XML, i colori, i metadati degli interlocutori, il posizionamento sullo schermo e altri attributi possono essere appiattiti o eliminati. Le interruzioni di riga di base vengono spesso conservate, a seconda del formato delle didascalie XML.
La sincronizzazione dei sottotitoli rimane precisa convertendo XML in SRT?
Può rimanere precisa se l'XML usa timecode supportati e la base dei tempi corretta, ma la sincronizzazione basata sui fotogrammi o specifica del formato potrebbe richiedere una conversione. Una differenza nella frequenza dei fotogrammi può spostare gli inizi e le fini delle didascalie, mentre le didascalie sovrapposte o malformate possono essere modificate o rifiutate.
Perché la conversione dei sottotitoli XML genera didascalie SRT mancanti o vuote?
L'XML generico non è automaticamente un formato per didascalie, quindi la conversione può fallire quando il file usa una struttura di didascalie, namespace, campi temporali o elementi di testo non supportati. L'XML deve contenere voci di didascalia riconoscibili, con testo leggibile e tempi di inizio e fine validi.
Posso riconvertire un SRT nell'XML originale senza perdere informazioni?
Di solito no, perché SRT non può rappresentare tutti i dati delle didascalie XML, come formattazione dettagliata, posizionamento, metadati e campi temporali personalizzati. L'SRT risultante resta modificabile come semplice testo di sottotitoli, ma per riconvertirlo è generalmente necessario ricreare le informazioni eliminate.
Altre conversioni di file .xml
Conversione inversa
Conversione in .srt
da altri formati
- vtt in srt
- mks in srt
- doc in srt
- ass in srt
- sup in srt
- word in srt
- stl in srt
- txt in srt
- pac in srt
- mp4 in srt
- 3gp in srt
- 890 in srt
- aac in srt
- amr in srt
- avi in srt
- cip in srt
- dfxp in srt
- flac in srt
- idx in srt
- itt in srt
- lrc in srt
- m4a in srt
- m4v in srt
- mkv in srt
- mov in srt
- ogg in srt
- opus in srt
- pdf in srt
- rtf in srt
- sbv in srt
- scr in srt
- smi in srt
- ssa in srt
- sub in srt
- text in srt
- ttml in srt
- vobsub in srt
- wav in srt
- webm in srt
- wma in srt
- zip in srt