Ir para o conteúdo principal
SubtitleMatrix

Converter CSV para SSA

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 converte CSV em SSA. Arraste um arquivo — ou cole o texto — e receba a versão SSA de volta. A conversão roda inteiramente no seu navegador, então nada é enviado e nenhuma conta é necessária.

Estes dois formatos não guardam as mesmas coisas, e a diferença não é cosmética: a precisão não tem para onde ir no SSA. A lista acima vem do que cada um dos formatos consegue expressar, não do seu arquivo, então a resposta é a mesma antes de você carregar qualquer coisa.

Um arquivo está bom, e uma temporada inteira também: a fila processa na ordem e os resultados descem juntos num único ZIP.

Exemplos

Um arquivo CSV típico, convertido para SSA

Entrada

start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00:00:09.000,"Two lines here.
And a second one."

Saída

[Script Info]
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:03.50,Default,,0,0,0,,The quick brown fox.
Dialogue: 0,0:00:04.00,0:00:06.25,Default,,0,0,0,,Jumps over, the lazy dog.
Dialogue: 0,0:00:07.00,0:00:09.00,Default,,0,0,0,,Two lines here.\NAnd a second one.

Perdido nesta saída: precisão. Todo o resto corresponde linha a linha.

A mesma conversão sobre uma entrada problemática

Entrada

id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.

Saída

[Script Info]
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there, friend.
Dialogue: 0,0:00:05.00,0:00:07.00,Default,,0,0,0,,Second line.
Dialogue: 0,0:00:10.00,0:00:10.01,Default,,0,0,0,,End before start.
Dialogue: 0,0:00:12.00,0:00:14.00,Default,,0,0,0,,Unquoted comma in text, right here.

É o tipo de dano que os arquivos reais têm: fim de linha misturado, espaço sobrando, campos vazios. Compare com o exemplo organizado acima para ver o que o analisador perdoa.

Perguntas frequentes

Por que os tempos mudam de CSV para SSA?

O SSA guarda o tempo como 0:00:04.13 e o CSV como 00:00:04.126 — centésimo contra milésimo — então cada timecode é arredondado para os 10 ms mais próximos: 00:00:04,126 sai como 4,13 segundos. Nada é esticado nem reordenado, e nenhuma fala se move mais de 5 ms, mas ao alinhar estas legendas com outro arquivo esse é o ponto em que a conversão deixa de ser exata.

Como fica a saída quando CSV vira SSA?

Fica no formato SSA: sem números de bloco, cada legenda é uma linha Dialogue na seção Events, com um campo Marked onde o SRT guarda o número. Cada fala CSV vira uma fala SSA, na mesma ordem, com o mesmo texto.

Como sai no SSA uma fala CSV de duas linhas?

Sai como duas linhas unidas por um \N, a marca de quebra de linha do SSA. O vínculo se mantém: as duas linhas do CSV continuam pertencendo a uma única legenda no SSA, e o player as exibe juntas.

A ordem das falas CSV se mantém no SSA?

Se mantém, com as falas ordenadas pelo início no caminho, do mais cedo para o mais tarde, que é como os players leem. Se o seu CSV listava as falas fora de ordem, o SSA as devolve em ordem; a mudança é de estrutura, não de conteúdo, e é proposital.

Consigo converter o SSA de volta para CSV?

Consigo, e essa direção tem lista própria: converter SSA para CSV descarta estilo, posicionamento, karaokê e conteúdo específico do formato. A lista difere da de cima porque os dois formatos guardam coisas diferentes.

O SSA de saída mantém a codificação do arquivo CSV?

Não: o SSA gerado é UTF-8, com fim de linha Unix e sem BOM, qualquer que tenha sido a codificação do CSV. Um arquivo que chega em UTF-16 ou numa codificação de byte único do Windows é decodificado na leitura, e o painel de resultado avisa quando isso acontece.

Ferramentas relacionadas