SRT 자막 관리 도우미 SRTier를 3.6a로 업데이트했다.


자막 변환 외에도 SRT 교정, 텍스트 추출에서도 폴더 단위로 처리할 수 있도록 변경했고, 챕터 파일도 조정하며, 후원 계좌를 표시하도록 수정했다.



이 프로그램의 주요 기능은 아래와 같다.


- SRT 파일 교정: SRT 파일을 읽은 뒤 오류를 수정한 뒤 다시 기록하거나 시간을 조정함

- 자막 변환: SAMI/SSA/ASS 자막을 SRT로 변환, SRT 자막을 SAMI로 변환[각주:1]

- 텍스트 추출: SRT 자막에서 텍스트만 추출

- 텍스트 합치기: 기존의 SRT 자막의 시간 코드에 맞춰 텍스트 파일의 내용을 합침

- 챕터 XML 수정: XML 포맷의 챕터 파일 역시 자막과 동일한 기준으로 시간을 조정해줌


조금 더 상세히 보면 기능들은 이렇다.


1. SRT 파일 교정

   - OCR 과정에서 따옴표가 잘못 인식된 경우나 I(i)를 l(L)로 잘못 인식된 경우를 수정

   - OCR 과정에서 숫자 사이에 불필요한 공백이 들어간 경우 수정

   - 되/돼/됬/됐/폭팔을 맞춤법에 맞도록 수정

   - [...] 또는 (...)로 둘러쌓인 청각장애인 보조 자막 제거

   - 문장 마지막의 마침표를 제거하고, 연속된 점(...)을 말줄임표(…)로 바꾸는 등 점(.) 정리

   - 둘 이상의 자막을 한번에 표기하기 위한 대쉬(-)가 어색한 경우[각주:2] 이를 정리

   - SSA/ASS 자막 효과[각주:3]가 적용된 경우 이를 제거

   - 한국어/영어 자막에 특화된 기능들을 별도 버튼으로 할당

   - 시간 수정: 자막의 길이가 너무 짧은 경우(20ms 이하) 해당 자막 자체 제거

   - 시간 수정: 일괄적으로 더하거나 뺄 수도 있고, 영상과 fps 및 싱크를 맞추기 위해 일정 비율로 적용 가능

   - 시간 수정: 같은 시간 범위의 같은 내용 자막이 두 번 이상 존재하면 하나만 남김

   - 시간 수정: 시간이 겹치는 자막들이 있으면 모두 분리해서 각각 별도의 자막으로 재생성

   - 시간 수정: 같은 자막이 연속으로 두 번 이상 나오는 경우 합쳐야 할 상황이면 하나로 합침

   - 시간 수정: fps 변환으로 시간 변환 지정


2. 자막 변환

   - SSA/ASS 자막을 지정하면 SRT로 변환함

   - SAMI 자막을 지정하면 SRT로 변환하며, 다중 언어 자막인 경우 별도의 파일로 생성

   - SRT 자막을 지정하면 SAMI, TTXT로 변환하며, SAMI는 ANSI 포맷의 표준 자막과 UTF-8 유니코드 자막을 동시에 생성

   - 모든 경우에 원본 파일의 코드 페이지를 자동으로 인식하며, 적절히 인식해서 처리함

   - SRT를 생성할 때는 UTF-8 포맷으로 저장하므로 유니코드의 모든 문자를 표현 가능함

   - 파일 변환 모드 외에 폴더 변환 모드도 지원하며, 폴더 변환 모드에서는 지정된 폴더에 들어있는 모든 자막 파일을 변환함

   - SAMI 자막 변환시 원본의 시간값과 CC만 추출해서 별도의 csv 파일로 생성[각주:4]


3. 텍스트 추출

   - 주로 자막 번역시 편리하게 적용할 수 있는 기능으로, 시간 정보를 제거하고 텍스트만 추출함

   - 번역 시에 이 텍스트 파일을 문단별로 번역하면 됨


4. 텍스트 합치기

   - 3번에서 추출한 텍스트 파일에 다시 시간 정보를 입히는 기능

   - 역시 자막 번역시 활용할 수 있는 기능임


5.챕터 XML 및 ASS 자막 수정

   - 1번 기능을 이용해 자막의 시간을 조정한 경우 XML 포맷의 챕터 파일도 동일하게 조정해주는 기능

   - 원본 XML과 완벽하게 동일한 시간 포맷으로 저장함

   - ASS 자막도 챕터 XML과 동일하게 변환


1, 2, 3번 기능은 모두 파일 단위 및 폴더 단위로 적용 가능


이 프로그램은 아래 링크에서 다운받을 수 있다.


SRTier v3.6a.rar

password: teus.me




버전 히스토리


2017.11.5: v3.0

- 오류 수정: 일부 smi 자막 변환시 프로그램 동작이 중단되는 오류 수정

- PayPal 후원 및 후원 계좌 표시 가능 추가

- SRT 파일 교정 및 텍스트 추출 시에도 폴더 단위로 처리 가능하도록 수정

- 말줄임표 정리 기능 보강


2017.11.12: v3.0a

- 오류 수정: 폴더 단위 변환시 메모리 부족 오류 발생하는 오류 수정[각주:5]

- 폴더/파일 모드 전환시 파일명 자동 수정 부분 미세 수정


2018.6.17: v3.1

- SAMI 변환시 <P Class...>가 지정되지 않은 경우에도 변환하도록 수정

- XML 포맷의 챕터 파일도 시간 정보를 조정할 수 있도록 수정

- 시간 변경 관련 식을 하단에 표시하도록 수정

- 메모리 할당 관련 코드를 보강하여 안정성 강화


2019.9.12: v3.6

- UI 글꼴을 맑은 고딕으로 변경

- 시간 변경 식을 표시할 때 ms 단위에서 s(초) 단위로 표시하도록 수정

- 시간 조정시 한번 더 확인하는 메시지 박스 추가

- 시간 조정을 하지 않는 경우를 별도의 옵션으로 추가

- srt 정리할 때 모든 태그를 제거하는 옵션 추가

- 자막 내에 --> 라는 문자가 있으면 화살표(→)로 변경하는 옵션 추가

- XML과 더불어 ass 자막도 함께 일괄적으로 시간을 변경하도록 수정

- KRCC에 더불어 KOCC도 한국어로 인식하도록 수정

- 헤더가 없는 비정상적인 smi 자막도 적절히 인식하도록 수정

- srt 정리할 때 시간이 겹치는 자막이 있으면 각 시간 단위별로 분리해서 각각 별도의 자막을 시간 순으로 생성하도록 전면 수정[각주:6]

- smi → srt 변환 최적화

- srt → smi 변환할 때 ttxt도 함께 생성하도록 수정

- 한글 자막 보정을 기본 화면으로 설정

- srt → smi 변환시 & 인코딩 하도록 보강[각주:7]


2019.9.19: v3.6a

- 오류 수정: srt 파일을 기록할 때 뒤쪽에 \x00 을 추가하는 오류 수정



  1. 개별 파일로도 변환할 수 있고, 폴더 단위로도 변환할 수 있음 [본문으로]
  2. 첫 줄엔 대쉬가 없는데 둘째 줄에 있거나, 대쉬가 한 번만 등장하는 경우 등 [본문으로]
  3. 많은 미디어 재생기에서 이를 지원함 [본문으로]
  4. SAMI 자막은 시간이 뒤틀린 오류가 종종 발생하는데, 이를 쉽게 확인하기 위한 기능 [본문으로]
  5. MFC에선 new를 catch(std::bad_alloc)로 잡을 수 없다는 걸 이제야 알았다니[…] [본문으로]
  6. 이 기능은 srt 수정 및 ttxt 변환시 적용하는데, 이 기능으로 인해 ttxt 변환이 완벽해졌다고 자부함 [본문으로]
  7. 참고: HTML 표준을 기초로한 smi 자막은 &apos; 를 적용하지 않고, XML 표준을 기초로 한 ttxt 자막은 &apos; 를 적용함 [본문으로]
  1. 오현석 2017.11.09 00:45

    좋은 프로그램 만들어 주신 것 굉장히 감사하게 생각하고 있습니다.
    약소하나마 점심값 정도의 작은 금액 후원하였습니다. ㅎㅎ... 감사합니다.

  2. 오현석 2017.11.09 04:31

    그리고 동영상 파일(mkv)이 다수 포함되어있는 폴더의 자막을 변환하고자 할 때 메모리 부족 오류가 뜹니다.
    이 부분만 고쳐지면 굉장히 편할 것 같습니다 ㅎㅎ.. 감사합니다.

    • 고맙습니다.
      그런데, 동영상보다는 자막 파일 처리 중에 예상하지 못한 오류가 발생한다고 추측하는 게 더 맞을 것 같습니다.
      문제가 되는 자막들을 몽땅 압축해서 메일로 보내주시면 확인해보도록 하겠습니다.

  3. 오현석 2017.11.11 20:49

    감사합니다. 일단 에러가 나는 케이스 하나를 bluenlive@gmail.com으로 보냈습니다.

  4. 오현석 2017.12.17 22:51

    확인헀습니다. 항상 좋은 프로그램 만들어주신 것에 대해 감사하게 생각하고 있습니다. ^^..

  5. 2017.12.22 23:11

    비밀댓글입니다

  6. 지나가는행인1 2018.01.17 16:28

    감사합니다.

    그런데 폴더 지정 버그가 있는듯 합니다 폴더 지정시 폴더안 파일 지정후 다시 폴더 지정을해야 되네요 ^^

  7. 큰바구 2018.04.24 21:45

    좋은 프로그램 유용하게 쓰겠습니다 감사합니다.^^*

  8. tony 2018.08.17 22:50

    안녕하세요~ 프로그램 잘 쓰고 있습니다

    자막 폴더 변환 시 옵션에서 SRT->SMI / SMI->SRT를 바꿀수있었음 좋겠습니다

    예를 들어서 비디오 폴더 내의 전체에 SMI를 전부 삭제하고 싶은데 해당 폴더에 SRT파일이 기 존재할 경우
    SRT는 불필요하게 SMI로 다시 변환됩니다
    이를 방지하기 위하여 옵션이 설정 가능하면 좋겠습니다~!

    P.S. 추가로 폴더 변환의 서브폴더 변환 시, 시간이 다소 오래 걸리면서 응답없음 상태에 빠지는것 같습니다.
    백그라운드로 계속 돌아가서 성공은 하는데, UI 상 현재 변환중인 파일명을 띄워주는게 어떨까요?!

    다시한번 감사 드립니다~!

  9. 라크 2018.09.20 19:06

    당신은...정녕 최고...乃

  10. ㅎㅎ 2018.11.15 17:24

    좋은 프로그램 감사합니다 큰 금액은 아니지만 프로그램 값이라고 생각하고 후원 보냈어요 잘쓸게요 감사합니다 ^^

  11. 행인 2019.01.15 17:22

    좋은 프로그램 감사합니다.

    그런데 폴더모드로 자막변환을 할 때

    폴더를 선택하는 창이 아니라 파일을 선택하는 창이 떠서

    폴더 단위의 작업이 불가능한 버그가 있네요. ^^

    • 고맙습니다. 확인해서 수정하도록 하겠습니다.
      참고로, 폴더를 그냥 드래그앤드롭 하면 사용이 가능합니다.
      (사실, 이것만 써서 안 되는지 몰랐습니다)

  12. 원스 2019.02.24 23:26

    안녕하세요~ 귀가 불편해서 VLIVE의 한글자막 일일이 SRT->SMI 변환해서 보고 있었는데요
    이 프로그램 발견된 이후 너무나 편하게 쓰고 있어요~
    너무나 감사드려요

  13. TT 2019.03.12 17:16

    만들어주신 프로그램 잘 쓰고 있습니다.
    다만 출력 SRT 변환에서 궁금한 점이있는데,
    마지막에 KO 또는 KOR 이 아닌 EZNE 로 변환되는 이유는 왜 그런건가요?

    이유를 몰라 문의합니다. 감사합니다.

    • TT 2019.03.12 17:41

      자문 자답인데.... smi가
      .EZNE_KRCC { Name:한국어; lang:kr-KR; SAMIType:CC; }
      .EZNE_EGCC { Name:영어; lang:us-US; SAMIType:CC; }
      -->
      </STYLE></HEAD><BODY>
      <SYNC START=9679><P CLASS=EZNE_KRCC>

      EZNE로 되네요... 수정 가능한지 문의합니다. ^^;
      ko 혹은 kor 출력으로 선택 가능하게 끔 되는지요?
      얻어쓰면서 부탁드리는게 많네요.
      감사합니다.

    • 언어가 EZNE_KRCC면 EZNE... 로 언어를 지정하는 게 맞아보입니디만...

  14. 2019.06.01 14:04

    자막 변환 하면 뒤에 .kor 이라고 붙던데 이거 안생기게 할수 없나요? 이거 너무 불편하네요

  15. 2019.07.27 08:12

    비밀댓글입니다

  16. Favicon of https://nekodearu.tistory.com BlogIcon nekodearu 2019.09.03 22:09 신고

    혹시 srtier를 켜자마자 마지막에 한글자막보정에 체크가 되어있었다면 계속 유지되게할수있었으면 좋겠습니다.
    그리고 저도 저기 아래분과 마찬가지로 파일명뒤에 _kor가 생기게 할지 안생기게 할지 선택할 수 있게 하면 좋겠다 싶었는데.. 다른프로그램을 쓰라고 하시니 뭐라 할말이 없네요. 아 그리고 이게 어찌보면 기존 smi를 대체하고자 변환하는건데 변환대상인 smi도 삭제할수있게 체크박스가 있다던지 하면 좋겠습니다.
    그냥 너무 좋아서 더 좋아지면 좋겠어서 생기면 좋을 만한 것들 말씀드린거구요. 다른프로그램쓰라고 하지마세요. ㅠㅠ 이거말고는 쓸게 없어요.
    아쉬우니 계속 써야죠. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
    그리고 한글자막보정은 진짜 최고의 기능인 것 같습니다. 자막제작자들이 가만보면 맞춤법 엉망인 사람들이 너무 많거든요 . ㅋㅋㅋ

    • 현재는 설정을 따로 저장하도록 만들지 않았습니다. 생각해보니 한글 자막 보정을 기본으로 해도 될 것 같네요.
      SAMI는 무조건 자막 내에 언어를 표시하게 되어 있고, 그래서 2개 이상 언어의 자막이 한 파일에 들어갑니다.
      따라서 "정상적으로" 변환을 하면 무조건 자막 언어를 표시해주는 게 정상입니다.

+ Recent posts