영상에 하드코딩된 내장자막 자동추출 가이드 2 - 설치 상세설명

자막제작자포럼

영상에 하드코딩된 내장자막 자동추출 가이드 2 - 설치 상세설명

1 notnrwk 16 822 3

앞선 글에서 Video Sub Finder와 Google Docs OCR V3 를 사용해서  

동영상에 하드코딩된 내장 자막을 자동으로 추출하는 방법을 설명드렸습니다.


이번 글에서는 프로그램 준비와 설치 과정을 설명드리려고 합니다.

약간 복잡할 수 있지만, 한번 해놓고 나면 더이상 재설치나 설정 같은게

전혀 필요 없습니다.


기본적으로 Google Docs OCR V3는 설치가 필요 없는 프로그램입니다.


아래의 V2, V3 2가지 버전 모두 다운로드 합니다. 


Google Docs OCR V2 2022 다운로드 페이지

https://mega.nz/file/HpgDhQBT#ooUTkN2wTwsS5Hncx9fCJfLn2VncqS17_WyDrfPTaAY


Google Docs OCR V3 다운로드 페이지

https://mega.nz/file/i04gjSzb#D26EBYJguBzWAeN5ScF6xJHzCzzISdXKcl8Laeqyaoo


보시면 아시겠지만 Google Docs OCR 압축파일이 5kb 밖에 안됩니다. 

웬만한 자막파일보다 용량이 작네요 ㅎㅎ



01. Python 및 스크립트 설치


python 을 다운로드 합니다. 윈도우 버전에 따라서 32/64bit 중에서 다운로드 합니다.


python 다운로드 페이지

https://controlc.com/36e3febc


1. Python 3.8 이상 버전을 다운로드 해서 설치합니다.


2.  C:\Users\사용자계정\AppData\Local\Programs\Python\Python39\Scripts

    폴더에 들어가서 폴더 주소창에서 cmd를 실행합니다.


0bda19e29865b96cafe60a5e92e44f22_1694967649_7803.jpg

3.  명령프롬프트가 실행되면 

pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib

이 명령 전체를 복사해서 붙여넣고 엔터를 칩니다. 

42838a794bae8f9cbd6a0d9ffee77fc3_1695701058_5738.jpg
 

pip install oauth2client 

이 명령도 복사해서 붙여넣고 엔터


이렇게 두가지 스크립트를 설치하면서 python 설치를 마무리 합니다.


이제 구글 클라우드에서 구글 드라이브 api가 포함된 json 파일이 반드시 필요합니다. 

이 파일을 다운로드 하는 과정이 사실상 프로그램 설치와 설정 과정의 절반이나 마찬가지입니다.


제가 확인해본 결과 Google Docs OCR V3 버전은 구글 드라이브 로그인

파일을 생성하지 못하는 오류가 있는 듯 합니다. 


그래서 일단 V2 버전을 통해서 token.json을 생성한 이후에, 

V3 버전 폴더에 credentials.json, token.json 두개의 파일을 복사할 것입니다.



02. credentials.json 생성 및 다운로드


구글 클라우드 계정을 만들고 json파일을 생성해서 다운로드 하는 튜토리얼

영상은 아래에 있습니다.


https://mega.nz/file/Pkw2xZYC#_8u-v9gy0LFoBHS57LUZ_IK9UvHPyytSE7DJt5PeJvQ


이 영상은 영문 웹페이지를 통해서 설명하고, 또 오래전에 만들어졌기 때문에, 

우리가 사용할 현재 한글 구글 클라우드 웹페이지와 구성이 약간 다릅니다.  


영상을 일단 한번 본 후에, 아래에 제가 직접 프로젝트를 만들고 json 파일을 

다운로드 하는 과정을 설명한 내용을 보시면 좀더 쉽게 따라하실 수 있을 겁니다.


https://console.cloud.google.com/ 에 접속합니다.


물론 구글 아이디가 있어야 하고, 구글에 로그인 되어 있어야 합니다.

뭐 이건 기본이겠죠.


1. 상단에 프로젝트 선택을 클릭합니다.


cd4f50e5c7a26ee385364efd18b91603_1695112326_4106.jpg

2. 프로젝트 선택창이 보이면, 새 프로젝트를 클릭합니다


cd4f50e5c7a26ee385364efd18b91603_1695112340_038.jpg

 

3. 프로젝트 이름은 자신이 원하는 적당한 이름으로 만듭니다.

   저는 이번에 cineaste로 만들어 보도록 하겠습니다

   프로젝트 이름을 적고, 만들기를 클릭합니다.


cd4f50e5c7a26ee385364efd18b91603_1695112356_6666.jpg

 

4. 생성되면 프로젝트 선택을 클릭합니다.


cd4f50e5c7a26ee385364efd18b91603_1695112371_4865.jpg

 

5. 옆에 메뉴에서 <OAuth 동의 화면> 항목을 찾아서 클릭합니다


cd4f50e5c7a26ee385364efd18b91603_1695112386_3807.png
 

6. Uset type 에서 <외부>를 선택해주고 <만들기>를 클릭합니다


cd4f50e5c7a26ee385364efd18b91603_1695112411_1497.jpg
 

7. 다음 앱정보에서 앱이름은 처음에 설정한 이름대로 cineaste로 설정합니다


cd4f50e5c7a26ee385364efd18b91603_1695112458_9205.jpg

8. 사용자 지원 이메일은 자신의 구글계정 이메일을 자동으로 입력해 줍니다


9. 밑에 개발자 연락처 정보에도 자신의 구글계정 이메일을 복사해서 입력합니다


10. 맨 밑에 <저장 후 계속>을 클릭합니다


11. 다음 페이지에서도 <저장 후 계속>을 클릭해서 넘어갑니다. 


12. 테스트 사용자 페이지에서도 <저장 후 계속>을 클릭해서 넘어갑니다. 


13. <앱 등록 수정> 페이지가 나오면 하단 <대시보드로 돌아가기>를 클릭합니다


cd4f50e5c7a26ee385364efd18b91603_1695112525_5909.jpg

14. OAuth 동의 화면이 나오면 <앱 게시>를 클릭하고 <확인>을 클릭합니다


cd4f50e5c7a26ee385364efd18b91603_1695112547_2128.jpg
 

15. 이제 옆에 메뉴에서 <라이브러리> 항목을 클릭합니다


cd4f50e5c7a26ee385364efd18b91603_1695112565_9752.jpg

16. 라이브러리 페이지에서 구글 드라이브 api를 찾아서 클릭합니다


cd4f50e5c7a26ee385364efd18b91603_1695112585_8139.jpg
 

17. 다음 <사용>을 클릭합니다


cd4f50e5c7a26ee385364efd18b91603_1695112605_1075.jpg

18. 이제 옆에 메뉴에서 <사용자 인증 정보> 항목을 클릭합니다.


cd4f50e5c7a26ee385364efd18b91603_1695112626_2011.jpg

19. 상단에 <사용자 인증 정보 만들기>에서 OAuth 클라이언트 ID

    항목을 클릭합니다.


cd4f50e5c7a26ee385364efd18b91603_1695112657_941.png

20. 어플리케이션 유형은 <데스크톱 앱>으로 선택합니다.


cd4f50e5c7a26ee385364efd18b91603_1695112688_7135.jpg

21. 이름은 OCR V3로 적어주고, <만들기>를 클릭합니다.


22. 이제 OAuth 클라이언트 생성됨 창 하단 <JSON 다운로드>를 클릭합니다


cd4f50e5c7a26ee385364efd18b91603_1695112765_2824.jpg
 

23. 이제 컴퓨터에 상당히 긴 이름의 json 파일이 다운됩니다. 

    이 파일의 이름을 credentials.json 으로 바꾸어 줍니다.


24. 이제 앞서 다운로드해 두었던 V2 버전 폴더 안에  

    credentials.json을 복사합니다.


25. python 3.8 이상 버전과 스크립트가 설치된 상태여야 합니다.



03. token.json 생성 


01. main.py를 클릭하여 실행합니다.


02. token.json 파일 생성을 위해 구글 계정으로 로그인하는 

    인터넷 창이 뜨게 됩니다

cd4f50e5c7a26ee385364efd18b91603_1695112803_9307.jpg


 


03. 계정 선택 cineaste 아래 자신의 구글 계정을 클릭합니다


04. 다음 페이지에서 아래에 <고급>을 클릭합니다


 fefac5eeceecf6e151341fa4c7f12434_1695131778_9966.jpg

05. <cineaste(으)로 이동(안전하지 않음)> 을 클릭합니다


cd4f50e5c7a26ee385364efd18b91603_1695112887_5456.jpg

06. 다음 페이지에서 <계속>을 클릭하면 token.json 이 생성됩니다



cd4f50e5c7a26ee385364efd18b91603_1695112912_1091.jpg

 

07. 이제 생성된 credentials.json과 token.json을 따로 저장한 후에

    이것을 앞서 다운로드한 V3 버전 폴더로 복사해서 실행하면 됩니다.

    두개의 json 파일을 확보했으니 V2 버전은 더이상 필요없습니다.


08. 앞서 말했듯이 프로젝트 이름은 자신이 적당하다고 생각하는  

    이름으로 설정하면 됩니다.


09. python과 스크립트를 설치해두고, credentials.json과 token.json 두개의

   json 파일을 V3 폴더에 복사했다면 실행 준비는 끝난 것입니다.




04. 여러개의 영상 동시작업


여기에 더해서 여러 개의 영상을 한꺼번에 작업해야 할 경우에 필요한 

프로그램을 설명하겠습니다.


프로그램 사용법은 아래의 영상을 참고하시면 됩니다.


https://youtu.be/9Yp4-bSAAVE 


1. 여러개의 영상을 한번에 작업할 수 있는 BATCH HARDSUB TO SRT 

  다운로드 링크

https://mega.nz/file/T4wTmJZZ#onN8cY20T-Mk6KXkvHIs2K0u9JN52ZXmQGm_f_ZjRd0 


2. 구글 드라이브의 파일을 자동으로 삭제해서 청소할 수 있는 Delete_All_Files_Google_Drive 

   다운로드 링크

https://mega.nz/file/20BClQaR#4W3jm9bLdx56LNX7ecYAleYS3oak7clOr-tRZ8LaezY 


그리고 앞서 스크립트를 설치했던

C:\Users\사용자계정\AppData\Local\Programs\Python\Python39\Scripts 로 이동한 후

앞서 했던 것처럼 폴더 주소창에서 cmd를 실행합니다. 명령프롬프트가 실행되면


pip install pandas 


이 명령어를 복사해서 붙여놓고 엔터를 쳐서 스크립트를 설치합니다.


압축파일을 다운받고 압축을 푼 다음에 각각의 프로그램 폴더에, 마찬가지로 두개의 json을 

복사해서 넣어주기만 하면 모두 즉시 사용이 가능해지게 됩니다.


Google Docs OCR V3 와 BATCH HARDSUB TO SRT. 이 두가지 프로그램의 차이점은

한개의 영상만을 작업하는가, 아니면 여러개의 영상을 순서대로 작업할 수 

있는가의 차이입니다.


한개의 영상만 작업한다면 Google Docs OCR V3 를 사용하는 것이 편합니다. 왜냐하면

구글 드라이브의 특정폴더를 설정해서 여기에서 작업할 수 있기 때문에, 작업이 완료된

이후에 그 폴더만 삭제하면 구글 드라이브 정리가 편하기 때문이죠.


그에 비해서 BATCH HARDSUB TO SRT 는 구글 드라이브에서 그냥 작업하기 때문에

작업이 완료된 이후에 남은 작업파일들을 구글 드라이브에서 정리하는게 상당히 번거롭습니다. 

이것도 특정 폴더에서 작업할 수 있으면 삭제가 편한데, 그게 안되나 봅니다.



05. 구글 드라이브 정리


10개가 넘는 영상의 자막을 한꺼번에 작업할 경우 작업이 끝난 이후에 수천개에서 만개가 

넘는 파일이 구글 드라이브에 쌓이게 되므로 삭제해 주어야 합니다. 제가 한번 수동으로 

해봤는데, 사람이 할짓이 못됩니다. 그래서 자동으로 삭제해 주는 프로그램이 필요합니다. 


이 Delete_All_Files_Google_Drive 프로그램을 사용해서 자동으로 구글 드라이브에 있는 

모든 파일을 삭제하면 됩니다. 노가다는 컴퓨터에게 맡기고 각자 할일 해야지요.


삭제에 필요한 시간은 자막생성에 필요한 시간과 비슷한 정도입니다. 원래 구글 드라이브에서

파일 삭제는 좀 느리게 진행됩니다. 자동으로 진행되니까 실행만 시켜놓고 차한잔 하시거나, 

자기 할일 하시면서 완료를 기다리면 됩니다.


CPU 사용률도 1-2% 정도로 가볍기 때문에, 게임이나 다른 컴퓨터 작업을 하시면서 완료를

기다려도 무방합니다.


<<<<<<<<<<<<<<<<<<<<<<<<< 주의 >>>>>>>>>>>>>>>>>>>>>>>> 


Delete_All_Files_Google_Drive 프로그램 폴더 안에 4-Delete_All_Files_One-By-One-Forever.py 를 

실행하면 구글 드라이브 안에 있는 모든 파일이 삭제됩니다. 구글 드라이브에 개인적인 파일들을 

업로드 해두었다면 반드시 컴퓨터에 백업한 이후에 이 기능을 실행해야 합니다.


구글 드라이브에 있는 모든 파일이 삭제됩니다!!!!


구글 계정 이메일 첨부파일이나 구글 포토등, 구글 드라이브 이외의 파일은 삭제되지 않으니

그것은 걱정하지 않아도 됩니다.


Delete_All_Files_Google_Drive 에 관한 보다 자세한 기능을 알고 싶다면 아래 링크의 영상을

참고하시면 됩니다.


https://youtu.be/5TOAPQBTwLw 



06. 하드디스크 파일 정리


각각의 프로그램 폴더안에 Credentials.json, token.json을 넣어두고 필요할때마다 권한이 

설정된 이 파일들이 들어있는 폴더째로 복사해서 그 폴더 안에서 자막 제작작업을 하고, 

작업이 끝나면 그 폴더를 삭제해 버리면 편합니다. 


작업할때마다 1회용 폴더 복사를 하고 지우는거죠.



준비과정이 꽤 복잡하다고 느껴질 수 있겠지만, 일단 Credentials.json, token.json을 확보하고 나면

다음부터는 설치작업은 더이상 필요없고 모든게 클릭 한번으로 끝나기 때문에 너무나 편하게 느껴지실 

겁니다. 전부 자동이니까요.


앞선 글에서도 설명드렸듯이 이 프로그램들은 구글 클라우드의 유료 기능을 사용합니다만

구글이 최초 계정 생성때 40만원을 공짜로 충전해 줍니다. 우리는 상업적인 대용량 OCR이 아닌, 

고작해봐야 100메가 정도 되는 자막 이미지 파일에 OCR을 사용하는 겁니다.


제생각으로는 하드코딩 된 자막 추출을 1080p 고화질 영상으로만 1000개 넘게 작업해도 

구글이 준 40만원을 다 쓰지 못할 겁니다. 개인이 이런 자막 추출작업을 1000개 넘게 작업할 

일이 있을지 상상하기 어렵네요. 어쨌든 이런 용도로는 공짜나 다름없습니다.


그리고 다음글에서는 여러개 혹은 단일 IDX/SUB 파일을 srt로 자동변환하는 프로그램에 

관해서 자세히 설명하고자 합니다.


idx/sub를 srt로 자동변환 가이드
https://cineaste.co.kr/bbs/board.php?bo_table=psd_capmakef&wr_id=31014 

Facebook Twitter GooglePlus KakaoStory NaverBand 신고
16 Comments
S MacCyber  
정보 감사합니다.  해보고도 싶고 필요성도 있는데 귀차니즘이...  ^^;
조만간은 해보게 되겠죠.
1 notnrwk  
따라하기 쉽게 상세한 설명을 보완했으니, 제가 쓴글을 꼼꼼히 읽어본다면,
처음 프로그램 셋팅에 30분 이상 걸리지는 않을 거라고 생각합니다
3 BEOMPLEX  
안녕하세요. 26번에서 main.py를 클릭했지만 27번에 웹브라우저가 뜨지 않는데 관련 정보를 어디서 찾아봐야 할까요? pip로 설치 전부 다 했고 credentials.json도 올바르게 만들었는데 python 실행 창이 잠깐 뜨고 사라지지만 웹브라우저가 열리지 않네요.
1 notnrwk  
V2 버전 폴더에서 실행하신 것 맞나요? V3 버전에서 실행하시면 안됩니다. V2 에서 실행하고, 파일을 생성한 후에 복사해서 V3로 옮겨야 합니다.
V2에서 실행하셨는데도 안되는거면, 구글 클라우드에서 설정이 잘못되었을 가능성이 높으니, 구글 클라우드에서 프로젝트를 다시 만들어서
credentials.json 을 생성하시면 될 듯 합니다. 그래도 안된다면 방법이 없네요. 저는 프로그램 개발자가 아니라 단순히 소개하는 것일 뿐이니까요.
3 BEOMPLEX  
음 V2에서 했고, credentials.json에서 뭐 잘못될 게 없을 것 같고 아예 웹브라우저 자체가 안열리는 거 보면 기본 브라우저 설정 문제인가 하여 세팅을 다시 해봤지만 전혀 안되네요. 혹시 이 가이드 작성하실 때 참고하신 사이트 또는 유튜브 영상이 있으실까요? 또 윈도우 버전이 어떻게 되실까요?
1 notnrwk  
제가 참고한 유튜브는 https://www.youtube.com/@MrKingGM/videos  여기 말고는 없습니다. 저는 윈도우 10 / 64비트를 사용합니다.
이미 몇 분이 성공적으로 잘 사용하시는걸 보면 제가 쓴 가이드는 이상 없어 보입니다. 더이상은 도움을 드릴 수 있는게 없네요.
잘 되시길 바랍니다. 브라우저에 구글이 로그인된 상태인지 확인 한번 해보시는 것 말고는 생각나는게 없네요. 그리고 저는 마소 엣지를
기본 브라우저로 하고 있습니다.
3 BEOMPLEX  
해결했습니다...! powershell에서 수동으로 python3 main.py 가 아니라 python main.py로 입력하니 됩니다. 아마 python 버전이 꼬이면서 실행 명령어가 python3을 인식하지 못하는 문제가 있던 것 같습니다. 같은 문제를 겪는 분이 계실 수도 있기에 해결 사례 공유드립니다. 답변 주셔서 감사드립니다!
6 잭바우어  
컴맹이라 몰라서 그러는데 명령어를 어떻세 입력하고 하는자 모르겠네요 설명좀 부탁드립니다
3 BEOMPLEX  
main.py가 있는 폴더를 마우스 오른쪽 클릭 하고 '터미널에서 열기'를 클릭해보세요. 그다음에 python main.py 입력하시면 됩니다.
6 잭바우어  
제 pc 에서는 마우스 오른쪽 터미널 열시가 없네요 ㅠㅠ
3 BEOMPLEX  
powershell이나 터미널 또는 명령 프롬프트 셋 중 하나는 있을텐데 못찾으시면 이것까지 도움을 드릴 수는 없네요... 인터넷에 좀만 검색하시면 명령 프롬포트 창에서 명령어로 폴더 들어가고 하는 방법은 나오니까, 보시고 폴더까지 진입하신 다음에 python main.py 라고만 입력하시면 될 거예요.
11 현이아빠  
정말 감사합니다! 여기까지 잘 따라 온 것 같습니다! ^^;
11 현이아빠  
이거 정말 신세계네요 ㅎㅎ
저는 러닝타임 거의 3시간 짜리 중국어 영화에 하드 인코딩 된 자막을 추출해 봤는데..
인식율이 아주 좋습니다!
Sync.도 잘 맞고요!
중국어 영화는 영상안에 중국어와 영어가 하드 인코딩 경우가 많아서
인터넷에 굳이 .smi .srt 같은 원문 자막 파일 자체가 없습니다.
그래서 중국어 영화 자막을 만들려면 제일 힘든게 대사를 하나하나 수동으로 찍어서 입력하고, 모든 Sync.를 수동으로 맞추는 거였는데..
이 기능을 사용하면 작업이 많이 수월해 질 것 같습니다!
좋은 자료와 자세한 설명 대단히 감사합니다!
역시 세상엔 고수들이 많다는 걸 다시 금 느끼네요! ㅎㅎ
1 notnrwk  
제가 만든 프로그램은 아니지만, 이글이 도움이 되었다면 저도 좋습니다.
자막노가다를 조금이라도 줄어보고 싶어서 연구하다보니 글을 쓰게 되었네요.
17 몬테  
02.까지 따라 했는데요, 03.의 첫번째 main.py 파일이 어디 있죠?
1 notnrwk  
간단합니다. 다운받은 OCR V2 버전 압축파일을 풀어서 안에 들어가면 있습니다.