JSON 전사 파일을 업로드하면 구조를 자동으로 인식하고, 타임스탬프·텍스트·선택적 화자 라벨이 포함된 깨끗한 SRT 파일로 내보냅니다.
JSON 파일은 브라우저 안에서 로컬로 변환됩니다. 업로드가 필요 없습니다.
OpenAI Whisper, AWS Transcribe, Google Cloud Speech-to-Text 같은 음성 인식 서비스는 완성된 자막 대신 JSON 파일을 내보내는 경우가 많습니다. 이 JSON에는 시간 정보, 단어, 문장, 대체 결과, 화자 정보가 들어 있을 수 있습니다. 이 변환기는 그 구조를 읽고 시작 시간, 종료 시간, 텍스트를 추출해 표준 SubRip 형식의 SRT 파일을 만듭니다.
원본 JSON은 YouTube에 바로 업로드하거나 Adobe Premiere, DaVinci Resolve, Final Cut Pro에 안정적으로 가져올 수 없습니다. 먼저 번호, 시작 시간, 종료 시간, 표시 텍스트로 이루어진 자막 트랙으로 정리해야 합니다. 이 도구가 그 과정을 자동으로 처리합니다.
이 페이지는 단순한 미니 변환기보다 더 구체적으로 실제 API 구조를 보여줍니다. 내 JSON 파일이 비슷한 구조인지, 왜 유효한 SRT로 변환될 수 있는지 바로 확인할 수 있습니다.
Whisper 내보내기에는 보통 segments 배열이 포함됩니다. 각 항목에는 일반적으로 start, end, text가 있으며, 이 구조는 SRT 블록으로 바로 변환하기 좋습니다.
{
"segments": [
{ "start": 0.00, "end": 2.40, "text": "영상에 오신 것을 환영합니다." },
{ "start": 2.40, "end": 5.10, "text": "오늘은 작업 흐름을 보여드립니다." }
]
}
1
00:00:00,000 --> 00:00:02,400
영상에 오신 것을 환영합니다.
2
00:00:02,400 --> 00:00:05,100
오늘은 작업 흐름을 보여드립니다.
AWS Transcribe는 단어와 문장부호를 results.items에 개별 항목으로 제공하는 경우가 많습니다. 이 도구는 단어 데이터를 읽기 쉬운 자막 블록으로 묶고, 화자 라벨이 있으면 유지할 수 있습니다.
{
"results": {
"items": [
{ "type": "pronunciation", "start_time": "0.00", "end_time": "0.55", "alternatives": [{ "content": "안녕하세요" }], "speaker_label": "spk_0" },
{ "type": "pronunciation", "start_time": "0.56", "end_time": "1.10", "alternatives": [{ "content": "Maik" }], "speaker_label": "spk_0" },
{ "type": "punctuation", "alternatives": [{ "content": "." }] }
]
}
}
1
00:00:00,000 --> 00:00:01,100
spk_0: 안녕하세요 Maik.
Google Speech-to-Text는 보통 단어를 results[].alternatives[].words[] 아래에 저장합니다. 시작/종료 시간은 1.200s처럼 s 접미사가 붙은 초 단위로 표시되는 경우가 많습니다.
{
"results": [
{
"alternatives": [
{
"words": [
{ "startTime": "0s", "endTime": "0.700s", "word": "이건", "speakerTag": 1 },
{ "startTime": "0.700s", "endTime": "1.400s", "word": "작동합니다", "speakerTag": 1 }
]
}
]
}
]
}
1
00:00:00,000 --> 00:00:01,400
Speaker 1: 이건 작동합니다
JSON은 자막 형식이 아니라 데이터 형식입니다. 그래서 전사 서비스마다 필드 이름이 다를 수 있습니다. 이 변환기는 흔한 키 이름을 확인하고, 파일이 Whisper·AWS·Google 형식과 정확히 같지 않아도 중첩 배열을 탐색할 수 있습니다.
| 필드 | 인식되는 키 | SRT에서의 사용 |
|---|---|---|
| 시작 시간 | start, start_time, startTime, from, begin | SRT 블록의 시작 시간이 됩니다 |
| 종료 시간 | end, end_time, endTime, to, finish | SRT 블록의 종료 시간이 됩니다 |
| 텍스트 | text, transcript, content, sentence, value | 표시되는 자막 텍스트가 됩니다 |
| 화자 | speaker, speaker_label, speaker_id, speakerTag | 텍스트 앞에 접두어로 붙일 수 있습니다 |
많은 전사 서비스는 speaker, speaker_label, speakerTag 또는 비슷한 필드로 화자 정보를 제공합니다. “화자 라벨 포함”을 켜면 해당 정보가 자막 텍스트 안에 직접 기록됩니다.
SRT에는 화자를 위한 별도 기술 필드가 없습니다. 실무에서는 화자를 텍스트 접두어로 저장합니다. 인터뷰, 팟캐스트, 회의, 강의, 고객지원 녹화에 특히 유용합니다.
1
00:00:00,000 --> 00:00:02,200
Speaker 1: 대화에 오신 것을 환영합니다.
2
00:00:02,300 --> 00:00:04,800
Speaker 2: 초대해 주셔서 감사합니다.
아래 표는 이 도구가 적극적으로 인식하는 구조를 보여줍니다. 또한 시작, 종료, 텍스트가 있는 일반 배열도 자동으로 찾아봅니다.
| 제공업체 | 일반적인 JSON 구조 | 지원 여부 | 참고 |
|---|---|---|---|
| OpenAI Whisper | segments[] mit start, end, text | 예, 바로 지원 | 세그먼트 기반 구조로 SRT 출력에 적합합니다. |
| AWS Transcribe | results.items[] plus optional speaker_labels | 예, 바로 지원 | 단어 단위 데이터를 읽기 쉬운 자막 블록으로 묶습니다. |
| Google Speech-to-Text | results[].alternatives[].words[] | 예, 바로 지원 | 초 단위 시간이 있는 단어 목록을 묶고 시간순으로 정렬합니다. |
| 일반 JSON | 시작, 종료, 텍스트가 있는 배열 또는 중첩 배열 | 필드가 있으면 지원 | 명확한 시간 및 텍스트 필드가 있으면 작동합니다. |
네. 변환은 브라우저 안에서 JavaScript로 로컬 실행됩니다. JSON 파일이 서버로 업로드되지 않습니다. 전사 파일에는 내부 회의, 고객 자료, 초안 스크립트, 공개 전 영상이 포함될 수 있기 때문에 중요합니다.
이 도구는 JSON 파일에 사용할 수 있는 시간 정보가 있을 때만 세그먼트를 만들 수 있습니다. 시작과 종료 시간이 없는 텍스트 전용 JSON은 SRT로 안정적으로 변환할 수 없습니다. SRT에는 반드시 타임스탬프가 필요하기 때문입니다. 텍스트만 있다면 TXT to SRT 변환기를 사용하거나 Studio에서 나중에 동기화하세요.
JSON 전사 결과는 자동 음성 인식에서 오는 경우가 많습니다. 게시 전에 생성된 SRT의 타이밍, 빈 블록, 가독성을 확인하는 것이 좋습니다.
Whisper, AWS, Google 또는 유사한 speech-to-text 시스템의 JSON 전사 파일을 선택합니다.
도구가 알려진 스키마를 인식하고 세그먼트, 단어 목록, 시간 필드, 선택적 화자 정보를 찾습니다.
생성된 SRT 파일을 다운로드하고 필요하면 SRT Validator 또는 Studio에서 확인합니다.
OpenAI Whisper, AWS Transcribe, Google Cloud Speech-to-Text의 일반적인 내보내기 형식과 시작 시간, 종료 시간, 텍스트가 있는 일반 JSON 배열을 지원합니다.
네. 짧게, 보통, 길게 중에서 선택할 수 있습니다. AWS나 Google JSON이 단어 단위 데이터로 구성된 경우 특히 유용합니다.
네. JSON 파일에 화자 정보가 있으면 SRT 출력에서 텍스트 접두어로 넣을 수 있습니다.
네. 변환은 전부 브라우저에서 이루어지며 파일은 서버로 업로드되지 않습니다.
SRT는 각 자막 블록마다 시작 시간과 종료 시간이 필요합니다. JSON에 텍스트만 있으면 필요한 타이밍 데이터가 없습니다.
네. 단어와 문장부호를 자동으로 묶어 읽기 쉬운 자막 블록으로 만듭니다.
타이밍, 문장 길이, 화자 라벨, 빈 블록을 확인하세요. 기술적 오류는 SRT Validator로 점검할 수 있습니다.