Conversor online gratuito de XML para SRT
Converta XML de legendas em legendas SRT compatíveis e editáveis e verifique a sincronização e a perda de formatação.
Converter XML para SRT online - grátis
Seu arquivo é processado instantaneamente e excluído assim que você o baixa.
Importar um arquivo de uma URL
Cole um link direto para o arquivo. Nós o baixamos no nosso servidor e ele é convertido exatamente como um arquivo enviado.
Como funciona
-
1/3
Envie seu arquivo .xml
Clique para selecionar o arquivo que deseja converter ou simplesmente arraste e solte o arquivo na área indicada.
-
2/3
Faça a conversão de .xml para .srt
Após o envio do arquivo, clique em converter quando estiver pronto.
-
3/3
Baixe o arquivo .srt convertido
O resultado da conversão está pronto para download.
Como converter xml para srt arquivo
- Legendas de vídeo
- Nenhuma avaliação ainda.
Um editor de vídeo, media player ou serviço de legendas pode exigir SRT quando as legendas foram exportadas como XML de outro sistema. A conversão torna o arquivo portátil e editável, mas somente se o XML contiver texto de cue identificável e dados de temporização.
O que é o formato XML
XML é uma linguagem de marcação estruturada, não um formato de legendas específico. Sistemas de legendas e transcrições usam diferentes schemas XML, incluindo TTML/DFXP, EBU-TT, Final Cut Pro XML e exportações proprietárias de softwares de edição, transmissão e conversão de fala em texto.
Um arquivo XML de legendas pode armazenar cues em elementos como <p begin="00:00:01.000" end="00:00:04.000"> ou usar atributos chamados start, end, in, out ou duration. Final Cut Pro XML pode descrever um projeto de edição em vez de conter cues de legendas diretamente utilizáveis, portanto pode exigir a exportação do aplicativo original antes da conversão.
XML não tem uma estrutura universal para legendas. Renomear captions.xml para captions.srt não o converte; o software precisa identificar os campos de temporização, extrair o texto visível e reescrever os dados na sintaxe SRT.
O que é o formato SRT
SRT é um formato de texto simples compatível com a maioria dos players de vídeo, editores não lineares, media servers e plataformas de legendas. Cada cue contém um número sequencial, um horário inicial e final, o texto da legenda e uma linha em branco:
1
00:00:01,000 --> 00:00:04,000
Example caption.
Os timestamps SRT usam vírgulas antes dos milissegundos e o formato HH:MM:SS,mmm. As legendas XML podem usar segundos decimais, pontos, números de frames, horário do relógio, ticks ou durações ISO 8601. SRT é pequeno, fácil de editar em um editor de texto e amplamente compatível, mas contém muito menos metadados e estilos do que a maioria dos schemas XML de legendas.
Converta XML reconhecido com Subtitle Edit
- Faça um backup do XML de origem.
- Instale a versão desktop atual do Subtitle Edit, um editor de legendas de código aberto para Windows.
- Abra o arquivo por meio de File → Open. Subtitle Edit pode importar vários formatos padrão de legendas e captions, mas o suporte depende do schema XML específico.
- Verifique os cues importados na grade de legendas e na timeline. Compare os cues inicial, intermediário e final com a origem ou o vídeo e confira as quebras de linha e os caracteres não latinos.
- Exporte por meio de File → Save as, selecione
SubRip (*.srt)e escolha a codificação UTF-8 se a caixa de diálogo oferecer uma opção de codificação.
Se o arquivo abrir como XML comum, não importar nenhum cue ou produzir horários incorretos, provavelmente se trata de um schema não compatível ou específico de um projeto. Inspecionar o XML em um editor de texto pode revelar se ele contém texto real de legendas e dados de temporização; não considere a abertura bem-sucedida do arquivo como prova de uma conversão correta.
Use um conversor online para arquivos documentados e não confidenciais
Serviços online de legendas, como Happy Scribe e VEED, são compatíveis com formatos selecionados de legendas e captions, mas o suporte a XML varia de acordo com o produto e pode estar limitado a um schema específico, como TTML. Verifique se o serviço lista explicitamente o tipo exato de XML antes de fazer o upload. Não faça upload de legendas confidenciais, não lançadas ou que contenham informações de identificação pessoal, a menos que o processamento por terceiros seja permitido.
Sites genéricos de XML para texto ou XML para SRT frequentemente selecionam os elementos errados, ignoram namespaces, tratam milissegundos como segundos ou retornam um arquivo vazio. Baixe o resultado, abra-o em um editor de legendas e compare seus horários com o vídeo antes de usá-lo.
Converta um schema personalizado previsível com Python
Um script é adequado quando cada cue tem valores reconhecíveis de start, end e texto. Este exemplo é compatível com horários de relógio e segundos numéricos, além de valores de 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')
Execute-o com python xml_to_srt.py captions.xml captions.srt. Altere os nomes dos atributos e a seleção de cues de acordo com o schema de origem. O script não interpreta timecodes SMPTE baseados em frames, durações ISO 8601, ticks, unidades de milissegundos não documentadas, namespaces XML que exigem uma busca qualificada nem elementos separados de estilos e falantes. Ele também transforma quebras de linha incorporadas em espaços; substitua essa linha de processamento de texto se a estrutura das linhas precisar ser preservada.
Verifique a temporização, a codificação e os metadados perdidos
- Confirme a base de tempo antes da conversão. Contagens de frames exigem a taxa de frames da origem; valores numéricos podem representar segundos, milissegundos ou ticks.
- Converta corretamente as durações relativas: um cue com
beginedurtermina embegin + dur. - Verifique cues sobrepostos, cues com duração zero, horários invertidos, texto ausente, cues duplicados e múltiplas faixas de idioma. Os leitores SRT lidam com esses casos de forma inconsistente.
- Preserve a codificação de caracteres declarada no XML ao ler a origem e salve o SRT como UTF-8. Inspecione os caracteres acentuados e os scripts não latinos após a exportação.
- Espere perder recursos específicos do XML, como posicionamento, cores, fontes, metadados de falantes, temporização de karaokê, ordem de leitura e estilos complexos de linha. Recrie manualmente as identificações de falantes ou a formatação essenciais.
- Abra o SRT resultante no Subtitle Edit ou em outro editor de legendas e visualize-o junto ao vídeo. Verifique os cues inicial e final, as mudanças de cena, as quebras de linha e a sincronização antes da entrega.
Comparação de formato: XML vs SRT
Como os formatos XML e SRT se comparam nas propriedades mais importantes para esta conversão.
| Propriedade | .XML Extensible Markup Language | .SRT SubRip Subtitle |
|---|---|---|
| Padrão aberto | Sim | Parcialmente aberto |
| Compressão | Sem compressão | Sem compressão |
| Tamanho típico do arquivo | Pequeno | Muito pequeno |
| Abre num navegador web | Sim, nativamente | Parcial |
| Edição posterior | Fácil | Fácil |
| Suporte a metadados | Básico | Básico |
| Legível em texto simples | Sim | Sim |
| Mais usado para | Intercâmbio de dados | Partilha e distribuição |
| Introduzido | 1998 | 1997 |
| Desenvolvedor | W3C | Unknown / SubRip community |
| Tipo MIME | application/xml | application/x-subrip |
Software sugerido para converter xml para srt
Perguntas frequentes
O conversor de XML para SRT é gratuito?
Sim, converter XML para SRT no 101convert.com é totalmente gratuito. Não é necessário cadastro, e-mail nem instalação. Se você precisa de um limite de tamanho de arquivo maior ou quer converter mais arquivos de uma vez, veja nossos planos.
Qual o tamanho máximo do meu arquivo XML?
Você pode enviar arquivos XML de até 100 MB e converter até 100 arquivos de uma vez em um único lote.
O que acontece com os arquivos enviados?
Os arquivos são processados automaticamente e excluídos dos nossos servidores poucos minutos após a conversão. Nunca visualizamos nem compartilhamos seus arquivos.
Preciso instalar algum programa para converter XML para SRT?
Não. A conversão de XML para SRT é feita totalmente online no navegador e funciona no Windows, Mac, Linux, Android e iPhone.
A conversão falhou?
Na maioria dos casos, a causa é um formato de arquivo incorreto. Envie um arquivo XML válido para esta conversão de XML para SRT. Às vezes, o problema também pode estar do nosso lado. Analisamos falhas de conversão recorrentes e desativamos ou corrigimos o conversor se detectarmos algum defeito.
A formatação e o posicionamento das legendas em XML serão perdidos ao converter para SRT?
Geralmente, sim: o SRT mantém os números das legendas, os horários de início e fim e o texto da legenda, mas o estilo em XML, as cores, os metadados do locutor, o posicionamento na tela e outros atributos podem ser simplificados ou descartados. As quebras de linha básicas costumam ser preservadas, dependendo do formato de legenda XML.
A sincronização das legendas continuará precisa ao converter XML para SRT?
Ela pode continuar precisa se o XML usar códigos de tempo compatíveis e a base de tempo correta, mas a sincronização baseada em frames ou específica do formato pode exigir conversão. Uma incompatibilidade na taxa de frames pode deslocar os inícios e finais das legendas, enquanto legendas sobrepostas ou malformadas podem ser alteradas ou rejeitadas.
Por que minha conversão de legendas XML gera legendas SRT ausentes ou vazias?
XML genérico não é automaticamente um formato de legenda, então a conversão pode falhar quando o arquivo usa uma estrutura de legenda, namespaces, campos de tempo ou elementos de texto não compatíveis. O XML precisa conter entradas de legenda reconhecíveis, com texto legível e horários de início e fim válidos.
É possível converter um SRT de volta para o XML original sem perder informações?
Geralmente, não, porque o SRT não pode representar todos os dados de legenda do XML, como formatação detalhada, posicionamento, metadados e campos de tempo personalizados. O SRT resultante continua editável como texto simples de legenda, mas convertê-lo de volta geralmente exige recriar as informações descartadas.
Outras conversões de arquivo .xml
Conversão inversa
Converter para .srt
de outros formatos
- mks para srt
- vtt para srt
- doc para srt
- ass para srt
- aac para srt
- sup para srt
- word para srt
- stl para srt
- txt para srt
- pac para srt
- 3gp para srt
- 890 para srt
- amr para srt
- avi para srt
- cip para srt
- dfxp para srt
- flac para srt
- idx para srt
- itt para srt
- lrc para srt
- m4a para srt
- m4v para srt
- mkv para srt
- mov para srt
- mp4 para srt
- ogg para srt
- opus para srt
- pdf para srt
- rtf para srt
- sbv para srt
- scr para srt
- smi para srt
- ssa para srt
- sub para srt
- text para srt
- ttml para srt
- vobsub para srt
- wav para srt
- webm para srt
- wma para srt
- zip para srt