Sub 변환자막 및 내장 추출자막 완벽하게 수정하는 가이드 V2

자막제작자포럼

Sub 변환자막 및 내장 추출자막 완벽하게 수정하는 가이드 V2

이 글은 아래 블로그에서 가져온 파일을 약간 수정해서 사용합니다.  

매크로에 대해서 저작권이 있는 것 같지는 않지만, 그래도 최소한의 출처는 밝혀 둡니다.

https://blog.naver.com/ajdhs/223160714984  


저는 지난 3편의 글을 통해서 영상에 하드코딩된 자체자막 자동추출 방법과

sub/idx 파일의 srt 자동 변환 방법에 대해서 안내해 드렸습니다.


하드코딩된 자막 자동추출 가이드 1편 : 활용방법 소개
https://cineaste.co.kr/bbs/board.php?bo_table=psd_capmakef&wr_id=31009

영상에 하드코딩된 자막 자동추출 가이드 2편 : 프로그램 설치 방법
https://cineaste.co.kr/bbs/board.php?bo_table=psd_capmakef&wr_id=31011

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


사실 변환과 추출 자체는 기술적으로 자동화가 가능하고, 쉽게 

할 수 있습니다. 그렇지만 모든게 그렇듯이 완벽한 것은 없습니다.


구글 OCR의 성능이 아무리 좋다고 한들 100% 원본과 같지는 않습니다.

오탈자나 띄어쓰기, 줄바꿈 등등에서 곳곳에 부족한 부분이 있기 마련입니다.


99% 원본과 같은 결과물을 얻고 싶다면 여기서 만족할 수 있지만

100% 같은 결과물을 얻으려고 한다면 꼼꼼하게 살펴보고 수정을 해야 합니다.


그 마지막 1%를 완성하기 위한 수정과정이 약간 귀찮고 불편합니다. 

그래서 그 과정을 좀더 편하게 만들기 위한 저 나름의 방법을 소개할까 합니다.


하드코딩된 자막을 추출하기 위해서 Google Docs OCR V3 에 Images 폴더

안에 개별 자막라인 이미지들이 수백개 남아 있습니다.


그리고 sub/idx 파일 변환을 위해서 BATCH IDX-SUB TO SRT 안에 Batch_Images 

폴더에 자막라인들이 수백개의 png 파일로 남아 있습니다.


이 이미지 파일들과 엑셀의 매크로 기능을 사용하여 원본 자막과 추출된 자막라인을

1:1로 매칭하여 비교하는 문서를 만들 것입니다. 이 문서에서 바로 자막을 수정하면

빠르고 효율적인 수정이 가능합니다.


XML 확장자를 사용하면 subtilte edit 와 엑셀간에 이동이 정확하고 오류없이 가능하고 

작업과정에 자막이 손실되거나 오류가 생기지는 않을 것입니다.


1. 먼저 추출 완료된 srt 자막을 Subtitle Edit의 도구 -- > 일괄변환 기능을 사용해서

  xml 형식으로 변환해서 따로 저장해 줍니다. 


XML 형식으로 저장하는 이유는 엑셀에서 자막을 열기 위해서 입니다.


f72ca181b2dbd06d1ab3ea54604311d3_1697236450_0894.jpg


2. 엑셀을 실행해서 변환한 xml 파일을 불러옵니다. xml 열기창에서 그대로 확인을 클릭합니다.

   다음에 나오는 알림창도 확인을 클릭하고 불러오기 작업을 마무리 합니다.


f72ca181b2dbd06d1ab3ea54604311d3_1697236820_9512.jpg

3. 훌륭하게 자막이 엑셀파일로 변환되었습니다.


f72ca181b2dbd06d1ab3ea54604311d3_1697236864_4803.jpg
 
  

4. 아래 링크에서 엑셀 사진 삽입 매크로를 다운로드 합니다. 


https://drive.google.com/file/d/1ho5D7udCkYaUJxdvxljHDQbry3cq2_Lx/view?usp=sharing 



5. 다운로드 한 후 파일을 클릭해서 우클릭 하고 속성을 클릭합니다.



6. 속성 창의 보안항목에서 차단해제를 체크하고 적용을 클릭한 후 확인을 클릭합니다.


39f773561a16f61ba114f20f1988ecca_1697186922_9083.jpg
 

7.  사진 삽입 매크로를 클릭해서 실행합니다.

   상단에 보안경고 항목에서 <콘텐츠 사용>을 클릭해서 매크로가 사용 가능하게 합니다.


39f773561a16f61ba114f20f1988ecca_1697186939_8573.jpg

파일을 열면 기존에 문서에 첨부된 사진들이 있는데, 모두 삭제한 후에 작업을 진행하시면 됩니다.

8. 이 매크로를 사용해서 각각의 자막라인이 담긴 수백개의 이미지들을 각 셀마다 하나씩 넣을 것입니다.

   그래서 이제 자막 이미지들이 들어갈 행들의 넓이와 높이를 적당히 조절해야 합니다.


   셀이 너무 크면 이미지도 커지므로 자막수정에 비효율적일 것이고, 셀이 너무 작으면 글씨가 

   너무 작아서 역시 자막수정하는데 불편합니다. 


   그래서 각자의 모니터 환경과 개개인의 자막 편집 스타일에 맞게 셀 크기를 조절 합니다.


9. 너비는 간단히 조절할 수 있고, 높이는 A열을 전체 선택한 후에 서식 -- > 행 높이에서 설정합니다.

   저는 이번에 행높이 60으로 설정해 보겠습니다.


39f773561a16f61ba114f20f1988ecca_1697186971_1635.png

 

10. 자막 이미지가 들어갈 곳의 너비와 높이를 적절히 설정했다면 

   이제 자막 이미지들의 갯수만큼 1번 행부터 000번 행까지 선택합니다.

   저의 이번 테스트에서는 이미지 파일이 960개이므로 960번까지 선택합니다.


39f773561a16f61ba114f20f1988ecca_1697187006_2119.jpg
 

11. 선택이 완료되면 다시 상단으로 올라가서 <선택한 여러셀에 사진넣기> 버튼을 

  클릭합니다. 그러면 사진들을 선택할 수 있는 창이 뜨게 됩니다. 


39f773561a16f61ba114f20f1988ecca_1697221229_9957.jpg
 

12. BATCH IDX-SUB TO SRT 안에 Batch_Images 폴더로 이동해서 

    960개 이미지들을 모두 선택한 후 열기를 클릭합니다.


39f773561a16f61ba114f20f1988ecca_1697187057_6311.jpg
 

13. 사진 갯수가 많기 때문에 불러오는 시간이 약간 필요합니다.

    몇 초 기다리면 불러오기가 완료됩니다.


39f773561a16f61ba114f20f1988ecca_1697187080_1247.jpg

이때 불러온 사진들의 크기가 너무 크거나 작아서 편집에 불편할 것 같으면

처음부터 끝까지 모두 선택한 다음에, 옆에 있는 <사진삭제> 버튼을

눌러줍니다. 


그러면 모든 자막 이미지들이 없어지고, 셀의 높이와 너비를 다시 지정한 후에

처음부터 다시 반복하면 됩니다. 

14. 이제 앞서 불러온 xml 자막이 있는 엑셀창으로 이동합니다. 

   자막 텍스트 부분만 처음부터 끝까지 선택한 후 복사합니다. 


f72ca181b2dbd06d1ab3ea54604311d3_1697237103_6829.jpg


15. 이제 자막 이미지들이 있는 엑셀로 돌아가서 자막 이미지 옆 

B열 첫번째 셀을 선택한 후에 붙여넣습니다. 


그리고 자막 글자크기를 보기 좋은 정도의 크기로 설정해 줍니다. 


f72ca181b2dbd06d1ab3ea54604311d3_1697237159_9233.jpg


16. 이제 원본 자막과 추출된 자막의 1:1 비교에 있어서 

    시각적, 직관적 편의성이 확보되었습니다. 


대다수의 사람들에게 엑셀은 텍스트 수정을 위한 여러가지 편의성이 

부족하고 불편합니다. 그래서 그동안 B열을 클릭하면 자동으로 

편집모드에 들어가는 기능을 넣어보기도 했습니다. 


그렇지만 아무래도 편집이 필요한 셀을 더블클릭해서 편집 모드로 

들어가는 엑셀의 기본기능으로 돌아가는게 가장 가장 좋은 것 같아서 

원래대로 더블클릭 하시면 됩니다.


그렇지만 줄바꿈을 해야할때 Alt + 엔터를 해야하는게 너무 불편합니다. 


17. 그래서 제가 약간 트릭을 사용하는 매크로를 만들었습니다. 


줄바꿈이 안되어 있는 곳마다 줄바꿈 해야할 위치에 / 를 기입합니다.  


이때 양쪽 띄어쓰기는 신경쓰지 않아도 됩니다. 줄바꿈하면서 자동으로

삭제할 것입니다. 그러니까


아름다운 꿈은/ 기나긴 길처럼 멀고

아름다운 꿈은 / 기나긴 길처럼 멀고

아름다운 꿈은 /기나긴 길처럼 멀고

아름다운 꿈은/기나긴 길처럼 멀고


모두 동일하게 


아름다운 꿈은 

기나긴 길처럼 멀고


이렇게 띄어쓰기 공백을 제거하면서 줄바꿈하는 기능을 합니다.


/ 로 줄바꿈 표시를 마지막줄까지 마무리 하고, 오탈자나 띄어쓰기 

같은 수정을 마쳤다면 옆에 </ 줄바꿈> 버튼을 클릭하면 자동으로 

/ 표시가 모두 줄바꿈으로 바뀌게 됩니다. 

7ebf3f0540f264f02de2b8708d20406a_1699135923_0805.jpg 

이 버튼은 B열에 자막 텍스트가 있다는 것을 가정했기 때문에, 다른 열에서는 

작동하지 않습니다. 그래서 A열에는 자막이미지, B열에는 자막 순으로 

배치해야 합니다.


이제 마지막으로 처음부터 끝까지 천천히 훑어보면서 잘못된 부분이나 

수정이 되지 못한 부분은 없는지 점검합니다. 


이상없이 수정 완료되었다면 자막 텍스트가 있는 셀들을 처음부터 끝까지 

드래그해서 선택한 후에 복사합니다. 


18. 다시 아까 xml 을 불러온 엑셀창으로 이동합니다. 자막 텍스트의 

맨 첫번째 셀을 클릭하고 수정이 완료된 자막을 붙여넣습니다. 

이전 자막을 수정된 자막으로 완전히 교체하는 것이지요. 


텍스트 글자 크기는 원래 글자크기로 다시 줄여줍니다.


f72ca181b2dbd06d1ab3ea54604311d3_1697237640_1157.jpg

19. 수정이 완료된 xml 파일을 엑셀에서 저장하기를 눌러, 다시 xml 형식으로 저장합니다.

    엑셀에서 저장할때 파일형식을 눌러서 xml 형식을 선택하고 저장하시면 됩니다.


f72ca181b2dbd06d1ab3ea54604311d3_1697264424_0092.png
 

20. 수정완료된 xml 파일을 subtitle edit 로 열어줍니다.


21. 다른 이름으로 저장하기를 실행해서, srt 나 smi 같은 

   자막 파일 형식으로 저장합니다.

  

이것으로 수정작업은 완료되었습니다. 오탈자나 띄어쓰기, 줄바꿈 같은 기초적인 

부분은 원본과 동일하게 수정되었습니다. 추가적으로 자막효과나 글자색, 폰트 작업 

같은 고유한 자막편집 작업은 필요에 따라서 수행하시면 됩니다.


기타 수정하는 테크닉에 대해서는 자막 제작자님들의 노하우가 있을 것이니

잘 하시겠지요. 제가 소개한 1:1 매칭을 통한 자막수정 방식을 따라한다면 수정에 

필요한 시간은 한편당 20분 이상을 넘지 않을거라고 생각합니다. 


100% 동일한 자막을 목표로 하면서도, 이정도 시간이면 충분히 좋은 

효율성이라고 볼 수 있겠지요. 


제가 설명한 내용들이 좀 길어보이지만, 변환과정은 금방이고 자막을 

노가다로 수정하는 과정이 대부분의 실제 작업시간을 차지할 겁니다.

이 가이드 글은 BATCH IDX-SUB TO SRT 를 사용할 경우를 예로들어 

설명했습니다. 자체자막을 추출하는 프로그램인 Google Docs OCR V3의 

경우에도 비슷하게 작업하면 될 것으로 생각합니다.


그리고 이미지 파일이 들어가는 각 셀의 크기는 화면에서 몇 줄의 자막라인을  

볼 수 있는지 결정합니다. 그러므로 빠르고 집중력 있는 작업을 원하신다면 

셀 크기를 작게 설정해서, 보다 많은 텍스트 라인을 한번에 보면서 작업하시는 

것도 괜찮은 방법이라고 생각합니다.. 


각자의 취향과 방법에 맞춰서 설정하면 되겠지요.


전체 프로세스를 요약하자면


1. 추출된 자막을 xml 형식으로 변환하여 엑셀에서 불러들이고

2. 자막 추출을 위해서 만들어둔 수백개 이미지들도 엑셀로 불러들인 후

3. 이 두가지를 1:1 매칭이 되게끔 엑셀 문서를 만들고 수정한 후에

4. 다시 xml 자막에 붙여넣고 저장 

5. 수정완료된 xml 파일을, subtitle edit에서 자막형식으로 최종 변환


별로 복잡한 프로세스는 아닙니다. 누구나 따라할 수 있습니다.


이것을 마지막으로 영상에 하드코딩된 내장자막 자동 추출과 sub/idx 파일을 

srt 로 자동변환 하는 가이드 시리즈를 마무리 할까 합니다. 


자막 제작자님들에게 조금이나 도움이 되었으면 합니다. 

읽어주셔서 감사합니다. 

Facebook Twitter GooglePlus KakaoStory NaverBand 신고
4 Comments
15 Harrum  
이런 방법도 있었군요.
제겐 도움이 많이 될 것 같아요.
고맙습니다
1 notnrwk  
도움이 될 수 있다면 저도 글쓴 보람 있습니다.
10 Lowchain232  
감사합니다. 나중에 SUB변환 해볼때 써봐야겠네요.
요즘 인공지능 발전속도 보면 이런 작업도 조만간 쉽게 처리될 걸로 보입니다.