새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다.


우리나라에서 자막 파일에 주로 사용되는 형식은 SAMI이다.


그런데, 이 포맷은 치명적인 문제들이 많다.

무엇보다도 HTML에 기반을 둔 포맷이라 표현하지 못하는 글자가 많다[각주:1].

게다가, 쓸데없는 태그[각주:2]가 너무 많아 파일이 깔끔해보이지도 않는다.


그런 등의 이유로 개인적으로는 SRT를 더 선호했는데, 이번에 아예 SRT를 주력으로 하기로 했다.




자막 작업을 하면서 필요로 하던 기능들을 모아 SRT 자막을 손쉽게 조작할 수 있는 프로그램을 만들었다.



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


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

- 자막 변환: SAMI/SSA/ASS 자막을 SRT로 변환, SRT 자막을 SAMI로 변환

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

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


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


1. SRT 파일 교정

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

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

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


2. 자막 변환

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

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

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

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

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


3. 텍스트 추출

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

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


4. 텍스트 합치기

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

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


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


SRTier.zip



  1. HTML 기반이면서도 코드 페이지를 명시할 수 없기 때문에 유니코드를 사용할 수 없다. 가끔 유니코드 SAMI 파일이 보이는데, 이걸 사용할 수 있는 건 단지 플레이어가 너무 똑똑해서 그런 거다. [본문으로]
  2. 인간적으로 "Sync Start" 같은 태그는 어이 없다. "End"라는 태그는 없고 "Start"만 있는 건 대체 뭘까? [본문으로]
  1. 너굴이 2012.10.05 17:02

    와우 감사합니다.
    그런데 일괄변환 기능은 없는건가요 ? ㅜㅜ
    하나씩 하나씩 변환할려니 ........... 쪼금 아주 쪼금? 힘듭니다. : )
    다음버젼에는 꼭 넣어주시면 감사하게 사용할께요 ~

    아 ! 그리고 SRT 파일교정 기능은 이 프로그램을 이용하여 SMI -> SRT 로 자막변환해도 다시 한번 해줘야하는건지 궁금합니다.
    그럼 즐거운 하루되세요 ~

  2. 라이크유 2012.10.13 07:17

    와우~ 좋은 프로그램 감사합니다. 너무 좋습니다.
    예전에 만들어 주신 http://zoc.kr/1086 sami2srt 제품도 좋았는데..
    초보자 분들 에게는 sami2srt 도 좋은거 같습니다.

    예전 프로그램도 같이 링크 해주시면 좋겠네요.
    고생하셨습니다.

  3. qp 2012.11.12 12:07

    아이콘 직접 디자인하신 건가요?
    지금까지 많은 자작 프로그램 중 요번 아이콘이 갑인거 같네요.

    • 제가 그런 감각이 있을 리가요…
      iOS 비디오 재생기의 자막 부분을 캡쳐한 겁니다.

      따라서, 애플에서 시비 걸면 바로 바꿉니다. ㅋㅋㅋㅋ

  4. ddd 2012.12.27 08:04

    감사합니다 찾아다니던 프로그램이네요 ^^

  5. ㅎㅇㅈㅅ 2013.01.28 19:30

    정말 고맙습니다. ass때문에 미치고 며칠 째 웹을 돌아다녔는데 이렇게 살려주시는군요ㅜㅜ
    감사합니다.(__)

    근데 조금 미진한 부분이 있는데 srt전체의 스타일을 정의하는 방식이 있다는 걸 알았는데 그것도 같이 적용이 되면 좋을 것 같습니다.
    한번 읽어보시기 바랍니다.

    http://avisynth.org.ru/docs/english/externalfilters/vsfilter.htm
    위 링크로 들어가시면 Vsfilter.dll 설명하는 부분에서 To override~라고하면서 .style파일에 대해 나옵니다.
    제가 이해하기로는 ass파일에는 앞 부분에 들어가있고 나머지 파일들은 ssa/aas파일이 아닌 경우는 .style이라고 파일하나만 더 만들어주면 끝나는 것 같습니다.

    • 써드파티 필터 기능까지 다 지원해달라는 건가요?
      그럴 생각은 없습니다.

    • ㅎㅇㅈㅅ 2013.01.29 16:29

      써드파티 필터가 뭘 의미하는지는 제가 지식이 짧아 잘 모르겠습니다. 그러니까 제가 찾고있던 기능은 예를들어 smi에서 전체자막의 폰트와 그 폰트의 크기,색깔,아웃라인을 지정해 놨을 경우 srt에서는 그걸 어떻게 적용해야 하는지 몰랐다가 무지하게 뒤진 결과가 위에 링크해놓은 것이거든요. srt에서는 전체자막의 스타일을 style파일로 만들어서 저장하는 것이 해결방법이었습니다. 이게 말씀하신 써드파티필터를 의미하는지는 모르겠지만 smi나 ass에서 전체자막의 스타일 정으를 할 수 있는데 불구하고 srt에서는 할수가 없어서 건의했던 거니까 한번 생각해봐주세요. ^^;;

    • 생각 없습니다.

  6. ㅎㅇㅈㅅ 2013.01.30 17:46

    네~ ^^;; 하여간 정말 감사합니다.

  7. Favicon of http://wiinemo.tistory.com BlogIcon 위네모 2013.03.18 10:16

    덕분에 Uzys SMI SRT Converter로 변환되지 않는 SRT 자막을 변환할 수 있었네요.
    이런 대단한 개발자 분들이 계셔서 사용자들이 편하게 사용 가능한 것 같습니다.
    좋은 자료 감사합니다. ^^

  8. 행인C 2013.04.07 13:52

    검색으로 흘러왔는데 정말 유용하게 쓰일거같네요
    감사히 받아갑니다!

  9. 뽀로리 2013.04.26 03:00

    짱입니다~ uzys로 변환하면 자막이 종료되지 않고 다음 자막이 뜰 때까지 계속 떠있어서 변환을 못했는데 이 프로그램은 깔끔하게 변환해주네요 최고!

  10. ㅍㄹㅋㄷ 2013.06.12 10:34

    흠 루비태그는 변환이 안 되고 누락 되네요.
    루비태그도 제대로 변환되게 해주실 수 있나요?

  11. Favicon of http://sbkyun.blogspot.kr/ BlogIcon 봉규니 2014.02.19 23:54

    좋은 프로그램 감사합니다.
    찾고 있었는데.. 한번에 해결 되었네요..^^
    감사합니다.

  12. eg0678 2017.08.24 00:11

    srt교정에서 fps를 조정하려면 어떻게 해야하죠??ㅠㅠㅠㅠ영상의 길이에 비해 자막 프레임이 지나가는 속도가 1.5배 정도 빠른것 같은데 어떻게 조작해야 하는지 잘 모르겠네요.....

    • fps를 시간 비율로 역셈하면 됩니다만...
      그것보단 fps를 조절할 수 있는 기능을 추가하는 게 낫겠네요 ;)
      그나저나 이런 글은 최신 버전 쪽에 달아주시면 좋겠습니다...

+ Recent posts