본문 바로가기

자막 만들기

자막 만드는법 (CC4) - 자주하는 질문

자막 만드는법 (CC4) - 자주하는 질문



안녕하세요? 린네입니다. 오랜만에 자막 관련 글을 쓰게 되었는데요. 지금까지 자막 만드는 법을 알려드리고자 블로그, 지식인 등에서 활동을 하였는데 많은 분들께서 물어보시고 또 비슷한 실수를 많이 하는 모습이 보여 이렇게 글을 써드립니다.


자주하는 질문


- 자막 프로그램은 어떤게 있나요? (사용하기 편한 프로그램은 무엇인가요?)

자막프로그램은 자막 한방에, CC4 (caption creator 4), 이지캡션 (EasyCap), Smi SyncMaster,Subtitle Edit, Subtitle Workshop, MakeSami, CCMP (CineCaption),  SmiSyncW, SAMI builder (사미빌더), SmiSyncM, Sami Editor, ICM (Iceman2k's Caption Maker), KSS (KeySubSync), Aegisub 등 수많은 자막 관련 프로그램 들이 있지만 이중 대체로 많이 사용하고 또 널리알려진 프로그램은 '자막 한방에', 사용하기 편하고 강력한 툴을 가진 'CC4 (caption creator 4)', 미드자막 제작자들의 강력한 지지를 받는 'KSS (KeySubSync)', 주로 해외에서 널리 이용되는 강력한 효과 자막 제작 프로그램인 'Aegisub'(이 프로그램은 'ASS'확장자 자막을 만드는데 최적화된 프로그램입니다. 누군가 효과를 무진장 주었다가 용량이 10MB가 넘었다는....) 대표적입니다. 이중 필자는 'CC4 (caption creator 4)' 라는 프로그램을 추천하고 있습니다.


관련글: 자막 만드는 법 - CC4 (caption creator 4)



- 자막 글씨체는 어떻게 바꾸나요?

먼저 자막의 글씨체는 바꾸는 방법은 크게 두가지 방법이 있습니다. 첫째, 전체 자막의 글씨체(<HEAD> 안의 명령어)를 수정하는 법. 둘째, 글씨체 하나하나 직접 명령어를 입력해주는 법이 있습니다.


전체 자막의 글씨체를 바꿀경우에는 밑의 <HEAD>부분에서
<HEAD>
<Title>자막 제목 </Title>
<STYLE TYPE="text/css">
<!--
P {margin-left:8pt; margin-right:8pt; margin-bottom:2pt; margin-top:2pt;
text-align:center; font-size:20pt; font-family:arial, sans-serif;
font-weight:normal; color:White;}
.KRCC {Name:한국어; lang:kr-KR; SAMIType:CC;}
#STDPrn {Name:보통글씨;}
#LargePrn {Name:큰글씨;}
#SmallPrn {Name:작은글씨;}
-->
</STYLE>
</HEAD>
『font-family:특정글씨체』로 변경하시면 됩니다.

전체 자막이 아닌 특정 자막을 수정하실경우
제가 SMI 자막 태그에 써 놓았듯이 쓰실 자막앞에
『 <font face=특정글씨체>대사</font>』라고 해주시면 됩니다.

EX) <Font face=휴먼편지체>대사</font>

인코딩으로 전체 글씨체를 변경하실 경우 인코더 환경설정에서 글씨체를 변경하시면 됩니다.

(이렇게 하지 않을경우 인코딩시 <HEAD>안의 명령어는 인코딩프로그램의 기본 설정 글씨체로 일괄되게 인코딩됩니다.)



- 자막의 위치조정은 어떻게 하나요?

자막의 위치조정은 배포용이 아닌이상 동영상 편집프로그램 베가스, 어도비 프리미어, 어도비 에프터 이펙트 등에서 편집할 것을 추천드리고 배포용으로 자막의 위치조정을 원하실 경우에는 'ㄱ 한자 1번'으로 띄어 쓰기와 <BR>태그로 자막의 위치를 잡아 주시면서 일일이 자막의 위치를 확인해 가며 자막을 하나하나 수정해 주셔야 됩니다. 여기서 주의해야 할 사항은 일반적인스페이스바로 띄어쓰기를 하여 자막을 만들경우 동영상 재생시, 인코딩시 스페이스바 명령이 무시되는 경우가 있습니다. 또한 폰에서의 재생같은 경우도 마찬가지입니다. 그렇기 때문에 번거롭더라도 'ㄱ 한자 1번'으로 띄어쓰기를 해주시기 바랍니다.



- 대사가 끝났는데 자막이 계속 떠 있어요. (자막재생중 자막이 계속 떠 있어요.)

간혹 여러분들이 자막을 만드시는 데 실수로 '&nbsp;'명령어를 빼먹는 경우가 많습니다. 또한 공백명령어를 입력하지 않은채 그냥 싱크만 찍어두는경우도 많습니다. 이 경우 pc에서는 자막이 끝나는 걸로 보이지만 스마트폰, 태블릿pc 등에서는 자막이 계속 떠 있기때문에 꼭 공뱅명령어인 '&nbsp;'를 입력해 주시기 바랍니다.

EX) <SYNC Start=100>자막<P Class=KRCC>&nbsp;


- 일괄적으로 '&nbsp;'명령어를 입력할 수 있나요?


매크로를 통해 가능합니다.

도구 - 프로그램 설정 - 매크로 설정 - HTML소스코드 입력


&amp;nbsp; 매크로.txt


var

  LoopVar: Integer;
  LineAddBuf: String;

AddnbspCount: integer;

  lChar: String;
  lLoop: Integer;
  lRLine: String;
  lRStr: String;
  EndLine: Integer;
begin

  EndLine := CC_CURRENTLINECOUNT-1;
  For LoopVar := CC_CURRENTLINECOUNT-1 downto 0 do
  Begin
    If Pos('</body>', LowerCase(CC_GETLINETEXT(LoopVar))) > 0 Then
    Begin
       EndLine := LoopVar-1;
       Break;
    End;
  End;
 
  For LoopVar := EndLine downto 0 do
  Begin

     If CC_ISSYNCLINE(LoopVar) Then
     Begin
        lRLine := Trim(CC_GETLINETEXT(LoopVar));
    lRStr := '';

    For lLoop := Length(lRLine) downto 1 do
    Begin

       lChar := Copy(lRLine, lLoop, 1);
           If lChar = '>' Then Break;
       lRStr := lRStr + lChar;
    End;


     If (Trim(lRStr) = '') and (Trim(LineAddBuf) = '') Then
     begin

           CC_INSERTLINE(LoopVar+1, '&nbsp;');

           AddnbspCount := AddnbspCount+1;
     End;  
        LineAddBuf := '';
        continue;

 End;  
     LineAddBuf := LineAddBuf + TrimW(CC_GETLINETEXT(LoopVar));
  End;
if AddnbspCount > 0 then ShowMessage('총 '+IntToStr(AddnbspCount) + ' 개의 &nbsp; 를 추가했습니다.');
CCP_CaretX := 0;
end;



- 2개의 자막을 합칠 수 있나요?

2개의 자막을 하나의 자막파일로 합칠경우에는 먼저 1번 자막이 끝나는 싱크만큼 2번 자막의 싱크를 추가하여 주시면 됩니다. 이렇게 말씀드리면 이해가 잘 안가실텐데요. 제가 이해하기 쉽게 예를 들어서 설명을 해 드리겠습니다.


ex) 1번째 자막
<Sync Start=0><P Class=KRCC>
대사
<Sync Start=1000><P Class=KRCC>
대사

2번째 자막
<Sync Start=0><P Class=KRCC>
대사
<Sync Start=1000><P Class=KRCC>
대사

합친자막(1번 자막 + 2번 자막)
<Sync Start=0><P Class=KRCC>
대사
<Sync Start=1000><P Class=KRCC>
대사
<Sync Start=1000><P Class=KRCC>
대사
<Sync Start=2000><P Class=KRCC>
대사

즉, 1번째 자막의 싱크가 끝난만큼의 싱크를 더해줘야 한다는 소리입니다.
(주의, 위와같이 합친자막의 싱크(<Sync Start=1000><P Class=KRCC>)가 중복이 되면 안됩니다.)


밑에와 같이 1번 자막이 있다고 가정을 합니다.


그 다음 2번자막을 복사해서 밑에와 같이 붙여줍니다.

그 다음 1번자막이 끝난 시간만큼 2번자막(붙여넣은 자막)을 블럭을 씌운뒤 '수치조정'을 '+'를 눌러 조정해 주시면 됩니다.


- 자막 스크립트 제거하고 자막 텍스트만 뽑을 수 있나요? (자막 대사만 뽑을 수 있나요?)

'편집(E) - 텍스트만 복사(Y)'를 해주시면 됩니다.



- KM플레이어하고 NS CC4 자막프로그램하고 연동이 안돼요.



dcc브릿지(검은창) 창에서 마우스 오른쪽 버튼->kmp 설정->
'kmp의 실행 경로' kmp가 설치된 폴더에서 경로를 찾아 KMPlayer.exe 지정해주시고
'실행시에 함께 실행' 체크
'종료시에 함께 종료' 체크
'KMP강제연결(연결 문제시에만 사용하세요)' 체크
하시고 cc4 프로그램 다시 실행하시면 됩니다.


단, KM플레이어의 버전이 3.9.1.130 버전 이상일때에는 NS CC4프로그램과 연동이 안됩니다.

그렇기 때문에 밑에 올려드린 KMP 3.9.1.129버전을 다운받아서 실행하시면 문제없이 연동이 됩니다.


KMPlayer_3.9.1.129.7z.001


KMPlayer_3.9.1.129.7z.002


KMPlayer_3.9.1.129.7z.003


KMPlayer_3.9.1.129.7z.004

(파일 하나당 최대 용량이 10MB밖에 안돼서 분할압축했습니다. 7z파일입니다.)


ps. 이 글은 제가 써 놓았던 글들과 중복이 되는 부분이 많은데요. 그럼에도 이 글을 써 드린 이유는 아직 많은 분들이 모르시는 부분이기도해서 다시한번 써드립니다. 이 글을 보시고 조금이나마 도움이 되셨으면 좋겠네요. ㅎㅎ


1. 이 글은 여러분들의 질문을 수시로 받으며 지속적으로 업데이트할 예정입니다.


2. '&nbsp;' 매크로 소스코드같은 경우 'ㅇㅇ'님께서 직접 작성해 주셨습니다.

혹시 위에 안나와 있는 다른사항이 궁금하신 분은 'ㅇㅇ'님 블로그에 각종 해결법들이 상세히 적혀 있으니 참고하시기 바랍니다.