컴퓨터와 잡동사니 자료

피들러(Fiddler)와 이지트랜스를 조합하여 니코니코동화 코멘트를 번역해본다.

K66Google 2020. 12. 30. 14:48

니코니코동화를 한번이라도 접해봤다면, 영상 위에 흘러가는 코멘트를 모를 수가 없을 것이다. 그러나 안타깝게도 흘러가는 코멘트는 크롬에서 자동번역이 이루어지지 않는다. (영상 오른쪽의 코멘트 목록만 번역이 이루어진다.) 

코멘트를 담당하는 주소는 nvcomment.nicovideo.jp/v1/threads (과거에는 nmsg.nicovideo.jp/api.json) 이며, 이 주소로 요청(Request)을 보냈을때 받는 '응답(Response)'이 바로 코멘트 내용이다.

니코동의 영상 플레이어는 여기서 받은 '응답' 코멘트를 화면에 출력시키기 때문에, 크롬 자동번역이 먹히지 않는 것으로 보인다.

 

그래서 나는 니코니코동화 코멘트 번역 프로그램을 찾아보았다. 두 가지 프로그램을 찾을 수 있었다.

 

니코니코동화 번역기 : https://github.com/009342/Nico-Nico-Video-Translator

NicoTrans : https://github.com/hype5/nicotrans-go (현재 접속 불가능)

 

두 프로그램 모두 host 파일에 '127.0.0.1 nmsg.nicovideo.jp' 라는 값의 입력이 필요한데, 이건 프로그램이 해당 주소에 대해 모니터링을 하기 위해 필요한 것으로 보인다. HTTPS 프로토콜을 사용하는 주소를 모니터링해야 되므로 컴퓨터에 인증서도 설치해야 된다.

 

프로그램은 검문소가 되어서 nmsg.nicovideo.jp에서 오는 '응답'이 있으면 잠시 이동을 정지시키고, 일본어 코멘트를 한국어로 번역해서 기존 응답과 바꿔치기한 다음 이동 재개 명령을 내리는 걸로 추정된다. 그러면 웹 브라우저의 니코동 플레이어에는 프로그램이 번역해놓은 한국어 코멘트가 보이게 된다. 번역 도구로는 Google 번역이나 Papago 번역을 사용하는 것으로 보인다.

 

하지만 두 프로그램 모두 내 컴퓨터에서 작동하지 않았다. 코멘트 취득에 실패했다는 문구만 뜬다.

니코동 사이트 때문인지, 번역 API 때문인지... 심지어 내 컴퓨터가 문제일지도 몰라서 가상머신에서도 시도해봤지만 번역은 이루어지지 않았다. 문제의 원인이 무엇인지 도무지 종잡을 수가 없었다.

 

그래서 다른 방법을 취하기로 하였다. 예전에 Paros라는 웹 프록시 툴을 사용해본 적이 있는데, 바로 그러한 프로그램을 이용하여 수동으로 코멘트를 번역하는 것이다.

 

준비물은 Fiddler(피들러)이지트랜스다. (이지트랜스는 미리 설치되어 있어야 한다.)

 



 * 알림
본 게시물은 2020년 12월 30일에 최초 작성되었고, 2022년 11월 20일에 갱신되었습니다.
글을 읽고 있는 현재와는 상황이 다를 수 있습니다.


 

그럼 피들러 설치부터 니코동 번역 코멘트 출력까지 스샷과 함께 설명을 진행하겠다.

 

1. 피들러 클래식 다운로드 주소(링크)로 이동하여 설치파일을 다운로드 받는다.

목적, 이메일 주소, 국가는 아무렇게나 지정하고 아래쪽 체크박스만 체크하고 Download for Windows 버튼을 누르면 설치 파일을 다운받을 수 있다.

 

 

2. 설치파일을 클릭하여 피들러 설치를 시작한다. I Agree 클릭.

 

 

3. 설치경로를 지정하는데 가급적이면 C:\Program Files (x86)에 설치하는 걸 권장한다.

설치 기본경로가 C:\Users\사용자\AppData\Local\Programs\Fiddler인데, 여기는 들어가기 복잡하기 때문이다.

지정했으면 Install 클릭.

 

 

 



4. 설치가 완료되면 웹 브라우저로 Installation was successful! 이라는 페이지가 뜨는데 닫는다.

설치 프로그램에도 Completed라고 뜨는데, Close 버튼을 눌러 종료한다.

 

 

5. 시작메뉴 - F 그룹에 가서 'Fiddler 4' 를 클릭한다.

 

 

6. 시작하자마자 이런 메시지 박스가 뜨는데, Cancel 버튼을 누른다.

 

 

7. 이제 피들러가 HTTPS 프로토콜 모니터링이 가능하도록 만들어줘야 한다. Tools - Options... 클릭.

 

 

8. HTTPS 탭에 가서 'Decrypt HTTPS traffic' 에 체크.

 

 

 
(9-1)
 
(9-2)

 
(9-3)
 
(9-4)

 
(9-5)
 
(9-6)

9. 그럼 위의 스크린샷같은 메시지들이 뜬다.

순서대로 'Yes' - '예(Y)' - '예(Y)' - '예' - '확인' 을 클릭해주면 된다. Decrypt HTTPS traffic에 체크가 된 걸 확인했으면 OK를 눌러서 설정 창을 닫는다.

그 후 피들러를 종료하고 재실행한다.

 

 

여기까지가 피들러 초기 설정 작업이었다. 

위 작업은 피들러를 설치할때 한 번만 수행하면 끝이고, 10~15단계는 피들러를 켰을때에 필요한 작업이다.

 

 

10. 피들러가 켜지면 오른쪽에 있는 'Filters' 를 클릭한다.

 

 

니코니코.ffx
0.00MB

11. 필터 정보를 입력해야 하는데, 첨부해놓은 '니코니코.ffx' 파일을 다운로드 받은 후 'Actions' - 'Load Filterset' 클릭한다. 열기 대화상자가 뜨면 다운로드 받은 '니코니코.ffx' 파일을 지정한다.

 

* 다운받기 싫으면 수동으로 필터 정보를 입력하는 방법도 있다.

Use Filters 체크 - 두번째 콤보박스(Show only the following Hosts) 선택 - 텍스트 창에 'nvcomment.nicovideo.jp' 입력

 

 

12. 필터 파일을 불러오든, 수동으로 입력했든 간에 Actions - Run Filterset now 버튼을 클릭한다.

 

 

13. 그 후 ALT + F11 키를 눌러서 피들러 왼쪽 아래에 '일시정지' 표시가 뜨도록 한다. 

(단축키 없이 뜨게 하려면 상태 표시줄의 저 부분을 두 번 클릭하면 되고, 일시정지 표시를 끄려면 아이콘을 한 번만 클릭하면 된다. 끄기 단축키는 Shift + F11이다.)

 

 

14. 이지트랜스 프로그램을 실행시키고 내버려둔다. 

 

 

(니코동 사이트에 접속할때 크롬 브라우저를 사용하는 경우에만 이 작업을 할 것)

 

15. 크롬 메뉴 - 설정 - 설정 검색에 '프록시' 라고 입력 - '프록시 설정 열기' 밑에 확장 기능이 있으면 '사용중지' 처리한다.

확장 기능이 프록시를 제어하고 있으면 피들러에서 접속을 인식하지 못 한다. (나중에 다시 사용하려면 '도구 더보기' - '확장 프로그램' 에 가서 켜주면 된다.)

 

 

여기까지가 피들러를 켰을때 한 번만 수행하면 되는 작업이다. 

아래 단계부터는 니코동 사이트에서 동영상 주소에 접속했을때에 필요한 작업이다.

(여러 동영상의 코멘트를 번역하려면 아래 작업을 반복하면 된다.)

 

16. 니코니코동화에 들어가서 보고싶은 동영상을 클릭한다.

 

 

17. 그러면 피들러에서 응답(Response) 패킷을 감지하게 된다. 일시정지 마크가 떠 있는 api.json 항목을 더블클릭한다.

 

 

18. 오른쪽 탭에 정보가 뜨면 SyntaxView 탭을 클릭한다.

 

 

19. 그럼 괴랄한 문자들이 뜨는데 이건 JSON 응답이 gzip으로 압축되어서 그런거다. 위쪽에 있는 'Response body is encoded. Click to decode.' 버튼을 클릭한다. (영어 문장이 버튼이다.)

(만약 빈 칸이라면 그냥 Run to Completion 눌러서 넘긴다.

아마 그 다음에 오는 패킷이 진짜 메시지일 것이다.)

 

 

(매번 decode 버튼 누르기가 귀찮으면 Rules - 'Remove All Encodings'를 선택해서 체크 표시해 놓으면 자동으로 디코딩을 해준다.)

 

 

20. 클릭하면 디코딩이 이루어지면서 제대로 보이게 되는데, 모두 선택(Ctrl+A) 하고 복사(Ctrl+C) 한다.

 

 

21. 복사한 내용을 이지트랜스에 붙여넣는다. 다 붙여넣고 메뉴 표시줄의 '전체 번역' 버튼(재생 모양)을 클릭한다.

 

(텍스트 창에서 마우스 오른쪽 클릭을 하면 이지트랜스에 이상한 렉이 걸리게 되는데, 그때는 작업 관리자를 열고 CTF Loader를 강제종료시키면 풀린다. 렉 문제 때문에 가급적 Ctrl+V로 붙여넣는 게 좋다.)

 

 

22. 번역이 끝나면 오른쪽 '한국어' 텍스트 창에 번역문이 뜨는데, 거기에 있는 텍스트를 전부 복사한다.

(나중에 다른 동영상 코멘트도 번역할거라면 왼쪽의 '일본어' 텍스트 박스에 21번 과정처럼 해 주면 된다.)

 

 

23. 피들러의 SyntaxView 탭으로 돌아가서 내용을 전부 삭제하고 이지트랜스에서 복사한 번역문을 붙여넣는다.

그 후 Run to Completion 버튼을 클릭하여 패킷을 보내준다.

 

 

24. 웹 브라우저로 이동하여 코멘트 리스트가 한글로 번역된 것을 확인한다.

 

 

25. 동영상을 재생하여 플레이어에 한글 번역 코멘트가 출력되는 걸 확인한다.

 

코멘트 번역을 그만하려면 피들러와 이지트랜스를 종료하면 된다.

 

(10~25단계 과정을 녹화한 동영상이다.)

 

이런 식으로 피들러와 이지트랜스를 조합하면 니코니코동화 코멘트를 수동으로 번역할 수 있다.

굳이 이지트랜스를 사용한 이유는, 다른 번역 도구들의 사용이 불가능하거나 오작동을 했기 때문이다.

아네모네 단문번역은 번역은 잘 되지만 번역문을 피들러에 붙여넣고 패킷을 보내면 코멘트 읽기에 실패했다는 메시지만 뜬다. 구글 번역과 파파고 번역은 5000자 제한에 걸려서 내용을 한꺼번에 번역할 수가 없다. 아무래도 JSON 응답에서 코멘트 본문만 집어내서 번역한 뒤 다시 합쳐주는 프로그램이 필요할 것 같다...

 

좀 복잡하지만 그래도 번역이 가능하다는 점때문에 이렇게 장문의 글로 소개해봤다.

그럼 이만...

 

참고 게시물 : 네이버 블로그 (#1, #2, #3, #4) / 티스토리 블로그 (#1, #2)