[우분투] 영화 자막, SMI파일을 SRT로 변환하기 & EUC-KR을 UTF-8으로 변환하기

우분투/프로그램들 2012. 3. 20. 01:12
지난 글에서 '핸드브레이크(HandBrake, http://deviantcj.tistory.com/405)'라는 동영상 변환 프로그램을 소개하면서 자막관련 문제를 겪다가 이번 포스팅을 준비했습니다.

우선 우분투에서도 보통 'SMI'로 된 자막을 재생할 수 있습니다. 하지만 PSP라든지, 아이팟(iPod) 등의 기기에서는 'SRT'파일만 인식하죠.
인터넷에서 윈도우용 SMI 파일을 SRT로 변환하는 프로그램을 구하는 것은 어렵지 않지만, 우분투에서 하는 방법은 찾기 힘듭니다.

우연히 찾는 중에 'http://newcat.tistory.com/185'에서 소개된 것을 찾았지만, 몇가지 시행착오를 해보고 보완했습니다.
위의 블로그에서는 문자 인코딩을 먼저 'EUC-KR'에서 'UTF-8'으로 변경하고 SMI파일을 SRT로 변환하였지만, 파일형식을 먼저 변경하고 나중에 문자 인코딩을 변경하는 것이 더 잘되더군요. 또한 명령어도 옵션 하나를 추가하면 더 잘 작동합니다.

SMI파일을 SRT로 변환하기

우선 'libsubtitles-perl'이라는 것을 설치해야 합니다.

터미널을 열고 아래의 명령어를 입력합니다.
$ sudo apt-get install libsubtitles-perl

이제 터미널에서 아래의 명령어로 srt파일로 변환할 수 있습니다.
$ subs -c srt 파일명.smi -o 파일명.srt

또한 위의 명령어를 반대로 응용해서 입력하면, SRT 파일을 SMI로 변환할 수도 있습니다.
$ subs -c smi 파일명.srt -o 파일명.smi



EUC-KR을 UTF-8으로 변환하기

터미널을 열고 아래의 명령어를 입력하면 됩니다.
$ iconv -f euc-kr -t utf8 파일명1 > 파일명2

자막파일 뿐만 아니라 다른 파일들의 인코딩도 바꿀 수 있는 명령어입니다.

가끔 'iconv: XXXXX 위치에 잘못된 입력 순서열이 있음'이라는 오류가 뜨는 경우가 있는데, 그런 경우엔 옵션 하나를 추가해서 입력하면 됩니다.
$ iconv -f euc-kr -t utf8 -c 파일명1 > 파일명2


top