Eli의 여백

바쁜 나날들 사이에서 생각났던 이런저런 것들을 적어봅니다.

IT/새로운 시도

자막이 없는 유튜브 영상에서 대화 내용 추출 및 자동 요약하기

Eli♪ 2024. 8. 11. 04:06

작성계기

평소에 길이가 긴 유튜브 영상들을 자주 보는데, 주로 Youtube Playback Speed Control 을 사용해서 2~3배속의 속도로 보는 편이다. 그런데 요즘 언어모델들은 유튜브 영상을 요약해 주는 것도 가능하다는 것이 문득 떠올랐다. 그래서 그나마 유튜브 API와 가장 연동이 잘 될 것 같은 구글 Gemini에 링크를 던져주고 요약해보라고 했더니 할 때마다 내용이 달라지기도 하고, 생각보다 높은 확률로 요약해줄 수 없다는 답변이 나왔다. 업로더가 자막을 등록한 경우에는 쉽지만 내가 보던 영상은 기본적으로 자막이 없는 상태여서 더 잘 안 되는 느낌이었는데 자동자막을 켜면 그나마 유튜브에서 기본적으로 지원하는 음성인식이 발동해서 아래 캡쳐화면과 같이 적당한 자막이 나온다. 그렇다면 그 자동자막을 추출해서 언어모델에 넣어버리면 잡다한 내용 알아서 다 빼고 깔끔한 요약이 가능할 것으로 예상했고, 실제로 해 보니 잘 되는 듯하여 해당 방법을 기록으로 남긴다.

 

출처: 언더스탠딩 유튜브 화면 캡쳐

 

준비물

DownSub

온라인상에서 유튜브 주소만 넣으면 자막을 추출해서 txt 파일 등으로 다운로드받을 수 있게 해 주는 사이트이다. 정확한 작동원리는 살펴 보지 않았지만 자동자막까지 다운받을 수 있는 좋은 사이트이다.

 

https://downsub.com/

 

Download subtitles from Youtube, Viki, Viu, Wetv, Kocowa and more

DownSub is a free web application that can download subtitles directly from Youtube, Drive, Viu, Vimeo, Viki, Wetv, Kocowa and more.

downsub.com

 

자막 전체를 입력으로 넣을 수 있는 적당한 언어모델 (ChatGPT, Gemini, Copilot 등등)

이 글에서는 Google의 Gemini를 사용하였는데, 요즘 거대 언어모델(LLM)들은 긴 토큰 길이를 지원하므로 다운받은 txt파일을 통째로 넣는 게 가능하다. 1년 전만 해도 안됐던 기능인데 2024년에는 가능하다. 본인에게 편한 언어모델 아무거나 써도 된다.

 

https://gemini.google.com/?hl=ko

 

https://gemini.google.com/?hl=ko

 

gemini.google.com

 

변환 방법

1. 유튜브 링크 복사

보고 있던 유튜브 영상을 우클릭하여 동영상 URL 복사를 누른다. 간단하게 링크가 복사된다. 웹 브라우저 주소 창에서 복사를 해도 되는데 이 방법이 훨씬 깔끔하고 안전하게 영상 링크를 복사할 수 있다.

 

 

2. downsub에서 자막 추출

downsub 사이트에 유튜브 링크를 넣는다. 영상을 우클릭한 후에  뒤에 list나 시간이 붙는 경우 오류가 생길 수도 있다고 생각해서 뒤에 붙는 잡다한 것들을 떼 준다. 오른쪽의 다운로드 버튼을 누르면 잠시 후에 아래와 같이 추출된 자막을 받을 수 있다. 어차피 몇 분 몇초에 자막이 나오는지는 상관 없이 내용만 필요하므로 가운데의 txt 다운로드를 누른다.

 

 

3. 다운로드된 txt 파일 확인 및 전체 내용 복사

제대로 다운로드받아졌다면 다음과 같이 메모장 등으로 내용 확인이 가능하다. 인식이 불완전한 부분은 어차피 언어모델이 알아서 처리해 주고, 잡소리도 알아서 요약할 때 빼 주므로 언어 모델을 믿으면 된다. 내용을 전체 선택해서 복사한다. 요즘 언어모델의 경우에는 그냥 txt 파일 드래그해서 넣을 수도 있다.

 

 

4. 해당 내용을 언어모델에 넣고 요약 요청

이제 추출된 자막을 통째로 넣고 요약해 달라고 하면 된다. 요약된 내용의 질은 프롬프트를 어떻게 넣느냐에 따라서 달라지는데, 보통 지시문을 앞쪽에 넣고, 동일한 글자가 4번 이상 반복되는 구분자를 넣은 후 뒤쪽에 나머지 내용을 넣으면 좀 더 잘 된다. 필자의 경우 다음 캡쳐화면과 같이 :::: 을 구분자로 사용하였고, 그냥 요약을 시켰더니 영상 내용에 등장하는 숫자를 다 무시하길래 구체적인 숫자까지 포함해달라는 사항을 넣었다. 그랬더니 적당히 잘 요약해 주는 것을 확인할 수 있다. 프롬프트 엔지니어링 관련해서는 삼성SDS 강영준 씨 영상을 보면 더 도움이 될 것이다.

 

 

그냥 영상 링크 띡 던지고 요약 시키면 2024년 8월 기준으로는 유튜브의 요약 api를 쓰거나 아니면 한글인 것을 인식해서 네이버 통계? api를 끌어다 쓰는 것으로 확인했는데 이러면 퀄리티가 확 떨어지거나 내용이 틀리기도 하는 것을 확인했다. 그러나 앞에서 설명한 방법대로 하면 내용을 자동자막으로 추출한 뒤에 그대로 넣는 것이기 때문에 틀릴 확률이 매우 줄어들고, 더 자세한 내용이 필요한 경우 추출된 텍스트에서 검색도 가능하므로 더 좋은 방법이라고 생각한다.

 

요약 및 결론

Gemini가 같은 구글껀데도 유튜브 영상 요약을 못 하길래 대안으로 Downsub를 이용하여 자동 생성되는 자막을 추출하고 요약을 시켰다. 원래같았으면 1시간짜리 영상을 3배속으로 봐도 20분이 걸렸겠지만 이렇게 하면 5분 이내에 빠르게 내용 파악이 가능하다. 구글이 이 기능을 자동화하기 전까지는 매우 효과적인 방법인 것으로 생각한다.

 

추가의견

몇 달 전부터 카톡에도 지난 대화 요약하기같은 기능이 나왔으나 2024년 8월 기준으로는 한국어임에도 불구하고 글로벌 거대기업들에 비해 성능이 떨어지는 현상을 확인했었기 때문에 한글이라고 국내 플랫폼을 사용할 이유는 없다는 생각이다. 또한 최근 MS가 copilot 버튼을 탑재하면서 온 디바이스 AI로 실시간 자막을 만들어 주는데 이것도 위와 유사한 방식으로 추출하여 언어모델에 넣는 것이 가능하다면 녹화 또는 녹음 후 요약해달라고 하면 될 것으로 보인다. 정 안되면 녹화된 버전을 유튜브에 올리고 앞에 설명한 방식으로 추출해 버려도 되고..

 

자동자막은 유튜브 자체기능이므로 유료 api를 사용하지 않아도 되고, downsub도 일단은 무료로 무제한 사용 가능해보이고, Gemini의 경우 OpenAI ChatGPT나 MS Copilot과는 다르게 한 세션에 대화 수 제한이 없으므로 무료버전에서도 더 편하게 쓸 수 있다. 할루시네이션을 완전하게 극복하는 것은 당분간 어려워 보이므로 내용이 정말 맞는지 다시 한 번 확인하는 절차는 필요하겠지만 일반인도 손쉽게 자연어 처리가 가능한 시대에 살게 된 상황에서 더 이상 대화 기반의 영상 요약에 힘쓸 필요는 없는 느낌이고, 이제 요약된 내용을 통해서 시간을 좀 더 효율적으로 활용 가능할 것으로 생각한다.