메모

kmplayer 다중 자막 출력기능... class...펌

맘편한넘 2014. 9. 4. 09:33
KMP의 다중/통합자막 출력



처음 작성일: [2007/10/27]
작성자: z in kmp forum

# 이 글은 KMP사용자로서 중급 이상의 사용자를 대상으로 한 것입니다.
# 게시물의 무단도용을 금지합니다.

KMP에는 2개국어 자막을 출력할 때 2가지 방법이 있다 (세 개까지 동시출력 가능). 하나는 SMI 통합자막 출력방식이고, 다른 하나는 다중자막 출력이다. 통합자막과 다중자막이란 말부터 살펴보자. 통합자막이란 SMI 자막에서만 볼 수 있다고 생각하면 쉽다. SMI 자막은 파일 내부적으로 "자막 언어 클래스" 라는 걸 정의해서 2개국어 이상의 자막을 하나의 SMI 자막 파일에 집어 넣을 수 있다. 그래서 SMI 자막에서 "자막 언어 클래스" 가 2개 이상이 되는 경우를 통합자막이라고 한다. 반면에 다중자막은 자막 파일이 여러 개 있는 걸 말한다.

이해를 돕기 위해 간단한 예를 들어보자. a.avi라는 동영상에 한국어, 영어, 일본어 3가지 자막이 각각 통합자막/다중자막으로 나타나는 모습을 살펴보면 다음과 같다.
먼저 통합자막은
a.avi
a.smi
처럼 a.smi로 나타나지만 a.smi 내부에는 한국어, 영어, 일본어에 해당하는 자막 언어 클래스(각각 krcc, encc, jpcc라 하자)가 정의되어 각 클래스별 언어로 자막이 기록되어 있다.
반면에 다중자막은
a.avi
a.kor.smi
a.eng.smi
a.jpg.smi
로 되어 3개국어 자막이 각각 파일로 분리되어 있다.
통합자막 출력의 단점은 각 자막 언어 클래스로 언어가 구별되어 있음에도 불구하고 실제로 출력시는 단일 파서(해석 모듈)에서 처리되기 때문에 언어 클래스별 자막 속성 제어가 무척 까다롭다. 예를 들어 통합자막에서 두번째 언어의 위치나 색깔을 조정하는 것은 매우 귀찮은 작업이 된다. 실제로 KMP는 이 경우에 두번째 자막의 위치를 화면 맨 상단에 둘 수 있는 단 하나의 옵션만 제공한다. (아래 계속 읽어 보면 추가 설명 부분이 있다)

반면에 다중자막 출력방식은 자막을 파일별로 처리하기 때문에 자막 파일당 파서를 하나씩 연결할 수 있도록 할 수 있다. 그래서 각 자막의 속성이나 위치를 각 자막과 연결된 파서에서 개별로 제어할 수 있다. 국내사용시는 통합자막만으로 충분하나 세계로 나가면 아무도 SMI 자막을 사용하지 않기 때문에 통합자막 출력 방식은 완전히 무용지물이 된다.

그래서 KMP가 영문화되고 사용자층이 확산되어 처음 이 문제(2개국어 자막 동시 출력)에 당면했을 때 SMI 자막 재생기로서 상식적으로 당연하게 생각할 수 해결 방법이 있었다. 바로 다중자막을 통합자막처럼 내부적으로 만들어 처리하는 것이다. 이것은 환경설정을 열어서 자막처리 - 통합자막 부분에 옵션이 있다.
a.avi
a.eng.srt
a.ger.srt
가 있다고 하자.

KMP 환경설정에서 "다중 자막을 통합자막으로 처리합니다" 는 옵션은 바로 a.eng.srt와 a.ger.srt 자막을 영어와 독일어 두 개의 자막 언어 클래스를 갖고 있는 smi 통합 자막 형식으로 변환해서 출력하는 것이다.

통합자막을 동시에 출력한다는 옵션은 당연히 "모든 자막 언어 클래스를 동시에 출력한다"는 의미이다. 기준 언어의 문단 줄수란 쉽게 말해 "각 자막 언어 클래스의 문단 줄 수"를 의미한다.

또 두번째 자막 위치에 자막을 자동으로 출력한다는 옵션은 실제로는 첫번째 자막은 화면 하단에 두번째 자막은 화면 맨 상단에 출력하는 옵션이다. 위 설명 중에 통합자막에서 언어 위치 조정이 까다롭다고 했는데 그걸 조정해 주는 옵션인 것이다 (이 옵션에는 다중자막 사용시 한 가지 추가적인 기능이 더 있다) 단지 그게 까다로워서 2번째 자막 위치가 맨 상단으로 고정된다는 단점이 있다. 기본적으로 이 곳 설정의 옵션이 모두 통합자막 출력인 것에 유의하자.

다중자막을 통합자막으로 처리하여 어느 정도 문제를 해결했으나 점차로 두번째 자막 출력 위치나 자막 속성등을 마음대로 조정할 수 없거나 두번째 자막의 charset 설정 문제 등의 제한이 필수적으로 발생할 수 밖에 없게 된다. 그래서 다중자막인 경우도 다국어 동시출력을 할 수 있는 방법이 고안되었다. (계속 읽어보면 아래 나온다.. )


-----------------------------------
여기까지 잘 읽어온 사람이라면 한가지 자연스런 의문을 떠올릴 수 있을 것이다. 그렇다면 KMP는 자막 출력 순서도 설정이 가능한가?라는 것인데, 이것은 설정에서 "외부자막/기타" 탭에 보면 기본자막언어를 정의하는 부분에서 조정해 줄 수 있다. 예를 들어 "기본 자막 언어"에 ENCC KRCC라고 정의되어 있으면 통합자막 출력시 ENCC 자막 클래스가 있다면 그것이 첫번째 자막이 된다. 첫번째 자막은 두개의 언어가 화면 하단에 나란히 출력될 때는 위쪽에, 화면 상하단에 각각 출력될 때는 하단에 출력된다.

다중자막 출력시는 파일이름과 확장자 사이의 글자들(위에서 보면 eng나 ger)이 인식할 수 있는 언어 코드가 된다. 즉 "기본 자막 언어"에 ger eng 순서로 적으면 a.ger.srt 자막을 첫번째 자막으로 인식한다. 여기에는 한가지 주의사항이 있는데, KMP는 동영상과 동일한 이름의 자막 파일이 있으면 그것을 무조건 출력한다. 다중 자막이 있고 자막 출력 순서를 설정하고 싶다면 자막 이름은 모두 a.xxx.smi 와 같은 형태가 되어야 한다는 것이다.


-----------------------------------
KMP에서 2개국어 자막은
통합자막이나 통합자막 형식으로 변환 뒤 출력시는 자동으로 2개국어 자막을 동시에 출력해 줄 수 있으나 자막 클래스가 3개 이상이 되면 3개까지 무조건 출력하는 단점이 있다. 자막 클래스가 3개 이상인 경우 2개만 출력할 수 없도록 되어 있다.

반면에 다중자막은 환경설정/자막처리/통합자막 탭에서
"두번째 자막 위치에 자막을 자동으로 출력합니다" 옵션 선택시 두 번째 자막을 자동으로 불러준다. 물론 이 옵션은 통합자막인 경우 두번째 자막의 위치를 맨 상단으로 설정하는 기능도 겸하고 있다.


통합자막보다 다중자막 출력시의 뛰어난 잇점이 있는데 다중자막 출력시는 자막 파일당 출력이 가능할 뿐만 아니라 KMP에 존재하는 또 하나의 ass 전용 파서에도 개별로 연결할 수 있다는 것이 바로 그것이다. 쉽게 예를 들면, 해외에서 릴되는 mkv중에 내장된 ass 자막이 있고 한글 자막도 구했다고 하자.

이 때 사용자는 mkv에 embedded(내장)된 영어로 된 ass 자막과 한글 smi 자막을 동시에 출력할 수 있다. (스샷이 그렇게 출력한 것이다. 1280*1024 LCD 전체화면에서 출력한 화면임) 첨부된 스킨은 다중자막(두번째 자막)을 쉽게 열 수 있도록 조정된 것이다. 채널 표시 부분을 클릭해 보면 된다.

참고로 ass는 자막의 출력 위치가 고정되어 있지만 그렇지 않은 일반 텍스트 자막(smi나 srt 기타)을 다중자막으로 출력할 때 자막의 위치나 기타 속성은 두번째 스샷 부분을 조정하면 된다. KMP의 자막 설정을 유심히 살펴보면 두 번째 세 번째 자막을 설정할 수 있는 새로운 탭이 생겼는데 이것이 바로 다중자막 속성을 제어하기 위한 설정들이다.
Attached Images
  
Attached Files
File Type: ksf Default_z.ksf‎ (364.7 KB, 1667 views)
Do to others as you would be done by. Luke 6:31
READ THIS FIRST BEFORE POSTING !!!
Last edited by z : 10-27-2007 at 12:29 PM.
z's Avatar
- Panthera tigris -
 
Join Date:  Jan 1970
Location:  Heaven
Posts:  7,284
#2 | Link | Posted 10-26-2007 Quote
참고로 Ctrl+L과 새로 생긴 Shift+L도 마찬가지 기능이다.

Ctrl+L 은 통합자막 스위칭
Shift+L 은 다중자막까지 포함한 스위칭이다.


자막 탐색기에서도 통합자막과 다중자막은 쉽게 구별가능하다.

통합자막의 자막언어 클래스는 자막 상단의 탭에 순서대로 나타나고
다중자막의 자막언어 구별 문자열은 자막 하단의 탭에 나타난다.

당연히 다중자막을 통합자막처럼 만들면 상탄 탭으로 나타난다.

하단 탭은 파일별, 상단 탭은 클래스별인 것이다.
Do to others as you would be done by. Luke 6:31