종료싱크 일괄적으로 다 넣는 방법 뭐 없을까요?

질문과답변

종료싱크 일괄적으로 다 넣는 방법 뭐 없을까요?

1 vvfdthgg 3 5,331
종료싱크 넣기가 귀찮아서 그런지도 몰라도
요즘 나오는 자막 다수가 종료 싱크를 안넣더군요.
근데 개인적으로 종료싱크는 아무리 짧은 대사가 연결되더라도
무조건 100% 넣어주는게 읽기가 깔끔하고 좋다고 봅니다.
왜 그런가 하면 앞자막을 안끄고 바로 뒷자막이 연결돼서 나오면
앞자막의 이미지가 남아서 읽기가 좀 짜증이 나더라고요...
특히 둥근 굴림체면 더 그렇습니다.
그래서 제가 직접 수정을 하려고하니까 이건 완전 노가다던데,
일일이 종료씽크넣고 시간대 설정하는게 엄청 힘들더군요.
혹시 자막사이에 무조건 종료싱크를 일괄적으로 넣는방법 없을까요?
즉,뒷 자막 바로 앞 시간대에 앞 자막 종료싱크 넣으면 좋겠습니다.
혹시 디스커버리 채널 자막 보셨습니까?
그런식으로요.........
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오스토리로 보내기
  • 네이버밴드로 보내기
  • 네이버로 보내기
  • 텀블러로 보내기
  • 핀터레스트로 보내기

Author

Lv.1 1 vvfdthgg  실버(2등급)
5 (0.5%)

등록된 서명이 없습니다.

 

Comments

22 에반시아
SubtitleWorkshop을 이용하면 일괄적으로 종료 싱크를 넣는 게 가능하긴 한데
종료 싱크와 다음 자막 시작 싱크 차가 35밖에 안 나네요.
그 차이를 조절하는 방법이 있나 찾아봐도 제가 못 찾는 건지 안 보입니다.
1 June™
음....종료싱크 넣는게 완전 노가다죠?-_-ㅋ
싱크 맞추는것도 일일이 손을 보다보면 눈빠집니다.ㅜ.ㅜ
다행히 섭자막이 있음 그나마 작업하기 쉬운데 이건 섭자막도 없고 그러면...노가다 해야죠^^;;
저도 최대한으로 종료 싱크 넣을려고 하는데...요즘은 일때문에 바빠서? 핑계죠~__;; 죄송합니다.!!
예을 들어 대사가 나오고 다음 대사가 바로 나오는 경우는 종료 싱크를 넣다가 먼저 대사가 간혹 씹히는 경우가 발생하여 저는 가끔씩 생략하는 경우라서...__
 
 
4 Power1
에반시아님의 말씀대로 SubtitleWorkshop이라는 프로그램을 이용해 일괄적으로 종료 싱크를 넣는 방법이 있습니다.
그 방법을 2.51버젼을 대상으로 설명해 드리겠습니다.

먼저 이 주소로 들어가서 프로그램을 다운받고 설치합니다.
http://www.urusoft.net/download.php?lang=&id=sw

설치 후, Settings (Alt+S)에 들어가 No interaction with tags 를 체크해줍니다.
한글자막에 사용되는 주된 포맷인 SMI의 태그를 그대로 유지하기 위함입니다.

File->Load Subtitle (Ctrl+O)를 누르고 수정하고자 하는 한글자막을 불러옵니다.

Tools->information and errors->settings (Alt+I) 로 가서 Fix 탭을 클릭한 후, Overlapping subtitles란 항목만을 체크하고 나머지 항목은 체크를 없애줍니다.  Ok를 눌러 메인화면으로 돌아옵니다.
Tools->information and errors->Fix All Errors (F10) 를 누릅니다.
그럼 앞싱크와 뒷싱크가 겹치는 구간의 뒷 자막 시작싱크가 앞 자막의 종료싱크 35ms후로 바뀌었을 겁니다.

35밀리세컨드 차이면 충분이 짧지만 원하신다면 이걸 더 짧게 1ms로 줄일 수가 있습니다. 바로 파스칼 스크립트를 이용하는 방법인데요.
Subtitle Workshop이 설치된 폴더 (보통 C:\Program Files\URUSoft\Subtitle Workshop)로 들어가서 PascalScripts란 폴더로 들어갑니다.
새 메모장 파일을 만들어 "1ms gap.pas"라고 이름짓습니다.
안에 내용물로 아래 코드를 복사해 붙여넣습니다.

// This script changes 35ms gap between subtitles to 1ms.

program ShorterGap;

var
  CorGap: Integer;
  BadGap: Integer;
  i: Integer;
  Count: Integer;
  InitialTime: Integer;
  FinalTime: Integer;
  Gap: Integer;

begin
  BadGap := 35;
  CorGap := 34;

  Count := GetSubtitleCount;
  if Count < 2 then exit;

  for i := 0 to Count-2 do
  begin
    FinalTime := GetSubtitleFinalTime(i);
    InitialTime := GetSubtitleInitialTime(i+1);

    Gap := InitialTime - FinalTime;

    if Gap = BadGap then
    begin
      InitialTime := InitialTime - CorGap;
      SetSubtitleInitialTime(i+1, InitialTime);
    end;
  end;
end.

저장하고 메모장을 닫습니다.
Subtitle Workshop로 돌아와서 작업중인 자막을 저장 (Ctrl+S) 한 뒤 프로그램을 재시작합니다.
앞뒤싱크의 차이를 35ms에서 1ms로 줄일 자막을 불러옵니다.
Tools->Pascal Scripts 로 가서 방금 생성한 스크립트 (1ms gap)를 클릭합니다.
자막을 저장합니다.

여기에서는 처음이라서 단계가 좀 많지만 다음에 또 수정을 할 때에는 자막을 Subtitle Workshop으로 불러온 뒤 오류 수정 (F10), 파스칼 스크립트 적용 (Shift+Ctrl+1) 만 하시면 됩니다.