Converter CSV para SMI
Ou cole o texto da legenda
O que esta conversão altera
Nada se perde nesta direção — cada recurso do formato de origem tem para onde ir no formato de destino.
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 SMI. Arraste um arquivo — ou cole o texto — e receba a versão SMI de volta. A conversão roda inteiramente no seu navegador, então nada é enviado e nenhuma conta é necessária.
Nada se perde nesta direção. Tudo o que o CSV consegue expressar tem equivalente no SMI, então a saída são as mesmas legendas num invólucro diferente — a linha do tempo, as quebras de linha e o texto sobrevivem. Isso vale para qualquer arquivo CSV, inclusive um que use todos os recursos que o formato permite.
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 SMI
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
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>The quick brown fox.
<SYNC Start=3500>
<P>
<SYNC Start=4000>
<P>Jumps over, the lazy dog.
<SYNC Start=6250>
<P>
<SYNC Start=7000>
<P>Two lines here.<br>And a second one.
<SYNC Start=9000>
<P>
</BODY>
</SAMI>
Nada é perdido aqui: compare os dois lados 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
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>Hello there, friend.
<SYNC Start=4000>
<P>
<SYNC Start=5000>
<P>Second line.
<SYNC Start=7000>
<P>
<SYNC Start=10000>
<P>End before start.
<SYNC Start=10001>
<P>
<SYNC Start=12000>
<P>Unquoted comma in text, right here.
<SYNC Start=14000>
<P>
</BODY>
</SAMI>
É 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
Como fica a saída quando CSV vira SMI?
Fica no formato SMI: sem números de bloco e sem linha de timecode — cada fala é uma tag SYNC Start= com o texto num P embaixo e, logo depois, um bloco P com que devolve a tela ao vazio, porque um SYNC substitui o que estava na tela. Cada fala CSV vira um bloco SMI, na mesma ordem, com o mesmo texto.
Os tempos do CSV ficam exatos no arquivo SMI?
Ficam exatos ao milissegundo, que é o limite dos dois formatos. O CSV escreve um instante como 00:00:04.126 e o SMI escreve o mesmo instante como Start=4126; nada é arredondado nem deslocado entre os dois, e uma fala que ficava na tela por 2,9 segundos continua ficando.
Como sai no SMI uma fala CSV de duas linhas?
Sai como duas linhas separadas por um br, que é como o SAMI escreve uma quebra rígida. O vínculo se mantém: as duas linhas do CSV continuam pertencendo a uma única legenda no SMI, e o player as exibe juntas.
A ordem das falas CSV se mantém no SMI?
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 SMI as devolve em ordem; a mudança é de estrutura, não de conteúdo, e é proposital.
Consigo converter o SMI de volta para CSV?
Consigo, e essa é a direção com perdas: estilo, posicionamento e conteúdo específico do formato não têm para onde ir no CSV. Nesta direção nada se perde, então esse custo só aparece se você voltar.
O SMI de saída mantém a codificação do arquivo CSV?
Não: o SMI 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.