동영상 자체에 입혀져 있는 자막 추출하기 #2
글꼴 크기를 조절할 수 없는 하드코딩 자막
인터넷에서 공유되는, 또는 OTT 서비스로 배포되는 드라마 영상엔 한국어 자막이 영상 자체에 이미지로(hard-coded subtitles) 입혀져 있다. 아마도 자막 유출을 방지하기 위한 목적으로 그런 것 같은데, 사용자 처지에선 상당히 아쉽다. 왜냐하면, 글꼴 종류를 변경하거나 글꼴 크기를 조절할 수 없을 뿐만 아니라 OTT로 배포되는 영상보다 고화질에다가 자막도 입혀져 있지 않은 클린 영상을 구하는 경우가 종종 있기 때문이다.
그렇다고 동영상을 감상하면서 자막을 일일이 키보드로 입력하는 수작업 자막 추출은 너무 수고스럽다. 이땐 동영상에 입혀져 있는 자막을 추출하는 프로그램을 사용할 수 있는데, 「동영상 자체에 입혀져 있는 자막 추출하기 #1」에서 소개한 视频取字幕工具(Video subtitle tool) 같은 경우는 한국어를 지원하지 않는다.
그래서 오늘은 동영상에 하드 코딩된 자막을 텍스트 기반(srt)의 자막으로 추출하는 또 다른 두 가지 방법을 간단하게 소개하고자 한다. 두 방법 모두 한국어 인식이 가능하다.
다른 무료 자막 추출 도구가 필요하다면, 「동영상 자체에 입혀져 있는 자막 추출하기 #3」(추천!!!)
'드라마/영화/오디오북'의 음성 데이터를 자막/텍스트로 추출하고 싶다면
「오디오/동영상 음성을 텍스트 및 자막으로 변환 | Buzz」 참고
첫 번째: VideoSubFinder와 ABBYY FineReader 사용
첫 번째 방법은 VideoSubFinder와 ABBYY FineReader를 사용하여 동영상에 하드 코딩된 자막을 추출하는 것인데, 이 방법은 굳이 별도의 설명이 필요 없을 정도 「How to Extract Hardcoded Subtitles from Video with a Combination of VideoSubFinder and ABBYY FineReader?」에 자세히 소개되어 있다.
필요한 도구는 VideoSubFinder(무료)와 ABBYY FineReader(유료)인고, 대략적인 자막 추출 과정은 VideoSubFinder로 동영상의 자막 영역을 이미지로 추출한 다음 이 이미지를 ABBYY FineReader로 텍스트로 변환하고 이 텍스트를 srt 자막으로 합치는 것이다.
아래에 소개할 방법과 비교하면 상당히 번거롭고 유료 프로그램인 ABBYY FineReader가 있어야 하지만, OCR 인식률이 가장 우수한 ABBYY FineReader를 사용한다는 점에서 좋은 결과물을 기대할 수 있다.
두 번째: video-subtitle-extractor
두 번째는 추천하는 방법으로 몇 번의 클릭만으로 자막 추출이 가능한 video-subtitle-extractor이다(NVIDIA CUDA 사용자는 Windows GPU 버전, 그렇지 않으면 Windows CPU 버전을 사용. 버전 2.0부터 인터페이스 언어 한국어 지원!).
video-subtitle-extractor의 장점은 OCR API가 내장되어 있다는 점인데, 중국어 간체자, 영어, 일본어, 한국어, 아랍어, 중국어 번체, 프랑스어, 독일어, 러시아어, 스페인어, 포르투갈어, 이탈리아어 자막을 추출하는 것이 가능하다.
자막 추출 모드는 속도는 느리지만 자막 누락 없다는 accurate 모드와 속도가 빠르고 자막 누락이 있을 수 있는 fast 모드 등 두 가지가 있는데, 위 사진은 45분짜리 영상의 한국어 자막을 Ryzen 3 5300U에서 fast 모드로 추출했을 때 걸린 시간으로서 대략 32분 정도 걸렸다. 같은 동영상을 accurate 모드로 추출했을 때는 5시간이 지난 후에도 끝날 기미가 보이지 않아 강제 종료했다.
녹색 사각형의 (자막으로 인식할) 자막 영역 크기는 우측 아래 패널의 Vertical, Horizontal 슬라이드를 조절해서 설정할 수 있다.
참고로 video-subtitle-extractor와 VideoSubFinder 모두 NVIDIA CUDA를 지원하므로 NVIDIA 사용자는 좀 더 빠른 작업이 가능할 것이다.
마무리
위 사진은 (한국어 자막이 입혀진) 중국 드라마 「영요핑팡(荣耀乒乓)」 1화 중 앞부분을 각각 video-subtitle-extractor와 ‘VideoSubFinder + ABBYY FineReader 15’ 방법으로 자막 추출한 것을 비교한 것이다.
video-subtitle-extractor가 사용한 OCR API가 어느 엔진인지 알 수는 없지만, 띄어쓰기만 제외한다면 매우 훌륭하다(영어 자막 추출은 띄어쓰기도 완벽). 반면에 ‘VideoSubFinder + ABBYY FineReader 15’ 조합은 수고스러운 과정에 비하면 결과물은 생각보다 좋지 않다. ‘VideoSubFinder + ABBYY FineReader 15’ 조합의 결과물이 기대보다 안 좋은 것은 VideoSubFinder의 설정을 기본값 그대로 사용해서 그럴 수도 있다. video-subtitle-extractor와는 달리 VideoSubFinder는 이미지에서 자막 영역을 인식하고 그것을 이미지로 추출하는 방법에 대한 세부 설정을 허용한다.
하지만, 어떤 방법을 사용하던 오디오와 자막 싱크는 잘 맞는 듯하고, 최종 결과물은 사람의 검토가 필요하다는 것은 어쩔 수 없다.
0 comments:
댓글 쓰기
댓글은 검토 후 게재됩니다.
본문이나 댓글을 정독하신 후 신중히 작성해주세요