JSON을 MicroDVD로 변환
또는 자막 텍스트를 붙여넣으세요
옵션
타이밍을 어떤 프레임 레이트 기준으로 세는지 정합니다. 형식 안내 페이지에서는 MicroDVD가 이 값을 필요로 합니다. 시간을 프레임 번호로 저장하기 때문입니다. 프레임 레이트 페이지에서는 이 파일이 어느 프레임 레이트를 기준으로 만들어졌는지, 즉 자막을 만든 판본의 값을 뜻하며, 페이지의 두 번째 상자에는 이 자막을 사용할 영상의 프레임 레이트를 넣습니다. 흔히 쓰는 값은 23.976, 24, 25, 29.97, 30, 50, 59.94, 60입니다. 잘못 넣으면 시간축 전체가 어긋나고, 프레임 레이트 페이지에서는 고정된 양이 아니라 비율로 어긋납니다.
이 변환에서 달라지는 것
4가지가 버려지거나 결정이 필요합니다
- 스타일
모든 스타일(굵게, 기울임, 색, 외곽선, 그림자)
- 위치
화면 위치 지정(모든 자막 블록이 기본 위치로 돌아갑니다)
- 가라오케
가라오케 타이밍(음절 단위 강조)
- 프레임 레이트
이 형식은 시간을 프레임 번호로 저장합니다 — 타이밍이 입력한 프레임 레이트에 따라 달라집니다
이 목록은 불러온 특정 파일이 아니라 두 형식의 기능 행렬에서 나옵니다. 어떤 파일은 형식이 허용하지만 행렬이 모델링하지 않는 기능을 쓰고 있다면 더 많이 잃을 수 있습니다.
JSON 자막을 MicroDVD로 바꾸면 시간이 시계 대신 프레임 번호 두 개로 적힙니다. 영상의 프레임 레이트를 지정해야 하고, 스타일과 화면 위치, 노래방 표시는 남지 않습니다. 결과는 {시작}{끝} 형식의 한 줄짜리 자막 파일입니다.
JSON은 start와 end를 4126 같은 밀리초 정수로 적고, MicroDVD는 25fps에서 4초를 프레임 100으로 계산합니다. 프레임 레이트가 틀리면 영상 앞부분에서는 거의 티가 나지 않다가 뒤로 갈수록 어긋납니다. 이 페이지의 프레임 레이트 옵션이 그 변환을 담당합니다.
잃는 것은 스타일, 위치, 노래방, 프레임 레이트입니다. tags 배열의 서식과 styles 객체의 스타일 표, cue 위치, 노래방 구간이 모두 빠집니다. 두 줄 자막은 세로 막대 하나로 이어 붙이고, cue 순서는 시작 시간을 기준으로 다시 정렬됩니다.
여러 파일을 넣으면 순서대로 처리되어 ZIP 하나로 내려옵니다. 원본 JSON과 영상은 기기 밖으로 나가지 않으며 변환은 브라우저 안에서 끝납니다.
예시
일반적인 JSON 파일을 MicroDVD로 변환
입력
{
"version": 1,
"title": "Fixture: typical",
"fps": 25,
"styles": {
"Default": {
"name": "Default",
"fontFamily": "Arial",
"fontSize": 20,
"primaryColor": "#FFFFFF",
"bold": false,
"italic": false
}
},
"generator": "subtitlematrix fixtures",
"cues": [
{
"id": "1",
"start": 0,
"end": 2000,
"lines": [
"Hello world.",
"Second line."
],
"style": "Default",
"position": {
"x": 100,
"y": 200,
"align": "center"
}
},
{
"id": "2",
"start": 2500,
"end": 4000,
"lines": [
"Plain line.",
{
"text": "Styled line.",
"tags": [
{
"kind": "italic",
"start": 0,
"end": 6
}
]
}
]
},
{
"id": "3",
"start": 4500,
"end": 6000,
"lines": [
"Roger: I am here."
],
"speaker": "Roger"
}
]
}
결과물
{1}{1}25
{0}{50}Hello world.|Second line.
{63}{100}Plain line.|Styled line.
{113}{150}Roger: I am here.
이 결과에서 사라지는 것: 스타일, 위치, 노래방, 프레임 레이트. 나머지는 줄 단위로 같습니다.
까다로운 입력에 같은 변환 적용
입력
[
{ "start": 0, "end": 1000, "lines": ["First."] },
{ "start": 1000, "end": 2000, "text": "Second." },
"not an object",
{ "start": 2000, "end": 3000, "lines": ["Third."], "class": "top" }
]
결과물
{1}{1}25
{0}{25}First.
{25}{50}Second.
{50}{75}Third.
실제 파일에서 흔한 손상입니다. 줄 바꿈이 섞이고, 공백이 남고, 빈 필드가 있습니다. 위의 깔끔한 예시와 비교해 파서가 무엇을 넘겨주는지 보세요.
자주 묻는 질문
JSON을 MicroDVD로 바꿀 때 프레임 레이트는 무엇으로 해야 하나요?
이 자막이 붙을 영상의 프레임 레이트로 맞추세요. MicroDVD는 자막을 {103}{175}처럼 프레임 번호 두 개로 적기 때문에 25fps에서는 4초가 프레임 100이 됩니다. 값이 틀리면 영상 초반에는 거의 눈에 띄지 않다가 재생 시간이 길어질수록 크게 어긋납니다.
JSON의 굵기·기울임·색은 MicroDVD에서 남나요?
남지 않습니다. MicroDVD는 어떤 스타일도 저장하지 않으므로 tags 배열의 서식과 styles 객체의 이름 있는 스타일이 모두 빠지고, 모든 줄이 평문으로 적힙니다. 글자 자체는 그대로입니다.
JSON의 화면 위치는 MicroDVD로 넘어가나요?
넘어가지 않습니다. MicroDVD에는 위치를 적는 자리가 없어 cue의 위치가 버려지고, 재생기가 기본 위치에 그립니다. 대부분 화면 아래쪽 가운데입니다.
JSON의 노래방 타이밍은 MicroDVD에서 어떻게 되나요?
타이밍은 사라지고 글자는 남습니다. 노래방 정보는 음절이 언제 켜지는지를 적지만 MicroDVD에는 줄 안의 순간을 기록할 방법이 없어 표시가 빠지고 음절은 평범한 텍스트가 됩니다.
JSON을 MicroDVD로 바꾸면 결과가 어떻게 생겼나요?
cue 번호 없이 줄마다 중괄호 두 쌍이 앞에 붙습니다. JSON의 cue 하나가 MicroDVD의 줄 하나가 되고 순서와 글자는 같으며, 시간은 프레임 번호로 계산되어 적힙니다.
두 줄짜리 JSON 자막은 MicroDVD에서 어떻게 되나요?
한 줄 안에서 세로 막대 하나로 두 줄을 잇습니다. MicroDVD가 강제 줄 바꿈을 적는 방식이며, 두 줄이 같은 자막이라는 사실은 유지됩니다.