Netflix에서 고른 영상에 원하는 자막을 입히는 방법

(이미지 출처: https://goo.gl/jezjFr)

Netflix로 영화나 TV 시리즈를 보는 사람들이 점점 늘고 있습니다. Netflix가 제공하는 더빙이나 자막의 언어도 더 다양해지고 있습니다. 그런데 Netflix에 영상이 있으나 한국어 자막은 없는 경우, 별도로 구한 자막을 입혀서 Netflix 영상을 보는 방법이 있으면 좋겠다고 생각했습니다.

찾아보니 그런 방법이 예전에 있었으나, 2018년 8월에는 잘 작동하지 않았습니다. 이젠 안되나 싶었으나, 더 찾아보니 조금 번거롭지만 가능한 방법이 있었습니다. 그래서 정리했습니다. 아래 내용은 MS Windows의 비교적 최신 운영체제에서 하는 것을 전제로 합니다.

간단히 요약하면 이렇습니다.
  1. Netflix는 웹브라우저에서 바로 서비스를 하기 때문에 Chrome으로 Netflix를 이용할 수 있습니다. 
  2. Google Chrome이 웹브라우저이면서, Android 같이 Chrome Web Store를 운영하여 다양한 확장 프로그램으로 기능을 더 발전시킬 수 있게 되어 있습니다. 
  3. SubFlicks 사의 Super Netflix라는 확장 프로그램은 Chrome 웹브라우저에서 서비스되는 Netflix 영상에 별도의 자막을 얹을 수 있도록 해줍니다.
이제 하나하나 방법을 세부적으로 들어가 보겠습니다.



A. 먼저 공통 사용환경을 갖춥니다. 

A-1. 웹브라우저로 Google Chrome을 띄웁니다.

만약 Chrome이 없다면, 다른 웹브라우저로 https://www.google.com/chrome/ 에 접속한 후, 다운로드하고 설치하면 됩니다.

A-2. Chrome에 Super Netflix라는 확장 프로그램을 설치합니다.

Chrome에서 "Super Netflix"를 검색하거나, 바로 https://goo.gl/CtRGMb 에 접속합니다. 그러면 Chrome Web Store에서 Super Netflix 라는 확장 프로그램 항목을 찾아줍니다. 그리고 이 프로그램을 Chrome에 추가합니다.

A-3. Notepad++ 프로그램을 설치합니다.

웹브라우저에서 https://notepad-plus-plus.org/download/ 에 접속하여 "Notepad++"를 무료로 다운로드하여 설치합니다.



B. 다음으로 DFXP 자막을 준비합니다.

바로 아래 부분을 2019년에 덧붙입니다. 2018년 8월에는 아래 '자막넷 자막 변환기'라는 서비스가 없었거나, 또는 제가 찾지 못했습니다.

B-1. 자막을 구합니다. 

한국어 자막은 흔히 smi 또는 srt 확장자로 되어 있습니다.

B-2. 구한 자막을 dfxp 포맷으로 바꿉니다.

'자막넷 자막 변환기'라는 웹서비스 http://convert.jamack.net 에 접속하여 smi 또는 srt 등의 자막 파일을 dfxp 포맷으로 쉽게 변환할 수 있습니다. (이 웹서비스를 제게 댓글로 알려주신 wef web 님께 감사드립니다.)

그런데 제가 해보니 위 상자 안의 방법으로는 오류가 발생하는 경우들이 있었습니다. 그럴 때 저는 아래 상자 안의 방법을 씁니다.

이 아래 내용은 2018년 8월에 작성한 것입니다. 이제는 '자막넷 자막 변환기'를 사용하면 더욱 편리하기 때문에, 더이상은 아래 내용처럼 복잡하게 하지 않아도 되겠습니다만, 기록으로 남겨둡니다.

B-1. 자막을 구합니다. 

한국어 자막은 흔히 smi 확장자로 되어 있습니다. 이하에서는 이것을 전제로 합니다.

B-2. BOM 없는 UTF-8로 인코딩합니다. 

Notepad++ 에서 그 한국어 자막을 열고, "인코딩(N) > UTF-8 (BOM 없음)로 변환" 또는 "Encoding > Convert to UTF-8 without BOM)" 설정을 한 후에 저장합니다.

(맨 아랫줄에 "UTF-8-BOM"이 있는데, 작업하고 나면 "UTF-8"로 보일 겁니다.)

B-3. 자막 SMI 파일을 SRT 파일로 변환합니다.

웹브라우저에서 http://smisrt.com/ 에 접속한 후, 1번에서 자막 파일을 부르고, 2번에서 "SMI → SRT"를 선택합니다. 5번에서 "변환해서 다운로드"를 눌러서 SRT 파일을 저장합니다.


B-4. 자막 SRT 파일을 DFXP 파일로 변환합니다.

웹브라우저에서 http://subflicks.com/ 에 접속한 후, "Choose Subtitle File"에서 자막 파일을 부르고, "Download"를 눌러서 SRT 파일을 저장합니다.



C. 원하는 자막으로 영상을 감상합니다.

C-1. 아래와 같이 해서 잘 되면 그대로 감상합니다.
  • "Super Netflix"가 설치된 Chrome으로 Netflix에 접속해서 볼 영상을 고릅니다.
  • 윗부분의 "CC"를 눌러서, 미리 준비한 DFXP 자막 파일을 고릅니다.
  • 아랫부분의 자막 아이콘을 눌러서, 그 DFXP 자막 파일을 표시하게 합니다.
(주황색으로 네모와 동그라미로 표시)

C-2. 만약 자막이 아주 잠깐만 뜨고 사라지는 문제가 발생한다면, 

Notepad++에서 DFXP 자막 파일을 열고, end="00: 을 찾아서 end="10: 으로 바꾸어 보시기 바랍니다. 이렇게 하면 한번 뜬 자막은 다음 자막이 뜰 때까지 계속 보입니다.

이 문제에 대해 저는 그 자막의 시작시각(begin)과 종료시각(end) 간격이 너무 짧게 설정되기 때이었고, 그렇게 된 원인으로 저는 다음과 같이 추측합니다.
  • SMI 파일은 시작시각만 설정합니다. 그 다음 자막을 " " 즉 빈칸으로 잡아서 띄우는 것으로 종료시각을 대신합니다. SMI 또는 SAMI는 Synchronized Accessible Media Interchange의 약자이고, SMI 파일은 Markup Language로 되어 있다. 
  • SRT 파일은 시작시각과 종료시각을 간결하게 담고 있고, SubRip Text File Format 입니다.
  • DFXP 파일은 SRT 파일처럼 시작시각과 종료시각을 담고 있는데, SMI 파일처럼 Markup Language 입니다. 더 구체적으로는 Timed Text Markup Language 인데, DFXP는 Distribution Format Exchange Profile 의 약자입니다.
참고로 아래는 어떤 SMI 파일을 SRT 파일로 변환하고 다시 DFXP 파일로 변환해서 비교한 것입니다.

SMI 파일
<SAMI>
<HEAD>
<TITLE></TITLE>
<STYLE TYPE="text/css">
<!--
P { margin-left:2pt; margin-right:2pt; margin-bottom:1pt;
    margin-top:1pt; font-size:20pt; text-align:center;
    font-family:Arial, Sans-serif; font-weight:bold; color:white;
    }
.ENCC {Name: English; lang:en-US; SAMITYPE: CC;}
.KRCC {Name: Korean; lang:ko-KR; SAMITYPE: CC;}
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=0><P Class=KRCC>
첫번째 자막
<SYNC Start=2000><P Class=KRCC>&nbsp;
<SYNC Start=3000><P Class=KRCC>
두번째 자막
<SYNC Start=5000><P Class=KRCC>&nbsp;
<SYNC Start=6000><P Class=KRCC>
세번째 자막
<SYNC Start=8000><P Class=KRCC>&nbsp;
<SYNC Start=9000><P Class=KRCC>
네번째 자막
</BODY>
</SAMI>

SRT 파일
1
00:00:00,000 --> 00:00:02,000
첫번째 자막

2
00:00:03,000 --> 00:00:05,000
두번째 자막

3
00:00:06,000 --> 00:00:08,000
세번째 자막

DFXP 파일
<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang='en' xmlns='http://www.w3.org/2006/10/ttaf1' xmlns:tts='http://www.w3.org/2006/10/ttaf1#style'>
<head></head>
<body>
<div xml:id="captions">
<p begin="00:00:00.000" end="00:00:02.000">첫번째 자막</p>
<p begin="00:00:03.000" end="00:00:05.000">두번째 자막</p>
<p begin="00:00:06.000" end="00:00:08.000">세번째 자막</p>
</div>
</body>
</tt>



※ 아래는 제가 참고한 글입니다.


※ VPN을 이용하면 Netflix에 접속하는 지역을 실제와 다르게 설정할 수 있습니다. 
  • 예를 들어 실제로는 미국에서 접속하면서 마치 VPN을 통해 한국에서 접속하는 것처럼 하면, 한국어 더빙이나 한국어 자막이 있는 콘텐츠만 뜹니다. 반대로 실제로는 한국에서 접속하면서 마치 미국에서 접속하는 것처럼 할 수도 있습니다.
  • 유료 VPN 서비스도 있는데, Opera 웹브라우저를 다운로드하여 설치하면 Opera에 내장된 VPN을 무료로 이용하여 접속지역을 "아시아, 미주, 유럽" 중에서 하나를 선택할 수 있습니다.

댓글

  1. 와우;; 쉐임리스 보는데 영자막이라 좀불편했는데 이거로 한번 도전해봐야겠네요. 댓글 잘안남기는데 ㄹㅇ 꿀팁이라 와;;; 될지안될지 몰겠지만 오늘밤 해봐야징 ㅋㅋ

    답글삭제
    답글
    1. 해보시고, 혹시 잘 안되면 댓글로 남겨주십시오.

      삭제
  2. 저도 찾아봤는데
    http://convert.jamack.net
    여기서 넷플릭스 SRT SMI 등을 TTML자막 DFXP자막 등으로 한번에 변환 되네요.
    좋은 정보 감사합니다!

    답글삭제
    답글
    1. 좋은 정보를 주셔서 감사합니다. 말씀하신 내용을 위 본문에 추가했습니다.

      삭제
  3. cc 버튼이 없는데 어떡하죠?

    답글삭제
    답글
    1. 웹브라우저가 Google Chrome이고, 여기에 "Super Netflix"라는 Extension을 설치하신 것이 맞는지 확인해 보시겠습니까? 제가 방금 제 PC에서 확인했는데, "CC"버튼이 잘 보입니다.

      삭제
  4. 해본대로했는데 아예 cc에서 자막을 선택하고 다시 자막 선택창을 눌렀는데 dfxp자막이 뜨질않아요

    답글삭제

댓글 쓰기