사용자 도구

사이트 도구


subtitle_helper

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
마지막 판 양쪽 다음 판
subtitle_helper [2014/10/28 00:44]
kwon37xi
subtitle_helper [2015/10/04 22:38]
kwon37xi [smi2srt]
줄 38: 줄 38:
   * {{:smi2srt.7z|smi2srt}}   * {{:smi2srt.7z|smi2srt}}
   * smi 파일이 **UTF-8**로 인코딩 돼 있어야만 한다.   * smi 파일이 **UTF-8**로 인코딩 돼 있어야만 한다.
 +  * [[http://deviantcj.tistory.com/407|SMI파일을 SRT로 변환하기]]<code sh>
 +sudo apt-get install libsubtitles-perl
 +# smi to srt
 +subs -c srt 파일명.smi -o 파일명.srt
 +
 +# srt to smi
 +subs -c smi 파일명.srt -o 파일명.smi
 +
 +# 변환한 자막을 UTF-8로 바꿔준다.
 +iconv -f euc-kr -t utf8 파일명1 > 파일명2
 +# 인코딩 오류가 발생하면 -c 옵션 추가
 +iconv -f euc-kr -t utf8 -c 파일명1 > 파일명2
 +</code>
  
 ====== 동영상/자막 파일 이름 맞추기 ====== ====== 동영상/자막 파일 이름 맞추기 ======
줄 48: 줄 61:
 ====== smi time sync ====== ====== smi time sync ======
 smi 파일의 시간을 싱크한다. smi 파일의 시간을 싱크한다.
-<code groovy> +%gist(4039b27f9c04baf050ca)%
-if (args.length < 2+
- println "Usage groovy smi_timing filename milliseconds-to-adjust [encoding:default cp949]" +
- System.exit(-1) +
-+
- +
-def smi = new File(args[0]) +
-def millis = Long.parseLong(args[1]) +
-def encoding = args.length == 3 ? args[2] : "cp949" +
- +
-println "$smi, $millis, $encoding" +
- +
-def text = smi.getText(encoding) +
-def converted = text.replaceAll(/Start=([0-9]+)/) { +
- "Start=" + (Long.parseLong(it[1]) + millis) +
-+
- +
-smi.setText(converted, encoding) +
-</code> +
subtitle_helper.txt · 마지막으로 수정됨: 2015/10/04 23:29 저자 kwon37xi