Converter MicroDVD para JSON
Ou cole o texto da legenda
Opções
A taxa de quadros em que os tempos são contados. Nas páginas de formato é o que o MicroDVD precisa, porque ele guarda os tempos como números de quadro. Nas páginas de taxa de quadros é a taxa com que o arquivo foi cronometrado — a versão para a qual as legendas foram feitas — e a segunda caixa da página recebe a taxa do vídeo com que você vai usá-las. 23,976, 24, 25, 29,97, 30, 50, 59,94 e 60 são as comuns. Errar isso desloca toda a linha do tempo e, nas páginas de taxa de quadros, desloca por uma proporção em vez de por uma quantidade fixa.
O que esta conversão altera
1 coisa é descartada ou precisa de uma decisão
- Taxa de quadros
a origem guarda os tempos como números de quadro — cada marca de tempo depende da taxa de quadros que você informar
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 MicroDVD em JSON. Arraste um arquivo ou cole o texto e receba a versão JSON de volta. A conversão roda inteiramente no navegador, então nada é enviado e não há cadastro.
O JSON gerado tem version, um campo fps com a taxa usada e um array cues. Cada cue traz start e end em milissegundos inteiros e um array lines, com uma entrada por linha de texto; a barra vertical do MicroDVD que separa as linhas não aparece no resultado, porque o array já carrega essa separação.
O fps vem do campo da página; se ele ficar vazio, vale o declarado na primeira linha do arquivo, e 25 fps na ausência de declaração. A contagem em quadros do original não sobrevive, e a lista de perdas informa isso. Vários arquivos entram na fila e descem juntos em um ZIP.
Exemplos
Um arquivo MicroDVD típico, convertido para JSON
Entrada
{1}{1}25
{100}{150}The quick brown fox jumps over the lazy dog.
{200}{260}Faster than|the last one.
Saída
{
"version": 1,
"fps": 25,
"cues": [
{
"start": 4000,
"end": 6000,
"lines": [
"The quick brown fox jumps over the lazy dog."
]
},
{
"start": 8000,
"end": 10400,
"lines": [
"Faster than",
"the last one."
]
}
]
}
Perdido nesta saída: taxa de quadros. O resto corresponde linha a linha.
A mesma conversão em uma entrada problemática
Entrada
{1}{1}23.976
{0100}{0150}Leading zeros in the frame numbers.
[INFORMATION]
{300}{340}An unrecognized line above was kept in place.
{400}{450}Trailing spaces are kept.
Saída
{
"version": 1,
"fps": 25,
"cues": [
{
"start": 4000,
"end": 6000,
"lines": [
"Leading zeros in the frame numbers."
]
},
{
"start": 12000,
"end": 13600,
"lines": [
"An unrecognized line above was kept in place."
]
},
{
"start": 16000,
"end": 18000,
"lines": [
"Trailing spaces are kept. "
]
}
]
}
É 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 leitor tolera.
Perguntas frequentes
Como o JSON representa os quadros do MicroDVD?
Ele não os representa: convertê-los em milissegundos é o trabalho da página. Cada cue recebe start e end inteiros, e o número de quadro original não é copiado para nenhum campo da saída.
O campo fps do JSON é o mesmo para todos os cues?
Sim. A taxa escolhida para a conversão aparece uma vez, no topo do documento, junto com version, e vale para o arquivo inteiro; os cues trazem só os tempos já calculados.
Um cue com duas linhas no MicroDVD vira quantos objetos no JSON?
Um único objeto, com duas entradas no array lines. A barra vertical do MicroDVD é o separador de linhas e não é copiada; o array cumpre o mesmo papel sem ambiguidade.
Qual taxa de quadros o JSON assume quando o campo está vazio?
A declaração da primeira linha do arquivo, se existir; caso contrário, 25 fps, e o relatório avisa. Vale conferir contra o vídeo, porque muitos .sub antigos foram feitos para PAL.
O JSON pode ser consumido por um script ou por um banco de dados?
Pode: é JSON válido, com números inteiros em milissegundos e arrays de strings. Como o arquivo nunca é enviado, dados de legendas sob confidencialidade continuam no seu computador.