Converter SRT para ASS
Ou cole o texto da legenda
O que esta conversão altera
1 coisa é descartada ou precisa de uma decisão
- Precisão
a precisão dos tempos — o relógio da saída é mais grosseiro, então cada marca de tempo é arredondada para o 10 ms mais próximo
Esta lista vem da matriz de capacidades destes dois formatos, não do arquivo específico que você carregou. Um arquivo específico pode perder mais se usar recursos que o formato permite mas a matriz não modela.
Esta página reescreve um SRT como script Advanced SubStation Alpha. Os dois formatos discordam sobre o que é uma legenda: o SRT é uma lista de blocos com carimbos, enquanto o ASS é um script com cabeçalho, tabela de estilos e uma lista de linhas Dialogue. Então cada bloco vira uma linha Dialogue apontada para um estilo, e os tempos são reescritos em notação ASS: 0:00:01.00 em vez de 00:00:01,000, porque o ASS conta centésimos onde o SRT conta milésimos.
A formatação é traduzida, não colada. Um trecho em itálico na origem vira um código de sobreposição ligado no começo do trecho e desligado no fim, e o mesmo vale para negrito. Uma quebra de linha dentro do bloco vira o código de quebra do ASS, então duas linhas continuam duas linhas dentro de um evento só, em vez de virarem dois blocos vizinhos. O que o SRT não sabe dizer — fonte, posição, contorno — não é inventado no seu lugar: você recebe um script limpo com um estilo utilizável, pronto para reestilizar em qualquer editor ASS.
Um arquivo ou uma temporada inteira, sem taxa de quadros para descobrir (os dois formatos guardam tempo de relógio), e nada sai do seu computador.
Exemplos
Um arquivo SRT comum, convertido para ASS
Entrada
1
00:00:01,000 --> 00:00:03,500
Hello there.
2
00:00:03,500 --> 00:00:06,000
<i>Whispering</i> now.
And a second line.
3
00:00:06,000 --> 00:00:09,250
<b>Bold</b> statement.
Saída
[Script Info]
ScriptType: v4.00+
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:03.50,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:03.50,0:00:06.00,Default,,0,0,0,,{\i1}Whispering{\i0} now.\NAnd a second line.
Dialogue: 0,0:00:06.00,0:00:09.25,Default,,0,0,0,,{\b1}Bold{\b0} statement.
Descartado nesta saída: a resolução de milésimo, arredondada a centésimo. O resto confere linha por linha.
A mesma conversão com uma entrada problemática
Entrada
1
0:00:01,00 --> 0:00:03,500
<B>Bold</B> and <I>italic</I>.
2
00:00:03,500 --> 00:00:06,000
3
00:00:08,000 --> 00:00:09,000
Last one.
Saída
[Script Info]
ScriptType: v4.00+
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:03.50,Default,,0,0,0,,{\b1}Bold{\b0} and {\i1}italic{\i0}.
Dialogue: 0,0:00:03.50,0:00:06.00,Default,,0,0,0,,
Dialogue: 0,0:00:08.00,0:00:09.00,Default,,0,0,0,,Last one.
É o tipo de dano que arquivos reais trazem: fins de linha misturados, espaços soltos, campos vazios. Compare com o exemplo organizado acima para ver o que o analisador perdoa.
Perguntas frequentes
Por que a saída tem uma tabela de estilos que eu não pedi?
Porque no ASS não existe legenda sem estilo. Toda linha Dialogue aponta para um, então o script precisa declarar pelo menos um. O conversor cria um estilo Default — Arial, corpo 20, branco com contorno escuro — e aponta todas as linhas para ele. Mudar essa única linha do cabeçalho muda o arquivo inteiro.
O que significa o número depois do ponto decimal?
Centésimos de segundo. O ASS guarda o tempo em centésimos, então um início em 00:00:01,250 no SRT aparece como 0:00:01.25. É a maior resolução que o formato tem, e nada mais fino existia no seu arquivo.
Como minhas tags de itálico e negrito atravessam?
Viram estilo ASS de verdade. Um trecho em itálico ganha o código de itálico em volta, e o negrito ganha o de negrito. Um editor ASS mostra isso como formatação, não como marcação sobrando, e é a diferença entre um script que abre limpo e um cheio de caracteres soltos.
Uma quebra de linha dura é preservada?
É, como o código de quebra do ASS. Duas linhas dentro de um bloco SRT continuam duas linhas dentro de um evento Dialogue, então o tempo da segunda linha continua sendo o tempo do bloco.
A saída continua alinhada com o mesmo vídeo?
Continua. Nada aqui desloca ou reescala o tempo: o primeiro bloco começa no mesmo instante e o último termina no mesmo instante; só mudou o que envolve as palavras.