idx/sub를 srt로 자동변환 가이드

자막제작자포럼

idx/sub를 srt로 자동변환 가이드

1 notnrwk 2 172 2

앞서서 영상에 하드코딩된 내장 자막을 자동으로 추출하는

방법과 프로그램 설정을 설명드렸습니다.


이제 idx/sub 파일을 자동으로 srt로 변환하는 프로그램

Google Docs OCR V3 BATCH CONVERT MULTI IDX/SUB TO SRT

에 관해서 설명하겠습니다.


전체적인 튜토리얼은 아래 링크로 들어가서 이런저런 영상들을 

참고하시면 될 것입니다.


https://www.youtube.com/watch?v=p4g48i1kMfg


이 프로그램을 사용하면 1시즌 전체 수십개의 idx/sub 파일들을

한번에 srt 파일로 변환할 수 있습니다. 물론 한개만 변환할 때도

사용할 수 있습니다. 


다만 idx/sub 파일의 이름은 동일해야 하며, 각각의 idx/sub쌍은

다른 이름을 가져야 합니다. 뭐 당연한 이야기죠.


BATCH CONVERT MULTI IDX/SUB TO SRT 다운로드 링크

https://mega.nz/file/roJUTRpZ#22syhyP2dH4BmirPRqGHq5obcdetN4Iqv0VWGha09MI 


0. 역시 Credentials.json, token.json 두개의 파일이 필요합니다.

이것에 관해서는 앞서 제가 쓴글 <가이드 2 - 설치 상세설명>을 참고하셔서 

파일을 생성하시면 됩니다.


https://cineaste.co.kr/bbs/board.php?bo_table=psd_capmakef&wr_id=31011 


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

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

https://controlc.com/36e3febc


2. 설치 완료 후

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

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


42838a794bae8f9cbd6a0d9ffee77fc3_1695616451_6564.jpg

3. cmd를 실행한 후 아래의 4가지 스크립트 명령을 각각 실행합니다.


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

pip install  opencv-python

pip install  matplotlib

pip install oauth2client


그러니까 4번 명령을 복사하고 4번 엔터를 쳐서 4가지 스크립트를 모두 설치해야 합니다 .


4. Credentials.json, token.json을 폴더 안에 복사했다면 


5. 준비한 idx/sub파일들을 Paste_Here_Multi-IDX_SUB 폴더 안에 

   복사해 넣어줍니다.


6. RUN-BATCH.bat를 실행하면 여러개의 idx/sub파일들이 자동으로 

   srt로 변환되기 시작합니다.


e17df5e9ecc110cc52a8279274b4a5e6_1695020327_3555.jpg

1시간 30분짜리 영화 한편 기준 약 20분 정도 소요될 것입니다.


여러 편의 영화라면 20분에 영화 갯수를 곱하면 소요시간이 계산될 겁니다.

그 시간동안 할일 하시면서 완료되길 기다리면 됩니다. 자막 제작자의

시간은 소중하니까요.


작업이 끝나면 완료된 srt 파일을 열어서 확인해 봅니다.


e17df5e9ecc110cc52a8279274b4a5e6_1695019552_4145.jpg

영어는 거의 손댈 필요도 없이 정확하게 나오고


한글도 마찬가지로 띄어쓰기 정도만 몇군데 눈에 띄고

글자 인식, 문장기호 등등 완벽하네요.


e17df5e9ecc110cc52a8279274b4a5e6_1695019584_1676.jpg

심지어 노래를 표시하는 콩나물 대가리 기호까지

아주 잘 인식되었습니다.


다만 여기에서 콩나물 대가리랑 텍스트 사이에 한칸씩

띄워야 되는데 한칸이 띄워졌다 안띄워졌다 하네요.


전체적으로 수정에 10분 이내면 충분할 정도로 아주

잘 수행 되었습니다.


작업이 완료되었다면 앞선 글에서 설명한 Delete_All_Files_Google_Drive

프로그램 폴더 안에 4-Delete_All_Files_One-By-One-Forever.py를 실행하여


구글 드라이브에 남은 작업파일들을 모두 삭제/청소해 줍니다.


구글 드라이브 자동 일괄 청소 삭제 Delete_All_Files_Google_Drive 다운로드 페이지

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


다운로드해서 압축을 풀고 폴더안에 credentials.json과 token.json 두개의 파일을 

복사해서 넣은후 실행하면 됩니다.


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


앞선 글에서도 설명했듯이 이 작업을 하면 srt 작업과정에 남은 파일 뿐만 아니라

구글 드라이브에 업로드 해두었던 모든 파일들이 삭제됩니다. 그래서 구글 드라이브에 

개인적으로 필요해서 업로드 했던 파일이 있다면 모두 자신의 컴퓨터에 백업한 이후에 

실행해야 합니다.


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


구글 계정 이메일 첨부파일이나 구글 포토 등등, 구글 드라이브 이외의 파일들은

삭제되지 않으니 걱정하지 않아도 됩니다.


구글 드라이브에서 파일 삭제는 원래 좀 느리게 진행됩니다. 

삭제도 srt 변환과 비슷한 정도로 시간이 소요될 겁니다.

마찬가지로 자동으로 청소되기에 실행만 시켜놓고 할일 하시면 됩니다.


그리고 작업을 위한 image 파일과 구글 드라이브에서 OCR 작업을 완료하고 

다운로드 된 텍스트 파일들이 수백, 수천, 영상 갯수에 따라서는, 만개가 넘게  

하드디스크 내에 BATCH IDX-SUB TO SRT 폴더에 쌓이게 됩니다. 


어차피 설치는 필요없고 Credentials.json, token.json 두개의 파일만 있으면

즉시 실행이 가능하기 때문에, BATCH IDX-SUB TO SRT 폴더에 두 파일을

넣어두고, 필요할때마다 이 폴더를 복사해서 작업하고, 작업이 끝나면 

폴더째로 삭제해 버리는게 좋습니다.


물론 Cleaning_All_Folder.py 를 실행하면 작업에 사용됐던 폴더내 파일들을 몇초만에
삭제해 줍니다만, Batch_Images 폴더내에 image 파일들까지 삭제하지는 않습니다.


수백, 수천개 파일들 지우는 것도 번거롭지요. 프로그램 용량이 아주 작기 때문에 

컴퓨터 하드 어느 한구석에 보관해 뒀다가 그때그때마다 1회용으로 복사해서 쓰고

작업 끝나면 폴더째로 삭제하는게 편리합니다.



Facebook Twitter GooglePlus KakaoStory NaverBand 신고
2 Comments
테스트 해보니 idx/sub파일을 srt변환은 비교적 잘되네요 자막대사가 네 경우
 02:07:18,291--> 02:07:18,915

In  대부분 처리 하고
 02:06:49,957--> 02:06:51,582
응-
|
대사  처리하는 경우도 있네요  직접수동으로 수정 하면 될것 같네요
문제점 파이쎤 언어 3.8버전 이상  설치  필수 입니다
최소 37x 메가 사용 
파이썬 설치시 배치 체크 해야 합니다
모르는 사람도 있어요  설치뒤 수동으로 환경설정을 해야 합니다
pip install  몇개의 묘듈 설치 필수
credentials.json token.json 필수
idx/sub 자막이 멀티 자막일 경우 1번째 스트림만 처리하네요
한번 작업 하면 생성된파일 필요한거만 다른데 옮기고 나머지 파일은 삭제 해야 합니다
 자체자막이미지 추출할려면 VideoSubFinder 필수 입니다
Subtitle Edit 에서 idx/sub파일 오픈시 타임코드랑 Google Docs OCR V3 BATCH CONVERT MULTI IDX/SUB TO SRT 으로 생성된 srt파일 타임코드랑 달라요
1 notnrwk  
멀티자막에 대한 부분은 어쩔 수 없을 겁니다. OCR을 사용하는 이상, 원하는 언어 하나만 단일언어로 idx/Sub를 추출해서
작업하는 수 밖에 없습니다. 물론 앞으로 더 발전된 프로그램이 나온다면 가능한 부분이겠지만, 현재까지는 아직 없을 겁니다.
그리고 타임코드에 대한 부분은 제가 잘 모르는 부분이라, 다른 제작자님들의 좋은 보완 의견을 기다립니다.
기타 내용들은 제가 쓴 글들에 설명되어 있으니 잘 읽어보시면 될 것이라 생각합니다..